Class BraintrustSpanProcessor

java.lang.Object
dev.braintrust.trace.BraintrustSpanProcessor
All Implemented Interfaces:
io.opentelemetry.sdk.trace.SpanProcessor, Closeable, AutoCloseable

public class BraintrustSpanProcessor extends Object implements io.opentelemetry.sdk.trace.SpanProcessor
Custom span processor that enriches spans with Braintrust-specific attributes. Supports parent assignment to projects or experiments.
  • Field Details

    • PARENT

      public static final io.opentelemetry.api.common.AttributeKey<String> PARENT
  • Method Details

    • onStart

      public void onStart(@Nonnull 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
    • shutdown

      public io.opentelemetry.sdk.common.CompletableResultCode shutdown()
      Specified by:
      shutdown in interface io.opentelemetry.sdk.trace.SpanProcessor
    • forceFlush

      public io.opentelemetry.sdk.common.CompletableResultCode forceFlush()
      Specified by:
      forceFlush in interface io.opentelemetry.sdk.trace.SpanProcessor
    • setParentContext

      public void setParentContext(String traceId, BraintrustSpanProcessor.ParentContext context)
      Sets the parent context for a specific trace ID.
    • getParentContext

      public Optional<BraintrustSpanProcessor.ParentContext> getParentContext(String traceId)
      Gets the parent context for a specific trace ID.