Class: Karafka::Instrumentation::Notifications
- Inherits:
-
Core::Monitoring::Notifications
- Object
- Core::Monitoring::Notifications
- Karafka::Instrumentation::Notifications
- Defined in:
- lib/karafka/instrumentation/notifications.rb
Overview
This class acts as a singleton because we are only permitted to have single monitor per running process (just as logger)
Monitor is used to hookup external monitoring services to monitor how Karafka works It provides a standardized API for checking incoming messages/enqueueing etc Since it is a pub-sub based on dry-monitor, you can use as many subscribers/loggers at the same time, which means that you might have for example file logging and NewRelic at the same time
Constant Summary collapse
- EVENTS =
Note:
The non-error once support timestamp benchmarking
Note:Depending on Karafka extensions and additional engines, this might not be the complete list of all the events. Please use the #available_events on fully loaded Karafka system to determine all of the events you can use.
List of events that we support in the system and to which a monitor client can hook up
%w[ active_job.consume active_job.consumed app.initializing app.initialized app.before_warmup app.supervising app.running app.quieting app.quiet app.stopping app.stopped app.terminated client.pause client.resume client.reset connection.listener.before_fetch_loop connection.listener.fetch_loop connection.listener.fetch_loop.received connection.listener.after_fetch_loop connection.listener.pending connection.listener.starting connection.listener.running connection.listener.quieting connection.listener.quiet connection.listener.stopping connection.listener.stopped consumer.initialize consumer.initialized consumer.before_schedule_consume consumer.consume consumer.consumed consumer.consuming.pause consumer.consuming.retry consumer.consuming.seek consumer.before_schedule_idle consumer.idle consumer.before_schedule_revoked consumer.revoke consumer.revoked consumer.before_schedule_tick consumer.tick consumer.ticked consumer.before_schedule_eofed consumer.eof consumer.eofed consumer.before_schedule_shutdown consumer.shutting_down consumer.shutdown dead_letter_queue.dispatched filtering.throttled filtering.seek oauthbearer.token_refresh process.notice_signal rebalance.partitions_assign rebalance.partitions_assigned rebalance.partitions_revoke rebalance.partitions_revoked statistics.emitted swarm.node.after_fork swarm.manager.before_fork swarm.manager.after_fork swarm.manager.control swarm.manager.stopping swarm.manager.terminating worker.process worker.processed worker.completed error.occurred ].freeze
Instance Method Summary collapse
-
#initialize ⇒ Karafka::Instrumentation::Monitor
constructor
Monitor instance for system instrumentation.
Constructor Details
#initialize ⇒ Karafka::Instrumentation::Monitor
Returns monitor instance for system instrumentation.
111 112 113 114 |
# File 'lib/karafka/instrumentation/notifications.rb', line 111 def initialize super EVENTS.each { |event| register_event(event) } end |