From 7a1c8813e62f4d54c016dcdc72646eb8cb46be36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20=C5=A0ediv=C3=BD?= Date: Thu, 30 Jun 2022 23:54:06 +0200 Subject: [PATCH] metrics connection State Count. --- internal/webrtc/metrics.go | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/internal/webrtc/metrics.go b/internal/webrtc/metrics.go index 14daf21b..b682b070 100644 --- a/internal/webrtc/metrics.go +++ b/internal/webrtc/metrics.go @@ -10,8 +10,9 @@ import ( ) type metrics struct { - connectionState prometheus.Gauge - connectionCount prometheus.Counter + connectionState prometheus.Gauge + connectionStateCount prometheus.Counter + connectionCount prometheus.Counter iceCandidates map[string]struct{} iceCandidatesCount prometheus.Counter @@ -51,6 +52,15 @@ func (m *metricsCtx) getBySession(session types.Session) metrics { "session_id": session.ID(), }, }), + connectionStateCount: promauto.NewCounter(prometheus.CounterOpts{ + Name: "connection_state_count", + Namespace: "neko", + Subsystem: "webrtc", + Help: "Count of connection state changes for a session.", + ConstLabels: map[string]string{ + "session_id": session.ID(), + }, + }), connectionCount: promauto.NewCounter(prometheus.CounterOpts{ Name: "connection_count", Namespace: "neko", @@ -131,6 +141,8 @@ func (m *metricsCtx) SetState(session types.Session, state webrtc.PeerConnection default: met.connectionState.Set(-1) } + + met.connectionStateCount.Add(1) } func (m *metricsCtx) SetTransportStats(session types.Session, data webrtc.TransportStats) {