feat(metrics): add real-time throughput sampling and byte-counting metrics
This commit is contained in:
13
changelog.md
13
changelog.md
@@ -1,5 +1,18 @@
|
||||
# Changelog
|
||||
|
||||
## 2026-02-13 - 25.1.0 - feat(metrics)
|
||||
add real-time throughput sampling and byte-counting metrics
|
||||
|
||||
- Add CountingBody wrapper to count HTTP request and response bytes and report them to MetricsCollector.
|
||||
- Implement lock-free hot-path byte recording and a cold-path sampling API (sample_all) in MetricsCollector with throughput history and configurable retention (default 3600s).
|
||||
- Spawn a background sampling task in RustProxy (configurable sample_interval_ms) and tear it down on stop so throughput trackers are regularly sampled.
|
||||
- Instrument passthrough TCP forwarding and socket-relay paths to record per-chunk bytes (lock-free) so long-lived connections contribute to throughput measurements.
|
||||
- Wrap HTTP request/response bodies with CountingBody in proxy_service to capture bytes_in/bytes_out and report on body completion; connection_closed handling updated accordingly.
|
||||
- Expose recent throughput metrics to the TypeScript adapter (throughputRecentIn/Out) and pass metrics settings from the TS SmartProxy into Rust.
|
||||
- Add http-body dependency and update Cargo.toml/Cargo.lock entries for the new body wrapper usage.
|
||||
- Add unit tests for MetricsCollector throughput tracking and a new end-to-end throughput test (test.throughput.ts).
|
||||
- Update test certificates (assets/certs cert.pem and key.pem) used by TLS tests.
|
||||
|
||||
## 2026-02-13 - 25.0.0 - BREAKING CHANGE(certs)
|
||||
accept a second eventComms argument in certProvisionFunction, add cert provisioning event types, and emit certificate lifecycle events
|
||||
|
||||
|
||||
Reference in New Issue
Block a user