Class ObjectMonitorActivity
In: lib/object_monitor_activity.rb
Parent: Object

Methods

new   snapshot   update  

Included Modules

Observable

Public Class methods

[Source]

# File lib/object_monitor_activity.rb, line 15
  def initialize
    @mutex = Mutex.new
    @activity = {}
  end

Public Instance methods

[Source]

# File lib/object_monitor_activity.rb, line 28
  def snapshot
    @mutex.synchronize { @activity.dup }
  end

[Source]

# File lib/object_monitor_activity.rb, line 20
  def update(msg, info)
    case msg
    when :start_method: @mutex.synchronize { @activity[info[:num]] = info }
    when :stop_method: @mutex.synchronize { @activity.delete(info[:num]) }
    else raise 'unknown message'
    end
  end

[Validate]