You've already forked opentelemetry-go
mirror of
https://github.com/open-telemetry/opentelemetry-go.git
synced 2026-06-03 18:35:08 +02:00
fix(semconv): share metric option pools (#8371)
Share the AddOption and RecordOption pools used by generated semconv metric helpers through a small internal package, instead of emitting one pair of pools in every generated metric package. Regenerate semconv/v1.41.0 from the updated templates. Fixes #8356 --------- Co-authored-by: Robert Pająk <pellared@hotmail.com>
This commit is contained in:
@@ -9,16 +9,11 @@ package azureconv
|
||||
|
||||
import (
|
||||
"context"
|
||||
"sync"
|
||||
|
||||
"go.opentelemetry.io/otel/attribute"
|
||||
"go.opentelemetry.io/otel/metric"
|
||||
"go.opentelemetry.io/otel/metric/noop"
|
||||
)
|
||||
|
||||
var (
|
||||
addOptPool = &sync.Pool{New: func() any { return &[]metric.AddOption{} }}
|
||||
recOptPool = &sync.Pool{New: func() any { return &[]metric.RecordOption{} }}
|
||||
"go.opentelemetry.io/otel/semconv/internal/metricpool"
|
||||
)
|
||||
|
||||
// CosmosDBConsistencyLevelAttr is an attribute conforming to the
|
||||
@@ -127,12 +122,8 @@ func (m CosmosDBClientActiveInstanceCount) Add(
|
||||
return
|
||||
}
|
||||
|
||||
o := addOptPool.Get().(*[]metric.AddOption)
|
||||
defer func() {
|
||||
clear(*o)
|
||||
*o = (*o)[:0]
|
||||
addOptPool.Put(o)
|
||||
}()
|
||||
o := metricpool.AddOptions()
|
||||
defer metricpool.PutAddOptions(o)
|
||||
|
||||
*o = append(
|
||||
*o,
|
||||
@@ -154,12 +145,8 @@ func (m CosmosDBClientActiveInstanceCount) AddSet(ctx context.Context, incr int6
|
||||
return
|
||||
}
|
||||
|
||||
o := addOptPool.Get().(*[]metric.AddOption)
|
||||
defer func() {
|
||||
clear(*o)
|
||||
*o = (*o)[:0]
|
||||
addOptPool.Put(o)
|
||||
}()
|
||||
o := metricpool.AddOptions()
|
||||
defer metricpool.PutAddOptions(o)
|
||||
|
||||
*o = append(*o, metric.WithAttributeSet(set))
|
||||
m.Int64UpDownCounter.Add(ctx, incr, *o...)
|
||||
@@ -332,12 +319,8 @@ func (m CosmosDBClientOperationRequestCharge) Record(
|
||||
return
|
||||
}
|
||||
|
||||
o := recOptPool.Get().(*[]metric.RecordOption)
|
||||
defer func() {
|
||||
clear(*o)
|
||||
*o = (*o)[:0]
|
||||
recOptPool.Put(o)
|
||||
}()
|
||||
o := metricpool.RecordOptions()
|
||||
defer metricpool.PutRecordOptions(o)
|
||||
|
||||
*o = append(
|
||||
*o,
|
||||
@@ -362,12 +345,8 @@ func (m CosmosDBClientOperationRequestCharge) RecordSet(ctx context.Context, val
|
||||
return
|
||||
}
|
||||
|
||||
o := recOptPool.Get().(*[]metric.RecordOption)
|
||||
defer func() {
|
||||
clear(*o)
|
||||
*o = (*o)[:0]
|
||||
recOptPool.Put(o)
|
||||
}()
|
||||
o := metricpool.RecordOptions()
|
||||
defer metricpool.PutRecordOptions(o)
|
||||
|
||||
*o = append(*o, metric.WithAttributeSet(set))
|
||||
m.Int64Histogram.Record(ctx, val, *o...)
|
||||
|
||||
Reference in New Issue
Block a user