mirror of
https://github.com/open-telemetry/opentelemetry-go.git
synced 2025-03-25 21:28:58 +02:00
Add benchmark retrieving a new logger (#5548)
This adds a benchmark to create a logger from a logger provider. Related: #5054. ``` BenchmarkLoggerProviderLogger-10 3145390 548.8 ns/op 330 B/op 1 allocs/op ```
This commit is contained in:
parent
12f0db5215
commit
acb2471488
@ -5,6 +5,7 @@ package log // import "go.opentelemetry.io/otel/sdk/log"
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"strconv"
|
||||
"sync"
|
||||
"testing"
|
||||
@ -17,6 +18,7 @@ import (
|
||||
"go.opentelemetry.io/otel"
|
||||
"go.opentelemetry.io/otel/attribute"
|
||||
"go.opentelemetry.io/otel/internal/global"
|
||||
"go.opentelemetry.io/otel/log"
|
||||
"go.opentelemetry.io/otel/log/noop"
|
||||
"go.opentelemetry.io/otel/sdk/resource"
|
||||
)
|
||||
@ -287,3 +289,22 @@ func TestLoggerProviderForceFlush(t *testing.T) {
|
||||
assert.ErrorIs(t, p.ForceFlush(ctx), assert.AnError, "processor error not returned")
|
||||
})
|
||||
}
|
||||
|
||||
func BenchmarkLoggerProviderLogger(b *testing.B) {
|
||||
p := NewLoggerProvider()
|
||||
names := make([]string, b.N)
|
||||
for i := 0; i < b.N; i++ {
|
||||
names[i] = fmt.Sprintf("%d logger", i)
|
||||
}
|
||||
|
||||
b.ResetTimer()
|
||||
b.ReportAllocs()
|
||||
|
||||
loggers := make([]log.Logger, b.N)
|
||||
for i := 0; i < b.N; i++ {
|
||||
loggers[i] = p.Logger(names[i])
|
||||
}
|
||||
|
||||
b.StopTimer()
|
||||
loggers[0].Enabled(context.Background(), log.Record{})
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user