mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-11-21 14:44:00 +00:00
lib/promutils, app/vmalert-tool/unittest: move promutils.Duration.ParseTime() to app/vmalert-tool/unittest.durationToTime()
The ParseTime() function looks strange, since it converts relative duration to absolute time since Unix Epoch.
In most scenarios such a conversion is used by mistake.
It is better to do not expose such a function for public use and hide it inside the package where it is needed,
e.g. inside app/vmalert-tool/unittest.
This is a follow-up for dc28196237
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/2945
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/pull/4789
This commit is contained in:
parent
6f98b9c221
commit
fc98b62760
2 changed files with 9 additions and 9 deletions
|
@ -6,6 +6,7 @@ import (
|
||||||
"net/url"
|
"net/url"
|
||||||
"reflect"
|
"reflect"
|
||||||
"sort"
|
"sort"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/app/vmalert/datasource"
|
"github.com/VictoriaMetrics/VictoriaMetrics/app/vmalert/datasource"
|
||||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/promutils"
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/promutils"
|
||||||
|
@ -29,7 +30,7 @@ func checkMetricsqlCase(cases []metricsqlTestCase, q datasource.QuerierBuilder)
|
||||||
queries := q.BuildWithParams(datasource.QuerierParams{QueryParams: url.Values{"nocache": {"1"}, "latency_offset": {"1ms"}}, DataSourceType: "prometheus"})
|
queries := q.BuildWithParams(datasource.QuerierParams{QueryParams: url.Values{"nocache": {"1"}, "latency_offset": {"1ms"}}, DataSourceType: "prometheus"})
|
||||||
Outer:
|
Outer:
|
||||||
for _, mt := range cases {
|
for _, mt := range cases {
|
||||||
result, _, err := queries.Query(context.Background(), mt.Expr, mt.EvalTime.ParseTime())
|
result, _, err := queries.Query(context.Background(), mt.Expr, durationToTime(mt.EvalTime))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
checkErrs = append(checkErrs, fmt.Errorf(" expr: %q, time: %s, err: %w", mt.Expr,
|
checkErrs = append(checkErrs, fmt.Errorf(" expr: %q, time: %s, err: %w", mt.Expr,
|
||||||
mt.EvalTime.Duration().String(), err))
|
mt.EvalTime.Duration().String(), err))
|
||||||
|
@ -90,3 +91,10 @@ Outer:
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func durationToTime(pd *promutils.Duration) time.Time {
|
||||||
|
if pd == nil {
|
||||||
|
return time.Time{}
|
||||||
|
}
|
||||||
|
return time.UnixMilli(pd.Duration().Milliseconds())
|
||||||
|
}
|
||||||
|
|
|
@ -53,11 +53,3 @@ func ParseDuration(s string) (time.Duration, error) {
|
||||||
}
|
}
|
||||||
return time.Duration(ms) * time.Millisecond, nil
|
return time.Duration(ms) * time.Millisecond, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// ParseTime returns time for pd.
|
|
||||||
func (pd *Duration) ParseTime() time.Time {
|
|
||||||
if pd == nil {
|
|
||||||
return time.Time{}
|
|
||||||
}
|
|
||||||
return time.UnixMilli(pd.Duration().Milliseconds())
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in a new issue