Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Factory ¶
type Factory interface { // CreateTraceReader creates a spanstore.Reader. CreateTraceReader() (Reader, error) // CreateTraceWriter creates a spanstore.Writer. CreateTraceWriter() (Writer, error) }
Factory defines an interface for a factory that can create implementations of different span storage components.
type GetTraceParams ¶ added in v1.65.0
type GetTraceParams struct { // TraceID is the ID of the trace to retrieve. Required. TraceID pcommon.TraceID // Start of the time interval to search for trace ID. Optional. Start time.Time // End of the time interval to search for trace ID. Optional. End time.Time }
GetTraceParams contains single-trace parameters for a GetTraces request. Some storage backends (e.g. Tempo) perform GetTraces much more efficiently if they know the approximate time range of the trace.
type OperationQueryParams ¶ added in v1.65.0
OperationQueryParams contains parameters of query operations, empty spanKind means get operations for all kinds of span.
type Reader ¶
type Reader interface { // GetTraces returns an iterator that retrieves all traces with given IDs. // The iterator is single-use: once consumed, it cannot be used again. // // Chunking requirements: // - A single ptrace.Traces chunk MUST NOT contain spans from multiple traces. // - Large traces MAY be split across multiple, *consecutive* ptrace.Traces chunks. // - Each returned ptrace.Traces object MUST NOT be empty. // // Edge cases: // - If no spans are found for any given trace ID, the ID is ignored. // - If none of the trace IDs are found in the storage, an empty iterator is returned. // - If an error is encountered, the iterator returns the error and stops. GetTraces(ctx context.Context, traceIDs ...GetTraceParams) iter.Seq2[[]ptrace.Traces, error] // GetServices returns all service names known to the backend from spans // within its retention period. GetServices(ctx context.Context) ([]string, error) // GetOperations returns all operation names for a given service // known to the backend from spans within its retention period. GetOperations(ctx context.Context, query OperationQueryParams) ([]Operation, error) // FindTraces returns an iterator that retrieves traces matching query parameters. // The iterator is single-use: once consumed, it cannot be used again. // // The chunking rules is the same as for GetTraces. // // If no matching traces are found, the function returns an empty iterator. // If an error is encountered, the iterator returns the error and stops. // // There's currently an implementation-dependent ambiguity whether all query filters // (such as multiple tags) must apply to the same span within a trace, or can be satisfied // by different spans. FindTraces(ctx context.Context, query TraceQueryParams) iter.Seq2[[]ptrace.Traces, error] // FindTraceIDs returns an iterator that retrieves IDs of traces matching query parameters. // The iterator is single-use: once consumed, it cannot be used again. // // If no matching traces are found, the function returns an empty iterator. // If an error is encountered, the iterator returns the error and stops. // // This function behaves identically to FindTraces, except that it returns only the list // of matching trace IDs. This is useful in some contexts, such as batch jobs, where a // large list of trace IDs may be queried first and then the full traces are loaded // in batches. FindTraceIDs(ctx context.Context, query TraceQueryParams) iter.Seq2[[]pcommon.TraceID, error] }
Reader finds and loads traces and other data from storage.
type TraceQueryParams ¶ added in v1.65.0
type TraceQueryParams struct { ServiceName string OperationName string Tags map[string]string StartTimeMin time.Time StartTimeMax time.Time DurationMin time.Duration DurationMax time.Duration NumTraces int }
TraceQueryParams contains parameters of a trace query.
func (*TraceQueryParams) ToSpanStoreQueryParameters ¶ added in v1.65.0
func (t *TraceQueryParams) ToSpanStoreQueryParameters() *spanstore.TraceQueryParameters
type Writer ¶
type Writer interface { // WriteTrace writes a batch of spans to storage. Idempotent. // Implementations are not required to support atomic transactions, // so if any of the spans fail to be written an error is returned. // Compatible with OTLP Exporter API. WriteTraces(ctx context.Context, td ptrace.Traces) error }
Writer writes spans to storage.
Click to show internal directories.
Click to hide internal directories.