diff --git a/index.js b/index.js index 5e7687c..4342685 100644 --- a/index.js +++ b/index.js @@ -88,7 +88,8 @@ const middlewareWrapper = (app, config) => { config.spans.forEach((span) => { span.os = [] span.responses = [] - setInterval(() => gatherOsMetrics(io, span), span.interval * 1000) + const interval = setInterval(() => gatherOsMetrics(io, span), span.interval * 1000) + interval.unref() }) // console.log(config) diff --git a/koa-monitor-frontend.js b/koa-monitor-frontend.js index 2883315..474896c 100644 --- a/koa-monitor-frontend.js +++ b/koa-monitor-frontend.js @@ -175,9 +175,11 @@ socket.on('stats', function (data) { responseTimeChart.data.labels.push(data.responses.timestamp) var deltaTime = data.responses.timestamp - rpsChart.data.labels[rpsChart.data.labels.length - 1] - rpsStat.textContent = (data.responses.count / deltaTime * 1000).toFixed(2) - rpsChart.data.datasets[0].data.push(data.responses.count / deltaTime * 1000) - rpsChart.data.labels.push(data.responses.timestamp) + if (deltaTime > 0) { + rpsStat.textContent = (data.responses.count / deltaTime * 1000).toFixed(2) + rpsChart.data.datasets[0].data.push(data.responses.count / deltaTime * 1000) + rpsChart.data.labels.push(data.responses.timestamp) + } charts.forEach(function (chart) { if (spans[defaultSpan].retention < chart.data.labels.length) { diff --git a/package.json b/package.json index 151bc57..a543961 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "koa-monitor", - "version": "0.2.3", + "version": "0.2.4", "description": "Realtime monitoring for koa-based Node applications", "main": "index.js", "keywords": [ @@ -10,6 +10,9 @@ "koa", "charts" ], + "engines" : { + "node" : ">=4" + }, "author": "Jiri Spac capajj@gmail.com", "license": "MIT", "repository": { @@ -19,11 +22,11 @@ "dependencies": { "handlebars": "^4.0.5", "mz": "^2.4.0", - "pidusage": "^1.0.4", + "pidusage": "^1.0.5", "socket.io": "^1.4.8" }, "devDependencies": { - "koa": "^1.2.1", - "standard": "^8.0.0-beta.5" + "koa": "^1.2.2", + "standard": "^8.0.0" } }