From 31c8f3279d06cffb44e0031da8b6f457234034cf Mon Sep 17 00:00:00 2001 From: Guillaume Polaert Date: Mon, 29 May 2017 17:34:48 +0200 Subject: [PATCH] Fixing 1.6 and perf issues --- dd-trace/pom.xml | 4 ++++ .../com/datadoghq/trace/DDSpanContext.java | 6 ++++-- .../java/com/datadoghq/trace/DDTracer.java | 18 +++++------------- 3 files changed, 13 insertions(+), 15 deletions(-) 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 {