Devuelve líneas de registro para las consultas lentas identificadas por el Asesor de Rendimiento y el Analizador de Consultas. El Asesor de Rendimiento supervisa las consultas que MongoDB considera lentas y sugiere nuevos índices para mejorar el rendimiento. MongoDB Cloud basa el umbral de consultas lentas en el tiempo promedio de las operaciones en el clúster. Esto permite realizar recomendaciones relevantes para la carga de trabajo. Para usar este recurso, la cuenta de servicio o la clave API solicitantes deben tener un rol de acceso a datos del proyecto o el rol de Visor de Observabilidad del Proyecto.
Parámetros de ruta
-
Cadena 24hexadecimal única que identifica su proyecto. Utilice el punto de conexión /groups para recuperar todos los proyectos a los que el usuario autenticado tiene acceso.
NOTA: Grupos y proyectos son términos sinónimos. El ID de tu grupo es el mismo que el de tu proyecto. Para los grupos existentes, el ID de tu grupo/proyecto permanece igual. El recurso y los puntos finales correspondientes usan el término "grupos".
El formato debe coincidir con el siguiente patrón:
^([a-f0-9]{24})$. -
Combinación de host y puerto que sirve al proceso MongoDB. El host debe ser el nombre de host, el FQDN, la dirección IPv4 o la dirección IPv6 del host que ejecuta el proceso MongoDB (
mongodomongos). El puerto debe ser el puerto IANA en el que el proceso MongoDB recibe solicitudes.El formato debe coincidir con el siguiente patrón:
^([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})$.
Parámetros de consulta
-
Indicador que indica si la aplicación encapsula la respuesta en un objeto JSON
envelope. Algunos clientes de la API no pueden acceder a los encabezados de respuesta HTTP ni al código de estado. Para solucionar esto, configure envelope=true en la consulta. Los endpoints que devuelven una lista de resultados utilizan el objeto de resultados como encapsulado. La aplicación añade el parámetro de estado al cuerpo de la respuesta.El valor predeterminado es
false. -
Bandera que indica si el cuerpo de la respuesta debe estar en formato prettyprint.
El valor predeterminado es
false.Impresión bonita -
Tiempo durante el cual la consulta encuentra consultas lentas en los espacios de nombres administrados del clúster. Este parámetro se expresa en milisegundos.
- Si no especifica el parámetro since, el punto final devuelve datos que cubren la duración anterior a la hora actual.
- Si no especifica los parámetros de duración ni desde, el punto final devuelve datos de las 24 horas anteriores.
-
Espacios de nombres desde los que se recuperan consultas lentas. Un espacio de nombres consta de una base de datos y un recurso de colección, escrito como
.:<database>.<collection>. Para incluir varios espacios de nombres, pase el parámetro varias veces, delimitado por un símbolo & (&) entre cada espacio de nombres. Omita este parámetro para obtener resultados para todos los espacios de nombres. -
Número máximo de líneas del registro a devolver.
El valor mínimo es
0, el valor máximo es20000. El valor predeterminado es20000. -
Fecha y hora a partir de las cuales la consulta recupera las consultas lentas. Este parámetro expresa su valor en milisegundos transcurridos desde la época UNIX.
- Si no especifica el parámetro de duración, el punto final devuelve datos que abarcan desde el valor desde y la hora actual.
- Si no especifica ni los parámetros de duración ni desde, el punto final devuelve datos de las 24 horas anteriores.
El valor mínimo es
1199145600000. -
Si se incluirán o no las métricas extraídas del registro de consultas lentas como campos separados.
El valor predeterminado es
false. -
Si se debe incluir o no el estado de réplica del host cuando se generó el registro de consultas lentas como un campo separado.
El valor predeterminado es
false. -
Si se debe incluir o no el tipo de operación (lectura/escritura/comando) extraído del registro de consultas lentas como un campo separado.
El valor predeterminado es
false.
atlas api performanceAdvisor listSlowQueryLogs --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20240805001/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.2024-08-05+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.2024-08-05+json" \
-X GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/processes/{processId}/performanceAdvisor/slowQueryLogs?pretty=true"
{
"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"
}
]
}
{
"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": 429,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Too Many Requests",
"errorCode": "RATE_LIMITED"
}
{
"error": 500,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Internal Server Error",
"errorCode": "UNEXPECTED_ERROR"
}