fork
Configure Feed
Select the types of activity you want to include in your feed.
Live video on the AT Protocol
fork
Configure Feed
Select the types of activity you want to include in your feed.
1package cmd
2
3import (
4 "context"
5 "time"
6
7 "go.opentelemetry.io/otel"
8 "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc"
9 "go.opentelemetry.io/otel/sdk/trace"
10)
11
12// setupOTelSDK bootstraps the OpenTelemetry pipeline.
13// If it does not return an error, make sure to call shutdown for proper cleanup.
14func startTelemetry(ctx context.Context, endpoint string) error {
15 tracerProvider, err := newTracerProvider(ctx, endpoint)
16 if err != nil {
17 return err
18 }
19
20 otel.SetTracerProvider(tracerProvider)
21
22 <-ctx.Done()
23
24 return tracerProvider.Shutdown(ctx)
25}
26
27func newTracerProvider(ctx context.Context, endpoint string) (*trace.TracerProvider, error) {
28 exp, err := otlptracegrpc.New(ctx, otlptracegrpc.WithEndpointURL(endpoint))
29 if err != nil {
30 return nil, err
31 }
32
33 tracerProvider := trace.NewTracerProvider(
34 trace.WithBatcher(exp,
35 trace.WithBatchTimeout(time.Second)),
36 )
37 return tracerProvider, nil
38}