Documentation ¶
Index ¶
Constants ¶
const ( PID = "pid" Name = "name" PPID = "ppid" Cmdline = "cmdline" Threads = "threads" CPUUsage = "process_cpu_usage_percent" MemoryUsage = "process_memory_usage_bytes" OpenFilesCount = "open_files_count" )
We use these keys in node metadata
Variables ¶
var ( MetadataTemplates = report.MetadataTemplates{ PID: {ID: PID, Label: "PID", From: report.FromLatest, Datatype: report.Number, Priority: 1}, Cmdline: {ID: Cmdline, Label: "Command", From: report.FromLatest, Priority: 2}, PPID: {ID: PPID, Label: "Parent PID", From: report.FromLatest, Datatype: report.Number, Priority: 3}, Threads: {ID: Threads, Label: "# Threads", From: report.FromLatest, Datatype: report.Number, Priority: 4}, } MetricTemplates = report.MetricTemplates{ CPUUsage: {ID: CPUUsage, Label: "CPU", Format: report.PercentFormat, Priority: 1}, MemoryUsage: {ID: MemoryUsage, Label: "Memory", Format: report.FilesizeFormat, Priority: 2}, OpenFilesCount: {ID: OpenFilesCount, Label: "Open Files", Format: report.IntegerFormat, Priority: 3}, } )
Exposed for testing
Functions ¶
func GetDeltaTotalJiffies ¶ added in v0.12.0
GetDeltaTotalJiffies returns the number of jiffies that have passed since it was last called. In that respect, it is side-effect-ful.
func IsProcInAccept ¶ added in v1.4.0
IsProcInAccept returns true if the process has a at least one thread blocked on the accept() system call
Types ¶
type CachingWalker ¶
type CachingWalker struct {
// contains filtered or unexported fields
}
CachingWalker is a walker than caches a copy of the output from another Walker, and then allows other concurrent readers to Walk that copy.
func NewCachingWalker ¶
func NewCachingWalker(source Walker) *CachingWalker
NewCachingWalker returns a new CachingWalker
func (*CachingWalker) Name ¶ added in v0.10.0
func (*CachingWalker) Name() string
Name of this ticker, for metrics gathering
func (*CachingWalker) Tick ¶ added in v0.7.0
func (c *CachingWalker) Tick() error
Tick updates cached copy of process list
type Jiffies ¶ added in v0.12.0
Jiffies is the type for the function used to fetch the elapsed jiffies.
type Process ¶
type Process struct {
PID, PPID int
Name string
Cmdline string
Threads int
Jiffies uint64
RSSBytes uint64
RSSBytesLimit uint64
OpenFilesCount int
OpenFilesLimit uint64
IsWaitingInAccept bool
}
Process represents a single process.
type Reporter ¶
type Reporter struct {
// contains filtered or unexported fields
}
Reporter generates Reports containing the Process topology.
func NewReporter ¶
func NewReporter(walker Walker, scope string, jiffies Jiffies, noCommandLineArguments bool) *Reporter
NewReporter makes a new Reporter.