Skip to content

Commit

Permalink
feat: improve otel with resource (#1009)
Browse files Browse the repository at this point in the history
improve otel with resource
  • Loading branch information
sysulq authored Oct 11, 2023
1 parent 1dd85da commit e14a42c
Showing 1 changed file with 19 additions and 6 deletions.
25 changes: 19 additions & 6 deletions pkg/core/xtrace/jaeger/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,16 @@
package jaeger

import (
"context"

"github.com/douyu/jupiter/pkg"
"github.com/douyu/jupiter/pkg/conf"
"github.com/douyu/jupiter/pkg/xlog"
"go.opentelemetry.io/otel"
"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"
semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
"go.opentelemetry.io/otel/trace"
)

Expand Down Expand Up @@ -55,19 +57,30 @@ func (config *Config) Build() trace.TracerProvider {
// Create the Jaeger exporter
exp, err := jaeger.New(jaeger.WithCollectorEndpoint(jaeger.WithEndpoint(config.Endpoint)))
if err != nil {
xlog.Jupiter().Panic("new jaeger", xlog.FieldMod("build"), xlog.FieldErr(err))
xlog.Jupiter().Panic("new jaeger", xlog.FieldErr(err))
return nil
}

resource, err := resource.New(context.TODO(),
resource.WithHost(),
resource.WithFromEnv(),
resource.WithTelemetrySDK(),
resource.WithAttributes(
semconv.ServiceNameKey.String(config.Name),
),
)
if err != nil {
xlog.Jupiter().Panic("new resource", xlog.FieldErr(err))
return nil
}

tp := tracesdk.NewTracerProvider(
// Set the sampling rate based on the parent span to 100%
tracesdk.WithSampler(tracesdk.ParentBased(tracesdk.TraceIDRatioBased(config.Sampler))),
// Always be sure to batch in production.
tracesdk.WithBatcher(exp),
// Record information about this application in an Resource.
tracesdk.WithResource(resource.NewSchemaless(
semconv.TelemetrySDKLanguageGo,
semconv.ServiceNameKey.String(config.Name),
)),
tracesdk.WithResource(resource),
)
otel.SetTracerProvider(tp)
return tp
Expand Down

0 comments on commit e14a42c

Please sign in to comment.