Commit Graph

1570 Commits

Author SHA1 Message Date
Robert Chacón
ebc980c782 When network.json is created by integration, node bandwidth will be capped by parent nodes 2023-04-03 15:34:32 +00:00
Herbert Wolverson
1b73c3765c Backlog is in bytes 2023-04-03 15:34:32 +00:00
Herbert Wolverson
3f4ee288ae Use base delay (which is sparse delay) rather than average delay, and use log y values on the delays chart. 2023-04-03 15:34:32 +00:00
Herbert Wolverson
53acf90600 Add pause button and fast/slow modes to circuit_queue page
FIXES #303

Adds a pause button to freeze a snapshot of the current circuit
queue page.

Adds a "fast mode" and "slow mode" toggle. Slow mode continues
at a 1s update cadence. Fast mode uses animation frame support
to update at a good speed, at the expense of CPU usage.

Stores the preference in local storage, so it will resume the
same mode next time you visit the page.
2023-04-03 15:34:32 +00:00
Herbert Wolverson
7321c00234 Change units on backlog graph to packets. FIXES #304 2023-04-03 15:34:32 +00:00
Herbert Wolverson
536d165f9b Fix loss of context when clicking zoom in/out buttons. 2023-04-03 15:34:32 +00:00
Herbert Wolverson
869f97ff3b Packet analysis page has a lot more options
See ISSUE #302

* Filter by FlowID
* Pagination is a select/drop-down
* Filtering is a select/drop-down
* Graph type is selectable from:
   * Packet size (the previous view)
   * Piano Roll (flows plotted by time)
   * TCP Window (differntiated by flow)
2023-04-03 15:34:32 +00:00
Herbert Wolverson
182dbcf8d9 IP Dump supports flow filtering
Every packet is assigned a "flow id", and the UI allows you to
filter displayed packet data by flow id.
2023-04-03 15:34:32 +00:00
Herbert Wolverson
f714324098 WOrk in progress 2023-04-03 13:21:26 +00:00
Herbert Wolverson
46c486b79f Add a copy of the tree to the long-term stats submission. 2023-03-31 18:59:32 +00:00
Herbert Wolverson
78945d9031 Quick syntax fix 2023-03-31 18:59:32 +00:00
Herbert Wolverson
16b08932b2 Initial work on long-term stats collection
Still very much a work-in-progress.

* Adds configuration entries for enabling long-term stats
  collection (`gather_stats`) and collation period.
* Spawns a collection thread (if `gather_stats` is enabled)
  that collects total traffic and per-host traffic/RTT
  (with circuit ID) on the same 1s cadence as throughput
  collection.
* Spawns a collator thread that gathers all of the collection
  summaries generated since the last collation (every
  `collation_period_seconds` seconds). The gathered stats are
  divided into min/max/mean average for each circuit.
* Collated stats are handed to a submissions system, that is
  currently a bare-bones "keep last" - this will be extended!
* Add a `lqstats` tool that lets you use the bus to see the
  current long-term stats. This is very barebones, but will
  provide a tool allowing stat extraction for inclusion in
  external stats collectors (such as Zabbix), if you aren't
  using the long-term stats server we're developing.
2023-03-31 18:59:32 +00:00
Robert Chacón
0f01c199b9
Merge pull request #322 from LibreQoE/issue_315_individual_usage_on_tree
Circuit page improvements
2023-03-31 12:31:23 -06:00
Herbert Wolverson
7b571213d9 Fix a missing break - switch fallthrough by mistake - in dissector.h. This fixes a problem with misidentifying traffic as TCP when it is't. 2023-03-31 17:31:59 +00:00
Herbert Wolverson
28e1b020af Add file missing from previous commit 2023-03-31 17:12:18 +00:00
Herbert Wolverson
aa7cf1fc68 Add DNS resolution to displayed flow IP addresses 2023-03-31 17:10:43 +00:00
Robert Chacón
d2edfd8c1c
Merge pull request #321 from LibreQoE/displayed_plans
Displayed plans fix
2023-03-31 10:47:56 -06:00
Herbert Wolverson
e6cb58bc65 Adds "client throughput" to the queue tree tab of circuit_queue
Also moves all the circuit graphs to use the same graphing
system as the other graphs on the plot.

FIXES #315
2023-03-31 16:20:56 +00:00
Herbert Wolverson
2574e40790 Fix displayed plans in Top/Worst N tables
A value was transposed in the IPStats to IPStats transit
conversion. The UI now displays (max download/max upload)
correctly.

Fix an accidental inclusion of a console.log statement
logging needlessly.
2023-03-31 14:36:43 +00:00
Robert Chacón
d253e1f518
Merge pull request #319 from LibreQoE/issue_317_five_minute_reset
Last 5 minutes of throughput data are stored server-side on node_manager
2023-03-30 18:26:16 -06:00
Robert Chacón
6552e8ec29
Fix bug pertaining to https://github.com/LibreQoE/LibreQoS/pull/320 2023-03-30 18:22:38 -06:00
Robert Chacón
41b86b6a87
Merge pull request #320 from vettagroup/vettacontrib
Fix replaceRootNote and circuit stats priorQuery
2023-03-30 18:21:26 -06:00
Matthew McTague
80a442724d Check that priorQuery exists before using it 2023-03-31 13:08:47 +13:00
Matthew McTague
afc44fde8e replaceRootNote should be replaceRootNode 2023-03-31 13:07:15 +13:00
Robert Chacón
be5170d6a7
Update mikrotikFindIPv6.py 2023-03-30 17:59:17 -06:00
Robert Chacón
1fe3b46eb5
Merge pull request #312 from LibreQoE/uispChanges
UISP Integration Improvements
2023-03-30 17:18:39 -06:00
Robert Chacón
1f939bdc8b
Update integrationUISP.py 2023-03-30 17:18:22 -06:00
Robert Chacón
3e7c00272b
Fix error when multiple airFibers at site 2023-03-30 12:19:23 -06:00
Herbert Wolverson
a59d7c1762 Last 5 minutes of throughput data are stored server-side on node_manager
A server-side ringbuffer retains just the last 5 minutes of throughput.
When the dashboard first loads, it collects all 5 minutes of data,
so nothing appears skipped. Subsequent updates query the latest
value in the buffer.

FIXES #317
2023-03-30 14:46:30 +00:00
Robert Chacón
1b63032086
Merge pull request #318 from LibreQoE/uispChanges
UISP Integration Improvements
2023-03-30 08:00:44 -06:00
Robert Chacón
ea716996ab
Use airfiber backhaul capacities to limit site bandwidths 2023-03-29 10:02:01 -06:00
Robert Chacón
dde5aef551
Clean up excessive comments 2023-03-29 09:59:01 -06:00
Robert Chacón
cdfee6d324
When network.json is created by integration, node bandwidth will be capped by parent nodes 2023-03-29 09:58:12 -06:00
Robert Chacón
0f1986a258
Merge pull request #305 from LibreQoE/issue_302_piano_rolls
Issue 302/303/304 piano rolls
2023-03-29 07:38:53 -06:00
Robert Chacón
213b813e2a
Merge pull request #310 from LibreQoE/favicon
Add favicon with explicit link rel element to call it.
2023-03-29 07:38:42 -06:00
Herbert Wolverson
920399c4e5 Add favicon with explicit link rel element to call it. 2023-03-28 21:05:13 +00:00
Herbert Wolverson
66220ad16b Backlog is in bytes 2023-03-28 16:21:14 +00:00
Herbert Wolverson
73427519c8 Use base delay (which is sparse delay) rather than average delay, and use log y values on the delays chart. 2023-03-28 16:07:49 +00:00
Herbert Wolverson
0dc7ef4201 Add pause button and fast/slow modes to circuit_queue page
FIXES #303

Adds a pause button to freeze a snapshot of the current circuit
queue page.

Adds a "fast mode" and "slow mode" toggle. Slow mode continues
at a 1s update cadence. Fast mode uses animation frame support
to update at a good speed, at the expense of CPU usage.

Stores the preference in local storage, so it will resume the
same mode next time you visit the page.
2023-03-28 14:13:36 +00:00
Herbert Wolverson
394dd341fe Change units on backlog graph to packets. FIXES #304 2023-03-28 13:15:53 +00:00
Herbert Wolverson
2b4ce66f70 Fix loss of context when clicking zoom in/out buttons. 2023-03-28 13:11:53 +00:00
Herbert Wolverson
33d48f3e82 Packet analysis page has a lot more options
See ISSUE #302

* Filter by FlowID
* Pagination is a select/drop-down
* Filtering is a select/drop-down
* Graph type is selectable from:
   * Packet size (the previous view)
   * Piano Roll (flows plotted by time)
   * TCP Window (differntiated by flow)
2023-03-27 18:05:43 +00:00
Herbert Wolverson
2dd1807272 IP Dump supports flow filtering
Every packet is assigned a "flow id", and the UI allows you to
filter displayed packet data by flow id.
2023-03-27 16:21:46 +00:00
Herbert Wolverson
b93d91c557 Merge branch 'main' of https://github.com/LibreQoE/LibreQoS 2023-03-27 15:03:25 +00:00
Herbert "TheBracket
b99073460a
1st Draft of CONTRIBUTING.md
This is very much a first draft. Comments and edits are appreciated.
2023-03-27 08:03:12 -07:00
Herbert Wolverson
cc87412a84 Merge branch 'main' of https://github.com/LibreQoE/LibreQoS 2023-03-25 15:08:32 +00:00
Herbert "TheBracket
05186030e4
Merge pull request #299 from LibreQoE/heimdall
Heimdall to main
2023-03-25 10:08:13 -05:00
Herbert Wolverson
e50e03411e Revert WebGL on tins, it doesn't work well on Apple devices. 2023-03-25 14:47:51 +00:00
Herbert "TheBracket
0cf7d5dd0a
Heimdall circuit UI speed (#296)
* Circuit queue - lazy rendering by active tab

Only perform network requests for the active tab on the
circuit_queue.html page. Small to moderate performance
improvement, but it greatly reduces the time spent polling.

* Significantly optimize network and rendering performance of the queues funnel display.

* Substantially improve performance on the flows display by using msgpack with a dictionary.

* Remove some commented code

* Fetch circuit info via efficient msgpack

* Use MsgPack for circuit throughput

* Get rid of the monstrosity that was copying queue data over the bus in a raw JSON string, hideously wasteful. Instead, we now have a 'transit' series of objects in the bus definition for tight encoding. This also cleaned up some node manager code. It's mostly useful for the next stage, which will start to reduce the amount of data we are transmitting.

* A lot of the redundant network transport is culled.

* More unused fields culled.

* Elimate a HUGE amount of garbage collection by allocating and reusing a single object, and cleaning up the JS rendering. Still not good enough.

* Switch to an efficient msgpack transmission format.

* Cleanup handling of 'none' in msgpack

* Fix scale delays to ms

* Commit to send to payne

* Use WebGL for a slight rendering boost.

* Further reduce draw time of circuit page by using redraw commands.

* Finish previous commit

* Use redraw with preallocated/non-GC data for all ringbuffer renders.

* Fix a rare issue with reloading network.json that could cause a stall.

* Optimize RTT graphs with the reload system.
2023-03-25 07:37:04 -07:00
Robert Chacón
5f0e1f61f7
Remove duplicate output of "Executed X linux TC class/qdisc commands" 2023-03-24 16:45:21 -06:00