@@ -651,7 +651,7 @@ export function queryLogsVolume<TQuery extends DataQuery, TOptions extends DataS
651
651
options : any
652
652
) : Observable < DataQueryResponse > {
653
653
const timespan = options . range . to . valueOf ( ) - options . range . from . valueOf ( ) ;
654
- const intervalInfo = getIntervalInfo ( logsVolumeRequest . scopedVars , timespan ) ;
654
+ const intervalInfo = getIntervalInfo ( timespan , 400 ) ;
655
655
656
656
logsVolumeRequest . interval = intervalInfo . interval ;
657
657
logsVolumeRequest . scopedVars . __interval = { value : intervalInfo . interval , text : intervalInfo . interval } ;
@@ -795,32 +795,36 @@ const MINUTE = 60 * SECOND;
795
795
const HOUR = 60 * MINUTE ;
796
796
const DAY = 24 * HOUR ;
797
797
798
- function getIntervalInfo ( scopedVars : ScopedVars , timespanMs : number ) : { interval : string ; intervalMs ?: number } {
799
- if ( scopedVars . __interval_ms ) {
800
- let intervalMs : number = scopedVars . __interval_ms . value ;
801
- let interval = '' ;
802
- // below 5 seconds we force the resolution to be per 1ms as interval in scopedVars is not less than 10ms
803
- if ( timespanMs < SECOND * 5 ) {
804
- intervalMs = MILLISECOND ;
805
- interval = '1ms' ;
806
- } else if ( intervalMs > HOUR ) {
807
- intervalMs = DAY ;
808
- interval = '1d' ;
809
- } else if ( intervalMs > MINUTE ) {
810
- intervalMs = HOUR ;
811
- interval = '1h' ;
812
- } else if ( intervalMs > SECOND ) {
813
- intervalMs = MINUTE ;
814
- interval = '1m' ;
815
- } else {
816
- intervalMs = SECOND ;
817
- interval = '1s' ;
818
- }
819
798
820
- return { interval, intervalMs } ;
799
+ function getIntervalInfo ( timespanMs : number , resolution : number ) : { interval : string ; intervalMs ?: number } {
800
+ let intervalMs = timespanMs / resolution ;
801
+ let interval = '' ;
802
+
803
+ // below 5 seconds we force the resolution to be per 1ms as interval in scopedVars is not less than 10ms
804
+ if ( timespanMs < SECOND * 5 ) {
805
+ intervalMs = MILLISECOND ;
806
+ interval = '1ms' ;
807
+ } else if ( intervalMs > HOUR ) {
808
+ intervalMs = DAY ;
809
+ interval = '1d' ;
810
+ } else if ( intervalMs > 10 * MINUTE ) {
811
+ intervalMs = HOUR ;
812
+ interval = '1h' ;
813
+ } else if ( intervalMs > MINUTE ) {
814
+ intervalMs = 10 * MINUTE ;
815
+ interval = '10m' ;
816
+ } else if ( intervalMs > 10 * SECOND ) {
817
+ intervalMs = MINUTE ;
818
+ interval = '1m' ;
819
+ } else if ( intervalMs > SECOND ) {
820
+ intervalMs = 10 * SECOND ;
821
+ interval = '10s' ;
821
822
} else {
822
- return { interval : '$__interval' } ;
823
+ intervalMs = SECOND ;
824
+ interval = '1s' ;
823
825
}
826
+
827
+ return { interval, intervalMs } ;
824
828
}
825
829
826
830
// Copy/pasted from grafana/data as it is deprecated there.
0 commit comments