Documentation
¶
Index ¶
- func BumpMemlock(cur, max uint64) (syscall.Rlimit, error)
- func ConvertToPprof(captureTime time.Time, prs ...*Profile) (*profile.Profile, error)
- func HumanizeRLimit(val uint64) string
- type DebugInfoManager
- type FileProfileWriter
- type LabelsManager
- type NoopProfiler
- type Normalizer
- type ObjectFileCache
- type PID
- type ProcessMapCache
- type Profile
- type ProfileWriter
- type RemoteProfileWriter
- type StackID
- type Symbolizer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BumpMemlock ¶ added in v0.10.0
BumpMemlock increases the current memlock limit to a value more reasonable for the profiler's needs.
func ConvertToPprof ¶ added in v0.10.0
ConvertToPprof converts several per process Profile to a pprof Profile.
func HumanizeRLimit ¶ added in v0.10.1
Types ¶
type DebugInfoManager ¶ added in v0.10.0
type DebugInfoManager interface {
EnsureUploaded(ctx context.Context, objFiles []*objectfile.MappedObjectFile)
}
type FileProfileWriter ¶ added in v0.10.0
type FileProfileWriter struct {
// contains filtered or unexported fields
}
FileProfileWriter writes profiles to a local file.
func NewFileProfileWriter ¶ added in v0.10.0
func NewFileProfileWriter(dirPath string) *FileProfileWriter
NewFileProfileWriter creates a new FileProfileWriter.
type LabelsManager ¶ added in v0.10.0
type NoopProfiler ¶ added in v0.10.0
type NoopProfiler struct{}
NoopProfiler does nothing. It serves as a skeleton of what other will have to be implemented when adding a new profiler.
func (*NoopProfiler) LastError ¶ added in v0.10.0
func (p *NoopProfiler) LastError() error
func (*NoopProfiler) LastProfileStartedAt ¶ added in v0.10.0
func (p *NoopProfiler) LastProfileStartedAt() time.Time
func (*NoopProfiler) Name ¶ added in v0.10.0
func (p *NoopProfiler) Name() string
func (*NoopProfiler) ProcessLastErrors ¶ added in v0.10.0
func (p *NoopProfiler) ProcessLastErrors() map[int]error
func (*NoopProfiler) Stop ¶ added in v0.10.0
func (p *NoopProfiler) Stop()
type Normalizer ¶ added in v0.10.0
type ObjectFileCache ¶ added in v0.10.0
type ObjectFileCache interface {
ObjectFileForProcess(pid int, m *profile.Mapping) (*objectfile.MappedObjectFile, error)
}
type PID ¶ added in v0.10.0
type PID int32
PID is the process ID of the profiling target. See https://ftp.gnu.org/old-gnu/Manuals/glibc-2.2.3/html_node/libc_554.html
type ProcessMapCache ¶ added in v0.10.0
type Profile ¶ added in v0.10.0
type Profile struct {
ID StackID
Samples []*profile.Sample
Locations []*profile.Location
UserLocations []*profile.Location
KernelLocations []*profile.Location
UserMappings []*profile.Mapping
KernelMapping *profile.Mapping
// Only available after symbolization.
Functions []*profile.Function
}
Profile represents a capture profile of a process.
type ProfileWriter ¶ added in v0.10.0
type RemoteProfileWriter ¶ added in v0.10.0
type RemoteProfileWriter struct {
// contains filtered or unexported fields
}
RemoteProfileWriter is a profile writer that writes profiles to a remote profile store.
func NewRemoteProfileWriter ¶ added in v0.10.0
func NewRemoteProfileWriter(profileStoreClient profilestorepb.ProfileStoreServiceClient) *RemoteProfileWriter
NewRemoteProfileWriter creates a new RemoteProfileWriter.
type StackID ¶ added in v0.10.0
StackID consists of two parts: the first part is the process ID of the profiling target, the second part is the thread ID of the stack trace has been collected from.