Skip to content

Commit

Permalink
Add tx/rx telemtry stats
Browse files Browse the repository at this point in the history
  • Loading branch information
mattludwigs authored and fhunleth committed Apr 28, 2022
1 parent c90b6a7 commit 596b012
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 15 deletions.
10 changes: 10 additions & 0 deletions lib/vintage_net_qmi/connection.ex
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,16 @@ defmodule VintageNetQMI.Connection do
stats_with_timestamp
)

:telemetry.execute(
[
:vintage_net_qmi,
:connection,
:statistics
],
stats,
%{ifname: state.ifname}
)

{:noreply, state}
end

Expand Down
32 changes: 17 additions & 15 deletions lib/vintage_net_qmi/signal_monitor.ex
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,17 @@ defmodule VintageNetQMI.SignalMonitor do

@impl GenServer
def handle_info(:signal_check, state) do
:ok = get_signal_stats(state)
case NetworkAccess.get_signal_strength(state.qmi) do
{:ok, %{rssi_reports: [rssi_data]}} ->
rssi_data
|> to_rssi()
|> Map.put(:rssi, rssi_data.rssi)
|> post_signal_rssi(state)
|> execute_telemetry_event(state)

{:error, _reason} ->
Logger.debug("[VintageNetQMI] unable to get signal strength, retrying.")
end

send_msgs([:signal_check], state.interval)

Expand All @@ -55,24 +65,16 @@ defmodule VintageNetQMI.SignalMonitor do
{:noreply, state}
end

defp get_signal_stats(state) do
{:ok, %{rssi_reports: [rssi_data]}} = NetworkAccess.get_signal_strength(state.qmi)

rssi_data
|> to_rssi()
|> Map.put(:rssi, rssi_data.rssi)
|> post_signal_rssi(state)
|> execute_telemetry_event(state)
end

defp to_rssi(%{rssi: rssi}) do
ASUCalculator.from_lte_rssi(rssi)
end

defp post_signal_rssi(%{asu: asu, dbm: dbm, bars: bars}, ifname) do
post_property(ifname, "signal_asu", asu)
post_property(ifname, "signal_dbm", dbm)
post_property(ifname, "signal_4bars", bars)
defp post_signal_rssi(%{asu: asu, dbm: dbm, bars: bars} = rssi, state) do
post_property(state.ifname, "signal_asu", asu)
post_property(state.ifname, "signal_dbm", dbm)
post_property(state.ifname, "signal_4bars", bars)

rssi
end

defp post_band_and_channel_info(
Expand Down

0 comments on commit 596b012

Please sign in to comment.