diff --git a/promql/functions.go b/promql/functions.go index 61d56d4cae..41ff6fe7b3 100644 --- a/promql/functions.go +++ b/promql/functions.go @@ -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}, diff --git a/promql/testdata/functions.test b/promql/testdata/functions.test index 595161e9f4..f041ffadc4 100644 --- a/promql/testdata/functions.test +++ b/promql/testdata/functions.test @@ -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