mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Merge branch 'master' of github.com:heldr/grafana into heldr-master
This commit is contained in:
@@ -43,7 +43,7 @@
|
||||
<ul class="grafana-segment-list" role="menu">
|
||||
<li>
|
||||
<input type="text"
|
||||
class="input-xxlarge grafana-target-segment-input"
|
||||
class="grafana-target-segment-input"
|
||||
ng-model="target.metric"
|
||||
spellcheck='false'
|
||||
bs-typeahead="suggestMetrics"
|
||||
@@ -57,6 +57,16 @@
|
||||
<i class="icon-warning-sign"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<input type="text"
|
||||
class="grafana-target-segment-input"
|
||||
ng-model="target.chartLabel"
|
||||
spellcheck='false'
|
||||
placeholder="chart label(optional)"
|
||||
data-min-length=0 data-items=100
|
||||
ng-blur="targetBlur()"
|
||||
/>
|
||||
</li>
|
||||
<li class="grafana-target-segment">
|
||||
Aggregator
|
||||
<li>
|
||||
|
||||
@@ -38,12 +38,12 @@ function (angular, _, kbn) {
|
||||
});
|
||||
|
||||
return this.performTimeSeriesQuery(queries, start, end)
|
||||
.then(function(response) {
|
||||
var result = _.map(response.data, function(metricData) {
|
||||
return transformMetricData(metricData, groupByTags);
|
||||
});
|
||||
.then(_.bind(function(response) {
|
||||
var result = _.map(response.data, _.bind(function(metricData, index) {
|
||||
return transformMetricData(metricData, groupByTags, this.targets[index]);
|
||||
}, this));
|
||||
return { data: result };
|
||||
});
|
||||
}, options));
|
||||
};
|
||||
|
||||
OpenTSDBDatasource.prototype.performTimeSeriesQuery = function(queries, start, end) {
|
||||
@@ -80,8 +80,20 @@ function (angular, _, kbn) {
|
||||
});
|
||||
};
|
||||
|
||||
function transformMetricData(md, groupByTags) {
|
||||
var dps = [];
|
||||
function transformMetricData(md, groupByTags, options) {
|
||||
var dps = [],
|
||||
tagData = [],
|
||||
metricLabel = null;
|
||||
|
||||
if (!_.isEmpty(md.tags)) {
|
||||
_.each(_.pairs(md.tags), function(tag) {
|
||||
if (_.has(groupByTags, tag[0])) {
|
||||
tagData.push(tag[0] + "=" + tag[1]);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
metricLabel = createMetricLabel(md.metric, tagData, options);
|
||||
|
||||
// TSDB returns datapoints has a hash of ts => value.
|
||||
// Can't use _.pairs(invert()) because it stringifies keys/values
|
||||
@@ -89,22 +101,19 @@ function (angular, _, kbn) {
|
||||
dps.push([v, k]);
|
||||
});
|
||||
|
||||
var target = md.metric;
|
||||
if (!_.isEmpty(md.tags)) {
|
||||
var tagData = [];
|
||||
return { target: metricLabel, datapoints: dps };
|
||||
}
|
||||
|
||||
_.each(_.pairs(md.tags), function(tag) {
|
||||
if (_.has(groupByTags, tag[0])) {
|
||||
tagData.push(tag[0] + "=" + tag[1]);
|
||||
}
|
||||
});
|
||||
|
||||
if (!_.isEmpty(tagData)) {
|
||||
target = target + "{" + tagData.join(", ") + "}";
|
||||
}
|
||||
function createMetricLabel(metric, tagData, options) {
|
||||
if (options.chartLabel) {
|
||||
return options.chartLabel;
|
||||
}
|
||||
|
||||
return { target: target, datapoints: dps };
|
||||
if (!_.isEmpty(tagData)) {
|
||||
metric += "{" + tagData.join(", ") + "}";
|
||||
}
|
||||
|
||||
return metric;
|
||||
}
|
||||
|
||||
function convertTargetToQuery(target) {
|
||||
|
||||
Reference in New Issue
Block a user