tracer

package
v1.17.1 Latest Latest
Warning

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

Go to latest
Published: Apr 3, 2024 License: Apache-2.0 Imports: 26 Imported by: 13

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetTraceID

func GetTraceID(ctx context.Context) string

GetTraceID func

func GetTraceURL

func GetTraceURL(ctx context.Context) (u string)

GetTraceURL log trace url

func InitOpenTracing

func InitOpenTracing(serviceName string, opts ...OptionFunc) error

DEPRECATED: use InitJaeger

func IsTracerActive added in v1.17.0

func IsTracerActive() bool

IsTracerActive check tracer has been initialized with platform

func Log

func Log(ctx context.Context, key string, value interface{})

Log trace

func LogEvent

func LogEvent(ctx context.Context, event string, payload ...interface{})

LogEvent trace

func LogStackTrace added in v1.15.0

func LogStackTrace(trace Tracer)

LogStackTrace log stack trace in recover panic

func SetError

func SetError(ctx context.Context, err error)

SetError global func TODO: separate in each tracer platform

func SetTracerPlatformType added in v1.9.3

func SetTracerPlatformType(t PlatformType)

SetTracerPlatformType function for set tracer platform

func SkipTraceContext

func SkipTraceContext(ctx context.Context) context.Context

SkipTraceContext inject to context for skip span tracer

func WithTracerFunc added in v1.10.7

func WithTracerFunc(ctx context.Context, operationName string, fn func(context.Context, Tracer))

WithTracerFunc functional with Tracer instance in function params

Types

type FinishOption added in v1.10.6

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

FinishOption for option when trace is finished

type FinishOptionFunc added in v1.10.6

type FinishOptionFunc func(*FinishOption)

FinishOptionFunc func

func FinishWithAdditionalTags added in v1.10.6

func FinishWithAdditionalTags(tags map[string]interface{}) FinishOptionFunc

FinishWithAdditionalTags option for add tag when finish

func FinishWithError added in v1.10.6

func FinishWithError(err error) FinishOptionFunc

FinishWithError option for add error when finish

func FinishWithFunc added in v1.17.0

func FinishWithFunc(finishFunc func()) FinishOptionFunc

FinishWithFunc option for add callback function before finish span

func FinishWithRecoverPanic added in v1.17.0

func FinishWithRecoverPanic(recoverFunc func(panicMessage any)) FinishOptionFunc

FinishWithRecoverPanic option for add recover func if panic

func FinishWithStackTraceDetail added in v1.15.7

func FinishWithStackTraceDetail() FinishOptionFunc

FinishWithStackTraceDetail option for add stack trace detail

type Option added in v1.6.8

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

Option for init tracer option

type OptionFunc added in v1.6.8

type OptionFunc func(*Option)

OptionFunc func

func OptionSetAgentHost added in v1.6.8

func OptionSetAgentHost(agent string) OptionFunc

OptionSetAgentHost option func

func OptionSetBuildNumberTag added in v1.6.8

func OptionSetBuildNumberTag(number string) OptionFunc

OptionSetBuildNumberTag option func

func OptionSetErrorWhitelist added in v1.17.0

func OptionSetErrorWhitelist(errs []error) OptionFunc

OptionSetErrorWhitelist option func, set no error if error in whitelist

func OptionSetLevel added in v1.6.8

func OptionSetLevel(level string) OptionFunc

OptionSetLevel option func

func OptionSetLogAllSpan added in v1.17.0

func OptionSetLogAllSpan() OptionFunc

OptionSetLogAllSpan option func

func OptionSetMaxGoroutineTag added in v1.6.8

func OptionSetMaxGoroutineTag(max int) OptionFunc

OptionSetMaxGoroutineTag option func

func OptionSetTraceDashboardURL added in v1.12.2

func OptionSetTraceDashboardURL(dashboardURL string) OptionFunc

OptionSetTraceDashboardURL option func

func OptionSetTraceIDExtractor added in v1.17.0

func OptionSetTraceIDExtractor(extractor func(context.Context) string) OptionFunc

OptionSetTraceIDExtractor option func, set trace id extractor

type PlatformType added in v1.9.3

type PlatformType interface {
	StartSpan(ctx context.Context, opName string) Tracer
	StartRootSpan(ctx context.Context, operationName string, header map[string]string) Tracer
	GetTraceID(ctx context.Context) string
	GetTraceURL(ctx context.Context) string
	interfaces.Closer
}

PlatformType define tracing platform. example using jaeger, sentry, aws x-ray, etc

func InitJaeger added in v1.17.0

func InitJaeger(serviceName string, opts ...OptionFunc) PlatformType

InitJaeger init jaeger tracing

type Tracer added in v1.10.6

type Tracer interface {
	Context() context.Context
	NewContext() context.Context
	SetTag(key string, value interface{})
	InjectRequestHeader(header map[string]string)
	SetError(err error)
	Log(key string, value interface{})
	Finish(opts ...FinishOptionFunc)
}

Tracer for trace

func StartTrace

func StartTrace(ctx context.Context, operationName string) Tracer

StartTrace starting trace child span from parent span

func StartTraceFromHeader added in v1.9.3

func StartTraceFromHeader(ctx context.Context, operationName string, header map[string]string) (Tracer, context.Context)

StartTraceFromHeader starting trace from root app handler based on header

func StartTraceWithContext added in v1.0.9

func StartTraceWithContext(ctx context.Context, operationName string) (Tracer, context.Context)

StartTraceWithContext starting trace child span from parent span, returning tracer and context

Jump to

Keyboard shortcuts

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