diff --git a/public/app/plugins/datasource/prometheus/datasource.ts b/public/app/plugins/datasource/prometheus/datasource.ts index d9855a4925a..ecdfcf30612 100644 --- a/public/app/plugins/datasource/prometheus/datasource.ts +++ b/public/app/plugins/datasource/prometheus/datasource.ts @@ -355,10 +355,11 @@ export class PrometheusDatasource implements DataSourceApi { }) .value(); + const dupCheck = {}; for (const value of series.values) { const valueIsTrue = value[1] === '1'; // e.g. ALERTS if (valueIsTrue || annotation.useValueForTime) { - const event = { + const event: any = { annotation: annotation, title: self.resultTransformer.renderTemplate(titleFormat, series.metric), tags: tags, @@ -366,9 +367,14 @@ export class PrometheusDatasource implements DataSourceApi { }; if (annotation.useValueForTime) { - event['time'] = Math.floor(parseFloat(value[1])); + const timestampValue = Math.floor(parseFloat(value[1])); + if (dupCheck[timestampValue]) { + continue; + } + dupCheck[timestampValue] = true; + event.time = timestampValue; } else { - event['time'] = Math.floor(parseFloat(value[0])) * 1000; + event.time = Math.floor(parseFloat(value[0])) * 1000; } eventList.push(event);