Returns the indexes that the Performance Advisor suggests. The Performance Advisor monitors queries that MongoDB considers slow and suggests new indexes to improve query performance.
- Project Read Only
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})$. -
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 (
mongodormongos). The port must be the IANA port on which the MongoDB process listens for requests.Format 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})$.
Query parameters
-
Flag that indicates whether Application wraps the response in an
envelopeJSON 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 returns the total number of items (
totalCount) in the response.Default value is
true. -
Number of items that the response returns per page.
Minimum value is
1, maximum value is500. Default value is100. -
Number of the page that displays the current set of the total objects that the response returns.
Minimum value is
1. Default value is1. -
Flag that indicates whether the response body should be in the prettyprint format.
Default value is
false.Prettyprint -
Length of time expressed during which the query finds suggested indexes among the managed namespaces in the cluster. This parameter expresses its value in milliseconds.
- If you don't specify the since parameter, the endpoint returns data covering the duration before the current time.
- If you specify neither the duration nor since parameters, the endpoint returns data from the previous 24 hours.
-
Namespaces from which to retrieve suggested indexes. 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. -
Maximum number of example queries that benefit from the suggested index.
Default value is
5. -
Number that indicates the maximum indexes to suggest.
-
Date and time from which the query retrieves the suggested indexes. This parameter expresses its value in the number of milliseconds that have elapsed since the UNIX epoch.
- If you don't specify the duration parameter, the endpoint returns data covering from the since value and the current time.
- If you specify neither the duration nor the since parameters, the endpoint returns data from the previous 24 hours.
Minimum value is
1199145600000.
atlas api performanceAdvisor listSuggestedIndexes --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20231001001/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.ListGroupProcessPerformanceAdvisorSuggestedIndexesApiParams{}
sdkResp, httpResp, err := client.PerformanceAdvisorApi.
ListGroupProcessPerformanceAdvisorSuggestedIndexesWithParams(ctx, params).
Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Accept: application/vnd.atlas.2023-10-01+json" \
-X GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/processes/{processId}/performanceAdvisor/suggestedIndexes?pretty=true"
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
--digest --include \
--header "Accept: application/vnd.atlas.2023-10-01+json" \
-X GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/processes/{processId}/performanceAdvisor/suggestedIndexes?pretty=true"
# Headers
# Payload
{
"shapes": [
{
"avgMs": 42,
"count": 42,
"id": "32b6e34b3d91647abb20e7b8",
"inefficiencyScore": 42,
"namespace": "string",
"operations": [
{
"predicates": [
{}
],
"stats": {
"ms": 42,
"nReturned": 42,
"nScanned": 42,
"ts": 42
}
}
]
}
],
"suggestedIndexes": [
{
"avgObjSize": 42.0,
"id": "32b6e34b3d91647abb20e7b8",
"impact": [
"string"
],
"index": [
{
"additionalProperty1": 1,
"additionalProperty2": 1
}
],
"namespace": "string",
"weight": 42.0
}
]
}
{
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"error": 401,
"errorCode": "NOT_ORG_GROUP_CREATOR",
"reason": "Unauthorized"
}
{
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"error": 403,
"errorCode": "CANNOT_CHANGE_GROUP_NAME",
"reason": "Forbidden"
}
{
"detail": "(This is just an example, the exception may not be related to this endpoint) Cannot find resource AWS",
"error": 404,
"errorCode": "RESOURCE_NOT_FOUND",
"reason": "Not Found"
}
{
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"error": 429,
"errorCode": "RATE_LIMITED",
"reason": "Too Many Requests"
}
{
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"error": 500,
"errorCode": "UNEXPECTED_ERROR",
"reason": "Internal Server Error"
}