Retornar queries lentas
Retorna linhas de log para consultas lentas que o Performance Advisor e o Profiler de query identificaram. O Performance Advisor monitora as queries que o MongoDB considera lentas e sugere novos índices para melhorar o desempenho das queries. O MongoDB Cloud baseia o limite para consultas lentas no tempo médio das operações em seu cluster. Isso permite recomendações relevantes para o volume de trabalho. Para usar este recurso, a conta de serviço ou a chave de API solicitante deve ter qualquer função de acesso aos dados do projeto ou a função de visualizador de observabilidade do projeto.
parâmetros de caminho
- 
    
  Sequência única de 24dígitos hexadecimais que identifica seu projeto. Use o endpoint /groups para extrair todos os projetos aos quais o usuário autenticado tem acesso. AVISO: grupos e projetos são termos sinônimos. O ID do seu grupo é igual ao ID do seu projeto. Para grupos existentes, o ID do grupo/projeto permanece o mesmo. O recurso e os endpoints correspondentes usam o termo grupos. O formato deve corresponder ao seguinte padrão: ^([a-f0-9]{24})$.
- 
    
  Combinação de host e porta que atende ao processo do MongoDB. O host deve ser o nome de host, FQDN, endereço IPv4 ou endereço IPv6 do host que executa o processo do MongoDB ( mongodoumongos). A porta deve ser a porta IANA na qual o processo MongoDB escuta solicitações.O formato deve corresponder ao seguinte padrão: ^([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 query
- 
    
  Sinalizador que indica se o aplicativo empacota a resposta em um objeto JSON envelope. Alguns clientes de API não podem acessar os cabeçalhos de resposta HTTP ou o código de status. Para corrigir isso, defina envelope=true na consulta. Os endpoints que retornam uma lista de resultados usam o objeto de resultados como um envelope. O aplicativo adiciona o parâmetro de status ao corpo da resposta.O valor padrão é false.
- 
    
  Sinalizador que indica se o corpo da resposta deve estar no formato prettyprint. O valor padrão é false.Prettyprint 
- 
    
  Duração do tempo expresso durante o qual a consulta encontra consultas lentas entre os namespaces gerenciados no cluster. Este parâmetro expressa seu valor em milissegundos. - Se você não especificar o parâmetro since, o ponto de extremidade retornará os dados cobrindo a duração antes do tempo atual.
- Se você não especificar nem os parâmetros duration nem since, o ponto de extremidade retornará dados das 24 horas anteriores.
 
- 
    
  Namespaces dos quais recuperar consultas lentas. Um namespace consiste em um banco de dados e um recurso de coleção escrito como .:<database>.<collection>. Para incluir vários namespaces, passe o parâmetro várias vezes, delimitados por um ampersand (&) entre cada namespace. Omita este parâmetro para retornar resultados de todos os namespaces.
- 
    
  Número máximo de linhas do registro a serem retornadas. O valor mínimo é 0, o valor máximo é20000. O valor padrão é20000.
- 
    
  Data e hora a partir das quais a query recupera as queries lentas. Esse parâmetro expressa seu valor no número de milissegundos decorridos desde a Era UNIX. - Se você não especificar o parâmetro duration , o ponto de extremidade retornará os dados que abrangem o valor since e a hora atual.
- Se você não especificar os parâmetros duration e since, o ponto de extremidade retornará dados das 24 horas anteriores.
 O valor mínimo é 1199145600000.
- 
    
  Se deve ou não incluir métricas extraídas do registro de query lenta como campos separados. O valor padrão é false.
- 
    
  Se incluir ou não o estado da réplica do host quando o registro de queries lentas for gerado como um campo separado. O valor padrão é false.
- 
    
  Se deve ou não incluir o tipo de operação (leitura/escrita/comando) extraído do registro de consulta lenta como um campo separado. O valor padrão é false.
atlas api performanceAdvisor listSlowQueryLogs --helpimport (
	"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"{
  "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"
}