From 750292296c1fcff7082b09747614fe66b3077961 Mon Sep 17 00:00:00 2001 From: Alexander Zobnin Date: Thu, 23 Sep 2021 15:59:23 +0300 Subject: [PATCH] Align: do not append points with the same timestamp --- pkg/timeseries/align.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkg/timeseries/align.go b/pkg/timeseries/align.go index 8980715..a655d06 100644 --- a/pkg/timeseries/align.go +++ b/pkg/timeseries/align.go @@ -40,7 +40,12 @@ func (ts TimeSeries) Align(interval time.Duration) TimeSeries { } } - alignedTs = append(alignedTs, TimePoint{Time: pointFrameTs, Value: point.Value}) + if len(alignedTs) > 0 && alignedTs[len(alignedTs)-1].Time == pointFrameTs { + // Do not append points with the same timestamp + alignedTs[len(alignedTs)-1] = TimePoint{Time: pointFrameTs, Value: point.Value} + } else { + alignedTs = append(alignedTs, TimePoint{Time: pointFrameTs, Value: point.Value}) + } frameTs = frameTs.Add(interval) }