Skip to content

Commit 8995a31

Browse files
authored
Refine service name sources for configuration options (#10658)
Refine service name sources for configuration options fix tests Co-authored-by: andrea.marziali <andrea.marziali@datadoghq.com>
1 parent 8d2b769 commit 8995a31

File tree

14 files changed

+57
-24
lines changed

14 files changed

+57
-24
lines changed

dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/instrumentation/decorator/DatabaseClientDecorator.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package datadog.trace.bootstrap.instrumentation.decorator;
22

33
import static datadog.trace.api.gateway.Events.EVENTS;
4+
import static datadog.trace.bootstrap.instrumentation.api.ServiceNameSources.DB_CLIENT_SPLIT_BY_HOST;
45
import static datadog.trace.bootstrap.instrumentation.api.Tags.DB_TYPE;
56

67
import datadog.appsec.api.blocking.BlockingException;
@@ -76,7 +77,7 @@ public AgentSpan onConnection(final AgentSpan span, final CONNECTION connection)
7677
span.setTag(Tags.PEER_HOSTNAME, hostName);
7778

7879
if (Config.get().isDbClientSplitByHost()) {
79-
span.setServiceName(hostName.toString(), component());
80+
span.setServiceName(hostName.toString(), DB_CLIENT_SPLIT_BY_HOST);
8081
}
8182
}
8283
}

dd-java-agent/instrumentation/aerospike-4.0/src/main/java/datadog/trace/instrumentation/aerospike4/AerospikeClientDecorator.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package datadog.trace.instrumentation.aerospike4;
22

33
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan;
4+
import static datadog.trace.bootstrap.instrumentation.api.ServiceNameSources.DB_CLIENT_SPLIT_BY_INSTANCE;
45

56
import com.aerospike.client.AerospikeClient;
67
import com.aerospike.client.cluster.Cluster;
@@ -81,7 +82,7 @@ public AgentSpan onConnection(
8182
}
8283
span.setTag(Tags.DB_INSTANCE, instanceName);
8384
if (Config.get().isDbClientSplitByInstance()) {
84-
span.setServiceName(instanceName, component());
85+
span.setServiceName(instanceName, DB_CLIENT_SPLIT_BY_INSTANCE);
8586
}
8687
}
8788

dd-java-agent/instrumentation/axis2-1.3/src/main/java/datadog/trace/instrumentation/axis2/AxisMessageDecorator.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import static datadog.trace.api.Functions.UTF8_ENCODE;
44
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.activeSpan;
55
import static datadog.trace.bootstrap.instrumentation.api.InternalSpanTypes.SOAP;
6+
import static datadog.trace.bootstrap.instrumentation.api.ServiceNameSources.HTTP_CLIENT_SPLIT_BY_DOMAIN;
67

78
import datadog.trace.api.Config;
89
import datadog.trace.api.cache.DDCache;
@@ -117,7 +118,7 @@ public void onTransport(AgentSpan span, MessageContext message) {
117118
if (null != host && !host.isEmpty()) {
118119
span.setTag(Tags.PEER_HOSTNAME, host);
119120
if (Config.get().isHttpClientSplitByDomain() && host.charAt(0) >= 'A') {
120-
span.setServiceName(host, component());
121+
span.setServiceName(host, HTTP_CLIENT_SPLIT_BY_DOMAIN);
121122
}
122123
if (port > 0) {
123124
setPeerPort(span, port);

dd-java-agent/instrumentation/jboss/jboss-modules-1.3/src/main/java/datadog/trace/instrumentation/jbossmodules/ModuleInstrumentation.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,8 +166,7 @@ public static class CaptureModuleNameAdvice {
166166
public static void afterConstruct(@Advice.This final Module module) {
167167
final String name = ModuleNameHelper.extractDeploymentName(module.getClassLoader());
168168
if (name != null && !name.isEmpty()) {
169-
ClassloaderConfigurationOverrides.withPinnedServiceName(
170-
module.getClassLoader(), name, JBOSS_MODULES);
169+
ClassloaderConfigurationOverrides.withPinnedServiceName(module.getClassLoader(), name);
171170
}
172171
}
173172
}

dd-java-agent/instrumentation/kafka/kafka-clients-0.11/src/main/java/datadog/trace/instrumentation/kafka_clients/KafkaDecorator.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import static datadog.trace.bootstrap.instrumentation.api.InstrumentationTags.OFFSET;
77
import static datadog.trace.bootstrap.instrumentation.api.InstrumentationTags.PARTITION;
88
import static datadog.trace.bootstrap.instrumentation.api.InstrumentationTags.RECORD_QUEUE_TIME_MS;
9+
import static datadog.trace.bootstrap.instrumentation.api.ServiceNameSources.MESSAGE_BROKER_SPLIT_BY_DESTINATION;
910
import static java.util.concurrent.TimeUnit.NANOSECONDS;
1011

1112
import datadog.trace.api.Config;
@@ -145,7 +146,7 @@ public void onTimeInQueue(final AgentSpan span, final ConsumerRecord record) {
145146
String topic = record.topic() == null ? "kafka" : record.topic();
146147
span.setResourceName(topic);
147148
if (Config.get().isMessageBrokerSplitByDestination()) {
148-
span.setServiceName(topic, component());
149+
span.setServiceName(topic, MESSAGE_BROKER_SPLIT_BY_DESTINATION);
149150
}
150151
}
151152
}

dd-java-agent/instrumentation/kafka/kafka-clients-3.8/src/main/java17/datadog/trace/instrumentation/kafka_clients38/KafkaDecorator.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import static datadog.trace.bootstrap.instrumentation.api.InstrumentationTags.OFFSET;
77
import static datadog.trace.bootstrap.instrumentation.api.InstrumentationTags.PARTITION;
88
import static datadog.trace.bootstrap.instrumentation.api.InstrumentationTags.RECORD_QUEUE_TIME_MS;
9+
import static datadog.trace.bootstrap.instrumentation.api.ServiceNameSources.MESSAGE_BROKER_SPLIT_BY_DESTINATION;
910
import static java.util.concurrent.TimeUnit.NANOSECONDS;
1011

1112
import datadog.trace.api.Config;
@@ -145,7 +146,7 @@ public void onTimeInQueue(final AgentSpan span, final ConsumerRecord record) {
145146
String topic = record.topic() == null ? "kafka" : record.topic();
146147
span.setResourceName(topic);
147148
if (Config.get().isMessageBrokerSplitByDestination()) {
148-
span.setServiceName(topic, component());
149+
span.setServiceName(topic, MESSAGE_BROKER_SPLIT_BY_DESTINATION);
149150
}
150151
}
151152
}

dd-java-agent/instrumentation/kafka/kafka-streams-0.11/src/main/java/datadog/trace/instrumentation/kafka_streams/KafkaStreamsDecorator.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import static datadog.trace.bootstrap.instrumentation.api.InstrumentationTags.OFFSET;
44
import static datadog.trace.bootstrap.instrumentation.api.InstrumentationTags.PARTITION;
55
import static datadog.trace.bootstrap.instrumentation.api.InstrumentationTags.PROCESSOR_NAME;
6+
import static datadog.trace.bootstrap.instrumentation.api.ServiceNameSources.MESSAGE_BROKER_SPLIT_BY_DESTINATION;
67

78
import datadog.trace.api.Config;
89
import datadog.trace.api.Functions;
@@ -128,7 +129,7 @@ public void onTimeInQueue(final AgentSpan span, final String topic2) {
128129
String topic = topic2 == null ? "kafka" : topic2;
129130
span.setResourceName(topic);
130131
if (Config.get().isMessageBrokerSplitByDestination()) {
131-
span.setServiceName(topic, component());
132+
span.setServiceName(topic, MESSAGE_BROKER_SPLIT_BY_DESTINATION);
132133
}
133134
}
134135
}

dd-java-agent/instrumentation/liberty/liberty-20.0/src/main/java/datadog/trace/instrumentation/liberty20/ThreadContextClassloaderInstrumentation.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public static class ThreadContextClassloaderAdvice {
4242
public static void afterConstruct(@Advice.This ThreadContextClassLoader self) {
4343
final String name = BundleNameHelper.extractDeploymentName(self);
4444
if (name != null && !name.isEmpty()) {
45-
ClassloaderConfigurationOverrides.withPinnedServiceName(self, name, LIBERTY);
45+
ClassloaderConfigurationOverrides.withPinnedServiceName(self, name);
4646
}
4747
}
4848
}

dd-java-agent/instrumentation/rabbitmq-amqp-2.7/src/main/java/datadog/trace/instrumentation/rabbitmq/amqp/RabbitDecorator.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import static datadog.trace.bootstrap.instrumentation.api.InstrumentationTags.AMQP_QUEUE;
1212
import static datadog.trace.bootstrap.instrumentation.api.InstrumentationTags.AMQP_ROUTING_KEY;
1313
import static datadog.trace.bootstrap.instrumentation.api.InstrumentationTags.RECORD_QUEUE_TIME_MS;
14+
import static datadog.trace.bootstrap.instrumentation.api.ServiceNameSources.MESSAGE_BROKER_SPLIT_BY_DESTINATION;
1415

1516
import com.rabbitmq.client.AMQP;
1617
import com.rabbitmq.client.Command;
@@ -159,7 +160,7 @@ public void onCommand(final AgentSpan span, final Command command) {
159160
public void onTimeInQueue(final AgentSpan span, final String queue, final byte[] body) {
160161
String normalizedQueueName = normalizeQueueName(queue);
161162
if (Config.get().isMessageBrokerSplitByDestination()) {
162-
span.setServiceName(normalizedQueueName, component());
163+
span.setServiceName(normalizedQueueName, MESSAGE_BROKER_SPLIT_BY_DESTINATION);
163164
}
164165
span.setResourceName("amqp.deliver " + normalizedQueueName);
165166
if (null != body) {

dd-java-agent/instrumentation/rabbitmq-amqp-2.7/src/test/groovy/RabbitMQTest.groovy

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import static datadog.trace.bootstrap.instrumentation.api.ServiceNameSources.MESSAGE_BROKER_SPLIT_BY_DESTINATION
2+
13
import com.rabbitmq.client.AMQP
24
import com.rabbitmq.client.Channel
35
import com.rabbitmq.client.ConnectionFactory
@@ -773,6 +775,7 @@ abstract class RabbitMQTestBase extends VersionedNamingTestBase {
773775
measured true
774776
775777
final boolean isV0 = version() == 0
778+
final boolean isSplitByDestination = splitByDestination()
776779
777780
tags {
778781
"$Tags.COMPONENT" "rabbitmq-amqp"
@@ -829,7 +832,9 @@ abstract class RabbitMQTestBase extends VersionedNamingTestBase {
829832
if ({ isDataStreamsEnabled() }) {
830833
"$DDTags.PATHWAY_HASH" { String }
831834
}
832-
if (isV0) {
835+
if (distributedRootSpan && isSplitByDestination) {
836+
serviceNameSource MESSAGE_BROKER_SPLIT_BY_DESTINATION
837+
} else if (isV0) {
833838
// in v0 the service name is always set to DD_SERVICE while it should just be unset as v1
834839
// this is a buggy behaviour that could not be easily fixed.
835840
serviceNameSource "rabbitmq-amqp"

0 commit comments

Comments
 (0)