Skip to content

Commit

Permalink
trace: provide appName and version from Config (#1893)
Browse files Browse the repository at this point in the history
Signed-off-by: Dan Laine <daniel.laine@avalabs.org>
Signed-off-by: Stephen Buttolph <stephen@avalabs.org>
Co-authored-by: Dan Laine <daniel.laine@avalabs.org>
Co-authored-by: Stephen Buttolph <stephen@avalabs.org>
  • Loading branch information
3 people committed Sep 22, 2023
1 parent aad3067 commit 3c9a2e6
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 6 deletions.
3 changes: 3 additions & 0 deletions config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ import (
"github.com/ava-labs/avalanchego/utils/set"
"github.com/ava-labs/avalanchego/utils/storage"
"github.com/ava-labs/avalanchego/utils/timer"
"github.com/ava-labs/avalanchego/version"
"github.com/ava-labs/avalanchego/vms/platformvm/reward"
"github.com/ava-labs/avalanchego/vms/proposervm"
)
Expand Down Expand Up @@ -1248,6 +1249,8 @@ func getTraceConfig(v *viper.Viper) (trace.Config, error) {
},
Enabled: true,
TraceSampleRate: v.GetFloat64(TracingSampleRateKey),
AppName: constants.AppName,
Version: version.Current.String(),
}, nil
}

Expand Down
12 changes: 6 additions & 6 deletions trace/tracer.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@ import (

sdktrace "go.opentelemetry.io/otel/sdk/trace"
semconv "go.opentelemetry.io/otel/semconv/v1.4.0"

"github.com/ava-labs/avalanchego/utils/constants"
"github.com/ava-labs/avalanchego/version"
)

const (
Expand All @@ -36,6 +33,9 @@ type Config struct {
// If >= 1 always samples.
// If <= 0 never samples.
TraceSampleRate float64 `json:"traceSampleRate"`

AppName string `json:"appName"`
Version string `json:"version"`
}

type Tracer interface {
Expand Down Expand Up @@ -68,15 +68,15 @@ func New(config Config) (Tracer, error) {
tracerProviderOpts := []sdktrace.TracerProviderOption{
sdktrace.WithBatcher(exporter, sdktrace.WithExportTimeout(tracerExportTimeout)),
sdktrace.WithResource(resource.NewWithAttributes(semconv.SchemaURL,
attribute.Stringer("version", version.Current),
semconv.ServiceNameKey.String(constants.AppName),
attribute.String("version", config.Version),
semconv.ServiceNameKey.String(config.AppName),
)),
sdktrace.WithSampler(sdktrace.TraceIDRatioBased(config.TraceSampleRate)),
}

tracerProvider := sdktrace.NewTracerProvider(tracerProviderOpts...)
return &tracer{
Tracer: tracerProvider.Tracer(constants.AppName),
Tracer: tracerProvider.Tracer(config.AppName),
tp: tracerProvider,
}, nil
}

0 comments on commit 3c9a2e6

Please sign in to comment.