Commit 3b05eba89d6a5e599c437905f1b6e28c78b14621
1 parent
e80d355b
UI: Set default interval to 1 sec for no aggregation.
Showing
1 changed file
with
23 additions
and
15 deletions
... | ... | @@ -238,23 +238,25 @@ function TimeService($translate, types) { |
238 | 238 | interval = timewindow.realtime.interval; |
239 | 239 | } |
240 | 240 | |
241 | + var aggType; | |
242 | + if (timewindow.aggregation) { | |
243 | + aggType = timewindow.aggregation.type || types.aggregation.avg.value; | |
244 | + } else { | |
245 | + aggType = types.aggregation.avg.value; | |
246 | + } | |
247 | + | |
241 | 248 | var historyTimewindow = { |
242 | 249 | history: { |
243 | 250 | fixedTimewindow: { |
244 | 251 | startTimeMs: startTimeMs, |
245 | 252 | endTimeMs: endTimeMs |
246 | 253 | }, |
247 | - interval: boundIntervalToTimewindow(endTimeMs - startTimeMs, interval) | |
254 | + interval: boundIntervalToTimewindow(endTimeMs - startTimeMs, interval, aggType) | |
248 | 255 | }, |
249 | 256 | aggregation: { |
250 | - | |
257 | + type: aggType | |
251 | 258 | } |
252 | 259 | } |
253 | - if (timewindow.aggregation) { | |
254 | - historyTimewindow.aggregation.type = timewindow.aggregation.type || types.aggregation.avg.value; | |
255 | - } else { | |
256 | - historyTimewindow.aggregation.type = types.aggregation.avg.value; | |
257 | - } | |
258 | 260 | |
259 | 261 | return historyTimewindow; |
260 | 262 | } |
... | ... | @@ -281,7 +283,8 @@ function TimeService($translate, types) { |
281 | 283 | if (angular.isDefined(timewindow.realtime)) { |
282 | 284 | subscriptionTimewindow.realtimeWindowMs = timewindow.realtime.timewindowMs; |
283 | 285 | subscriptionTimewindow.aggregation.interval = |
284 | - boundIntervalToTimewindow(subscriptionTimewindow.realtimeWindowMs, timewindow.realtime.interval); | |
286 | + boundIntervalToTimewindow(subscriptionTimewindow.realtimeWindowMs, timewindow.realtime.interval, | |
287 | + subscriptionTimewindow.aggregation.type); | |
285 | 288 | subscriptionTimewindow.startTs = (new Date).getTime() + stDiff - subscriptionTimewindow.realtimeWindowMs; |
286 | 289 | var startDiff = subscriptionTimewindow.startTs % subscriptionTimewindow.aggregation.interval; |
287 | 290 | aggTimewindow = subscriptionTimewindow.realtimeWindowMs; |
... | ... | @@ -306,7 +309,8 @@ function TimeService($translate, types) { |
306 | 309 | aggTimewindow = subscriptionTimewindow.fixedWindow.endTimeMs - subscriptionTimewindow.fixedWindow.startTimeMs; |
307 | 310 | } |
308 | 311 | subscriptionTimewindow.startTs = subscriptionTimewindow.fixedWindow.startTimeMs; |
309 | - subscriptionTimewindow.aggregation.interval = boundIntervalToTimewindow(aggTimewindow, timewindow.history.interval); | |
312 | + subscriptionTimewindow.aggregation.interval = | |
313 | + boundIntervalToTimewindow(aggTimewindow, timewindow.history.interval, subscriptionTimewindow.aggregation.type); | |
310 | 314 | } |
311 | 315 | var aggregation = subscriptionTimewindow.aggregation; |
312 | 316 | aggregation.timeWindow = aggTimewindow; |
... | ... | @@ -316,13 +320,17 @@ function TimeService($translate, types) { |
316 | 320 | return subscriptionTimewindow; |
317 | 321 | } |
318 | 322 | |
319 | - function boundIntervalToTimewindow(timewindow, intervalMs) { | |
320 | - var min = minIntervalLimit(timewindow); | |
321 | - var max = maxIntervalLimit(timewindow); | |
322 | - if (intervalMs) { | |
323 | - return toBound(intervalMs, min, max, intervalMs); | |
323 | + function boundIntervalToTimewindow(timewindow, intervalMs, aggType) { | |
324 | + if (aggType === types.aggregation.none.value) { | |
325 | + return SECOND; | |
324 | 326 | } else { |
325 | - return boundToPredefinedInterval(min, max, avgInterval(timewindow)); | |
327 | + var min = minIntervalLimit(timewindow); | |
328 | + var max = maxIntervalLimit(timewindow); | |
329 | + if (intervalMs) { | |
330 | + return toBound(intervalMs, min, max, intervalMs); | |
331 | + } else { | |
332 | + return boundToPredefinedInterval(min, max, avgInterval(timewindow)); | |
333 | + } | |
326 | 334 | } |
327 | 335 | } |
328 | 336 | ... | ... |