nil metric list panic fix

This commit is contained in:
Cameron Sparr 2016-06-29 11:58:31 +02:00
parent 048448aa93
commit 2d4864e126
3 changed files with 9 additions and 1 deletions

View File

@ -36,6 +36,7 @@ should now look like:
### Bugfixes
- [#1426](https://github.com/influxdata/telegraf/pull/1426): nil metrics panic fix.
- [#1384](https://github.com/influxdata/telegraf/pull/1384): Fix datarace in apache input plugin.
- [#1399](https://github.com/influxdata/telegraf/issues/1399): Add `read_repairs` statistics to riak plugin.
- [#1405](https://github.com/influxdata/telegraf/issues/1405): Fix memory/connection leak in prometheus input plugin.

View File

@ -138,7 +138,7 @@ func (ro *RunningOutput) Write() error {
}
func (ro *RunningOutput) write(metrics []telegraf.Metric) error {
if len(metrics) == 0 {
if metrics == nil || len(metrics) == 0 {
return nil
}
start := time.Now()

View File

@ -26,6 +26,9 @@ func (s *GraphiteSerializer) Serialize(metric telegraf.Metric) ([]string, error)
timestamp := metric.UnixNano() / 1000000000
bucket := s.SerializeBucketName(metric.Name(), metric.Tags())
if bucket == "" {
return out, nil
}
for fieldName, value := range metric.Fields() {
// Convert value to string
@ -89,6 +92,10 @@ func (s *GraphiteSerializer) SerializeBucketName(
}
}
if len(out) == 0 {
return ""
}
if s.Prefix == "" {
return sanitizedChars.Replace(strings.Join(out, "."))
}