created: 2023-10-26T09:02:48.553Z

promsql のデータ型と具体例

promql にはデータの概念に特徴的な名前がついている。ドキュメントを読んでも最初よく分からなかったので具体例をメモ。

  • metrics
  • instant vector
  • range vector
  • scalar / string

metrics

時系列で取得されるデータの名前。

たとえば DB サーバと APP サーバのメモリ使用量を時系列で取得されたデータに memory_bytes といった名前をつけて保存したものは metrics。

instant vector

あるタイムスタンプで取得されたデータの集合。たとえば 2010年10月10日20時20分 に DB サーバのメモリ消費量が 500MB で、APP サーバのメモリ消費量が 1GB だったら {500MB, 1GB} という集合は instant vector。

なお、memory_bytes とメトリクス名のみを記述した promql は valid な promql で、これは利用可能な最後のタイムスタンプのデータを返すようになっている。

range vector

2010年10月10日20時の20分から30分まで というように、ある期間内の instant vector の集合。

scalar / string

単純な文字列や数値。これは独自の概念でもない。

参考

みんなのデータ構造
[ad] みんなのデータ構造
Pat Morin, 堀江 慧 (単行本(ソフトカバー))