Nils Andreas Svee
7e0f434251
refactor: replace legacy Config with Settings
...
Remove legacy src/config.rs and migrate all application consumers to
the nested Settings model. Baseliner, metrics, pingers, ratecontroller,
reflector selector, and main now use Settings. Derived min rates become
methods on NetworkSettings rather than stored legacy fields.
MeasurementType and ObservabilityProtocol move into the settings module.
2026-08-07 16:04:59 +07:00
Nils Andreas Svee
8b0c37bc83
refactor: simplify control flow and error handling in metrics and netlink
2026-07-05 12:44:44 +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
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
72fe0230ee
style: Apply general code formatting and import reordering
2026-04-22 21:45:25 +07:00
Nils Andreas Svee
8739ed4419
fix(metrics): use AtomicU32 for drop counter to support MIPS targets
...
Also bumps version to 0.4.1.
2026-04-14 02:14:55 +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
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
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
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
72b4bc8dab
fix(observability): ensure all metric outputs are newline-terminated
...
Append trailing newlines to metric string formats to ensure consistent parsing and record separation by monitoring backends.
2026-04-13 15:43:09 +07:00
Nils Andreas Svee
757a715a54
chore: cleanup unused imports
2026-04-13 15:29:04 +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
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