appsignal 2.11.0.beta.1 → 2.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.semaphore/semaphore.yml +57 -1
- data/CHANGELOG.md +25 -0
- data/README.md +4 -4
- data/Rakefile +16 -4
- data/appsignal.gemspec +1 -1
- data/build_matrix.yml +2 -2
- data/ext/Rakefile +2 -0
- data/ext/agent.yml +19 -19
- data/ext/base.rb +7 -0
- data/ext/extconf.rb +2 -0
- data/lib/appsignal.rb +1 -0
- data/lib/appsignal/auth_check.rb +4 -2
- data/lib/appsignal/cli/diagnose.rb +1 -1
- data/lib/appsignal/config.rb +82 -17
- data/lib/appsignal/extension.rb +6 -5
- data/lib/appsignal/extension/jruby.rb +6 -5
- data/lib/appsignal/hooks.rb +23 -0
- data/lib/appsignal/hooks/active_job.rb +53 -5
- data/lib/appsignal/hooks/puma.rb +0 -1
- data/lib/appsignal/hooks/sidekiq.rb +1 -2
- data/lib/appsignal/integrations/delayed_job_plugin.rb +1 -1
- data/lib/appsignal/probes.rb +7 -0
- data/lib/appsignal/probes/puma.rb +1 -1
- data/lib/appsignal/probes/sidekiq.rb +3 -1
- data/lib/appsignal/utils/deprecation_message.rb +1 -1
- data/lib/appsignal/version.rb +1 -1
- data/spec/lib/appsignal/auth_check_spec.rb +23 -0
- data/spec/lib/appsignal/capistrano2_spec.rb +1 -1
- data/spec/lib/appsignal/capistrano3_spec.rb +1 -1
- data/spec/lib/appsignal/cli/diagnose_spec.rb +42 -0
- data/spec/lib/appsignal/config_spec.rb +39 -1
- data/spec/lib/appsignal/extension/jruby_spec.rb +31 -28
- data/spec/lib/appsignal/extension_install_failure_spec.rb +23 -0
- data/spec/lib/appsignal/hooks/activejob_spec.rb +143 -10
- data/spec/lib/appsignal/hooks/delayed_job_spec.rb +3 -14
- data/spec/lib/appsignal/hooks/sidekiq_spec.rb +7 -5
- data/spec/lib/appsignal/hooks_spec.rb +57 -0
- data/spec/lib/appsignal/marker_spec.rb +1 -1
- data/spec/spec_helper.rb +5 -0
- data/spec/support/helpers/config_helpers.rb +3 -2
- data/spec/support/helpers/transaction_helpers.rb +1 -1
- data/spec/support/testing.rb +19 -19
- metadata +8 -5
data/README.md
CHANGED
@@ -9,7 +9,7 @@ issues.
|
|
9
9
|
- [Ruby code documentation][ruby-doc]
|
10
10
|
- [Support][contact]
|
11
11
|
|
12
|
-
[](https://appsignal.semaphoreci.com/projects/appsignal-ruby)
|
13
13
|
[](http://badge.fury.io/rb/appsignal)
|
14
14
|
[](https://codeclimate.com/github/appsignal/appsignal)
|
15
15
|
|
@@ -183,7 +183,7 @@ installing the AppSignal C-extension.
|
|
183
183
|
# Gemfile
|
184
184
|
gem "appsignal",
|
185
185
|
:git => "https://github.com/appsignal/appsignal-ruby.git",
|
186
|
-
:branch => "
|
186
|
+
:branch => "main"
|
187
187
|
```
|
188
188
|
|
189
189
|
When you need to use a git source of the gem in your JRuby install, you'll need
|
@@ -242,12 +242,12 @@ a number of different Ruby versions.
|
|
242
242
|
|
243
243
|
This gem uses [Semantic Versioning][semver].
|
244
244
|
|
245
|
-
The `
|
245
|
+
The `main` branch corresponds to the current stable release of the gem.
|
246
246
|
|
247
247
|
The `develop` branch is used for development of features that will end up in
|
248
248
|
the next minor release.
|
249
249
|
|
250
|
-
Open a Pull Request on the `
|
250
|
+
Open a Pull Request on the `main` branch if you're fixing a bug. For new new
|
251
251
|
features, open a Pull Request on the `develop` branch.
|
252
252
|
|
253
253
|
Every stable and unstable release is tagged in git with a version tag.
|
data/Rakefile
CHANGED
@@ -70,7 +70,10 @@ namespace :build_matrix do
|
|
70
70
|
job = {
|
71
71
|
"name" => "Ruby #{ruby_version} for #{gem["gem"]}",
|
72
72
|
"env_vars" => env,
|
73
|
-
"commands" => [
|
73
|
+
"commands" => [
|
74
|
+
"./support/bundler_wrapper exec rake test",
|
75
|
+
"./support/bundler_wrapper exec rake test:failure"
|
76
|
+
]
|
74
77
|
}
|
75
78
|
if gem["gem"] == "no_dependencies"
|
76
79
|
ruby_primary_block["task"]["jobs"] << job
|
@@ -364,11 +367,20 @@ end
|
|
364
367
|
|
365
368
|
begin
|
366
369
|
require "rspec/core/rake_task"
|
370
|
+
is_jruby = defined?(RUBY_ENGINE) && RUBY_ENGINE == "jruby"
|
371
|
+
unless is_jruby
|
372
|
+
jruby_opts = "--exclude-pattern=spec/lib/appsignal/extension/jruby_spec.rb"
|
373
|
+
end
|
374
|
+
|
367
375
|
desc "Run the AppSignal gem test suite."
|
368
376
|
RSpec::Core::RakeTask.new :test do |t|
|
369
|
-
|
370
|
-
|
371
|
-
|
377
|
+
t.rspec_opts = jruby_opts
|
378
|
+
end
|
379
|
+
|
380
|
+
namespace :test do
|
381
|
+
desc "Run the Appsignal gem test in an extension failure scenario"
|
382
|
+
RSpec::Core::RakeTask.new :failure do |t|
|
383
|
+
t.rspec_opts = "#{jruby_opts} --tag extension_installation_failure"
|
372
384
|
end
|
373
385
|
end
|
374
386
|
rescue LoadError # rubocop:disable Lint/HandleExceptions
|
data/appsignal.gemspec
CHANGED
@@ -29,7 +29,7 @@ Gem::Specification.new do |gem| # rubocop:disable Metrics/BlockLength
|
|
29
29
|
gem.metadata = {
|
30
30
|
"bug_tracker_uri" => "https://github.com/appsignal/appsignal-ruby/issues",
|
31
31
|
"changelog_uri" =>
|
32
|
-
"https://github.com/appsignal/appsignal-ruby/blob/
|
32
|
+
"https://github.com/appsignal/appsignal-ruby/blob/main/CHANGELOG.md",
|
33
33
|
"documentation_uri" => "https://docs.appsignal.com/ruby/",
|
34
34
|
"homepage_uri" => "https://docs.appsignal.com/ruby/",
|
35
35
|
"source_code_uri" => "https://github.com/appsignal/appsignal-ruby"
|
data/build_matrix.yml
CHANGED
@@ -10,8 +10,8 @@ semaphore: # Default `.semaphore/semaphore.yml` contents
|
|
10
10
|
# Cancel all running and queued workflows before this one
|
11
11
|
auto_cancel:
|
12
12
|
running:
|
13
|
-
# Ignore
|
14
|
-
when: "branch != '
|
13
|
+
# Ignore main AND develop branch as we want it to build all workflows
|
14
|
+
when: "branch != 'main' AND branch != 'develop'"
|
15
15
|
|
16
16
|
global_job_config:
|
17
17
|
env_vars:
|
data/ext/Rakefile
CHANGED
data/ext/agent.yml
CHANGED
@@ -1,70 +1,70 @@
|
|
1
1
|
---
|
2
|
-
version:
|
2
|
+
version: c8f8185
|
3
3
|
mirrors:
|
4
4
|
- https://appsignal-agent-releases.global.ssl.fastly.net
|
5
5
|
- https://d135dj0rjqvssy.cloudfront.net
|
6
6
|
triples:
|
7
7
|
x86_64-darwin:
|
8
8
|
static:
|
9
|
-
checksum:
|
9
|
+
checksum: 8fad088047d8c73e5c0cf9213c20873ad591881d4f7059b178d8eeb89255f73e
|
10
10
|
filename: appsignal-x86_64-darwin-all-static.tar.gz
|
11
11
|
dynamic:
|
12
|
-
checksum:
|
12
|
+
checksum: 9a26f0dc170d38b068f66aaa016772f9e32e5fea99dc57bb9dfbc5f0a41dec89
|
13
13
|
filename: appsignal-x86_64-darwin-all-dynamic.tar.gz
|
14
14
|
universal-darwin:
|
15
15
|
static:
|
16
|
-
checksum:
|
16
|
+
checksum: 8fad088047d8c73e5c0cf9213c20873ad591881d4f7059b178d8eeb89255f73e
|
17
17
|
filename: appsignal-x86_64-darwin-all-static.tar.gz
|
18
18
|
dynamic:
|
19
|
-
checksum:
|
19
|
+
checksum: 9a26f0dc170d38b068f66aaa016772f9e32e5fea99dc57bb9dfbc5f0a41dec89
|
20
20
|
filename: appsignal-x86_64-darwin-all-dynamic.tar.gz
|
21
21
|
i686-linux:
|
22
22
|
static:
|
23
|
-
checksum:
|
23
|
+
checksum: 0e8c4436684824a325fa1b581f6fad88598c529307b2b5ad0cc2620d22d2782f
|
24
24
|
filename: appsignal-i686-linux-all-static.tar.gz
|
25
25
|
dynamic:
|
26
|
-
checksum:
|
26
|
+
checksum: d0fc35643b36b368a985961ea1c68c3204927f9fed412fde64d81b04081651ff
|
27
27
|
filename: appsignal-i686-linux-all-dynamic.tar.gz
|
28
28
|
x86-linux:
|
29
29
|
static:
|
30
|
-
checksum:
|
30
|
+
checksum: 0e8c4436684824a325fa1b581f6fad88598c529307b2b5ad0cc2620d22d2782f
|
31
31
|
filename: appsignal-i686-linux-all-static.tar.gz
|
32
32
|
dynamic:
|
33
|
-
checksum:
|
33
|
+
checksum: d0fc35643b36b368a985961ea1c68c3204927f9fed412fde64d81b04081651ff
|
34
34
|
filename: appsignal-i686-linux-all-dynamic.tar.gz
|
35
35
|
i686-linux-musl:
|
36
36
|
static:
|
37
|
-
checksum:
|
37
|
+
checksum: 28b69e895da6b2a30402eed29cf8c3bbc4f647d6ce9cc5e0b11b4a771d7a1021
|
38
38
|
filename: appsignal-i686-linux-musl-all-static.tar.gz
|
39
39
|
x86-linux-musl:
|
40
40
|
static:
|
41
|
-
checksum:
|
41
|
+
checksum: 28b69e895da6b2a30402eed29cf8c3bbc4f647d6ce9cc5e0b11b4a771d7a1021
|
42
42
|
filename: appsignal-i686-linux-musl-all-static.tar.gz
|
43
43
|
x86_64-linux:
|
44
44
|
static:
|
45
|
-
checksum:
|
45
|
+
checksum: fb457dc39e005bb8f241e1e260bb9ea0460cf922db5e30f514dda8afa0bd57bc
|
46
46
|
filename: appsignal-x86_64-linux-all-static.tar.gz
|
47
47
|
dynamic:
|
48
|
-
checksum:
|
48
|
+
checksum: 55b26406ab0309905d5ad3aa34d1910fcc473f2a475ed5b3073d160a7ea68852
|
49
49
|
filename: appsignal-x86_64-linux-all-dynamic.tar.gz
|
50
50
|
x86_64-linux-musl:
|
51
51
|
static:
|
52
|
-
checksum:
|
52
|
+
checksum: cf469d6e3ee1dc6ccb9762a996355ecc407b9a906b9c0a0b6742363347ec9494
|
53
53
|
filename: appsignal-x86_64-linux-musl-all-static.tar.gz
|
54
54
|
dynamic:
|
55
|
-
checksum:
|
55
|
+
checksum: '0938eab03f2b00583a9b730743c68d3d350090a0ff96866b960a9c78a486a992'
|
56
56
|
filename: appsignal-x86_64-linux-musl-all-dynamic.tar.gz
|
57
57
|
x86_64-freebsd:
|
58
58
|
static:
|
59
|
-
checksum:
|
59
|
+
checksum: 5c50e4776dbd0defe7d99015650e85d7983222ea27bd7b586b4c92f7b8336eee
|
60
60
|
filename: appsignal-x86_64-freebsd-all-static.tar.gz
|
61
61
|
dynamic:
|
62
|
-
checksum:
|
62
|
+
checksum: 02cd3b26317100290a2cfac014db026a2607723127955da1e4ddd5b76591003a
|
63
63
|
filename: appsignal-x86_64-freebsd-all-dynamic.tar.gz
|
64
64
|
amd64-freebsd:
|
65
65
|
static:
|
66
|
-
checksum:
|
66
|
+
checksum: 5c50e4776dbd0defe7d99015650e85d7983222ea27bd7b586b4c92f7b8336eee
|
67
67
|
filename: appsignal-x86_64-freebsd-all-static.tar.gz
|
68
68
|
dynamic:
|
69
|
-
checksum:
|
69
|
+
checksum: 02cd3b26317100290a2cfac014db026a2607723127955da1e4ddd5b76591003a
|
70
70
|
filename: appsignal-x86_64-freebsd-all-dynamic.tar.gz
|
data/ext/base.rb
CHANGED
@@ -183,3 +183,10 @@ end
|
|
183
183
|
def http_proxy
|
184
184
|
Gem.configuration[:http_proxy] || ENV["http_proxy"] || ENV["HTTP_PROXY"]
|
185
185
|
end
|
186
|
+
|
187
|
+
# Fail the installation on purpose in a specific test environment.
|
188
|
+
def fail_install_on_purpose_in_test!
|
189
|
+
return unless ENV["_TEST_APPSIGNAL_EXTENSION_FAILURE"]
|
190
|
+
|
191
|
+
raise "AppSignal internal test failure"
|
192
|
+
end
|
data/ext/extconf.rb
CHANGED
data/lib/appsignal.rb
CHANGED
@@ -339,6 +339,7 @@ require "appsignal/auth_check"
|
|
339
339
|
require "appsignal/config"
|
340
340
|
require "appsignal/event_formatter"
|
341
341
|
require "appsignal/hooks"
|
342
|
+
require "appsignal/probes"
|
342
343
|
require "appsignal/marker"
|
343
344
|
require "appsignal/minutely"
|
344
345
|
require "appsignal/garbage_collection_profiler"
|
data/lib/appsignal/auth_check.rb
CHANGED
@@ -25,8 +25,10 @@ module Appsignal
|
|
25
25
|
def initialize(config, logger = nil)
|
26
26
|
@config = config
|
27
27
|
if logger # rubocop:disable Style/GuardClause
|
28
|
-
|
29
|
-
"
|
28
|
+
Appsignal::Utils::DeprecationMessage.message \
|
29
|
+
"`Appsignal::AuthCheck.new`'s `logger` argument will be removed " \
|
30
|
+
"in the next major version. Please configure the logger " \
|
31
|
+
"using `Appsignal.logger`."
|
30
32
|
end
|
31
33
|
end
|
32
34
|
|
@@ -371,7 +371,7 @@ module Appsignal
|
|
371
371
|
end
|
372
372
|
|
373
373
|
def print_installation_result_report(report)
|
374
|
-
report = report.fetch("
|
374
|
+
report = report.fetch("result", {})
|
375
375
|
puts " Installation result"
|
376
376
|
puts " Status: #{report["status"]}"
|
377
377
|
puts " Message: #{report["message"]}" if report["message"]
|
data/lib/appsignal/config.rb
CHANGED
@@ -81,6 +81,50 @@ module Appsignal
|
|
81
81
|
"APPSIGNAL_TRANSACTION_DEBUG_MODE" => :transaction_debug_mode,
|
82
82
|
"APP_REVISION" => :revision
|
83
83
|
}.freeze
|
84
|
+
# @api private
|
85
|
+
ENV_STRING_KEYS = %w[
|
86
|
+
APPSIGNAL_APP_NAME
|
87
|
+
APPSIGNAL_CA_FILE_PATH
|
88
|
+
APPSIGNAL_DNS_SERVERS
|
89
|
+
APPSIGNAL_FRONTEND_ERROR_CATCHING_PATH
|
90
|
+
APPSIGNAL_HOSTNAME
|
91
|
+
APPSIGNAL_HTTP_PROXY
|
92
|
+
APPSIGNAL_LOG
|
93
|
+
APPSIGNAL_LOG_PATH
|
94
|
+
APPSIGNAL_PUSH_API_ENDPOINT
|
95
|
+
APPSIGNAL_PUSH_API_KEY
|
96
|
+
APPSIGNAL_WORKING_DIRECTORY_PATH
|
97
|
+
APPSIGNAL_WORKING_DIR_PATH
|
98
|
+
APP_REVISION
|
99
|
+
].freeze
|
100
|
+
# @api private
|
101
|
+
ENV_BOOLEAN_KEYS = %w[
|
102
|
+
APPSIGNAL_ACTIVE
|
103
|
+
APPSIGNAL_DEBUG
|
104
|
+
APPSIGNAL_ENABLE_ALLOCATION_TRACKING
|
105
|
+
APPSIGNAL_ENABLE_FRONTEND_ERROR_CATCHING
|
106
|
+
APPSIGNAL_ENABLE_GC_INSTRUMENTATION
|
107
|
+
APPSIGNAL_ENABLE_HOST_METRICS
|
108
|
+
APPSIGNAL_ENABLE_MINUTELY_PROBES
|
109
|
+
APPSIGNAL_FILES_WORLD_ACCESSIBLE
|
110
|
+
APPSIGNAL_INSTRUMENT_NET_HTTP
|
111
|
+
APPSIGNAL_INSTRUMENT_REDIS
|
112
|
+
APPSIGNAL_INSTRUMENT_SEQUEL
|
113
|
+
APPSIGNAL_RUNNING_IN_CONTAINER
|
114
|
+
APPSIGNAL_SEND_ENVIRONMENT_METADATA
|
115
|
+
APPSIGNAL_SEND_PARAMS
|
116
|
+
APPSIGNAL_SKIP_SESSION_DATA
|
117
|
+
APPSIGNAL_TRANSACTION_DEBUG_MODE
|
118
|
+
].freeze
|
119
|
+
# @api private
|
120
|
+
ENV_ARRAY_KEYS = %w[
|
121
|
+
APPSIGNAL_FILTER_PARAMETERS
|
122
|
+
APPSIGNAL_FILTER_SESSION_DATA
|
123
|
+
APPSIGNAL_IGNORE_ACTIONS
|
124
|
+
APPSIGNAL_IGNORE_ERRORS
|
125
|
+
APPSIGNAL_IGNORE_NAMESPACES
|
126
|
+
APPSIGNAL_REQUEST_HEADERS
|
127
|
+
].freeze
|
84
128
|
|
85
129
|
# Mapping of old and deprecated AppSignal configuration keys
|
86
130
|
DEPRECATED_CONFIG_KEY_MAPPING = {
|
@@ -121,8 +165,41 @@ module Appsignal
|
|
121
165
|
:initial_config, :file_config, :env_config
|
122
166
|
attr_accessor :logger
|
123
167
|
|
124
|
-
|
168
|
+
# Initialize a new configuration object for AppSignal.
|
169
|
+
#
|
170
|
+
# If this is manually initialized, and not by {Appsignal.start}, it needs
|
171
|
+
# to be assigned to the {Appsignal.config} attribute.
|
172
|
+
#
|
173
|
+
# @example
|
174
|
+
# require "appsignal"
|
175
|
+
# Appsignal.config = Appsignal::Config.new(
|
176
|
+
# app_path,
|
177
|
+
# "production"
|
178
|
+
# )
|
179
|
+
# Appsignal.start
|
180
|
+
#
|
181
|
+
# @param root_path [String] Root path of the app.
|
182
|
+
# @param env [String] The environment to load when AppSignal is started. It
|
183
|
+
# will look for an environment with this name in the `config/appsignal.yml`
|
184
|
+
# config file.
|
185
|
+
# @param initial_config [Hash<String, Object>] The initial configuration to
|
186
|
+
# use. This will be overwritten by the file config and environment
|
187
|
+
# variables config.
|
188
|
+
# @param logger [Logger] The logger to use for the AppSignal gem. This is
|
189
|
+
# used by the configuration class only. Default: {Appsignal.logger}. See
|
190
|
+
# also {Appsignal.start_logger}.
|
191
|
+
# @param config_file [String] Custom config file location. Default
|
192
|
+
# `config/appsignal.yml`.
|
193
|
+
#
|
194
|
+
# @see https://docs.appsignal.com/ruby/configuration/
|
195
|
+
# Configuration documentation
|
196
|
+
# @see https://docs.appsignal.com/ruby/configuration/load-order.html
|
197
|
+
# Configuration load order
|
198
|
+
# @see https://docs.appsignal.com/ruby/instrumentation/integrating-appsignal.html
|
199
|
+
# How to integrate AppSignal manually
|
200
|
+
def initialize(root_path, env, initial_config = {}, logger = Appsignal.logger, config_file = nil)
|
125
201
|
@root_path = root_path
|
202
|
+
@config_file = config_file
|
126
203
|
@logger = logger
|
127
204
|
@valid = false
|
128
205
|
@config_hash = Hash[DEFAULT_CONFIG]
|
@@ -288,7 +365,7 @@ module Appsignal
|
|
288
365
|
" Skipping file config.\n" \
|
289
366
|
"File: #{config_file.inspect}\n" \
|
290
367
|
"#{e.class.name}: #{e}"
|
291
|
-
|
368
|
+
Kernel.warn "appsignal: #{message}"
|
292
369
|
logger.error "#{message}\n#{e.backtrace.join("\n")}"
|
293
370
|
nil
|
294
371
|
end
|
@@ -325,33 +402,21 @@ module Appsignal
|
|
325
402
|
config = {}
|
326
403
|
|
327
404
|
# Configuration with string type
|
328
|
-
|
329
|
-
APPSIGNAL_FRONTEND_ERROR_CATCHING_PATH APPSIGNAL_HTTP_PROXY
|
330
|
-
APPSIGNAL_LOG APPSIGNAL_LOG_PATH APPSIGNAL_WORKING_DIR_PATH
|
331
|
-
APPSIGNAL_HOSTNAME APPSIGNAL_CA_FILE_PATH APP_REVISION].each do |var|
|
405
|
+
ENV_STRING_KEYS.each do |var|
|
332
406
|
env_var = ENV[var]
|
333
407
|
next unless env_var
|
334
408
|
config[ENV_TO_KEY_MAPPING[var]] = env_var
|
335
409
|
end
|
336
410
|
|
337
411
|
# Configuration with boolean type
|
338
|
-
|
339
|
-
APPSIGNAL_INSTRUMENT_REDIS APPSIGNAL_INSTRUMENT_SEQUEL
|
340
|
-
APPSIGNAL_SKIP_SESSION_DATA APPSIGNAL_ENABLE_FRONTEND_ERROR_CATCHING
|
341
|
-
APPSIGNAL_ENABLE_ALLOCATION_TRACKING APPSIGNAL_ENABLE_GC_INSTRUMENTATION
|
342
|
-
APPSIGNAL_RUNNING_IN_CONTAINER APPSIGNAL_ENABLE_HOST_METRICS
|
343
|
-
APPSIGNAL_SEND_ENVIRONMENT_METADATA APPSIGNAL_SEND_PARAMS
|
344
|
-
APPSIGNAL_ENABLE_MINUTELY_PROBES APPSIGNAL_FILES_WORLD_ACCESSIBLE
|
345
|
-
APPSIGNAL_TRANSACTION_DEBUG_MODE].each do |var|
|
412
|
+
ENV_BOOLEAN_KEYS.each do |var|
|
346
413
|
env_var = ENV[var]
|
347
414
|
next unless env_var
|
348
415
|
config[ENV_TO_KEY_MAPPING[var]] = env_var.casecmp("true").zero?
|
349
416
|
end
|
350
417
|
|
351
418
|
# Configuration with array of strings type
|
352
|
-
|
353
|
-
APPSIGNAL_IGNORE_NAMESPACES APPSIGNAL_FILTER_PARAMETERS
|
354
|
-
APPSIGNAL_FILTER_SESSION_DATA APPSIGNAL_REQUEST_HEADERS].each do |var|
|
419
|
+
ENV_ARRAY_KEYS.each do |var|
|
355
420
|
env_var = ENV[var]
|
356
421
|
next unless env_var
|
357
422
|
config[ENV_TO_KEY_MAPPING[var]] = env_var.split(",")
|
data/lib/appsignal/extension.rb
CHANGED
@@ -10,11 +10,12 @@ begin
|
|
10
10
|
require "appsignal_extension"
|
11
11
|
Appsignal.extension_loaded = true
|
12
12
|
end
|
13
|
-
rescue LoadError =>
|
14
|
-
|
15
|
-
"
|
16
|
-
|
17
|
-
)
|
13
|
+
rescue LoadError => error
|
14
|
+
error_message = "ERROR: AppSignal failed to load extension. " \
|
15
|
+
"Please run `appsignal diagnose` and email us at support@appsignal.com\n" \
|
16
|
+
"#{error.class}: #{error.message}"
|
17
|
+
Appsignal.logger.error(error_message)
|
18
|
+
Kernel.warn error_message
|
18
19
|
Appsignal.extension_loaded = false
|
19
20
|
end
|
20
21
|
|
@@ -179,11 +179,12 @@ module Appsignal
|
|
179
179
|
:appsignal_string
|
180
180
|
|
181
181
|
Appsignal.extension_loaded = true
|
182
|
-
rescue LoadError =>
|
183
|
-
|
184
|
-
"
|
185
|
-
"
|
186
|
-
)
|
182
|
+
rescue LoadError => error
|
183
|
+
error_message = "ERROR: AppSignal failed to load extension. " \
|
184
|
+
"Please run `appsignal diagnose` and email us at support@appsignal.com\n" \
|
185
|
+
"#{error.class}: #{error.message}"
|
186
|
+
Appsignal.logger.error(error_message)
|
187
|
+
Kernel.warn error_message
|
187
188
|
Appsignal.extension_loaded = false
|
188
189
|
end
|
189
190
|
|
data/lib/appsignal/hooks.rb
CHANGED
@@ -69,6 +69,29 @@ module Appsignal
|
|
69
69
|
text.size > 200 ? "#{text[0...197]}..." : text
|
70
70
|
end
|
71
71
|
end
|
72
|
+
|
73
|
+
# Alias Probes constants that have moved to their own module in version
|
74
|
+
# 2.11.0.
|
75
|
+
def self.const_missing(name)
|
76
|
+
case name
|
77
|
+
when :SidekiqProbe
|
78
|
+
callers = caller
|
79
|
+
Appsignal::Utils::DeprecationMessage.message \
|
80
|
+
"The constant Appsignal::Hooks::SidekiqProbe has been deprecated. " \
|
81
|
+
"Please update the constant name to Appsignal::Probes::SidekiqProbe " \
|
82
|
+
"in the following file to remove this message.\n#{callers.first}"
|
83
|
+
Appsignal::Probes::SidekiqProbe
|
84
|
+
when :PumaProbe
|
85
|
+
callers = caller
|
86
|
+
Appsignal::Utils::DeprecationMessage.message \
|
87
|
+
"The constant Appsignal::Hooks::PumaProbe has been deprecated. " \
|
88
|
+
"Please update the constant name to Appsignal::Probes::PumaProbe " \
|
89
|
+
"in the following file to remove this message.\n#{callers.first}"
|
90
|
+
Appsignal::Probes::PumaProbe
|
91
|
+
else
|
92
|
+
super
|
93
|
+
end
|
94
|
+
end
|
72
95
|
end
|
73
96
|
end
|
74
97
|
|