16章関数
PromQLは、バージョン2.2.1の段階で46種類の関数を持っており†1、一般的な算術演算からカウンタ、ヒストグラムメトリクスに固有な処理まで、さまざまな機能を提供している。この章では、すべての関数の動作と使い方を学ぶ。
[†1] 監訳注:2019年1月時点で最新の2.7.1でも46種類のままである。
ほとんどすべてのPromQL関数はインスタントベクトルを返し、そうでない2個(timeとscalar)はスカラを返す。範囲ベクトルを返す関数はないが、今までに登場したことのあるrate、avg_over_timeをはじめとする複数の関数が入力として範囲ベクトルを取る。
言い換えれば、関数は一般に1度にひとつの時系列データかひとつのインスタントベクトルのサンプルをまとめて処理する。範囲ベクトル全体を1度に処理できる関数や機能はPromQLにはない。
PromQLは静的に型付けされているので、関数は入力型によって戻り値を変えたりはしない。それどころか、個々の関数の入力型も固定されている。ふたつの異なる型の入力を操作しなければならない場合には、ふたつの異なる関数名が使われている。たとえば、インスタントベクトルに対してはavgアグリゲータを使うが、範囲ベクトルに対してはavg_over_time関数を使う。
関数には正式の分類はないが、これからの説明では関連する関数をグループにまとめて説明する。
16.1 型変換
スカラが必要なのにベクトルしかないとか、その逆のときがある。そのようなときに、型変換するための関数がふたつある。
16.1.1 vector
vector関数は、引数としてスカラ値を取り、ラベルなしで引数を値とする1個のサンプルを含むインスタントベクトルに変換する。たとえば次の式は、 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access