airbrake-ruby 4.1.0 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. checksums.yaml +5 -5
  2. data/lib/airbrake-ruby/async_sender.rb +22 -96
  3. data/lib/airbrake-ruby/backtrace.rb +8 -7
  4. data/lib/airbrake-ruby/benchmark.rb +39 -0
  5. data/lib/airbrake-ruby/code_hunk.rb +1 -1
  6. data/lib/airbrake-ruby/config/processor.rb +84 -0
  7. data/lib/airbrake-ruby/config/validator.rb +9 -3
  8. data/lib/airbrake-ruby/config.rb +76 -20
  9. data/lib/airbrake-ruby/deploy_notifier.rb +1 -1
  10. data/lib/airbrake-ruby/file_cache.rb +6 -0
  11. data/lib/airbrake-ruby/filter_chain.rb +16 -1
  12. data/lib/airbrake-ruby/filters/dependency_filter.rb +1 -0
  13. data/lib/airbrake-ruby/filters/exception_attributes_filter.rb +2 -2
  14. data/lib/airbrake-ruby/filters/gem_root_filter.rb +1 -0
  15. data/lib/airbrake-ruby/filters/git_last_checkout_filter.rb +5 -5
  16. data/lib/airbrake-ruby/filters/git_repository_filter.rb +3 -0
  17. data/lib/airbrake-ruby/filters/git_revision_filter.rb +2 -0
  18. data/lib/airbrake-ruby/filters/{keys_whitelist.rb → keys_allowlist.rb} +3 -3
  19. data/lib/airbrake-ruby/filters/{keys_blacklist.rb → keys_blocklist.rb} +3 -3
  20. data/lib/airbrake-ruby/filters/keys_filter.rb +39 -20
  21. data/lib/airbrake-ruby/filters/root_directory_filter.rb +1 -0
  22. data/lib/airbrake-ruby/filters/sql_filter.rb +30 -6
  23. data/lib/airbrake-ruby/filters/system_exit_filter.rb +1 -0
  24. data/lib/airbrake-ruby/filters/thread_filter.rb +4 -2
  25. data/lib/airbrake-ruby/grouppable.rb +12 -0
  26. data/lib/airbrake-ruby/ignorable.rb +1 -0
  27. data/lib/airbrake-ruby/inspectable.rb +2 -2
  28. data/lib/airbrake-ruby/loggable.rb +2 -2
  29. data/lib/airbrake-ruby/mergeable.rb +12 -0
  30. data/lib/airbrake-ruby/monotonic_time.rb +48 -0
  31. data/lib/airbrake-ruby/notice.rb +10 -20
  32. data/lib/airbrake-ruby/notice_notifier.rb +23 -42
  33. data/lib/airbrake-ruby/performance_breakdown.rb +52 -0
  34. data/lib/airbrake-ruby/performance_notifier.rb +126 -49
  35. data/lib/airbrake-ruby/promise.rb +1 -0
  36. data/lib/airbrake-ruby/query.rb +26 -11
  37. data/lib/airbrake-ruby/queue.rb +65 -0
  38. data/lib/airbrake-ruby/remote_settings/settings_data.rb +120 -0
  39. data/lib/airbrake-ruby/remote_settings.rb +145 -0
  40. data/lib/airbrake-ruby/request.rb +20 -6
  41. data/lib/airbrake-ruby/stashable.rb +15 -0
  42. data/lib/airbrake-ruby/stat.rb +34 -24
  43. data/lib/airbrake-ruby/sync_sender.rb +3 -2
  44. data/lib/airbrake-ruby/tdigest.rb +43 -58
  45. data/lib/airbrake-ruby/thread_pool.rb +138 -0
  46. data/lib/airbrake-ruby/timed_trace.rb +58 -0
  47. data/lib/airbrake-ruby/truncator.rb +10 -4
  48. data/lib/airbrake-ruby/version.rb +11 -1
  49. data/lib/airbrake-ruby.rb +219 -53
  50. data/spec/airbrake_spec.rb +428 -9
  51. data/spec/async_sender_spec.rb +26 -110
  52. data/spec/backtrace_spec.rb +44 -44
  53. data/spec/benchmark_spec.rb +33 -0
  54. data/spec/code_hunk_spec.rb +11 -11
  55. data/spec/config/processor_spec.rb +209 -0
  56. data/spec/config/validator_spec.rb +23 -6
  57. data/spec/config_spec.rb +77 -7
  58. data/spec/deploy_notifier_spec.rb +2 -2
  59. data/spec/{file_cache.rb → file_cache_spec.rb} +2 -4
  60. data/spec/filter_chain_spec.rb +28 -1
  61. data/spec/filters/dependency_filter_spec.rb +1 -1
  62. data/spec/filters/gem_root_filter_spec.rb +9 -9
  63. data/spec/filters/git_last_checkout_filter_spec.rb +21 -4
  64. data/spec/filters/git_repository_filter.rb +1 -1
  65. data/spec/filters/git_revision_filter_spec.rb +13 -11
  66. data/spec/filters/{keys_whitelist_spec.rb → keys_allowlist_spec.rb} +29 -28
  67. data/spec/filters/{keys_blacklist_spec.rb → keys_blocklist_spec.rb} +39 -29
  68. data/spec/filters/root_directory_filter_spec.rb +9 -9
  69. data/spec/filters/sql_filter_spec.rb +110 -55
  70. data/spec/filters/system_exit_filter_spec.rb +1 -1
  71. data/spec/filters/thread_filter_spec.rb +33 -31
  72. data/spec/fixtures/project_root/code.rb +9 -9
  73. data/spec/loggable_spec.rb +17 -0
  74. data/spec/monotonic_time_spec.rb +23 -0
  75. data/spec/{notice_notifier_spec → notice_notifier}/options_spec.rb +19 -21
  76. data/spec/notice_notifier_spec.rb +20 -80
  77. data/spec/notice_spec.rb +9 -11
  78. data/spec/performance_breakdown_spec.rb +11 -0
  79. data/spec/performance_notifier_spec.rb +360 -85
  80. data/spec/query_spec.rb +11 -0
  81. data/spec/queue_spec.rb +18 -0
  82. data/spec/remote_settings/settings_data_spec.rb +365 -0
  83. data/spec/remote_settings_spec.rb +230 -0
  84. data/spec/request_spec.rb +9 -0
  85. data/spec/response_spec.rb +8 -8
  86. data/spec/spec_helper.rb +9 -13
  87. data/spec/stashable_spec.rb +23 -0
  88. data/spec/stat_spec.rb +17 -15
  89. data/spec/sync_sender_spec.rb +14 -12
  90. data/spec/tdigest_spec.rb +6 -6
  91. data/spec/thread_pool_spec.rb +187 -0
  92. data/spec/timed_trace_spec.rb +125 -0
  93. data/spec/truncator_spec.rb +12 -12
  94. metadata +55 -18
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: 4.1.0
4
+ version: 5.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Airbrake Technologies, Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-28 00:00:00.000000000 Z
11
+ date: 2020-08-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rbtree3
@@ -41,8 +41,10 @@ files:
41
41
  - lib/airbrake-ruby.rb
42
42
  - lib/airbrake-ruby/async_sender.rb
43
43
  - lib/airbrake-ruby/backtrace.rb
44
+ - lib/airbrake-ruby/benchmark.rb
44
45
  - lib/airbrake-ruby/code_hunk.rb
45
46
  - lib/airbrake-ruby/config.rb
47
+ - lib/airbrake-ruby/config/processor.rb
46
48
  - lib/airbrake-ruby/config/validator.rb
47
49
  - lib/airbrake-ruby/deploy_notifier.rb
48
50
  - lib/airbrake-ruby/file_cache.rb
@@ -54,39 +56,51 @@ files:
54
56
  - lib/airbrake-ruby/filters/git_last_checkout_filter.rb
55
57
  - lib/airbrake-ruby/filters/git_repository_filter.rb
56
58
  - lib/airbrake-ruby/filters/git_revision_filter.rb
57
- - lib/airbrake-ruby/filters/keys_blacklist.rb
59
+ - lib/airbrake-ruby/filters/keys_allowlist.rb
60
+ - lib/airbrake-ruby/filters/keys_blocklist.rb
58
61
  - lib/airbrake-ruby/filters/keys_filter.rb
59
- - lib/airbrake-ruby/filters/keys_whitelist.rb
60
62
  - lib/airbrake-ruby/filters/root_directory_filter.rb
61
63
  - lib/airbrake-ruby/filters/sql_filter.rb
62
64
  - lib/airbrake-ruby/filters/system_exit_filter.rb
63
65
  - lib/airbrake-ruby/filters/thread_filter.rb
66
+ - lib/airbrake-ruby/grouppable.rb
64
67
  - lib/airbrake-ruby/hash_keyable.rb
65
68
  - lib/airbrake-ruby/ignorable.rb
66
69
  - lib/airbrake-ruby/inspectable.rb
67
70
  - lib/airbrake-ruby/loggable.rb
71
+ - lib/airbrake-ruby/mergeable.rb
72
+ - lib/airbrake-ruby/monotonic_time.rb
68
73
  - lib/airbrake-ruby/nested_exception.rb
69
74
  - lib/airbrake-ruby/notice.rb
70
75
  - lib/airbrake-ruby/notice_notifier.rb
76
+ - lib/airbrake-ruby/performance_breakdown.rb
71
77
  - lib/airbrake-ruby/performance_notifier.rb
72
78
  - lib/airbrake-ruby/promise.rb
73
79
  - lib/airbrake-ruby/query.rb
80
+ - lib/airbrake-ruby/queue.rb
81
+ - lib/airbrake-ruby/remote_settings.rb
82
+ - lib/airbrake-ruby/remote_settings/settings_data.rb
74
83
  - lib/airbrake-ruby/request.rb
75
84
  - lib/airbrake-ruby/response.rb
85
+ - lib/airbrake-ruby/stashable.rb
76
86
  - lib/airbrake-ruby/stat.rb
77
87
  - lib/airbrake-ruby/sync_sender.rb
78
88
  - lib/airbrake-ruby/tdigest.rb
89
+ - lib/airbrake-ruby/thread_pool.rb
79
90
  - lib/airbrake-ruby/time_truncate.rb
91
+ - lib/airbrake-ruby/timed_trace.rb
80
92
  - lib/airbrake-ruby/truncator.rb
81
93
  - lib/airbrake-ruby/version.rb
82
94
  - spec/airbrake_spec.rb
83
95
  - spec/async_sender_spec.rb
84
96
  - spec/backtrace_spec.rb
97
+ - spec/benchmark_spec.rb
85
98
  - spec/code_hunk_spec.rb
99
+ - spec/config/processor_spec.rb
86
100
  - spec/config/validator_spec.rb
87
101
  - spec/config_spec.rb
88
102
  - spec/deploy_notifier_spec.rb
89
- - spec/file_cache.rb
103
+ - spec/file_cache_spec.rb
90
104
  - spec/filter_chain_spec.rb
91
105
  - spec/filters/context_filter_spec.rb
92
106
  - spec/filters/dependency_filter_spec.rb
@@ -95,8 +109,8 @@ files:
95
109
  - spec/filters/git_last_checkout_filter_spec.rb
96
110
  - spec/filters/git_repository_filter.rb
97
111
  - spec/filters/git_revision_filter_spec.rb
98
- - spec/filters/keys_blacklist_spec.rb
99
- - spec/filters/keys_whitelist_spec.rb
112
+ - spec/filters/keys_allowlist_spec.rb
113
+ - spec/filters/keys_blocklist_spec.rb
100
114
  - spec/filters/root_directory_filter_spec.rb
101
115
  - spec/filters/sql_filter_spec.rb
102
116
  - spec/filters/system_exit_filter_spec.rb
@@ -110,24 +124,35 @@ files:
110
124
  - spec/helpers.rb
111
125
  - spec/ignorable_spec.rb
112
126
  - spec/inspectable_spec.rb
127
+ - spec/loggable_spec.rb
128
+ - spec/monotonic_time_spec.rb
113
129
  - spec/nested_exception_spec.rb
130
+ - spec/notice_notifier/options_spec.rb
114
131
  - spec/notice_notifier_spec.rb
115
- - spec/notice_notifier_spec/options_spec.rb
116
132
  - spec/notice_spec.rb
133
+ - spec/performance_breakdown_spec.rb
117
134
  - spec/performance_notifier_spec.rb
118
135
  - spec/promise_spec.rb
136
+ - spec/query_spec.rb
137
+ - spec/queue_spec.rb
138
+ - spec/remote_settings/settings_data_spec.rb
139
+ - spec/remote_settings_spec.rb
140
+ - spec/request_spec.rb
119
141
  - spec/response_spec.rb
120
142
  - spec/spec_helper.rb
143
+ - spec/stashable_spec.rb
121
144
  - spec/stat_spec.rb
122
145
  - spec/sync_sender_spec.rb
123
146
  - spec/tdigest_spec.rb
147
+ - spec/thread_pool_spec.rb
124
148
  - spec/time_truncate_spec.rb
149
+ - spec/timed_trace_spec.rb
125
150
  - spec/truncator_spec.rb
126
151
  homepage: https://airbrake.io
127
152
  licenses:
128
153
  - MIT
129
154
  metadata: {}
130
- post_install_message:
155
+ post_install_message:
131
156
  rdoc_options: []
132
157
  require_paths:
133
158
  - lib
@@ -135,54 +160,63 @@ required_ruby_version: !ruby/object:Gem::Requirement
135
160
  requirements:
136
161
  - - ">="
137
162
  - !ruby/object:Gem::Version
138
- version: '2.1'
163
+ version: '2.3'
139
164
  required_rubygems_version: !ruby/object:Gem::Requirement
140
165
  requirements:
141
166
  - - ">="
142
167
  - !ruby/object:Gem::Version
143
168
  version: '0'
144
169
  requirements: []
145
- rubyforge_project:
146
- rubygems_version: 2.6.13
147
- signing_key:
170
+ rubygems_version: 3.1.2
171
+ signing_key:
148
172
  specification_version: 4
149
173
  summary: Ruby notifier for https://airbrake.io
150
174
  test_files:
151
175
  - spec/truncator_spec.rb
176
+ - spec/benchmark_spec.rb
152
177
  - spec/helpers.rb
153
178
  - spec/filters/exception_attributes_filter_spec.rb
154
179
  - spec/filters/root_directory_filter_spec.rb
155
180
  - spec/filters/sql_filter_spec.rb
156
- - spec/filters/keys_whitelist_spec.rb
157
181
  - spec/filters/system_exit_filter_spec.rb
158
182
  - spec/filters/thread_filter_spec.rb
183
+ - spec/filters/keys_allowlist_spec.rb
159
184
  - spec/filters/dependency_filter_spec.rb
160
185
  - spec/filters/context_filter_spec.rb
161
186
  - spec/filters/git_last_checkout_filter_spec.rb
162
187
  - spec/filters/git_revision_filter_spec.rb
163
- - spec/filters/keys_blacklist_spec.rb
188
+ - spec/filters/keys_blocklist_spec.rb
164
189
  - spec/filters/gem_root_filter_spec.rb
165
190
  - spec/filters/git_repository_filter.rb
166
191
  - spec/spec_helper.rb
167
192
  - spec/notice_spec.rb
168
193
  - spec/config_spec.rb
194
+ - spec/performance_breakdown_spec.rb
169
195
  - spec/tdigest_spec.rb
170
196
  - spec/async_sender_spec.rb
171
197
  - spec/stat_spec.rb
198
+ - spec/loggable_spec.rb
172
199
  - spec/backtrace_spec.rb
173
200
  - spec/notice_notifier_spec.rb
174
201
  - spec/time_truncate_spec.rb
175
202
  - spec/promise_spec.rb
203
+ - spec/thread_pool_spec.rb
176
204
  - spec/config/validator_spec.rb
205
+ - spec/config/processor_spec.rb
177
206
  - spec/sync_sender_spec.rb
178
207
  - spec/ignorable_spec.rb
179
208
  - spec/deploy_notifier_spec.rb
180
209
  - spec/performance_notifier_spec.rb
181
210
  - spec/airbrake_spec.rb
182
211
  - spec/nested_exception_spec.rb
212
+ - spec/timed_trace_spec.rb
213
+ - spec/file_cache_spec.rb
214
+ - spec/request_spec.rb
215
+ - spec/notice_notifier/options_spec.rb
183
216
  - spec/filter_chain_spec.rb
217
+ - spec/remote_settings/settings_data_spec.rb
184
218
  - spec/response_spec.rb
185
- - spec/file_cache.rb
219
+ - spec/queue_spec.rb
186
220
  - spec/code_hunk_spec.rb
187
221
  - spec/fixtures/notroot.txt
188
222
  - spec/fixtures/project_root/long_line.txt
@@ -190,5 +224,8 @@ test_files:
190
224
  - spec/fixtures/project_root/code.rb
191
225
  - spec/fixtures/project_root/short_file.rb
192
226
  - spec/fixtures/project_root/vendor/bundle/ignored_file.rb
227
+ - spec/monotonic_time_spec.rb
193
228
  - spec/inspectable_spec.rb
194
- - spec/notice_notifier_spec/options_spec.rb
229
+ - spec/stashable_spec.rb
230
+ - spec/query_spec.rb
231
+ - spec/remote_settings_spec.rb