renovate[bot]
7955046426
fix(deps): update rust-uci digest to 3e7b615
2026-07-03 00:46:39 +07:00
renovate[bot]
30e3281178
chore(deps): update google/osv-scanner-action action to v2.3.8
2026-07-03 00:46:39 +07:00
renovate[bot]
f3f033cf0f
chore(deps): update rust crate libc to v0.2.186
2026-07-03 00:46:39 +07:00
Nils Andreas Svee
4aaf8fa100
chore: add SPDX license identifiers and copyright headers to source files
...
Apply the MPL-2.0 license to all source files and include the full license text to ensure legal compliance and proper attribution.
2026-04-23 12:39:52 +07:00
Nils Andreas Svee
dfa11be236
chore: add MPLv2.0 license
...
The original Lua sqm-autorate project is licensed under the MPLv2.0, and this project started life as a pure port of that. Thus our code should also be licensed under the MPL
2026-04-23 12:19:49 +07:00
Nils Andreas Svee
58d536bb22
refactor(pinger): replace hashlru with standard HashMap and manual TTL cleanup
...
Remove the hashlru dependency to reduce bloat, replacing it with a Mutex-wrapped HashMap and manual entry expiration logic.
2026-04-23 00:33:07 +07:00
Nils Andreas Svee
6f16f3a93c
build(deps): disable default features for hashlru to reduce dependency bloat
...
Remove unused dependencies including ahash, hashbrown, and zerocopy by disabling default features for hashlru.
2026-04-23 00:19:00 +07:00
Nils Andreas Svee
1b959d52ed
feat(main): Initialize and pass InFlightProbeCache to pinger threads
2026-04-23 00:16:19 +07:00
Nils Andreas Svee
8c29d7b251
feat(pinger): Integrate in-flight probe cache into sender and listener
2026-04-23 00:16:19 +07:00
Nils Andreas Svee
80adb368d4
feat(pinger): Implement new craft_packet signature for ICMP types
2026-04-23 00:16:19 +07:00
Nils Andreas Svee
6ae19b619a
feat(pinger): Introduce InFlightProbeCache and update Ping traits
2026-04-23 00:16:19 +07:00
Nils Andreas Svee
7250050f63
feat(deps): Add hashlru for in-flight probe caching
2026-04-23 00:16:19 +07:00
Nils Andreas Svee
3322e82b6c
refactor: replace std::sync::mpsc with flume for improved channel performance
...
Migrate internal message passing to flume to leverage better performance and additional features like eventual fairness and selection.
2026-04-22 22:39:06 +07:00
Nils Andreas Svee
ea19c6d68b
style: remove unused synchronization imports
...
Eliminate unused Arc, Mutex, and RwLock imports to clean up codebase and reduce compiler warnings.
2026-04-22 22:26:44 +07:00
Nils Andreas Svee
a81d208c0d
style: refine logging verbosity and improve diagnostic messages
...
Demote baseline telemetry to debug level, add context to rate controller warnings, and remove redundant string conversions in reflector selection logs.
2026-04-22 22:09:26 +07:00
Nils Andreas Svee
e22c100e57
refactor(main): Relocate and enhance signal handler with improved logging
2026-04-22 21:45:27 +07:00
Nils Andreas Svee
72fe0230ee
style: Apply general code formatting and import reordering
2026-04-22 21:45:25 +07:00
Nils Andreas Svee
6690402a34
chore(deps): update dependencies and switch rust-uci to git revision
...
Update bindgen, nom, and other core dependencies while switching rust-uci and libuci-sys to a specific git revision to ensure compatibility with recent project changes.
2026-04-22 16:55:46 +07:00
Nils Andreas Svee
3ec53a1224
refactor: Migrate configuration to new UCI path prefix and boolean helper
2026-04-22 16:55:05 +07:00
Nils Andreas Svee
7d5c2f0275
refactor: Add boolean configuration helper and streamline host tag retrieval
2026-04-22 16:55:05 +07:00
Nils Andreas Svee
45da0c030e
feat: Add flexible boolean parsing for configuration
2026-04-22 16:55:05 +07:00
Nils Andreas Svee
33169182be
chore(deps): update rust-uci repository source
...
Switch the rust-uci dependency to the namib-project fork while maintaining the same revision to ensure availability and consistency with project requirements.
2026-04-22 15:11:16 +07:00
Nils Andreas Svee
2aea1bea86
chore(deps): switch rust-uci to git dependency
...
Update rust-uci to use a specific git revision from the upstream repository to incorporate latest changes not yet available in the published version.
2026-04-22 15:06:45 +07:00
Nils Andreas Svee
d0e3394f03
refactor: add ArcMutex/ArcRwLock type aliases
...
Replace repeated Arc> and Arc> with concise type aliases for readability.
2026-04-18 19:04:35 +02:00
Nils Andreas Svee
7c40990e93
chore(deps): switch netlink dependencies to upstream git and remove vendor patch
...
Replace the local vendored patch for netlink-socket2 with a direct reference to the upstream git repository to maintain the fix for musl targets.
This should be changed back to using a release once the fix has a published release
2026-04-18 15:41:02 +07:00
renovate[bot]
a739d1a5e2
chore(deps): update google/osv-scanner-action action to v2.3.5
2026-04-16 23:37:02 +07:00
Nils Andreas Svee
11837195de
chore(deps): update rust dependencies
...
Update several crates including cc, cmake, fastrand, and quote to their latest versions to maintain up-to-date build tools and libraries.
2026-04-14 16:04:02 +07:00
renovate[bot]
706d93f146
chore(deps): update rust crate libc to v0.2.185
2026-04-14 16:00:57 +07:00
Nils Andreas Svee
7b0eb942ea
fix(deps): patch netlink-socket2 to support musl targets
...
Vendor netlink-socket2 to resolve compilation failures caused by direct struct-literal initialization of libc types on musl.
2026-04-14 15:00:49 +07:00
Nils Andreas Svee
5daccecc1d
fix(deps): update rust crate netlink-bindings to 0.3
...
Adjust netlink and traffic control logic to accommodate breaking API changes, including shifts from method calls to direct field access.
2026-04-14 13:09:50 +07:00
renovate[bot]
2c336799b8
fix(deps): update rust crate netlink-socket2 to 0.3
2026-04-14 12:07:32 +07:00
Nils Andreas Svee
8739ed4419
fix(metrics): use AtomicU32 for drop counter to support MIPS targets
...
Also bumps version to 0.4.1.
v0.4.1
2026-04-14 02:14:55 +07:00
Nils Andreas Svee
99e80c381d
build: bump package version to 0.4.0
v0.4.0
2026-04-14 02:09:20 +07:00
Nils Andreas Svee
3c689b1d1e
feat(main): Orchestrate application shutdown and cleanup
2026-04-14 02:03:53 +07:00
Nils Andreas Svee
bda1a44b6e
feat(threads): Add graceful shutdown checks to worker loops
2026-04-14 02:03:53 +07:00
Nils Andreas Svee
6e4e6b85e9
feat(shutdown): Implement global shutdown signal handling
2026-04-14 02:03:53 +07:00
Nils Andreas Svee
f8976a78a2
feat(metrics): support arbitrary event tags and enhance monitoring coverage
...
Enable key-value metadata for events to track dry-run status and introduce new monitoring events for rate controller failure states.
2026-04-14 01:45:07 +07:00
Nils Andreas Svee
60e7ffc9e7
refactor(main): integrate MetricsSender across application entry point
2026-04-13 18:57:51 +07:00
Nils Andreas Svee
2db63e6159
refactor(reflector_selector): migrate to MetricsSender for event dispatch
2026-04-13 18:57:50 +07:00
Nils Andreas Svee
3095e32d41
refactor(ratecontroller): migrate to MetricsSender for metric dispatch
2026-04-13 18:57:50 +07:00
Nils Andreas Svee
57382465bf
refactor(pinger): migrate to MetricsSender for metric dispatch
2026-04-13 18:57:50 +07:00
Nils Andreas Svee
e9e233d98a
refactor(baseliner): migrate to MetricsSender for metric dispatch
2026-04-13 18:57:50 +07:00
Nils Andreas Svee
8036d27e6f
feat(metrics): track and report dropped metric counts
2026-04-13 18:57:50 +07:00
Nils Andreas Svee
451d42640b
refactor(metrics): encapsulate metric dispatch with MetricsSender
2026-04-13 18:57:50 +07:00
Nils Andreas Svee
b930a01fd6
feat(observability): emit a startup event metric to signal application initialization
...
Send a telemetry event when the process starts to provide better visibility into application lifecycle transitions.
2026-04-13 17:49:19 +07:00
Nils Andreas Svee
e7cbdbb265
docs(observability): document rationale for unbatched UDP metric flushing
...
Explain that individual metric delivery prevents data truncation caused by small UDP receive buffers on the remote host.
2026-04-13 17:36:30 +07:00
Nils Andreas Svee
1d7fd5800b
refactor(observability): initialize metrics collection earlier in the startup sequence
...
Move the metrics thread and error channel initialization before the settling period and peer setup to ensure early telemetry is captured.
2026-04-13 17:34:17 +07:00
Nils Andreas Svee
699c8782d9
fix(observability): send individual metrics over UDP to avoid packet size limits
...
Differentiate flushing logic between transport types to prevent UDP payload truncation while maintaining batched delivery for TCP.
2026-04-13 17:21:14 +07:00
Nils Andreas Svee
0f902e27a3
perf(observability): optimize metric flushing to reduce memory allocations
...
Use a pre-allocated buffer for metric serialization to improve efficiency when processing large batches.
2026-04-13 16:54:33 +07:00
Nils Andreas Svee
530a715bdf
fix(observability): refresh metric timestamps on each loop iteration
...
Move clock initialization inside processing loops to ensure exported metrics reflect the current time rather than a stale timestamp.
2026-04-13 16:32:30 +07:00