diff --git a/dd-java-agent-ittests/pom.xml b/dd-java-agent-ittests/pom.xml
index cfdd3bc03b6..80da6e78f4a 100644
--- a/dd-java-agent-ittests/pom.xml
+++ b/dd-java-agent-ittests/pom.xml
@@ -11,7 +11,6 @@
dd-java-agent-ittests
Datadog Java Agent integration tests
https://github.com/datadog/dd-trace-java
- pom
diff --git a/dd-java-agent-ittests/src/test/java/com/datadoghq/trace/agent/SayTracedHello.java b/dd-java-agent-ittests/src/test/java/com/datadoghq/trace/agent/SayTracedHello.java
index 0d3111f3dbc..b79b99f6b48 100644
--- a/dd-java-agent-ittests/src/test/java/com/datadoghq/trace/agent/SayTracedHello.java
+++ b/dd-java-agent-ittests/src/test/java/com/datadoghq/trace/agent/SayTracedHello.java
@@ -1,21 +1,28 @@
package com.datadoghq.trace.agent;
+import com.datadoghq.trace.DDTags;
import com.datadoghq.trace.Trace;
+import io.opentracing.tag.StringTag;
+import io.opentracing.util.GlobalTracer;
public class SayTracedHello {
- @Trace(operationName="SAY_HELLO",tagsKV={"service-name","test"})
+ @Trace(operationName="SAY_HELLO")
public static String sayHello(){
+ new StringTag(DDTags.SERVICE_NAME).set(GlobalTracer.get().activeSpan(), "test");
return "hello!";
}
- @Trace(operationName="SAY_HA",tagsKV={"service-name","test","span-type","DB"})
+ @Trace(operationName="SAY_HA")
public static String sayHA(){
+ new StringTag(DDTags.SERVICE_NAME).set(GlobalTracer.get().activeSpan(), "test");
+ new StringTag(DDTags.SPAN_TYPE).set(GlobalTracer.get().activeSpan(), "DB");
return "HA!!";
}
- @Trace(operationName="NEW_TRACE",tagsKV={"service-name","test2"})
+ @Trace(operationName="NEW_TRACE")
public static String sayHELLOsayHA(){
+ new StringTag(DDTags.SERVICE_NAME).set(GlobalTracer.get().activeSpan(), "test2");
return sayHello()+sayHA();
}
diff --git a/dd-java-agent/README.md b/dd-java-agent/README.md
index fbe34c7d523..17c9ce4e571 100644
--- a/dd-java-agent/README.md
+++ b/dd-java-agent/README.md
@@ -152,10 +152,10 @@ public void myMethod() throws InterruptedException{
By default, the operation name attached to the spawn span will be the name of the method and no meta tags will be attached.
-You can use the `operationName` and `tagsKV` attributes to customize your trace:
+You can use the `operationName` customize your trace:
```java
-@Trace(operationName="Before DB",tagsKV={"mytag","myvalue"})
+@Trace(operationName="Before DB")
public void myMethod() throws InterruptedException{
....
}
diff --git a/dd-java-agent/src/main/java/com/datadoghq/trace/agent/TraceAnnotationsManager.java b/dd-java-agent/src/main/java/com/datadoghq/trace/agent/TraceAnnotationsManager.java
index db78226df1d..a5631e383a7 100644
--- a/dd-java-agent/src/main/java/com/datadoghq/trace/agent/TraceAnnotationsManager.java
+++ b/dd-java-agent/src/main/java/com/datadoghq/trace/agent/TraceAnnotationsManager.java
@@ -172,7 +172,6 @@ public static void loadAnnotationsRules(String... scannedPackages) {
String ruleText =
CURRENT_SPAN_EXISTS+
buildSpan(javassistMethod)+
- buildWithTags(javassistMethod)+
START;
RuleScript script = createRuleScript("Start Active Span ",cc, javassistMethod, Location.create(LocationType.ENTRY,""),ruleText);
generatedScripts.append(script).append("\n");
@@ -264,26 +263,4 @@ private static String buildSpan(CtMethod javassistMethod){
}
return BUILD_SPAN+javassistMethod.getName()+CLOSE_PARENTHESIS;
}
-
- private static String buildWithTags(CtMethod javassistMethod){
- try {
- Trace trace = (Trace) javassistMethod.getAnnotation(Trace.class);
- if(trace.tagsKV()!=null && trace.tagsKV().length>0){
- if(trace.tagsKV().length%2==0){
- StringBuilder sb = new StringBuilder();
- for(int i = 0;i${dd-trace.version}
+
+
+ io.opentracing
+ opentracing-api
+ ${opentracing.version}
+
+
+ io.opentracing
+ opentracing-util
+ ${opentracing.version}
+
+
io.dropwizard
diff --git a/dd-trace-examples/dropwizard-mongo-client/src/main/java/com/example/helloworld/client/TracedClient.java b/dd-trace-examples/dropwizard-mongo-client/src/main/java/com/example/helloworld/client/TracedClient.java
index 15ae1dcc6cb..29337ddf165 100644
--- a/dd-trace-examples/dropwizard-mongo-client/src/main/java/com/example/helloworld/client/TracedClient.java
+++ b/dd-trace-examples/dropwizard-mongo-client/src/main/java/com/example/helloworld/client/TracedClient.java
@@ -3,6 +3,8 @@
import java.io.IOException;
import com.datadoghq.trace.Trace;
+import io.opentracing.tag.StringTag;
+import io.opentracing.util.GlobalTracer;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
@@ -21,8 +23,9 @@ public static void main(String[] args) throws Exception{
System.out.println("After execute");
}
- @Trace(tagsKV={"service-name","TracedClient"})
+ @Trace
private static void executeCall() throws IOException {
+ new StringTag("service-name").set(GlobalTracer.get().activeSpan(), "TracedClient");
OkHttpClient client = new OkHttpClient().newBuilder().build();
Request request = new Request.Builder()
diff --git a/dd-trace-examples/dropwizard-mongo-client/src/main/java/com/example/helloworld/resources/SimpleCrudResource.java b/dd-trace-examples/dropwizard-mongo-client/src/main/java/com/example/helloworld/resources/SimpleCrudResource.java
index a8fcb57c0d5..1e0b564ccd3 100644
--- a/dd-trace-examples/dropwizard-mongo-client/src/main/java/com/example/helloworld/resources/SimpleCrudResource.java
+++ b/dd-trace-examples/dropwizard-mongo-client/src/main/java/com/example/helloworld/resources/SimpleCrudResource.java
@@ -6,6 +6,8 @@
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
+import io.opentracing.tag.StringTag;
+import io.opentracing.util.GlobalTracer;
import org.bson.Document;
import javax.ws.rs.GET;
@@ -101,24 +103,24 @@ public List getBooks() throws InterruptedException {
}
/**
- * The beforeDB is traced using the annotation @trace
- * Tags, the operation name can be configured using tagsKV and operationName options
+ * The beforeDB is traced using the annotation @trace with a custom operationName and a custom tag.
*
* @throws InterruptedException
*/
- @Trace(operationName = "Before DB", tagsKV = {"mytag", "myvalue"})
+ @Trace(operationName = "Before DB")
public void beforeDB() throws InterruptedException {
+ new StringTag("mytag").set(GlobalTracer.get().activeSpan(), "myvalue");
Thread.sleep(333);
}
/**
- * The beforeDB is traced using the annotation @trace
- * Tags, the operation name can be configured using tagsKV and operationName options
+ * The beforeDB is traced using the annotation @trace with a custom operationName and a custom tag.
*
* @throws InterruptedException
*/
- @Trace(operationName = "After DB", tagsKV = {"mytag", "myvalue"})
+ @Trace(operationName = "After DB")
public void afterDB() throws InterruptedException {
+ new StringTag("mytag").set(GlobalTracer.get().activeSpan(), "myvalue");
Thread.sleep(111);
}