You've already forked opentelemetry-go
mirror of
https://github.com/open-telemetry/opentelemetry-go.git
synced 2025-11-29 23:07:45 +02:00
Add measure benchmarks with exemplars recorded (#7406)
Part of https://github.com/open-telemetry/opentelemetry-go/issues/7388 This adds benchmarks for making measurements that also record an exemplar. This will help demonstrate any improvements to locking in the exemplar reservoir. Parallel benchmarks: ``` goos: linux goarch: amd64 pkg: go.opentelemetry.io/otel/sdk/metric cpu: Intel(R) Xeon(R) CPU @ 2.20GHz BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Int64Counter/Attributes/0-24 57819 258.8 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Int64Counter/Attributes/1-24 46058 255.0 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Int64Counter/Attributes/10-24 70351 271.3 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Float64Counter/Attributes/0-24 67525 220.7 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Float64Counter/Attributes/1-24 67789 248.9 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Float64Counter/Attributes/10-24 63385 246.9 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Int64UpDownCounter/Attributes/0-24 67786 213.8 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Int64UpDownCounter/Attributes/1-24 73093 226.9 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Int64UpDownCounter/Attributes/10-24 55597 230.7 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Float64UpDownCounter/Attributes/0-24 77805 216.2 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Float64UpDownCounter/Attributes/1-24 71512 234.7 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Float64UpDownCounter/Attributes/10-24 60094 258.8 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Int64Histogram/Attributes/0-24 66192 266.3 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Int64Histogram/Attributes/1-24 50511 242.5 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Int64Histogram/Attributes/10-24 42548 295.6 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Float64Histogram/Attributes/0-24 48874 229.3 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Float64Histogram/Attributes/1-24 50904 271.5 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Float64Histogram/Attributes/10-24 59074 253.8 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/ExponentialInt64Histogram/Attributes/0-24 55216 292.2 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/ExponentialInt64Histogram/Attributes/1-24 53492 375.3 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/ExponentialInt64Histogram/Attributes/10-24 40346 273.5 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/ExponentialFloat64Histogram/Attributes/0-24 51520 310.9 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/ExponentialFloat64Histogram/Attributes/1-24 43227 303.2 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/ExponentialFloat64Histogram/Attributes/10-24 44754 295.4 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Int64Counter/Attributes/0-24 44091 294.7 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Int64Counter/Attributes/1-24 43164 300.3 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Int64Counter/Attributes/10-24 46014 269.3 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Float64Counter/Attributes/0-24 38978 281.3 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Float64Counter/Attributes/1-24 41292 316.6 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Float64Counter/Attributes/10-24 38986 303.3 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Int64UpDownCounter/Attributes/0-24 33555 299.0 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Int64UpDownCounter/Attributes/1-24 44396 322.2 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Int64UpDownCounter/Attributes/10-24 38211 273.0 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Float64UpDownCounter/Attributes/0-24 45652 296.9 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Float64UpDownCounter/Attributes/1-24 38984 270.8 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Float64UpDownCounter/Attributes/10-24 36280 313.2 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Int64Histogram/Attributes/0-24 34377 437.9 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Int64Histogram/Attributes/1-24 34992 344.9 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Int64Histogram/Attributes/10-24 33795 384.9 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Float64Histogram/Attributes/0-24 38080 353.7 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Float64Histogram/Attributes/1-24 36568 315.4 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Float64Histogram/Attributes/10-24 32418 309.7 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/ExponentialInt64Histogram/Attributes/0-24 33217 320.2 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/ExponentialInt64Histogram/Attributes/1-24 27937 407.7 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/ExponentialInt64Histogram/Attributes/10-24 30818 350.0 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/ExponentialFloat64Histogram/Attributes/0-24 36286 346.3 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/ExponentialFloat64Histogram/Attributes/1-24 35863 342.4 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/ExponentialFloat64Histogram/Attributes/10-24 32378 327.8 ns/op 0 B/op 0 allocs/op ``` Single-threaded benchmarks: ``` goos: linux goarch: amd64 pkg: go.opentelemetry.io/otel/sdk/metric cpu: Intel(R) Xeon(R) CPU @ 2.20GHz BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Int64Counter/Attributes/0 115218 109.8 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Int64Counter/Attributes/1 106142 112.0 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Int64Counter/Attributes/10 101562 115.5 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Float64Counter/Attributes/0 93019 112.1 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Float64Counter/Attributes/1 107089 117.4 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Float64Counter/Attributes/10 106411 117.6 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Int64UpDownCounter/Attributes/0 110683 113.6 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Int64UpDownCounter/Attributes/1 84825 122.5 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Int64UpDownCounter/Attributes/10 98952 113.9 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Float64UpDownCounter/Attributes/0 115419 105.2 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Float64UpDownCounter/Attributes/1 97251 114.7 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Float64UpDownCounter/Attributes/10 106036 111.8 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Int64Histogram/Attributes/0 130296 92.98 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Int64Histogram/Attributes/1 120679 100.5 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Int64Histogram/Attributes/10 116985 102.1 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Float64Histogram/Attributes/0 125479 96.42 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Float64Histogram/Attributes/1 115527 103.7 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/Float64Histogram/Attributes/10 89858 117.8 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/ExponentialInt64Histogram/Attributes/0 76768 152.9 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/ExponentialInt64Histogram/Attributes/1 72832 161.2 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/ExponentialInt64Histogram/Attributes/10 73298 160.9 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/ExponentialFloat64Histogram/Attributes/0 81826 154.2 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/ExponentialFloat64Histogram/Attributes/1 73779 158.5 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsDisabled/ExponentialFloat64Histogram/Attributes/10 75606 161.4 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Int64Counter/Attributes/0 61503 188.5 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Int64Counter/Attributes/1 63260 185.4 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Int64Counter/Attributes/10 62704 189.5 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Float64Counter/Attributes/0 63615 180.3 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Float64Counter/Attributes/1 62072 190.2 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Float64Counter/Attributes/10 61260 192.1 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Int64UpDownCounter/Attributes/0 61561 182.6 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Int64UpDownCounter/Attributes/1 60334 192.7 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Int64UpDownCounter/Attributes/10 64114 192.2 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Float64UpDownCounter/Attributes/0 63980 181.5 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Float64UpDownCounter/Attributes/1 61138 189.6 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Float64UpDownCounter/Attributes/10 62150 196.6 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Int64Histogram/Attributes/0 51895 237.9 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Int64Histogram/Attributes/1 52554 230.2 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Int64Histogram/Attributes/10 53581 228.3 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Float64Histogram/Attributes/0 55407 221.5 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Float64Histogram/Attributes/1 50701 226.0 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/Float64Histogram/Attributes/10 50460 231.3 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/ExponentialInt64Histogram/Attributes/0 53390 221.5 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/ExponentialInt64Histogram/Attributes/1 51373 229.6 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/ExponentialInt64Histogram/Attributes/10 51154 228.5 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/ExponentialFloat64Histogram/Attributes/0 52167 230.6 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/ExponentialFloat64Histogram/Attributes/1 48598 247.6 ns/op 0 B/op 0 allocs/op BenchmarkSyncMeasure/NoView/ExemplarsEnabled/ExponentialFloat64Histogram/Attributes/10 51086 230.8 ns/op 0 B/op 0 allocs/op ```
This commit is contained in:
@@ -39,9 +39,31 @@ var viewBenchmarks = []struct {
|
||||
},
|
||||
}
|
||||
|
||||
var (
|
||||
sampledSpanContext = trace.NewSpanContext(trace.SpanContextConfig{
|
||||
SpanID: trace.SpanID{0o1},
|
||||
TraceID: trace.TraceID{0o1},
|
||||
TraceFlags: trace.FlagsSampled,
|
||||
})
|
||||
notSampledSpanContext = trace.NewSpanContext(trace.SpanContextConfig{
|
||||
SpanID: trace.SpanID{0o1},
|
||||
TraceID: trace.TraceID{0o1},
|
||||
})
|
||||
)
|
||||
|
||||
var exemplarBenchmarks = []struct {
|
||||
Name string
|
||||
SpanContext trace.SpanContext
|
||||
}{
|
||||
{"ExemplarsDisabled", notSampledSpanContext},
|
||||
{"ExemplarsEnabled", sampledSpanContext},
|
||||
}
|
||||
|
||||
func BenchmarkSyncMeasure(b *testing.B) {
|
||||
for _, bc := range viewBenchmarks {
|
||||
b.Run(bc.Name, benchSyncViews(bc.Views...))
|
||||
for _, eb := range exemplarBenchmarks {
|
||||
b.Run(fmt.Sprintf("%s/%s", bc.Name, eb.Name), benchSyncViews(eb.SpanContext, bc.Views...))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,7 +74,7 @@ func exponentialAggregationSelector(ik InstrumentKind) Aggregation {
|
||||
return AggregationDefault{}
|
||||
}
|
||||
|
||||
func benchSyncViews(views ...View) func(*testing.B) {
|
||||
func benchSyncViews(sc trace.SpanContext, views ...View) func(*testing.B) {
|
||||
rdr := NewManualReader()
|
||||
provider := NewMeterProvider(WithReader(rdr), WithView(views...))
|
||||
meter := provider.Meter("benchSyncViews")
|
||||
@@ -60,12 +82,13 @@ func benchSyncViews(views ...View) func(*testing.B) {
|
||||
expProvider := NewMeterProvider(WithReader(expRdr), WithView(views...))
|
||||
expMeter := expProvider.Meter("benchSyncViews")
|
||||
return func(b *testing.B) {
|
||||
ctx := trace.ContextWithSpanContext(b.Context(), sc)
|
||||
iCtr, err := meter.Int64Counter("int64-counter")
|
||||
assert.NoError(b, err)
|
||||
b.Run("Int64Counter", benchMeasAttrs(func() measF {
|
||||
return func(s attribute.Set) func() {
|
||||
o := []metric.AddOption{metric.WithAttributeSet(s)}
|
||||
return func() { iCtr.Add(b.Context(), 1, o...) }
|
||||
return func() { iCtr.Add(ctx, 1, o...) }
|
||||
}
|
||||
}()))
|
||||
|
||||
@@ -74,7 +97,7 @@ func benchSyncViews(views ...View) func(*testing.B) {
|
||||
b.Run("Float64Counter", benchMeasAttrs(func() measF {
|
||||
return func(s attribute.Set) func() {
|
||||
o := []metric.AddOption{metric.WithAttributeSet(s)}
|
||||
return func() { fCtr.Add(b.Context(), 1, o...) }
|
||||
return func() { fCtr.Add(ctx, 1, o...) }
|
||||
}
|
||||
}()))
|
||||
|
||||
@@ -83,7 +106,7 @@ func benchSyncViews(views ...View) func(*testing.B) {
|
||||
b.Run("Int64UpDownCounter", benchMeasAttrs(func() measF {
|
||||
return func(s attribute.Set) func() {
|
||||
o := []metric.AddOption{metric.WithAttributeSet(s)}
|
||||
return func() { iUDCtr.Add(b.Context(), 1, o...) }
|
||||
return func() { iUDCtr.Add(ctx, 1, o...) }
|
||||
}
|
||||
}()))
|
||||
|
||||
@@ -92,7 +115,7 @@ func benchSyncViews(views ...View) func(*testing.B) {
|
||||
b.Run("Float64UpDownCounter", benchMeasAttrs(func() measF {
|
||||
return func(s attribute.Set) func() {
|
||||
o := []metric.AddOption{metric.WithAttributeSet(s)}
|
||||
return func() { fUDCtr.Add(b.Context(), 1, o...) }
|
||||
return func() { fUDCtr.Add(ctx, 1, o...) }
|
||||
}
|
||||
}()))
|
||||
|
||||
@@ -101,7 +124,7 @@ func benchSyncViews(views ...View) func(*testing.B) {
|
||||
b.Run("Int64Gauge", benchMeasAttrs(func() measF {
|
||||
return func(s attribute.Set) func() {
|
||||
o := []metric.RecordOption{metric.WithAttributeSet(s)}
|
||||
return func() { iGauge.Record(b.Context(), 1, o...) }
|
||||
return func() { iGauge.Record(ctx, 1, o...) }
|
||||
}
|
||||
}()))
|
||||
|
||||
@@ -110,7 +133,7 @@ func benchSyncViews(views ...View) func(*testing.B) {
|
||||
b.Run("Float64Gauge", benchMeasAttrs(func() measF {
|
||||
return func(s attribute.Set) func() {
|
||||
o := []metric.RecordOption{metric.WithAttributeSet(s)}
|
||||
return func() { fGauge.Record(b.Context(), 1, o...) }
|
||||
return func() { fGauge.Record(ctx, 1, o...) }
|
||||
}
|
||||
}()))
|
||||
|
||||
@@ -119,7 +142,7 @@ func benchSyncViews(views ...View) func(*testing.B) {
|
||||
b.Run("Int64Histogram", benchMeasAttrs(func() measF {
|
||||
return func(s attribute.Set) func() {
|
||||
o := []metric.RecordOption{metric.WithAttributeSet(s)}
|
||||
return func() { iHist.Record(b.Context(), 1, o...) }
|
||||
return func() { iHist.Record(ctx, 1, o...) }
|
||||
}
|
||||
}()))
|
||||
|
||||
@@ -128,7 +151,7 @@ func benchSyncViews(views ...View) func(*testing.B) {
|
||||
b.Run("Float64Histogram", benchMeasAttrs(func() measF {
|
||||
return func(s attribute.Set) func() {
|
||||
o := []metric.RecordOption{metric.WithAttributeSet(s)}
|
||||
return func() { fHist.Record(b.Context(), 1, o...) }
|
||||
return func() { fHist.Record(ctx, 1, o...) }
|
||||
}
|
||||
}()))
|
||||
|
||||
@@ -137,7 +160,7 @@ func benchSyncViews(views ...View) func(*testing.B) {
|
||||
b.Run("ExponentialInt64Histogram", benchMeasAttrs(func() measF {
|
||||
return func(s attribute.Set) func() {
|
||||
o := []metric.RecordOption{metric.WithAttributeSet(s)}
|
||||
return func() { expIHist.Record(b.Context(), 1, o...) }
|
||||
return func() { expIHist.Record(ctx, 1, o...) }
|
||||
}
|
||||
}()))
|
||||
|
||||
@@ -146,7 +169,7 @@ func benchSyncViews(views ...View) func(*testing.B) {
|
||||
b.Run("ExponentialFloat64Histogram", benchMeasAttrs(func() measF {
|
||||
return func(s attribute.Set) func() {
|
||||
o := []metric.RecordOption{metric.WithAttributeSet(s)}
|
||||
return func() { expFHist.Record(b.Context(), 1, o...) }
|
||||
return func() { expFHist.Record(ctx, 1, o...) }
|
||||
}
|
||||
}()))
|
||||
}
|
||||
@@ -406,12 +429,7 @@ func benchCollectAttrs(setup func(attribute.Set) Reader) func(*testing.B) {
|
||||
}
|
||||
|
||||
func BenchmarkExemplars(b *testing.B) {
|
||||
sc := trace.NewSpanContext(trace.SpanContextConfig{
|
||||
SpanID: trace.SpanID{0o1},
|
||||
TraceID: trace.TraceID{0o1},
|
||||
TraceFlags: trace.FlagsSampled,
|
||||
})
|
||||
ctx := trace.ContextWithSpanContext(b.Context(), sc)
|
||||
ctx := trace.ContextWithSpanContext(b.Context(), sampledSpanContext)
|
||||
|
||||
attr := attribute.NewSet(
|
||||
attribute.String("user", "Alice"),
|
||||
|
||||
Reference in New Issue
Block a user