appsignal 2.9.17 → 2.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop_todo.yml +0 -6
- data/CHANGELOG.md +24 -0
- data/Rakefile +16 -2
- data/ext/agent.yml +19 -19
- data/lib/appsignal/cli.rb +9 -2
- data/lib/appsignal/cli/diagnose.rb +20 -19
- data/lib/appsignal/cli/helpers.rb +22 -10
- data/lib/appsignal/cli/install.rb +2 -1
- data/lib/appsignal/config.rb +23 -9
- data/lib/appsignal/event_formatter.rb +4 -4
- data/lib/appsignal/minutely.rb +4 -4
- data/lib/appsignal/rack/js_exception_catcher.rb +6 -0
- data/lib/appsignal/transaction.rb +1 -1
- data/lib/appsignal/version.rb +1 -1
- data/spec/lib/appsignal/cli/diagnose_spec.rb +54 -11
- data/spec/lib/appsignal/cli/helpers_spec.rb +11 -3
- data/spec/lib/appsignal/cli/install_spec.rb +30 -1
- data/spec/lib/appsignal/config_spec.rb +78 -7
- data/spec/lib/appsignal/hooks/action_cable_spec.rb +1 -5
- data/spec/lib/appsignal/hooks/rake_spec.rb +41 -39
- data/spec/lib/appsignal/hooks/sidekiq_spec.rb +2 -15
- data/spec/lib/appsignal/integrations/object_spec.rb +2 -2
- data/spec/lib/appsignal/integrations/que_spec.rb +26 -39
- data/spec/lib/appsignal/integrations/resque_active_job_spec.rb +108 -46
- data/spec/lib/appsignal/integrations/resque_spec.rb +40 -39
- data/spec/lib/appsignal/minutely_spec.rb +3 -3
- data/spec/lib/appsignal/rack/js_exception_catcher_spec.rb +19 -5
- data/spec/lib/appsignal/transaction_spec.rb +4 -12
- data/spec/lib/appsignal_spec.rb +7 -8
- data/spec/spec_helper.rb +11 -11
- data/spec/support/fixtures/projects/broken/config/appsignal.yml +1 -0
- data/spec/support/helpers/cli_helpers.rb +15 -1
- data/spec/support/helpers/transaction_helpers.rb +53 -0
- data/spec/support/matchers/be_completed.rb +5 -0
- data/spec/support/matchers/have_colorized_text.rb +28 -0
- data/spec/support/testing.rb +113 -0
- metadata +10 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4dcc9f0ae3d601a8d8a7851943568176af63fc2aae714f996449227607a74fee
|
4
|
+
data.tar.gz: c5a44f8e88184697b7ae5ccd56bb13451a64e5fc51eb427fb04ee01c77aaf7ba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 71b733951dfa43726b103e3ba39e5898e68009063b97d74d7382c1f7a0687754dba9e3954da5a3f7e5646ef1871c6ef643e238afac4319b787413fe58822a91a
|
7
|
+
data.tar.gz: e0995a18c18ee86162d7a4bc33e046f6b3a956f955c9b6f61f0bc188a161dd222983abc26852ce69bfac0008447612702c587134b010b432dfe449c70b6f1c9d
|
data/.rubocop_todo.yml
CHANGED
@@ -89,12 +89,6 @@ Style/ClassAndModuleChildren:
|
|
89
89
|
Exclude:
|
90
90
|
- 'lib/appsignal/integrations/padrino.rb'
|
91
91
|
|
92
|
-
# Offense count: 6
|
93
|
-
Style/ClassVars:
|
94
|
-
Exclude:
|
95
|
-
- 'lib/appsignal/event_formatter.rb'
|
96
|
-
- 'lib/appsignal/minutely.rb'
|
97
|
-
|
98
92
|
# Offense count: 1
|
99
93
|
Style/DoubleNegation:
|
100
94
|
Exclude:
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,29 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 2.10.0
|
4
|
+
- Rescue errors while parsing `appsignal.yml` file. It will prints a warning
|
5
|
+
instead. PR #517
|
6
|
+
- Refactoring: Reduce class variable usage. PR #520
|
7
|
+
- Bump log level about starting new transactions while a transaction is already
|
8
|
+
active from debug to a warning. PR #525
|
9
|
+
- Refactoring: Add internal AppSignal test helpers and other test suite
|
10
|
+
refactorings. PR #536, #537, #538, #539
|
11
|
+
- Fix internal Rakefile loading on Ruby 1.9.3. PR #541
|
12
|
+
- Add a `--no-color` option to the `appsignal install` command. PR #550
|
13
|
+
- Add output coloring to `appsignal diagnose` warnings. PR #551
|
14
|
+
- Add validation for empty Push API key. Empty Push API key values will no
|
15
|
+
longer start AppSignal. PR #569
|
16
|
+
- Deprecate the JSExceptionCatcher middleware in favor of our new front-end
|
17
|
+
JavaScript integration (https://docs.appsignal.com/front-end/). PR #572
|
18
|
+
|
19
|
+
## 2.9.18
|
20
|
+
- Bump agent to v-c348132
|
21
|
+
- Improve transmitter logging on timeout
|
22
|
+
- Improve queued payloads transmitter. Should prevent payloads being sent
|
23
|
+
multiple times.
|
24
|
+
- Add transaction debug mode
|
25
|
+
- Wrap Option in Mutex in TransactionInProgess
|
26
|
+
|
3
27
|
## 2.9.17
|
4
28
|
- Handle missing file and load errors from `application.rb` in `appsignal
|
5
29
|
install` for Rails apps. PR #568
|
data/Rakefile
CHANGED
@@ -143,9 +143,23 @@ namespace :build do
|
|
143
143
|
end
|
144
144
|
end
|
145
145
|
|
146
|
+
def define_build_task(task_name, base_gemspec, &block)
|
147
|
+
Gem::PackageTask.new(base_gemspec, &block)
|
148
|
+
rescue StandardError => error
|
149
|
+
puts "Warning: An error occurred defining `build:#{task_name}:gem` Rake task."
|
150
|
+
puts "This task will not be availble."
|
151
|
+
if ENV["DEBUG"]
|
152
|
+
puts "#{error}: #{error.message}"
|
153
|
+
puts error.backtrace
|
154
|
+
else
|
155
|
+
puts "For more information, run the same command with `DEBUG=true`."
|
156
|
+
end
|
157
|
+
puts
|
158
|
+
end
|
159
|
+
|
146
160
|
namespace :ruby do
|
147
161
|
# Extension default set in `appsignal.gemspec`
|
148
|
-
|
162
|
+
define_build_task(:ruby, base_gemspec) { |_pkg| }
|
149
163
|
end
|
150
164
|
|
151
165
|
namespace :jruby do
|
@@ -157,7 +171,7 @@ namespace :build do
|
|
157
171
|
s.add_dependency "ffi"
|
158
172
|
end
|
159
173
|
|
160
|
-
|
174
|
+
define_build_task(:jruby, spec) { |_pkg| }
|
161
175
|
end
|
162
176
|
|
163
177
|
desc "Build all gem versions"
|
data/ext/agent.yml
CHANGED
@@ -1,70 +1,70 @@
|
|
1
1
|
---
|
2
|
-
version:
|
2
|
+
version: c348132
|
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: cb287c8e2072fe5b8cf14449bd6892989c392d0c651ce339895ae0302cb69785
|
10
10
|
filename: appsignal-x86_64-darwin-all-static.tar.gz
|
11
11
|
dynamic:
|
12
|
-
checksum:
|
12
|
+
checksum: af1ed2e9d29859ffbfc8e6903e4c51764dee94d7b4877ca8d30270b6f133a10f
|
13
13
|
filename: appsignal-x86_64-darwin-all-dynamic.tar.gz
|
14
14
|
universal-darwin:
|
15
15
|
static:
|
16
|
-
checksum:
|
16
|
+
checksum: cb287c8e2072fe5b8cf14449bd6892989c392d0c651ce339895ae0302cb69785
|
17
17
|
filename: appsignal-x86_64-darwin-all-static.tar.gz
|
18
18
|
dynamic:
|
19
|
-
checksum:
|
19
|
+
checksum: af1ed2e9d29859ffbfc8e6903e4c51764dee94d7b4877ca8d30270b6f133a10f
|
20
20
|
filename: appsignal-x86_64-darwin-all-dynamic.tar.gz
|
21
21
|
i686-linux:
|
22
22
|
static:
|
23
|
-
checksum:
|
23
|
+
checksum: 2c3bcd102592bf38fbdb27e7c70502dccbe54a0dc2739a9d54aaa694fcfb41fb
|
24
24
|
filename: appsignal-i686-linux-all-static.tar.gz
|
25
25
|
dynamic:
|
26
|
-
checksum:
|
26
|
+
checksum: 1c037b8370b755d706340e25d3e4b2f4acb279dd03873cc53bcf0a6ec0832653
|
27
27
|
filename: appsignal-i686-linux-all-dynamic.tar.gz
|
28
28
|
x86-linux:
|
29
29
|
static:
|
30
|
-
checksum:
|
30
|
+
checksum: 2c3bcd102592bf38fbdb27e7c70502dccbe54a0dc2739a9d54aaa694fcfb41fb
|
31
31
|
filename: appsignal-i686-linux-all-static.tar.gz
|
32
32
|
dynamic:
|
33
|
-
checksum:
|
33
|
+
checksum: 1c037b8370b755d706340e25d3e4b2f4acb279dd03873cc53bcf0a6ec0832653
|
34
34
|
filename: appsignal-i686-linux-all-dynamic.tar.gz
|
35
35
|
i686-linux-musl:
|
36
36
|
static:
|
37
|
-
checksum:
|
37
|
+
checksum: 0add9eed4452feda7fc5e1bbd0acdff32c353e4ea0b5d527959df57deb1bdcb2
|
38
38
|
filename: appsignal-i686-linux-musl-all-static.tar.gz
|
39
39
|
x86-linux-musl:
|
40
40
|
static:
|
41
|
-
checksum:
|
41
|
+
checksum: 0add9eed4452feda7fc5e1bbd0acdff32c353e4ea0b5d527959df57deb1bdcb2
|
42
42
|
filename: appsignal-i686-linux-musl-all-static.tar.gz
|
43
43
|
x86_64-linux:
|
44
44
|
static:
|
45
|
-
checksum:
|
45
|
+
checksum: d11221c127c00128da16b419c503281407e429c0ea6f5bfe1691640b8e995e4e
|
46
46
|
filename: appsignal-x86_64-linux-all-static.tar.gz
|
47
47
|
dynamic:
|
48
|
-
checksum:
|
48
|
+
checksum: 6869ab461fde55487d55805c396d55f36cb881998556f44236035b949939b0af
|
49
49
|
filename: appsignal-x86_64-linux-all-dynamic.tar.gz
|
50
50
|
x86_64-linux-musl:
|
51
51
|
static:
|
52
|
-
checksum:
|
52
|
+
checksum: 7ce44dc23c578933ca37a79d244bc367fdc2438408c2a61558adb92bcfebb1fa
|
53
53
|
filename: appsignal-x86_64-linux-musl-all-static.tar.gz
|
54
54
|
dynamic:
|
55
|
-
checksum:
|
55
|
+
checksum: 78d98f468e3a12cc09baff9e68bc4d9cd3b79f4a3bbe744036bff685415546a4
|
56
56
|
filename: appsignal-x86_64-linux-musl-all-dynamic.tar.gz
|
57
57
|
x86_64-freebsd:
|
58
58
|
static:
|
59
|
-
checksum:
|
59
|
+
checksum: df5f8b61e6ecca40f349cf5c83d5f37f031850d367793dee90dc56f13974431d
|
60
60
|
filename: appsignal-x86_64-freebsd-all-static.tar.gz
|
61
61
|
dynamic:
|
62
|
-
checksum:
|
62
|
+
checksum: 30d0303e97386014640c5b8194b777a5741e08ab5497ba58a7d8229bd4890fc5
|
63
63
|
filename: appsignal-x86_64-freebsd-all-dynamic.tar.gz
|
64
64
|
amd64-freebsd:
|
65
65
|
static:
|
66
|
-
checksum:
|
66
|
+
checksum: df5f8b61e6ecca40f349cf5c83d5f37f031850d367793dee90dc56f13974431d
|
67
67
|
filename: appsignal-x86_64-freebsd-all-static.tar.gz
|
68
68
|
dynamic:
|
69
|
-
checksum:
|
69
|
+
checksum: 30d0303e97386014640c5b8194b777a5741e08ab5497ba58a7d8229bd4890fc5
|
70
70
|
filename: appsignal-x86_64-freebsd-all-dynamic.tar.gz
|
data/lib/appsignal/cli.rb
CHANGED
@@ -32,7 +32,7 @@ module Appsignal
|
|
32
32
|
when :diagnose
|
33
33
|
Appsignal::CLI::Diagnose.run(options)
|
34
34
|
when :install
|
35
|
-
Appsignal::CLI::Install.run(argv.shift)
|
35
|
+
Appsignal::CLI::Install.run(argv.shift, options)
|
36
36
|
when :notify_of_deploy
|
37
37
|
Appsignal::CLI::NotifyOfDeploy.run(options)
|
38
38
|
end
|
@@ -85,8 +85,15 @@ module Appsignal
|
|
85
85
|
o.on "--[no-]send-report", "Confirm sending the report to AppSignal automatically" do |arg|
|
86
86
|
options[:send_report] = arg
|
87
87
|
end
|
88
|
+
o.on "--[no-]color", "Colorize the output of the diagnose command" do |arg|
|
89
|
+
options[:color] = arg
|
90
|
+
end
|
91
|
+
end,
|
92
|
+
"install" => OptionParser.new do |o|
|
93
|
+
o.on "--[no-]color", "Colorize the output of the diagnose command" do |arg|
|
94
|
+
options[:color] = arg
|
95
|
+
end
|
88
96
|
end,
|
89
|
-
"install" => OptionParser.new,
|
90
97
|
"notify_of_deploy" => OptionParser.new do |o|
|
91
98
|
o.banner = "Usage: appsignal notify_of_deploy [options]"
|
92
99
|
|
@@ -77,6 +77,7 @@ module Appsignal
|
|
77
77
|
# @return [void]
|
78
78
|
# @api private
|
79
79
|
def run(options = {})
|
80
|
+
self.coloring = options.delete(:color) { true }
|
80
81
|
$stdout.sync = true
|
81
82
|
header
|
82
83
|
print_empty_line
|
@@ -200,7 +201,7 @@ module Appsignal
|
|
200
201
|
def run_agent_diagnose_mode
|
201
202
|
puts "Agent diagnostics"
|
202
203
|
unless Appsignal.extension_loaded?
|
203
|
-
puts " Extension is not loaded. No agent report created."
|
204
|
+
puts colorize(" Extension is not loaded. No agent report created.", :red)
|
204
205
|
return
|
205
206
|
end
|
206
207
|
|
@@ -461,10 +462,11 @@ module Appsignal
|
|
461
462
|
print " Environment: #{format_config_option(env)}"
|
462
463
|
|
463
464
|
if env == ""
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
465
|
+
message = " Warning: No environment set, no config loaded!\n" \
|
466
|
+
" Please make sure appsignal diagnose is run within your\n" \
|
467
|
+
" project directory with an environment.\n" \
|
468
|
+
" appsignal diagnose --environment=production"
|
469
|
+
puts "\n#{colorize(message, :red)}"
|
468
470
|
else
|
469
471
|
puts sources_label
|
470
472
|
end
|
@@ -531,20 +533,19 @@ module Appsignal
|
|
531
533
|
|
532
534
|
def check_api_key
|
533
535
|
puts "Validation"
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
540
|
-
|
541
|
-
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
end
|
536
|
+
auth_check = ::Appsignal::AuthCheck.new(Appsignal.config)
|
537
|
+
status, error = auth_check.perform_with_result
|
538
|
+
result, color =
|
539
|
+
case status
|
540
|
+
when "200"
|
541
|
+
["valid", :green]
|
542
|
+
when "401"
|
543
|
+
["invalid", :red]
|
544
|
+
else
|
545
|
+
["Failed with status #{status}\n#{error.inspect}", :red]
|
546
|
+
end
|
547
|
+
data[:validation][:push_api_key] = result
|
548
|
+
puts_value "Validating Push API key", colorize(result, color)
|
548
549
|
end
|
549
550
|
|
550
551
|
def print_paths_section(report)
|
@@ -7,24 +7,36 @@ module Appsignal
|
|
7
7
|
module Helpers
|
8
8
|
private
|
9
9
|
|
10
|
+
COLOR_CODES = {
|
11
|
+
:red => 31,
|
12
|
+
:green => 32,
|
13
|
+
:yellow => 33,
|
14
|
+
:blue => 34,
|
15
|
+
:pink => 35,
|
16
|
+
:default => 0
|
17
|
+
}.freeze
|
18
|
+
|
10
19
|
def ruby_2_6_or_up?
|
11
20
|
Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("2.6.0")
|
12
21
|
end
|
13
22
|
|
23
|
+
def coloring=(value)
|
24
|
+
@coloring = value
|
25
|
+
end
|
26
|
+
|
27
|
+
def coloring?
|
28
|
+
return true unless defined?(@coloring)
|
29
|
+
@coloring
|
30
|
+
end
|
31
|
+
|
14
32
|
def colorize(text, color)
|
33
|
+
return text unless coloring?
|
15
34
|
return text if Gem.win_platform?
|
16
35
|
|
17
|
-
|
18
|
-
|
19
|
-
when :red then 31
|
20
|
-
when :green then 32
|
21
|
-
when :yellow then 33
|
22
|
-
when :blue then 34
|
23
|
-
when :pink then 35
|
24
|
-
else 0
|
25
|
-
end
|
36
|
+
reset_color_code = COLOR_CODES.fetch(:default)
|
37
|
+
color_code = COLOR_CODES.fetch(color, reset_color_code)
|
26
38
|
|
27
|
-
"\e[#{color_code}m#{text}\e[
|
39
|
+
"\e[#{color_code}m#{text}\e[#{reset_color_code}m"
|
28
40
|
end
|
29
41
|
|
30
42
|
def periods
|
data/lib/appsignal/config.rb
CHANGED
@@ -39,7 +39,8 @@ module Appsignal
|
|
39
39
|
:enable_minutely_probes => true,
|
40
40
|
:ca_file_path => File.expand_path(File.join("../../../resources/cacert.pem"), __FILE__),
|
41
41
|
:dns_servers => [],
|
42
|
-
:files_world_accessible => true
|
42
|
+
:files_world_accessible => true,
|
43
|
+
:transaction_debug_mode => false
|
43
44
|
}.freeze
|
44
45
|
|
45
46
|
ENV_TO_KEY_MAPPING = {
|
@@ -75,6 +76,7 @@ module Appsignal
|
|
75
76
|
"APPSIGNAL_DNS_SERVERS" => :dns_servers,
|
76
77
|
"APPSIGNAL_FILES_WORLD_ACCESSIBLE" => :files_world_accessible,
|
77
78
|
"APPSIGNAL_REQUEST_HEADERS" => :request_headers,
|
79
|
+
"APPSIGNAL_TRANSACTION_DEBUG_MODE" => :transaction_debug_mode,
|
78
80
|
"APP_REVISION" => :revision
|
79
81
|
}.freeze
|
80
82
|
|
@@ -219,6 +221,7 @@ module Appsignal
|
|
219
221
|
ENV["_APPSIGNAL_CA_FILE_PATH"] = config_hash[:ca_file_path].to_s
|
220
222
|
ENV["_APPSIGNAL_DNS_SERVERS"] = config_hash[:dns_servers].join(",")
|
221
223
|
ENV["_APPSIGNAL_FILES_WORLD_ACCESSIBLE"] = config_hash[:files_world_accessible].to_s
|
224
|
+
ENV["_APPSIGNAL_TRANSACTION_DEBUG_MODE"] = config_hash[:transaction_debug_mode].to_s
|
222
225
|
ENV["_APP_REVISION"] = config_hash[:revision].to_s
|
223
226
|
end
|
224
227
|
|
@@ -234,11 +237,12 @@ module Appsignal
|
|
234
237
|
"#{endpoint_uri.scheme}://#{endpoint_uri.host}:#{endpoint_uri.port}"
|
235
238
|
end
|
236
239
|
|
237
|
-
|
238
|
-
|
239
|
-
else
|
240
|
+
push_api_key = config_hash[:push_api_key] || ""
|
241
|
+
if push_api_key.strip.empty?
|
240
242
|
@valid = false
|
241
|
-
@logger.error "Push
|
243
|
+
@logger.error "Push API key not set after loading config"
|
244
|
+
else
|
245
|
+
@valid = true
|
242
246
|
end
|
243
247
|
end
|
244
248
|
|
@@ -253,8 +257,10 @@ module Appsignal
|
|
253
257
|
{}.tap do |hash|
|
254
258
|
hash[:log] = "stdout" if Appsignal::System.heroku?
|
255
259
|
|
256
|
-
# Make active by default if APPSIGNAL_PUSH_API_KEY
|
257
|
-
|
260
|
+
# Make AppSignal active by default if APPSIGNAL_PUSH_API_KEY
|
261
|
+
# environment variable is present and not empty.
|
262
|
+
env_push_api_key = ENV["APPSIGNAL_PUSH_API_KEY"] || ""
|
263
|
+
hash[:active] = true unless env_push_api_key.strip.empty?
|
258
264
|
end
|
259
265
|
end
|
260
266
|
|
@@ -271,9 +277,17 @@ module Appsignal
|
|
271
277
|
|
272
278
|
maintain_backwards_compatibility(config_for_this_env)
|
273
279
|
else
|
274
|
-
|
280
|
+
logger.error "Not loading from config file: config for '#{env}' not found"
|
275
281
|
nil
|
276
282
|
end
|
283
|
+
rescue => e
|
284
|
+
message = "An error occured while loading the AppSignal config file." \
|
285
|
+
" Skipping file config.\n" \
|
286
|
+
"File: #{config_file.inspect}\n" \
|
287
|
+
"#{e.name}: #{e}"
|
288
|
+
$stderr.puts "appsignal: #{message}"
|
289
|
+
logger.error "#{message}\n#{e.backtrace.join("\n")}"
|
290
|
+
nil
|
277
291
|
end
|
278
292
|
|
279
293
|
# Maintain backwards compatibility with config files generated by earlier
|
@@ -324,7 +338,7 @@ module Appsignal
|
|
324
338
|
APPSIGNAL_ENABLE_ALLOCATION_TRACKING APPSIGNAL_ENABLE_GC_INSTRUMENTATION
|
325
339
|
APPSIGNAL_RUNNING_IN_CONTAINER APPSIGNAL_ENABLE_HOST_METRICS
|
326
340
|
APPSIGNAL_SEND_PARAMS APPSIGNAL_ENABLE_MINUTELY_PROBES
|
327
|
-
APPSIGNAL_FILES_WORLD_ACCESSIBLE].each do |var|
|
341
|
+
APPSIGNAL_FILES_WORLD_ACCESSIBLE APPSIGNAL_TRANSACTION_DEBUG_MODE].each do |var|
|
328
342
|
env_var = ENV[var]
|
329
343
|
next unless env_var
|
330
344
|
config[ENV_TO_KEY_MAPPING[var]] = env_var.casecmp("true").zero?
|
@@ -17,15 +17,15 @@ module Appsignal
|
|
17
17
|
include Appsignal::Utils::DeprecationMessage
|
18
18
|
|
19
19
|
def formatters
|
20
|
-
|
20
|
+
@formatters ||= {}
|
21
21
|
end
|
22
22
|
|
23
23
|
def deprecated_formatter_classes
|
24
|
-
|
24
|
+
@deprecated_formatter_classes ||= {}
|
25
25
|
end
|
26
26
|
|
27
27
|
def formatter_classes
|
28
|
-
|
28
|
+
@formatter_classes ||= {}
|
29
29
|
end
|
30
30
|
|
31
31
|
def register(name, formatter = nil)
|
@@ -94,7 +94,7 @@ module Appsignal
|
|
94
94
|
"https://docs.appsignal.com/ruby/instrumentation/event-formatters.html",
|
95
95
|
logger
|
96
96
|
|
97
|
-
deprecated_formatter_classes[name] = self
|
97
|
+
EventFormatter.deprecated_formatter_classes[name] = self
|
98
98
|
end
|
99
99
|
|
100
100
|
def logger
|
data/lib/appsignal/minutely.rb
CHANGED
@@ -129,13 +129,13 @@ module Appsignal
|
|
129
129
|
# @see ProbeCollection
|
130
130
|
# @return [ProbeCollection] Returns list of probes.
|
131
131
|
def probes
|
132
|
-
|
132
|
+
@probes ||= ProbeCollection.new
|
133
133
|
end
|
134
134
|
|
135
135
|
# @api private
|
136
136
|
def start
|
137
137
|
stop
|
138
|
-
|
138
|
+
@thread = Thread.new do
|
139
139
|
sleep initial_wait_time
|
140
140
|
initialize_probes
|
141
141
|
loop do
|
@@ -157,7 +157,7 @@ module Appsignal
|
|
157
157
|
|
158
158
|
# @api private
|
159
159
|
def stop
|
160
|
-
defined?(
|
160
|
+
defined?(@thread) && @thread.kill
|
161
161
|
probe_instances.clear
|
162
162
|
end
|
163
163
|
|
@@ -206,7 +206,7 @@ module Appsignal
|
|
206
206
|
end
|
207
207
|
|
208
208
|
def probe_instances
|
209
|
-
|
209
|
+
@probe_instances ||= {}
|
210
210
|
end
|
211
211
|
end
|
212
212
|
end
|