honeybadger 6.8.0 → 6.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/lib/honeybadger/backtrace.rb +1 -1
- data/lib/honeybadger/config/defaults.rb +5 -0
- data/lib/honeybadger/plugins/ruby_llm.rb +17 -1
- data/lib/honeybadger/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c0df809e34f5f0cbd3e4d63c411f215dc2f9418b8909a7aedb9a5fb6c454afbe
|
|
4
|
+
data.tar.gz: e811145ad02eef49a8078d3cb827ad47cdf35693a986a55e12bf2a6108f1b052
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e4470a6b43117aad7db8069fe87287fc8486c9b02a79ebf43184228251fb81eeb3549b7458593f0ee0ce0e9784b85790b2ad3b97bc01c0cf46d98f49bafd2699
|
|
7
|
+
data.tar.gz: 2aefdc40100c38c1707642be6ab04d0a72248b09734ef8f681e06753f3945854fbcc07f2e89f71ee3477fca1177e273899bb470983cabeb62b080ebafd0f04be
|
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
## [6.9.0](https://github.com/honeybadger-io/honeybadger-ruby/compare/v6.8.0...v6.9.0) (2026-06-11)
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* make RubyLLM insights subscriber configurable ([#829](https://github.com/honeybadger-io/honeybadger-ruby/issues/829)) ([fc9ff42](https://github.com/honeybadger-io/honeybadger-ruby/commit/fc9ff42689b87f972183286d34c7e4059bf23442))
|
|
10
|
+
|
|
4
11
|
## [6.8.0](https://github.com/honeybadger-io/honeybadger-ruby/compare/v6.7.0...v6.8.0) (2026-06-10)
|
|
5
12
|
|
|
6
13
|
|
|
@@ -579,6 +579,11 @@ module Honeybadger
|
|
|
579
579
|
description: "Enable automatic data collection for RubyLLM.",
|
|
580
580
|
default: true,
|
|
581
581
|
type: Boolean
|
|
582
|
+
},
|
|
583
|
+
"ruby_llm.insights.subscriber": {
|
|
584
|
+
description: "Fully qualified class name of a custom subscriber for RubyLLM instrumentation. A class constant may also be given via Ruby configuration. Defaults to Honeybadger::RubyLLMSubscriber.",
|
|
585
|
+
default: nil,
|
|
586
|
+
type: String
|
|
582
587
|
}
|
|
583
588
|
}.freeze
|
|
584
589
|
|
|
@@ -10,12 +10,28 @@ module Honeybadger
|
|
|
10
10
|
|
|
11
11
|
execution do
|
|
12
12
|
if config.load_plugin_insights?(:ruby_llm)
|
|
13
|
+
class_name = config[:"ruby_llm.insights.subscriber"].to_s.strip
|
|
14
|
+
subscriber = if class_name.empty?
|
|
15
|
+
Honeybadger::RubyLLMSubscriber.new
|
|
16
|
+
else
|
|
17
|
+
begin
|
|
18
|
+
candidate = Object.const_get(class_name).new
|
|
19
|
+
unless candidate.respond_to?(:start) && candidate.respond_to?(:finish)
|
|
20
|
+
raise TypeError, "does not respond to #start and #finish"
|
|
21
|
+
end
|
|
22
|
+
candidate
|
|
23
|
+
rescue => e
|
|
24
|
+
logger.error("Unable to load ruby_llm.insights.subscriber=#{class_name} (#{e.class}: #{e.message}); falling back to Honeybadger::RubyLLMSubscriber")
|
|
25
|
+
Honeybadger::RubyLLMSubscriber.new
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
13
29
|
# request.ruby_llm is intentionally excluded: it fires for every
|
|
14
30
|
# provider HTTP request (including retries and streams) and
|
|
15
31
|
# duplicates chat-level metadata.
|
|
16
32
|
::ActiveSupport::Notifications.subscribe(
|
|
17
33
|
/(chat|tool_call|embedding|image|moderation|transcription|models\.refresh)\.ruby_llm/,
|
|
18
|
-
|
|
34
|
+
subscriber
|
|
19
35
|
)
|
|
20
36
|
end
|
|
21
37
|
end
|
data/lib/honeybadger/version.rb
CHANGED