11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/fiber_audit/runtime/boot.rb', line 11
def activate_from_environment!(
environment: ENV,
clock: Clock.new,
session_id_source: SecureRandom.method(:uuid),
pid_source: Process.method(:pid),
writer_factory: JSONL::Writer.method(:open),
random: Sampler::RANDOM_SOURCE
)
return current if activated_for_current_process?
mode = Environment.failure_mode(environment)
return unless Environment.activated?(environment)
settings = Environment.load(environment)
watchdog_policy = if environment.key?(Environment::WATCHDOG_SETTINGS_KEY)
Environment.load_watchdog_policy(environment)
end
operation_liveness_policy = if environment.key?(Environment::OPERATION_LIVENESS_SETTINGS_KEY)
Environment.load_operation_liveness_policy(environment)
end
@lifecycle = Lifecycle.start(
settings: settings,
watchdog_policy: watchdog_policy,
operation_liveness_policy: operation_liveness_policy,
probes_enabled: Environment.probes_enabled?(environment),
clock: clock,
session_id_source: session_id_source,
pid_source: pid_source,
writer_factory: writer_factory,
random: random
)
@pid_source = pid_source
@activation_pid = pid_source.call
install_shutdown_hook!
@lifecycle
rescue StandardError
raise if defined?(mode) && mode == :closed
nil
end
|