diff --git a/cmd/defaults.yaml b/cmd/defaults.yaml index 71ad22a4f9..2eadfa77fd 100644 --- a/cmd/defaults.yaml +++ b/cmd/defaults.yaml @@ -14,6 +14,7 @@ Tracing: # for type 'otel' is used for standard [open telemetry](https://opentelemetry.io) # Fraction: 1.0 # Endpoint: 'otel.collector.endpoint' + # ServiceName: 'ZITADEL' # Name of the service in traces # # type 'log' or '' disables tracing # @@ -24,6 +25,8 @@ Tracing: Fraction: 1.0 # ZITADEL_TRACING_FRACTION # The endpoint of the otel collector endpoint Endpoint: "" #ZITADEL_TRACING_ENDPOINT + # The name of the service in traces + ServiceName: "ZITADEL" #ZITADEL_TRACING_SERVICENAME # Profiler enables capturing profiling data (CPU, Memory, ...) for performance analysis Profiler: diff --git a/internal/telemetry/metrics/otel/open_telemetry.go b/internal/telemetry/metrics/otel/open_telemetry.go index 21a45699f1..5335e65234 100644 --- a/internal/telemetry/metrics/otel/open_telemetry.go +++ b/internal/telemetry/metrics/otel/open_telemetry.go @@ -27,7 +27,7 @@ type Metrics struct { } func NewMetrics(meterName string) (metrics.Metrics, error) { - resource, err := otel_resource.ResourceWithService() + resource, err := otel_resource.ResourceWithService("ZITADEL") if err != nil { return nil, err } diff --git a/internal/telemetry/otel/resource.go b/internal/telemetry/otel/resource.go index 7a3f249191..c43315e24f 100644 --- a/internal/telemetry/otel/resource.go +++ b/internal/telemetry/otel/resource.go @@ -8,9 +8,9 @@ import ( "github.com/zitadel/zitadel/cmd/build" ) -func ResourceWithService() (*resource.Resource, error) { +func ResourceWithService(serviceName string) (*resource.Resource, error) { attributes := []attribute.KeyValue{ - semconv.ServiceNameKey.String("ZITADEL"), + semconv.ServiceNameKey.String(serviceName), } if build.Version() != "" { attributes = append(attributes, semconv.ServiceVersionKey.String(build.Version())) diff --git a/internal/telemetry/tracing/google/google_tracer.go b/internal/telemetry/tracing/google/google_tracer.go index 8d15bb18fb..5e8008bace 100644 --- a/internal/telemetry/tracing/google/google_tracer.go +++ b/internal/telemetry/tracing/google/google_tracer.go @@ -9,13 +9,15 @@ import ( ) type Config struct { - ProjectID string - Fraction float64 + ProjectID string + Fraction float64 + ServiceName string } func NewTracer(rawConfig map[string]interface{}) (err error) { c := new(Config) c.ProjectID, _ = rawConfig["projectid"].(string) + c.ServiceName, _ = rawConfig["servicename"].(string) c.Fraction, err = otel.FractionFromConfig(rawConfig["fraction"]) if err != nil { return err @@ -34,6 +36,6 @@ func (c *Config) NewTracer() error { return err } - tracing.T, err = otel.NewTracer(sampler, exporter) + tracing.T, err = otel.NewTracer(sampler, exporter, c.ServiceName) return err } diff --git a/internal/telemetry/tracing/log/config.go b/internal/telemetry/tracing/log/config.go index 862e14624c..9713c64622 100644 --- a/internal/telemetry/tracing/log/config.go +++ b/internal/telemetry/tracing/log/config.go @@ -9,12 +9,14 @@ import ( ) type Config struct { - Fraction float64 + Fraction float64 + ServiceName string } func NewTracer(rawConfig map[string]interface{}) (err error) { c := new(Config) c.Fraction, err = otel.FractionFromConfig(rawConfig["fraction"]) + c.ServiceName, _ = rawConfig["servicename"].(string) if err != nil { return err } @@ -32,6 +34,6 @@ func (c *Config) NewTracer() error { return err } - tracing.T, err = otel.NewTracer(sampler, exporter) + tracing.T, err = otel.NewTracer(sampler, exporter, c.ServiceName) return err } diff --git a/internal/telemetry/tracing/otel/config.go b/internal/telemetry/tracing/otel/config.go index 5b417359b9..ee9a7b4aa1 100644 --- a/internal/telemetry/tracing/otel/config.go +++ b/internal/telemetry/tracing/otel/config.go @@ -13,13 +13,15 @@ import ( ) type Config struct { - Fraction float64 - Endpoint string + Fraction float64 + Endpoint string + ServiceName string } func NewTracerFromConfig(rawConfig map[string]interface{}) (err error) { c := new(Config) c.Endpoint, _ = rawConfig["endpoint"].(string) + c.ServiceName, _ = rawConfig["servicename"].(string) c.Fraction, err = FractionFromConfig(rawConfig["fraction"]) if err != nil { return err @@ -54,7 +56,7 @@ func (c *Config) NewTracer() error { return err } - tracing.T, err = NewTracer(sampler, exporter) + tracing.T, err = NewTracer(sampler, exporter, c.ServiceName) return err } diff --git a/internal/telemetry/tracing/otel/open_telemetry.go b/internal/telemetry/tracing/otel/open_telemetry.go index 4a3f137859..1318c2efed 100644 --- a/internal/telemetry/tracing/otel/open_telemetry.go +++ b/internal/telemetry/tracing/otel/open_telemetry.go @@ -18,8 +18,8 @@ type Tracer struct { sampler sdk_trace.Sampler } -func NewTracer(sampler sdk_trace.Sampler, exporter sdk_trace.SpanExporter) (*Tracer, error) { - resource, err := otel_resource.ResourceWithService() +func NewTracer(sampler sdk_trace.Sampler, exporter sdk_trace.SpanExporter, serviceName string) (*Tracer, error) { + resource, err := otel_resource.ResourceWithService(serviceName) if err != nil { return nil, err }