Split up MessagePropertyTextMap
This commit is contained in:
parent
0107551c0e
commit
30367c79cf
|
@ -5,7 +5,7 @@ import static datadog.trace.instrumentation.api.AgentTracer.activateSpan;
|
||||||
import static datadog.trace.instrumentation.api.AgentTracer.propagate;
|
import static datadog.trace.instrumentation.api.AgentTracer.propagate;
|
||||||
import static datadog.trace.instrumentation.api.AgentTracer.startSpan;
|
import static datadog.trace.instrumentation.api.AgentTracer.startSpan;
|
||||||
import static datadog.trace.instrumentation.jms.JMSDecorator.CONSUMER_DECORATE;
|
import static datadog.trace.instrumentation.jms.JMSDecorator.CONSUMER_DECORATE;
|
||||||
import static datadog.trace.instrumentation.jms.MessagePropertyTextMap.GETTER;
|
import static datadog.trace.instrumentation.jms.MessageExtractAdapter.GETTER;
|
||||||
import static net.bytebuddy.matcher.ElementMatchers.isInterface;
|
import static net.bytebuddy.matcher.ElementMatchers.isInterface;
|
||||||
import static net.bytebuddy.matcher.ElementMatchers.isPublic;
|
import static net.bytebuddy.matcher.ElementMatchers.isPublic;
|
||||||
import static net.bytebuddy.matcher.ElementMatchers.named;
|
import static net.bytebuddy.matcher.ElementMatchers.named;
|
||||||
|
@ -48,7 +48,8 @@ public final class JMSMessageConsumerInstrumentation extends Instrumenter.Defaul
|
||||||
packageName + ".JMSDecorator",
|
packageName + ".JMSDecorator",
|
||||||
packageName + ".JMSDecorator$1",
|
packageName + ".JMSDecorator$1",
|
||||||
packageName + ".JMSDecorator$2",
|
packageName + ".JMSDecorator$2",
|
||||||
packageName + ".MessagePropertyTextMap",
|
packageName + ".MessageExtractAdapter",
|
||||||
|
packageName + ".MessageInjectAdapter"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ import static datadog.trace.instrumentation.api.AgentTracer.activateSpan;
|
||||||
import static datadog.trace.instrumentation.api.AgentTracer.propagate;
|
import static datadog.trace.instrumentation.api.AgentTracer.propagate;
|
||||||
import static datadog.trace.instrumentation.api.AgentTracer.startSpan;
|
import static datadog.trace.instrumentation.api.AgentTracer.startSpan;
|
||||||
import static datadog.trace.instrumentation.jms.JMSDecorator.CONSUMER_DECORATE;
|
import static datadog.trace.instrumentation.jms.JMSDecorator.CONSUMER_DECORATE;
|
||||||
import static datadog.trace.instrumentation.jms.MessagePropertyTextMap.GETTER;
|
import static datadog.trace.instrumentation.jms.MessageExtractAdapter.GETTER;
|
||||||
import static java.util.Collections.singletonMap;
|
import static java.util.Collections.singletonMap;
|
||||||
import static net.bytebuddy.matcher.ElementMatchers.isInterface;
|
import static net.bytebuddy.matcher.ElementMatchers.isInterface;
|
||||||
import static net.bytebuddy.matcher.ElementMatchers.isPublic;
|
import static net.bytebuddy.matcher.ElementMatchers.isPublic;
|
||||||
|
@ -46,7 +46,8 @@ public final class JMSMessageListenerInstrumentation extends Instrumenter.Defaul
|
||||||
packageName + ".JMSDecorator",
|
packageName + ".JMSDecorator",
|
||||||
packageName + ".JMSDecorator$1",
|
packageName + ".JMSDecorator$1",
|
||||||
packageName + ".JMSDecorator$2",
|
packageName + ".JMSDecorator$2",
|
||||||
packageName + ".MessagePropertyTextMap",
|
packageName + ".MessageExtractAdapter",
|
||||||
|
packageName + ".MessageInjectAdapter"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ import static datadog.trace.instrumentation.api.AgentTracer.activateSpan;
|
||||||
import static datadog.trace.instrumentation.api.AgentTracer.propagate;
|
import static datadog.trace.instrumentation.api.AgentTracer.propagate;
|
||||||
import static datadog.trace.instrumentation.api.AgentTracer.startSpan;
|
import static datadog.trace.instrumentation.api.AgentTracer.startSpan;
|
||||||
import static datadog.trace.instrumentation.jms.JMSDecorator.PRODUCER_DECORATE;
|
import static datadog.trace.instrumentation.jms.JMSDecorator.PRODUCER_DECORATE;
|
||||||
import static datadog.trace.instrumentation.jms.MessagePropertyTextMap.SETTER;
|
import static datadog.trace.instrumentation.jms.MessageInjectAdapter.SETTER;
|
||||||
import static net.bytebuddy.matcher.ElementMatchers.isInterface;
|
import static net.bytebuddy.matcher.ElementMatchers.isInterface;
|
||||||
import static net.bytebuddy.matcher.ElementMatchers.isPublic;
|
import static net.bytebuddy.matcher.ElementMatchers.isPublic;
|
||||||
import static net.bytebuddy.matcher.ElementMatchers.named;
|
import static net.bytebuddy.matcher.ElementMatchers.named;
|
||||||
|
@ -48,7 +48,8 @@ public final class JMSMessageProducerInstrumentation extends Instrumenter.Defaul
|
||||||
packageName + ".JMSDecorator",
|
packageName + ".JMSDecorator",
|
||||||
packageName + ".JMSDecorator$1",
|
packageName + ".JMSDecorator$1",
|
||||||
packageName + ".JMSDecorator$2",
|
packageName + ".JMSDecorator$2",
|
||||||
packageName + ".MessagePropertyTextMap",
|
packageName + ".MessageExtractAdapter",
|
||||||
|
packageName + ".MessageInjectAdapter"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,13 +9,9 @@ import javax.jms.Message;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class MessagePropertyTextMap
|
public class MessageExtractAdapter implements AgentPropagation.Getter<Message> {
|
||||||
implements AgentPropagation.Getter<Message>, AgentPropagation.Setter<Message> {
|
|
||||||
|
|
||||||
public static final MessagePropertyTextMap GETTER = new MessagePropertyTextMap();
|
public static final MessageExtractAdapter GETTER = new MessageExtractAdapter();
|
||||||
public static final MessagePropertyTextMap SETTER = new MessagePropertyTextMap();
|
|
||||||
|
|
||||||
static final String DASH = "__dash__";
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Iterable<String> keys(final Message carrier) {
|
public Iterable<String> keys(final Message carrier) {
|
||||||
|
@ -27,7 +23,7 @@ public class MessagePropertyTextMap
|
||||||
final String key = (String) enumeration.nextElement();
|
final String key = (String) enumeration.nextElement();
|
||||||
final Object value = carrier.getObjectProperty(key);
|
final Object value = carrier.getObjectProperty(key);
|
||||||
if (value instanceof String) {
|
if (value instanceof String) {
|
||||||
keys.add(key.replace(DASH, "-"));
|
keys.add(key.replace(MessageInjectAdapter.DASH, "-"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -39,7 +35,7 @@ public class MessagePropertyTextMap
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String get(final Message carrier, final String key) {
|
public String get(final Message carrier, final String key) {
|
||||||
final String propName = key.replace("-", DASH);
|
final String propName = key.replace("-", MessageInjectAdapter.DASH);
|
||||||
final Object value;
|
final Object value;
|
||||||
try {
|
try {
|
||||||
value = carrier.getObjectProperty(propName);
|
value = carrier.getObjectProperty(propName);
|
||||||
|
@ -52,16 +48,4 @@ public class MessagePropertyTextMap
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void set(final Message carrier, final String key, final String value) {
|
|
||||||
final String propName = key.replace("-", DASH);
|
|
||||||
try {
|
|
||||||
carrier.setStringProperty(propName, value);
|
|
||||||
} catch (final JMSException e) {
|
|
||||||
if (log.isDebugEnabled()) {
|
|
||||||
log.debug("Failure setting jms property: " + propName, e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
package datadog.trace.instrumentation.jms;
|
||||||
|
|
||||||
|
import datadog.trace.instrumentation.api.AgentPropagation;
|
||||||
|
import javax.jms.JMSException;
|
||||||
|
import javax.jms.Message;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
public class MessageInjectAdapter implements AgentPropagation.Setter<Message> {
|
||||||
|
|
||||||
|
public static final MessageInjectAdapter SETTER = new MessageInjectAdapter();
|
||||||
|
|
||||||
|
static final String DASH = "__dash__";
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void set(final Message carrier, final String key, final String value) {
|
||||||
|
final String propName = key.replace("-", DASH);
|
||||||
|
try {
|
||||||
|
carrier.setStringProperty(propName, value);
|
||||||
|
} catch (final JMSException e) {
|
||||||
|
if (log.isDebugEnabled()) {
|
||||||
|
log.debug("Failure setting jms property: " + propName, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue