WZP-P2-T5-S1: Relay Prometheus /metrics - RelayMetrics: active_sessions, active_rooms, packets/bytes_forwarded, auth_attempts (ok/fail), handshake_duration histogram - --metrics-port flag spawns HTTP server - Wired into auth, handshake, session, and packet forwarding paths - 2 tests WZP-P2-T5-S3: Web bridge Prometheus /metrics - WebMetrics: active_connections, frames_bridged (up/down), auth_failures, handshake_latency histogram - Added /metrics route to existing axum app - Wired into WS connect/disconnect, auth, handshake, send/recv loops - 2 tests WZP-P2-T5-S4: Client --metrics-file JSONL - ClientMetricsSnapshot with all telemetry fields - MetricsWriter: writes one JSON line per second to file - snapshot_from_stats() converts JitterStats to snapshot - --metrics-file <path> flag - 3 tests 223 tests passing across all crates. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
38 lines
1.1 KiB
TOML
38 lines
1.1 KiB
TOML
[package]
|
|
name = "wzp-relay"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
rust-version.workspace = true
|
|
description = "WarzonePhone relay daemon — ties codec, FEC, crypto, and transport together"
|
|
|
|
[dependencies]
|
|
wzp-proto = { workspace = true }
|
|
wzp-codec = { workspace = true }
|
|
wzp-fec = { workspace = true }
|
|
wzp-crypto = { workspace = true }
|
|
wzp-transport = { workspace = true }
|
|
tokio = { workspace = true }
|
|
tracing = { workspace = true }
|
|
tracing-subscriber = { workspace = true }
|
|
async-trait = { workspace = true }
|
|
bytes = { workspace = true }
|
|
serde = { workspace = true }
|
|
toml = "0.8"
|
|
anyhow = "1"
|
|
reqwest = { version = "0.12", features = ["json"] }
|
|
serde_json = "1"
|
|
rustls = { version = "0.23", default-features = false, features = ["ring", "std"] }
|
|
quinn = { workspace = true }
|
|
prometheus = "0.13"
|
|
axum = { version = "0.7", default-features = false, features = ["tokio", "http1"] }
|
|
|
|
[[bin]]
|
|
name = "wzp-relay"
|
|
path = "src/main.rs"
|
|
|
|
[dev-dependencies]
|
|
tokio = { workspace = true, features = ["rt-multi-thread", "macros"] }
|
|
wzp-transport = { workspace = true }
|
|
wzp-client = { workspace = true }
|