Skip to content

Commit 5d9df19

Browse files
committed
migrate serviceName
1 parent 87da5e8 commit 5d9df19

File tree

7 files changed

+64
-54
lines changed

7 files changed

+64
-54
lines changed

ddtrace/tracer/log.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ func logStartup(t *tracer) {
129129
Lang: "Go",
130130
LangVersion: runtime.Version(),
131131
Env: t.config.internalConfig.Env(),
132-
Service: t.config.serviceName,
132+
Service: t.config.internalConfig.ServiceName(),
133133
AgentURL: agentURL,
134134
Debug: t.config.internalConfig.Debug(),
135135
AnalyticsEnabled: !math.IsNaN(globalconfig.AnalyticsRate()),

ddtrace/tracer/option.go

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -155,9 +155,6 @@ type config struct {
155155
// failure.
156156
sendRetries int
157157

158-
// serviceName specifies the name of this application.
159-
serviceName string
160-
161158
// universalVersion, reports whether span service name and config service name
162159
// should match to set application version tag. False by default
163160
universalVersion bool
@@ -308,8 +305,7 @@ func newConfig(opts ...StartOption) (*config, error) {
308305
return c, fmt.Errorf("unable to look up hostname: %s", err.Error())
309306
}
310307
}
311-
if v := getDDorOtelConfig("service"); v != "" {
312-
c.serviceName = v
308+
if v := c.internalConfig.ServiceName(); v != "" {
313309
globalconfig.SetServiceName(v)
314310
}
315311
c.headerAsTags = newDynamicConfig("trace_header_tags", nil, setHeaderTags, equalSlice[string])
@@ -400,16 +396,16 @@ func newConfig(opts ...StartOption) (*config, error) {
400396
}
401397
}
402398
}
403-
if c.serviceName == "" {
399+
if c.internalConfig.ServiceName() == "" {
404400
if v, ok := globalTags["service"]; ok {
405401
if s, ok := v.(string); ok {
406-
c.serviceName = s
402+
c.internalConfig.SetServiceName(s, c.globalTags.cfgOrigin)
407403
globalconfig.SetServiceName(s)
408404
}
409405
} else {
410406
// There is not an explicit service set, default to binary name.
411407
// In this case, don't set a global service name so the contribs continue using their defaults.
412-
c.serviceName = filepath.Base(os.Args[0])
408+
c.internalConfig.SetServiceName(filepath.Base(os.Args[0]), c.globalTags.cfgOrigin)
413409
}
414410
}
415411
if c.transport == nil {
@@ -482,7 +478,7 @@ func newConfig(opts ...StartOption) (*config, error) {
482478
c.llmobs.TracerConfig = llmobsconfig.TracerConfig{
483479
DDTags: c.globalTags.get(),
484480
Env: c.internalConfig.Env(),
485-
Service: c.serviceName,
481+
Service: c.internalConfig.ServiceName(),
486482
Version: c.internalConfig.Version(),
487483
AgentURL: c.agentURL,
488484
APIKey: env.Get("DD_API_KEY"),
@@ -760,8 +756,8 @@ func statsTags(c *config) []string {
760756
}
761757
globalconfig.SetStatsTags(tags)
762758
tags = append(tags, "tracer_version:"+version.Tag)
763-
if c.serviceName != "" {
764-
tags = append(tags, "service:"+c.serviceName)
759+
if c.internalConfig.ServiceName() != "" {
760+
tags = append(tags, "service:"+c.internalConfig.ServiceName())
765761
}
766762
return tags
767763
}
@@ -863,8 +859,8 @@ func WithPropagator(p Propagator) StartOption {
863859
// WithService sets the default service name for the program.
864860
func WithService(name string) StartOption {
865861
return func(c *config) {
866-
c.serviceName = name
867-
globalconfig.SetServiceName(c.serviceName)
862+
c.internalConfig.SetServiceName(name, telemetry.OriginCode)
863+
globalconfig.SetServiceName(name)
868864
}
869865
}
870866

ddtrace/tracer/option_test.go

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,7 @@ func TestTracerOptionsDefaults(t *testing.T) {
366366
c, err := newTestConfig()
367367
assert.NoError(err)
368368
assert.Equal(float64(1), c.sampler.Rate())
369-
assert.Regexp(`tracer\.test(\.exe)?`, c.serviceName)
369+
assert.Regexp(`tracer\.test(\.exe)?`, c.internalConfig.ServiceName())
370370
assert.Equal(&url.URL{Scheme: "http", Host: "localhost:8126"}, c.agentURL)
371371
assert.Equal("localhost:8125", c.dogstatsdAddr)
372372
assert.Nil(nil, c.httpClient)
@@ -1063,7 +1063,7 @@ func TestServiceName(t *testing.T) {
10631063
WithService("api-intake"),
10641064
)
10651065
assert.NoError(err)
1066-
assert.Equal("api-intake", c.serviceName)
1066+
assert.Equal("api-intake", c.internalConfig.ServiceName())
10671067
assert.Equal("api-intake", globalconfig.ServiceName())
10681068
})
10691069

@@ -1074,7 +1074,7 @@ func TestServiceName(t *testing.T) {
10741074
c, err := newTestConfig()
10751075

10761076
assert.NoError(err)
1077-
assert.Equal("api-intake", c.serviceName)
1077+
assert.Equal("api-intake", c.internalConfig.ServiceName())
10781078
assert.Equal("api-intake", globalconfig.ServiceName())
10791079
})
10801080

@@ -1087,7 +1087,7 @@ func TestServiceName(t *testing.T) {
10871087
c, err := newTestConfig()
10881088
assert.NoError(err)
10891089

1090-
assert.Equal("api-intake", c.serviceName)
1090+
assert.Equal("api-intake", c.internalConfig.ServiceName())
10911091
assert.Equal("api-intake", globalconfig.ServiceName())
10921092
})
10931093

@@ -1096,7 +1096,7 @@ func TestServiceName(t *testing.T) {
10961096
assert := assert.New(t)
10971097
c, err := newTestConfig(WithGlobalTag("service", "api-intake"))
10981098
assert.NoError(err)
1099-
assert.Equal("api-intake", c.serviceName)
1099+
assert.Equal("api-intake", c.internalConfig.ServiceName())
11001100
assert.Equal("api-intake", globalconfig.ServiceName())
11011101
})
11021102

@@ -1109,7 +1109,7 @@ func TestServiceName(t *testing.T) {
11091109
c, err := newTestConfig()
11101110
assert.NoError(err)
11111111

1112-
assert.Equal("api-intake", c.serviceName)
1112+
assert.Equal("api-intake", c.internalConfig.ServiceName())
11131113
assert.Equal("api-intake", globalconfig.ServiceName())
11141114
})
11151115

@@ -1120,7 +1120,7 @@ func TestServiceName(t *testing.T) {
11201120
c, err := newTestConfig()
11211121
assert.NoError(err)
11221122

1123-
assert.Equal("api-intake", c.serviceName)
1123+
assert.Equal("api-intake", c.internalConfig.ServiceName())
11241124
assert.Equal("api-intake", globalconfig.ServiceName())
11251125
})
11261126

@@ -1132,47 +1132,47 @@ func TestServiceName(t *testing.T) {
11321132
globalconfig.SetServiceName("")
11331133
c, err := newTestConfig()
11341134
assert.NoError(err)
1135-
assert.Equal(c.serviceName, filepath.Base(os.Args[0]))
1135+
assert.Equal(c.internalConfig.ServiceName(), filepath.Base(os.Args[0]))
11361136
assert.Equal("", globalconfig.ServiceName())
11371137

11381138
t.Setenv("OTEL_RESOURCE_ATTRIBUTES", "service.name=testService6")
11391139
globalconfig.SetServiceName("")
11401140
c, err = newTestConfig()
11411141
assert.NoError(err)
1142-
assert.Equal(c.serviceName, "testService6")
1142+
assert.Equal(c.internalConfig.ServiceName(), "testService6")
11431143
assert.Equal("testService6", globalconfig.ServiceName())
11441144

11451145
t.Setenv("DD_TAGS", "service:testService")
11461146
globalconfig.SetServiceName("")
11471147
c, err = newTestConfig()
11481148
assert.NoError(err)
1149-
assert.Equal(c.serviceName, "testService")
1149+
assert.Equal(c.internalConfig.ServiceName(), "testService")
11501150
assert.Equal("testService", globalconfig.ServiceName())
11511151

11521152
globalconfig.SetServiceName("")
11531153
c, err = newTestConfig(WithGlobalTag("service", "testService2"))
11541154
assert.NoError(err)
1155-
assert.Equal(c.serviceName, "testService2")
1155+
assert.Equal(c.internalConfig.ServiceName(), "testService2")
11561156
assert.Equal("testService2", globalconfig.ServiceName())
11571157

11581158
t.Setenv("OTEL_SERVICE_NAME", "testService3")
11591159
globalconfig.SetServiceName("")
11601160
c, err = newTestConfig(WithGlobalTag("service", "testService2"))
11611161
assert.NoError(err)
1162-
assert.Equal(c.serviceName, "testService3")
1162+
assert.Equal(c.internalConfig.ServiceName(), "testService3")
11631163
assert.Equal("testService3", globalconfig.ServiceName())
11641164

11651165
t.Setenv("DD_SERVICE", "testService4")
11661166
globalconfig.SetServiceName("")
11671167
c, err = newTestConfig(WithGlobalTag("service", "testService2"), WithService("testService4"))
11681168
assert.NoError(err)
1169-
assert.Equal(c.serviceName, "testService4")
1169+
assert.Equal(c.internalConfig.ServiceName(), "testService4")
11701170
assert.Equal("testService4", globalconfig.ServiceName())
11711171

11721172
globalconfig.SetServiceName("")
11731173
c, err = newTestConfig(WithGlobalTag("service", "testService2"), WithService("testService5"))
11741174
assert.NoError(err)
1175-
assert.Equal(c.serviceName, "testService5")
1175+
assert.Equal(c.internalConfig.ServiceName(), "testService5")
11761176
assert.Equal("testService5", globalconfig.ServiceName())
11771177
})
11781178
}

ddtrace/tracer/telemetry.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ func startTelemetry(c *config) telemetry.Client {
4444
{Name: "send_retries", Value: c.sendRetries},
4545
{Name: "retry_interval", Value: c.internalConfig.RetryInterval()},
4646
{Name: "trace_startup_logs_enabled", Value: c.internalConfig.LogStartup()},
47-
{Name: "service", Value: c.serviceName},
47+
{Name: "service", Value: c.internalConfig.ServiceName()},
4848
{Name: "universal_version", Value: c.universalVersion},
4949
{Name: "env", Value: c.internalConfig.Env()},
5050
{Name: "version", Value: c.internalConfig.Version()},
@@ -114,7 +114,7 @@ func startTelemetry(c *config) telemetry.Client {
114114
if c.internalConfig.LogToStdout() || c.ciVisibilityAgentless {
115115
cfg.APIKey = env.Get("DD_API_KEY")
116116
}
117-
client, err := telemetry.NewClient(c.serviceName, c.internalConfig.Env(), c.internalConfig.Version(), cfg)
117+
client, err := telemetry.NewClient(c.internalConfig.ServiceName(), c.internalConfig.Env(), c.internalConfig.Version(), cfg)
118118
if err != nil {
119119
log.Debug("tracer: failed to create telemetry client: %s", err.Error())
120120
return nil

ddtrace/tracer/tracer.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ func Start(opts ...StartOption) error {
254254
cfg.AppVersion = t.config.internalConfig.Version()
255255
cfg.Env = t.config.internalConfig.Env()
256256
cfg.HTTP = t.config.httpClient
257-
cfg.ServiceName = t.config.serviceName
257+
cfg.ServiceName = t.config.internalConfig.ServiceName()
258258
if err := t.startRemoteConfig(cfg); err != nil {
259259
log.Warn("Remote config startup error: %s", err.Error())
260260
}
@@ -305,7 +305,7 @@ func storeConfig(c *config) {
305305
Language: "go",
306306
Version: version.Tag,
307307
Hostname: c.internalConfig.Hostname(),
308-
ServiceName: c.serviceName,
308+
ServiceName: c.internalConfig.ServiceName(),
309309
ServiceEnvironment: c.internalConfig.Env(),
310310
ServiceVersion: c.internalConfig.Version(),
311311
ProcessTags: processtags.GlobalTags().String(),
@@ -322,7 +322,7 @@ func storeConfig(c *config) {
322322
DeploymentEnvironmentName: c.internalConfig.Env(),
323323
HostName: c.internalConfig.Hostname(),
324324
ServiceInstanceID: globalconfig.RuntimeID(),
325-
ServiceName: c.serviceName,
325+
ServiceName: c.internalConfig.ServiceName(),
326326
ServiceVersion: c.internalConfig.Version(),
327327
TelemetrySDKLanguage: "go",
328328
TelemetrySDKVersion: version.Tag,
@@ -432,7 +432,7 @@ func newUnstartedTracer(opts ...StartOption) (t *tracer, err error) {
432432
rulesSampler.traces.setTraceSampleRules, EqualsFalseNegative)
433433
var dataStreamsProcessor *datastreams.Processor
434434
if c.internalConfig.DataStreamsMonitoringEnabled() {
435-
dataStreamsProcessor = datastreams.NewProcessor(statsd, c.internalConfig.Env(), c.serviceName, c.internalConfig.Version(), c.agentURL, c.httpClient)
435+
dataStreamsProcessor = datastreams.NewProcessor(statsd, c.internalConfig.Env(), c.internalConfig.ServiceName(), c.internalConfig.Version(), c.agentURL, c.httpClient)
436436
}
437437
var logFile *log.ManagedFile
438438
if v := c.internalConfig.LogDirectory(); v != "" {
@@ -762,7 +762,7 @@ func (t *tracer) StartSpan(operationName string, options ...StartSpanOption) *Sp
762762
}
763763
span := spanStart(operationName, options...)
764764
if span.service == "" {
765-
span.service = t.config.serviceName
765+
span.service = t.config.internalConfig.ServiceName()
766766
}
767767
span.noDebugStack = !t.config.internalConfig.DebugStack()
768768
if hostname := t.config.internalConfig.Hostname(); hostname != "" && t.config.internalConfig.ReportHostname() {
@@ -780,7 +780,7 @@ func (t *tracer) StartSpan(operationName string, options ...StartSpanOption) *Sp
780780
}
781781
}
782782
if t.config.internalConfig.Version() != "" {
783-
if t.config.universalVersion || (!t.config.universalVersion && span.service == t.config.serviceName) {
783+
if t.config.universalVersion || (!t.config.universalVersion && span.service == t.config.internalConfig.ServiceName()) {
784784
span.setMeta(ext.Version, t.config.internalConfig.Version())
785785
}
786786
}
@@ -980,7 +980,7 @@ func (t *tracer) TracerConf() TracerConf {
980980
PeerServiceMappings: t.config.peerServiceMappings,
981981
EnvTag: t.config.internalConfig.Env(),
982982
VersionTag: t.config.internalConfig.Version(),
983-
ServiceTag: t.config.serviceName,
983+
ServiceTag: t.config.internalConfig.ServiceName(),
984984
TracingAsTransport: t.config.tracingAsTransport,
985985
isLambdaFunction: t.config.internalConfig.IsLambdaFunction(),
986986
}

0 commit comments

Comments
 (0)