mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
added support to coustom where conditions
This commit is contained in:
parent
69b9189220
commit
f122da58c1
@ -64,4 +64,4 @@ function (angular) {
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
});
|
||||
|
@ -74,7 +74,23 @@
|
||||
function
|
||||
</li>
|
||||
<li>
|
||||
<select class="input-medium grafana-target-segment-input" ng-change="get_data()" ng-model="target.function" ng-options="f for f in ['mean', 'sum', 'min', 'max', 'median', 'derivative', 'stddev']" ></select>
|
||||
<select class="input-medium grafana-target-segment-input"
|
||||
ng-change="get_data()"
|
||||
ng-model="target.function"
|
||||
ng-options="f for f in functions" ></select>
|
||||
</li>
|
||||
<li class="grafana-target-segment">
|
||||
condition
|
||||
</li>
|
||||
<li>
|
||||
<input type="text"
|
||||
class="input-medium grafana-target-segment-input"
|
||||
ng-model="target.condition"
|
||||
placeholder="value condition"
|
||||
spellcheck='false'
|
||||
bs-typeahead="listColumns"
|
||||
data-min-length=0
|
||||
ng-blur="get_data()">
|
||||
</li>
|
||||
<li class="grafana-target-segment">
|
||||
group by time
|
||||
|
@ -30,12 +30,16 @@ function (angular, _, kbn) {
|
||||
return [];
|
||||
}
|
||||
|
||||
var template = "select [[func]]([[column]]) from [[series]] where [[timeFilter]] group by time([[interval]]) order asc";
|
||||
// var template = "select [[func]]([[column]]) as [[column]]_[[func]] from [[series]] where [[timeFilter]] group by time([[interval]]) order asc";
|
||||
var template = "select [[func]]([[column]]) from [[series]] where [[condition]] [[timeFilter]] group by time([[interval]]) order asc";
|
||||
|
||||
target.condition_joined = (target.condition !== undefined ? target.condition + ' AND ' : '');
|
||||
|
||||
var templateData = {
|
||||
series: target.series,
|
||||
column: target.column,
|
||||
func: target.function,
|
||||
condition: target.condition_joined,
|
||||
timeFilter: getTimeFilter(options),
|
||||
interval: target.interval || options.interval
|
||||
};
|
||||
@ -96,6 +100,12 @@ function (angular, _, kbn) {
|
||||
function handleInfluxQueryResponse(results) {
|
||||
var output = [];
|
||||
|
||||
var getKey = function (str) {
|
||||
var key1 = str.split(' where ');
|
||||
var key2 = key1[1].split(' AND ');
|
||||
return (key2[0] !== key1[1] ? '.' + key2[0] : '');
|
||||
}
|
||||
|
||||
_.each(results.data, function(series) {
|
||||
var timeCol = series.columns.indexOf('time');
|
||||
|
||||
@ -106,7 +116,7 @@ function (angular, _, kbn) {
|
||||
|
||||
console.log("series:"+series.name + ": "+series.points.length + " points");
|
||||
|
||||
var target = series.name + "." + column;
|
||||
var target = series.name + "." + column + getKey(results.config.params.q);
|
||||
var datapoints = [];
|
||||
|
||||
for(var i = 0; i < series.points.length; i++) {
|
||||
|
Loading…
Reference in New Issue
Block a user