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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 203e658ee370b40e5af624779fa918ce92f73a25f54aaad25cc8f56218ff9871
4
- data.tar.gz: 377e38be40593894c61a51945d9c0a970cb234da182ea5be6606cd9222a9c976
3
+ metadata.gz: 938bd913b16cb752020a666aa009ecf5fced36cf55fa1d9ffc2078857af14690
4
+ data.tar.gz: 5829e029bdad75d2ce531f41b228c333246fa904fa4af1030bae9c5c29be9ad0
5
5
  SHA512:
6
- metadata.gz: ea11c7a882c60aeffd66aa9bf76c80d85c1f2d2d42db07f24e2d832fbdaa1e4104365a853fe847746382ea2e59c93a59f70bd76c5f515c238affb98d773c4252
7
- data.tar.gz: f870102c45a9dc81e354d28f1346ca282d6be91db181d70884b9eb13126a95cc2e219ad1eb3f4b36b20fb0c713eab3c50ee702ebea5a1613f73884ea23a10237
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
 
@@ -156,7 +156,7 @@ module Honeybadger
156
156
  end
157
157
 
158
158
  def to_s
159
- lines.map(&:to_s).join("\n")
159
+ lines.join("\n")
160
160
  end
161
161
 
162
162
  def inspect
@@ -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
 
@@ -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
- Honeybadger::RubyLLMSubscriber.new
34
+ subscriber
19
35
  )
20
36
  end
21
37
  end
@@ -1,4 +1,4 @@
1
1
  module Honeybadger
2
2
  # The current String Honeybadger version.
3
- VERSION = "6.8.0".freeze
3
+ VERSION = "6.9.1".freeze
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: honeybadger
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.8.0
4
+ version: 6.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Honeybadger Industries LLC