Commit Graph

1339 Commits

Author SHA1 Message Date
Robert Chacón
f38553c72b Fix error when multiple airFibers at site 2023-04-03 15:34:32 +00:00
Robert Chacón
52a961181e Use airfiber backhaul capacities to limit site bandwidths 2023-04-03 15:34:32 +00:00
Robert Chacón
ec9a7e71b8 Clean up excessive comments 2023-04-03 15:34:32 +00:00
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
920399c4e5 Add favicon with explicit link rel element to call it. 2023-03-28 21:05:13 +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
Robert Chacón
4a5c5b15a0
Merge pull request #297 from LibreQoE/fixFirstRun
Check for mq before attempting to delete root qdisc
2023-03-24 16:42:29 -06:00
Robert Chacón
549772e3db
Check for mq before attempting to delete https://github.com/LibreQoE/LibreQoS/issues/228 2023-03-24 16:41:34 -06:00
Herbert Wolverson
d53200f43d Fix from chat: add quotes around node_id in the setup. 2023-03-24 13:05:31 +00:00
Herbert Wolverson
936a2f7a21 Merge branch 'main' of https://github.com/LibreQoE/LibreQoS 2023-03-24 12:53:07 +00:00
Robert Chacón
1c4b9a7666
Create CODE_OF_CONDUCT.md 2023-03-23 14:13:19 -06:00
Herbert "TheBracket
cf41b47b77
Issue 288 - 0s showing up as dots, delays unit (#295)
* Hide zero values for throughput, backlog and delays graphs

Relates to ISSUE #288

* New function `array_to_zero` to reduce repetition.
* Transform zero values to `null` in Y value arrays for the
  throughput, backlog and delay graphs on circuit_info.html
* Also change tin labelling to match the "backlog" graph on
  Delays.
* Reduce marker size.

* Scale displayed/graphed queue delays to ms

References ISSUE 288

Scale the delays graph entries, which are apparently in usec, to
ms.
2023-03-23 11:50:19 -07:00
Herbert "TheBracket
b8436ca734
Parse fwmark in Cake stats as a TcHandle (#294)
FIXES #289

Extend TC parser to handle cases that don't have a colon at all.
Use this to parse the `fwmark` field in the Cake stats, which
is probably a TC handle - but since the cake source doesn't
document it, it might be a random number for all we know.

The `fwmark` field isn't actually referenced anywhere in the
program.
2023-03-23 11:50:01 -07:00
Herbert "TheBracket
25801b6445
Issue 291 capture time (#293)
* Make packet capture time user configurable.

* Add `packet_capture_time` to /etc/lqos.conf as a number (seconds)
* Rework the capture logic to obtain the capture time and wait for
  the specified period.
* Rename some functions that specified ten seconds in the name.

Relates to ISSUE #291

* Remove a dangling dashboard link

* Change libpcap download filename to <capture-circuit_id.pcap>

Relates to ISSUE #291

* Pass the circuit_id to the ip_dump page.
* Include the circuit_id in the downloaded packet capture
  filename.

* Add starting timestamp to capture filename

Adds the starting timestamp (in ns) to the capture filename when
you download a libcap dump. Ending timestamp isn't included; the
starting stamp is almost certainly unique.

Relates to ISSUE #291 and fixes the parts that I intend to
touch.
2023-03-23 11:49:36 -07:00
Herbert "TheBracket
a32949c76d
Rust licenses (#292)
* Add license specifier to all Cargo.toml files

Explicitly specify `license = "GPL-2.0-only"` in each Cargo.toml
file. The wording is from the SPX guidelines.

* Add shell script to check licenses of Rust projects

rust/check_licenses.sh automatically verifies all dependencies
for accidental usage of GPLv3. Since basically nobody in the
universe uses GPLv3, it tends not to do much.
2023-03-23 11:49:07 -07:00
Herbert "TheBracket
c17d269ad6
Rust licenses (#292)
* Add license specifier to all Cargo.toml files

Explicitly specify `license = "GPL-2.0-only"` in each Cargo.toml
file. The wording is from the SPX guidelines.

* Add shell script to check licenses of Rust projects

rust/check_licenses.sh automatically verifies all dependencies
for accidental usage of GPLv3. Since basically nobody in the
universe uses GPLv3, it tends not to do much.
2023-03-23 11:48:03 -07:00
Herbert Wolverson
67c2ef7a24 Merge branch 'main' of https://github.com/LibreQoE/LibreQoS 2023-03-23 13:46:40 +00:00
Robert Chacón
4acdea85d5
Add IPv6 examples 2023-03-22 20:07:03 -06:00
Dave Täht
7c070e5016
Merge pull request #287 from LibreQoE/fixBanditError
Add timeouts to requests. Remove old versions prior to v1.3.
2023-03-22 14:56:49 -07:00
Robert Chacón
a5ebc755b5
Add timeout to requests 2023-03-22 15:52:49 -06:00
Robert Chacón
b7ac7cc056
Fix timeout on integrationRestHttp.py 2023-03-22 15:51:18 -06:00
Robert Chacón
8b874c6e6a
Delete old/v0.7 directory 2023-03-22 15:45:40 -06:00
Robert Chacón
fa392004c3
Delete old/v0.8 directory 2023-03-22 15:45:33 -06:00
Robert Chacón
c22640487d
Delete old/v0.9 directory 2023-03-22 15:45:27 -06:00
Robert Chacón
39bbcd739c
Delete old/v1.0 directory 2023-03-22 15:45:21 -06:00
Robert Chacón
2bf244e0d8
Delete old/v1.1 directory 2023-03-22 15:45:13 -06:00
Robert Chacón
fe7b7aa312
Delete old/v1.2 directory 2023-03-22 15:45:05 -06:00
Robert Chacón
92df670e11
Add timeout to requests 2023-03-22 15:44:31 -06:00
Robert Chacón
1837ee6e85
Add timeout to requests 2023-03-22 15:44:03 -06:00
Robert Chacón
822f83407a
Add timeout to requests 2023-03-22 15:43:05 -06:00
Robert Chacón
75bcc598a9
Add timeout to requests 2023-03-22 15:42:32 -06:00
Herbert Wolverson
4f574cd668 Improved circuit queue graph labelling 2023-03-22 17:55:12 +00:00
Herbert Wolverson
7326163918 Combine axes on the circuit queue front tab. 2023-03-22 17:30:43 +00:00
Herbert Wolverson
7f746d71a1 Start labelling axes 2023-03-22 15:46:09 +00:00
Herbert Wolverson
1daf727374 Consistent naming: 'tree' not 'funnel'. 2023-03-22 15:34:02 +00:00
Herbert Wolverson
b05afdac0c Hyperlink trees from front-page funnel to the appropriate tree page. 2023-03-22 15:03:43 +00:00
Herbert Wolverson
ebb01286ce Correct 'DHCSP' to 'DSCP'. I think I had DHCP on my mind. 2023-03-22 14:39:32 +00:00