mirror of
https://github.com/prometheus/prometheus.git
synced 2024-11-09 23:24:05 -08:00
Use .UTC everywhere we use time.Unix (#7066)
time.Unix attaches the local timezone, which can then leak out (e.g. in the alert json). While this is harmless, we should be consistent. Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>
This commit is contained in:
parent
c38ca2ca95
commit
7646cbca32
|
@ -571,7 +571,7 @@ func QueryLabels(url *url.URL, name string, p printer) int {
|
||||||
func parseTime(s string) (time.Time, error) {
|
func parseTime(s string) (time.Time, error) {
|
||||||
if t, err := strconv.ParseFloat(s, 64); err == nil {
|
if t, err := strconv.ParseFloat(s, 64); err == nil {
|
||||||
s, ns := math.Modf(t)
|
s, ns := math.Modf(t)
|
||||||
return time.Unix(int64(s), int64(ns*float64(time.Second))), nil
|
return time.Unix(int64(s), int64(ns*float64(time.Second))).UTC(), nil
|
||||||
}
|
}
|
||||||
if t, err := time.Parse(time.RFC3339Nano, s); err == nil {
|
if t, err := time.Parse(time.RFC3339Nano, s); err == nil {
|
||||||
return t, nil
|
return t, nil
|
||||||
|
|
|
@ -80,7 +80,7 @@ func ruleUnitTest(filename string) []error {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Bounds for evaluating the rules.
|
// Bounds for evaluating the rules.
|
||||||
mint := time.Unix(0, 0)
|
mint := time.Unix(0, 0).UTC()
|
||||||
maxd := unitTestInp.maxEvalTime()
|
maxd := unitTestInp.maxEvalTime()
|
||||||
maxt := mint.Add(maxd)
|
maxt := mint.Add(maxd)
|
||||||
// Rounding off to nearest Eval time (> maxt).
|
// Rounding off to nearest Eval time (> maxt).
|
||||||
|
@ -232,7 +232,7 @@ func (tg *testGroup) test(mint, maxt time.Time, evalInterval time.Duration, grou
|
||||||
for _, r := range g.Rules() {
|
for _, r := range g.Rules() {
|
||||||
if r.LastError() != nil {
|
if r.LastError() != nil {
|
||||||
errs = append(errs, errors.Errorf(" rule: %s, time: %s, err: %v",
|
errs = append(errs, errors.Errorf(" rule: %s, time: %s, err: %v",
|
||||||
r.Name(), ts.Sub(time.Unix(0, 0)), r.LastError()))
|
r.Name(), ts.Sub(time.Unix(0, 0).UTC()), r.LastError()))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,5 +22,5 @@ func FromTime(t time.Time) int64 {
|
||||||
|
|
||||||
// Time returns a new time.Time object from a millisecond timestamp.
|
// Time returns a new time.Time object from a millisecond timestamp.
|
||||||
func Time(ts int64) time.Time {
|
func Time(ts int64) time.Time {
|
||||||
return time.Unix(ts/1000, (ts%1000)*int64(time.Millisecond))
|
return time.Unix(ts/1000, (ts%1000)*int64(time.Millisecond)).UTC()
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,7 +45,7 @@ const (
|
||||||
epsilon = 0.000001 // Relative error allowed for sample values.
|
epsilon = 0.000001 // Relative error allowed for sample values.
|
||||||
)
|
)
|
||||||
|
|
||||||
var testStartTime = time.Unix(0, 0)
|
var testStartTime = time.Unix(0, 0).UTC()
|
||||||
|
|
||||||
// Test is a sequence of read and write commands that are run
|
// Test is a sequence of read and write commands that are run
|
||||||
// against a test storage.
|
// against a test storage.
|
||||||
|
@ -660,7 +660,7 @@ func (ll *LazyLoader) appendTill(ts int64) error {
|
||||||
|
|
||||||
// WithSamplesTill loads the samples till given timestamp and executes the given function.
|
// WithSamplesTill loads the samples till given timestamp and executes the given function.
|
||||||
func (ll *LazyLoader) WithSamplesTill(ts time.Time, fn func(error)) {
|
func (ll *LazyLoader) WithSamplesTill(ts time.Time, fn func(error)) {
|
||||||
tsMilli := ts.Sub(time.Unix(0, 0)) / time.Millisecond
|
tsMilli := ts.Sub(time.Unix(0, 0).UTC()) / time.Millisecond
|
||||||
fn(ll.appendTill(int64(tsMilli)))
|
fn(ll.appendTill(int64(tsMilli)))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -487,7 +487,7 @@ func (g *Group) evalTimestamp() time.Time {
|
||||||
base = adjNow - (adjNow % int64(g.interval))
|
base = adjNow - (adjNow % int64(g.interval))
|
||||||
)
|
)
|
||||||
|
|
||||||
return time.Unix(0, base+offset)
|
return time.Unix(0, base+offset).UTC()
|
||||||
}
|
}
|
||||||
|
|
||||||
func nameAndLabels(rule Rule) string {
|
func nameAndLabels(rule Rule) string {
|
||||||
|
@ -747,8 +747,8 @@ func (g *Group) RestoreForState(ts time.Time) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
downAt := time.Unix(t/1000, 0)
|
downAt := time.Unix(t/1000, 0).UTC()
|
||||||
restoredActiveAt := time.Unix(int64(v), 0)
|
restoredActiveAt := time.Unix(int64(v), 0).UTC()
|
||||||
timeSpentPending := downAt.Sub(restoredActiveAt)
|
timeSpentPending := downAt.Sub(restoredActiveAt)
|
||||||
timeRemainingPending := alertHoldDuration - timeSpentPending
|
timeRemainingPending := alertHoldDuration - timeSpentPending
|
||||||
|
|
||||||
|
|
|
@ -460,7 +460,7 @@ func printBlocks(blocks []tsdb.BlockReader, humanReadable *bool) {
|
||||||
|
|
||||||
func getFormatedTime(timestamp int64, humanReadable *bool) string {
|
func getFormatedTime(timestamp int64, humanReadable *bool) string {
|
||||||
if *humanReadable {
|
if *humanReadable {
|
||||||
return time.Unix(timestamp/1000, 0).String()
|
return time.Unix(timestamp/1000, 0).UTC().String()
|
||||||
}
|
}
|
||||||
return strconv.FormatInt(timestamp, 10)
|
return strconv.FormatInt(timestamp, 10)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1457,7 +1457,7 @@ func parseTime(s string) (time.Time, error) {
|
||||||
if t, err := strconv.ParseFloat(s, 64); err == nil {
|
if t, err := strconv.ParseFloat(s, 64); err == nil {
|
||||||
s, ns := math.Modf(t)
|
s, ns := math.Modf(t)
|
||||||
ns = math.Round(ns*1000) / 1000
|
ns = math.Round(ns*1000) / 1000
|
||||||
return time.Unix(int64(s), int64(ns*float64(time.Second))), nil
|
return time.Unix(int64(s), int64(ns*float64(time.Second))).UTC(), nil
|
||||||
}
|
}
|
||||||
if t, err := time.Parse(time.RFC3339Nano, s); err == nil {
|
if t, err := time.Parse(time.RFC3339Nano, s); err == nil {
|
||||||
return t, nil
|
return t, nil
|
||||||
|
|
|
@ -104,8 +104,8 @@ func extractTimeRange(min, max *time.Time) (mint, maxt time.Time, err error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
minTime = time.Unix(math.MinInt64/1000+62135596801, 0)
|
minTime = time.Unix(math.MinInt64/1000+62135596801, 0).UTC()
|
||||||
maxTime = time.Unix(math.MaxInt64/1000-62135596801, 999999999)
|
maxTime = time.Unix(math.MaxInt64/1000-62135596801, 999999999).UTC()
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Uptime</th>
|
<th>Uptime</th>
|
||||||
<td>{{.Birth.UTC}}</td>
|
<td>{{.Birth}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Working Directory</th>
|
<th>Working Directory</th>
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Last successful configuration reload</th>
|
<th>Last successful configuration reload</th>
|
||||||
<td>{{.LastConfigTime.UTC}}</td>
|
<td>{{.LastConfigTime}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>WAL corruptions</th>
|
<th>WAL corruptions</th>
|
||||||
|
|
|
@ -272,7 +272,7 @@ func New(logger log.Logger, o *Options) *Handler {
|
||||||
reloadCh: make(chan chan error),
|
reloadCh: make(chan chan error),
|
||||||
options: o,
|
options: o,
|
||||||
versionInfo: o.Version,
|
versionInfo: o.Version,
|
||||||
birth: time.Now(),
|
birth: time.Now().UTC(),
|
||||||
cwd: cwd,
|
cwd: cwd,
|
||||||
flagsMap: o.Flags,
|
flagsMap: o.Flags,
|
||||||
|
|
||||||
|
@ -780,7 +780,7 @@ func (h *Handler) status(w http.ResponseWriter, r *http.Request) {
|
||||||
case "prometheus_config_last_reload_successful":
|
case "prometheus_config_last_reload_successful":
|
||||||
status.ReloadConfigSuccess = toFloat64(mF) != 0
|
status.ReloadConfigSuccess = toFloat64(mF) != 0
|
||||||
case "prometheus_config_last_reload_success_timestamp_seconds":
|
case "prometheus_config_last_reload_success_timestamp_seconds":
|
||||||
status.LastConfigTime = time.Unix(int64(toFloat64(mF)), 0)
|
status.LastConfigTime = time.Unix(int64(toFloat64(mF)), 0).UTC()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
db := h.tsdb()
|
db := h.tsdb()
|
||||||
|
@ -829,7 +829,7 @@ func (h *Handler) runtimeInfo() (api_v1.RuntimeInfo, error) {
|
||||||
case "prometheus_config_last_reload_successful":
|
case "prometheus_config_last_reload_successful":
|
||||||
status.ReloadConfigSuccess = toFloat64(mF) != 0
|
status.ReloadConfigSuccess = toFloat64(mF) != 0
|
||||||
case "prometheus_config_last_reload_success_timestamp_seconds":
|
case "prometheus_config_last_reload_success_timestamp_seconds":
|
||||||
status.LastConfigTime = time.Unix(int64(toFloat64(mF)), 0)
|
status.LastConfigTime = time.Unix(int64(toFloat64(mF)), 0).UTC()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return status, nil
|
return status, nil
|
||||||
|
|
Loading…
Reference in a new issue