mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Tempo: Don't modify the passed time range when using timeShiftEnabled (#87980)
Don't modify the passed range
This commit is contained in:
parent
9e6f18c947
commit
a2aea70100
@ -386,6 +386,12 @@ describe('Tempo data source', () => {
|
||||
jsonData: { traceQuery: { timeShiftEnabled: true, spanStartTimeShift: '2m', spanEndTimeShift: '4m' } },
|
||||
});
|
||||
|
||||
const range = {
|
||||
from: dateTime(new Date(2022, 8, 13, 16, 0, 0, 0)),
|
||||
to: dateTime(new Date(2022, 8, 13, 16, 15, 0, 0)),
|
||||
raw: { from: '15m', to: 'now' },
|
||||
};
|
||||
|
||||
const request = ds.traceIdQueryRequest(
|
||||
{
|
||||
requestId: 'test',
|
||||
@ -396,17 +402,17 @@ describe('Tempo data source', () => {
|
||||
timezone: '',
|
||||
app: '',
|
||||
startTime: 0,
|
||||
range: {
|
||||
from: dateTime(new Date(2022, 8, 13, 16, 0, 0, 0)),
|
||||
to: dateTime(new Date(2022, 8, 13, 16, 15, 0, 0)),
|
||||
raw: { from: '15m', to: 'now' },
|
||||
},
|
||||
range,
|
||||
},
|
||||
[{ refId: 'refid1', queryType: 'traceql', query: '' } as TempoQuery]
|
||||
);
|
||||
|
||||
expect(request.range.from.unix()).toBe(dateTime(new Date(2022, 8, 13, 15, 58, 0, 0)).unix());
|
||||
expect(request.range.to.unix()).toBe(dateTime(new Date(2022, 8, 13, 16, 19, 0, 0)).unix());
|
||||
expect(request.range.from.valueOf()).toBe(new Date(2022, 8, 13, 15, 58, 0, 0).valueOf());
|
||||
expect(request.range.to.valueOf()).toBe(new Date(2022, 8, 13, 16, 19, 0, 0).valueOf());
|
||||
|
||||
// Making sure we don't modify the original range
|
||||
expect(range.from.valueOf()).toBe(new Date(2022, 8, 13, 16, 0, 0, 0).valueOf());
|
||||
expect(range.to.valueOf()).toBe(new Date(2022, 8, 13, 16, 15, 0, 0).valueOf());
|
||||
});
|
||||
|
||||
it('should not include time shift when querying for traceID and time shift config is off', () => {
|
||||
|
@ -669,11 +669,14 @@ export class TempoDatasource extends DataSourceWithBackend<TempoQuery, TempoJson
|
||||
if (this.traceQuery?.timeShiftEnabled) {
|
||||
request.range = options.range && {
|
||||
...options.range,
|
||||
from: options.range.from.subtract(
|
||||
from: dateTime(options.range.from).subtract(
|
||||
rangeUtil.intervalToMs(this.traceQuery?.spanStartTimeShift || '30m'),
|
||||
'milliseconds'
|
||||
),
|
||||
to: options.range.to.add(rangeUtil.intervalToMs(this.traceQuery?.spanEndTimeShift || '30m'), 'milliseconds'),
|
||||
to: dateTime(options.range.to).add(
|
||||
rangeUtil.intervalToMs(this.traceQuery?.spanEndTimeShift || '30m'),
|
||||
'milliseconds'
|
||||
),
|
||||
};
|
||||
} else {
|
||||
request.range = { from: dateTime(0), to: dateTime(0), raw: { from: dateTime(0), to: dateTime(0) } };
|
||||
|
Loading…
Reference in New Issue
Block a user