From 98b68caa14f37a20bc4fa0aeb8210b098219918e Mon Sep 17 00:00:00 2001 From: Konstantin Dudkov Date: Fri, 10 Nov 2023 13:04:12 +0300 Subject: [PATCH] connections metric --- cmd/goatak_server/main.go | 5 ++++- cmd/goatak_server/metrics.go | 6 ++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/cmd/goatak_server/main.go b/cmd/goatak_server/main.go index 84674c3..e37f4b3 100644 --- a/cmd/goatak_server/main.go +++ b/cmd/goatak_server/main.go @@ -173,12 +173,15 @@ func (app *App) NewCotMessage(msg *cot.CotMessage) { func (app *App) AddClientHandler(ch client.ClientHandler) { app.handlers.Store(ch.GetName(), ch) + connectionsMetric.Inc() } func (app *App) RemoveClientHandler(name string) { if _, ok := app.handlers.Load(name); ok { app.Logger.Infof("remove handler: %s", name) - app.handlers.Delete(name) + if _, ok := app.handlers.LoadAndDelete(name); ok { + connectionsMetric.Dec() + } } } diff --git a/cmd/goatak_server/metrics.go b/cmd/goatak_server/metrics.go index 31cbb54..f26fdf3 100644 --- a/cmd/goatak_server/metrics.go +++ b/cmd/goatak_server/metrics.go @@ -11,4 +11,10 @@ var ( Name: "cots_processed", Help: "The total number of cots processed", }) + + connectionsMetric = promauto.NewGauge(prometheus.GaugeOpts{ + Namespace: "goatak", + Name: "connections", + Help: "The total number of connections", + }) )