|
@@ -29,9 +29,10 @@ app.all('/', function(req, res) {
|
|
|
res.end();
|
|
|
});
|
|
|
|
|
|
-function search(table, res)
|
|
|
+function search(table, mysql_search_result, value, res)
|
|
|
{
|
|
|
- connection.query('SELECT DISTINCT(`name`) FROM `' + table + '` WHERE `name` NOT IN ("' + mysql_search_result.join('", "') + '") ORDER BY `name`', function (err, rows, fields) {
|
|
|
+// connection.query('SELECT DISTINCT(`name`) FROM `' + table + '` WHERE `name` NOT IN ("' + mysql_search_result.join('", "') + '") ORDER BY `name`', function (err, rows, fields) {
|
|
|
+ connection.query('SELECT DISTINCT(`name`) FROM `' + table + '` WHERE `name` LIKE ("%' + value + '%") ORDER BY `name`', function (err, rows, fields) {
|
|
|
if (err) {
|
|
|
console.log(err);
|
|
|
throw err;
|
|
@@ -41,28 +42,25 @@ function search(table, res)
|
|
|
mysql_search_result.push(rows[i].name);
|
|
|
}
|
|
|
}
|
|
|
+ if (res) {
|
|
|
+ setCORSHeaders(res);
|
|
|
+ res.json(mysql_search_result);
|
|
|
+ res.end();
|
|
|
+ }
|
|
|
});
|
|
|
}
|
|
|
|
|
|
-var mysql_search_result = [];
|
|
|
-
|
|
|
-search('gauges_statistics');
|
|
|
-search('counters_statistics');
|
|
|
-search('timers_statistics');
|
|
|
-search('sets_statistics');
|
|
|
-
|
|
|
app.all('/search', function (req, res) {
|
|
|
- setCORSHeaders(res);
|
|
|
- res.json(mysql_search_result);
|
|
|
- res.end();
|
|
|
+ var mysql_search_result = [];
|
|
|
+ var target = req.body.target; // metric
|
|
|
|
|
|
- search('gauges_statistics');
|
|
|
- search('counters_statistics');
|
|
|
- search('timers_statistics');
|
|
|
- search('sets_statistics');
|
|
|
+ search('gauges_statistics', mysql_search_result, target);
|
|
|
+ search('counters_statistics', mysql_search_result, target);
|
|
|
+ search('timers_statistics', mysql_search_result, target);
|
|
|
+ search('sets_statistics', mysql_search_result, target, res);
|
|
|
});
|
|
|
|
|
|
-function query(table, req, res)
|
|
|
+function query(table, req, mysql_query_result, res)
|
|
|
{
|
|
|
var from = new Date(req.body.range.from);
|
|
|
var to = new Date(req.body.range.to);
|
|
@@ -91,12 +89,14 @@ function query(table, req, res)
|
|
|
}
|
|
|
|
|
|
var result = [];
|
|
|
- for (var i = 0; i < rows.length; i++) {
|
|
|
- if (rows[i].name !== undefined) {
|
|
|
- if (result.indexOf(rows[i].name) === -1) {
|
|
|
- result[rows[i].name] = new Array();
|
|
|
+ var results = rows[1];
|
|
|
+ for (var i = 0; i < results.length; i++) {
|
|
|
+ var name = results[i].name;
|
|
|
+ if (name !== undefined) {
|
|
|
+ if (result[name] === undefined) {
|
|
|
+ result[name] = [];
|
|
|
}
|
|
|
- (result[rows[i].name]).push([rows[i].value, 1000 * rows[i].timestamp]);
|
|
|
+ result[name].push([results[i].value, 1000 * results[i].timestamp]);
|
|
|
}
|
|
|
}
|
|
|
var keys = _.keys(result);
|
|
@@ -115,13 +115,13 @@ function query(table, req, res)
|
|
|
});
|
|
|
}
|
|
|
|
|
|
-var mysql_query_result = [];
|
|
|
app.all('/query', function (req, res) {
|
|
|
- mysql_query_result = [];
|
|
|
- query('gauges_statistics', req);
|
|
|
- query('counters_statistics', req);
|
|
|
- query('timers_statistics', req);
|
|
|
- query('sets_statistics', req, res);
|
|
|
+ var mysql_query_result = [];
|
|
|
+
|
|
|
+ query('gauges_statistics', req, mysql_query_result);
|
|
|
+ query('counters_statistics', req, mysql_query_result);
|
|
|
+ query('timers_statistics', req, mysql_query_result);
|
|
|
+ query('sets_statistics', req, mysql_query_result, res);
|
|
|
});
|
|
|
|
|
|
app.listen(8000);
|