Skip to main content

Network adapter IO

0readings
0conditions
0themes fed
Livestatus

Per-adapter traffic, errors, discards and link utilization over a measured window.

Topic id: network_adapter_io.

Reported every 5 minutes on clock boundaries for the window ending at t. sparklogs.window_coverage_pct is below 100 when collection covered only part of the window. Use chart buckets at least 5 minutes wide.

Fields​

Bytes and packets moved, error and discard rates, and link utilization for each network adapter over the reporting window.

FieldTypeUnitMeaning
sparklogs.data.network_adapter_io.adapterstringThe adapter, as network_adapters keys it.
sparklogs.data.network_adapter_io.network_context_keystringThe network the host's primary path was last connected to when the row was captured: the performance singleton's network_context_key, the same value with the same retention (kept while offline or while a new network resolves, and across a restart). It names the host's primary network, not the network this adapter is on, which can differ; a grouping key, not anonymization. Absent until a network first resolves.
sparklogs.data.network_adapter_io.mediastringThe physical adapter's medium: wired, wifi or cellular. Absent when unknown or when it was not measured as physical.
sparklogs.data.network_adapter_io.operational_statusstringThe adapter's operational status at the window's latest interval that measured it, under any class: the layer and spelling network_adapters reports in operational_status (the topmost filter of the adapter's chain), up, down, testing, unknown, dormant, not_present or lower_layer_down. On rows measured only under other_support too. Absent when there is no fresh, complete inventory classification, or that reading lacked the top layer.
sparklogs.data.network_adapter_io.link_down_transitionsintegercountHow often the adapter's link went from up to down between consecutive adapter readings (about 10 s apart), each pair counted in the emitted row holding its later reading, so the pair across a row's boundary counts once and consecutive rows sum while each is at most one window late, under any class: the operational status network_adapters reports moving from up to down, lower_layer_down, not_present or dormant (testing and unknown never count). On rows measured only under other_support too. A count: windows roll up by summing. 0 when the readings saw the link stay up or stay down. Absent when no interval read the status at both its readings.
sparklogs.data.network_adapter_io.rx_bytes_per_s_avgfloatbytes_per_secondBytes received per second over the physical support. Absent without physical support.
sparklogs.data.network_adapter_io.tx_bytes_per_s_avgfloatbytes_per_secondBytes sent per second over the physical support. Absent without physical support.
sparklogs.data.network_adapter_io.rx_packets_per_s_avgfloatper_secondUnicast and non-unicast packets received per second over the same physical observed_ms as rx_bytes. Absent without physical support.
sparklogs.data.network_adapter_io.tx_packets_per_s_avgfloatper_secondUnicast and non-unicast packets sent per second over the same physical observed_ms as tx_bytes. Absent without physical support.
sparklogs.data.network_adapter_io.packets_per_s_avgfloatper_secondUnicast and non-unicast packets in and out per second over the physical support. Absent without physical support.
sparklogs.data.network_adapter_io.error_pct_avgfloatpercentInbound plus outbound errors as a percent of every packet received or sent over the physical support, errored, discarded and unknown-protocol ones included. Absent when no packet was counted.
sparklogs.data.network_adapter_io.discard_pct_avgfloatpercentInbound plus outbound discards as a percent of every packet received or sent over the physical support, errored, discarded and unknown-protocol ones included. Absent when no packet was counted.
sparklogs.data.network_adapter_io.utilization_pct_avgfloatpercentTime-weighted mean of the larger of received and sent bits per second over that direction's link speed, the higher of its speeds at the interval's start and end, at most 100, over the physical support. Absent without a comparable speed.
sparklogs.data.network_adapter_io.utilization_pct_max_10sfloatpercentThe highest accepted interval utilization over the physical support. Absent without a comparable speed.
sparklogs.data.network_adapter_io.link_speed_bpsintegerThe larger directional link speed at the last accepted physical interval. Absent without a comparable speed.
sparklogs.data.network_adapter_io.observed_msintegermillisecondsAccepted physical interval time in the window. Absent without physical support.
sparklogs.data.network_adapter_io.interval_countintegercountAccepted physical intervals in the window. Absent without physical support.
sparklogs.data.network_adapter_io.rx_bytesintegerbytesBytes received over the physical support. Absent without physical support.
sparklogs.data.network_adapter_io.tx_bytesintegerbytesBytes sent over the physical support. Absent without physical support.
sparklogs.data.network_adapter_io.rx_packetsintegercountUnicast and non-unicast packets received over the physical support. Absent without physical support.
sparklogs.data.network_adapter_io.tx_packetsintegercountUnicast and non-unicast packets sent over the physical support. Absent without physical support.
sparklogs.data.network_adapter_io.packetsintegercountPackets in and out over the physical support. Absent without physical support.
sparklogs.data.network_adapter_io.errorsintegercountInbound plus outbound errors over the physical support. Absent without physical support.
sparklogs.data.network_adapter_io.discardsintegercountInbound plus outbound discards over the physical support. Absent without physical support.
sparklogs.data.network_adapter_io.wifi_connectedboolWhether the WLAN service listed this Wi-Fi radio as connected in any accepted interval of the window. Absent for an adapter that is not a radio the service lists.
sparklogs.data.network_adapter_io.wifi_rssi_dbm_avgfloatTime-weighted mean of the radio's plausible signal strength samples in dBm: -200 through -1 while connected. Absent without a plausible sample.
sparklogs.data.network_adapter_io.wifi_rssi_statusstringThe plausibility of the radio's last signal strength sample: plausible, unavailable (zero) or invalid (positive or below -200, never negated or averaged). Absent when no sample was read at its last accepted interval.
sparklogs.data.network_adapter_io.wifi_rssi_rawintegerThe radio's last signal strength sample as the driver reported it, plausible or not. Absent when unavailable or not read.
sparklogs.data.network_adapter_io.wifi_rssi_outcomestringWhat the radio's last signal strength query did: ready, unsupported, access_denied, malformed, deadline or failed. Absent when it was not asked, because it was not connected.
sparklogs.data.network_adapter_io.wifi_signal_pct_avgfloatpercentTime-weighted mean of the radio's link quality percent, 0 to 100, as the OS reports it. Absent where the OS or driver does not report it, and without a sample.
sparklogs.data.network_adapter_io.wifi_signal_outcomestringWhat the radio's last link quality query did, as wifi_rssi_outcome: unsupported where the OS predates it. Absent when it was not asked.
sparklogs.data.network_adapter_io.wifi_bandstringThe band of the radio's channel at its last accepted interval, from the realtime link answer's channel center frequency: 2.4 (2400 to 2500 MHz), 5 (4900 to 5900 MHz) or 6 (5925 to 7125 MHz) GHz. A multi-link connection names a band only when its links agree; links without an in-range frequency are skipped. Changes on a roam. Absent where the OS or driver does not answer the realtime query (wifi_signal_outcome says so), and for a frequency outside those ranges.
sparklogs.data.network_adapter_io.wifi_phystringThe 802.11 generation of the radio's PHY at its last accepted interval, from the realtime link answer: b, g, a, n, ac, ax or be. Changes on a roam. Absent where the OS or driver does not answer the realtime query, and for any other PHY type.
sparklogs.data.network_adapter_io.wifi_channel_changesintegercountHow many times the radio's channel center frequency changed (for a multi-link connection, its set of link frequencies) between consecutive realtime link readings in the window that named one; a reading while disconnected, or without an answer, is skipped. Not a roam count: a roam to an access point on the same channel is missed, and an access point's own channel switch counts. 0 is a measured zero. Absent where the OS or driver does not answer the realtime query, and with fewer than two such readings in the window.
sparklogs.data.network_adapter_io.wifi_tx_framesintegercountFrames the radio transmitted successfully, summed over its PHYs, over the intervals its PHY counters paired. Absent without such an interval.
sparklogs.data.network_adapter_io.wifi_tx_retried_framesintegercountOf wifi_tx_frames, the ones that needed at least one retry. Absent without such an interval.
sparklogs.data.network_adapter_io.wifi_tx_failed_framesintegercountFrames the radio dropped after its retry limit, summed over its PHYs, over the same intervals as wifi_tx_frames: never transmitted, so not among wifi_tx_frames; the failed share is this over wifi_tx_frames plus this. Absent without such an interval.
sparklogs.data.network_adapter_io.wifi_statistics_observed_msintegermillisecondsAccepted interval time over which the radio's PHY counters paired: the time wifi_tx_frames, wifi_tx_retried_frames and wifi_tx_failed_frames cover. Absent without such an interval.
sparklogs.data.network_adapter_io.wifi_statistics_outcomestringWhat the radio's last PHY counter query did, as wifi_rssi_outcome. Absent for an adapter that is not a radio the service lists.
sparklogs.data.network_adapter_io.other_supportobject_arrayThe window's intervals under any class but physical, one entry per class (unknown: the inventory had not classified it; non_physical: a virtual, tunnel, miniport, loopback or not-present adapter, or a radio's virtual port), each with its own counts. At most two entries. Absent when every interval was physical.
sparklogs.data.network_adapter_io.other_support[].classstringIn each other_support entry.
sparklogs.data.network_adapter_io.other_support[].observed_msintegermillisecondsIn each other_support entry.
sparklogs.data.network_adapter_io.other_support[].interval_countintegercountIn each other_support entry.
sparklogs.data.network_adapter_io.other_support[].rx_bytesintegerbytesIn each other_support entry.
sparklogs.data.network_adapter_io.other_support[].tx_bytesintegerbytesIn each other_support entry.
sparklogs.data.network_adapter_io.other_support[].rx_packetsintegercountIn each other_support entry.
sparklogs.data.network_adapter_io.other_support[].tx_packetsintegercountIn each other_support entry.
sparklogs.data.network_adapter_io.other_support[].packetsintegercountIn each other_support entry.
sparklogs.data.network_adapter_io.other_support[].errorsintegercountIn each other_support entry.
sparklogs.data.network_adapter_io.other_support[].discardsintegercountIn each other_support entry.

This topic reports what the host looks like rather than scoring a condition on it. The values it carries are queryable on their own.

Example​

Inventory (every 5 minutes)

3 adapters measured.

sparklogs.data.network_adapter_io.adapter: network_adapter:0006008004000000

SparkLogs: CONTEXT, Info, network_adapter_io: INVENTORY: 3 adapters measured.