HTTPサーバー統計情報の取得
トレーシング機能で投稿されたデータから、指定された条件でHTTPサーバーの統計情報を取得します。SERVER 側の HTTP リクエストのみを集計し、CLIENT スパンは除外されます。
GET
/api/v0/apm/http-server-stats
APIキーに必要な権限
- Read
入力
このAPIはクエリパラメータで条件を指定します。以下のパラメータが利用できます。
| PARAM NAME | TYPE | DESCRIPTION |
|---|---|---|
serviceName |
string | [required] サービス名。OpenTelemetryのsemantic conventionsの service.name に対応します。 |
serviceNamespace |
string | [optional] サービスの名前空間。OpenTelemetryのsemantic conventionsの service.namespace に対応します。 |
from |
number | [required] 統計情報取得開始時刻(Unix epoch秒)。to との範囲は30分に制限されます。 |
to |
number | [required] 統計情報取得終了時刻(Unix epoch秒)。from との範囲は30分に制限されます。 |
environment |
string | [optional] 環境名。OpenTelemetryのsemantic conventionsの deployment.environment もしくは deployment.environment.name に対応します。 |
version |
string | [optional] バージョン。OpenTelemetryのsemantic conventionsの service.version に対応します。 |
method |
string | [optional] HTTPメソッドでフィルタリング。OpenTelemetryのsemantic conventionsの http.request.method もしくは http.method に対応します。http.request.method が優先されます。 |
route |
string | [optional] ルートでフィルタリング(部分一致)。OpenTelemetryのsemantic conventionsの http.route、url.path、http.target、http.url に対応します。この順で優先されます。 |
orderColumn |
string | [optional] ソート列。SUM(合計レイテンシー)、AVERAGE(平均レイテンシー)、P95(95パーセンタイルレイテンシー)、ERROR_RATE(エラー率)、REQUEST_COUNT(アクセス数)のいずれか。デフォルトは P95。 |
orderDirection |
string | [optional] ソート順。ASC(昇順)または DESC(降順)。デフォルトは DESC。 |
page |
number | [optional] ページ番号(1から始まる)。デフォルトは 1。 |
perPage |
number | [optional] 1ページあたりの件数(1〜100)。デフォルトは 20。 |
応答
成功時
{ "results": [ { "method": "GET", "route": "/api/users", "totalMillis": 837.0, "averageMillis": 9.01, "approxP95Millis": 19.89, "errorRatePercentage": 0.0, "requestCount": 93 }, { "method": "POST", "route": "/api/orders", "totalMillis": 1250.0, "averageMillis": 12.5, "approxP95Millis": 25.5, "errorRatePercentage": 2.5, "requestCount": 100 } ], "hasNextPage": false }
レスポンスオブジェクトは以下のキーを持ちます。
| KEY | TYPE | DESCRIPTION |
|---|---|---|
results |
array | HTTPサーバ統計情報の配列 |
hasNextPage |
boolean | 次のページが存在するか |
HTTPサーバ統計情報オブジェクトは以下のキーを持ちます。
| KEY | TYPE | DESCRIPTION |
|---|---|---|
method |
string | HTTPメソッド。OpenTelemetryのsemantic conventionsの http.request.method もしくは http.method に対応します。http.request.method が優先されます。 |
route |
string | HTTPルート。OpenTelemetryのsemantic conventionsの http.route、url.path、http.target、http.url に対応します。この順で優先されます。 |
totalMillis |
number | 合計レイテンシー(ミリ秒)。Spanのduration(end - start)を計算した値 |
averageMillis |
number | 平均レイテンシー(ミリ秒)。合計実行時間をアクセス数で割った平均値 |
approxP95Millis |
number | おおよそのP95レイテンシー(ミリ秒) |
errorRatePercentage |
number | エラー率(%)。HTTPステータスコードが500以上のリクエストの割合 |
requestCount |
number | アクセス数。該当するHTTPリクエストを処理したspanの数 |
失敗時
| STATUS CODE | DESCRIPTION |
|---|---|
| 400 | 入力が受け付けられない形式のとき |
| 401 | APIキーが無効のとき |
| 403 | 指定されたサービスにアクセスする権限がないとき |
| 429 | APIのリクエストレート制限を超えているとき(1 req/sec) |
データベースクエリ統計情報の取得
トレーシング機能で投稿されたデータから、指定された条件でデータベースのクエリ統計情報を取得します。データベースへのアクセスを示す CLIENT スパンのみを集計し、SERVER スパンは除外されます。
GET
/api/v0/apm/db-query-stats
APIキーに必要な権限
- Read
入力
このAPIはクエリパラメータで条件を指定します。以下のパラメータが利用できます。
| PARAM NAME | TYPE | DESCRIPTION |
|---|---|---|
serviceName |
string | [required] サービス名。OpenTelemetryのsemantic conventionsの service.name に対応します。 |
serviceNamespace |
string | [optional] サービスの名前空間。OpenTelemetryのsemantic conventionsの service.namespace に対応します。 |
from |
number | [required] 統計情報取得開始時刻(Unix epoch秒)。to との範囲は30分に制限されます。 |
to |
number | [required] 統計情報取得終了時刻(Unix epoch秒)。from との範囲は30分に制限されます。 |
environment |
string | [optional] 環境名。OpenTelemetryのsemantic conventionsの deployment.environment もしくは deployment.environment.name に対応します。 |
version |
string | [optional] バージョン。OpenTelemetryのsemantic conventionsの service.version に対応します。 |
query |
string | [optional] SQLクエリでフィルタリング(部分一致)。OpenTelemetryのsemantic conventionsの db.query.text もしくは db.statement に対応します。db.query.text が優先されます。 |
orderColumn |
string | [optional] ソート列。SUM(合計レイテンシー)、AVERAGE(平均レイテンシー)、P95(95パーセンタイルレイテンシー)、EXECUTION_COUNT(実行回数)のいずれか。デフォルトは P95。 |
orderDirection |
string | [optional] ソート順。ASC(昇順)または DESC(降順)。デフォルトは DESC。 |
page |
number | [optional] ページ番号(1から始まる)。デフォルトは 1。 |
perPage |
number | [optional] 1ページあたりの件数(1〜100)。デフォルトは 20。 |
応答
成功時
{ "results": [ { "query": "SELECT * FROM users WHERE id = ?", "executionCount": 1250, "totalMillis": 11262.5, "averageMillis": 9.01, "approxP95Millis": 19.89 }, { "query": "INSERT INTO orders (user_id, total) VALUES (?, ?)", "executionCount": 850, "totalMillis": 6375.0, "averageMillis": 7.5, "approxP95Millis": 15.2 } ], "hasNextPage": false }
レスポンスオブジェクトは以下のキーを持ちます。
| KEY | TYPE | DESCRIPTION |
|---|---|---|
results |
array | データベースクエリ統計情報の配列 |
hasNextPage |
boolean | 次のページが存在するか |
データベースクエリ統計情報オブジェクトは以下のキーを持ちます。
| KEY | TYPE | DESCRIPTION |
|---|---|---|
query |
string | SQLクエリ文字列。OpenTelemetryのsemantic conventionsの db.query.text もしくは db.statement に対応します。db.query.text が優先されます。 |
executionCount |
number | 実行回数。該当するクエリを実行したspanの数 |
totalMillis |
number | 合計レイテンシー(ミリ秒)。Spanのduration(end - start)を計算した値 |
averageMillis |
number | 平均レイテンシー(ミリ秒)。合計実行時間を実行回数で割った平均値 |
approxP95Millis |
number | おおよそのP95レイテンシー(ミリ秒) |
失敗時
| STATUS CODE | DESCRIPTION |
|---|---|
| 400 | 入力が受け付けられない形式のとき |
| 401 | APIキーが無効のとき |
| 403 | 指定されたサービスにアクセスする権限がないとき |
| 429 | APIのリクエストレート制限を超えているとき(1 req/sec) |