Class: Wakame::MonitorRegistry

Inherits:
Object
  • Object
show all
Defined in:
lib/wakame/agent.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeMonitorRegistry

Returns a new instance of MonitorRegistry.



176
177
178
# File 'lib/wakame/agent.rb', line 176

def initialize()
  @monitors = {}
end

Instance Attribute Details

#monitorsObject (readonly)

Returns the value of attribute monitors.



175
176
177
# File 'lib/wakame/agent.rb', line 175

def monitors
  @monitors
end

Instance Method Details

#find_monitor(path) ⇒ Object



199
200
201
# File 'lib/wakame/agent.rb', line 199

def find_monitor(path)
  @monitors[path]
end

#register(monitor, path = nil) ⇒ Object



180
181
182
183
184
185
186
187
188
189
190
191
192
193
# File 'lib/wakame/agent.rb', line 180

def register(monitor, path=nil)
  raise '' unless monitor.kind_of?(Wakame::Monitor)

  if path.nil?
    path = '/' + Util.to_const_path(monitor.class.to_s)
  end

  if @monitors.has_key?(path)
    Wakame.log.error("#{self.class}: Duplicate registration: #{path}")
    raise "Duplicate registration: #{path}"
  end
  
  @monitors[path] = monitor
end

#unregister(path) ⇒ Object



195
196
197
# File 'lib/wakame/agent.rb', line 195

def unregister(path)
  @monitors.delete(path)
end