diff options
| author | bndw <ben@bdw.to> | 2026-02-14 12:49:08 -0800 |
|---|---|---|
| committer | bndw <ben@bdw.to> | 2026-02-14 12:49:08 -0800 |
| commit | 40df56985402a31695a9a3bb13319bd2a3276305 (patch) | |
| tree | f95842afe4e75b93dfea49b94e5a6815c0d936ce /cmd/relay/main.go | |
| parent | 9711b2b177959c0ea8e5119bead16dfd40b12c47 (diff) | |
feat: track WebSocket subscriptions in metrics
Add metrics tracking for WebSocket (NIP-01) subscriptions in addition
to existing gRPC subscription tracking.
Changes:
- Add Count() method to subscription.Manager
- Add MetricsRecorder interface to WebSocket handler
- Update subscription metrics when REQ/CLOSE messages processed
- Wire up metrics to WebSocket handler in main.go
Before: Only gRPC stream subscriptions were counted
After: Both gRPC and WebSocket subscriptions tracked accurately
This fixes the dashboard showing 0 subscriptions when clients connect
via WebSocket (e.g., nak req --stream).
Diffstat (limited to 'cmd/relay/main.go')
| -rw-r--r-- | cmd/relay/main.go | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/cmd/relay/main.go b/cmd/relay/main.go index 457a719..e4fe9bc 100644 --- a/cmd/relay/main.go +++ b/cmd/relay/main.go | |||
| @@ -93,6 +93,9 @@ func main() { | |||
| 93 | } | 93 | } |
| 94 | 94 | ||
| 95 | wsHandler := wshandler.NewHandler(store, subManager) | 95 | wsHandler := wshandler.NewHandler(store, subManager) |
| 96 | if m != nil { | ||
| 97 | wsHandler.SetMetrics(m) | ||
| 98 | } | ||
| 96 | 99 | ||
| 97 | var grpcDisplay, httpDisplay, wsDisplay string | 100 | var grpcDisplay, httpDisplay, wsDisplay string |
| 98 | if cfg.Server.PublicURL != "" { | 101 | if cfg.Server.PublicURL != "" { |
