pyroscope

package
v1.16.1 Latest Latest
Warning

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

Go to latest
Published: May 5, 2026 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	LabelNameDelta   = "__delta__"
	LabelName        = "__name__"
	LabelServiceName = "service_name"

	HeaderContentType = "Content-Type"
)

Variables

View Source
var NoopAppendable = AppendableFunc(func(_ context.Context, _ labels.Labels, _ []*RawSample) error { return nil })

Functions

This section is empty.

Types

type Appendable

type Appendable interface {
	debuginfo.Appender

	Appender() Appender
}

type Appender

type Appender interface {
	Append(ctx context.Context, labels labels.Labels, samples []*RawSample) error
	AppendIngest(ctx context.Context, profile *IncomingProfile) error
}

type AppenderMock added in v1.13.0

type AppenderMock struct {
	AppendIngestFunc     func(ctx context.Context, profile *IncomingProfile) error
	AppendFunc           func(ctx context.Context, labels labels.Labels, samples []*RawSample) error
	DebugInfoClientsFunc func() []*debuginfoclient.Client
	DebugInfoUploadFunc  func(j debuginfo.UploadJob)
}

func AppendableFunc

func AppendableFunc(f func(ctx context.Context, labels labels.Labels, samples []*RawSample) error) AppenderMock

func AppendableIngestFunc added in v1.7.0

func AppendableIngestFunc(f func(ctx context.Context, profile *IncomingProfile) error) AppenderMock

func (AppenderMock) Append added in v1.13.0

func (a AppenderMock) Append(ctx context.Context, labels labels.Labels, samples []*RawSample) error

func (AppenderMock) AppendIngest added in v1.13.0

func (a AppenderMock) AppendIngest(ctx context.Context, profile *IncomingProfile) error

func (AppenderMock) Appender added in v1.13.0

func (a AppenderMock) Appender() Appender

func (AppenderMock) DebugInfoClients added in v1.16.0

func (a AppenderMock) DebugInfoClients() []*debuginfoclient.Client

func (AppenderMock) Upload added in v1.13.0

func (a AppenderMock) Upload(j debuginfo.UploadJob)

type Fanout

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

Fanout supports the default Alloy style of appendables since it can go to multiple outputs. It also allows the intercepting of appends.

func NewFanout

func NewFanout(children []Appendable, componentID string, register prometheus.Registerer) *Fanout

NewFanout creates a fanout appendable.

func (*Fanout) Appender

func (f *Fanout) Appender() Appender

Appender satisfies the Appendable interface.

func (*Fanout) Children

func (f *Fanout) Children() []Appendable

Children returns the children of the fanout.

func (*Fanout) DebugInfoClients added in v1.16.0

func (f *Fanout) DebugInfoClients() []*debuginfoclient.Client

func (*Fanout) String added in v1.12.0

func (f *Fanout) String() string

func (*Fanout) UpdateChildren

func (f *Fanout) UpdateChildren(children []Appendable)

UpdateChildren allows changing of the children of the fanout.

func (*Fanout) Upload added in v1.13.0

func (f *Fanout) Upload(j debuginfo.UploadJob)

type IncomingProfile added in v1.5.0

type IncomingProfile struct {
	// RawBody is the set of bytes of the pprof profile, as its sent by the client
	RawBody []byte
	// ContentType is the content type of the RawBody. This must be sent on to the endpoints.
	ContentType []string
	URL         *url.URL
	Labels      labels.Labels
}

type RawSample

type RawSample struct {
	ID string
	// raw_profile is the set of bytes of the pprof profile
	RawProfile []byte
}

Directories

Path Synopsis
reporter/parca/reporter/elfwriter
Package elfwriter is a package to write ELF files without having their entire contents in memory at any one time.
Package elfwriter is a package to write ELF files without having their entire contents in memory at any one time.
Package enrich provides the pyroscope.enrich component.
Package enrich provides the pyroscope.enrich component.
Package relabel provides label manipulation for Pyroscope profiles.
Package relabel provides label manipulation for Pyroscope profiles.
internal/fastdelta
Package fastdelta tries to match up samples between two pprof profiles and take their difference.
Package fastdelta tries to match up samples between two pprof profiles and take their difference.
internal/pproflite
Package pproflite implements zero-allocation pprof encoding and decoding.
Package pproflite implements zero-allocation pprof encoding and decoding.
promhttp2
Package promhttp2 is a local copy of github.com/prometheus/common/config, maintained so that the pyroscope write component can customise HTTP client construction in ways that are not possible through the upstream API, for example enabling h2c (HTTP/2 cleartext).
Package promhttp2 is a local copy of github.com/prometheus/common/config, maintained so that the pyroscope write component can customise HTTP client construction in ways that are not possible through the upstream API, for example enabling h2c (HTTP/2 cleartext).

Jump to

Keyboard shortcuts

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