appsignal 2.1.2 → 2.2.0.beta.1
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/.rubocop.yml +14 -0
- data/.rubocop_todo.yml +16 -171
- data/.travis.yml +14 -1
- data/.yardopts +8 -0
- data/CHANGELOG.md +21 -3
- data/README.md +20 -2
- data/Rakefile +60 -62
- data/appsignal.gemspec +24 -23
- data/ext/agent.yml +11 -11
- data/ext/appsignal_extension.c +43 -12
- data/ext/extconf.rb +9 -9
- data/gemfiles/padrino.gemfile +1 -1
- data/lib/appsignal.rb +403 -26
- data/lib/appsignal/auth_check.rb +28 -1
- data/lib/appsignal/cli.rb +1 -0
- data/lib/appsignal/cli/demo.rb +40 -0
- data/lib/appsignal/cli/diagnose.rb +345 -89
- data/lib/appsignal/cli/helpers.rb +9 -4
- data/lib/appsignal/cli/install.rb +6 -6
- data/lib/appsignal/cli/notify_of_deploy.rb +58 -0
- data/lib/appsignal/config.rb +40 -38
- data/lib/appsignal/demo.rb +20 -0
- data/lib/appsignal/event_formatter.rb +4 -0
- data/lib/appsignal/event_formatter/action_view/render_formatter.rb +1 -0
- data/lib/appsignal/event_formatter/active_record/instantiation_formatter.rb +1 -0
- data/lib/appsignal/event_formatter/active_record/sql_formatter.rb +1 -0
- data/lib/appsignal/event_formatter/elastic_search/search_formatter.rb +1 -0
- data/lib/appsignal/event_formatter/faraday/request_formatter.rb +1 -0
- data/lib/appsignal/event_formatter/mongo_ruby_driver/query_formatter.rb +2 -1
- data/lib/appsignal/event_formatter/moped/query_formatter.rb +1 -0
- data/lib/appsignal/extension.rb +1 -0
- data/lib/appsignal/garbage_collection_profiler.rb +20 -19
- data/lib/appsignal/hooks.rb +1 -0
- data/lib/appsignal/hooks/active_support_notifications.rb +1 -0
- data/lib/appsignal/hooks/celluloid.rb +1 -0
- data/lib/appsignal/hooks/data_mapper.rb +1 -0
- data/lib/appsignal/hooks/delayed_job.rb +1 -0
- data/lib/appsignal/hooks/mongo_ruby_driver.rb +1 -0
- data/lib/appsignal/hooks/net_http.rb +1 -0
- data/lib/appsignal/hooks/passenger.rb +1 -0
- data/lib/appsignal/hooks/puma.rb +1 -0
- data/lib/appsignal/hooks/rake.rb +1 -0
- data/lib/appsignal/hooks/redis.rb +1 -0
- data/lib/appsignal/hooks/sequel.rb +1 -0
- data/lib/appsignal/hooks/shoryuken.rb +1 -0
- data/lib/appsignal/hooks/sidekiq.rb +1 -0
- data/lib/appsignal/hooks/unicorn.rb +1 -0
- data/lib/appsignal/hooks/webmachine.rb +1 -0
- data/lib/appsignal/integrations/capistrano/appsignal.cap +4 -4
- data/lib/appsignal/integrations/capistrano/capistrano_2_tasks.rb +2 -0
- data/lib/appsignal/integrations/data_mapper.rb +1 -1
- data/lib/appsignal/integrations/delayed_job_plugin.rb +1 -0
- data/lib/appsignal/integrations/grape.rb +3 -1
- data/lib/appsignal/integrations/mongo_ruby_driver.rb +1 -0
- data/lib/appsignal/integrations/padrino.rb +36 -21
- data/lib/appsignal/integrations/railtie.rb +2 -2
- data/lib/appsignal/integrations/resque.rb +1 -0
- data/lib/appsignal/integrations/resque_active_job.rb +1 -0
- data/lib/appsignal/integrations/webmachine.rb +27 -24
- data/lib/appsignal/js_exception_transaction.rb +8 -8
- data/lib/appsignal/marker.rb +41 -4
- data/lib/appsignal/minutely.rb +1 -0
- data/lib/appsignal/rack/generic_instrumentation.rb +3 -2
- data/lib/appsignal/rack/js_exception_catcher.rb +55 -15
- data/lib/appsignal/rack/rails_instrumentation.rb +2 -1
- data/lib/appsignal/rack/sinatra_instrumentation.rb +4 -2
- data/lib/appsignal/rack/streaming_listener.rb +4 -2
- data/lib/appsignal/system.rb +5 -31
- data/lib/appsignal/transaction.rb +71 -6
- data/lib/appsignal/transmitter.rb +24 -13
- data/lib/appsignal/utils.rb +18 -11
- data/lib/appsignal/utils/params_sanitizer.rb +2 -1
- data/lib/appsignal/utils/query_params_sanitizer.rb +1 -0
- data/lib/appsignal/version.rb +1 -1
- data/resources/appsignal.yml.erb +1 -1
- data/spec/lib/appsignal/auth_check_spec.rb +64 -22
- data/spec/lib/appsignal/cli/diagnose_spec.rb +539 -81
- data/spec/lib/appsignal/cli/helpers_spec.rb +74 -2
- data/spec/lib/appsignal/cli/install_spec.rb +3 -3
- data/spec/lib/appsignal/config_spec.rb +38 -72
- data/spec/lib/appsignal/demo_spec.rb +2 -2
- data/spec/lib/appsignal/event_formatter_spec.rb +2 -2
- data/spec/lib/appsignal/extension_spec.rb +4 -0
- data/spec/lib/appsignal/garbage_collection_profiler_spec.rb +18 -21
- data/spec/lib/appsignal/hooks/mongo_ruby_driver_spec.rb +1 -1
- data/spec/lib/appsignal/hooks/redis_spec.rb +34 -44
- data/spec/lib/appsignal/hooks/sidekiq_spec.rb +2 -2
- data/spec/lib/appsignal/integrations/grape_spec.rb +6 -6
- data/spec/lib/appsignal/integrations/padrino_spec.rb +241 -122
- data/spec/lib/appsignal/integrations/railtie_spec.rb +34 -16
- data/spec/lib/appsignal/integrations/resque_spec.rb +1 -1
- data/spec/lib/appsignal/integrations/sinatra_spec.rb +38 -10
- data/spec/lib/appsignal/integrations/webmachine_spec.rb +2 -2
- data/spec/lib/appsignal/rack/generic_instrumentation_spec.rb +7 -6
- data/spec/lib/appsignal/rack/js_exception_catcher_spec.rb +95 -58
- data/spec/lib/appsignal/rack/rails_instrumentation_spec.rb +9 -6
- data/spec/lib/appsignal/rack/sinatra_instrumentation_spec.rb +11 -10
- data/spec/lib/appsignal/rack/streaming_listener_spec.rb +20 -13
- data/spec/lib/appsignal/system_spec.rb +2 -32
- data/spec/lib/appsignal/transaction_spec.rb +48 -7
- data/spec/lib/appsignal/transmitter_spec.rb +52 -33
- data/spec/lib/appsignal/utils/params_sanitizer_spec.rb +3 -1
- data/spec/lib/appsignal/utils/query_params_sanitizer_spec.rb +3 -3
- data/spec/lib/appsignal/utils_spec.rb +49 -6
- data/spec/lib/appsignal_spec.rb +60 -5
- data/spec/spec_helper.rb +4 -3
- data/spec/support/helpers/api_request_helper.rb +1 -4
- data/spec/support/helpers/dependency_helper.rb +4 -0
- data/spec/support/helpers/system_helpers.rb +1 -17
- data/spec/support/helpers/time_helpers.rb +1 -1
- metadata +19 -8
- data/spec/lib/appsignal/system/container_spec.rb +0 -67
- data/spec/lib/appsignal/utils/gzip_spec.rb +0 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 57f576bab6bcb116a443d5ba191d9b76d8451654
|
|
4
|
+
data.tar.gz: c87e7167c5ccf4cc00b3948776cc0c12ffea3644
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ddd3744e790d81d79d11e7b3a0312f0aa352a3db48722c243438cf39021c6d37f7b0d83a62a74d36bb3bd55c476c9cae310fe51f3e49862c923885621c41e010
|
|
7
|
+
data.tar.gz: 89c2d0c9c12deca8051569a2f646d9091abcc280e5dc6b6b7c02f91642483b671465a9c36017826fa31df170a25f094ea0c1bf7a4f2ae411e7146b43d676f3e9
|
data/.rubocop.yml
CHANGED
|
@@ -3,7 +3,10 @@ inherit_from: .rubocop_todo.yml
|
|
|
3
3
|
AllCops:
|
|
4
4
|
TargetRubyVersion: 1.9
|
|
5
5
|
Include:
|
|
6
|
+
- "**/*.cap"
|
|
6
7
|
- "Gemfile"
|
|
8
|
+
- "Rakefile"
|
|
9
|
+
- "appsignal.gemspec"
|
|
7
10
|
Exclude:
|
|
8
11
|
- "tmp/**/*"
|
|
9
12
|
- "gemfiles/vendor/**/*"
|
|
@@ -39,5 +42,16 @@ Style/AlignHash:
|
|
|
39
42
|
Style/IndentArray:
|
|
40
43
|
EnforcedStyle: consistent
|
|
41
44
|
|
|
45
|
+
Style/EmptyMethod:
|
|
46
|
+
EnforcedStyle: expanded
|
|
47
|
+
|
|
48
|
+
Style/MethodMissing:
|
|
49
|
+
Exclude:
|
|
50
|
+
- "lib/appsignal/extension.rb"
|
|
51
|
+
- "lib/appsignal/transaction.rb"
|
|
52
|
+
|
|
53
|
+
Style/TrailingUnderscoreVariable:
|
|
54
|
+
Enabled: false
|
|
55
|
+
|
|
42
56
|
# Metrics/LineLength:
|
|
43
57
|
# Max: 80
|
data/.rubocop_todo.yml
CHANGED
|
@@ -1,18 +1,11 @@
|
|
|
1
1
|
# This configuration was generated by
|
|
2
2
|
# `rubocop --auto-gen-config`
|
|
3
|
-
# on
|
|
3
|
+
# on 2017-04-06 22:15:48 +0200 using RuboCop version 0.46.0.
|
|
4
4
|
# The point is for the user to remove these configuration records
|
|
5
5
|
# one by one as the offenses are removed from the code base.
|
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
|
7
7
|
# versions of RuboCop, may require this file to be generated again.
|
|
8
8
|
|
|
9
|
-
# Offense count: 6
|
|
10
|
-
# Configuration parameters: AllowSafeAssignment.
|
|
11
|
-
Lint/AssignmentInCondition:
|
|
12
|
-
Exclude:
|
|
13
|
-
- 'lib/appsignal/config.rb'
|
|
14
|
-
- 'lib/appsignal/transaction.rb'
|
|
15
|
-
|
|
16
9
|
# Offense count: 7
|
|
17
10
|
Lint/HandleExceptions:
|
|
18
11
|
Exclude:
|
|
@@ -21,29 +14,17 @@ Lint/HandleExceptions:
|
|
|
21
14
|
- 'spec/lib/appsignal/hooks/sidekiq_spec.rb'
|
|
22
15
|
- 'spec/lib/appsignal/integrations/resque_spec.rb'
|
|
23
16
|
|
|
24
|
-
# Offense count: 1
|
|
25
|
-
Lint/IneffectiveAccessModifier:
|
|
26
|
-
Exclude:
|
|
27
|
-
- 'lib/appsignal/garbage_collection_profiler.rb'
|
|
28
|
-
|
|
29
17
|
# Offense count: 4
|
|
30
18
|
Lint/RescueException:
|
|
31
19
|
Exclude:
|
|
32
20
|
- 'lib/appsignal/minutely.rb'
|
|
33
21
|
- 'lib/appsignal/rack/streaming_listener.rb'
|
|
34
22
|
|
|
35
|
-
# Offense count:
|
|
36
|
-
# Cop supports --auto-correct.
|
|
37
|
-
Lint/UnifiedInteger:
|
|
38
|
-
Exclude:
|
|
39
|
-
- 'lib/appsignal/utils.rb'
|
|
40
|
-
- 'lib/appsignal/utils/params_sanitizer.rb'
|
|
41
|
-
|
|
42
|
-
# Offense count: 36
|
|
23
|
+
# Offense count: 38
|
|
43
24
|
Metrics/AbcSize:
|
|
44
|
-
Max:
|
|
25
|
+
Max: 61
|
|
45
26
|
|
|
46
|
-
# Offense count:
|
|
27
|
+
# Offense count: 3
|
|
47
28
|
# Configuration parameters: CountComments.
|
|
48
29
|
Metrics/BlockLength:
|
|
49
30
|
Max: 31
|
|
@@ -51,19 +32,23 @@ Metrics/BlockLength:
|
|
|
51
32
|
# Offense count: 4
|
|
52
33
|
# Configuration parameters: CountComments.
|
|
53
34
|
Metrics/ClassLength:
|
|
54
|
-
|
|
35
|
+
Exclude:
|
|
36
|
+
- "lib/appsignal/cli/diagnose.rb"
|
|
37
|
+
- "lib/appsignal/cli/install.rb"
|
|
38
|
+
- "lib/appsignal/config.rb"
|
|
39
|
+
- "lib/appsignal/transaction.rb"
|
|
55
40
|
|
|
56
|
-
# Offense count:
|
|
41
|
+
# Offense count: 15
|
|
57
42
|
Metrics/CyclomaticComplexity:
|
|
58
43
|
Max: 11
|
|
59
44
|
|
|
60
|
-
# Offense count:
|
|
45
|
+
# Offense count: 437
|
|
61
46
|
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
|
|
62
47
|
# URISchemes: http, https
|
|
63
48
|
Metrics/LineLength:
|
|
64
49
|
Max: 456
|
|
65
50
|
|
|
66
|
-
# Offense count:
|
|
51
|
+
# Offense count: 79
|
|
67
52
|
# Configuration parameters: CountComments.
|
|
68
53
|
Metrics/MethodLength:
|
|
69
54
|
Max: 60
|
|
@@ -74,11 +59,11 @@ Metrics/ModuleLength:
|
|
|
74
59
|
Exclude:
|
|
75
60
|
- "lib/appsignal.rb"
|
|
76
61
|
|
|
77
|
-
# Offense count:
|
|
62
|
+
# Offense count: 9
|
|
78
63
|
Metrics/PerceivedComplexity:
|
|
79
|
-
Max:
|
|
64
|
+
Max: 14
|
|
80
65
|
|
|
81
|
-
# Offense count:
|
|
66
|
+
# Offense count: 11
|
|
82
67
|
Style/AccessorMethodName:
|
|
83
68
|
Exclude:
|
|
84
69
|
- 'lib/appsignal.rb'
|
|
@@ -103,20 +88,11 @@ Style/Alias:
|
|
|
103
88
|
- 'lib/appsignal/transaction.rb'
|
|
104
89
|
|
|
105
90
|
# Offense count: 1
|
|
106
|
-
# Cop supports --auto-correct.
|
|
107
|
-
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
|
108
|
-
# SupportedStyles: always, conditionals
|
|
109
|
-
Style/AndOr:
|
|
110
|
-
Exclude:
|
|
111
|
-
- 'lib/appsignal.rb'
|
|
112
|
-
|
|
113
|
-
# Offense count: 3
|
|
114
91
|
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
|
115
92
|
# SupportedStyles: nested, compact
|
|
116
93
|
Style/ClassAndModuleChildren:
|
|
117
94
|
Exclude:
|
|
118
95
|
- 'lib/appsignal/integrations/padrino.rb'
|
|
119
|
-
- 'lib/appsignal/integrations/webmachine.rb'
|
|
120
96
|
|
|
121
97
|
# Offense count: 3
|
|
122
98
|
Style/ClassVars:
|
|
@@ -129,20 +105,6 @@ Style/DoubleNegation:
|
|
|
129
105
|
Exclude:
|
|
130
106
|
- 'lib/appsignal.rb'
|
|
131
107
|
|
|
132
|
-
# Offense count: 9
|
|
133
|
-
# Cop supports --auto-correct.
|
|
134
|
-
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
|
135
|
-
# SupportedStyles: compact, expanded
|
|
136
|
-
Style/EmptyMethod:
|
|
137
|
-
Exclude:
|
|
138
|
-
- 'lib/appsignal/transaction.rb'
|
|
139
|
-
- 'spec/lib/appsignal/event_formatter_spec.rb'
|
|
140
|
-
- 'spec/lib/appsignal/hooks/mongo_ruby_driver_spec.rb'
|
|
141
|
-
- 'spec/lib/appsignal/hooks/puma_spec.rb'
|
|
142
|
-
- 'spec/lib/appsignal/hooks/unicorn_spec.rb'
|
|
143
|
-
- 'spec/lib/appsignal/integrations/data_mapper_spec.rb'
|
|
144
|
-
- 'spec/lib/appsignal/integrations/resque_active_job_spec.rb'
|
|
145
|
-
|
|
146
108
|
# Offense count: 5
|
|
147
109
|
# Configuration parameters: MinBodyLength.
|
|
148
110
|
Style/GuardClause:
|
|
@@ -153,47 +115,12 @@ Style/GuardClause:
|
|
|
153
115
|
- 'lib/appsignal/hooks.rb'
|
|
154
116
|
- 'lib/appsignal/marker.rb'
|
|
155
117
|
|
|
156
|
-
# Offense count:
|
|
118
|
+
# Offense count: 2
|
|
157
119
|
# Cop supports --auto-correct.
|
|
158
120
|
# Configuration parameters: MaxLineLength.
|
|
159
121
|
Style/IfUnlessModifier:
|
|
160
122
|
Exclude:
|
|
161
123
|
- 'lib/appsignal.rb'
|
|
162
|
-
- 'lib/appsignal/garbage_collection_profiler.rb'
|
|
163
|
-
|
|
164
|
-
# Offense count: 2
|
|
165
|
-
Style/MethodMissing:
|
|
166
|
-
Exclude:
|
|
167
|
-
- 'lib/appsignal/extension.rb'
|
|
168
|
-
- 'lib/appsignal/transaction.rb'
|
|
169
|
-
|
|
170
|
-
# Offense count: 1
|
|
171
|
-
# Cop supports --auto-correct.
|
|
172
|
-
Style/MultilineIfModifier:
|
|
173
|
-
Exclude:
|
|
174
|
-
- 'lib/appsignal/js_exception_transaction.rb'
|
|
175
|
-
|
|
176
|
-
# Offense count: 9
|
|
177
|
-
# Cop supports --auto-correct.
|
|
178
|
-
Style/MutableConstant:
|
|
179
|
-
Exclude:
|
|
180
|
-
- 'ext/extconf.rb'
|
|
181
|
-
- 'lib/appsignal/event_formatter/mongo_ruby_driver/query_formatter.rb'
|
|
182
|
-
- 'lib/appsignal/integrations/data_mapper.rb'
|
|
183
|
-
- 'lib/appsignal/marker.rb'
|
|
184
|
-
- 'lib/appsignal/transaction.rb'
|
|
185
|
-
- 'lib/appsignal/transmitter.rb'
|
|
186
|
-
- 'lib/appsignal/version.rb'
|
|
187
|
-
- 'spec/lib/appsignal/hooks/mongo_ruby_driver_spec.rb'
|
|
188
|
-
- 'spec/lib/appsignal/hooks/redis_spec.rb'
|
|
189
|
-
|
|
190
|
-
# Offense count: 1
|
|
191
|
-
# Cop supports --auto-correct.
|
|
192
|
-
# Configuration parameters: EnforcedStyle, MinBodyLength, SupportedStyles.
|
|
193
|
-
# SupportedStyles: skip_modifier_ifs, always
|
|
194
|
-
Style/Next:
|
|
195
|
-
Exclude:
|
|
196
|
-
- 'ext/extconf.rb'
|
|
197
124
|
|
|
198
125
|
# Offense count: 1
|
|
199
126
|
# Cop supports --auto-correct.
|
|
@@ -202,88 +129,6 @@ Style/NonNilCheck:
|
|
|
202
129
|
Exclude:
|
|
203
130
|
- 'lib/appsignal/transaction.rb'
|
|
204
131
|
|
|
205
|
-
# Offense count: 20
|
|
206
|
-
# Cop supports --auto-correct.
|
|
207
|
-
# Configuration parameters: EnforcedOctalStyle, SupportedOctalStyles.
|
|
208
|
-
# SupportedOctalStyles: zero_with_o, zero_only
|
|
209
|
-
Style/NumericLiteralPrefix:
|
|
210
|
-
Exclude:
|
|
211
|
-
- 'ext/extconf.rb'
|
|
212
|
-
- 'spec/lib/appsignal/cli/diagnose_spec.rb'
|
|
213
|
-
- 'spec/lib/appsignal/config_spec.rb'
|
|
214
|
-
- 'spec/lib/appsignal/system/container_spec.rb'
|
|
215
|
-
- 'spec/lib/appsignal/transmitter_spec.rb'
|
|
216
|
-
- 'spec/lib/appsignal_spec.rb'
|
|
217
|
-
- 'spec/support/helpers/time_helpers.rb'
|
|
218
|
-
|
|
219
|
-
# Offense count: 1
|
|
220
|
-
# Cop supports --auto-correct.
|
|
221
|
-
# Configuration parameters: AutoCorrect, EnforcedStyle, SupportedStyles.
|
|
222
|
-
# SupportedStyles: predicate, comparison
|
|
223
|
-
Style/NumericPredicate:
|
|
224
|
-
Exclude:
|
|
225
|
-
- 'spec/**/*'
|
|
226
|
-
- 'lib/appsignal/cli/diagnose.rb'
|
|
227
|
-
|
|
228
|
-
# Offense count: 2
|
|
229
|
-
# Cop supports --auto-correct.
|
|
230
|
-
Style/PerlBackrefs:
|
|
231
|
-
Exclude:
|
|
232
|
-
- 'lib/appsignal/system.rb'
|
|
233
|
-
|
|
234
|
-
# Offense count: 2
|
|
235
|
-
# Configuration parameters: NamePrefix, NamePrefixBlacklist, NameWhitelist.
|
|
236
|
-
# NamePrefix: is_, has_, have_
|
|
237
|
-
# NamePrefixBlacklist: is_, has_, have_
|
|
238
|
-
# NameWhitelist: is_a?
|
|
239
|
-
Style/PredicateName:
|
|
240
|
-
Exclude:
|
|
241
|
-
- 'spec/**/*'
|
|
242
|
-
- 'lib/appsignal.rb'
|
|
243
|
-
|
|
244
|
-
# Offense count: 2
|
|
245
|
-
# Cop supports --auto-correct.
|
|
246
|
-
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
|
247
|
-
# SupportedStyles: compact, exploded
|
|
248
|
-
Style/RaiseArgs:
|
|
249
|
-
Exclude:
|
|
250
|
-
- 'lib/appsignal/utils.rb'
|
|
251
|
-
- 'spec/lib/appsignal/integrations/resque_spec.rb'
|
|
252
|
-
|
|
253
|
-
# Offense count: 7
|
|
254
|
-
# Cop supports --auto-correct.
|
|
255
|
-
Style/RescueModifier:
|
|
256
|
-
Exclude:
|
|
257
|
-
- 'spec/lib/appsignal/integrations/padrino_spec.rb'
|
|
258
|
-
- 'spec/lib/appsignal/rack/generic_instrumentation_spec.rb'
|
|
259
|
-
- 'spec/lib/appsignal/rack/rails_instrumentation_spec.rb'
|
|
260
|
-
- 'spec/lib/appsignal/rack/sinatra_instrumentation_spec.rb'
|
|
261
|
-
- 'spec/lib/appsignal/rack/streaming_listener_spec.rb'
|
|
262
|
-
|
|
263
|
-
# Offense count: 2
|
|
264
|
-
# Cop supports --auto-correct.
|
|
265
|
-
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
|
266
|
-
# SupportedStyles: use_perl_names, use_english_names
|
|
267
|
-
Style/SpecialGlobalVars:
|
|
268
|
-
Exclude:
|
|
269
|
-
- 'lib/appsignal.rb'
|
|
270
|
-
- 'lib/appsignal/config.rb'
|
|
271
|
-
|
|
272
|
-
# Offense count: 1
|
|
273
|
-
# Cop supports --auto-correct.
|
|
274
|
-
Style/UnlessElse:
|
|
275
|
-
Exclude:
|
|
276
|
-
- 'lib/appsignal.rb'
|
|
277
|
-
|
|
278
|
-
# Offense count: 16
|
|
279
|
-
# Cop supports --auto-correct.
|
|
280
|
-
# Configuration parameters: EnforcedStyle, SupportedStyles, MinSize, WordRegex.
|
|
281
|
-
# SupportedStyles: percent, brackets
|
|
282
132
|
Style/WordArray:
|
|
283
133
|
Exclude:
|
|
284
|
-
- 'lib/appsignal/cli/install.rb'
|
|
285
|
-
- 'spec/lib/appsignal/config_spec.rb'
|
|
286
134
|
- 'spec/lib/appsignal/hooks/shoryuken_spec.rb'
|
|
287
|
-
- 'spec/lib/appsignal/hooks/sidekiq_spec.rb'
|
|
288
|
-
- 'spec/lib/appsignal/transaction_spec.rb'
|
|
289
|
-
- 'spec/lib/appsignal/utils/query_params_sanitizer_spec.rb'
|
data/.travis.yml
CHANGED
|
@@ -13,6 +13,7 @@ rvm:
|
|
|
13
13
|
- "2.1.8"
|
|
14
14
|
- "2.2.4"
|
|
15
15
|
- "2.3.0"
|
|
16
|
+
- "2.4.0"
|
|
16
17
|
- "jruby-19mode"
|
|
17
18
|
|
|
18
19
|
gemfile:
|
|
@@ -46,10 +47,22 @@ matrix:
|
|
|
46
47
|
gemfile: "gemfiles/rails-5.0.gemfile"
|
|
47
48
|
allow_failures:
|
|
48
49
|
- rvm: "jruby-19mode"
|
|
50
|
+
- rvm: "2.4.0"
|
|
51
|
+
gemfile: "gemfiles/rails-4.0.gemfile"
|
|
52
|
+
- rvm: "2.4.0"
|
|
53
|
+
gemfile: "gemfiles/rails-4.1.gemfile"
|
|
54
|
+
- rvm: "2.4.0"
|
|
55
|
+
gemfile: "gemfiles/rails-4.2.gemfile"
|
|
56
|
+
- rvm: "2.4.0"
|
|
57
|
+
gemfile: "gemfiles/resque.gemfile"
|
|
49
58
|
|
|
50
59
|
env:
|
|
51
60
|
global: "RAILS_ENV=test"
|
|
52
61
|
|
|
53
|
-
|
|
62
|
+
before_install:
|
|
63
|
+
- "gem update --system"
|
|
64
|
+
- "gem update bundler"
|
|
65
|
+
before_script:
|
|
66
|
+
- "bundle exec rake extension:install"
|
|
54
67
|
|
|
55
68
|
script: "bundle exec rake test"
|
data/.yardopts
ADDED
data/CHANGELOG.md
CHANGED
|
@@ -1,11 +1,29 @@
|
|
|
1
|
+
# 2.2.0
|
|
2
|
+
* Support Ruby 2.4 better. PR #234
|
|
3
|
+
* Initial setup for documenting the Ruby gem's code. PR #243
|
|
4
|
+
* Move `running_in_container` auto detection to extension for easy reuse.
|
|
5
|
+
PR #249
|
|
6
|
+
* Allow overriding of action and namespace for a transaction. PR #254
|
|
7
|
+
* Prefix all agent configuration environment variables with an underscore to
|
|
8
|
+
separate the two usages. PR #258
|
|
9
|
+
* Force agent to run in diagnostic mode even when the user config is set to
|
|
10
|
+
`active: false`. PR #260
|
|
11
|
+
* Stub JS error catching endpoint when not active. PR #263
|
|
12
|
+
* Use better event names for Padrino integration. PR #265
|
|
13
|
+
* No longer gzip payloads send by the Ruby gem transmitter. PR #269
|
|
14
|
+
* Send diagnostics data report to AppSignal on request. PR #270
|
|
15
|
+
* When JS exception endpoint payload is empty return 400 code. PR #271
|
|
16
|
+
* Remove hardcoded DNS servers from agent and add config option. PR #278
|
|
17
|
+
|
|
1
18
|
# 2.1.2
|
|
2
19
|
* Fix error with Grape request methods defined with symbols. PR #259
|
|
3
20
|
|
|
4
21
|
# 2.1.1
|
|
5
|
-
* Fix DNS issue related to musl build.
|
|
6
|
-
Commit 732c877de8faceabe8a977bf80a82a6a89065c4d
|
|
22
|
+
* Fix DNS issue related to the musl build.
|
|
23
|
+
Commit 732c877de8faceabe8a977bf80a82a6a89065c4d and
|
|
24
|
+
84e521d20d4438f7b1dda82d5e9f1f533ae27c4b
|
|
7
25
|
* Update benchmark and add load test. PR #248
|
|
8
|
-
* Fix configuring instrument
|
|
26
|
+
* Fix configuring instrument Redis and Sequel from env. PR #257
|
|
9
27
|
|
|
10
28
|
# 2.1.0
|
|
11
29
|
* Add support for musl based libc (Alpine Linux). PR #229
|
data/README.md
CHANGED
|
@@ -160,11 +160,29 @@ systems][supported-systems] page.
|
|
|
160
160
|
Make sure you have Bundler installed and then use the Rake install task to
|
|
161
161
|
install all possible dependencies.
|
|
162
162
|
|
|
163
|
-
```
|
|
163
|
+
```bash
|
|
164
|
+
# Install Bundler
|
|
164
165
|
gem install bundler
|
|
165
|
-
|
|
166
|
+
# Install the AppSignal extension and _all_ gems we support.
|
|
167
|
+
bundle exec rake install
|
|
168
|
+
# Only install the AppSignal extension.
|
|
169
|
+
bundle exec rake extension:install
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Testing
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
bundle exec rspec
|
|
176
|
+
# Or with one file
|
|
177
|
+
bundle exec rspec spec/lib/appsignal_spec.rb
|
|
166
178
|
```
|
|
167
179
|
|
|
180
|
+
Note that some specs depend on certain other gems to run and if they are not
|
|
181
|
+
loaded RSpec will not run them. See also [Testing with other
|
|
182
|
+
gems](#testing-with-other-gems).
|
|
183
|
+
|
|
184
|
+
#### Testing with other gems
|
|
185
|
+
|
|
168
186
|
AppSignal runs in many different configurations. To replicate these
|
|
169
187
|
configurations you need to run the spec suite with a specific Gemfile.
|
|
170
188
|
|
data/Rakefile
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require
|
|
1
|
+
require "bundler"
|
|
2
2
|
|
|
3
3
|
GEMFILES = %w(
|
|
4
4
|
capistrano2
|
|
@@ -17,50 +17,49 @@ GEMFILES = %w(
|
|
|
17
17
|
sinatra
|
|
18
18
|
grape
|
|
19
19
|
webmachine
|
|
20
|
-
)
|
|
20
|
+
).freeze
|
|
21
21
|
|
|
22
22
|
RUBY_VERSIONS = %w(
|
|
23
23
|
2.0.0-p648
|
|
24
24
|
2.1.8
|
|
25
25
|
2.2.4
|
|
26
26
|
2.3.0
|
|
27
|
-
|
|
27
|
+
2.4.0
|
|
28
|
+
).freeze
|
|
28
29
|
|
|
29
30
|
EXCLUSIONS = {
|
|
30
|
-
|
|
31
|
-
}
|
|
31
|
+
"rails-5.0" => %w(2.0.0 2.1.8)
|
|
32
|
+
}.freeze
|
|
32
33
|
|
|
33
34
|
VERSION_MANAGERS = {
|
|
34
|
-
:rbenv =>
|
|
35
|
-
:rvm =>
|
|
36
|
-
}
|
|
35
|
+
:rbenv => ->(version) { "rbenv local #{version}" },
|
|
36
|
+
:rvm => ->(version) { "rvm use --default #{version.split("-").first}" }
|
|
37
|
+
}.freeze
|
|
37
38
|
|
|
38
39
|
task :publish do
|
|
39
|
-
require
|
|
40
|
+
require "appsignal/version"
|
|
40
41
|
|
|
41
|
-
NAME =
|
|
42
|
-
VERSION_FILE =
|
|
43
|
-
CHANGELOG_FILE =
|
|
42
|
+
NAME = "appsignal".freeze
|
|
43
|
+
VERSION_FILE = "lib/appsignal/version.rb".freeze
|
|
44
|
+
CHANGELOG_FILE = "CHANGELOG.md".freeze
|
|
44
45
|
|
|
45
|
-
raise
|
|
46
|
+
raise "$EDITOR should be set" unless ENV["EDITOR"]
|
|
46
47
|
|
|
47
48
|
def build_and_push_gem
|
|
48
|
-
puts
|
|
49
|
+
puts "# Building gem"
|
|
49
50
|
puts `gem build #{NAME}.gemspec`
|
|
50
|
-
puts
|
|
51
|
+
puts "# Publishing Gem"
|
|
51
52
|
puts `gem push #{NAME}-#{gem_version}.gem`
|
|
52
53
|
end
|
|
53
54
|
|
|
54
55
|
def create_and_push_tag
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
raise "Tag: '#{version}' already exists"
|
|
63
|
-
end
|
|
56
|
+
puts `git commit -am 'Bump to #{version} [ci skip]'`
|
|
57
|
+
puts "# Creating tag #{version}"
|
|
58
|
+
puts `git tag #{version}`
|
|
59
|
+
puts `git push origin #{version}`
|
|
60
|
+
puts `git push origin #{current_branch}`
|
|
61
|
+
rescue
|
|
62
|
+
raise "Tag: '#{version}' already exists"
|
|
64
63
|
end
|
|
65
64
|
|
|
66
65
|
def changes
|
|
@@ -72,7 +71,7 @@ task :publish do
|
|
|
72
71
|
end
|
|
73
72
|
|
|
74
73
|
def version
|
|
75
|
-
@version ||=
|
|
74
|
+
@version ||= "v#{gem_version}"
|
|
76
75
|
end
|
|
77
76
|
|
|
78
77
|
def current_branch
|
|
@@ -80,24 +79,24 @@ task :publish do
|
|
|
80
79
|
end
|
|
81
80
|
|
|
82
81
|
def git_status_to_array(changes)
|
|
83
|
-
changes.split("\n").each { |change| change.gsub!(/^.. /,
|
|
82
|
+
changes.split("\n").each { |change| change.gsub!(/^.. /, "") }
|
|
84
83
|
end
|
|
85
84
|
|
|
86
85
|
raise "Branch should hold no uncommitted file change)" unless changes.empty?
|
|
87
86
|
|
|
88
87
|
system("$EDITOR #{VERSION_FILE}")
|
|
89
|
-
|
|
90
|
-
Appsignal.send(:remove_const, :VERSION)
|
|
91
|
-
load File.expand_path(VERSION_FILE)
|
|
92
|
-
system("$EDITOR #{CHANGELOG_FILE}")
|
|
93
|
-
build_and_push_gem
|
|
94
|
-
create_and_push_tag
|
|
95
|
-
else
|
|
88
|
+
unless changes.member?(VERSION_FILE)
|
|
96
89
|
raise "Actually change the version in: #{VERSION_FILE}"
|
|
97
90
|
end
|
|
91
|
+
|
|
92
|
+
Appsignal.send(:remove_const, :VERSION)
|
|
93
|
+
load File.expand_path(VERSION_FILE)
|
|
94
|
+
system("$EDITOR #{CHANGELOG_FILE}")
|
|
95
|
+
build_and_push_gem
|
|
96
|
+
create_and_push_tag
|
|
98
97
|
end
|
|
99
98
|
|
|
100
|
-
desc
|
|
99
|
+
desc "Install the AppSignal gem, extension and all possible dependencies."
|
|
101
100
|
task :install => "extension:install" do
|
|
102
101
|
Bundler.with_clean_env do
|
|
103
102
|
GEMFILES.each do |gemfile|
|
|
@@ -110,7 +109,7 @@ task :spec_all_gemfiles do
|
|
|
110
109
|
GEMFILES.each do |gemfile|
|
|
111
110
|
puts "Running tests for #{gemfile}"
|
|
112
111
|
unless system("env BUNDLE_GEMFILE=gemfiles/#{gemfile}.gemfile bundle exec rspec")
|
|
113
|
-
raise
|
|
112
|
+
raise "Not successful"
|
|
114
113
|
end
|
|
115
114
|
end
|
|
116
115
|
end
|
|
@@ -118,60 +117,59 @@ end
|
|
|
118
117
|
task :generate_bundle_and_spec_all do
|
|
119
118
|
VERSION_MANAGERS.each do |version_manager, switch_command|
|
|
120
119
|
out = []
|
|
121
|
-
if version_manager == :rvm
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
out <<
|
|
120
|
+
out << if version_manager == :rvm
|
|
121
|
+
"#!/bin/bash --login"
|
|
122
|
+
else
|
|
123
|
+
"#!/bin/sh"
|
|
124
|
+
end
|
|
125
|
+
out << "rm -f .ruby-version"
|
|
127
126
|
out << "echo 'Using #{version_manager}'"
|
|
128
127
|
RUBY_VERSIONS.each do |version|
|
|
129
|
-
short_version = version.split(
|
|
128
|
+
short_version = version.split("-").first
|
|
130
129
|
out << "echo 'Switching to #{short_version}'"
|
|
131
130
|
out << "#{switch_command.call(version)} || { echo 'Switching Ruby failed'; exit 1; }"
|
|
132
131
|
out << "ruby -v"
|
|
133
132
|
out << "echo 'Compiling extension'"
|
|
134
|
-
out <<
|
|
133
|
+
out << "cd ext && rm -f appsignal-agent appsignal_extension.bundle appsignal.h libappsignal.a Makefile && ruby extconf.rb && make && cd .."
|
|
135
134
|
GEMFILES.each do |gemfile|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
end
|
|
135
|
+
next if EXCLUSIONS[gemfile] && EXCLUSIONS[gemfile].include?(short_version)
|
|
136
|
+
out << "echo 'Bundling #{gemfile} in #{short_version}'"
|
|
137
|
+
out << "bundle --quiet --gemfile gemfiles/#{gemfile}.gemfile || { echo 'Bundling failed'; exit 1; }"
|
|
138
|
+
out << "echo 'Running #{gemfile} in #{short_version}'"
|
|
139
|
+
out << "env BUNDLE_GEMFILE=gemfiles/#{gemfile}.gemfile bundle exec rspec || { echo 'Running specs failed'; exit 1; }"
|
|
142
140
|
end
|
|
143
141
|
end
|
|
144
|
-
out <<
|
|
142
|
+
out << "rm -f .ruby-version"
|
|
145
143
|
out << "echo 'Successfully ran specs for all environments'"
|
|
146
144
|
|
|
147
145
|
script = "bundle_and_spec_all_#{version_manager}"
|
|
148
146
|
FileUtils.rm_f(script)
|
|
149
|
-
File.open(script,
|
|
147
|
+
File.open(script, "w") do |file|
|
|
150
148
|
file.write out.join("\n")
|
|
151
149
|
end
|
|
152
|
-
File.chmod(
|
|
150
|
+
File.chmod(0o775, script)
|
|
153
151
|
puts "Generated #{script}"
|
|
154
152
|
end
|
|
155
153
|
end
|
|
156
154
|
|
|
157
155
|
task :console do
|
|
158
|
-
require
|
|
159
|
-
require
|
|
160
|
-
require
|
|
156
|
+
require "irb"
|
|
157
|
+
require "irb/completion"
|
|
158
|
+
require "appsignal"
|
|
161
159
|
|
|
162
|
-
Appsignal.config = Appsignal::Config.new(
|
|
160
|
+
Appsignal.config = Appsignal::Config.new(".", :console)
|
|
163
161
|
|
|
164
162
|
ARGV.clear
|
|
165
163
|
IRB.start
|
|
166
164
|
end
|
|
167
165
|
|
|
168
166
|
namespace :extension do
|
|
169
|
-
desc
|
|
167
|
+
desc "Install the AppSignal gem extension"
|
|
170
168
|
task :install => :clean do
|
|
171
|
-
system
|
|
169
|
+
system "cd ext && ruby extconf.rb && make clean && make"
|
|
172
170
|
end
|
|
173
171
|
|
|
174
|
-
desc
|
|
172
|
+
desc "Clean the AppSignal gem extension directory of installation artifacts"
|
|
175
173
|
task :clean do
|
|
176
174
|
system <<-COMMAND
|
|
177
175
|
cd ext &&
|
|
@@ -188,10 +186,10 @@ namespace :extension do
|
|
|
188
186
|
end
|
|
189
187
|
|
|
190
188
|
begin
|
|
191
|
-
require
|
|
192
|
-
desc
|
|
189
|
+
require "rspec/core/rake_task"
|
|
190
|
+
desc "Run the AppSignal gem test suite."
|
|
193
191
|
RSpec::Core::RakeTask.new :test
|
|
194
|
-
rescue LoadError
|
|
192
|
+
rescue LoadError # rubocop:disable Lint/HandleExceptions
|
|
195
193
|
# When running rake install, there is no RSpec yet.
|
|
196
194
|
end
|
|
197
195
|
|