use of com.uber.jaeger.Span in project jaeger-client-java by jaegertracing.
the class TraceBehavior method observeSpan.
private ObservedSpan observeSpan() {
com.uber.jaeger.context.TraceContext traceContext = TracingUtils.getTraceContext();
if (traceContext.isEmpty()) {
log.error("No span found");
return new ObservedSpan("no span found", false, "no span found");
}
Span span = (Span) traceContext.getCurrentSpan();
if (span == null) {
log.error("No span found");
return new ObservedSpan("no span found", false, "no span found");
}
SpanContext context = span.context();
String traceId = String.format("%x", context.getTraceId());
boolean sampled = context.isSampled();
String baggage = span.getBaggageItem(Constants.BAGGAGE_KEY);
return new ObservedSpan(traceId, sampled, baggage);
}
use of com.uber.jaeger.Span in project jaeger-client-java by jaegertracing.
the class TraceBehaviorResourceTest method testJoinTraceHttp.
@Test
public void testJoinTraceHttp() throws Exception {
Span span = (Span) server.getTracer().buildSpan("root").start();
TracingUtils.getTraceContext().push(span);
String expectedBaggage = "baggage-example";
span.setBaggageItem(Constants.BAGGAGE_KEY, expectedBaggage);
if (expectedSampled) {
Tags.SAMPLING_PRIORITY.set(span, 1);
}
Downstream bottomDownstream = new Downstream(SERVICE_NAME, "127.0.0.1", port, Constants.TRANSPORT_HTTP, "server", null);
Downstream topDownstream = new Downstream(SERVICE_NAME, "127.0.0.1", port, Constants.TRANSPORT_HTTP, "server", bottomDownstream);
JoinTraceRequest joinTraceRequest = new JoinTraceRequest("server-role", topDownstream);
Response resp = JerseyServer.client.target(String.format("http://%s/join_trace", hostPort)).request(MediaType.APPLICATION_JSON).post(Entity.json(joinTraceRequest));
TraceResponse traceResponse = resp.readEntity(TraceResponse.class);
assertNotNull(traceResponse.getDownstream());
validateTraceResponse(traceResponse, String.format("%x", span.context().getTraceId()), expectedBaggage, 2);
}
use of com.uber.jaeger.Span in project jaeger-client-java by jaegertracing.
the class TraceBehaviorResourceTest method testJoinTraceTChannel.
@Test
public void testJoinTraceTChannel() throws Exception {
Builder tchannelBuilder = new Builder("foo");
tchannelBuilder.setServerPort(0);
tchannelBuilder.setServerHost(InetAddress.getLoopbackAddress());
TChannelServer tchannel = new TChannelServer(tchannelBuilder, behavior, server.getTracer());
tchannel.start();
Span span = (Span) server.getTracer().buildSpan("root").startManual();
TracingUtils.getTraceContext().push(span);
String expectedBaggage = "baggage-example";
span.setBaggageItem(Constants.BAGGAGE_KEY, expectedBaggage);
if (expectedSampled) {
Tags.SAMPLING_PRIORITY.set(span, 1);
}
TraceResponse response = behavior.callDownstreamTChannel(new Downstream(SERVICE_NAME, tchannel.getChannel().getListeningHost(), String.valueOf(tchannel.getChannel().getListeningPort()), Constants.TRANSPORT_TCHANNEL, "s2", new Downstream(SERVICE_NAME, tchannel.getChannel().getListeningHost(), String.valueOf(tchannel.getChannel().getListeningPort()), Constants.TRANSPORT_TCHANNEL, "s3", null)));
assertNotNull(response);
validateTraceResponse(response, String.format("%x", span.context().getTraceId()), expectedBaggage, 1);
tchannel.shutdown();
}
use of com.uber.jaeger.Span in project jaeger-client-java by jaegertracing.
the class JerseyServerFilterTest method testOperationNameWithNakedGet.
@Test
public void testOperationNameWithNakedGet() throws Exception {
Response response = target("stormlord/").request().get();
assertEquals(200, response.getStatus());
Span span = reporter.getSpans().get(0);
assertEquals("GET:/stormlord", span.getOperationName());
assertCache("nakedGet");
}
Aggregations