Class: Kumi::Core::Analyzer::PassManager::Instrumentation
- Inherits:
-
Object
- Object
- Kumi::Core::Analyzer::PassManager::Instrumentation
- Defined in:
- lib/kumi/core/analyzer/pass_manager.rb
Instance Attribute Summary collapse
-
#pass_name ⇒ Object
readonly
Returns the value of attribute pass_name.
Instance Method Summary collapse
- #after_failure(exception) ⇒ Object
- #after_success(state) ⇒ Object
- #before(state) ⇒ Object
-
#initialize(pass_name, options) ⇒ Instrumentation
constructor
A new instance of Instrumentation.
Constructor Details
#initialize(pass_name, options) ⇒ Instrumentation
Returns a new instance of Instrumentation.
205 206 207 208 209 |
# File 'lib/kumi/core/analyzer/pass_manager.rb', line 205 def initialize(pass_name, ) @pass_name = pass_name @debug = [:debug_enabled] @profiling = [:profiling_enabled] end |
Instance Attribute Details
#pass_name ⇒ Object (readonly)
Returns the value of attribute pass_name.
203 204 205 |
# File 'lib/kumi/core/analyzer/pass_manager.rb', line 203 def pass_name @pass_name end |
Instance Method Details
#after_failure(exception) ⇒ Object
225 226 227 228 229 230 |
# File 'lib/kumi/core/analyzer/pass_manager.rb', line 225 def after_failure(exception) return unless @debug logs = Debug.drain_log + [{ level: :error, id: :exception, message: exception., error_class: exception.class.name }] Debug.emit(pass: @pass_name, diff: {}, elapsed_ms: elapsed_ms, logs: logs) end |
#after_success(state) ⇒ Object
217 218 219 220 221 222 223 |
# File 'lib/kumi/core/analyzer/pass_manager.rb', line 217 def after_success(state) return unless @debug after = state.to_h enforce_frozen!(after) if ENV["KUMI_DEBUG_REQUIRE_FROZEN"] == "1" Debug.emit(pass: @pass_name, diff: Debug.diff_state(@before, after), elapsed_ms: elapsed_ms, logs: Debug.drain_log) end |