Class: Mnemosyne::Probe
- Inherits:
-
Object
show all
- Defined in:
- lib/mnemosyne/probe.rb
Direct Known Subclasses
Mnemosyne::Probes::Acfs::Request::Probe, Mnemosyne::Probes::ActionController::ProcessAction::Probe, Mnemosyne::Probes::ActionController::Renderers::Probe, Mnemosyne::Probes::ActionView::RenderPartial::Probe, Mnemosyne::Probes::ActionView::RenderTemplate::Probe, Mnemosyne::Probes::ActiveRecord::Query::Probe, Mnemosyne::Probes::Grape::EndpointRender::Probe, Mnemosyne::Probes::Grape::EndpointRun::Probe, Mnemosyne::Probes::Grape::EndpointRunFilters::Probe, Mnemosyne::Probes::Mnemosyne::Tracer::Probe, Mnemosyne::Probes::Responder::Respond::Probe, Mnemosyne::Probes::Restify::Base::Probe
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.subscribe(name) ⇒ Object
32
33
34
|
# File 'lib/mnemosyne/probe.rb', line 32
def subscribe(name)
subscriptions << name
end
|
.subscriptions ⇒ Object
28
29
30
|
# File 'lib/mnemosyne/probe.rb', line 28
def subscriptions
@subscriptions ||= Set.new
end
|
Instance Method Details
#install ⇒ Object
rubocop:disable Metrics/MethodLength
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/mnemosyne/probe.rb', line 6
def install
setup
self.class.subscriptions.each do |subscribe|
::ActiveSupport::Notifications.subscribe(subscribe) do |*args|
trace = ::Mnemosyne::Instrumenter.current_trace
next unless trace
call(trace, *args)
end
end
::Mnemosyne::Instrumenter.logger.debug do
"Installed probe #{self.class.name}"
end
end
|
#setup ⇒ Object
23
24
25
|
# File 'lib/mnemosyne/probe.rb', line 23
def setup
end
|