Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type SpanExporter ¶ added in v0.12.0
type SpanExporter interface { // ExportSpans exports a batch of SpanSnapshots. // // This function is called synchronously, so there is no concurrency // safety requirement. However, due to the synchronous calling pattern, // it is critical that all timeouts and cancellations contained in the // passed context must be honored. // // Any retry logic must be contained in this function. The SDK that // calls this function will not implement any retry logic. All errors // returned by this function are considered unrecoverable and will be // reported to a configured error Handler. ExportSpans(ctx context.Context, ss []*SpanSnapshot) error // Shutdown notifies the exporter of a pending halt to operations. The // exporter is expected to preform any cleanup or synchronization it // requires while honoring all timeouts and cancellations contained in // the passed context. Shutdown(ctx context.Context) error }
SpanExporter handles the delivery of SpanSnapshot structs to external receivers. This is the final component in the trace export pipeline.
type SpanSnapshot ¶ added in v0.16.0
type SpanSnapshot struct { SpanContext trace.SpanContext ParentSpanID trace.SpanID SpanKind trace.SpanKind Name string StartTime time.Time // The wall clock time of EndTime will be adjusted to always be offset // from StartTime by the duration of the span. EndTime time.Time Attributes []attribute.KeyValue MessageEvents []trace.Event Links []trace.Link StatusCode codes.Code StatusMessage string HasRemoteParent bool // DroppedAttributeCount contains dropped attributes for the span itself, events and links. DroppedAttributeCount int DroppedMessageEventCount int DroppedLinkCount int // ChildSpanCount holds the number of child span created for this span. ChildSpanCount int // Resource contains attributes representing an entity that produced this span. Resource *resource.Resource // InstrumentationLibrary defines the instrumentation library used to // provide instrumentation. InstrumentationLibrary instrumentation.Library }
SpanSnapshot is a snapshot of a span which contains all the information collected by the span. Its main purpose is exporting completed spans. Although SpanSnapshot fields can be accessed and potentially modified, SpanSnapshot should be treated as immutable. Changes to the span from which the SpanSnapshot was created are NOT reflected in the SpanSnapshot.
Click to show internal directories.
Click to hide internal directories.