add async counter
This commit is contained in:
parent
22b43b7255
commit
12b50f1df2
@ -19,6 +19,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var Ctr metric.Int64Counter
|
var Ctr metric.Int64Counter
|
||||||
|
var AsyncCtr metric.Int64ObservableCounter
|
||||||
|
|
||||||
type collector struct {
|
type collector struct {
|
||||||
meter metric.Meter
|
meter metric.Meter
|
||||||
@ -40,10 +41,29 @@ func (rmc *collector) RegisterMetricsClient(ctx context.Context, cfg Config) {
|
|||||||
time.Sleep(time.Second * 1)
|
time.Sleep(time.Second * 1)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (rmc *collector) registerCounter() {
|
func (rmc *collector) registerCounter() {
|
||||||
Ctr, _ = rmc.meter.Int64Counter(growCounter)
|
Ctr, _ = rmc.meter.Int64Counter(growCounter)
|
||||||
|
AsyncCtr, _ = rmc.meter.Int64ObservableCounter("async_counter")
|
||||||
|
|
||||||
|
var token int64
|
||||||
|
|
||||||
|
cb := func(_ context.Context, o metric.Observer) error {
|
||||||
|
token++
|
||||||
|
o.ObserveInt64(AsyncCtr, token)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err := rmc.meter.RegisterCallback(
|
||||||
|
cb,
|
||||||
|
AsyncCtr,
|
||||||
|
)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalf("failed to register callback: %v", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (rmc *collector) updateCounter(ctx context.Context) {
|
func (rmc *collector) updateCounter(ctx context.Context) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user