Преглед на файлове

mesh-batman-adv-core: add clientcount statistics

This adds

  "client" { "total": <int>, "wifi": <int>" }

to statistics.d. "total" will be the number of clients connected.
"wifi" will be the number of clients connected over wifi. I.e. "total"
will always be equal to or greater than "wifi".

The node will not count itself.
Nils Schneider преди 10 години
родител
ревизия
a1d27aefbb
променени са 1 файла, в които са добавени 20 реда и са изтрити 0 реда
  1. 20 0
      package/gluon-mesh-batman-adv-core/files/lib/gluon/announce/statistics.d/clients

+ 20 - 0
package/gluon-mesh-batman-adv-core/files/lib/gluon/announce/statistics.d/clients

@@ -0,0 +1,20 @@
+local list = io.lines("/sys/kernel/debug/batman_adv/bat0/transtable_local")
+
+local count = 0
+local wifi = 0
+for line in list do
+  local mac, _, flags, lastseen = line:match("^ %* ([0-9a-f:]+) *(.- )%[(.-)%] +(%d+%.%d+)")
+  if mac then
+    if not flags:match('P') then
+      count = count + 1
+
+      if flags:match('W') then
+        wifi = wifi +1
+      end
+    end
+  end
+end
+
+return { total = count
+       , wifi  = wifi
+       }