Module: FiberAudit::Runtime::Probes::Synchronization

Defined in:
lib/fiber_audit/runtime/probes/synchronization.rb

Defined Under Namespace

Modules: ConditionVariableHook, MonitorHook, MonitorMixinHook, MutexHook

Constant Summary collapse

TRY_LOCK_MEASUREMENTS =
lambda do |result|
  acquired = result == true
  { acquired: acquired, contention_observed: !acquired }
end

Class Method Summary collapse

Class Method Details

.install!(registry) ⇒ Object



49
50
51
52
53
54
# File 'lib/fiber_audit/runtime/probes/synchronization.rb', line 49

def install!(registry)
  registry.prepend_once(Mutex, MutexHook)
  registry.prepend_once(ConditionVariable, ConditionVariableHook) if defined?(ConditionVariable)
  registry.prepend_once(Monitor, MonitorHook) if defined?(Monitor)
  registry.prepend_once(MonitorMixin, MonitorMixinHook) if defined?(MonitorMixin)
end