PromQL: Add minute() function

Returns the minutes from the current time in UTC. Related to the
`hour()` function.

Fixes #1983.
This commit is contained in:
Matt Bostock 2016-09-12 20:29:44 +01:00
parent 3fd992d2d1
commit 9628eb5998
2 changed files with 17 additions and 0 deletions

View File

@ -909,6 +909,13 @@ func funcHour(ev *evaluator, args Expressions) model.Value {
})
}
// === minute(v vector) scalar ===
func funcMinute(ev *evaluator, args Expressions) model.Value {
return dateWrapper(ev, args, func(t time.Time) model.SampleValue {
return model.SampleValue(t.Minute())
})
}
// === month(v vector) scalar ===
func funcMonth(ev *evaluator, args Expressions) model.Value {
return dateWrapper(ev, args, func(t time.Time) model.SampleValue {
@ -1102,6 +1109,13 @@ var functions = map[string]*Function{
ReturnType: model.ValVector,
Call: funcMinOverTime,
},
"minute": {
Name: "minute",
ArgTypes: []model.ValueType{model.ValVector},
OptionalArgs: 1,
ReturnType: model.ValVector,
Call: funcMinute,
},
"month": {
Name: "month",
ArgTypes: []model.ValueType{model.ValVector},

View File

@ -383,6 +383,9 @@ eval instant at 0m day_of_week()
eval instant at 0m hour()
{} 0
eval instant at 0m minute()
{} 0
# 2008-12-31 23:59:59 just before leap second.
eval instant at 0m year(vector(1230767999))
{} 2008