Documentation ¶
Overview ¶
Package tracestorage defines storage structure for trace storage.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConvertToTempoAttrs ¶ added in v0.0.8
func ConvertToTempoAttrs(to *tempoapi.Attributes, from otelstorage.Attrs)
ConvertToTempoAttrs converts otelstorage.Attrs to Tempo API attributes.
Types ¶
type Consumer ¶
type Consumer struct {
// contains filtered or unexported fields
}
Consumer consumes given traces and inserts them using given Inserter.
type Event ¶
type Event struct { Timestamp otelstorage.Timestamp `json:"timestamp"` Name string `json:"name"` Attrs otelstorage.Attrs `json:"attrs"` }
Event is a Span event.
type Inserter ¶
type Inserter interface { // SpanWriter creates a new batch. SpanWriter(ctx context.Context) (SpanWriter, error) }
Inserter is a trace storage insert interface.
type Link ¶
type Link struct { TraceID otelstorage.TraceID `json:"trace_id"` SpanID otelstorage.SpanID `json:"span_id"` TraceState string `json:"trace_state"` Attrs otelstorage.Attrs `json:"attrs"` }
Link is a Span link.
type Querier ¶
type Querier interface { // SearchTags performs search by given tags. SearchTags(ctx context.Context, tags map[string]string, opts SearchTagsOptions) (iterators.Iterator[Span], error) // TagNames returns all available tag names. TagNames(ctx context.Context, opts TagNamesOptions) ([]TagName, error) // TagValues returns all available tag values for given tag. TagValues(ctx context.Context, attr traceql.Attribute, opts TagValuesOptions) (iterators.Iterator[Tag], error) // TraceByID returns spans of given trace. TraceByID(ctx context.Context, id otelstorage.TraceID, opts TraceByIDOptions) (iterators.Iterator[Span], error) }
Querier is a trace storage query interface.
type SearchTagsOptions ¶
type SearchTagsOptions struct { MinDuration time.Duration MaxDuration time.Duration // Start defines time range for search. // // Querier ignores parameter, if it is zero. Start time.Time // End defines time range for search. // // Querier ignores parameter, if it is zero. End time.Time }
SearchTagsOptions defines options for [Querier.SearchTags].
type Span ¶
type Span struct { TraceID otelstorage.TraceID `json:"trace_id"` SpanID otelstorage.SpanID `json:"span_id"` TraceState string `json:"trace_state"` ParentSpanID otelstorage.SpanID `json:"parent_span_id"` Name string `json:"name"` Kind int32 `json:"kind"` Start otelstorage.Timestamp `json:"start"` End otelstorage.Timestamp `json:"end"` Attrs otelstorage.Attrs `json:"attrs"` StatusCode int32 `json:"status_code"` StatusMessage string `json:"status_message"` BatchID uuid.UUID `json:"batch_id"` ResourceAttrs otelstorage.Attrs `json:"resource_attrs"` ScopeName string `json:"scope_name"` ScopeVersion string `json:"scope_version"` ScopeAttrs otelstorage.Attrs `json:"scope_attrs"` Events []Event `json:"events"` Links []Link `json:"links"` }
Span is a data structure for span.
func NewSpanFromOTEL ¶
func NewSpanFromOTEL( batchID uuid.UUID, res pcommon.Resource, scope pcommon.InstrumentationScope, span ptrace.Span, ) (s Span)
NewSpanFromOTEL creates new Span.
func (Span) AsTempoSpan ¶
AsTempoSpan converts span to TempoSpan.
func (Span) FillOTELSpan ¶
FillOTELSpan fills given OpenTelemetry span using span fields.
func (Span) FillTraceMetadata ¶
func (span Span) FillTraceMetadata(m *tempoapi.TraceSearchMetadata)
FillTraceMetadata files TraceSearchMetadata fields using span.
The span should be a parent span.
func (Span) ServiceName ¶ added in v0.0.8
ServiceName gets service name from attributes.
type SpanWriter ¶ added in v0.15.0
type SpanWriter interface { // Add adds record to the batch. Add(span Span) error // Submit sends batch. Submit(ctx context.Context) error // Close frees resources. // // Callers should call [SpanWriter.Close] regardless if they called [SpanWriter.Submit] or not. Close() error }
SpanWriter represents a log record batch.
type Tag ¶
type Tag struct { Name string `json:"name"` Value string `json:"value"` Type traceql.StaticType `json:"type"` Scope traceql.AttributeScope `json:"scope"` }
Tag is a data structure for tag.
func TagFromAttribute ¶ added in v0.15.0
TagFromAttribute creates a Tag from given pcommon.Value.
type TagName ¶ added in v0.12.0
type TagName struct { Scope traceql.AttributeScope Name string }
TagNames is a set of tags by scope.
type TagNamesOptions ¶ added in v0.12.0
type TagNamesOptions struct { // Scope defines attribute scope to lookup. // // Querier should return attributes from all scopes, if it is zero. Scope traceql.AttributeScope // Start defines time range for search. // // Querier ignores parameter, if it is zero. Start time.Time // End defines time range for search. // // Querier ignores parameter, if it is zero. End time.Time }
TagNamesOptions defines options for [Querier.TagNames].
type TagValuesOptions ¶ added in v0.12.0
type TagValuesOptions struct { // AutocompleteQuery is a set of spanset matchers to only return tags seen // on matching spansets. AutocompleteQuery traceql.Autocomplete // Start defines time range for search. // // Querier ignores parameter, if it is zero. Start time.Time // End defines time range for search. // // Querier ignores parameter, if it is zero. End time.Time }
TagValuesOptions defines options for [Querier.TagValues].
type TraceByIDOptions ¶
type TraceByIDOptions struct { // Start defines time range for search. // // Querier ignores parameter, if it is zero. Start time.Time // End defines time range for search. // // Querier ignores parameter, if it is zero. End time.Time }
TraceByIDOptions defines options for [Querier.TraceByID] method.