Classe: Mongo::Monitoramento
- Herda:
-
Objeto
- Objeto
- Mongo::Monitoring
- Inclui:
- ID, Inscritível
- Definido em:
- lib/mongo/monitoring.rb,
lib/mongo/monitoring/publishable.rb,
lib/mongo/monitoring/ evento/secure.rb,
lib/mongo/monitoring/ evento/cmap/base.rb,
lib/mongo/monitoring/ cmap_log_subscriber.rb,
lib/mongo/monitoring/ evento/server_closed.rb,
lib/mongo/monitoring/sdam_log_subscriber.rb,
lib/mongo/monitoring/ evento/command_failed.rb,
lib/mongo/monitoring/ evento/server_opening.rb,
lib/mongo/monitoring/ evento/cmap/pool_ready.rb,
lib/mongo/monitoring/ evento/command_started.rb,
lib/mongo/monitoring/ evento/topology_closed.rb,
lib/mongo/monitoring/command_log_subscriber.rb,
lib/ mongo/monitoring/ evento/cmap/pool_closed.rb,
lib/mongo/monitoring/ evento/topology_changed.rb,
lib/mongo/monitoring/ evento/topology_opening.rb,
lib/mongo/monitoring/ evento/cmap/pool_cleared.rb,
lib/mongo/monitoring/ evento/cmap/pool_created.rb,
lib/mongo/monitoring/ evento/command_succeeded.rb,
lib/mongo/monitoring/ evento/cmap/connection_ready.rb,
lib/mongo/monitoring/unified_sdam_log_subscriber.rb,
lib/mongo/monit oring/ evento/cmap/connection_closed.rb,
lib/mongo/monitoring/server_closed_log_subscriber.rb,
lib/mongo/monitoring/ evento/cmap/connection_created.rb,
lib/mongo/monitoring/ evento/server_ heartbeat_failed.rb,
lib/mongo/ Monitoring/server_opening_log_subscriber.rb,
lib/mongo/monitoring/ evento/server_ heartbeat_started.rb,
lib/mongo/monitoring/topology_closed_log_subscriber.rb,
lib/mongo/monitoring/topology_changed_log_subscriber.rb,
lib/mongo/monitoring/topology_opening_log_subscriber.rb, lib/
mongo/monitoring/ evento/cmap/connection_checked_in.rb,
lib/mongo/monitoring/ evento/server_description_changed.rb,
lib/mongo/monitoring/ evento/server_
heartbeat_succeeded.rb, lib/mongo/monitoring/
evento/cmap/connection_checked_out.rb, lib/mongo/monitoring/
evento/cmap/connection_check_out_failed.rb, lib/mongo/monitoring/
evento/cmap/connection_check_out_started.rb, lib/mongo/monitoring/server_description_changed_log_subscriber.rb
Visão geral
A classe define o comportamento da API de monitoramento de desempenho.
Definido sob namespace
Módulos: Classes de eventos , globais, publicáveis einscritíveis: CmapLogSubscriber, CommandLogSubscriber, SDAMLogSubscriber, ServerClosedLogSubscriber, ServerOpeningLogSubscriber , TopologyChangedLogSubscriber, TopologyClosedLogSubscriber, TopologyOpeningLogSubscriber, UnifiedSdamLogSubscriber
Colapsode resumo constante
- COMMAND =
O tópico do comando.
'Comando'- CONNECTION_POOL =
O tópico pool de conexões.
'Pool de Conexões'- SERVER_Closed =
Tópico fechado do servidor.
'Servidor fechado'- SERVER_DESCRIPTION_CHANGED =
A descrição do servidor MongoDB alterou o tópico.
'ServerDescriptionChanged'- SERVER_OPENING =
Tópico de abertura do servidor MongoDB.
'ServerOpening'- TOPOLOGY_CHANGED =
Topologia alterou o tópico.
'Topologia alterada'- Topology_Closed =
Tópico fechado de topologia.
'Topologia fechada'- TOPOLOGY_OPENING =
Tópico de abertura de topologia.
'Abertura de topologia'- SERVER_HEARTBEAD =
Tópico iniciado de pulsação do servidor.
'ServerHeartbeat'
Recolhimento do Resumo do atributo de instância
- #opções ➤ Objeto Somente leitura privado
Recolhimento do Resumo do método de classe
-
.Next_operation_id ➤ Inteiro
Usado para gerar IDs de operação exclusivos para vincular eventos.
Recolhimento do Resumo do método de instância
-
#falhou(tópico, evento) ➤ Objeto
Publique um evento com falha.
-
#inicializar(opções = {}) ➤ Monitoramento
construtor
privado
Inicialize o monitoramento.
- #monitoramento? ➤ Booleano privado
- #publish_ heartbeat(servidor, aguardado: falso) ➤ Objeto privado
-
#publicado(tópico, evento) ➤ Objeto
Publicar um evento.
-
#começou(tópico, evento) ➤ Objeto
Publique um evento iniciado.
-
# bem-sucedido(tópico, evento) ➤ Objeto
Publique um evento bem-sucedido.
Métodos incluídos no Inscribable
#subscribe, #subscribers, #subscribers?, #unsubscribe
Métodos incluídos do ID
Detalhes do construtor
#inicializar(opções = {}) ➤ Monitoramento
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Inicialize o monitoramento.
218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 |
# Arquivo 'lib/mongo/monitoring.rb', linha 218 def inicializar( = {}) @opções = Método a menos que [:monitoring] != false Global.assinantes.cada fazer |topic, assinantes| assinantes.cada fazer |assinante| se inscrever(topic, assinante) end end se inscrever(Comando, CommandLogSubscriber.Novo()) # Os eventos CMAP não são registrados por padrão porque isso criará # entradas de registro para cada operação realizada pelo driver. # subscribe(CONNECTION_POOL, CmapLogSubscriber.new(options)) se inscrever(SERVER_OPENING, ServerOpeningLogSubscriber.Novo()) se inscrever(SERVER_Closed, ServerClosedLogSubscriber.Novo()) se inscrever(SERVER_DESCRIPTION_CHANGED, ServerDescriptionChangedLogSubscriber.Novo()) se inscrever(TOPOLOGY_OPENING, TopologiaOpeningLogSubscriber.Novo()) se inscrever(TOPOLOGY_CHANGED, TopologiaChangedLogSubscriber.Novo()) se inscrever(Topology_Closed, TopologiaClosedLogSubscriber.Novo()) end |
Detalhes do atributo da instância
#opções Objeto (somente leitura)
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
240 241 242 |
# Arquivo 'lib/mongo/monitoring.rb', linha 240 def @opções end |
Detalhes do método de classe
.Next_operation_id ➤ Inteiro
Usado para gerar IDs de operação exclusivos para vincular eventos.
77 78 79 |
# Arquivo 'lib/mongo/monitoring.rb', linha 77 def auto.Next_operation_id Next_id end |
Detalhes do método de instância
#falhou(tópico, evento) ➤ Objeto
Publique um evento com falha.
Esse método é usado para tipos de evento que têm os eventos iniciado/sucesso/falha, como eventos de comando e pulsação.
304 305 306 |
# Arquivo 'lib/mongo/monitoring.rb', linha 304 def Falhou(topic, Evento) Subscribers_for(topic).cada { |assinante| assinante.Falhou(Evento) } end |
#monitoramento? ➤ Booleano
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
243 244 245 |
# Arquivo 'lib/mongo/monitoring.rb', linha 243 def monitoramento? [:monitoring] != false end |
#publish_ heartbeat(servidor, awaited: false) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 |
# Arquivo 'lib/mongo/monitoring.rb', linha 309 def publish_ heartbeat(Servidor, esperado: false) se monitoramento? started_event = Evento::ServerHeatbeatStarted.Novo( Servidor.endereço, esperado: esperado ) começou(SERVER_HEARTBEAD, started_event) end # A duração que publicamos em eventos de sucesso/falha do heartbeat é # o tempo gasto em todo o heartbeat. Isso pode incluir tempo # para conectar o soquete (incluindo o handshake TLS), não apenas o tempo # gasto na própria chamada hello. # A especificação em https://github.com/mongodb/specifications/blob/master/source/server-discovery-and-monitoring/server-discovery-and-monitoring-logging-and-monitoring.md # exige que a duração exposta aqui comece com "enviar o #mensagem" (olá). Este requisito não faz sentido se, # por exemplo, nunca conseguirmos nos conectar ao servidor # e, portanto, olá nunca foi enviado. start_time = Utilidades.monotonic_time começar Resultado = rendimento salvar StandardError => e se monitoramento? Evento = Evento::ServerHeatbeatFailed.Novo( Servidor.endereço, Utilidades.monotonic_time - start_time, e, esperado: esperado, started_event: started_event ) Falhou(SERVER_HEARTBEAD, Evento) end aumentar mais se monitoramento? Evento = Evento::ServerHeatbeatSucceeded.Novo( Servidor.endereço, Utilidades.monotonic_time - start_time, esperado: esperado, started_event: started_event ) bem-sucedido(SERVER_HEARTBEAD, Evento) end Resultado end end |
#publicado(tópico, evento) ➤ Objeto
Publicar um evento.
Este método é usado para tipos de evento que têm apenas um único evento neles.
256 257 258 |
# Arquivo 'lib/mongo/monitoring.rb', linha 256 def publicado(topic, Evento) Subscribers_for(topic).cada { |assinante| assinante.publicado(Evento) } end |
#começou(tópico, evento) ➤ Objeto
Publique um evento iniciado.
Esse método é usado para tipos de evento que têm os eventos iniciado/sucesso/falha, como eventos de comando e pulsação.
272 273 274 |
# Arquivo 'lib/mongo/monitoring.rb', linha 272 def começou(topic, Evento) Subscribers_for(topic).cada { |assinante| assinante.começou(Evento) } end |
# bem-sucedido(tópico, evento) ➤ Objeto
Publique um evento bem-sucedido.
Esse método é usado para tipos de evento que têm os eventos iniciado/sucesso/falha, como eventos de comando e pulsação.
288 289 290 |
# Arquivo 'lib/mongo/monitoring.rb', linha 288 def bem-sucedido(topic, Evento) Subscribers_for(topic).cada { |assinante| assinante.bem-sucedido(Evento) } end |