Skip to content

Commit 2886f35

Browse files
committed
docs(exporters/autoexport): add example file
Signed-off-by: thomasgouveia <[email protected]>
1 parent 1a6327a commit 2886f35

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

exporters/autoexport/example_test.go

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
package autoexport_test
5+
6+
import (
7+
"context"
8+
"os"
9+
10+
"go.opentelemetry.io/contrib/exporters/autoexport"
11+
"go.opentelemetry.io/otel/sdk/log"
12+
"go.opentelemetry.io/otel/sdk/metric"
13+
"go.opentelemetry.io/otel/sdk/trace"
14+
)
15+
16+
func Example_complete() {
17+
ctx := context.Background()
18+
19+
// Only for demonstration purposes.
20+
_ = os.Setenv("OTEL_LOGS_EXPORTER", "otlp,console")
21+
_ = os.Setenv("OTEL_TRACES_EXPORTER", "otlp")
22+
_ = os.Setenv("OTEL_METRICS_EXPORTER", "otlp")
23+
24+
// Consider checking errors in your production code.
25+
logExporters, _ := autoexport.NewLogExporters(ctx)
26+
metricReaders, _ := autoexport.NewMetricReaders(ctx)
27+
traceExporters, _ := autoexport.NewSpanExporters(ctx)
28+
29+
// Now that your exporters and readers are initialized,
30+
// you can simply initialize the different TracerProvider,
31+
// LoggerProvider and MeterProvider.
32+
// https://opentelemetry.io/docs/languages/go/getting-started/#initialize-the-opentelemetry-sdk
33+
34+
// Traces
35+
var tracerProviderOpts []trace.TracerProviderOption
36+
for _, traceExporter := range traceExporters {
37+
tracerProviderOpts = append(tracerProviderOpts, trace.WithBatcher(traceExporter))
38+
}
39+
_ = trace.NewTracerProvider(tracerProviderOpts...)
40+
41+
// Metrics
42+
var meterProviderOpts []metric.Option
43+
for _, metricReader := range metricReaders {
44+
meterProviderOpts = append(meterProviderOpts, metric.WithReader(metricReader))
45+
}
46+
_ = metric.NewMeterProvider(meterProviderOpts...)
47+
48+
// Logs
49+
var loggerProviderOpts []log.LoggerProviderOption
50+
for _, logExporter := range logExporters {
51+
loggerProviderOpts = append(loggerProviderOpts, log.WithProcessor(
52+
log.NewBatchProcessor(logExporter),
53+
))
54+
}
55+
_ = log.NewLoggerProvider(loggerProviderOpts...)
56+
}

0 commit comments

Comments
 (0)