@Override public void process(K k, V v) { Span span = kafkaStreamsTracing.nextSpan(processorContext); if (!span.isNoop()) { span.name(spanName); span.start(); } try (Tracer.SpanInScope ws = tracer.withSpanInScope(span)) { delegateProcessor.process(k, v); } catch (RuntimeException | Error e) { span.error(e); // finish as an exception means the callback won't finish the span throw e; } finally { span.finish(); } }
public void process(final K key, final V value) { final long startNs = time.nanoseconds(); processor.process(key, value); nodeMetrics.nodeProcessTimeSensor.record(time.nanoseconds() - startNs); }