Nils Andreas Svee
d1ea0d0238
feat(observability): export rate and load metrics from rate controller
...
Send rates, load statistics, and delay deltas via the metrics channel to enable real-time monitoring of network performance.
2026-04-13 15:22:24 +07:00
Nils Andreas Svee
da3487e506
feat(observability): make metrics collection optional and granular
...
Wrap metrics senders in Option and conditionally initialize the monitoring thread to support granular configuration and reduced overhead.
2026-04-13 15:22:15 +07:00
Nils Andreas Svee
671e3f2671
refactor: standardize channel naming with tx and rx suffixes
...
Rename internal channel senders and receivers to follow standard Rust conventions for improved code consistency and readability.
2026-04-13 15:07:00 +07:00
Nils Andreas Svee
e5ba021a96
feat(observability): Pass metrics sender to rate controller and reflector selector
2026-04-13 15:01:46 +07:00
Nils Andreas Svee
2c1e7c0483
feat(observability): Export baseline statistics and events
2026-04-13 15:01:46 +07:00
Nils Andreas Svee
645ac08daa
feat(observability): Export ping related metrics
2026-04-13 15:01:46 +07:00
Nils Andreas Svee
1452409fe8
feat(observability): Integrate metrics exporter into main application flow
2026-04-13 15:01:46 +07:00
Nils Andreas Svee
44f551d38c
feat(observability): Add InfluxDB Line Protocol metrics module and config
2026-04-13 15:01:45 +07:00
Nils Andreas Svee
853f807e2c
feat: add metrics module for monitoring
...
Initialize the Metrics structure to receive and process ping statistics as part of the monitoring subsystem.
2026-04-13 12:11:05 +07:00
Nils Andreas Svee
f0fb3c9640
feat(monitoring): add dry-run mode to simulate qdisc rate changes
...
Enable a monitoring-only mode that logs intended bandwidth adjustments without applying them to the system via netlink.
2026-04-13 12:11:05 +07:00
Nils Andreas Svee
6d44556d63
style: reformat thread builder calls in main.rs
...
Standardize the formatting of thread spawning for the receiver and sender to improve code consistency and readability.
2026-04-13 12:06:50 +07:00
Nils Andreas Svee
8461d29788
build: bump version to 0.3.0
...
Update package version in Cargo.toml and Cargo.lock to reflect a new release.
v0.3.0
2026-04-01 12:55:52 +07:00
Nils Andreas Svee
9c51853147
refactor: update imports to use icmp-socket2
2026-04-01 12:52:19 +07:00
Nils Andreas Svee
050291990a
build: migrate from icmp-socket to icmp-socket2
2026-04-01 12:52:19 +07:00
Nils Andreas Svee
cac3d75ccb
build: update dependencies and remove redundant windows targets
2026-04-01 12:52:18 +07:00
renovate[bot]
7d833ecff8
chore(deps): update rust crate rustix to v1.1.4
2026-02-22 17:37:16 +00:00
Nils Andreas Svee
c2a7c5dfdb
refactor(main): Optimize reflector list assignment
2026-02-22 17:05:06 +07:00
Nils Andreas Svee
a4a83222fe
refactor(ratectrl): Enhance stability and file handling
2026-02-22 17:05:01 +07:00
Nils Andreas Svee
c45351042e
fix(pinger): Improve robustness of pinger operations
2026-02-22 17:04:56 +07:00
Nils Andreas Svee
1a87372ffb
refactor(main): Centralize thread error handling
2026-02-22 16:58:01 +07:00
Nils Andreas Svee
c116dd3e74
refactor(sync): Replace unwrap with anyhow-based locking
2026-02-22 16:57:11 +07:00
Nils Andreas Svee
d4ad24ce4a
feat(util): Introduce Mutex/RwLock error handling traits
2026-02-22 16:57:02 +07:00
Nils Andreas Svee
8589a1c7dc
feat(ratecontrol): Fallback to min rates
2026-02-22 12:13:14 +07:00
Nils Andreas Svee
fa370b323b
feat(pinger): Configurable tick interval
2026-02-22 12:13:14 +07:00
Nils Andreas Svee
489e3f45f7
feat(config): Dynamic min rate calculation
2026-02-22 12:13:14 +07:00
Nils Andreas Svee
1357a23578
fix(reflector): Remove no-op 'len()' call
2026-02-22 12:13:14 +07:00
Nils Andreas Svee
5af42c4a22
refactor(ratecontrol): Rate calculation uses floor
2026-02-22 12:13:14 +07:00
Nils Andreas Svee
f2113fa11c
refactor(ratecontrol): Use custom Time for logging
2026-02-22 12:13:13 +07:00
Nils Andreas Svee
0990332f18
refactor(log): Use custom Time for timestamps
2026-02-22 12:13:13 +07:00
Nils Andreas Svee
eb88107bd0
chore(deps): Remove 'time' crate
2026-02-22 12:13:13 +07:00
Nils Andreas Svee
714a121113
feat(time): Add granular time getters
2026-02-22 12:13:01 +07:00
Nils Andreas Svee
830e21363a
refactor: replace rand crate with fastrand
...
Replaces the `rand` crate with `fastrand` for improved performance in rate control and reflector selection.
2026-02-22 00:33:57 +07:00
Nils Andreas Svee
616a3b1c70
fix(netlink): Improves error handling
...
Refactors error handling for interface and queue discipline operations to provide more informative error messages. This aids in debugging and user experience.
2026-02-21 23:21:32 +07:00
Nils Andreas Svee
986b649a37
feat(netlink): Refactors to use netlink-socket2
...
Migrates netlink implementation to use netlink-socket2 and netlink-bindings crates, replacing neli crate for improved socket handling. Removes unused dependencies.
2026-02-21 23:10:48 +07:00
Nils Andreas Svee
e2962222b7
fix: Improve error handling for reflector list loading
...
Improves error handling when the reflector list file is not found, providing more context about the failure.
2026-02-21 23:06:32 +07:00
Nils Andreas Svee
99a7928a66
style(reflector): Reorder imports and truncate vector
2026-02-21 22:42:20 +07:00
Nils Andreas Svee
127ed692c3
refactor(reflector): Improve candidate selection loop
2026-02-21 22:42:20 +07:00
Nils Andreas Svee
2aec477b89
refactor(ratecontroller): Simplify delta_stat logic
2026-02-21 22:42:20 +07:00
Nils Andreas Svee
67bb185e28
refactor(main): Make reflector pool configurable
2026-02-21 22:42:20 +07:00
Nils Andreas Svee
66a2834192
feat(reflector): Use configurable reselection time
2026-02-21 22:42:20 +07:00
Nils Andreas Svee
a4b3e7406e
feat(config): Add peer reselection time
2026-02-21 22:42:20 +07:00
Nils Andreas Svee
2d21680f82
refactor(pinger): Simplifies imports
...
Simplifies imports by removing unused `IcmpPacketBuildError`.
2026-02-21 22:20:53 +07:00
Nils Andreas Svee
056288b0e8
fix(ratecontroller): correct generation of initial speeds
2026-02-21 22:20:30 +07:00
Nils Andreas Svee
6a49ad9112
Refactor(netlink): Replaces zerocopy with bytemuck
...
Migrates from `zerocopy` to `bytemuck` for improved data serialization and deserialization in netlink communication. This enhances maintainability.
2026-02-21 19:09:10 +07:00
Nils Andreas Svee
5838b0b9ee
refactor: replace bincode with zerocopy
...
Replaces bincode with zerocopy for deserialization of network data, improving performance and reducing dependencies.
2026-02-21 18:44:43 +07:00
Nils Andreas Svee
f3e7729f43
refactor: Removes redundant trait implementation
...
Removes the duplicate `WithTimestampRequest` trait implementation as it's now provided by the `icmp-socket` crate fork.
2026-02-21 17:25:25 +07:00
Nils Andreas Svee
f5d3776159
refactor: migrate ICMP handling to icmp-socket crate
2026-02-21 17:13:54 +07:00
Nils Andreas Svee
5f13511ee3
chore: removes Dockerfile
...
Removes the Dockerfile.
No longer needed for current build process.
2026-02-21 15:07:10 +07:00
Nils Andreas Svee
8a3dbcfd0b
ci: Archives target-specific binary
...
Ensures the pipeline archives the correct binary for each target architecture. Uses CARGO_BUILD_TARGET to locate and rename the binary before archiving.
2026-02-21 15:02:51 +07:00
Nils Andreas Svee
611998c5e9
fix(Jenkinsfile): Removes duplicate target
...
Removes a duplicate target from the Jenkinsfile. This ensures correct target specification during builds.
2026-02-21 15:02:43 +07:00