1
0
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:
David Ashpole
2025-09-25 09:55:45 -04:00
committed by GitHub
parent 2e0b5b4235
commit 97a78c1525

View File

@@ -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"),