airbrake-ruby 6.0.1 → 6.1.1
Sign up to get free protection for your applications and to get access to all the features.
- 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: 7b26c79894b2b9922c3951a91eba90c906bd3164dda7b9e66dfe3f95ed392951
|
4
|
+
data.tar.gz: 1b835db3c660cdbfee82a3ef3a67a7237c83a66c3d153377a1fbc50ed4870840
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eb9e13c39dfa7f0f228716c38ff1cbe7371f2c12a7455489b4179815c4fb345e8720e95617cccfd2127c946b1772f6ecf39e3b886b0b2af9cdc8bdd3dce6c1f4
|
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: ruby
|
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: rbtree3
|
@@ -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: []
|