Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UI Stability, Memory Management and More - B3 Work List #564

Merged
merged 195 commits into from
Oct 31, 2024
Merged

Conversation

thebracket
Copy link
Collaborator

@thebracket thebracket commented Oct 31, 2024

(Please squash merge this when ready).

  • Fix “unknown” flags in the UI.
  • Fix “download/download” on the tree.
  • Fix “break system packages” flag on Debian installer, removing the “Python requirements.txt not installed” problems on older versions of Ubuntu.
  • Fix a typo that prevent Spylnx integrations from working automatically in the scheduler.
  • The title of your shaper node appears properly in your browser title bar now.
  • The webserver no longer freezes.
  • “Generated Site” no longer fills up the Sankeys.
  • The main tree Sankey uses a ring buffer to smooth rendering (this is coming to other elements in the next beta).
  • Nicer Sankey ribbon colors, especially in dark mode.
  • Improved margins around several graphs to make the axis labels visible.
  • The tick thread is now very careful to never overrun its desired time period; time-based spikes on usage (which spread to Long-Term Stats) are a thing of the past.
  • You can add disable_webserver = false to your /etc/lqos.conf if you don’t want to have a web GUI at all.
  • Filtered out “one way” flows from the ASN explorer (these are usually bot scans, and will be tracked separately in the next beta).
  • Internal code:
    • Fix MANY warnings.
    • MANY diagnostic messages moved to “debug” level so they aren’t visible by default.
    • Transition from “log” to “tracing” for log handling. Improves performance, and is the new de-facto standard in Rust.
    • Reduced dependency on DashMap.
    • Replace channels with Crossbeam for greater performance and improved efficiency.
    • All threads are now named, you can watch them individually in htop!
    • Updated several dependency versions.
  • Memory usage:
    • eBPF now has periodic garbage collection checks, expiring ancient history from the hosts list.
    • Configuration management is now much more memory-efficient.
    • Queue structure is stored more efficiently.
    • Shaped devices is stored more efficiently.
    • Switch to the mimalloc allocator for reduced total memory usage.
    • Flow tracking is significantly more efficient.
    • All channels are now bounded.
    • The webserver is now contained to a single thread.
    • Network.json handling is significantly more efficient.
    • MANY hot-loop allocations have been moved out of the hot loop and into a pre-made buffer.
    • Reduced size of preallocated buffers; it can grow if needed.

thebracket and others added 20 commits October 25, 2024 10:53
… been seen recently. Runs in a background thread, so iteration time should be a non-issue.
…ges - it should fix the install issues for older versions of Ubuntu.
@thebracket thebracket added this to the v2.0 milestone Oct 31, 2024
@thebracket thebracket requested a review from rchac October 31, 2024 18:56
@thebracket thebracket self-assigned this Oct 31, 2024
@thebracket thebracket changed the title UI stability UI Stability, Memory Management and More - B3 Work List Oct 31, 2024
@thebracket thebracket marked this pull request as ready for review October 31, 2024 19:53
@rchac rchac merged commit 90c1b18 into develop Oct 31, 2024
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants