process

package
v5.1.1+incompatible Latest Latest
Warning

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

Go to latest
Published: Dec 6, 2016 License: Apache-2.0 Imports: 16 Imported by: 176

Documentation

Overview

Package process collects metrics about the running processes using information from the operating system.

An example event looks as following:

{
  "@timestamp": "2016-05-25T20:57:51.854Z",
  "beat": {
    "hostname": "host.example.com",
    "name": "host.example.com"
  },
  "metricset": {
    "module": "system",
    "name": "process",
    "rtt": 12269
  },
  "system": {
    "process": {
      "cmdline": "/System/Library/CoreServices/ReportCrash",
      "cpu": {
        "start_time": "22:57",
        "total_p": 0
      },
      "mem": {
        "rss": 27123712,
        "rss_pct": 0.0016,
        "share": 0,
        "size": 2577522688
      },
      "name": "ReportCrash",
      "pid": 97801,
      "ppid": 1,
      "state": "running",
      "username": "elastic"
    }
  },
  "type": "metricsets"
}

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetProcCpuPercentage

func GetProcCpuPercentage(last *Process, current *Process) float64

func GetProcMemPercentage

func GetProcMemPercentage(proc *Process, totalPhyMem uint64) float64

func New

func New(base mb.BaseMetricSet) (mb.MetricSet, error)

New creates and returns a new MetricSet.

func Pids

func Pids() ([]int, error)

Types

type MetricSet

type MetricSet struct {
	mb.BaseMetricSet
	// contains filtered or unexported fields
}

MetricSet that fetches process metrics.

func (*MetricSet) Fetch

func (m *MetricSet) Fetch() ([]common.MapStr, error)

Fetch fetches metrics for all processes. It iterates over each PID and collects process metadata, CPU metrics, and memory metrics.

type ProcStats

type ProcStats struct {
	ProcStats bool
	Procs     []string

	ProcsMap ProcsMap
	CpuTicks bool
	// contains filtered or unexported fields
}

func (*ProcStats) GetProcStats

func (procStats *ProcStats) GetProcStats() ([]common.MapStr, error)

func (*ProcStats) GetProcStatsEvents

func (procStats *ProcStats) GetProcStatsEvents() ([]common.MapStr, error)

func (*ProcStats) GetProcessEvent

func (procStats *ProcStats) GetProcessEvent(process *Process, last *Process) common.MapStr

func (*ProcStats) InitProcStats

func (procStats *ProcStats) InitProcStats() error

func (*ProcStats) MatchProcess

func (procStats *ProcStats) MatchProcess(name string) bool

type Process

type Process struct {
	Pid      int    `json:"pid"`
	Ppid     int    `json:"ppid"`
	Pgid     int    `json:"pgid"`
	Name     string `json:"name"`
	Username string `json:"username"`
	State    string `json:"state"`
	CmdLine  string `json:"cmdline"`
	Mem      sigar.ProcMem
	Cpu      sigar.ProcTime
	Ctime    time.Time
	FD       sigar.ProcFDUsage
}

type ProcsMap

type ProcsMap map[int]*Process

Jump to

Keyboard shortcuts

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