[][src]Module opentelemetry::api::trace::span_processor

OpenTelemetry Span Processor Interface

Span processor is an interface which allows hooks for span start and end method invocations. The span processors are invoked only when is_recording is true.

Built-in span processors are responsible for batching and conversion of spans to exportable representation and passing batches to exporters.

Span processors can be registered directly on SDK Provider and they are invoked in the same order as they were registered.

All Tracer instances created by a Provider share the same span processors. Changes to this collection reflect in all Tracer instances.

The following diagram shows SpanProcessor's relationship to other components in the SDK:

  +-----+--------------+   +-----------------------+   +-------------------+
  |     |              |   |                       |   |                   |
  |     |              |   | (Batch)SpanProcessor  |   |    SpanExporter   |
  |     |              +---> (Simple)SpanProcessor +--->  (JaegerExporter) |
  |     |              |   |                       |   |                   |
  | SDK | Tracer.span()|   +-----------------------+   +-------------------+
  |     | Span.end()   |
  |     |              |   +---------------------+
  |     |              |   |                     |
  |     |              +---> ZPagesProcessor     |
  |     |              |   |                     |
  +-----+--------------+   +---------------------+

Traits

SpanProcessor

SpanProcessors allow finished spans to be processed.