低速クエリを返す

GET /api/atlas/v2/groups/{groupId}/processes/{processId}/performanceAdvisor/slowQueryLogs

Performance Advisorとクエリプロファイラーが特定した低速クエリのログ行を返します。Performance Advisor は MongoDB が遅いと判断したクエリをモニターし、クエリ パフォーマンスを改善するための新しいインデックスを提案します。MongoDB Cloud では、クラスターでの平均操作時間に基づいて低速クエリのしきい値が決定されます。これにより、ワークロードに適した推奨が可能になります。このリソースを使用するには、リクエスト元のサービス アカウントまたは API キーに、いずれかのプロジェクト データアクセス ロールまたはプロジェクト オブザーバビリティ ビューア ロールが必要です。

path パラメータ

  • グループ ID string 必須

    プロジェクトを識別する一意の 24 桁の 16 進数文字列。 認証済みユーザーがアクセスできるすべてのプロジェクトを取得するには、 /groups エンドポイントを使用します。

    : グループとプロジェクトは同義語です。そのため、グループ ID はプロジェクト ID と同じです。既存のグループの場合、グループ/プロジェクト ID は同じままです。リソースおよび対応するエンドポイントでは、グループという用語が使用されます。

    形式は次のパターンと一致する必要があります: ^([a-f0-9]{24})$

  • processId string 必須

    MongoDB プロセスを提供するホストとポートの組み合わせ。ホストは、MongoDB プロセス(mongodまたはmongos)を実行するホストのホスト名、FQDN、IPv4 アドレス、または IPv6 アドレスである必要があります。ポートは MongoDB プロセスがリクエストをリッスンする IANA ポートである必要があります。

    形式は次のパターンと一致する必要があります: ^([0-9]{1,3}\.){3}[0-9]{1,3}|([0-9a-f]{1,4}\:){7}([0-9a-f]{1,4})|(([a-z0-9]+\.){1,10}[a-z]+)?(\:[0-9]{4,5})$

クエリ パラメータ

  • envelope ブール値

    アプリケーションがレスポンスを envelope JSON オブジェクトにラップするかどうかを示すフラグ。一部の API クライアントは、HTTP レスポンス ヘッダーまたはステータス コードにアクセスできません。これを修正するには、クエリで envelope=true を設定します。結果のリストを返すエンドポイントは、結果オブジェクトをエンベロープとして使用します。アプリケーションは、レスポンス本体にステータス パラメータを追加します。

    デフォルト値はfalseです。

  • pretty ブール値

    レスポンス本体を pretty-print 形式にするかどうかを示すフラグ。

    デフォルト値はfalseです。

    Prettyprint
  • duration integer(int64)

    クラスター内の管理対象名前空間内で、クエリが低速クエリと判断されるまでの時間の長さ。このパラメータは、その値をミリ秒単位で表します。

    • sinceパラメーターを指定しない場合、エンドポイントは現在の時刻より前の期間に該当するデータを返します。
    • durationパラメーターもsinceパラメーターも指定しない場合、エンドポイントは過去 24 時間のデータを返します。
  • 名前空間 array[string]

    低速クエリを取得する名前空間。名前空間は 1 件のデータベースと 1 件のコレクション リソースで構成され、.: <database>.<collection> と記述されます。複数の名前空間を含めるには、各名前空間の間をアンパサンド (&) で区切って、パラメーターを複数回渡します。このパラメーターを省略すると、すべての名前空間の結果が返されます。

  • nLogs integer(int64)

    ログから返される最大行数。

    最小値は 0、最大値は 20000 です。デフォルト値は 20000 です。

  • 以来 integer(int64)

    クエリが低速クエリを検索する日時。このパラメータは、 UNIXエポックから経過したミリ秒数で値を表します。

    • durationパラメーターを指定しない場合、エンドポイントはsince値から現在の時刻までのデータを返します。
    • durationパラメーターもsinceパラメーターも指定しない場合、エンドポイントは過去 24 時間のデータを返します。

    の最小値は 1199145600000 です。

  • includeMetrics ブール値

    低速クエリログから抽出されたメトリクスを別のフィールドとして含めるかどうか。

    デフォルト値はfalseです。

  • includeReplicaState ブール値

    低速クエリログが別のフィールドとして生成されたときのホストのレプリカ状態を含めるかどうか。

    デフォルト値はfalseです。

  • includeOpType ブール値

    低速クエリログから抽出された操作タイプ(読み取り/書込み/コマンド)を別のフィールドとして含めるかどうか。

    デフォルト値はfalseです。

応答

  • 200 application/vnd.atlas.2023-01-01+json

    OK

    応答属性を非表示 応答属性の表示 オブジェクト
    • slowQuerys array[オブジェクト]

      Performance Advisor が検出した操作の実行時間が指定されたしきい値より長い時間がかかる操作のリスト。

      Performance Advisor が検出した 1 つの低速クエリの詳細。

      slowQuerys 属性の非表示 slowQuerys 属性の表示 オブジェクト
      • string

        この低速クエリに関連するMongoDBログのテキスト。

      • メトリクス オブジェクト

        低速クエリログからのメトリクス。

        メトリクス属性の非表示 メトリクス属性の表示 オブジェクト
        • dosExecutioned integer(int64)

          操作を実行するために MongoDB がスキャンしたコレクション内のドキュメント数。

        • docsExecutor の検索結果 number(double)

          検査されたドキュメントと返されたドキュメントの比率。

        • dos Returned integer(int64)

          操作によって返されたドキュメントの数。

        • fromUserConnection ブール値

          このブール値は、サーバーがクエリ ソースを非サーバーとして識別できる場合に true になります。このフィールドはMDB 8.0+ でのみ使用できます。

        • hasIndexCoverage ブール値

          クエリにインデックスカバレッジがあるかどうかを示します。

        • hasSort ブール値

          このブール値は、クエリがインデックス内の順序を使用して、要求されたソート結果を返すことが できない 場合に true になります。つまり、 MongoDB は、カーソルからドキュメントを受け取った後、ドキュメントをソートする必要があります。

        • keyExecutor integer(int64)

          操作を実行するために MongoDB がスキャンしたインデックスキーの数。

        • [keysExするには] を使用します number(double)

          返されたドキュメントに対する検査されたキーの割合。

        • numYelds integer(int64)

          他の操作を完了させるために操作が中断した回数。

        • Operation Execution Time integer(int64)

          クエリの合計実行時間(ミリ秒単位)。

        • responseLength integer(int64)

          操作の 結果ドキュメントの長さ(バイト単位)。

      • namespace string

        指定されたホスト上の名前空間を識別する、人間が判読可能なラベル。リソースはこのパラメータ値を <database>.<collection> として表します。

      • opType string

        この 低速クエリログに関連付けられている操作タイプ(読み取り/書込み/コマンド)。

      • replicaState string

        この 低速クエリログに関連付けられているレプリカの状態。

  • 401 application/ JSON

    許可されていません。

    応答属性の非表示 応答属性の表示 オブジェクト
    • validRequestDetail オブジェクト

      無効なリクエストの詳細。

      validRequestDetail 属性を非表示にする validRequestDetail 属性の表示 オブジェクト
      • フィールド array[オブジェクト]

        クライアントリクエストにおけるすべての違反を説明します。

        フィールド属性を非表示にする フィールド属性の表示 オブジェクト
        • 説明 string 必須

          リクエスト要素が禁止されている理由の説明。

        • フィールド string 必須

          リクエスト本文内のフィールドにつながるパス。

    • 詳細 string

      各タイプのエラーの原因となる特定の条件または理由について説明します。

    • エラー integer(int32) 必須

      このエラーで返された HTTP ステータス コード。

      外部ドキュメント
    • errorCode string 必須

      このエラーで返されたアプリケーション エラー コード。

    • パラメーター array[オブジェクト]

      エラーに関する詳細情報を提供するために使用されるパラメーター。

    • 理由 string

      このエラーで返されたアプリケーション エラー メッセージ。

  • 403 application/ JSON

    Forbidden.

    応答属性の非表示 応答属性の表示 オブジェクト
    • validRequestDetail オブジェクト

      無効なリクエストの詳細。

      validRequestDetail 属性を非表示にする validRequestDetail 属性の表示 オブジェクト
      • フィールド array[オブジェクト]

        クライアントリクエストにおけるすべての違反を説明します。

        フィールド属性を非表示にする フィールド属性の表示 オブジェクト
        • 説明 string 必須

          リクエスト要素が禁止されている理由の説明。

        • フィールド string 必須

          リクエスト本文内のフィールドにつながるパス。

    • 詳細 string

      各タイプのエラーの原因となる特定の条件または理由について説明します。

    • エラー integer(int32) 必須

      このエラーで返された HTTP ステータス コード。

      外部ドキュメント
    • errorCode string 必須

      このエラーで返されたアプリケーション エラー コード。

    • パラメーター array[オブジェクト]

      エラーに関する詳細情報を提供するために使用されるパラメーター。

    • 理由 string

      このエラーで返されたアプリケーション エラー メッセージ。

  • 404 application/ JSON

    見つかりません。

    応答属性の非表示 応答属性の表示 オブジェクト
    • validRequestDetail オブジェクト

      無効なリクエストの詳細。

      validRequestDetail 属性を非表示にする validRequestDetail 属性の表示 オブジェクト
      • フィールド array[オブジェクト]

        クライアントリクエストにおけるすべての違反を説明します。

        フィールド属性を非表示にする フィールド属性の表示 オブジェクト
        • 説明 string 必須

          リクエスト要素が禁止されている理由の説明。

        • フィールド string 必須

          リクエスト本文内のフィールドにつながるパス。

    • 詳細 string

      各タイプのエラーの原因となる特定の条件または理由について説明します。

    • エラー integer(int32) 必須

      このエラーで返された HTTP ステータス コード。

      外部ドキュメント
    • errorCode string 必須

      このエラーで返されたアプリケーション エラー コード。

    • パラメーター array[オブジェクト]

      エラーに関する詳細情報を提供するために使用されるパラメーター。

    • 理由 string

      このエラーで返されたアプリケーション エラー メッセージ。

  • 429 application/ JSON

    リクエストが多すぎます。

    応答属性の非表示 応答属性の表示 オブジェクト
    • validRequestDetail オブジェクト

      無効なリクエストの詳細。

      validRequestDetail 属性を非表示にする validRequestDetail 属性の表示 オブジェクト
      • フィールド array[オブジェクト]

        クライアントリクエストにおけるすべての違反を説明します。

        フィールド属性を非表示にする フィールド属性の表示 オブジェクト
        • 説明 string 必須

          リクエスト要素が禁止されている理由の説明。

        • フィールド string 必須

          リクエスト本文内のフィールドにつながるパス。

    • 詳細 string

      各タイプのエラーの原因となる特定の条件または理由について説明します。

    • エラー integer(int32) 必須

      このエラーで返された HTTP ステータス コード。

      外部ドキュメント
    • errorCode string 必須

      このエラーで返されたアプリケーション エラー コード。

    • パラメーター array[オブジェクト]

      エラーに関する詳細情報を提供するために使用されるパラメーター。

    • 理由 string

      このエラーで返されたアプリケーション エラー メッセージ。

  • 500 application/ JSON

    内部サーバーエラー。

    応答属性の非表示 応答属性の表示 オブジェクト
    • validRequestDetail オブジェクト

      無効なリクエストの詳細。

      validRequestDetail 属性を非表示にする validRequestDetail 属性の表示 オブジェクト
      • フィールド array[オブジェクト]

        クライアントリクエストにおけるすべての違反を説明します。

        フィールド属性を非表示にする フィールド属性の表示 オブジェクト
        • 説明 string 必須

          リクエスト要素が禁止されている理由の説明。

        • フィールド string 必須

          リクエスト本文内のフィールドにつながるパス。

    • 詳細 string

      各タイプのエラーの原因となる特定の条件または理由について説明します。

    • エラー integer(int32) 必須

      このエラーで返された HTTP ステータス コード。

      外部ドキュメント
    • errorCode string 必須

      このエラーで返されたアプリケーション エラー コード。

    • パラメーター array[オブジェクト]

      エラーに関する詳細情報を提供するために使用されるパラメーター。

    • 理由 string

      このエラーで返されたアプリケーション エラー メッセージ。

GET /API/Atlas/v2/groups/{groupId}/processes/{processId}/performanceAdvisor/slowQueryLogs
atlas api performanceAdvisor listGroupProcessPerformanceAdvisorSlowQueryLogs --help
import (
	"os"
	"context"
	"log"
	sdk "go.mongodb.org/atlas-sdk/v20230101001/admin"
)

func main() {
	ctx := context.Background()
	clientID := os.Getenv("MONGODB_ATLAS_CLIENT_ID")
	clientSecret := os.Getenv("MONGODB_ATLAS_CLIENT_SECRET")

	// See https://dochub.mongodb.org/core/atlas-go-sdk-oauth
	client, err := sdk.NewClient(sdk.UseOAuthAuth(clientID, clientSecret))

	if err != nil {
		log.Fatalf("Error: %v", err)
	}

	params = &sdk.ListGroupProcessPerformanceAdvisorSlowQueryLogsApiParams{}
	sdkResp, httpResp, err := client.PerformanceAdvisorApi.
		ListGroupProcessPerformanceAdvisorSlowQueryLogsWithParams(ctx, params).
		Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
  --header "Accept: application/vnd.atlas.2023-01-01+json" \
  -X GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/processes/{processId}/performanceAdvisor/slowQueryLogs?pretty=true"
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
  --digest --include \
  --header "Accept: application/vnd.atlas.2023-01-01+json" \
  -X GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/processes/{processId}/performanceAdvisor/slowQueryLogs?pretty=true"
応答の例(200)
{
  "slowQueries": [
    {
      "line": "string",
      "metrics": {
        "docsExamined": 42,
        "docsExaminedReturnedRatio": 42.0,
        "docsReturned": 42,
        "fromUserConnection": true,
        "hasIndexCoverage": true,
        "hasSort": true,
        "keysExamined": 42,
        "keysExaminedReturnedRatio": 42.0,
        "numYields": 42,
        "operationExecutionTime": 42,
        "responseLength": 42
      },
      "namespace": "string",
      "opType": "string",
      "replicaState": "string"
    }
  ]
}
応答の例(401)
{
  "error": 401,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Unauthorized",
  "errorCode": "NOT_ORG_GROUP_CREATOR"
}
応答の例(403)
{
  "error": 403,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Forbidden",
  "errorCode": "CANNOT_CHANGE_GROUP_NAME"
}
応答の例(404)
{
  "error": 404,
  "detail": "(This is just an example, the exception may not be related to this endpoint) Cannot find resource AWS",
  "reason": "Not Found",
  "errorCode": "RESOURCE_NOT_FOUND"
}
応答の例(429)
{
  "error": 429,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Too Many Requests",
  "errorCode": "RATE_LIMITED"
}
応答の例(500)
{
  "error": 500,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Internal Server Error",
  "errorCode": "UNEXPECTED_ERROR"
}