本文へスキップ

MXQL

ノート

MXQLの内容を確認する前に、まずメトリクスの概念について確認することをお勧めします。メトリクスの詳細については、次の文書を確認してください。

MXQLとは

MXQLは、WhaTapの性能データ(メトリクス)を柔軟に検索するためのクエリ言語です。プロジェクトに含まれる複数のエージェントから収集したメトリクスを総合的に表示および利用するために使用します。

MXQLとSQLの違い

よく知られているSQLと比較することで、MXQLの概念を学びます。

用語

まずSQLで使用する用語を見てみましょう。

SQLのデータ格納構造

上記のように、WhaTapのデータベース(Database)にproductテーブル(Table)が含まれています。productテーブル(Table)にはid、descriptionの2つのカラム(Column)が含まれています。SQLのDatabase、Table、Columnに対応するMXQLの用語はそれぞれdatabase、category、fieldです。

保存方式MXQLSQL
大分類DatabaseDatabase
中分類CategoryTable
小分類FieldColumn

クエリー(Query)

MXQLとSQLのサンプルクエリです。各行の右側のコメントを確認してください。

SQL query
SELECT time, pcode  -- Column選択(time、 pcodeカラムを表示するように設定します。)
FROM app_counter -- Table選択(app_counterテーブルからデータを検索します。)
WHERE tx_count = 1 -- データフィルタリング(tx_count columnの値が1のデータを表示するように設定します。)
MXQL query
CATEGORY app_counter                 -- app_counterカテゴリでデータを表示するように設定します。
TAGLOAD -- データを検索します。
SELECT [ time, pcode ] -- 参照された全体カラムのうちtime、pcodeフィールドを選択します。
FILTER { key : tx_count, value : 5} -- tx_countフィールドの値が5のデータを残します。

実行結果

MXQLクエリを実行すると、選択したカテゴリで選択したフィールドのメトリクスを照会します。

app_counterカテゴリのtx_counttx_error指標を検索するクエリは次のとおりです。

MXQL
CATEGORY app_counter -- app_counterカテゴリでデータを照会するように設定します。
TAGLOAD -- データを検索します。
SELECT [time, oid, tx_count, tx_error] -- 表示するフィールドの名前を設定します。

クエリを実行すると、次のようにメトリクスを照会します。

MXQL実行結果の例

メトリクスには常にtimeoid値が含まれるため、MXQLクエリもtimeoidフィールドを含めることをお勧めします。最後に表示したデータがいつ(time)、どのエージェント(oid)から収集したメトリクスなのかを確認できます。