123456789101112131415161718192021222324252627282930 |
- package tracing
- import (
- "go.opentelemetry.io/otel/exporters/jaeger"
- "go.opentelemetry.io/otel/sdk/resource"
- tracesdk "go.opentelemetry.io/otel/sdk/trace"
- semconv "go.opentelemetry.io/otel/semconv/v1.12.0"
- )
- // NewTracerProvider returns an OpenTelemetry TracerProvider configured to use
- // the Jaeger exporter that will send spans to the provided url. The returned
- // TracerProvider will also use a Resource configured with all the information
- // about the application.
- func NewTracerProvider(serviceName, version, serviceID, url string) (*tracesdk.TracerProvider, error) {
- // Create the Jaeger exporter
- exp, err := jaeger.New(jaeger.WithCollectorEndpoint(jaeger.WithEndpoint(url)))
- if err != nil {
- return nil, err
- }
- tp := tracesdk.NewTracerProvider(
- tracesdk.WithBatcher(exp),
- tracesdk.WithResource(resource.NewWithAttributes(
- semconv.SchemaURL,
- semconv.ServiceNameKey.String(serviceName),
- semconv.ServiceVersionKey.String(version),
- semconv.ServiceInstanceIDKey.String(serviceID),
- )),
- )
- return tp, nil
- }
|