From a08c36c910f137093c047a23d86c9f8cefa061e7 Mon Sep 17 00:00:00 2001 From: Abhishek Pandey Date: Sat, 7 Oct 2023 01:00:00 +0530 Subject: [PATCH] Fix for reals --- src/internal/events/adot_sdk_client.go | 12 +++++++++--- src/internal/m365/graph/concurrency_middleware.go | 5 +++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/internal/events/adot_sdk_client.go b/src/internal/events/adot_sdk_client.go index 2419f6f1f..b93208772 100644 --- a/src/internal/events/adot_sdk_client.go +++ b/src/internal/events/adot_sdk_client.go @@ -20,7 +20,6 @@ import ( var Ctr metric.Int64Counter var AsyncCtr metric.Int64ObservableCounter -var RLGauge metric.Int64ObservableCounter var token int64 @@ -76,12 +75,19 @@ func NewCollector(mp metric.MeterProvider) { } -func RegisterGauge(ctx context.Context, name string, cb func(_ context.Context, o metric.Observer) error) { +func CreateGauge(ctx context.Context, name string) metric.Int64ObservableCounter { RLGauge, _ := globalMeter.Int64ObservableCounter(name) + return RLGauge +} + +func RegisterGauge( + ctx context.Context, + rlg metric.Int64ObservableCounter, + cb func(_ context.Context, o metric.Observer) error) { _, err := globalMeter.RegisterCallback( cb, - RLGauge, + rlg, ) if err != nil { diff --git a/src/internal/m365/graph/concurrency_middleware.go b/src/internal/m365/graph/concurrency_middleware.go index e1109e51d..1f3cf4b57 100644 --- a/src/internal/m365/graph/concurrency_middleware.go +++ b/src/internal/m365/graph/concurrency_middleware.go @@ -165,14 +165,15 @@ var token int64 = 0 func RegisterRLMetrics(ctx context.Context) { twonce.Do(func() { + rlg := events.CreateGauge(ctx, events.RLTokens) cb := func(ctx context.Context, o metric.Observer) error { token += int64(ctxLimiter(ctx).Tokens()) - o.ObserveInt64(events.RLGauge, token) + o.ObserveInt64(rlg, token) return nil } - events.RegisterGauge(ctx, events.RLTokens, cb) + events.RegisterGauge(ctx, rlg, cb) }) }