From d5add07c0b2636563fbcd334b539149bea853765 Mon Sep 17 00:00:00 2001
From: Pierre Fersing <pierref@pierref.org>
Date: Thu, 26 May 2016 18:58:20 +0200
Subject: [PATCH] processes: Don't return error if process exited (#1283)

---
 CHANGELOG.md                       | 1 +
 plugins/inputs/system/processes.go | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6ad41f55..faa36cf3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -34,6 +34,7 @@ time before a new metric is included by the plugin.
 - [#1221](https://github.com/influxdata/telegraf/pull/1221): Fix influxdb n_shards counter.
 - [#1258](https://github.com/influxdata/telegraf/pull/1258): Fix potential kernel plugin integer parse error.
 - [#1268](https://github.com/influxdata/telegraf/pull/1268): Fix potential influxdb input type assertion panic.
+- [#1283](https://github.com/influxdata/telegraf/pull/1283): Still send processes metrics if a process exited during metric collection.
 
 ## v0.13.1 [2016-05-24]
 
diff --git a/plugins/inputs/system/processes.go b/plugins/inputs/system/processes.go
index dd7ea2b2..c2cd8525 100644
--- a/plugins/inputs/system/processes.go
+++ b/plugins/inputs/system/processes.go
@@ -141,6 +141,9 @@ func (p *Processes) gatherFromProc(fields map[string]interface{}) error {
 		statFile := path.Join("/proc", file.Name(), "stat")
 		data, err := p.readProcFile(statFile)
 		if err != nil {
+			if !file.IsDir() {
+				continue
+			}
 			return err
 		}
 		if data == nil {
-- 
GitLab