traceutil

package
v0.0.0-...-4064606 Latest Latest
Warning

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

Go to latest
Published: Dec 14, 2020 License: Apache-2.0, Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package traceutil implements tracing utilities using "context".

Index

Constants

View Source
const (
	TraceKey     = "trace"
	StartTimeKey = "startTime"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Field

type Field struct {
	Key   string
	Value interface{}
}

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

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

Jump to

Keyboard shortcuts

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