Class: Appsignal::Minutely::ProbeCollection
- Defined in:
- lib/appsignal/minutely.rb
Instance Method Summary collapse
-
#[](key) ⇒ Object
Fetch a probe using its name.
-
#clear ⇒ void
Clears all probes from the list.
-
#count ⇒ Integer
Number of probes that are registered.
- #each(&block) ⇒ Object private
-
#initialize ⇒ ProbeCollection
constructor
A new instance of ProbeCollection.
-
#register(name, probe) ⇒ void
Register a new minutely probe.
Constructor Details
#initialize ⇒ ProbeCollection
Returns a new instance of ProbeCollection.
6 7 8 |
# File 'lib/appsignal/minutely.rb', line 6 def initialize @probes = {} end |
Instance Method Details
#[](key) ⇒ Object
Fetch a probe using its name.
24 25 26 |
# File 'lib/appsignal/minutely.rb', line 24 def [](key) probes[key] end |
#clear ⇒ void
This method returns an undefined value.
Clears all probes from the list.
17 18 19 |
# File 'lib/appsignal/minutely.rb', line 17 def clear probes.clear end |
#count ⇒ Integer
Returns Number of probes that are registered.
11 12 13 |
# File 'lib/appsignal/minutely.rb', line 11 def count probes.count end |
#each(&block) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
102 103 104 |
# File 'lib/appsignal/minutely.rb', line 102 def each(&block) probes.each(&block) end |
#register(name, probe) ⇒ void
This method returns an undefined value.
Register a new minutely probe.
Supported probe types are:
- Lambda - A lambda is an object that listens to a
call
method call. Thiscall
method is called every minute. - Class - A class object is an object that listens to a
new
andcall
method call. Thenew
method is called when the Minutely probe thread is started to initialize all probes. This allows probes to load dependencies once beforehand. Theircall
method is called every minute. - Class instance - A class instance object is an object that listens to
a
call
method call. Thecall
method is called every minute.
93 94 95 96 97 98 99 |
# File 'lib/appsignal/minutely.rb', line 93 def register(name, probe) if probes.key?(name) logger.debug "A probe with the name `#{name}` is already " \ "registered. Overwriting the entry with the new probe." end probes[name] = probe end |