Class: OllamaAgent::Runtime::KernelEventLogger
- Inherits:
-
Object
- Object
- OllamaAgent::Runtime::KernelEventLogger
- Defined in:
- lib/ollama_agent/runtime/kernel_event_logger.rb
Overview
Duck-typed hooks subscriber: JSON one-line kernel observability events.
Instance Method Summary collapse
-
#emit(event, payload) ⇒ Object
rubocop:disable Metrics/MethodLength, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity, Metrics/AbcSize.
-
#initialize(logger:, rollback_signals: nil) ⇒ KernelEventLogger
constructor
A new instance of KernelEventLogger.
Constructor Details
#initialize(logger:, rollback_signals: nil) ⇒ KernelEventLogger
Returns a new instance of KernelEventLogger.
9 10 11 12 |
# File 'lib/ollama_agent/runtime/kernel_event_logger.rb', line 9 def initialize(logger:, rollback_signals: nil) @logger = logger @rollback_signals = rollback_signals end |
Instance Method Details
#emit(event, payload) ⇒ Object
rubocop:disable Metrics/MethodLength, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity, Metrics/AbcSize
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/ollama_agent/runtime/kernel_event_logger.rb', line 17 def emit(event, payload) ph = payload.respond_to?(:to_h) ? payload.to_h : {} row = { ts_epoch: ph[:epoch] || ph["epoch"] || monotonic_epoch, event: event.to_s, manifest_id: ph[:manifest_id] || ph["manifest_id"], state: (ph[:state] || ph["state"])&.to_s, result: (ph[:result] || ph["result"])&.to_s, error: ph[:error] || ph["error"]&.to_s, kind: ph[:kind] || ph["kind"]&.to_s, scopes: ph[:scopes] || ph["scopes"], reason: ph[:reason] || ph["reason"]&.to_s, intent_hash: ph[:intent_hash] || ph["intent_hash"] } @logger.info(JSON.generate(row.compact)) forward_rollback(event, ph) end |