Return Query Statistic Summaries
Returns a list of query shape statistics summaries for a given cluster. Query shape statistics provide performance insights about MongoDB queries, helping users identify problematic query patterns and potential optimizations.
Path parameters
-
Unique 24-hexadecimal digit string that identifies your project. Use the /groups endpoint to retrieve all projects to which the authenticated user has access.
NOTE: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups.
Format should match the following pattern:
^([a-f0-9]{24})$
. -
Human-readable label that identifies the cluster.
Format should match the following pattern:
^[a-zA-Z0-9][a-zA-Z0-9-]*$
.
Query parameters
-
Date and time from which to retrieve query shape statistics. This parameter expresses its value in the number of milliseconds that have elapsed since the UNIX epoch.
- If you don't specify the until parameter, the endpoint returns data covering from the since value and the current time.
- If you specify neither the since nor the until parameters, the endpoint returns data from the previous 24 hours.
Minimum value is
1199145600000
. -
Date and time up until which to retrieve query shape statistics. This parameter expresses its value in the number of milliseconds that have elapsed since the UNIX epoch.
- If you specify the until parameter, you must specify the since parameter.
- If you specify neither the since nor the until parameters, the endpoint returns data from the previous 24 hours.
Minimum value is
1199145600000
. -
ProcessIds from which to retrieve query shape statistics. A processId is a combination of host and port that serves the MongoDB process. The host must be the hostname, FQDN, IPv4 address, or IPv6 address of the host that runs the MongoDB process (
mongod
ormongos
). The port must be the IANA port on which the MongoDB process listens for requests. To include multiple processIds, pass the parameter multiple times delimited with an ampersand (&
) between each processId.Not more than
10
elements. Format of each should match the following pattern:^([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})$
. -
Namespaces from which to retrieve query shape statistics. A namespace consists of one database and one collection resource written as
.
:<database>.<collection>
. To include multiple namespaces, pass the parameter multiple times delimited with an ampersand (&
) between each namespace. Omit this parameter to return results for all namespaces.Not more than
10
elements. -
Retrieve query shape statistics matching specified MongoDB commands. To include multiple commands, pass the parameter multiple times delimited with an ampersand (
&
) between each command. The currently supported parameters are find, distinct, and aggregate. Omit this parameter to return results for all supported commands.Not more than
3
elements. Values arefind
,distinct
, oraggregate
. -
Maximum number of query statistic summaries to return.
Minimum value is
1
, maximum value is100
. Default value is100
. -
Query shape statistics data series to retrieve. A series represents a specific metric about query execution. To include multiple series, pass the parameter multiple times delimited with an ampersand (
&
) between each series. Omit this parameter to return results for all available series.Not more than
14
elements. Values areTOTAL_EXECUTION_TIME
,AVG_EXECUTION_TIME
,EXECUTION_COUNT
,KEYS_EXAMINED
,DOCS_EXAMINED
,DOCS_RETURNED
,TOTAL_TIME_TO_RESPONSE
,BYTES_READ
,KEYS_EXAMINED_RETURNED
,DOCS_EXAMINED_RETURNED
,LAST_EXECUTION_TIME
,P50_EXECUTION_TIME
,P90_EXECUTION_TIME
, orP99_EXECUTION_TIME
. -
A list of SHA256 hashes of desired query shapes, output by MongoDB commands like $queryStats and $explain or slow query logs. To include multiple series, pass the parameter multiple times delimited with an ampersand (
&
) between each series. Omit this parameter to return results for all available series.Not more than
10
elements. Format of each should match the following pattern:^([a-fA-F0-9]{64})$
. -
Flag that indicates whether Application wraps the response in an
envelope
JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body.Default value is
false
. -
Flag that indicates whether the response body should be in the prettyprint format.
Default value is
false
.Prettyprint
curl \
--request GET 'https://cloud.mongodb.com/api/atlas/v2/groups/32b6e34b3d91647abb20e7b8/clusters/{clusterName}/queryShapeInsights/summaries' \
--header "Authorization: Bearer $ACCESS_TOKEN"
{
"summaries": [
{
"avgWorkingMillis": 42.0,
"bytesRead": 42.0,
"command": "find",
"docsExamined": 42.0,
"docsExaminedRatio": 42.0,
"docsReturned": 42.0,
"execCount": 42.0,
"keysExamined": 42.0,
"keysExaminedRatio": 42.0,
"lastExecMicros": 42.0,
"namespace": "string",
"p50ExecMicros": 42.0,
"p90ExecMicros": 42.0,
"p99ExecMicros": 42.0,
"queryShape": "string",
"queryShapeHash": "string",
"totalTimeToResponseMicros": 42.0,
"totalWorkingMillis": 42.0
}
]
}
{
"error": 400,
"detail": "(This is just an example, the exception may not be related to this endpoint) No provider AWS exists.",
"reason": "Bad Request",
"errorCode": "VALIDATION_ERROR"
}
{
"error": 401,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Unauthorized",
"errorCode": "NOT_ORG_GROUP_CREATOR"
}
{
"error": 403,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Forbidden",
"errorCode": "CANNOT_CHANGE_GROUP_NAME"
}
{
"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"
}
{
"error": 500,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Internal Server Error",
"errorCode": "UNEXPECTED_ERROR"
}
{
"error": 429,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Too Many Requests",
"errorCode": "RATE_LIMITED"
}