Skip to content

Commit

Permalink
Graph smoothing
Browse files Browse the repository at this point in the history
  • Loading branch information
Cryptkeeper committed Dec 18, 2015
1 parent 7e4d3c1 commit d07a315
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 9 deletions.
5 changes: 4 additions & 1 deletion app.js
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,10 @@ function pingAll() {
// Push it to our graphs.
var timeMs = util.getCurrentTimeMs();

if (!lastGraphPush[network.ip] || timeMs - lastGraphPush[network.ip] >= 60 * 1000) {
// The same mechanic from trimUselessPings is seen here.
// If we dropped the ping, then to avoid destroying the graph, ignore it.
// However if it's been too long since the last successful ping, we'll send it anyways.
if (!lastGraphPush[network.ip] || (timeMs - lastGraphPush[network.ip] >= 60 * 1000 && res) || timeMs - lastGraphPush[network.ip] >= 70 * 1000) {
lastGraphPush[network.ip] = timeMs;

// Don't have too much data!
Expand Down
5 changes: 0 additions & 5 deletions config.json
Original file line number Diff line number Diff line change
Expand Up @@ -110,11 +110,6 @@
"ip": "play.gotpvp.com",
"type": "PC"
},
{
"name": "MCLegends",
"ip": "play.mc-legends.com",
"type": "PC"
},
{
"name": "Rewinside",
"ip": "mc.rewinside.tv",
Expand Down
12 changes: 9 additions & 3 deletions lib/util.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,15 @@ function trimUselessPings(data) {
// 0 is the index of the timestamp.
// See the convertPingsToGraph method.
if (entry[0] - lastTimestamp >= 60 * 1000) {
filteredListing.push(entry);

lastTimestamp = entry[0];
// This second check tries to smooth out randomly dropped pings.
// By default we only want entries that are online (playerCount > 0).
// This way we'll keep looking forward until we find one that is online.
// However if we can't find one within a reasonable timeframe, select the sucky one.
if (entry[0] - lastTimestamp >= 120 * 1000 || entry[1] > 0) {
filteredListing.push(entry);

lastTimestamp = entry[0];
}
}
}

Expand Down

0 comments on commit d07a315

Please sign in to comment.