Fix for reals

This commit is contained in:
Abhishek Pandey 2023-10-07 01:00:00 +05:30
parent b41c344d03
commit a08c36c910
2 changed files with 12 additions and 5 deletions

View File

@ -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 {

View File

@ -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)
})
}