Skip to content

Commit 82b1cc0

Browse files
committed
split the span start/end benchmarks
1 parent 0b1e0b2 commit 82b1cc0

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

sdk/trace/span_test.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import (
1313

1414
"go.opentelemetry.io/otel/attribute"
1515
"go.opentelemetry.io/otel/codes"
16+
"go.opentelemetry.io/otel/trace"
1617
)
1718

1819
func TestSetStatus(t *testing.T) {
@@ -277,3 +278,20 @@ func BenchmarkRecordingSpanSetAttributes(b *testing.B) {
277278
})
278279
}
279280
}
281+
282+
func BenchmarkSpanEnd(b *testing.B) {
283+
tracer := NewTracerProvider().Tracer("")
284+
ctx := trace.ContextWithSpanContext(context.Background(), trace.SpanContext{})
285+
286+
spans := make([]trace.Span, b.N)
287+
for i := 0; i < b.N; i++ {
288+
_, span := tracer.Start(ctx, "")
289+
spans[i] = span
290+
}
291+
292+
b.ReportAllocs()
293+
b.ResetTimer()
294+
for i := 0; i < b.N; i++ {
295+
spans[i].End()
296+
}
297+
}

sdk/trace/trace_test.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2112,11 +2112,17 @@ func BenchmarkTraceStart(b *testing.B) {
21122112
tracer := NewTracerProvider().Tracer("")
21132113
ctx := trace.ContextWithSpanContext(context.Background(), trace.SpanContext{})
21142114

2115+
spans := make([]trace.Span, b.N)
21152116
b.ReportAllocs()
21162117
b.ResetTimer()
21172118

21182119
for i := 0; i < b.N; i++ {
21192120
_, span := tracer.Start(ctx, "")
2120-
span.End()
2121+
spans[i] = span
2122+
}
2123+
2124+
b.StopTimer()
2125+
for i := 0; i < b.N; i++ {
2126+
spans[i].End()
21212127
}
21222128
}

0 commit comments

Comments
 (0)