Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var DefaultTagFilter = tagFilterImpl{}
DefaultTagFilter returns a filter that retrieves all tags from span.Tags, span.Logs, and span.Process.
var ErrTraceIDWrongLength = errors.New("TraceID is not a 128bit integer")
ErrTraceIDWrongLength is an error that occurs when cassandra has a TraceID that's not 128 bits long
var ErrUnknownKeyValueTypeFromCassandra = errors.New("Unknown tag type found in Cassandra")
ErrUnknownKeyValueTypeFromCassandra is an error that occurs when trying to decipher an unknown tag type from the database
Functions ¶
Types ¶
type ChainedTagFilter ¶ added in v1.1.0
type ChainedTagFilter []TagFilter
ChainedTagFilter applies multiple tag filters in serial fashion.
func NewChainedTagFilter ¶ added in v1.1.0
func NewChainedTagFilter(filters ...TagFilter) ChainedTagFilter
NewChainedTagFilter creates a TagFilter from the variadic list of passed TagFilter.
func (ChainedTagFilter) FilterLogFields ¶ added in v1.1.0
func (tf ChainedTagFilter) FilterLogFields(logFields model.KeyValues) model.KeyValues
FilterLogFields calls each FilterLogFields
func (ChainedTagFilter) FilterProcessTags ¶ added in v1.1.0
func (tf ChainedTagFilter) FilterProcessTags(processTags model.KeyValues) model.KeyValues
FilterProcessTags calls each FilterProcessTags.
func (ChainedTagFilter) FilterTags ¶ added in v1.1.0
func (tf ChainedTagFilter) FilterTags(tags model.KeyValues) model.KeyValues
FilterTags calls each FilterTags
type KeyValue ¶
type KeyValue struct { Key string `cql:"key"` ValueType string `cql:"value_type"` ValueString string `cql:"value_string"` ValueBool bool `cql:"value_bool"` ValueInt64 int64 `cql:"value_long"` // using more natural column name for Cassandra ValueFloat64 float64 `cql:"value_double"` // using more natural column name for Cassandra ValueBinary []byte `cql:"value_binary"` }
KeyValue is the UDT representation of a Jaeger KeyValue.
func (*KeyValue) MarshalUDT ¶
MarshalUDT handles marshalling a Tag.
type Log ¶
Log is the UDT representation of a Jaeger Log.
func (*Log) MarshalUDT ¶
MarshalUDT handles marshalling a Log.
type LogFieldsFilter ¶ added in v0.9.0
type LogFieldsFilter struct {
// contains filtered or unexported fields
}
LogFieldsFilter filters all span.Logs.Fields.
func NewLogFieldsFilter ¶ added in v0.9.0
func NewLogFieldsFilter() *LogFieldsFilter
NewLogFieldsFilter return a filter that filters all span.Logs.Fields.
func (*LogFieldsFilter) FilterLogFields ¶ added in v0.9.0
func (f *LogFieldsFilter) FilterLogFields(logFields model.KeyValues) model.KeyValues
FilterLogFields implements TagFilter#FilterLogFields
func (LogFieldsFilter) FilterProcessTags ¶ added in v0.9.0
type Process ¶
Process is the UDT representation of a Jaeger Process.
func (*Process) MarshalUDT ¶
MarshalUDT handles marshalling a Process.
type Span ¶
type Span struct { TraceID TraceID SpanID int64 ParentID int64 OperationName string Flags int32 StartTime int64 Duration int64 Tags []KeyValue Logs []Log Refs []SpanRef Process Process ServiceName string SpanHash int64 }
Span is the database representation of a span.
func FromDomain ¶
FromDomain converts a domain model.Span to a database Span
type SpanRef ¶
type SpanRef struct { RefType string `cql:"ref_type"` TraceID TraceID `cql:"trace_id"` SpanID int64 `cql:"span_id"` }
SpanRef is the UDT representation of a Jaeger Span Reference.
func (*SpanRef) MarshalUDT ¶
MarshalUDT handles marshalling a SpanRef.
type TagFilter ¶ added in v0.9.0
type TagFilter interface { FilterProcessTags(processTags model.KeyValues) model.KeyValues FilterTags(tags model.KeyValues) model.KeyValues FilterLogFields(logFields model.KeyValues) model.KeyValues }
TagFilter filters out any tags that should not be indexed.
type TagInsertion ¶
TagInsertion contains the items necessary to insert a tag for a given span
func GetAllUniqueTags ¶
func GetAllUniqueTags(span *model.Span, tagFilter TagFilter) []TagInsertion
GetAllUniqueTags creates a list of all unique tags from a set of filtered tags.
func (TagInsertion) String ¶
func (t TagInsertion) String() string
type TraceID ¶
type TraceID [16]byte
TraceID is a serializable form of model.TraceID
func TraceIDFromDomain ¶
TraceIDFromDomain converts domain TraceID into serializable DB representation.
func (TraceID) MarshalCQL ¶
MarshalCQL handles marshaling DBTraceID (e.g. in SpanRef)
type UniqueTraceIDs ¶
type UniqueTraceIDs map[TraceID]struct{}
UniqueTraceIDs is a set of unique dbmodel TraceIDs, implemented via map.
func IntersectTraceIDs ¶
func IntersectTraceIDs(uniqueTraceIdsList []UniqueTraceIDs) UniqueTraceIDs
IntersectTraceIDs takes a list of UniqueTraceIDs and intersects them.
func UniqueTraceIDsFromList ¶
func UniqueTraceIDsFromList(traceIDs []TraceID) UniqueTraceIDs
UniqueTraceIDsFromList Takes a list of traceIDs and returns the unique set
func (UniqueTraceIDs) Add ¶
func (u UniqueTraceIDs) Add(traceID TraceID)
Add adds a traceID to the existing map