mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Prometheus: annotation: fix only first frame was process error & typo. (#43486)
This commit is contained in:
@@ -694,13 +694,13 @@ export class PrometheusDatasource
|
|||||||
})
|
})
|
||||||
.pipe(
|
.pipe(
|
||||||
map((rsp: FetchResponse<BackendDataSourceResponse>) => {
|
map((rsp: FetchResponse<BackendDataSourceResponse>) => {
|
||||||
return this.processsAnnotationResponse(options, rsp.data);
|
return this.processAnnotationResponse(options, rsp.data);
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
processsAnnotationResponse = (options: any, data: BackendDataSourceResponse) => {
|
processAnnotationResponse = (options: any, data: BackendDataSourceResponse) => {
|
||||||
const frames: DataFrame[] = toDataQueryResponse({ data: data }).data;
|
const frames: DataFrame[] = toDataQueryResponse({ data: data }).data;
|
||||||
if (!frames || !frames.length) {
|
if (!frames || !frames.length) {
|
||||||
return [];
|
return [];
|
||||||
@@ -711,7 +711,10 @@ export class PrometheusDatasource
|
|||||||
|
|
||||||
const step = rangeUtil.intervalToSeconds(annotation.step || ANNOTATION_QUERY_STEP_DEFAULT) * 1000;
|
const step = rangeUtil.intervalToSeconds(annotation.step || ANNOTATION_QUERY_STEP_DEFAULT) * 1000;
|
||||||
const tagKeysArray = tagKeys.split(',');
|
const tagKeysArray = tagKeys.split(',');
|
||||||
const frame = frames[0];
|
|
||||||
|
const eventList: AnnotationEvent[] = [];
|
||||||
|
|
||||||
|
for (const frame of frames) {
|
||||||
const timeField = frame.fields[0];
|
const timeField = frame.fields[0];
|
||||||
const valueField = frame.fields[1];
|
const valueField = frame.fields[1];
|
||||||
const labels = valueField?.labels || {};
|
const labels = valueField?.labels || {};
|
||||||
@@ -746,7 +749,6 @@ export class PrometheusDatasource
|
|||||||
|
|
||||||
// Instead of creating singular annotation for each active event we group events into region if they are less
|
// Instead of creating singular annotation for each active event we group events into region if they are less
|
||||||
// or equal to `step` apart.
|
// or equal to `step` apart.
|
||||||
const eventList: AnnotationEvent[] = [];
|
|
||||||
let latestEvent: AnnotationEvent | null = null;
|
let latestEvent: AnnotationEvent | null = null;
|
||||||
|
|
||||||
for (const timestamp of activeValuesTimestamps) {
|
for (const timestamp of activeValuesTimestamps) {
|
||||||
@@ -777,6 +779,7 @@ export class PrometheusDatasource
|
|||||||
latestEvent.timeEnd = activeValuesTimestamps[activeValuesTimestamps.length - 1];
|
latestEvent.timeEnd = activeValuesTimestamps[activeValuesTimestamps.length - 1];
|
||||||
eventList.push(latestEvent);
|
eventList.push(latestEvent);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return eventList;
|
return eventList;
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user