Report DEAD (X) State Process (#2501)
Report count of processes in dead (X) process state from the processes input. This process state is only valid on Linux.
This commit is contained in:
parent
24ae421ad5
commit
ccd2182295
|
@ -56,6 +56,7 @@ be deprecated eventually.
|
||||||
- [#2339](https://github.com/influxdata/telegraf/pull/2339): Increment gather_errors for all errors emitted by inputs.
|
- [#2339](https://github.com/influxdata/telegraf/pull/2339): Increment gather_errors for all errors emitted by inputs.
|
||||||
- [#2071](https://github.com/influxdata/telegraf/issues/2071): Use official docker SDK.
|
- [#2071](https://github.com/influxdata/telegraf/issues/2071): Use official docker SDK.
|
||||||
- [#1678](https://github.com/influxdata/telegraf/pull/1678): Add AMQP consumer input plugin
|
- [#1678](https://github.com/influxdata/telegraf/pull/1678): Add AMQP consumer input plugin
|
||||||
|
- [#2501](https://github.com/influxdata/telegraf/pull/2501): Support DEAD(X) state in system input plugin.
|
||||||
|
|
||||||
### Bugfixes
|
### Bugfixes
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,7 @@ it requires access to execute `ps`.
|
||||||
- stopped
|
- stopped
|
||||||
- total
|
- total
|
||||||
- zombie
|
- zombie
|
||||||
|
- dead
|
||||||
- wait (freebsd only)
|
- wait (freebsd only)
|
||||||
- idle (bsd only)
|
- idle (bsd only)
|
||||||
- paging (linux only)
|
- paging (linux only)
|
||||||
|
@ -39,6 +40,7 @@ Linux FreeBSD Darwin meaning
|
||||||
R R R running
|
R R R running
|
||||||
S S S sleeping
|
S S S sleeping
|
||||||
Z Z Z zombie
|
Z Z Z zombie
|
||||||
|
X none none dead
|
||||||
T T T stopped
|
T T T stopped
|
||||||
none I I idle (sleeping for longer than about 20 seconds)
|
none I I idle (sleeping for longer than about 20 seconds)
|
||||||
D D,L U blocked (waiting in uninterruptible sleep, or locked)
|
D D,L U blocked (waiting in uninterruptible sleep, or locked)
|
||||||
|
@ -54,5 +56,5 @@ None
|
||||||
```
|
```
|
||||||
$ telegraf -config ~/ws/telegraf.conf -input-filter processes -test
|
$ telegraf -config ~/ws/telegraf.conf -input-filter processes -test
|
||||||
* Plugin: processes, Collection 1
|
* Plugin: processes, Collection 1
|
||||||
> processes blocked=8i,running=1i,sleeping=265i,stopped=0i,total=274i,zombie=0i,paging=0i,total_threads=687i 1457478636980905042
|
> processes blocked=8i,running=1i,sleeping=265i,stopped=0i,total=274i,zombie=0i,dead=0i,paging=0i,total_threads=687i 1457478636980905042
|
||||||
```
|
```
|
||||||
|
|
|
@ -81,6 +81,7 @@ func getEmptyFields() map[string]interface{} {
|
||||||
case "openbsd":
|
case "openbsd":
|
||||||
fields["idle"] = int64(0)
|
fields["idle"] = int64(0)
|
||||||
case "linux":
|
case "linux":
|
||||||
|
fields["dead"] = int64(0)
|
||||||
fields["paging"] = int64(0)
|
fields["paging"] = int64(0)
|
||||||
fields["total_threads"] = int64(0)
|
fields["total_threads"] = int64(0)
|
||||||
}
|
}
|
||||||
|
@ -107,6 +108,8 @@ func (p *Processes) gatherFromPS(fields map[string]interface{}) error {
|
||||||
fields["blocked"] = fields["blocked"].(int64) + int64(1)
|
fields["blocked"] = fields["blocked"].(int64) + int64(1)
|
||||||
case 'Z':
|
case 'Z':
|
||||||
fields["zombies"] = fields["zombies"].(int64) + int64(1)
|
fields["zombies"] = fields["zombies"].(int64) + int64(1)
|
||||||
|
case 'X':
|
||||||
|
fields["dead"] = fields["dead"].(int64) + int64(1)
|
||||||
case 'T':
|
case 'T':
|
||||||
fields["stopped"] = fields["stopped"].(int64) + int64(1)
|
fields["stopped"] = fields["stopped"].(int64) + int64(1)
|
||||||
case 'R':
|
case 'R':
|
||||||
|
@ -164,6 +167,8 @@ func (p *Processes) gatherFromProc(fields map[string]interface{}) error {
|
||||||
fields["blocked"] = fields["blocked"].(int64) + int64(1)
|
fields["blocked"] = fields["blocked"].(int64) + int64(1)
|
||||||
case 'Z':
|
case 'Z':
|
||||||
fields["zombies"] = fields["zombies"].(int64) + int64(1)
|
fields["zombies"] = fields["zombies"].(int64) + int64(1)
|
||||||
|
case 'X':
|
||||||
|
fields["dead"] = fields["dead"].(int64) + int64(1)
|
||||||
case 'T', 't':
|
case 'T', 't':
|
||||||
fields["stopped"] = fields["stopped"].(int64) + int64(1)
|
fields["stopped"] = fields["stopped"].(int64) + int64(1)
|
||||||
case 'W':
|
case 'W':
|
||||||
|
|
Loading…
Reference in New Issue