Skip to content

Commit 293fd6b

Browse files
committed
Set smarter default service name
1 parent 24809fe commit 293fd6b

File tree

3 files changed

+22
-8
lines changed

3 files changed

+22
-8
lines changed

src/Datadog.Tracer.IntegrationTests/SendTracesToAgent.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public async void MinimalSpan()
5959
AssertSpanEqual(span, trace.Single());
6060

6161
var serviceInfo = _httpRecorder.Services.Single().ServiceInfos().Single();
62-
Assert.Equal(Constants.UnkownService, serviceInfo.ServiceName);
62+
Assert.Equal("Datadog.Tracer", serviceInfo.ServiceName);
6363
Assert.Equal(Constants.UnkownApp, serviceInfo.App);
6464
Assert.Equal(Constants.WebAppType, serviceInfo.AppType);
6565
}

src/Datadog.Tracer.Tests/TracerTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public class TracerTests
1515
public void Ctor_DefaultValues_ShouldSendDefaultServiceInfo()
1616
{
1717
var tracer = new Tracer(_agentWriter.Object);
18-
_agentWriter.Verify(x => x.WriteServiceInfo(It.Is<ServiceInfo>(y => y.ServiceName == Constants.UnkownService && y.AppType == Constants.WebAppType && y.App == Constants.UnkownApp)), Times.Once);
18+
_agentWriter.Verify(x => x.WriteServiceInfo(It.Is<ServiceInfo>(y => y.ServiceName == "Datadog.Tracer" && y.AppType == Constants.WebAppType && y.App == Constants.UnkownApp)), Times.Once);
1919
}
2020

2121
[Fact]
@@ -26,7 +26,7 @@ public void BuildSpan_NoParameter_DefaultParameters()
2626
var builder = tracer.BuildSpan("Op1");
2727
var span = (Span)builder.Start();
2828

29-
Assert.Equal(Constants.UnkownService, span.ServiceName);
29+
Assert.Equal("Datadog.Tracer", span.ServiceName);
3030
Assert.Equal("Op1", span.OperationName);
3131
}
3232

src/Datadog.Tracer/Tracer.cs

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using OpenTracing.Propagation;
33
using System;
44
using System.Collections.Generic;
5+
using System.Reflection;
56
using System.Threading;
67

78
namespace Datadog.Tracer
@@ -18,13 +19,13 @@ internal class Tracer : ITracer, IDatadogTracer
1819
public Tracer(IAgentWriter agentWriter, List<ServiceInfo> serviceInfo = null, string defaultServiceName = null)
1920
{
2021
_agentWriter = agentWriter;
21-
// TODO:bertrand be smarter about the service name
22-
_defaultServiceName = defaultServiceName ?? Constants.UnkownService;
23-
if (_defaultServiceName == Constants.UnkownService)
22+
_defaultServiceName = defaultServiceName;
23+
if (_defaultServiceName == null)
2424
{
25-
_services[Constants.UnkownService] = new ServiceInfo
25+
_defaultServiceName = GetExecutingAssemblyName() ?? Constants.UnkownService;
26+
_services[_defaultServiceName] = new ServiceInfo
2627
{
27-
ServiceName = Constants.UnkownService,
28+
ServiceName = _defaultServiceName,
2829
App = Constants.UnkownApp,
2930
AppType = Constants.WebAppType,
3031
};
@@ -42,6 +43,19 @@ public Tracer(IAgentWriter agentWriter, List<ServiceInfo> serviceInfo = null, st
4243
}
4344
}
4445

46+
private string GetExecutingAssemblyName()
47+
{
48+
try
49+
{
50+
var name = Assembly.GetExecutingAssembly().GetName();
51+
return name.Name;
52+
}
53+
catch
54+
{
55+
return null;
56+
}
57+
}
58+
4559
public ISpanBuilder BuildSpan(string operationName)
4660
{
4761
return new SpanBuilder(this, operationName);

0 commit comments

Comments
 (0)