diff --git a/dd-trace/pom.xml b/dd-trace/pom.xml
index 8a13b4d07a..223fa74296 100644
--- a/dd-trace/pom.xml
+++ b/dd-trace/pom.xml
@@ -13,6 +13,10 @@
jar
dd-trace
+
+ 1.6
+
+
diff --git a/dd-trace/src/main/java/com/datadoghq/trace/DDSpanContext.java b/dd-trace/src/main/java/com/datadoghq/trace/DDSpanContext.java
index 42f0e34257..7056a9db25 100644
--- a/dd-trace/src/main/java/com/datadoghq/trace/DDSpanContext.java
+++ b/dd-trace/src/main/java/com/datadoghq/trace/DDSpanContext.java
@@ -175,8 +175,10 @@ public class DDSpanContext implements io.opentracing.SpanContext {
this.tags.put(tag, value);
//Call decorators
- for (DDSpanContextDecorator decorator : tracer.getSpanContextDecorators(tag)) {
- decorator.afterSetTag(this, tag, value);
+ if (tracer.getSpanContextDecorators(tag) != null) {
+ for (DDSpanContextDecorator decorator : tracer.getSpanContextDecorators(tag)) {
+ decorator.afterSetTag(this, tag, value);
+ }
}
//Error management
if (Tags.ERROR.getKey().equals(tag) && Boolean.TRUE.equals(value)) {
diff --git a/dd-trace/src/main/java/com/datadoghq/trace/DDTracer.java b/dd-trace/src/main/java/com/datadoghq/trace/DDTracer.java
index 896d51f04a..da5c2fbba0 100644
--- a/dd-trace/src/main/java/com/datadoghq/trace/DDTracer.java
+++ b/dd-trace/src/main/java/com/datadoghq/trace/DDTracer.java
@@ -38,7 +38,7 @@ public class DDTracer implements io.opentracing.Tracer {
/**
* Span context decorators
*/
- private final Map> spanContextDecorators = new HashMap<>();
+ private final Map> spanContextDecorators = new HashMap>();
private final static Logger logger = LoggerFactory.getLogger(DDTracer.class);
@@ -78,12 +78,8 @@ public class DDTracer implements io.opentracing.Tracer {
* @return the list of span context decorators
*/
public List getSpanContextDecorators(String tag) {
- List decorators = Collections.emptyList();
- String key = getHashKey(tag);
- if (spanContextDecorators.containsKey(key)) {
- decorators = Collections.unmodifiableList(spanContextDecorators.get(key));
- }
+ List decorators = spanContextDecorators.get(tag);
return decorators;
}
@@ -94,15 +90,14 @@ public class DDTracer implements io.opentracing.Tracer {
* @param decorator The decorator in the list
*/
public void addDecorator(DDSpanContextDecorator decorator) {
- String key = getHashKey(decorator.getMatchingTag());
- List list = spanContextDecorators.get(key);
+ List list = spanContextDecorators.get(decorator.getMatchingTag());
if (list == null) {
- list = new ArrayList<>();
+ list = new ArrayList();
}
list.add(decorator);
- spanContextDecorators.put(key, list);
+ spanContextDecorators.put(decorator.getMatchingTag(), list);
}
@@ -327,9 +322,6 @@ public class DDTracer implements io.opentracing.Tracer {
}
- private String getHashKey(String tag) {
- return tag;
- }
private static class CodecRegistry {