profiler

package
v0.0.0-...-917d9ad Latest Latest
Warning

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

Go to latest
Published: Jan 31, 2024 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LogProcessor

func LogProcessor(profiles []*TagsProfile) error

func NewProfiler

func NewProfiler(processor Processor, interval, window time.Duration) *profiler

func Tag

func Tag(ctx context.Context)

Tag current goroutine with tagged ctx it's used for reuse goroutine scenario

func Untag

func Untag(ctx context.Context)

Untag current goroutine with tagged ctx it's used for reuse goroutine scenario

Types

type Processor

type Processor func(profiles []*TagsProfile) error

type Profiler

type Profiler interface {
	Run(ctx context.Context) (err error)
	Stop()
	Pause()
	Resume()
	Prepare(ctx context.Context) context.Context
	Tag(ctx context.Context, tags ...string) context.Context
	Untag(ctx context.Context)
	Lookup(ctx context.Context, key string) (string, bool)
}

type TagsProfile

type TagsProfile struct {
	Key     string   // eg: a=1,b=2
	Tags    []string // eg: ["a", "1", "b", "2"]
	Value   int64    // pprof cpu times
	Percent float64  // <= 1.0
}

TagsProfile 是按标签键分组的统计结果.

Jump to

Keyboard shortcuts

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