fix(sonar): SetObservableCallback uses unregister stopper instead of empty function to satisfy S1186

This commit is contained in:
Marc Schäfer
2025-10-08 01:09:18 +02:00
parent 587e829e42
commit e16881b7c8

View File

@@ -207,10 +207,14 @@ var (
// })
func SetObservableCallback(cb func(context.Context, metric.Observer) error) {
obsOnce.Do(func() {
if _, e := meter.RegisterCallback(cb, mSiteOnline, mSiteLastHeartbeat, mTunnelSessions); e != nil {
reg, e := meter.RegisterCallback(cb, mSiteOnline, mSiteLastHeartbeat, mTunnelSessions)
if e != nil {
otel.Handle(e)
obsStopper = func() {}
return
}
obsStopper = func() { /* no-op; otel callbacks are unregistered when provider shuts down */ }
// Provide a functional stopper mirroring proxy/build-info behavior
obsStopper = func() { _ = reg.Unregister() }
})
}