@@ -91,7 +91,7 @@ function (angular, _, moment, dateMath) {
91
91
delete self . lastErrors . query ;
92
92
93
93
_ . each ( response . data . data . result , function ( metricData ) {
94
- result . push ( transformMetricData ( metricData , options . targets [ index ] ) ) ;
94
+ result . push ( transformMetricData ( metricData , options . targets [ index ] , start , end ) ) ;
95
95
} ) ;
96
96
} ) ;
97
97
@@ -207,28 +207,33 @@ function (angular, _, moment, dateMath) {
207
207
return Math . ceil ( sec * intervalFactor ) ;
208
208
} ;
209
209
210
- function transformMetricData ( md , options ) {
210
+ function transformMetricData ( md , options , start , end ) {
211
211
var dps = [ ] ,
212
212
metricLabel = null ;
213
213
214
214
metricLabel = createMetricLabel ( md . metric , options ) ;
215
215
216
216
var stepMs = parseInt ( options . step ) * 1000 ;
217
- var lastTimestamp = null ;
217
+ var baseTimestamp = start * 1000 ;
218
218
_ . each ( md . values , function ( value ) {
219
219
var dp_value = parseFloat ( value [ 1 ] ) ;
220
220
if ( _ . isNaN ( dp_value ) ) {
221
221
dp_value = null ;
222
222
}
223
223
224
224
var timestamp = value [ 0 ] * 1000 ;
225
- if ( lastTimestamp && ( timestamp - lastTimestamp ) > stepMs ) {
226
- dps . push ( [ null , lastTimestamp + stepMs ] ) ;
225
+ for ( var t = baseTimestamp ; t < timestamp ; t += stepMs ) {
226
+ dps . push ( [ null , t ] ) ;
227
227
}
228
- lastTimestamp = timestamp ;
228
+ baseTimestamp = timestamp + stepMs ;
229
229
dps . push ( [ dp_value , timestamp ] ) ;
230
230
} ) ;
231
231
232
+ var endTimestamp = end * 1000 ;
233
+ for ( var t = baseTimestamp ; t < endTimestamp ; t += stepMs ) {
234
+ dps . push ( [ null , t ] ) ;
235
+ }
236
+
232
237
return { target : metricLabel , datapoints : dps } ;
233
238
}
234
239
0 commit comments