-
-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathtelemetry_test.go
More file actions
57 lines (48 loc) · 1.5 KB
/
telemetry_test.go
File metadata and controls
57 lines (48 loc) · 1.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package telemetry
import (
"encoding/json"
"log/slog"
"os"
"testing"
"go.opentelemetry.io/otel/exporters/stdout/stdoutmetric"
"go.opentelemetry.io/otel/metric"
"go.opentelemetry.io/otel/propagation"
sdkmetric "go.opentelemetry.io/otel/sdk/metric"
tracenoop "go.opentelemetry.io/otel/trace/noop"
)
func meterProvider(t testing.TB) metric.MeterProvider {
metricsExp, err := stdoutmetric.New(
stdoutmetric.WithEncoder(json.NewEncoder(os.Stdout)),
)
if err != nil {
t.Errorf("Error creating stdout exporter: %v", err)
}
return sdkmetric.NewMeterProvider(sdkmetric.WithReader(sdkmetric.NewPeriodicReader(metricsExp)))
}
func TestNewProvider(t *testing.T) {
logger := slog.Default()
tracer := tracenoop.NewTracerProvider()
meter := meterProvider(t)
propagator := propagation.NewCompositeTextMapPropagator(
propagation.TraceContext{},
propagation.Baggage{},
)
// Test creating a new provider
provider := NewProvider(logger, tracer.Tracer("example"), meter.Meter("example"), propagator)
// Test Logger method
if provider.Logger() != logger {
t.Errorf("Expected Logger() to return the correct logger")
}
// Test Tracer method
if provider.Tracer() != tracer.Tracer("example") {
t.Errorf("Expected Tracer() to return the correct tracer")
}
// Test Meter method
if provider.Meter() != meter.Meter("example") {
t.Errorf("Expected Meter() to return the correct meter")
}
// Test Propagator method
if provider.Propagator() == nil {
t.Errorf("Expected Propagator() to be set correctly")
}
}