Prechádzať zdrojové kódy

Merge pull request #69 from rcrowley/savemoney

don't report zero counters. it's expensive.
Mikhail P 11 rokov pred
rodič
commit
dc42d45218
1 zmenil súbory, kde vykonal 11 pridanie a 8 odobranie
  1. 11 8
      librato/librato.go

+ 11 - 8
librato/librato.go

@@ -2,11 +2,12 @@ package librato
 
 import (
 	"fmt"
-	"github.com/rcrowley/go-metrics"
 	"log"
 	"math"
 	"regexp"
 	"time"
+
+	"github.com/rcrowley/go-metrics"
 )
 
 // a regexp for extracting the unit from time.Duration.String
@@ -87,14 +88,16 @@ func (self *Reporter) BuildRequest(now time.Time, r metrics.Registry) (snapshot
 		measurement[Period] = self.Interval.Seconds()
 		switch m := metric.(type) {
 		case metrics.Counter:
-			measurement[Name] = fmt.Sprintf("%s.%s", name, "count")
-			measurement[Value] = float64(m.Count())
-			measurement[Attributes] = map[string]interface{}{
-				DisplayUnitsLong:  Operations,
-				DisplayUnitsShort: OperationsShort,
-				DisplayMin:        "0",
+			if m.Count() > 0 {
+				measurement[Name] = fmt.Sprintf("%s.%s", name, "count")
+				measurement[Value] = float64(m.Count())
+				measurement[Attributes] = map[string]interface{}{
+					DisplayUnitsLong:  Operations,
+					DisplayUnitsShort: OperationsShort,
+					DisplayMin:        "0",
+				}
+				snapshot.Counters = append(snapshot.Counters, measurement)
 			}
-			snapshot.Counters = append(snapshot.Counters, measurement)
 		case metrics.Gauge:
 			measurement[Name] = name
 			measurement[Value] = float64(m.Value())