383077e1e6
proxy-ws (Rust/axum) — тот же паттерн, что api.rs в netrunner-backend: PrometheusBuilder + middleware, считающий http_requests_total/ http_request_duration_seconds по методу/пути/статусу. Next.js — app/api/metrics/route.ts на prom-client (явный runtime="nodejs", т.к. Edge Runtime не тянет perf_hooks/process.*), отдаёт default-метрики процесса (CPU/память/event loop lag). Оба порта (3000/3001) перестают быть 127.0.0.1-only — их должен скрейпить центральный Prometheus на VPS с данными, обязательно зафайрволить там на его IP (см. комментарии в docker-compose.yml). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
28 lines
894 B
TOML
28 lines
894 B
TOML
[package]
|
|
name = "proxy-ws"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[dependencies]
|
|
axum = "0.7"
|
|
tokio = { version = "1", features = ["full"] }
|
|
reqwest = { version = "0.11", default-features = false, features = ["json", "rustls-tls"] }
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
unicode-segmentation = "1.10"
|
|
indexmap = "2.2.6"
|
|
tower-http = { version = "0.5", features = ["cors"] }
|
|
tract-onnx = "0.21.6"
|
|
tokenizers = "0.19"
|
|
anyhow = "1.0"
|
|
metrics = "0.24.3"
|
|
metrics-exporter-prometheus = { version = "0.18.1", default-features = false }
|
|
|
|
# Профиль заточен под минимальный размер бинарника и образа (LTO, strip
|
|
# отладочной информации, отказ от unwind-раскрутки стека при панике).
|
|
[profile.release]
|
|
opt-level = 3
|
|
lto = "thin"
|
|
codegen-units = 16
|
|
panic = "abort"
|
|
strip = true |