Module: Legion::Extensions::Llm::Ledger::Runners::Metering
- Extended by:
- Metering
- Includes:
- Helpers::Lex
- Included in:
- Metering
- Defined in:
- lib/legion/extensions/llm/ledger/runners/metering.rb
Instance Method Summary collapse
Instance Method Details
#spool_flush ⇒ Object
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/legion/extensions/llm/ledger/runners/metering.rb', line 13 def spool_flush return unless defined?(Legion::LLM::Metering) && Legion::LLM::Metering.respond_to?(:flush_spool) Legion::LLM::Metering.flush_spool { result: :ok } rescue StandardError => e handle_exception(e, level: :warn, handled: true, operation: 'spool_flush') { result: :error, error: e. } end |
#write_metering_record(payload = nil, metadata = {}, **message) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/legion/extensions/llm/ledger/runners/metering.rb', line 24 def write_metering_record(payload = nil, = {}, **) payload, = normalize_runner_args(payload, , ) headers = Helpers::SubscriptionMessage.extract_headers(payload, ) ctx = payload[:message_context] || {} props = [:properties] || {} Writers::OfficialMeteringWriter.write(official_metering_payload(payload, ctx, props, headers)) rescue StandardError => e handle_exception(e, level: :error, handled: true, operation: 'write_metering_record') { result: :error, error: e. } end |