fix typo in sample config and README

Closes #240
This commit is contained in:
Ranjib Dey 2015-10-05 15:45:40 -07:00 committed by Cameron Sparr
parent e424d47ce6
commit 6827459b9f
4 changed files with 60 additions and 15 deletions

View File

@ -1,10 +1,15 @@
# Procstat plugin # Telegraf plugin: procstat
#### Description
The procstat plugin can be used to monitor system resource usage by an The procstat plugin can be used to monitor system resource usage by an
individual process. individual process using their /proc data.
Processes can be specified either by pid file or by executable name. Procstat Processes can be specified either by pid file or by executable name. Procstat
plugin will use `pgrep` when executable name is provided to obtain the pid. Proctsta plugin will transmit IO, memory, cpu, file descriptor related measurements for every process specified. A prefix can be set to isolate individual process specific measurements. plugin will use `pgrep` when executable name is provided to obtain the pid.
Proctsta plugin will transmit IO, memory, cpu, file descriptor related
measurements for every process specified. A prefix can be set to isolate
individual process specific measurements.
Example: Example:
@ -19,3 +24,37 @@ Example:
pid_file = "/var/run/lxc/dnsmasq.pid" pid_file = "/var/run/lxc/dnsmasq.pid"
prefix = "dnsmasq" prefix = "dnsmasq"
``` ```
# Measurements
Note: prefix will set by the user, per process.
File descriptor related measurement names:
- procstat_prefix_num_fds value=4
Context switch related measurement names:
- procstat_prefix_voluntary_context_switches value=250
- procstat_prefix_involuntary_context_switches value=0
I/O related measurement names:
- procstat_prefix_read_count value=396
- procstat_prefix_write_count value=1
- procstat_prefix_read_bytes value=1019904
- procstat_prefix_write_bytes value=1
CPU related measurement names:
- procstat_prefix_cpu_user value=0
- procstat_prefix_cpu_system value=0.01
- procstat_prefix_cpu_idle value=0
- procstat_prefix_cpu_nice value=0
- procstat_prefix_cpu_iowait value=0
- procstat_prefix_cpu_irq value=0
- procstat_prefix_cpu_soft_irq value=0
- procstat_prefix_cpu_soft_steal value=0
- procstat_prefix_cpu_soft_stolen value=0
- procstat_prefix_cpu_soft_guest value=0
- procstat_prefix_cpu_soft_guest_nice value=0
Memory related measurement names:
- procstat_prefix_memory_rss value=1777664
- procstat_prefix_memory_vms value=24227840
- procstat_prefix_memory_swap value=282624

View File

@ -2,13 +2,15 @@ package procstat
import ( import (
"fmt" "fmt"
"github.com/influxdb/telegraf/plugins"
"github.com/shirou/gopsutil/process"
"io/ioutil" "io/ioutil"
"os/exec" "os/exec"
"strconv" "strconv"
"strings" "strings"
"sync" "sync"
"github.com/shirou/gopsutil/process"
"github.com/influxdb/telegraf/plugins"
) )
type Specification struct { type Specification struct {
@ -26,12 +28,12 @@ func NewProcstat() *Procstat {
} }
var sampleConfig = ` var sampleConfig = `
[[process.specifications]] [[procstat.specifications]]
# pid file prefix = "nginx" # required
pid_file = "/path/to/foo.pid" # Use one of pid_file or exe to find process
pid_file = "/var/run/nginx.pid"
# executable name (used by pgrep) # executable name (used by pgrep)
exe = "/path/to/foo" # exe = "nginx"
name = "foo" # required
` `
func (_ *Procstat) SampleConfig() string { func (_ *Procstat) SampleConfig() string {
@ -39,7 +41,7 @@ func (_ *Procstat) SampleConfig() string {
} }
func (_ *Procstat) Description() string { func (_ *Procstat) Description() string {
return "Monitor process cpu and memory usage" return "Monitor process cpu and memory usage"
} }
func (p *Procstat) Gather(acc plugins.Accumulator) error { func (p *Procstat) Gather(acc plugins.Accumulator) error {

View File

@ -1,13 +1,15 @@
package procstat package procstat
import ( import (
"github.com/influxdb/telegraf/testutil"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"io/ioutil" "io/ioutil"
"os" "os"
"strconv" "strconv"
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/influxdb/telegraf/testutil"
) )
func TestGather(t *testing.T) { func TestGather(t *testing.T) {

View File

@ -2,8 +2,10 @@ package procstat
import ( import (
"fmt" "fmt"
"github.com/influxdb/telegraf/plugins"
"github.com/shirou/gopsutil/process" "github.com/shirou/gopsutil/process"
"github.com/influxdb/telegraf/plugins"
) )
type SpecProcessor struct { type SpecProcessor struct {