mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Explore: Ensure logs volume data points are in order (#77268)
* Ensure logs volume data points are ordered * Add a test for data points order
This commit is contained in:
parent
107cf0dc04
commit
03ca9c7c66
@ -407,6 +407,33 @@ describe('mergeLogsVolumeDataFrames', () => {
|
|||||||
]);
|
]);
|
||||||
expect(maximum).toBe(6);
|
expect(maximum).toBe(6);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('produces merged results order by time', () => {
|
||||||
|
const frame1 = mockLogVolume('info', [1600000000001, 1600000000009], [1, 1]);
|
||||||
|
const frame2 = mockLogVolume('info', [1600000000000, 1600000000005], [1, 1]);
|
||||||
|
|
||||||
|
const { dataFrames: merged } = mergeLogsVolumeDataFrames([frame1, frame2]);
|
||||||
|
|
||||||
|
expect(merged).toMatchObject([
|
||||||
|
{
|
||||||
|
fields: [
|
||||||
|
{
|
||||||
|
name: 'Time',
|
||||||
|
type: FieldType.time,
|
||||||
|
values: [1600000000000, 1600000000001, 1600000000005, 1600000000009],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Value',
|
||||||
|
type: FieldType.number,
|
||||||
|
values: [1, 1, 1, 1],
|
||||||
|
config: {
|
||||||
|
displayNameFromDS: 'info',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('getLogsVolumeDimensions', () => {
|
describe('getLogsVolumeDimensions', () => {
|
||||||
|
@ -243,13 +243,14 @@ export const mergeLogsVolumeDataFrames = (dataFrames: DataFrame[]): { dataFrames
|
|||||||
levelDataFrame.addField({ name: 'Time', type: FieldType.time, config: timeFieldConfig });
|
levelDataFrame.addField({ name: 'Time', type: FieldType.time, config: timeFieldConfig });
|
||||||
levelDataFrame.addField({ name: 'Value', type: FieldType.number, config: valueFieldConfig });
|
levelDataFrame.addField({ name: 'Value', type: FieldType.number, config: valueFieldConfig });
|
||||||
|
|
||||||
for (const time in aggregated[level]) {
|
Object.entries(aggregated[level])
|
||||||
const value = aggregated[level][time];
|
.sort((a, b) => Number(a[0]) - Number(b[0]))
|
||||||
|
.forEach(([time, value]) => {
|
||||||
levelDataFrame.add({
|
levelDataFrame.add({
|
||||||
Time: Number(time),
|
Time: Number(time),
|
||||||
Value: value,
|
Value: value,
|
||||||
});
|
});
|
||||||
}
|
});
|
||||||
|
|
||||||
results.push(levelDataFrame);
|
results.push(levelDataFrame);
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user