Documentation
¶
Index ¶
- Constants
- func NewLogger(logLevel, logFormat, debugName string) log.Logger
- func NewNoopProfileStoreClient() profilestorepb.ProfileStoreServiceClient
- type CgroupProfiler
- type CgroupProfilingTarget
- type DebugInfoClient
- type NoopDebugInfoClient
- type NoopProfileStoreClient
- type PodManager
- type Profiler
- type Record
- type SystemdManager
- type SystemdUnitTarget
- type TargetManager
- func (m *TargetManager) ActiveProfilers() []Profiler
- func (m *TargetManager) NextMatchingProfile(ctx context.Context, matchers []*labels.Matcher) (*profile.Profile, error)
- func (m *TargetManager) Observe(f func(Record)) *observer
- func (m *TargetManager) ObserveProfile(r Record)
- func (m *TargetManager) RemoveObserver(o *observer)
- type TargetSource
Constants ¶
View Source
const ( LogFormatLogfmt = "logfmt" LogFormatJSON = "json" )
Variables ¶
This section is empty.
Functions ¶
func NewLogger ¶
NewLogger returns a log.Logger that prints in the provided format at the provided level with a UTC timestamp and the caller of the log entry. If non empty, the debug name is also appended as a field to all log lines. Panics if the log level is not error, warn, info or debug. Log level is expected to be validated before passed to this function.
func NewNoopProfileStoreClient ¶
func NewNoopProfileStoreClient() profilestorepb.ProfileStoreServiceClient
Types ¶
type CgroupProfiler ¶
type CgroupProfiler struct {
// contains filtered or unexported fields
}
func NewCgroupProfiler ¶
func NewCgroupProfiler( logger log.Logger, externalLabels map[string]string, ksymCache *ksym.KsymCache, writeClient profilestorepb.ProfileStoreServiceClient, debugInfoClient DebugInfoClient, target CgroupProfilingTarget, sink func(Record), tmp string, ) *CgroupProfiler
func (*CgroupProfiler) Labels ¶
func (p *CgroupProfiler) Labels() []*profilestorepb.Label
func (*CgroupProfiler) LastError ¶
func (p *CgroupProfiler) LastError() error
func (*CgroupProfiler) LastProfileTakenAt ¶
func (p *CgroupProfiler) LastProfileTakenAt() time.Time
func (*CgroupProfiler) Stop ¶
func (p *CgroupProfiler) Stop()
type CgroupProfilingTarget ¶
type CgroupProfilingTarget interface {
PerfEventCgroupPath() string
Labels() []*profilestorepb.Label
}
type DebugInfoClient ¶
type DebugInfoClient interface {
Exists(ctx context.Context, buildID string) (bool, error)
Upload(ctx context.Context, buildID string, f io.Reader) (uint64, error)
}
func NewNoopDebugInfoClient ¶
func NewNoopDebugInfoClient() DebugInfoClient
type NoopProfileStoreClient ¶
type NoopProfileStoreClient struct{}
func (*NoopProfileStoreClient) WriteRaw ¶
func (c *NoopProfileStoreClient) WriteRaw(ctx context.Context, in *profilestorepb.WriteRawRequest, opts ...grpc.CallOption) (*profilestorepb.WriteRawResponse, error)
type PodManager ¶
type PodManager struct {
// contains filtered or unexported fields
}
func NewPodManager ¶
func NewPodManager( logger log.Logger, externalLabels map[string]string, nodeName string, podLabelSelector string, samplingRatio float64, ksymCache *ksym.KsymCache, writeClient profilestorepb.ProfileStoreServiceClient, debugInfoClient DebugInfoClient, tmp string, ) (*PodManager, error)
func (*PodManager) ActiveProfilers ¶
func (m *PodManager) ActiveProfilers() []Profiler
func (*PodManager) SetSink ¶
func (g *PodManager) SetSink(sink func(Record))
type Profiler ¶
type Profiler interface {
Labels() []*profilestorepb.Label
LastProfileTakenAt() time.Time
LastError() error
}
type SystemdManager ¶
type SystemdManager struct {
// contains filtered or unexported fields
}
func NewSystemdManager ¶
func NewSystemdManager( logger log.Logger, nodeName string, units []string, samplingRatio float64, externalLabels map[string]string, ksymCache *ksym.KsymCache, writeClient profilestorepb.ProfileStoreServiceClient, debugInfoClient DebugInfoClient, tmp string, ) *SystemdManager
func (*SystemdManager) ActiveProfilers ¶
func (m *SystemdManager) ActiveProfilers() []Profiler
func (*SystemdManager) SetSink ¶
func (m *SystemdManager) SetSink(sink func(Record))
type SystemdUnitTarget ¶
func (*SystemdUnitTarget) Labels ¶
func (t *SystemdUnitTarget) Labels() []*profilestorepb.Label
func (*SystemdUnitTarget) PerfEventCgroupPath ¶
func (t *SystemdUnitTarget) PerfEventCgroupPath() string
type TargetManager ¶
type TargetManager struct {
// contains filtered or unexported fields
}
func NewTargetManager ¶
func NewTargetManager(sources []TargetSource) *TargetManager
func (*TargetManager) ActiveProfilers ¶
func (m *TargetManager) ActiveProfilers() []Profiler
func (*TargetManager) NextMatchingProfile ¶
func (*TargetManager) Observe ¶
func (m *TargetManager) Observe(f func(Record)) *observer
func (*TargetManager) ObserveProfile ¶
func (m *TargetManager) ObserveProfile(r Record)
func (*TargetManager) RemoveObserver ¶
func (m *TargetManager) RemoveObserver(o *observer)
type TargetSource ¶
Click to show internal directories.
Click to hide internal directories.