Browse Source

use modified prefix and method name

Henry Oswald 7 years ago
parent
commit
a8cfa97463
2 changed files with 9 additions and 8 deletions
  1. 5 3
      libraries/metrics/metrics.coffee
  2. 4 5
      libraries/metrics/timeAsyncMethod.coffee

+ 5 - 3
libraries/metrics/metrics.coffee

@@ -52,16 +52,18 @@ module.exports = Metrics =
 
 	set : (key, value, sampleRate = 1)->
 
-	inc : (key, sampleRate = 1)->
+	inc : (key, sampleRate = 1, opts)->
 		key = Metrics.buildPromKey(key)
 		if !promMetrics[key]?
 			promMetrics[key] = new prom.Counter({
 				name: key,
 				help: key, 
-				labelNames: ['app','host']
+				labelNames: ['app','host','status','method']
 			})
 		console.log("doing inc", key, appname)
-		promMetrics[key].inc({app: appname, host: hostname})
+		opts.app = appname
+		opts.host = hostname
+		promMetrics[key].inc(opts)
 
 	count : (key, count, sampleRate = 1)->
 		key = Metrics.buildPromKey(key)

+ 4 - 5
libraries/metrics/timeAsyncMethod.coffee

@@ -11,7 +11,7 @@ module.exports = (obj, methodName, prefix, logger) ->
 	startPrefix = prefix.split(".")[0]
 
 	endPrefix = prefix.split(".")[1]
-	modifedMethodName = "#{endPrefix}_methodName"
+	modifedMethodName = "#{endPrefix}_#{methodName}"
 	console.log "Async method", prefix, key, methodName, modifedMethodName
 	obj[methodName] = (originalArgs...) ->
 
@@ -25,16 +25,15 @@ module.exports = (obj, methodName, prefix, logger) ->
 		console.log("creating timer for async method", prefix, startPrefix, modifedMethodName)
 
 
-		timer = new metrics.Timer(prefix, null, {method: methodName})
-		console.log("changed timer for async method", prefix, methodName, key)
+		timer = new metrics.Timer(startPrefix, null, {method: modifedMethodName})
 
 		realMethod.call this, firstArgs..., (callbackArgs...) ->
 			elapsedTime = timer.done()
 			possibleError = callbackArgs[0]
 			if possibleError? 
-				metrics.inc "#{key}.failure"
+				metrics.inc "#{startPrefix}", null, {status:"success", method: modifedMethodName}
 			else
-				metrics.inc "#{key}.success"
+				metrics.inc "#{startPrefix}", null, {status:"failed", method: modifedMethodName}
 			if logger?
 				loggableArgs = {}
 				try