use of io.jaegertracing.spi.Codec in project jaeger-client-java by jaegertracing.
the class ConfigurationTest method testAddedCodecs.
@Test
public void testAddedCodecs() {
Codec<TextMap> codec1 = new Codec<TextMap>() {
@Override
public JaegerSpanContext extract(TextMap carrier) {
return null;
}
@Override
public void inject(JaegerSpanContext spanContext, TextMap carrier) {
}
};
Codec<TextMap> codec2 = new Codec<TextMap>() {
@Override
public JaegerSpanContext extract(TextMap carrier) {
return null;
}
@Override
public void inject(JaegerSpanContext spanContext, TextMap carrier) {
}
};
Codec<Binary> codec3 = new Codec<Binary>() {
@Override
public JaegerSpanContext extract(Binary carrier) {
return null;
}
@Override
public void inject(JaegerSpanContext spanContext, Binary carrier) {
}
};
CodecConfiguration codecConfiguration = new CodecConfiguration().withCodec(Builtin.HTTP_HEADERS, codec1).withCodec(Builtin.HTTP_HEADERS, codec2).withBinaryCodec(Builtin.BINARY, codec3);
assertEquals(2, codecConfiguration.getCodecs().get(Builtin.HTTP_HEADERS).size());
assertEquals(codec1, codecConfiguration.getCodecs().get(Builtin.HTTP_HEADERS).get(0));
assertEquals(codec2, codecConfiguration.getCodecs().get(Builtin.HTTP_HEADERS).get(1));
assertEquals(codec3, codecConfiguration.getBinaryCodecs().get(Builtin.BINARY).get(0));
Configuration configuration = new Configuration("foo").withCodec(codecConfiguration);
long traceIdLow = 2L;
long spanId = 11L;
long parentId = 22L;
JaegerSpanContext spanContext = new JaegerSpanContext(0, traceIdLow, spanId, parentId, (byte) 0);
assertInjectExtract(configuration.getTracer(), Builtin.TEXT_MAP, spanContext, false);
// added codecs above overrides the default implementation
assertInjectExtract(configuration.getTracer(), Builtin.HTTP_HEADERS, spanContext, true);
}
Aggregations