honeybadger 6.8.0 → 6.9.1
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 +16 -0
- data/lib/honeybadger/backtrace.rb +1 -1
- data/lib/honeybadger/config/defaults.rb +11 -0
- data/lib/honeybadger/logging.rb +7 -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: 938bd913b16cb752020a666aa009ecf5fced36cf55fa1d9ffc2078857af14690
|
|
4
|
+
data.tar.gz: 5829e029bdad75d2ce531f41b228c333246fa904fa4af1030bae9c5c29be9ad0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2e7434371e4456bfd1b0f8f51f540006852d3f6a776ae98b5e9b795ef6463849767a45df0eb1b9c0d5b96e8dcd99ed5e5b93a0cd77ce9226bc0a571311fee00c
|
|
7
|
+
data.tar.gz: 4bbbf5016c7732302bf20f99ec52190be16e5ab14ef6cc54203afe7b96280c61d0d465439d49ed29e57907ed8ebd999ea39ffd13931a44afc1384e6d8c7b1c98
|
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
## [6.9.1](https://github.com/honeybadger-io/honeybadger-ruby/compare/v6.9.0...v6.9.1) (2026-07-16)
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
* ignore more cache events ([#832](https://github.com/honeybadger-io/honeybadger-ruby/issues/832)) ([2cb6e02](https://github.com/honeybadger-io/honeybadger-ruby/commit/2cb6e02759b97b2ff0aa754e5eae2e737f9b5440))
|
|
10
|
+
* pin rdoc for jruby compatibility ([#835](https://github.com/honeybadger-io/honeybadger-ruby/issues/835)) ([98f5580](https://github.com/honeybadger-io/honeybadger-ruby/commit/98f5580827c1b1acbf2585110cd11b110fdcfd4c))
|
|
11
|
+
* respect logging.level with Rails logger ([#834](https://github.com/honeybadger-io/honeybadger-ruby/issues/834)) ([441ce44](https://github.com/honeybadger-io/honeybadger-ruby/commit/441ce444c65c58d95882f9cba958bcfd96fe309c)), closes [#375](https://github.com/honeybadger-io/honeybadger-ruby/issues/375)
|
|
12
|
+
|
|
13
|
+
## [6.9.0](https://github.com/honeybadger-io/honeybadger-ruby/compare/v6.8.0...v6.9.0) (2026-06-11)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Features
|
|
17
|
+
|
|
18
|
+
* 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))
|
|
19
|
+
|
|
4
20
|
## [6.8.0](https://github.com/honeybadger-io/honeybadger-ruby/compare/v6.7.0...v6.8.0) (2026-06-10)
|
|
5
21
|
|
|
6
22
|
|
|
@@ -38,11 +38,17 @@ module Honeybadger
|
|
|
38
38
|
{event_type: "sql.active_record", name: /^GoodJob/},
|
|
39
39
|
{event_type: "process_action.action_controller", controller: "Rails::HealthController"},
|
|
40
40
|
{event_type: "cache_read.active_support"},
|
|
41
|
+
{event_type: "cache_read_multi.active_support"},
|
|
41
42
|
{event_type: "cache_fetch_hit.active_support"},
|
|
42
43
|
{event_type: "cache_exist?.active_support"},
|
|
43
44
|
{event_type: "cache_write.active_support"},
|
|
45
|
+
{event_type: "cache_write_multi.active_support"},
|
|
44
46
|
{event_type: "cache_generate.active_support"},
|
|
45
47
|
{event_type: "cache_delete.active_support"},
|
|
48
|
+
{event_type: "cache_delete_multi.active_support"},
|
|
49
|
+
{event_type: "cache_delete_matched.active_support"},
|
|
50
|
+
{event_type: "cache_cleanup.active_support"},
|
|
51
|
+
{event_type: "cache_prune.active_support"},
|
|
46
52
|
{event_type: "cache_increment.active_support"},
|
|
47
53
|
{event_type: "cache_decrement.active_support"}
|
|
48
54
|
].freeze
|
|
@@ -579,6 +585,11 @@ module Honeybadger
|
|
|
579
585
|
description: "Enable automatic data collection for RubyLLM.",
|
|
580
586
|
default: true,
|
|
581
587
|
type: Boolean
|
|
588
|
+
},
|
|
589
|
+
"ruby_llm.insights.subscriber": {
|
|
590
|
+
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.",
|
|
591
|
+
default: nil,
|
|
592
|
+
type: String
|
|
582
593
|
}
|
|
583
594
|
}.freeze
|
|
584
595
|
|
data/lib/honeybadger/logging.rb
CHANGED
|
@@ -124,12 +124,14 @@ module Honeybadger
|
|
|
124
124
|
|
|
125
125
|
def initialize(config, logger = Logger.new(nil))
|
|
126
126
|
@config = config
|
|
127
|
+
@log_level = @config.log_level
|
|
127
128
|
@tty = $stdout.tty?
|
|
128
129
|
@tty_level = @config.log_level(:"logging.tty_level")
|
|
129
130
|
super(logger)
|
|
130
131
|
end
|
|
131
132
|
|
|
132
133
|
def add(severity, msg)
|
|
134
|
+
return true if suppress_log_level?(severity)
|
|
133
135
|
return true if suppress_tty?(severity)
|
|
134
136
|
|
|
135
137
|
# There is no debug level in Honeybadger. Debug logs will be logged at
|
|
@@ -148,6 +150,11 @@ module Honeybadger
|
|
|
148
150
|
|
|
149
151
|
private
|
|
150
152
|
|
|
153
|
+
def suppress_log_level?(severity)
|
|
154
|
+
effective_severity = (severity == Logger::Severity::DEBUG) ? Logger::Severity::INFO : severity
|
|
155
|
+
effective_severity < @log_level
|
|
156
|
+
end
|
|
157
|
+
|
|
151
158
|
def suppress_debug?
|
|
152
159
|
!debug?
|
|
153
160
|
end
|
|
@@ -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