airbrake-ruby 6.0.1-java → 6.1.1-java
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/lib/airbrake-ruby/config/processor.rb +6 -0
- data/lib/airbrake-ruby/config.rb +3 -3
- data/lib/airbrake-ruby/filters/git_last_checkout_filter.rb +1 -1
- data/lib/airbrake-ruby/filters/git_repository_filter.rb +7 -1
- data/lib/airbrake-ruby/filters/sql_filter.rb +6 -6
- data/lib/airbrake-ruby/nested_exception.rb +10 -1
- data/lib/airbrake-ruby/notice.rb +5 -3
- data/lib/airbrake-ruby/performance_notifier.rb +38 -38
- data/lib/airbrake-ruby/stat.rb +1 -1
- data/lib/airbrake-ruby/time_truncate.rb +2 -2
- data/lib/airbrake-ruby/version.rb +1 -1
- data/lib/airbrake-ruby.rb +21 -21
- metadata +6 -123
- data/spec/airbrake_spec.rb +0 -522
- data/spec/async_sender_spec.rb +0 -65
- data/spec/backtrace_spec.rb +0 -430
- data/spec/benchmark_spec.rb +0 -35
- data/spec/code_hunk_spec.rb +0 -124
- data/spec/config/processor_spec.rb +0 -151
- data/spec/config/validator_spec.rb +0 -204
- data/spec/config_spec.rb +0 -188
- data/spec/context_spec.rb +0 -54
- data/spec/deploy_notifier_spec.rb +0 -50
- data/spec/file_cache_spec.rb +0 -35
- data/spec/filter_chain_spec.rb +0 -124
- data/spec/filters/context_filter_spec.rb +0 -32
- data/spec/filters/dependency_filter_spec.rb +0 -14
- data/spec/filters/exception_attributes_filter_spec.rb +0 -52
- data/spec/filters/gem_root_filter_spec.rb +0 -44
- data/spec/filters/git_last_checkout_filter_spec.rb +0 -61
- data/spec/filters/git_repository_filter.rb +0 -61
- data/spec/filters/git_revision_filter_spec.rb +0 -126
- data/spec/filters/keys_allowlist_spec.rb +0 -204
- data/spec/filters/keys_blocklist_spec.rb +0 -242
- data/spec/filters/root_directory_filter_spec.rb +0 -39
- data/spec/filters/sql_filter_spec.rb +0 -274
- data/spec/filters/system_exit_filter_spec.rb +0 -16
- data/spec/filters/thread_filter_spec.rb +0 -281
- data/spec/fixtures/notroot.txt +0 -7
- data/spec/fixtures/project_root/code.rb +0 -221
- data/spec/fixtures/project_root/empty_file.rb +0 -0
- data/spec/fixtures/project_root/long_line.txt +0 -1
- data/spec/fixtures/project_root/short_file.rb +0 -3
- data/spec/fixtures/project_root/vendor/bundle/ignored_file.rb +0 -5
- data/spec/helpers.rb +0 -9
- data/spec/ignorable_spec.rb +0 -14
- data/spec/inspectable_spec.rb +0 -45
- data/spec/loggable_spec.rb +0 -17
- data/spec/monotonic_time_spec.rb +0 -25
- data/spec/nested_exception_spec.rb +0 -73
- data/spec/notice_notifier/options_spec.rb +0 -269
- data/spec/notice_notifier_spec.rb +0 -361
- data/spec/notice_spec.rb +0 -300
- data/spec/performance_breakdown_spec.rb +0 -11
- data/spec/performance_notifier_spec.rb +0 -645
- data/spec/promise_spec.rb +0 -203
- data/spec/query_spec.rb +0 -11
- data/spec/queue_spec.rb +0 -18
- data/spec/remote_settings/callback_spec.rb +0 -162
- data/spec/remote_settings/settings_data_spec.rb +0 -348
- data/spec/remote_settings_spec.rb +0 -201
- data/spec/request_spec.rb +0 -9
- data/spec/response_spec.rb +0 -110
- data/spec/spec_helper.rb +0 -100
- data/spec/stashable_spec.rb +0 -23
- data/spec/stat_spec.rb +0 -39
- data/spec/sync_sender_spec.rb +0 -168
- data/spec/tdigest_spec.rb +0 -235
- data/spec/thread_pool_spec.rb +0 -196
- data/spec/time_truncate_spec.rb +0 -15
- data/spec/timed_trace_spec.rb +0 -127
- data/spec/truncator_spec.rb +0 -267
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5e9b6912593d385ef6bf89acc4744a9b6f9fb605959299f8ae6b27b312758f47
|
4
|
+
data.tar.gz: 1b835db3c660cdbfee82a3ef3a67a7237c83a66c3d153377a1fbc50ed4870840
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5cc2026d845c74164b1809c271e41cf295bb711f65a64926a5fa38950b0008a262adfe78f8499264f295d59a37722c69aeeee28be5c8b0de9669f90e0570f207
|
7
|
+
data.tar.gz: 6081c2a922b9334e31220a0f7d87309dd054a6d2ef5837f254d719a85dd4914a004f5fc6fe2f8adbffdd649f24320cb04973d0439e1a5b41665ee6217fa7e237
|
@@ -43,8 +43,14 @@ module Airbrake
|
|
43
43
|
def process_remote_configuration
|
44
44
|
return unless @config.remote_config
|
45
45
|
return unless @project_id
|
46
|
+
|
47
|
+
# Never poll remote configuration in the test environment.
|
46
48
|
return if @config.environment == 'test'
|
47
49
|
|
50
|
+
# If the current environment is ignored, don't try to poll remote
|
51
|
+
# configuration.
|
52
|
+
return if @config.ignore_environments.include?(@config.environment)
|
53
|
+
|
48
54
|
RemoteSettings.poll(@project_id, @config.remote_config_host) do |data|
|
49
55
|
@poll_callback.call(data)
|
50
56
|
end
|
data/lib/airbrake-ruby/config.rb
CHANGED
@@ -248,14 +248,14 @@ module Airbrake
|
|
248
248
|
|
249
249
|
# @return [Promise] resolved promise if neither of the performance options
|
250
250
|
# reject it, false otherwise
|
251
|
-
def check_performance_options(
|
251
|
+
def check_performance_options(metric)
|
252
252
|
promise = Airbrake::Promise.new
|
253
253
|
|
254
254
|
if !performance_stats
|
255
255
|
promise.reject("The Performance Stats feature is disabled")
|
256
|
-
elsif
|
256
|
+
elsif metric.is_a?(Airbrake::Query) && !query_stats
|
257
257
|
promise.reject("The Query Stats feature is disabled")
|
258
|
-
elsif
|
258
|
+
elsif metric.is_a?(Airbrake::Queue) && !job_stats
|
259
259
|
promise.reject("The Job Stats feature is disabled")
|
260
260
|
else
|
261
261
|
promise
|
@@ -49,7 +49,13 @@ module Airbrake
|
|
49
49
|
def detect_git_version
|
50
50
|
return unless which('git')
|
51
51
|
|
52
|
-
|
52
|
+
begin
|
53
|
+
Gem::Version.new(`git --version`.split[2])
|
54
|
+
rescue Errno::EAGAIN
|
55
|
+
# Bugfix for the case when the system cannot allocate memory for
|
56
|
+
# a fork() call: https://github.com/airbrake/airbrake-ruby/issues/680
|
57
|
+
nil
|
58
|
+
end
|
53
59
|
end
|
54
60
|
|
55
61
|
# Cross-platform way to tell if an executable is accessible.
|
@@ -108,20 +108,20 @@ module Airbrake
|
|
108
108
|
@regexp = Regexp.union(features)
|
109
109
|
end
|
110
110
|
|
111
|
-
# @param [Airbrake::Query]
|
112
|
-
def call(
|
113
|
-
return unless
|
111
|
+
# @param [Airbrake::Query] metric
|
112
|
+
def call(metric)
|
113
|
+
return unless metric.respond_to?(:query)
|
114
114
|
|
115
|
-
query =
|
115
|
+
query = metric.query
|
116
116
|
if IGNORED_QUERIES.any? { |q| q =~ query }
|
117
|
-
|
117
|
+
metric.ignore!
|
118
118
|
return
|
119
119
|
end
|
120
120
|
|
121
121
|
q = query.gsub(@regexp, FILTERED)
|
122
122
|
q.gsub!(POST_FILTER, FILTERED) if q =~ POST_FILTER
|
123
123
|
q = ERROR_MSG if UNMATCHED_PAIR[@dialect] =~ q
|
124
|
-
|
124
|
+
metric.query = q
|
125
125
|
end
|
126
126
|
end
|
127
127
|
end
|
@@ -9,6 +9,15 @@ module Airbrake
|
|
9
9
|
# can unwrap. Exceptions that have a longer cause chain will be ignored
|
10
10
|
MAX_NESTED_EXCEPTIONS = 3
|
11
11
|
|
12
|
+
# On Ruby 3.1+, the error highlighting gem can produce messages that can
|
13
|
+
# span multiple lines. We don't display multiline error messages in the
|
14
|
+
# title of the notice in the Airbrake dashboard. Therefore, we want to strip
|
15
|
+
# out the higlighting part so that the errors look consistent. The full
|
16
|
+
# message with the exception will be attached to the notice body.
|
17
|
+
#
|
18
|
+
# @return [String]
|
19
|
+
RUBY_31_ERROR_HIGHLIGHTING_DIVIDER = "\n\n".freeze
|
20
|
+
|
12
21
|
def initialize(exception)
|
13
22
|
@exception = exception
|
14
23
|
end
|
@@ -16,7 +25,7 @@ module Airbrake
|
|
16
25
|
def as_json
|
17
26
|
unwind_exceptions.map do |exception|
|
18
27
|
{ type: exception.class.name,
|
19
|
-
message: exception.message,
|
28
|
+
message: exception.message.split(RUBY_31_ERROR_HIGHLIGHTING_DIVIDER).first,
|
20
29
|
backtrace: Backtrace.parse(exception) }
|
21
30
|
end
|
22
31
|
end
|
data/lib/airbrake-ruby/notice.rb
CHANGED
@@ -49,16 +49,17 @@ module Airbrake
|
|
49
49
|
# @api private
|
50
50
|
def initialize(exception, params = {})
|
51
51
|
@config = Airbrake::Config.instance
|
52
|
+
@truncator = Airbrake::Truncator.new(PAYLOAD_MAX_SIZE)
|
53
|
+
|
52
54
|
@payload = {
|
53
55
|
errors: NestedException.new(exception).as_json,
|
54
|
-
context: context,
|
56
|
+
context: context(exception),
|
55
57
|
environment: {
|
56
58
|
program_name: $PROGRAM_NAME,
|
57
59
|
},
|
58
60
|
session: {},
|
59
61
|
params: params,
|
60
62
|
}
|
61
|
-
@truncator = Airbrake::Truncator.new(PAYLOAD_MAX_SIZE)
|
62
63
|
|
63
64
|
stash[:exception] = exception
|
64
65
|
end
|
@@ -118,7 +119,7 @@ module Airbrake
|
|
118
119
|
|
119
120
|
private
|
120
121
|
|
121
|
-
def context
|
122
|
+
def context(exception)
|
122
123
|
{
|
123
124
|
version: @config.app_version,
|
124
125
|
versions: @config.versions,
|
@@ -132,6 +133,7 @@ module Airbrake
|
|
132
133
|
hostname: HOSTNAME,
|
133
134
|
|
134
135
|
severity: DEFAULT_SEVERITY,
|
136
|
+
error_message: @truncator.truncate(exception.message),
|
135
137
|
}.merge(CONTEXT).delete_if { |_key, val| val.nil? || val.empty? }
|
136
138
|
end
|
137
139
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Airbrake
|
2
|
-
#
|
3
|
-
#
|
2
|
+
# PerformanceNotifier aggregates performance data and periodically sends it to
|
3
|
+
# Airbrake.
|
4
4
|
#
|
5
5
|
# @api public
|
6
6
|
# @since v3.2.0
|
@@ -21,20 +21,20 @@ module Airbrake
|
|
21
21
|
@has_payload = @payload.new_cond
|
22
22
|
end
|
23
23
|
|
24
|
-
# @param [Hash]
|
24
|
+
# @param [Hash] metric
|
25
25
|
# @see Airbrake.notify_query
|
26
26
|
# @see Airbrake.notify_request
|
27
|
-
def notify(
|
27
|
+
def notify(metric)
|
28
28
|
@payload.synchronize do
|
29
|
-
|
29
|
+
send_metric(metric, sync: false)
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
|
-
# @param [Hash]
|
33
|
+
# @param [Hash] metric
|
34
34
|
# @since v4.10.0
|
35
35
|
# @see Airbrake.notify_queue_sync
|
36
|
-
def notify_sync(
|
37
|
-
|
36
|
+
def notify_sync(metric)
|
37
|
+
send_metric(metric, sync: true).value
|
38
38
|
end
|
39
39
|
|
40
40
|
# @see Airbrake.add_performance_filter
|
@@ -78,16 +78,16 @@ module Airbrake
|
|
78
78
|
end
|
79
79
|
end
|
80
80
|
|
81
|
-
def
|
82
|
-
promise = check_configuration(
|
81
|
+
def send_metric(metric, sync:)
|
82
|
+
promise = check_configuration(metric)
|
83
83
|
return promise if promise.rejected?
|
84
84
|
|
85
|
-
@filter_chain.refine(
|
86
|
-
if
|
87
|
-
return Promise.new.reject("#{
|
85
|
+
@filter_chain.refine(metric)
|
86
|
+
if metric.ignored?
|
87
|
+
return Promise.new.reject("#{metric.class} was ignored by a filter")
|
88
88
|
end
|
89
89
|
|
90
|
-
update_payload(
|
90
|
+
update_payload(metric)
|
91
91
|
if sync || @flush_period == 0
|
92
92
|
send(@sync_sender, @payload, promise)
|
93
93
|
else
|
@@ -96,29 +96,29 @@ module Airbrake
|
|
96
96
|
end
|
97
97
|
end
|
98
98
|
|
99
|
-
def update_payload(
|
100
|
-
if (total_stat = @payload[
|
101
|
-
@payload.key(total_stat).merge(
|
99
|
+
def update_payload(metric)
|
100
|
+
if (total_stat = @payload[metric])
|
101
|
+
@payload.key(total_stat).merge(metric)
|
102
102
|
else
|
103
|
-
@payload[
|
103
|
+
@payload[metric] = { total: Airbrake::Stat.new }
|
104
104
|
end
|
105
105
|
|
106
|
-
@payload[
|
106
|
+
@payload[metric][:total].increment_ms(metric.timing)
|
107
107
|
|
108
|
-
|
109
|
-
@payload[
|
110
|
-
@payload[
|
108
|
+
metric.groups.each do |name, ms|
|
109
|
+
@payload[metric][name] ||= Airbrake::Stat.new
|
110
|
+
@payload[metric][name].increment_ms(ms)
|
111
111
|
end
|
112
112
|
end
|
113
113
|
|
114
|
-
def check_configuration(
|
114
|
+
def check_configuration(metric)
|
115
115
|
promise = @config.check_configuration
|
116
116
|
return promise if promise.rejected?
|
117
117
|
|
118
|
-
promise = @config.check_performance_options(
|
118
|
+
promise = @config.check_performance_options(metric)
|
119
119
|
return promise if promise.rejected?
|
120
120
|
|
121
|
-
if
|
121
|
+
if metric.timing && metric.timing == 0
|
122
122
|
return Promise.new.reject(':timing cannot be zero')
|
123
123
|
end
|
124
124
|
|
@@ -128,47 +128,47 @@ module Airbrake
|
|
128
128
|
def send(sender, payload, promise)
|
129
129
|
raise "payload cannot be empty. Race?" if payload.none?
|
130
130
|
|
131
|
-
with_grouped_payload(payload) do |
|
131
|
+
with_grouped_payload(payload) do |metric_hash, destination|
|
132
132
|
url = URI.join(
|
133
133
|
@config.apm_host,
|
134
134
|
"api/v5/projects/#{@config.project_id}/#{destination}",
|
135
135
|
)
|
136
136
|
|
137
137
|
logger.debug do
|
138
|
-
"#{LOG_LABEL} #{self.class.name}##{__method__}: #{
|
138
|
+
"#{LOG_LABEL} #{self.class.name}##{__method__}: #{metric_hash}"
|
139
139
|
end
|
140
|
-
sender.send(
|
140
|
+
sender.send(metric_hash, promise, url)
|
141
141
|
end
|
142
142
|
|
143
143
|
promise
|
144
144
|
end
|
145
145
|
|
146
146
|
def with_grouped_payload(raw_payload)
|
147
|
-
grouped_payload = raw_payload.group_by do |
|
148
|
-
[
|
147
|
+
grouped_payload = raw_payload.group_by do |metric, _stats|
|
148
|
+
[metric.cargo, metric.destination]
|
149
149
|
end
|
150
150
|
|
151
|
-
grouped_payload.each do |(cargo, destination),
|
151
|
+
grouped_payload.each do |(cargo, destination), metrics|
|
152
152
|
payload = {}
|
153
|
-
payload[cargo] =
|
153
|
+
payload[cargo] = serialize_metrics(metrics)
|
154
154
|
payload['environment'] = @config.environment if @config.environment
|
155
155
|
|
156
156
|
yield(payload, destination)
|
157
157
|
end
|
158
158
|
end
|
159
159
|
|
160
|
-
def
|
161
|
-
|
162
|
-
|
160
|
+
def serialize_metrics(metrics)
|
161
|
+
metrics.map do |metric, stats|
|
162
|
+
metric_hash = metric.to_h.merge!(stats[:total].to_h)
|
163
163
|
|
164
|
-
if
|
164
|
+
if metric.groups.any?
|
165
165
|
group_stats = stats.reject { |name, _stat| name == :total }
|
166
|
-
|
166
|
+
metric_hash['groups'] = group_stats.merge(group_stats) do |_name, stat|
|
167
167
|
stat.to_h
|
168
168
|
end
|
169
169
|
end
|
170
170
|
|
171
|
-
|
171
|
+
metric_hash
|
172
172
|
end
|
173
173
|
end
|
174
174
|
end
|
data/lib/airbrake-ruby/stat.rb
CHANGED
@@ -4,7 +4,7 @@ module Airbrake
|
|
4
4
|
# Stat is a data structure that allows accumulating performance data (route
|
5
5
|
# performance, SQL query performance and such). It's powered by TDigests.
|
6
6
|
#
|
7
|
-
# Usually, one Stat corresponds to one
|
7
|
+
# Usually, one Stat corresponds to one metric (route or query,
|
8
8
|
# etc.). Incrementing a stat means pushing new performance statistics.
|
9
9
|
#
|
10
10
|
# @example
|
@@ -6,10 +6,10 @@ module Airbrake
|
|
6
6
|
module TimeTruncate
|
7
7
|
# Truncate +time+ to floor minute and turn it into an RFC3339 timestamp.
|
8
8
|
#
|
9
|
-
# @param [Time] time
|
9
|
+
# @param [Time, Integer, Float] time
|
10
10
|
# @return [String]
|
11
11
|
def self.utc_truncate_minutes(time)
|
12
|
-
tm = time.getutc
|
12
|
+
tm = Time.at(time).getutc
|
13
13
|
|
14
14
|
Time.utc(tm.year, tm.month, tm.day, tm.hour, tm.min).to_datetime.rfc3339
|
15
15
|
end
|
data/lib/airbrake-ruby.rb
CHANGED
@@ -364,23 +364,14 @@ module Airbrake
|
|
364
364
|
# method: 'POST',
|
365
365
|
# route: '/thing/:id/create',
|
366
366
|
# status_code: 200,
|
367
|
-
# func: 'do_stuff',
|
368
|
-
# file: 'app/models/foo.rb',
|
369
|
-
# line: 452,
|
370
367
|
# timing: 123.45 # ms
|
371
368
|
# )
|
372
369
|
#
|
373
370
|
# @param [Hash{Symbol=>Object}] request_info
|
374
371
|
# @option request_info [String] :method The HTTP method that was invoked
|
375
372
|
# @option request_info [String] :route The route that was invoked
|
376
|
-
# @option request_info [Integer] :status_code The
|
373
|
+
# @option request_info [Integer] :status_code The response code that the
|
377
374
|
# route returned
|
378
|
-
# @option request_info [String] :func The function that called the query
|
379
|
-
# (optional)
|
380
|
-
# @option request_info [String] :file The file that has the function that
|
381
|
-
# called the query (optional)
|
382
|
-
# @option request_info [Integer] :line The line that executes the query
|
383
|
-
# (optional)
|
384
375
|
# @option request_info [Float] :timing How much time it took to process the
|
385
376
|
# request (in ms)
|
386
377
|
# @param [Hash] stash What needs to be appeneded to the stash, so it's
|
@@ -415,6 +406,9 @@ module Airbrake
|
|
415
406
|
# method: 'GET',
|
416
407
|
# route: '/things',
|
417
408
|
# query: 'SELECT * FROM things',
|
409
|
+
# func: 'do_stuff',
|
410
|
+
# file: 'app/models/foo.rb',
|
411
|
+
# line: 452,
|
418
412
|
# timing: 123.45 # ms
|
419
413
|
# )
|
420
414
|
#
|
@@ -424,6 +418,12 @@ module Airbrake
|
|
424
418
|
# @option query_info [String] :route The route that triggered this SQL
|
425
419
|
# query (optional)
|
426
420
|
# @option query_info [String] :query The query that was executed
|
421
|
+
# @option request_info [String] :func The function that called the query
|
422
|
+
# (optional)
|
423
|
+
# @option request_info [String] :file The file that has the function that
|
424
|
+
# called the query (optional)
|
425
|
+
# @option request_info [Integer] :line The line that executes the query
|
426
|
+
# (optional)
|
427
427
|
# @option query_info [Float] :timing How much time it took to process the
|
428
428
|
# query (in ms)
|
429
429
|
# @param [Hash] stash What needs to be appeneded to the stash, so it's
|
@@ -451,7 +451,7 @@ module Airbrake
|
|
451
451
|
# Increments performance breakdown statistics of a certain route.
|
452
452
|
#
|
453
453
|
# @example
|
454
|
-
# Airbrake.
|
454
|
+
# Airbrake.notify_performance_breakdown(
|
455
455
|
# method: 'POST',
|
456
456
|
# route: '/thing/:id/create',
|
457
457
|
# response_type: 'json',
|
@@ -523,24 +523,24 @@ module Airbrake
|
|
523
523
|
performance_notifier.notify_sync(queue)
|
524
524
|
end
|
525
525
|
|
526
|
-
# Runs a callback before {.notify_request}
|
527
|
-
# is useful if you want to
|
528
|
-
#
|
526
|
+
# Runs a callback before {.notify_request}, {.notify_query}, {.notify_queue}
|
527
|
+
# or {.notify_performance_breakdown} kicks in. This is useful if you want to
|
528
|
+
# ignore specific metrics or filter the data the metric contains.
|
529
529
|
#
|
530
|
-
# @example Ignore all
|
530
|
+
# @example Ignore all metrics
|
531
531
|
# Airbrake.add_performance_filter(&:ignore!)
|
532
532
|
# @example Filter sensitive data
|
533
|
-
# Airbrake.add_performance_filter do |
|
534
|
-
# case
|
533
|
+
# Airbrake.add_performance_filter do |metric|
|
534
|
+
# case metric
|
535
535
|
# when Airbrake::Query
|
536
|
-
#
|
536
|
+
# metric.route = '[Filtered]'
|
537
537
|
# when Airbrake::Request
|
538
|
-
#
|
538
|
+
# metric.query = '[Filtered]'
|
539
539
|
# end
|
540
540
|
# end
|
541
541
|
# @example Filter with help of a class
|
542
542
|
# class MyFilter
|
543
|
-
# def call(
|
543
|
+
# def call(metric)
|
544
544
|
# # ...
|
545
545
|
# end
|
546
546
|
# end
|
@@ -548,7 +548,7 @@ module Airbrake
|
|
548
548
|
# Airbrake.add_performance_filter(MyFilter.new)
|
549
549
|
#
|
550
550
|
# @param [#call] filter The filter object
|
551
|
-
# @yield [
|
551
|
+
# @yield [metric] The metric to filter
|
552
552
|
# @yieldparam [Airbrake::Query, Airbrake::Request]
|
553
553
|
# @yieldreturn [void]
|
554
554
|
# @return [void]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: airbrake-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.
|
4
|
+
version: 6.1.1
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Airbrake Technologies, Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-06-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rbtree-jruby
|
@@ -93,69 +93,11 @@ files:
|
|
93
93
|
- lib/airbrake-ruby/timed_trace.rb
|
94
94
|
- lib/airbrake-ruby/truncator.rb
|
95
95
|
- lib/airbrake-ruby/version.rb
|
96
|
-
- spec/airbrake_spec.rb
|
97
|
-
- spec/async_sender_spec.rb
|
98
|
-
- spec/backtrace_spec.rb
|
99
|
-
- spec/benchmark_spec.rb
|
100
|
-
- spec/code_hunk_spec.rb
|
101
|
-
- spec/config/processor_spec.rb
|
102
|
-
- spec/config/validator_spec.rb
|
103
|
-
- spec/config_spec.rb
|
104
|
-
- spec/context_spec.rb
|
105
|
-
- spec/deploy_notifier_spec.rb
|
106
|
-
- spec/file_cache_spec.rb
|
107
|
-
- spec/filter_chain_spec.rb
|
108
|
-
- spec/filters/context_filter_spec.rb
|
109
|
-
- spec/filters/dependency_filter_spec.rb
|
110
|
-
- spec/filters/exception_attributes_filter_spec.rb
|
111
|
-
- spec/filters/gem_root_filter_spec.rb
|
112
|
-
- spec/filters/git_last_checkout_filter_spec.rb
|
113
|
-
- spec/filters/git_repository_filter.rb
|
114
|
-
- spec/filters/git_revision_filter_spec.rb
|
115
|
-
- spec/filters/keys_allowlist_spec.rb
|
116
|
-
- spec/filters/keys_blocklist_spec.rb
|
117
|
-
- spec/filters/root_directory_filter_spec.rb
|
118
|
-
- spec/filters/sql_filter_spec.rb
|
119
|
-
- spec/filters/system_exit_filter_spec.rb
|
120
|
-
- spec/filters/thread_filter_spec.rb
|
121
|
-
- spec/fixtures/notroot.txt
|
122
|
-
- spec/fixtures/project_root/code.rb
|
123
|
-
- spec/fixtures/project_root/empty_file.rb
|
124
|
-
- spec/fixtures/project_root/long_line.txt
|
125
|
-
- spec/fixtures/project_root/short_file.rb
|
126
|
-
- spec/fixtures/project_root/vendor/bundle/ignored_file.rb
|
127
|
-
- spec/helpers.rb
|
128
|
-
- spec/ignorable_spec.rb
|
129
|
-
- spec/inspectable_spec.rb
|
130
|
-
- spec/loggable_spec.rb
|
131
|
-
- spec/monotonic_time_spec.rb
|
132
|
-
- spec/nested_exception_spec.rb
|
133
|
-
- spec/notice_notifier/options_spec.rb
|
134
|
-
- spec/notice_notifier_spec.rb
|
135
|
-
- spec/notice_spec.rb
|
136
|
-
- spec/performance_breakdown_spec.rb
|
137
|
-
- spec/performance_notifier_spec.rb
|
138
|
-
- spec/promise_spec.rb
|
139
|
-
- spec/query_spec.rb
|
140
|
-
- spec/queue_spec.rb
|
141
|
-
- spec/remote_settings/callback_spec.rb
|
142
|
-
- spec/remote_settings/settings_data_spec.rb
|
143
|
-
- spec/remote_settings_spec.rb
|
144
|
-
- spec/request_spec.rb
|
145
|
-
- spec/response_spec.rb
|
146
|
-
- spec/spec_helper.rb
|
147
|
-
- spec/stashable_spec.rb
|
148
|
-
- spec/stat_spec.rb
|
149
|
-
- spec/sync_sender_spec.rb
|
150
|
-
- spec/tdigest_spec.rb
|
151
|
-
- spec/thread_pool_spec.rb
|
152
|
-
- spec/time_truncate_spec.rb
|
153
|
-
- spec/timed_trace_spec.rb
|
154
|
-
- spec/truncator_spec.rb
|
155
96
|
homepage: https://airbrake.io
|
156
97
|
licenses:
|
157
98
|
- MIT
|
158
|
-
metadata:
|
99
|
+
metadata:
|
100
|
+
rubygems_mfa_required: 'true'
|
159
101
|
post_install_message:
|
160
102
|
rdoc_options: []
|
161
103
|
require_paths:
|
@@ -171,67 +113,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
171
113
|
- !ruby/object:Gem::Version
|
172
114
|
version: '0'
|
173
115
|
requirements: []
|
174
|
-
rubygems_version: 3.
|
116
|
+
rubygems_version: 3.1.6
|
175
117
|
signing_key:
|
176
118
|
specification_version: 4
|
177
119
|
summary: Ruby notifier for https://airbrake.io
|
178
|
-
test_files:
|
179
|
-
- spec/airbrake_spec.rb
|
180
|
-
- spec/async_sender_spec.rb
|
181
|
-
- spec/backtrace_spec.rb
|
182
|
-
- spec/benchmark_spec.rb
|
183
|
-
- spec/code_hunk_spec.rb
|
184
|
-
- spec/config/processor_spec.rb
|
185
|
-
- spec/config/validator_spec.rb
|
186
|
-
- spec/config_spec.rb
|
187
|
-
- spec/context_spec.rb
|
188
|
-
- spec/deploy_notifier_spec.rb
|
189
|
-
- spec/file_cache_spec.rb
|
190
|
-
- spec/filter_chain_spec.rb
|
191
|
-
- spec/filters/context_filter_spec.rb
|
192
|
-
- spec/filters/dependency_filter_spec.rb
|
193
|
-
- spec/filters/exception_attributes_filter_spec.rb
|
194
|
-
- spec/filters/gem_root_filter_spec.rb
|
195
|
-
- spec/filters/git_last_checkout_filter_spec.rb
|
196
|
-
- spec/filters/git_repository_filter.rb
|
197
|
-
- spec/filters/git_revision_filter_spec.rb
|
198
|
-
- spec/filters/keys_allowlist_spec.rb
|
199
|
-
- spec/filters/keys_blocklist_spec.rb
|
200
|
-
- spec/filters/root_directory_filter_spec.rb
|
201
|
-
- spec/filters/sql_filter_spec.rb
|
202
|
-
- spec/filters/system_exit_filter_spec.rb
|
203
|
-
- spec/filters/thread_filter_spec.rb
|
204
|
-
- spec/fixtures/notroot.txt
|
205
|
-
- spec/fixtures/project_root/code.rb
|
206
|
-
- spec/fixtures/project_root/empty_file.rb
|
207
|
-
- spec/fixtures/project_root/long_line.txt
|
208
|
-
- spec/fixtures/project_root/short_file.rb
|
209
|
-
- spec/fixtures/project_root/vendor/bundle/ignored_file.rb
|
210
|
-
- spec/helpers.rb
|
211
|
-
- spec/ignorable_spec.rb
|
212
|
-
- spec/inspectable_spec.rb
|
213
|
-
- spec/loggable_spec.rb
|
214
|
-
- spec/monotonic_time_spec.rb
|
215
|
-
- spec/nested_exception_spec.rb
|
216
|
-
- spec/notice_notifier/options_spec.rb
|
217
|
-
- spec/notice_notifier_spec.rb
|
218
|
-
- spec/notice_spec.rb
|
219
|
-
- spec/performance_breakdown_spec.rb
|
220
|
-
- spec/performance_notifier_spec.rb
|
221
|
-
- spec/promise_spec.rb
|
222
|
-
- spec/query_spec.rb
|
223
|
-
- spec/queue_spec.rb
|
224
|
-
- spec/remote_settings/callback_spec.rb
|
225
|
-
- spec/remote_settings/settings_data_spec.rb
|
226
|
-
- spec/remote_settings_spec.rb
|
227
|
-
- spec/request_spec.rb
|
228
|
-
- spec/response_spec.rb
|
229
|
-
- spec/spec_helper.rb
|
230
|
-
- spec/stashable_spec.rb
|
231
|
-
- spec/stat_spec.rb
|
232
|
-
- spec/sync_sender_spec.rb
|
233
|
-
- spec/tdigest_spec.rb
|
234
|
-
- spec/thread_pool_spec.rb
|
235
|
-
- spec/time_truncate_spec.rb
|
236
|
-
- spec/timed_trace_spec.rb
|
237
|
-
- spec/truncator_spec.rb
|
120
|
+
test_files: []
|