Robert Chacón
c6437c89a8
increase UISP API call timeout to 60s
2023-05-25 18:08:42 -06:00
rchac
d22860293e
test
2023-05-19 14:17:54 -06:00
Robert Chacón
61ed567d9a
Update make.bat
2023-05-19 14:02:54 -06:00
Robert Chacón
f5856ccff2
Update Makefile
2023-05-19 14:02:39 -06:00
Robert Chacón
5822b807c3
Update requirements.txt
2023-05-19 13:43:42 -06:00
Robert Chacón
a28724e3ce
Update requirements.txt
2023-05-19 13:42:02 -06:00
Robert Chacón
5e76084cd0
Merge pull request #359 from bile0026/start_readthedocs
...
Rebuild and aggregate documentation for Read the Docs
2023-05-19 13:33:05 -06:00
bile0026
282c6ebde0
docs: 📝 update a bunch of formatting and clarifications
2023-05-19 13:58:30 -05:00
bile0026
20c58309a8
chore: 📝 rebuild docs
2023-05-19 12:42:07 -05:00
bile0026
03bb72f04e
docs: 📝 cleanup readme
2023-05-19 12:41:46 -05:00
bile0026
db2d6b53cc
feat: ✨ move all existing wiki docs into RTD
2023-05-19 12:38:32 -05:00
bile0026
775d9ffe0e
feat: 🎉 base docs structure
2023-05-19 10:43:52 -05:00
Robert Chacón
e3af384071
Merge pull request #358 from LibreQoE/develop
...
InfluxDB Fixes
2023-05-19 00:09:39 -06:00
Robert Chacón
79b306f02e
Merge pull request #357 from LibreQoE/fixInfluxDB0s
...
InfluxDB: Eliminate dips due to 0 values after reload
2023-05-19 00:08:23 -06:00
Robert Chacón
35661f5e14
Add files via upload
2023-05-19 00:04:02 -06:00
Robert Chacón
040fa6e6ed
Update graphInfluxDB.py
2023-05-19 00:03:32 -06:00
Robert Chacón
ef63043398
Merge pull request #354 from LibreQoE/moreTinsStats
...
Add ability to track tins by circuit in InfluxDB
2023-05-19 00:02:41 -06:00
Robert Chacón
a306ac16db
Merge pull request #356 from LibreQoE/fixScheduler2
...
Fix scheduler concurrence issues
2023-05-18 17:38:44 -06:00
Robert Chacón
c1cd782299
Update scheduler.py
2023-05-18 17:22:50 -06:00
Robert Chacón
199696f7dc
Update graphInfluxDB.py
2023-05-18 15:50:23 -06:00
Robert Chacón
527d4d7198
Add files via upload
2023-05-18 15:43:08 -06:00
Robert Chacón
8396afca9b
Update graphInfluxDB.py
2023-05-18 15:39:55 -06:00
Robert Chacón
c3b213b35f
Update graphInfluxDB.py
2023-05-18 15:37:43 -06:00
Robert Chacón
7e64ffbff1
Update graphInfluxDB.py
2023-05-18 15:31:35 -06:00
Robert Chacón
24d4679240
Update graphInfluxDB.py
2023-05-18 15:27:59 -06:00
Robert Chacón
b7e71ee1bb
Add ability to track tins by circuit
2023-05-18 15:20:47 -06:00
Robert Chacón
3b7bc94ea0
Merge pull request #353 from LibreQoE/fix349
...
Fix #349
2023-05-18 15:01:24 -06:00
Robert Chacón
48e6b7b837
Update graphInfluxDB.py
2023-05-16 16:43:07 -06:00
Robert Chacón
67aa89bbd6
Merge pull request #348 from LibreQoE/develop
...
Merge recent improvements
2023-05-16 13:29:11 -06:00
Herbert Wolverson
df3be0b73e
Speed up integrationUISP.py
...
* Adds one more "is not none" check for a line that failed on my
installation.
* Add a level of indentation to the inner "walkGraph" function,
so it doesn't painstakingly check every node when it already
knows that it won't pick them (for a route cost).
My testing gave the same results, substantially faster.
2023-04-24 20:53:43 +00:00
Herbert Wolverson
c7ca4b171d
Reduce default maximum tracked hosts to 64k from 128k
2023-04-24 20:53:43 +00:00
Herbert Wolverson
92db07b449
Remove now unused code.
2023-04-24 20:53:43 +00:00
Herbert Wolverson
c510a9399a
Missing doctag
2023-04-24 20:53:43 +00:00
Herbert Wolverson
f573001007
Update Heimdall to also use eBPF iterators
...
This eliminates another set of syscalls per cycle. The old per_cpu
map system is now removed, in favor of direct iteration of maps.
2023-04-24 20:53:43 +00:00
Herbert Wolverson
1e5f59c5ce
Now that we're differentiating between single-CPU and per-CPU map types, we can eliminate 8 bytes of bus traffic by not reporting CPU counts (and padding)
2023-04-24 20:53:43 +00:00
Herbert Wolverson
6db2cb0245
Add a little padding to the output stream kernel side, to nicely align on 64-bit boundaries. Then use aligned casting for zero-copy userspace access to the data. Another smallish speed increase.
2023-04-24 20:53:43 +00:00
Herbert Wolverson
0c62268ed6
Avoid reallocation of multi-cpu vectors during iteration.
2023-04-24 20:53:43 +00:00
Herbert Wolverson
cf7ccb7954
Start documenting the types created in this patch-chain.
2023-04-24 20:53:43 +00:00
Herbert Wolverson
b192478a43
Remove a no-longer-needed import.
2023-04-24 20:53:43 +00:00
Herbert Wolverson
dcf2c5f7e2
Remove 2 more syscalls by removing a useless mutex.
2023-04-24 20:53:43 +00:00
Herbert Wolverson
082a16e532
Handle per-CPU maps correctly in eBPF iterators
...
The eBPF iterator interface is now per-CPU aware, and correctly
extracts a slice of data for each per-CPU map (or a slice of 1
when using a non-CPU divided map).
2023-04-24 20:53:43 +00:00
Herbert Wolverson
f0ea3edcff
Use eBPF iterators (requires kernel 5.8+) instead of next_entry
...
Replaces the eBPF interface "bpf_map_get_next_key" followed by
"bpf_map_lookup_elem" cycle for iterating maps with a call to
the kernel-provided eBPF iterator service.
Currently only implemented for throughput and RTT tracking.
Further commits will tighten the scope and eventually remove
the legacy setup completely.
For 10k hosts, this reduces the number of system calls from
20,002 to 4. The remaining items are a futex lock (required
for safety), and an iterator call.
2023-04-24 20:53:43 +00:00
Herbert Wolverson
cadd3aa800
Add the new tool to the git ignore list.
2023-04-24 20:53:43 +00:00
Herbert Wolverson
5cd5b44496
Add a tool to track eBPF map performance
...
New tool: lqos_map_perf is included in the distribution. It
runs the two map iterators that pound the lqosd/eBPF system
with map iterations, counts the number of entries returned
and reports on overall performance (in µs).
This is intended to help with diagnosing map reading
performance issues and act as a bench-test to see if
using eBPF iterators actually helps.
2023-04-24 20:53:43 +00:00
Robert Chacón
b4feb920b0
Merge pull request #345 from LibreQoE/node_types_hotfix
...
Hotfix: handle node "type" entry
2023-04-24 09:49:47 -06:00
Herbert Wolverson
5795181d18
Update Rust package database to use newer versions of some crates, removing a non-threatening CVE.
2023-04-24 13:49:28 +00:00
Herbert Wolverson
36440bdd9c
Handle cases where the field isn't present in network.json for backwards compatibility.
2023-04-24 13:48:19 +00:00
Herbert Wolverson
629ebb0293
Hotfix: handle node "type" entry
...
Adding "type" to `network.json` is awesome, but it broke a bit of
Rust. This patch adds support for the `type` field, and fixes
a rare "none" issue that mostly seems to affect my UISP setup.
2023-04-24 13:28:37 +00:00
Robert Chacón
125ef55e35
Update README.md
2023-04-23 21:57:19 -06:00
Robert Chacón
20d69aa6d5
Update ispConfig.example.py
2023-04-23 13:46:03 -06:00