Comandos de diagnóstico
Nesta página
buildInfo
Para o comando buildInfo , a resposta contém os seguintes campos:
Campo | Descrição |
---|---|
| Retorna |
| Versão de compatibilidade do cliente MongoDB. Esta é a versão mais antiga do cliente MongoDB com a qual o serviço do Data Federation é compatível. |
| Versão de compatibilidade do cliente MongoDB no formato de array. |
| Número da versão do Data Federation. |
| Versão Git do serviço Data Federation. |
| Construir carimbo de data/hora do serviço do Data Federation. |
|
|
Exemplo
{ "ok" : <return>, "version" : "<version-number>", "versionArray" : [ <number>, <number>, <number>, <number> ], "dataLake" : { "version" : "<version-number>", "gitVersion" : "<version-number>", "date" : "<timestamp>", "mongoSQLVersion" : "<version-number>" } }
collStats
Para o comando collStats , o Atlas Data Federation omite os seguintes campos na resposta:
avgObjSize
capped
max
maxSize
wiredTiger
nindexes
totalIndexSize
indexSizes
O Atlas Data Federation inclui os seguintes campos na resposta. Você pode usar esses campo para verificar quais partições são usadas para preencher uma collection, entender há quanto tempo as estatísticas foram calculadas e determinar se o Atlas Data Federation truncaram o documento de saída.
Campo | Descrição | |
---|---|---|
| Número de partições. | |
| Tamanho médio de todas as partições. | |
| Formato de arquivo da partição. | |
| Filtrando atributos da partição. | |
| Número de documentos na partição. | |
| Tamanho, em bytes, da partição. | |
| URL de armazenamento na nuvem, que contém os dados de backup da partição. | |
| Versão do MongoDB do Atlas cluster. O comando
Por exemplo, | |
| Informações sobre quão recentemente o Atlas Data Federation calculou as estatísticas. | |
| Hora no formato ISODate em que o cálculo das estatísticas foi iniciado. | |
| Sinalizador que indica se uma tarefa em segundo plano está em execução agora para atualizar o cache. | |
| Sinalizador que indica se o Atlas Data Federation aplicou o limite máximo de tamanho de documento de 16MiB. O valor do sinalizador pode ser um dos seguintes:
|
Exemplo
{ ... "partitionCount": <number of partitions>, "avgPartitionSize": <average size of all partitions>, "partitions": [ { "format": <file format>, "attributes": <filtering attributes>, "count": <number of documents in partition>, "source": <cloud storage URL>, "size": <size, in bytes, of the partition> }, ... ], "truncated": false, "cacheMetadata": { computeTime: ISODate("2021-07-25T15:10:33.513Z"), automaticRefreshInProgress: false }, ... }
Atlas Data Federation introduz um parâmetro booleano opcional, sync
, para ignorar o cache e buscar as estatísticas de armazenamento mais recentes para uma determinada collection. The following values are valid for the sync
parameter:
true
- para ignorar o cache e retornar as estatísticas de armazenamento mais recentesfalse
- para retornar dados em cache
Se o parâmetro sync
for omitido, o padrão será false
.
Exemplo
db.runCommand( {collStats: "<string>", sync: true|false} )
Para saber mais sobre os parâmetros suportados por este comando, consulte collStats.
connectionStatus
Para o comando connectionStatus , o Atlas Data Federation retorna informações sobre a conexão atual, especificamente o estado dos usuários autenticados e suas funções disponíveis.
Observação
Somente um usuário pode autenticar em uma conexão com uma instância do banco de dados federado a qualquer momento. Se um usuário autenticar e depois executar o comando db.auth()
, o Data Federation substituirá as permissões do usuário anterior pelas permissões do novo usuário.
O comando connectionStatus mostra somente o usuário recém-autenticado no campo de saída authenticatedUsers
.
dbStats
Para o comando dbStats , o Atlas Data Federation introduz um parâmetro booleano opcional, sync
, para ignorar o cache e buscar as estatísticas de armazenamento mais recentes para um determinado banco de dados de dados. Os seguintes valores são válidos para o parâmetro sync
:
true
- para ignorar o cache e retornar as estatísticas de armazenamento mais recentesfalse
- para usar também os dados em cache
Se o parâmetro sync
for omitido, o padrão será false
.
Exemplo
db.runCommand( {dbStats: 1, sync: true|false} )
Para saber mais sobre os parâmetros suportados por este comando, consulte dbStats.
O comando do Atlas Data Federation emite os seguintes campos na resposta:
object
avgObjSize
fsUsedSize
fsTotalSize
Os comandos adicionam os seguintes campos na resposta. Você pode utilizar estes campos para determinar se o comando retornou dados obsoletos.
Campo | Descrição |
---|---|
| Contém informações sobre há quanto tempo as estatísticas foram calculadas. |
| Hora no formato ISODate em que o cálculo das estatísticas foi iniciado. |
| Sinalizador que indica se uma tarefa em segundo plano está em execução agora para atualizar o cache. |
explain
O comando explain retorna informações que descrevem o plano de query da Data Federation . A saída explain
difere do MongoDB porque fornece informações sobre as partições de dados usadas para satisfazer a query.
Os seguintes comandos podem ser explicados no Data Federation:
aggregate()
count()
find()
Uso
O Atlas Data Federation suporta os seguintes modos do verbosity
:
queryPlanner
- fornece informações sobre o plano de query. Se a verbosidade não for especificada, o Atlas Data Federation padroniza para este modo.queryPlannerExtended
- fornece informações detalhadas sobre o plano de query, incluindo informações sobre os objetos de armazenamento de objetos, como os nomes e tamanhos dos objetos de armazenamento de objetos que serão consultados.executionStats
- fornece estatísticas de execução e desempenho da query.
O Atlas Data Federation não suporta o modo allPlansExecution
.
Exemplo
O exemplo seguinte mostra como utilizar o comando explain
para obter informações sobre o comando agregado , incluindo informações detalhadas sobre o plano de query.
db.runCommand({ "explain": { "aggregate": "user", "verbosity": "queryPlannerExtended", "pipeline": [ ], "cursor": {} }})
O exemplo seguinte mostra como anexar um método ao método explain
, como o método find()
, para obter estatísticas de execução da query na query.
db.users.explain("executionStats").find({"type": "admin"})
Saída
Ao executar o explain
, o Atlas Data Federation retorna os seguintes campos adicionais para outras partições:
Nome do campo de saída | Descrição |
---|---|
| documento que descreve o número e o tamanho total das partições que o Atlas Data Federation pode abrir para a query. |
| Tamanho total das partições que o Atlas Data Federation pode abrir para a query. |
| Número de partições que o Atlas Data Federation pode abrir para a query. |
| Booleano que indica se a saída |
| documento que contém o plano de execução da query para a query. O documento contém nós de plano de execução aninhados, cada um dos quais é um documento que descreve o nó do plano. Os documentos de nó do plano aninhados contêm uma descrição interna da execução da query do Atlas Data Federation e incluem vários tipos de nó que estão sujeitos a alterações. Entre em contato com o suporte do MongoDB se precisar de mais ajuda para entender o plano de query. |
No modo queryPlanner
, os resultados retornados pelo explain
fornecem informações detalhadas sobre as partições na instância do reconhecimento de data center federado.
1 { 2 ok: 1, 3 stats: { size: '66 B', numberOfPartitions: 2 }, 4 truncated: false, 5 plan: { 6 kind: 'region', 7 region: 'aws/us-east-1', 8 node: { 9 kind: 'data', 10 size: '66 B', 11 numberOfPartitions: 2, 12 partitionsTruncated: false, 13 partitions: [ 14 { 15 source: 'projectID:cluster', 16 provider: 'atlas', 17 size: '4 B', 18 database: 'locations', 19 collection: 'nyc' 20 }, 21 { 22 source: 'dls:projectID', 23 provider: 'dls:aws', 24 size: '62 B', 25 metadataLocation: { provider: 'aws', region: 'us-east-1' }, 26 dataSetName: 'v1$atlas$archive$etc', 27 optimizationPlan: { kind: 'everything' } 28 } 29 ] 30 } 31 } 32 }
O comando explain
retorna os seguintes campos adicionais para partições do Atlas:
Saída | Descrição |
---|---|
| reconhecimento de data center que o Atlas Data Federation query. |
| Coleção que o Atlas Data Federation consultou. |
| Aggregation pipeline que o Atlas Data Federation executou. |
O comando explain
retorna o seguinte campo adicional para partições de Online Archive:
Nome do campo de saída | Descrição |
---|---|
| Detalhes sobre otimizações de arquivos online. As queries provavelmente serão otimizadas quando contiverem campos que correspondam às chaves de partição configuradas para um Online Archive. |
No modo queryPlannerExtended
, os resultados retornados por explain
fornecem informações de planejamento de query estendidas para tipos de partição.
1 { 2 ok: 1, 3 stats: { size: '66 B', numberOfPartitions: 2 }, 4 truncated: false, 5 plan: { 6 kind: 'region', 7 region: 'aws/us-east-1', 8 node: { 9 kind: 'data', 10 size: '66 B', 11 numberOfPartitions: 2, 12 partitionsTruncated: false, 13 partitions: [ 14 { 15 source:'projectID:cluster', 16 provider: 'atlas', 17 size: '4 B', 18 database: 'locations', 19 collection: 'nyc' 20 }, 21 { 22 source: 'dls:projectID', 23 provider: 'dls:aws', 24 size: '62 B', 25 metadataLocation: { provider: 'aws', region: 'us-east-1' }, 26 dataSetName: 'v1$atlas$archive$etc', 27 scannedDataSetPartitionsCount: 1, 28 percentOfTotalPartitions: 100, 29 optimizationPlan: { kind: 'everything' } 30 }, 31 ] 32 } 33 } 34 }
O comando explain
retorna todas as informações de queryPlanner
e os seguintes campos adicionais para partições de Online Archive:
Nome do campo de saída | Descrição |
---|---|
| Número de partições verificadas para concluir a query. |
| Porcentagem de partições verificadas em relação ao número total de partições. |
No modo executionStats
, os resultados retornados por explain
fornecem informações sobre estatísticas de execução da query e desempenho apenas para partições do Atlas . Eles são obtidos executando um comando executionStats
explain na coleção Atlas subjacente da partição do Atlas . Para partições que não sejam do Atlas, explain
retorna as informações queryPlanner
. O campo partitions
nos resultados inclui um campo explainResults
adicional, que é um documento que pode conter os seguintes campos:
Nome do campo de saída | Descrição |
---|---|
| Fornece informações sobre a execução do plano de query vencedor do Atlas cluster, incluindo o número de documentos e chaves examinados. |
| Contém informações sobre a seleção do plano de query do Atlas cluster, incluindo a seleção do índice. |
| Inclui detalhamento dos estágios e estatísticas do pipeline por estágio. |
Observação
Para saber mais sobre esses campos, consulte executionStats.
1 { 2 ok: 1, 3 stats: { size: '66 B', numberOfPartitions: 2 }, 4 truncated: false, 5 plan: { 6 kind: 'region', 7 region: 'aws/us-east-1', 8 node: { 9 kind: 'data', 10 size: '66 B', 11 numberOfPartitions: 2, 12 partitionsTruncated: false, 13 partitions: [ 14 { 15 source: 'projectID:cluster', 16 provider: 'atlas', 17 size: '4 B', 18 database: 'locations', 19 collection: 'nyc', 20 explainResults: { 21 queryPlanner: { 22 ... 23 winningPlan: { 24 ... 25 }, 26 rejectedPlans: [] 27 }, 28 executionStats: { 29 ... 30 }, 31 stages: { 32 ... 33 } 34 } 35 }, 36 { 37 source: 'dls:projectID', 38 provider: 'dls:aws', 39 size: '62 B', 40 metadataLocation: { provider: 'aws', region: 'us-east-1' }, 41 dataSetName: 'v1$atlas$archive$etc' 42 }, 43 ] 44 } 45 } 46 }
getLog
Para o comando getLog , o Atlas Data Federation retorna uma resposta bem-sucedida, mas não inclui dados de registro.
getMore
Para o comando getMore , o Atlas Data Federation retorna lotes subsequentes de documentos apontados por um cursor, quando usado em conjunto com comandos que retornam um cursor, por exemplo encontrar e agregar.
hostInfo
Para o comando hostInfo , o Atlas Data Federation retorna somente o seguinte subconjunto de campos da resposta padrão do MongoDB :
{ "ok" : <return>, "system" : { "currentTime" : ISODate("<timestamp>"), "hostname" : "<hostname>", "cpuAddrSize" : <number>, "memSizeMB" : <number>, "numCores" : <number>, "cpuArch" : "<identifier>", }, "os" : { "type" : "<string>", "name" : "<string>", }, "extra" : { } }
ping
Para o comando ping , o Atlas Data Federation testa se um servidor está respondendo aos comandos.
whatsmyuri
Para o comando whatsmyuri , o Atlas Data Federation retorna o endereço IP do cliente .