honeybadger 6.4.1 → 6.5.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/config/defaults.rb +10 -0
- data/lib/honeybadger/notification_subscriber.rb +24 -2
- 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: d484883b3d63d3e84b72a485c28e99609f5304659e3d5ef85fb2d7b6616a106d
|
|
4
|
+
data.tar.gz: 3140117e14b0fa37609db2cc9418d585d36deae24b686f1201f91b2ec4ec9d2a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b59b95066e3d2a1af6afd363b60a0ba58903ac370384cff42d7b13a764c0ed8fa6b6dd432f8a819e02f4e1fecfd39583cd67c3e58f0aeb4ac004830f55e9e773
|
|
7
|
+
data.tar.gz: 1d970f50f64941aaf09ce2289ecd00f69843fbf582f4a9b786796bc9b01f0d3d251f09e787fd3e8d483d23b59c03f9e01f651fed08082c7b42236d20998a74f2
|
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
## [6.5.0](https://github.com/honeybadger-io/honeybadger-ruby/compare/v6.4.1...v6.5.0) (2026-02-27)
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* add Active Job metrics collection ([#787](https://github.com/honeybadger-io/honeybadger-ruby/issues/787)) ([cb97bd8](https://github.com/honeybadger-io/honeybadger-ruby/commit/cb97bd8252b9d0788adb215a87503cff9c04ecbc))
|
|
10
|
+
|
|
4
11
|
## [6.4.1](https://github.com/honeybadger-io/honeybadger-ruby/compare/v6.4.0...v6.4.1) (2026-02-25)
|
|
5
12
|
|
|
6
13
|
|
|
@@ -345,6 +345,16 @@ module Honeybadger
|
|
|
345
345
|
default: true,
|
|
346
346
|
type: Boolean
|
|
347
347
|
},
|
|
348
|
+
"active_job.insights.events": {
|
|
349
|
+
description: "Enable automatic event capturing for Active Job.",
|
|
350
|
+
default: true,
|
|
351
|
+
type: Boolean
|
|
352
|
+
},
|
|
353
|
+
"active_job.insights.metrics": {
|
|
354
|
+
description: "Enable automatic metric data collection for Active Job.",
|
|
355
|
+
default: false,
|
|
356
|
+
type: Boolean
|
|
357
|
+
},
|
|
348
358
|
"delayed_job.attempt_threshold": {
|
|
349
359
|
description: "The number of attempts before notifications will be sent.",
|
|
350
360
|
default: 0,
|
|
@@ -57,8 +57,6 @@ module Honeybadger
|
|
|
57
57
|
gauge("duration.process_action.action_controller", value: payload[:duration], **payload.slice(:method, :controller, :action, :format, :status))
|
|
58
58
|
gauge("db_runtime.process_action.action_controller", value: payload[:db_runtime], **payload.slice(:method, :controller, :action, :format, :status))
|
|
59
59
|
gauge("view_runtime.process_action.action_controller", value: payload[:view_runtime], **payload.slice(:method, :controller, :action, :format, :status))
|
|
60
|
-
when "perform.active_job"
|
|
61
|
-
gauge("duration.perform.active_job", value: payload[:duration], **payload.slice(:job_class, :queue_name))
|
|
62
60
|
when /^cache_.*.active_support$/
|
|
63
61
|
gauge("duration.#{name}", value: payload[:duration], **payload.slice(:store, :key))
|
|
64
62
|
end
|
|
@@ -130,6 +128,30 @@ module Honeybadger
|
|
|
130
128
|
end
|
|
131
129
|
|
|
132
130
|
class ActiveJobSubscriber < RailsSubscriber
|
|
131
|
+
def record(name, payload)
|
|
132
|
+
return unless Honeybadger.config.load_plugin_insights?(:active_job, feature: :events)
|
|
133
|
+
Honeybadger.event(name, payload)
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
def record_metrics(name, payload)
|
|
137
|
+
return unless Honeybadger.config.load_plugin_insights?(:active_job, feature: :metrics)
|
|
138
|
+
|
|
139
|
+
metric_source "active_job"
|
|
140
|
+
|
|
141
|
+
case name
|
|
142
|
+
when "perform.active_job"
|
|
143
|
+
gauge("duration.perform.active_job", value: payload[:duration], **payload.slice(:job_class, :queue_name, :status))
|
|
144
|
+
when "enqueue.active_job", "enqueue_at.active_job"
|
|
145
|
+
gauge("duration.enqueue.active_job", value: payload[:duration], **payload.slice(:job_class, :queue_name))
|
|
146
|
+
when "enqueue_retry.active_job"
|
|
147
|
+
gauge("duration.enqueue_retry.active_job", value: payload[:duration], **payload.slice(:job_class, :queue_name))
|
|
148
|
+
when "discard.active_job"
|
|
149
|
+
gauge("duration.discard.active_job", value: payload[:duration], **payload.slice(:job_class, :queue_name))
|
|
150
|
+
when "retry_stopped.active_job"
|
|
151
|
+
gauge("duration.retry_stopped.active_job", value: payload[:duration], **payload.slice(:job_class, :queue_name))
|
|
152
|
+
end
|
|
153
|
+
end
|
|
154
|
+
|
|
133
155
|
def format_payload(name, payload)
|
|
134
156
|
job = payload[:job]
|
|
135
157
|
jobs = payload[:jobs]
|
data/lib/honeybadger/version.rb
CHANGED