honeybadger 5.27.2 → 5.28.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 +22 -0
- data/lib/honeybadger/agent.rb +25 -0
- data/lib/honeybadger/config/defaults.rb +5 -0
- data/lib/honeybadger/event.rb +1 -1
- data/lib/honeybadger/version.rb +1 -1
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a8183362165e34fd5896b5936721badd08db0d24935a10a46c63120ac6e76066
|
4
|
+
data.tar.gz: 51c0d0aaf04df683e5f1ef05ba342d50d8cc7693566567ace67e52a22244191c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 730c1514c746b72bc460d392e4fd6e2c7bb423ddc95d6a8b085f0955ef3feccba775570a904c5385d0899899c5003b304e48d2e99b90ad1fd25edf7d3f611dc6
|
7
|
+
data.tar.gz: dd930b1ac2f63c9d201a0c4cd128041092f7d28649d363c65bf73bad64323d982b6a4a99fb90d1a782e17dbda411529bf794484b4ebfdcb46e7be09473be29d2
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,28 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
3
|
|
4
|
+
## [5.28.0](https://github.com/honeybadger-io/honeybadger-ruby/compare/v5.27.4...v5.28.0) (2025-05-02)
|
5
|
+
|
6
|
+
|
7
|
+
### Features
|
8
|
+
|
9
|
+
* add sampling ([#689](https://github.com/honeybadger-io/honeybadger-ruby/issues/689)) ([0692ab0](https://github.com/honeybadger-io/honeybadger-ruby/commit/0692ab07d33843dc2612c36713b0f126ecba6b35))
|
10
|
+
|
11
|
+
|
12
|
+
## [5.27.4](https://github.com/honeybadger-io/honeybadger-ruby/compare/v5.27.3...v5.27.4) (2025-04-30)
|
13
|
+
|
14
|
+
|
15
|
+
### Documentation Updates
|
16
|
+
|
17
|
+
* shorten the gem summary ([3caacd1](https://github.com/honeybadger-io/honeybadger-ruby/commit/3caacd10fd4b605ce357a0c7eff0be37e64fcc64))
|
18
|
+
|
19
|
+
## [5.27.3](https://github.com/honeybadger-io/honeybadger-ruby/compare/v5.27.2...v5.27.3) (2025-04-30)
|
20
|
+
|
21
|
+
|
22
|
+
### Documentation Updates
|
23
|
+
|
24
|
+
* update RubyGems copy ([5e7609a](https://github.com/honeybadger-io/honeybadger-ruby/commit/5e7609aa74f021ac748154c57b2f8fe530762484))
|
25
|
+
|
4
26
|
## [5.27.2](https://github.com/honeybadger-io/honeybadger-ruby/compare/v5.27.1...v5.27.2) (2025-04-24)
|
5
27
|
|
6
28
|
|
data/lib/honeybadger/agent.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'forwardable'
|
2
|
+
require 'zlib'
|
2
3
|
|
3
4
|
require 'honeybadger/version'
|
4
5
|
require 'honeybadger/config'
|
@@ -434,6 +435,10 @@ module Honeybadger
|
|
434
435
|
|
435
436
|
return if event.halted?
|
436
437
|
|
438
|
+
return unless sample_event?(event)
|
439
|
+
|
440
|
+
strip_metadata(event)
|
441
|
+
|
437
442
|
events_worker.push(event.as_json)
|
438
443
|
end
|
439
444
|
|
@@ -570,6 +575,26 @@ module Honeybadger
|
|
570
575
|
|
571
576
|
private
|
572
577
|
|
578
|
+
def strip_metadata(event)
|
579
|
+
event.delete(:_hb)
|
580
|
+
end
|
581
|
+
|
582
|
+
def sample_event?(event)
|
583
|
+
# Always send metrics events
|
584
|
+
return true if event[:event_type] == "metric.hb"
|
585
|
+
|
586
|
+
sample_rate = config[:'events.sample_rate']
|
587
|
+
sample_rate = event.dig(:_hb, :sample_rate) if event.dig(:_hb, :sample_rate).is_a?(Numeric)
|
588
|
+
|
589
|
+
return true if sample_rate >= 100
|
590
|
+
|
591
|
+
if event[:request_id] # Send all events for a given request
|
592
|
+
Zlib.crc32(event[:request_id].to_s) % 100 < sample_rate
|
593
|
+
else # Otherwise just take a random sample
|
594
|
+
rand(100) < sample_rate
|
595
|
+
end
|
596
|
+
end
|
597
|
+
|
573
598
|
def validate_notify_opts!(opts)
|
574
599
|
return if opts.has_key?(:exception)
|
575
600
|
return if opts.has_key?(:error_message)
|
@@ -129,6 +129,11 @@ module Honeybadger
|
|
129
129
|
default: nil,
|
130
130
|
type: Array
|
131
131
|
},
|
132
|
+
:'events.sample_rate' => {
|
133
|
+
description: 'Percentage of events to send to the API (0-100). A value of 0 means no events are sent, 100 means all events are sent.',
|
134
|
+
default: 100,
|
135
|
+
type: Integer
|
136
|
+
},
|
132
137
|
plugins: {
|
133
138
|
description: 'An optional list of plugins to load. Default is to load all plugins.',
|
134
139
|
default: nil,
|
data/lib/honeybadger/event.rb
CHANGED
data/lib/honeybadger/version.rb
CHANGED
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: 5.
|
4
|
+
version: 5.28.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Honeybadger Industries LLC
|
@@ -37,7 +37,9 @@ dependencies:
|
|
37
37
|
- - ">="
|
38
38
|
- !ruby/object:Gem::Version
|
39
39
|
version: '0'
|
40
|
-
description:
|
40
|
+
description: Honeybadger.io unifies error tracking, performance and uptime monitoring,
|
41
|
+
and logging in one powerfully simple platform. Detect, diagnose, and resolve production
|
42
|
+
issues faster—so you can focus on building, not debugging.
|
41
43
|
email:
|
42
44
|
- support@honeybadger.io
|
43
45
|
executables:
|
@@ -208,5 +210,5 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
208
210
|
requirements: []
|
209
211
|
rubygems_version: 3.7.0.dev
|
210
212
|
specification_version: 4
|
211
|
-
summary:
|
213
|
+
summary: Full-stack error tracking, performance monitoring, logging, and more.
|
212
214
|
test_files: []
|