dbmodel

package
v1.64.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 6, 2024 License: Apache-2.0 Imports: 6 Imported by: 23

Documentation

Index

Constants

View Source
const (
	// ChildOf means a span is the child of another span
	ChildOf ReferenceType = "CHILD_OF"
	// FollowsFrom means a span follows from another span
	FollowsFrom ReferenceType = "FOLLOWS_FROM"

	// StringType indicates a string value stored in KeyValue
	StringType ValueType = "string"
	// BoolType indicates a Boolean value stored in KeyValue
	BoolType ValueType = "bool"
	// Int64Type indicates a 64bit signed integer value stored in KeyValue
	Int64Type ValueType = "int64"
	// Float64Type indicates a 64bit float value stored in KeyValue
	Float64Type ValueType = "float64"
	// BinaryType indicates an arbitrary byte array stored in KeyValue
	BinaryType ValueType = "binary"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type FromDomain

type FromDomain struct {
	// contains filtered or unexported fields
}

FromDomain is used to convert model span to db span

func NewFromDomain

func NewFromDomain(allTagsAsObject bool, tagKeysAsFields []string, tagDotReplacement string) FromDomain

NewFromDomain creates FromDomain used to convert model span to db span

func (FromDomain) FromDomainEmbedProcess

func (fd FromDomain) FromDomainEmbedProcess(span *model.Span) *Span

FromDomainEmbedProcess converts model.Span into json.Span format. This format includes a ParentSpanID and an embedded Process.

type KeyValue

type KeyValue struct {
	Key   string    `json:"key"`
	Type  ValueType `json:"type,omitempty"`
	Value any       `json:"value"`
}

KeyValue is a key-value pair with typed value.

type Log

type Log struct {
	Timestamp uint64     `json:"timestamp"`
	Fields    []KeyValue `json:"fields"`
}

Log is a log emitted in a span

type Process

type Process struct {
	ServiceName string     `json:"serviceName"`
	Tags        []KeyValue `json:"tags"`
	// Alternative representation of tags for better kibana support
	Tag map[string]any `json:"tag,omitempty"`
}

Process is the process emitting a set of spans

type Reference

type Reference struct {
	RefType ReferenceType `json:"refType"`
	TraceID TraceID       `json:"traceID"`
	SpanID  SpanID        `json:"spanID"`
}

Reference is a reference from one span to another

type ReferenceType

type ReferenceType string

ReferenceType is the reference type of one span to another

type Service added in v1.8.0

type Service struct {
	ServiceName   string `json:"serviceName"`
	OperationName string `json:"operationName"`
}

Service is the JSON struct for service:operation documents in ElasticSearch

type Span

type Span struct {
	TraceID       TraceID     `json:"traceID"`
	SpanID        SpanID      `json:"spanID"`
	ParentSpanID  SpanID      `json:"parentSpanID,omitempty"` // deprecated
	Flags         uint32      `json:"flags,omitempty"`
	OperationName string      `json:"operationName"`
	References    []Reference `json:"references"`
	StartTime     uint64      `json:"startTime"` // microseconds since Unix epoch
	// ElasticSearch does not support a UNIX Epoch timestamp in microseconds,
	// so Jaeger maps StartTime to a 'long' type. This extra StartTimeMillis field
	// works around this issue, enabling timerange queries.
	StartTimeMillis uint64     `json:"startTimeMillis"`
	Duration        uint64     `json:"duration"` // microseconds
	Tags            []KeyValue `json:"tags"`
	// Alternative representation of tags for better kibana support
	Tag     map[string]any `json:"tag,omitempty"`
	Logs    []Log          `json:"logs"`
	Process Process        `json:"process,omitempty"`
}

Span is ES database representation of the domain span.

type SpanID

type SpanID string

SpanID is the id of a span

type ToDomain

type ToDomain struct {
	// contains filtered or unexported fields
}

ToDomain is used to convert Span to model.Span

func NewToDomain

func NewToDomain(tagDotReplacement string) ToDomain

NewToDomain creates ToDomain

func (ToDomain) ReplaceDot

func (td ToDomain) ReplaceDot(k string) string

ReplaceDot replaces dot with dotReplacement

func (ToDomain) ReplaceDotReplacement

func (td ToDomain) ReplaceDotReplacement(k string) string

ReplaceDotReplacement replaces dotReplacement with dot

func (ToDomain) SpanToDomain

func (td ToDomain) SpanToDomain(dbSpan *Span) (*model.Span, error)

SpanToDomain converts db span into model Span

type TraceID

type TraceID string

TraceID is the shared trace ID of all spans in the trace.

type ValueType

type ValueType string

ValueType is the type of a value stored in KeyValue struct.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL