public TraceData getTraceData() { //Random randoml = new Random(); Map<String,String> at = this.invocation.getAttachments(); String sampled = at.get("Sampled"); String parentSpanId = at.get("ParentSpanId"); String traceId = at.get("TraceId"); String spanId = at.get("SpanId"); // Official sampled value is 1, though some old instrumentation send true Boolean parsedSampled = sampled != null ? sampled.equals("1") || sampled.equalsIgnoreCase("true") : null; if (traceId != null && spanId != null) { return TraceData.create(getSpanId(traceId, spanId, parentSpanId, parsedSampled)); } else if (parsedSampled == null) { return TraceData.EMPTY; } else if (parsedSampled.booleanValue()) { // Invalid: The caller requests the trace to be sampled, but didn't pass IDs return TraceData.EMPTY; } else { return TraceData.NOT_SAMPLED; } }
@Override public boolean equals(Object o) { if (o == this) { return true; } if (o instanceof TraceData) { TraceData that = (TraceData) o; return ((this.spanId == null) ? (that.getSpanId() == null) : this.spanId.equals(that.getSpanId())) && ((this.sample == null) ? (that.getSample() == null) : this.sample.equals(that.getSample())); } return false; }
@Override public TraceData getTraceData() { String sampled = invocation.getAttachment("sampled"); if(sampled != null && sampled.equals("0")){ return TraceData.builder().sample(false).build(); }else { final String parentId = invocation.getAttachment("parentId"); final String spanId = invocation.getAttachment("spanId"); final String traceId = invocation.getAttachment("traceId"); if (traceId != null && spanId != null) { SpanId span = getSpanId(traceId, spanId, parentId); return TraceData.builder().sample(true).spanId(span).build(); } } return TraceData.builder().build(); }
@Override public TraceData getTraceData() { final String sampled = invocation.getAttachment(BraveHttpHeaders.Sampled.getName()); if (sampled != null) { if (sampled.equals("0") || sampled.toLowerCase().equals("false")) { return TraceData.builder().sample(false).build(); } else { final String parentSpanId = invocation.getAttachment(BraveHttpHeaders.ParentSpanId.getName()); final String traceId = invocation.getAttachment(BraveHttpHeaders.TraceId.getName()); final String spanId = invocation.getAttachment(BraveHttpHeaders.SpanId.getName()); if (traceId != null && spanId != null) { SpanId span = getSpanId(traceId, spanId, parentSpanId); return TraceData.builder().sample(true).spanId(span).build(); } } } return TraceData.builder().build(); }
final TraceData traceData = adapter.getTraceData(); Boolean sample = traceData.getSample(); if (sample != null && Boolean.FALSE.equals(sample)) { serverTracer.setStateNoTracing(); LOGGER.fine("Received indication that we should NOT trace."); } else { if (traceData.getSpanId() != null) { LOGGER.fine("Received span information as part of request."); SpanId spanId = traceData.getSpanId(); serverTracer.setStateCurrentTrace(spanId.traceId, spanId.spanId, spanId.nullableParentId(), adapter.getSpanName());
@Override public TraceData getTraceData() { final String sampled = serverRequest.getHttpHeaderValue(BraveHttpHeaders.Sampled.getName()); if (sampled != null) { if (sampled.equals("0") || sampled.toLowerCase().equals("false")) { return TraceData.builder().sample(false).build(); } else { final String parentSpanId = serverRequest.getHttpHeaderValue(BraveHttpHeaders.ParentSpanId.getName()); final String traceId = serverRequest.getHttpHeaderValue(BraveHttpHeaders.TraceId.getName()); final String spanId = serverRequest.getHttpHeaderValue(BraveHttpHeaders.SpanId.getName()); if (traceId != null && spanId != null) { SpanId span = getSpanId(traceId, spanId, parentSpanId); return TraceData.builder().sample(true).spanId(span).build(); } } } return TraceData.builder().build(); }
@Override public TraceData getTraceData() { // try to extract single-header format String b3String = request.getHttpHeaderValue("b3"); if (b3String != null) { TraceData extracted = B3SingleFormat.parseB3SingleFormat(b3String); if (extracted != null) return extracted; } String sampled = request.getHttpHeaderValue(BraveHttpHeaders.Sampled.getName()); String parentSpanId = request.getHttpHeaderValue(BraveHttpHeaders.ParentSpanId.getName()); String traceId = request.getHttpHeaderValue(BraveHttpHeaders.TraceId.getName()); String spanId = request.getHttpHeaderValue(BraveHttpHeaders.SpanId.getName()); // Official sampled value is 1, though some old instrumentation send true Boolean parsedSampled = sampled != null ? sampled.equals("1") || sampled.equalsIgnoreCase("true") : null; if (traceId != null && spanId != null) { return TraceData.create(getSpanId(traceId, spanId, parentSpanId, parsedSampled)); } else if (parsedSampled == null) { return TraceData.EMPTY; } else if (parsedSampled) { return TraceData.SAMPLED; } else { return TraceData.NOT_SAMPLED; } }
final TraceData traceData = adapter.getTraceData(); Boolean sample = traceData.getSample(); if (Boolean.FALSE.equals(sample)) { serverTracer.setStateNoTracing(); if (traceData.getSpanId() != null) { LOGGER.fine("Received span information as part of request."); span = serverTracer.spanFactory().joinSpan(traceData.getSpanId()); } else { LOGGER.fine("Received no span state.");
return TraceData.create(SpanId.builder() .traceIdHigh(traceIdHigh) .traceId(traceId)