mirror of https://github.com/prometheus/prometheus
[REFACTOR] OTLP translator: simplify time conversion
We don't need multiple levels of abstraction to convert nanoseconds to milliseconds. We do benefit from tests, however. Signed-off-by: Bryan Boreham <bjboreham@gmail.com>pull/14760/head
parent
5bd8988637
commit
f90c7a11d1
|
@ -24,7 +24,6 @@ import (
|
|||
"slices"
|
||||
"sort"
|
||||
"strconv"
|
||||
"time"
|
||||
"unicode/utf8"
|
||||
|
||||
"github.com/cespare/xxhash/v2"
|
||||
|
@ -594,5 +593,5 @@ func addResourceTargetInfo(resource pcommon.Resource, settings Settings, timesta
|
|||
|
||||
// convertTimeStamp converts OTLP timestamp in ns to timestamp in ms
|
||||
func convertTimeStamp(timestamp pcommon.Timestamp) int64 {
|
||||
return timestamp.AsTime().UnixNano() / (int64(time.Millisecond) / int64(time.Nanosecond))
|
||||
return int64(timestamp) / 1_000_000
|
||||
}
|
||||
|
|
|
@ -14,6 +14,7 @@ package prometheusremotewrite
|
|||
|
||||
import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"go.opentelemetry.io/collector/pdata/pcommon"
|
||||
|
@ -159,3 +160,21 @@ func TestCreateAttributes(t *testing.T) {
|
|||
})
|
||||
}
|
||||
}
|
||||
|
||||
func Test_convertTimeStamp(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
arg pcommon.Timestamp
|
||||
want int64
|
||||
}{
|
||||
{"zero", 0, 0},
|
||||
{"1ms", 1_000_000, 1},
|
||||
{"1s", pcommon.Timestamp(time.Unix(1, 0).UnixNano()), 1000},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
got := convertTimeStamp(tt.arg)
|
||||
assert.Equal(t, tt.want, got)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue