Class LeakDetectingSpanProcessor

java.lang.Object
io.opentelemetry.sdk.extension.incubator.trace.LeakDetectingSpanProcessor
All Implemented Interfaces:
io.opentelemetry.sdk.trace.SpanProcessor, Closeable, AutoCloseable

public final class LeakDetectingSpanProcessor extends Object implements io.opentelemetry.sdk.trace.SpanProcessor
A SpanProcessor which will detect spans that are never ended. It will detect spans that are garbage collected without ever having `end()` called on them.

Note: using this SpanProcessor will definitely impact the performance of your application. It is not recommended for production use, as it uses additional memory for each span to track where a leaked span was created.

  • Method Details

    • create

      public static LeakDetectingSpanProcessor create()
      Create a new LeakDetectingSpanProcessor that will report any un-ended spans that get garbage collected.
    • onStart

      public void onStart(io.opentelemetry.context.Context parentContext, io.opentelemetry.sdk.trace.ReadWriteSpan span)
      Specified by:
      onStart in interface io.opentelemetry.sdk.trace.SpanProcessor
    • isStartRequired

      public boolean isStartRequired()
      Specified by:
      isStartRequired in interface io.opentelemetry.sdk.trace.SpanProcessor
    • onEnd

      public void onEnd(io.opentelemetry.sdk.trace.ReadableSpan span)
      Specified by:
      onEnd in interface io.opentelemetry.sdk.trace.SpanProcessor
    • isEndRequired

      public boolean isEndRequired()
      Specified by:
      isEndRequired in interface io.opentelemetry.sdk.trace.SpanProcessor