v3go.etcd.io/etcd/pkg/v3/traceutil Index | Files

package traceutil

import "go.etcd.io/etcd/pkg/v3/traceutil"

Package traceutil implements tracing utilities using "context".

Index

Types

type Field

type Field struct {
	Key   string
	Value any
}

Field is a kv pair to record additional details of the trace.

type StartTimeKey

type StartTimeKey struct{}

StartTimeKey is used as a key of context for start time of operation.

type Trace

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

func Get

func Get(ctx context.Context) *Trace

func New

func New(op string, lg *zap.Logger, fields ...Field) *Trace

func TODO

func TODO() *Trace

TODO returns a non-nil, empty Trace

func (*Trace) AddField

func (t *Trace) AddField(fields ...Field)

func (*Trace) GetStartTime

func (t *Trace) GetStartTime() time.Time

func (*Trace) InsertStep

func (t *Trace) InsertStep(at int, time time.Time, msg string, fields ...Field)

func (*Trace) IsEmpty

func (t *Trace) IsEmpty() bool

func (*Trace) Log

func (t *Trace) Log()

Log dumps all steps in the Trace

func (*Trace) LogAllStepsIfLong

func (t *Trace) LogAllStepsIfLong(threshold time.Duration)

LogAllStepsIfLong dumps all logs if the duration is longer than threshold

func (*Trace) LogIfLong

func (t *Trace) LogIfLong(threshold time.Duration)

LogIfLong dumps logs if the duration is longer than threshold

func (*Trace) LogWithStepThreshold

func (t *Trace) LogWithStepThreshold(threshold time.Duration)

LogWithStepThreshold only dumps step whose duration is longer than step threshold

func (*Trace) SetStartTime

func (t *Trace) SetStartTime(time time.Time)

func (*Trace) StartSubTrace

func (t *Trace) StartSubTrace(fields ...Field)

StartSubTrace adds step to trace as a start sign of sublevel trace All steps in the subtrace will log out the input fields of this function

func (*Trace) Step

func (t *Trace) Step(msg string, fields ...Field)

Step adds step to trace

func (*Trace) StepWithFunction

func (t *Trace) StepWithFunction(f func(), msg string, fields ...Field)

StepWithFunction will measure the input function as a single step

func (*Trace) StopSubTrace

func (t *Trace) StopSubTrace(fields ...Field)

StopSubTrace adds step to trace as a end sign of sublevel trace All steps in the subtrace will log out the input fields of this function

type TraceKey

type TraceKey struct{}

TraceKey is used as a key of context for Trace.

Source Files

trace.go

Version
v3.6.1 (latest)
Published
Jun 6, 2025
Platform
linux/amd64
Imports
6 packages
Last checked
2 days ago

Tools for package owners.