appsignal 2.9.17 → 2.10.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/.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
|