Class: Honeybadger::RubyLLMSubscriber
- Inherits:
-
NotificationSubscriber
- Object
- NotificationSubscriber
- Honeybadger::RubyLLMSubscriber
- Defined in:
- lib/honeybadger/plugins/ruby_llm.rb
Instance Method Summary collapse
-
#format_payload(name, payload) ⇒ Object
Payloads carry full Ruby objects (chat, messages, responses, tool arguments, inputs), which may contain sensitive content.
Methods inherited from NotificationSubscriber
#finish, #process?, #record, #record_metrics, #start
Methods included from InstrumentationHelper
#decrement_counter, #extract_attributes, #extract_callable, #gauge, #histogram, #increment_counter, #metric_agent, #metric_attributes, #metric_instrumentation, #metric_source, #monotonic_timer, #time
Instance Method Details
#format_payload(name, payload) ⇒ Object
Payloads carry full Ruby objects (chat, messages, responses, tool arguments, inputs), which may contain sensitive content. Allow only scalar metadata through.
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/honeybadger/plugins/ruby_llm.rb', line 32 def format_payload(name, payload) case name when "chat.ruby_llm" payload.slice(:provider, :provider_class, :model, :message_count, :temperature, :tool_choice, :tool_call_limit, :streaming, :response_model, :response_role, :tool_call, :input_tokens, :output_tokens, :cached_tokens, :cache_creation_tokens, :thinking_tokens, :exception) when "tool_call.ruby_llm" payload.slice(:provider, :provider_class, :model, :tool_name, :tool_call_id, :result_class, :exception) when "embedding.ruby_llm" payload.slice(:provider, :provider_class, :model, :dimensions, :response_model, :input_tokens, :embedding_dimensions, :embedding_count, :exception) when "image.ruby_llm" payload.slice(:provider, :provider_class, :model, :size, :response_model, :exception) when "moderation.ruby_llm" payload.slice(:provider, :provider_class, :model, :flagged, :exception) when "transcription.ruby_llm" payload.slice(:provider, :provider_class, :model, :language, :response_model, :input_tokens, :output_tokens, :exception) when "models.refresh.ruby_llm" payload.slice(:remote_only, :model_count, :exception) else payload.slice(:provider, :provider_class, :model, :exception) end end |