mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Added scale-to-seconds transformation
This commit is contained in:
parent
baabc298f5
commit
322fa427ab
@ -16,6 +16,9 @@
|
||||
<label class="small">Scale</label>
|
||||
<input type="text" class="input-mini" ng-model="panel.scale">
|
||||
</div>
|
||||
<div class="editor-option">
|
||||
<label class="small">Seconds <tip>Normalize intervals to per-second</tip></label><input type="checkbox" ng-model="panel.scaleSeconds" ng-checked="panel.scaleSeconds">
|
||||
</div>
|
||||
<div class="editor-option">
|
||||
<label class="small">Derivative <tip>Plot the change per interval in the series</tip></label><input type="checkbox" ng-model="panel.derivative" ng-checked="panel.derivative" ng-change="set_refresh(true)">
|
||||
</div>
|
||||
|
@ -51,7 +51,7 @@
|
||||
<span ng-show="panel.legend_counts"> ({{series.hits}})</span>
|
||||
</span>
|
||||
</span>
|
||||
<span ng-show="panel.legend" class="small"><span ng-show="panel.derivative">change in </span><span class="strong" ng-show="panel.value_field && panel.mode != 'count'">{{panel.value_field}}</span> {{panel.mode}} per <strong>{{panel.interval}}</strong> | (<strong>{{hits}}</strong> hits)</span>
|
||||
<span ng-show="panel.legend" class="small"><span ng-show="panel.derivative">change in </span><span class="strong" ng-show="panel.value_field && panel.mode != 'count'">{{panel.value_field}}</span> {{panel.mode}} per <strong ng-hide="panel.scaleSeconds">{{panel.interval}}</strong><strong ng-show="panel.scaleSeconds">1s</strong> | (<strong>{{hits}}</strong> hits)</span>
|
||||
</div>
|
||||
<form class="form-inline bordered histogram-options" ng-show="options">
|
||||
<span>
|
||||
|
@ -438,6 +438,12 @@ function (angular, app, $, _, kbn, moment, timeSeries) {
|
||||
});
|
||||
};
|
||||
|
||||
var scaleSeconds = function(series,interval) {
|
||||
return _.map(series,function(p) {
|
||||
return [p[0],p[1]/kbn.interval_to_seconds(interval)];
|
||||
});
|
||||
};
|
||||
|
||||
var derivative = function(series) {
|
||||
return _.map(series, function(p,i) {
|
||||
var _v;
|
||||
@ -565,6 +571,9 @@ function (angular, app, $, _, kbn, moment, timeSeries) {
|
||||
if(scope.panel.scale !== 1) {
|
||||
_d = scale(_d,scope.panel.scale);
|
||||
}
|
||||
if(scope.panel.scaleSeconds) {
|
||||
_d = scaleSeconds(_d,scope.panel.interval);
|
||||
}
|
||||
scope.data[i].data = _d;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user