private Long getParentId(Span span) { return !span.getParents().isEmpty() ? span.getParents().get(0) : null; }
private Long getParentId(Span span) { return !span.getParents().isEmpty() ? span.getParents().get(0) : null; }
/** * Defines whether this call is part of process or its separate operation * @return true if service is called within process started in other service, false otherwise */ @Override public boolean isProcess() { ContextVerifier.assertWithinContext(); return !TraceContextHolder.getCurrentSpan().getParents().isEmpty(); }
public Map<String, String> extract(Span span, TraceSpan.SpanKind kind, String instanceId) { Map<String, String> labels = new HashMap<>(); for (Map.Entry<String, String> tag : span.tags().entrySet()) { labels.put(label(tag.getKey()), tag.getValue()); } for (Log log : span.logs()) { labels.put(label(log.getEvent()), formatTimestamp(log.getTimestamp())); } if (span.tags().containsKey(Span.SPAN_PEER_SERVICE_TAG_NAME)) { labels.put("/component", span.tags().get(Span.SPAN_PEER_SERVICE_TAG_NAME)); } if (span.getParents() == null || span.getParents().isEmpty()) { labels.put("/agent", this.agentName); } if ((kind == TraceSpan.SpanKind.RPC_CLIENT || kind == TraceSpan.SpanKind.RPC_SERVER) && StringUtils.hasText(instanceId)) { if (StringUtils.hasText(instanceId)) { labels.put(label(Span.INSTANCEID), instanceId); } } return labels; }
TraceLogWrap.request("MQ", name, ""); Span span = tracer.createSpan(name); Long parentId = !span.getParents().isEmpty() ? span.getParents().get(0) : null; HashMap<String, Object> hashMap = new HashMap<String, Object>() {{ put(TraceMessageHeaders.TRACE_ID_NAME, Span.idToHex(span.getTraceId()));
private void rewriteIds(Span span, TraceSpan.SpanKind kind, TraceSpan.Builder builder) { if (span.getParents().size() > 0) { if (span.getParents().size() > 1) { LOGGER.error("Stackdriver Trace doesn't support spans with multiple parents. Omitting " + "other parents for " + span); parentId = span.getParents().get(0);
@SuppressWarnings("unchecked") private HttpEntity createNewHttpEntity(HttpEntity httpEntity, Span span) { HttpHeaders newHttpHeaders = new HttpHeaders(); newHttpHeaders.putAll(httpEntity.getHeaders()); if (span != null) { addHeaderIfPresent(newHttpHeaders, Span.SPAN_ID_NAME, String.valueOf(span.getSpanId())); addHeaderIfPresent(newHttpHeaders, Span.TRACE_ID_NAME, String.valueOf(span.getTraceId())); addHeaderIfPresent(newHttpHeaders, OLD_CORRELATION_ID_HEADER, String.valueOf(span.getTraceId())); addHeaderIfPresent(newHttpHeaders, Span.SPAN_NAME_NAME, span.getName()); addHeaderIfPresent(newHttpHeaders, Span.PARENT_ID_NAME, getFirst(span.getParents())); addHeaderIfPresent(newHttpHeaders, Span.PROCESS_ID_NAME, span.getProcessId()); } return new HttpEntity(httpEntity.getBody(), newHttpHeaders); }
if (convertedSpan.getParents().size() > 0) { if (convertedSpan.getParents().size() > 1) { log.error("Zipkin doesn't support spans with multiple parents. Omitting " + "other parents for " + convertedSpan); zipkinSpan.parentId(Span.idToHex(convertedSpan.getParents().get(0)));
} else { span.stop(); if (savedSpan != null && span.getParents().contains(savedSpan.getSpanId())) { this.spanReporter.report(span); this.spanLogger.logStoppedSpan(savedSpan, span);