Răsfoiți Sursa

Ensure gauge values are numeric, not string

Christopher Hoskin 8 ani în urmă
părinte
comite
65fccf8abe
1 a modificat fișierele cu 5 adăugiri și 2 ștergeri
  1. 5 2
      libraries/metrics/metrics.coffee

+ 5 - 2
libraries/metrics/metrics.coffee

@@ -35,6 +35,9 @@ module.exports = Metrics =
 	sanitizeKey: (key) ->
 		key.replace /[^a-zA-Z0-9]/g, "_"
 
+	sanitizeValue: (value) ->
+		parseFloat(value)
+
 	set : (key, value, sampleRate = 1)->
 		statsd.set buildKey(key), value, sampleRate
 
@@ -74,7 +77,7 @@ module.exports = Metrics =
 				help: key, 
 				labelNames: ['name','host']
 			})
-		gauges[key].set({name: name, host: hostname},value)
+		gauges[key].set({name: name, host: hostname},this.sanitizeValue(value))
 
 	globalGauge: (key, value, sampleRate = 1)->
 		statsd.gauge buildGlobalKey(key), value, sampleRate
@@ -85,7 +88,7 @@ module.exports = Metrics =
 				help: key, 
 				labelNames: ['name','host']
 			})
-		gauges[key].set({name: name},value)
+		gauges[key].set({name: name},this.sanitizeValue(value))
 
 	mongodb: require "./mongodb"
 	http: require "./http"