@Override public void report(zipkin2.Span span) { reporter.report(V2SpanConverter.toSpan(span)); }
@Override public void report(zipkin2.Span span) { reporter.report(V2SpanConverter.toSpan(span)); }
@Override public void report(zipkin2.Span span) { reporter.report(V2SpanConverter.toSpan(span)); }
/** This sends off spans after the deadline is hit, no matter if it ended naturally or not. */ void flush(Time deadline) { for (Iterator<MutableSpan> i = spanMap.values().iterator(); i.hasNext(); ) { MutableSpan span = i.next(); if (span.started().$less$eq(deadline)) { i.remove(); span.addAnnotation(deadline, "finagle.flush"); reporter.report(span.toSpan()); } } }
/** * Mutates the Span with whatever new info we have. If we see an "end" annotation we remove the * span and send it off. */ void record(Record record) { MutableSpan span = spanMap.get(record.traceId()); if (span == null) { MutableSpan newSpan = new MutableSpan(record.traceId(), Time$.MODULE$.now()); MutableSpan prev = spanMap.putIfAbsent(record.traceId(), newSpan); span = prev != null ? prev : newSpan; } append(record, span); if (span.isComplete()) { spanMap.remove(record.traceId(), span); reporter.report(span.toSpan()); } }