Bladeren bron

fix function monitor wrapper

dev_h
lovasoa 4 jaren geleden
bovenliggende
commit
66b4700e3e
No account linked to committer's email address
2 gewijzigde bestanden met toevoegingen van 26 en 13 verwijderingen
  1. 25
    12
      server/log.js
  2. 1
    1
      server/sockets.js

+ 25
- 12
server/log.js Bestand weergeven

@@ -30,9 +30,9 @@ if (config.STATSD_URL) {
30 30
 }
31 31
 
32 32
 if (statsd) {
33
-  setInterval(function reportHealth(){
34
-    statsd.gauge('memory', process.memoryUsage().heapUsed);
35
-  }, 1000);
33
+  setInterval(function reportHealth() {
34
+    statsd.gauge("memory", process.memoryUsage().heapUsed);
35
+  }, 30 * 1000);
36 36
 }
37 37
 
38 38
 /**
@@ -44,10 +44,9 @@ function log(type, infos) {
44 44
   var msg = type;
45 45
   if (infos) msg += "\t" + JSON.stringify(infos);
46 46
   if (statsd) {
47
-    const tags = {};
48
-    if (infos.board) tags.board = infos.board;
49
-    if (infos.original_ip) tags.original_ip = infos.original_ip;
50
-    statsd.increment(type, 1, tags);
47
+    let stat_name = type;
48
+    if (infos.board) stat_name += "." + infos.board;
49
+    statsd.increment(stat_name, 1);
51 50
   }
52 51
   console.log(msg);
53 52
 }
@@ -58,17 +57,31 @@ function log(type, infos) {
58 57
  * @returns {F}
59 58
  */
60 59
 function monitorFunction(f) {
61
-  if (statsd) return statsd.helpers.wrapCallback(f.name, f);
62
-  else return f;
60
+  if (!statsd) {
61
+    return f;
62
+  }
63
+  let client = statsd.getChildClient(f.name);
64
+  return function () {
65
+    let startTime = new Date();
66
+    try {
67
+      f.apply(null, arguments);
68
+      client.increment("ok", 1);
69
+    } catch (e) {
70
+      client.increment("err", 1);
71
+      throw e;
72
+    } finally {
73
+      client.timing("time", startTime);
74
+    }
75
+  };
63 76
 }
64 77
 
65 78
 /**
66 79
  * Report a number
67
- * @param {string} name 
68
- * @param {number} value 
80
+ * @param {string} name
81
+ * @param {number} value
69 82
  * @param {{[name:string]: string}=} tags
70 83
  */
71
-function gauge(name, value, tags){
84
+function gauge(name, value, tags) {
72 85
   if (statsd) statsd.gauge(name, value, tags);
73 86
 }
74 87
 

+ 1
- 1
server/sockets.js Bestand weergeven

@@ -72,7 +72,7 @@ function handleSocketConnection(socket) {
72 72
 
73 73
   socket.on(
74 74
     "error",
75
-    noFail(function onError(error) {
75
+    noFail(function onSocketError(error) {
76 76
       log("ERROR", error);
77 77
     })
78 78
   );

Laden…
Annuleren
Opslaan