tracer

package
v0.0.20 Latest Latest
Warning

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

Go to latest
Published: Apr 15, 2021 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const KeyContextErrorMessage = "context_error_msg"
View Source
const KeyErrorMessage = "error_msg"

error keys

View Source
const Name = "tracer"
View Source
const TraceId = "trace-id"

Variables

This section is empty.

Functions

func CreateSpan

func CreateSpan(r *http.Request, name string) opentracing.Span

func Extract

Extract extracts the inbound HTTP request to obtain the parent span's context to ensure correct propagation of span context throughout the trace.

func Global

func Global() opentracing.Tracer

func InjectHeaders

func InjectHeaders(span opentracing.Span, request *http.Request) error

InjectHeaders injects the outbound HTTP request with the given span's context to ensure correct propagation of span context throughout the trace.

func NewClientTrace

func NewClientTrace(span opentracing.Span) *httptrace.ClientTrace

NewClientTrace Creates a New ClientTrace

func Register

func Register(name string, r Factory) (err error)

func SetIfContextError

func SetIfContextError(span opentracing.Span, ctx context.Context)

SetIfContextError record error

func SetIfError

func SetIfError(span opentracing.Span, err error)

SetIfError add error info and flag for error

Types

type Cfg

type Cfg struct {
	Driver string `json:"driver"`
}

func GetDefaultCfg

func GetDefaultCfg() Cfg

func (Cfg) Build

func (cfg Cfg) Build() (_ opentracing.Tracer, err error)

type Factory

type Factory func(cfg map[string]interface{}) (opentracing.Tracer, error)

func Get

func Get(names ...string) Factory

type HandlerFunc

type HandlerFunc func(next http.Handler) http.Handler

HandlerFunc is a middleware function for incoming HTTP requests.

func FromHTTPRequest

func FromHTTPRequest(tracer opentracing.Tracer, operationName string) HandlerFunc

FromHTTPRequest returns a Middleware HandlerFunc that tries to join with an OpenTracing trace found in the HTTP request headers and starts a new Span called `operationName`. If no trace could be found in the HTTP request headers, the Span will be a trace root. The Span is incorporated in the HTTP Context object and can be retrieved with opentracing.SpanFromContext(ctx).

type RequestFunc

type RequestFunc func(req *http.Request) *http.Request

RequestFunc is a middleware function for outgoing HTTP requests.

func ToHTTPRequest

func ToHTTPRequest(tracer opentracing.Tracer) RequestFunc

ToHTTPRequest returns a RequestFunc that injects an OpenTracing Span found in context into the HTTP Headers. If no such Span can be found, the RequestFunc is a noop.

type Span

type Span struct {
	opentracing.Span
	Ctx context.Context
}

func NewSpan

func NewSpan(ctx context.Context, sp opentracing.Span) *Span

func NewSpanByHttpHeader

func NewSpanByHttpHeader(header *http.Header, name string) *Span

func NewSpanByTraceId

func NewSpanByTraceId(traceId string, name string) *Span

func RootSpan

func RootSpan(name string, opts ...opentracing.StartSpanOption) *Span

func StartSpan

func StartSpan(ctx context.Context, name string, opts ...opentracing.StartSpanOption) *Span

func (*Span) Context

func (s *Span) Context() context.Context

func (*Span) CreateChild

func (s *Span) CreateChild(name string, opts ...opentracing.StartSpanOption) *Span

func (*Span) CreateFollows

func (s *Span) CreateFollows(name string, opts ...opentracing.StartSpanOption) *Span

func (*Span) Finish

func (s *Span) Finish()

func (*Span) GetHttpHeader

func (s *Span) GetHttpHeader() http.Header

func (*Span) GetTraceId

func (s *Span) GetTraceId() string

func (*Span) LogKV

func (s *Span) LogKV(alternatingKeyValues ...interface{})

func (*Span) SetBaggageItem

func (s *Span) SetBaggageItem(restrictedKey, value string) *Span

func (*Span) SetOperationName

func (s *Span) SetOperationName(name string) *Span

func (*Span) SetTag

func (s *Span) SetTag(key string, value interface{}) *Span

func (*Span) SpanContext

func (s *Span) SpanContext() opentracing.SpanContext

func (*Span) Sub

func (s *Span) Sub(name string) *Span

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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