From b7e4598e8c0a4bdb695d8175cd0b423091ec09d7 Mon Sep 17 00:00:00 2001 From: Chayan Biswas Date: Thu, 26 Sep 2024 13:05:12 -0700 Subject: [PATCH] ah_wireless bug fixes This change contains: 1. Missed else part for min/max/avg logic for few data items. 2. Added required padding for structs. --- plugins/inputs/ah_wireless/ah_wireless.go | 12 ++++++++++++ plugins/inputs/ah_wireless/ah_wireless_defines.go | 2 ++ 2 files changed, 14 insertions(+) diff --git a/plugins/inputs/ah_wireless/ah_wireless.go b/plugins/inputs/ah_wireless/ah_wireless.go index aed1140ce9e53..da1fbddd93f34 100644 --- a/plugins/inputs/ah_wireless/ah_wireless.go +++ b/plugins/inputs/ah_wireless/ah_wireless.go @@ -1342,10 +1342,14 @@ func Gather_AirTime(t *Ah_wireless, acc telegraf.Accumulator) error { if ((clt_last_stats.tx_airtime_min > clt_item[cn].ns_tx_airtime) || (clt_last_stats.tx_airtime_min == 0) ) { clt_new_stats.tx_airtime_min = clt_item[cn].ns_tx_airtime - clt_last_stats.tx_airtime + } else { + clt_new_stats.tx_airtime_min = clt_last_stats.tx_airtime_min } if (clt_last_stats.tx_airtime_max < clt_item[cn].ns_tx_airtime ) { clt_new_stats.tx_airtime_max = clt_item[cn].ns_tx_airtime - clt_last_stats.tx_airtime + } else { + clt_new_stats.tx_airtime_max = clt_last_stats.tx_airtime_max } clt_new_stats.tx_airtime_average = ((clt_last_stats.tx_airtime_average + clt_new_stats.tx_airtime_min + clt_new_stats.tx_airtime_max)/3) @@ -1354,10 +1358,14 @@ func Gather_AirTime(t *Ah_wireless, acc telegraf.Accumulator) error { if ((clt_last_stats.rx_airtime_min > clt_item[cn].ns_rx_airtime) || (clt_last_stats.rx_airtime_min == 0) ) { clt_new_stats.rx_airtime_min = clt_item[cn].ns_rx_airtime - clt_last_stats.rx_airtime + } else { + clt_new_stats.rx_airtime_min = clt_last_stats.rx_airtime_min } if (clt_last_stats.rx_airtime_max < clt_item[cn].ns_rx_airtime ) { clt_new_stats.rx_airtime_max = clt_item[cn].ns_rx_airtime - clt_last_stats.rx_airtime + } else { + clt_new_stats.rx_airtime_max = clt_last_stats.rx_airtime_max } clt_new_stats.rx_airtime_average = ((clt_last_stats.rx_airtime_average + clt_new_stats.rx_airtime_min + clt_new_stats.rx_airtime_max)/3) @@ -1368,10 +1376,14 @@ func Gather_AirTime(t *Ah_wireless, acc telegraf.Accumulator) error { if ((clt_last_stats.bw_usage_min > bw_usage) || (clt_last_stats.bw_usage_min == 0)) { clt_new_stats.bw_usage_min = bw_usage + } else { + clt_new_stats.bw_usage_min = clt_last_stats.bw_usage_min } if (clt_last_stats.bw_usage_max < bw_usage) { clt_new_stats.bw_usage_max = bw_usage + } else { + clt_new_stats.bw_usage_max = clt_last_stats.bw_usage_max } clt_new_stats.bw_usage_average = ((clt_last_stats.bw_usage_average + clt_new_stats.bw_usage_min + clt_new_stats.bw_usage_max)/3) diff --git a/plugins/inputs/ah_wireless/ah_wireless_defines.go b/plugins/inputs/ah_wireless/ah_wireless_defines.go index 3cd2306d91cb0..854c0fd62fd11 100644 --- a/plugins/inputs/ah_wireless/ah_wireless_defines.go +++ b/plugins/inputs/ah_wireless/ah_wireless_defines.go @@ -716,11 +716,13 @@ type ah_ieee80211_sta_info struct { rssi int32 tx_ratekbps int32 tx_pkts uint32 + pad1 [4]byte tx_bytes uint64 rx_ratekbps int32 rx_pkts uint32 rx_bytes uint64 bw uint32 + pad2 [4]byte } type ieee80211req_cfg_one_sta struct{