Browse Source

intervalMs y maxDataPoints

Guillermo Espinoza 8 years ago
parent
commit
24eac6fb38
2 changed files with 10 additions and 1 deletions
  1. 2 1
      docker-compose.yml
  2. 8 0
      statsd/endpoint/mysql/index.js

+ 2 - 1
docker-compose.yml

@@ -177,7 +177,8 @@ services:
       - 9000:8000
       - 9000:8000
     build: 
     build: 
       context: ./statsd/endpoint/mysql
       context: ./statsd/endpoint/mysql
-    
+    volumes:
+      - ./statsd/endpoint/mysql:/opt/datasource
 
 
   statsd:
   statsd:
     restart: always
     restart: always

+ 8 - 0
statsd/endpoint/mysql/index.js

@@ -141,6 +141,14 @@ app.all('/query', function(req, res){
 	console.log(t);
 	console.log(t);
   });
   });
   var sql = 'SELECT * FROM `gauges_statistics` WHERE (timestamp BETWEEN ' + from_str +' AND ' + to_str + ') AND (`name` IN ("' + names.join('", "')  + '")) ORDER BY timestamp ASC';
   var sql = 'SELECT * FROM `gauges_statistics` WHERE (timestamp BETWEEN ' + from_str +' AND ' + to_str + ') AND (`name` IN ("' + names.join('", "')  + '")) ORDER BY timestamp ASC';
+    
+  var interval = req.body.intervalMs / 1000;
+  var group_by = ' GROUP BY UNIX_TIMESTAMP(timestamp) DIV ' + interval;
+  
+  var maxDataPoints = req.body.maxDataPoints;
+  var limit = ' LIMIT ' + maxDataPoints;
+  
+  sql += group_by + limit;
 	  console.log(sql);
 	  console.log(sql);
 	  connection.query(sql, function(err, rows, fields) {
 	  connection.query(sql, function(err, rows, fields) {
 		var result = {};
 		var result = {};