appsignal 2.4.3 → 2.5.0.alpha.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 -5
- data/.rubocop_todo.yml +3 -0
- data/.travis.yml +3 -4
- data/CHANGELOG.md +3 -0
- data/Rakefile +21 -6
- data/appsignal.gemspec +12 -5
- data/ext/Rakefile +27 -0
- data/ext/agent.yml +52 -21
- data/ext/base.rb +79 -0
- data/ext/extconf.rb +5 -76
- data/gemfiles/sequel-435.gemfile +5 -1
- data/gemfiles/sequel.gemfile +5 -1
- data/lib/appsignal.rb +11 -6
- data/lib/appsignal/cli.rb +1 -2
- data/lib/appsignal/cli/install.rb +3 -3
- data/lib/appsignal/config.rb +56 -37
- data/lib/appsignal/extension.rb +28 -4
- data/lib/appsignal/extension/jruby.rb +460 -0
- data/lib/appsignal/hooks/sidekiq.rb +4 -4
- data/lib/appsignal/integrations/capistrano/appsignal.cap +7 -2
- data/lib/appsignal/integrations/capistrano/capistrano_2_tasks.rb +8 -3
- data/lib/appsignal/system.rb +16 -1
- data/lib/appsignal/transaction.rb +2 -2
- data/lib/appsignal/utils.rb +3 -1
- data/lib/appsignal/version.rb +1 -3
- data/spec/.rubocop.yml +3 -0
- data/spec/lib/appsignal/capistrano2_spec.rb +55 -41
- data/spec/lib/appsignal/capistrano3_spec.rb +87 -61
- data/spec/lib/appsignal/cli/diagnose_spec.rb +3 -3
- data/spec/lib/appsignal/cli/notify_of_deploy_spec.rb +4 -4
- data/spec/lib/appsignal/config_spec.rb +54 -21
- data/spec/lib/appsignal/extension/jruby_spec.rb +43 -0
- data/spec/lib/appsignal/extension_spec.rb +28 -12
- data/spec/lib/appsignal/hooks/sequel_spec.rb +7 -1
- data/spec/lib/appsignal/integrations/que_spec.rb +5 -5
- data/spec/lib/appsignal/system_spec.rb +5 -4
- data/spec/lib/appsignal/transaction_spec.rb +8 -8
- data/spec/lib/appsignal/utils/params_sanitizer_spec.rb +4 -4
- data/spec/lib/appsignal/utils/query_params_sanitizer_spec.rb +3 -3
- data/spec/lib/appsignal_spec.rb +5 -3
- data/spec/spec_helper.rb +29 -8
- data/spec/support/helpers/config_helpers.rb +3 -2
- metadata +12 -7
@@ -43,7 +43,7 @@ describe Appsignal::Utils::QueryParamsSanitizer do
|
|
43
43
|
end
|
44
44
|
|
45
45
|
context "when value is an array" do
|
46
|
-
let(:value) { %w
|
46
|
+
let(:value) { %w[foo bar] }
|
47
47
|
|
48
48
|
it "should only return the first level of the object" do
|
49
49
|
expect(subject).to eq("?")
|
@@ -51,7 +51,7 @@ describe Appsignal::Utils::QueryParamsSanitizer do
|
|
51
51
|
|
52
52
|
it "should not modify source value" do
|
53
53
|
subject
|
54
|
-
expect(value).to eq(%w
|
54
|
+
expect(value).to eq(%w[foo bar])
|
55
55
|
end
|
56
56
|
end
|
57
57
|
|
@@ -115,7 +115,7 @@ describe Appsignal::Utils::QueryParamsSanitizer do
|
|
115
115
|
end
|
116
116
|
|
117
117
|
context "when value is an array" do
|
118
|
-
let(:value) { %w
|
118
|
+
let(:value) { %w[foo bar] }
|
119
119
|
|
120
120
|
it "should sanitize all hash values with a single questionmark" do
|
121
121
|
expect(subject).to eq(["?"])
|
data/spec/lib/appsignal_spec.rb
CHANGED
@@ -87,9 +87,11 @@ describe Appsignal do
|
|
87
87
|
Appsignal.start
|
88
88
|
end
|
89
89
|
|
90
|
-
|
91
|
-
|
92
|
-
|
90
|
+
unless Appsignal::System.jruby?
|
91
|
+
it "installs the allocation event hook" do
|
92
|
+
expect(Appsignal::Extension).to receive(:install_allocation_event_hook)
|
93
|
+
Appsignal.start
|
94
|
+
end
|
93
95
|
end
|
94
96
|
|
95
97
|
it "should add the gc probe to minutely" do
|
data/spec/spec_helper.rb
CHANGED
@@ -32,15 +32,27 @@ if DependencyHelper.rails_present?
|
|
32
32
|
end
|
33
33
|
require "appsignal"
|
34
34
|
|
35
|
+
module Appsignal
|
36
|
+
class << self
|
37
|
+
remove_method :testing?
|
38
|
+
|
39
|
+
def testing?
|
40
|
+
true
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
35
45
|
puts "Running specs in #{RUBY_VERSION} on #{RUBY_PLATFORM}\n\n"
|
36
46
|
|
37
47
|
# Add way to clear subscribers between specs
|
38
|
-
|
39
|
-
module
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
48
|
+
if defined?(ActiveSupport)
|
49
|
+
module ActiveSupport
|
50
|
+
module Notifications
|
51
|
+
class Fanout
|
52
|
+
def clear_subscribers
|
53
|
+
@subscribers.clear
|
54
|
+
@listeners_for.clear
|
55
|
+
end
|
44
56
|
end
|
45
57
|
end
|
46
58
|
end
|
@@ -75,9 +87,18 @@ RSpec.configure do |config|
|
|
75
87
|
ENV["PADRINO_ENV"] ||= "test"
|
76
88
|
|
77
89
|
# Clean environment
|
78
|
-
appsignal_key_prefixes = %w
|
90
|
+
appsignal_key_prefixes = %w[APPSIGNAL_ _APPSIGNAL_]
|
79
91
|
env_keys = ENV.keys.select { |key| key.start_with?(*appsignal_key_prefixes) }
|
80
|
-
env_keys.each
|
92
|
+
env_keys.each do |key|
|
93
|
+
# First set the ENV var to an empty string and then delete the key from
|
94
|
+
# the env. We set the env var to an empty string first as jRuby doesn't
|
95
|
+
# sync `delete` calls to extensions, making our extension think the env
|
96
|
+
# var is still set after calling `ENV.delete`. Setting it to an empty
|
97
|
+
# string will sort of unset it, our extension ignores env vars with an
|
98
|
+
# empty string as a value.
|
99
|
+
ENV[key] = ""
|
100
|
+
ENV.delete(key)
|
101
|
+
end
|
81
102
|
|
82
103
|
# Stub system_tmp_dir to something in the project dir for specs
|
83
104
|
allow(Appsignal::Config).to receive(:system_tmp_dir).and_return(spec_system_tmp_dir)
|
@@ -5,11 +5,12 @@ module ConfigHelpers
|
|
5
5
|
)
|
6
6
|
end
|
7
7
|
|
8
|
-
def project_fixture_config(env = "production", initial_config = {})
|
8
|
+
def project_fixture_config(env = "production", initial_config = {}, logger = Appsignal.logger)
|
9
9
|
Appsignal::Config.new(
|
10
10
|
project_fixture_path,
|
11
11
|
env,
|
12
|
-
initial_config
|
12
|
+
initial_config,
|
13
|
+
logger
|
13
14
|
)
|
14
15
|
end
|
15
16
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: appsignal
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.5.0.alpha.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Beekman
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-
|
12
|
+
date: 2017-12-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rack
|
@@ -101,14 +101,14 @@ dependencies:
|
|
101
101
|
requirements:
|
102
102
|
- - '='
|
103
103
|
- !ruby/object:Gem::Version
|
104
|
-
version: 0.
|
104
|
+
version: 0.49.0
|
105
105
|
type: :development
|
106
106
|
prerelease: false
|
107
107
|
version_requirements: !ruby/object:Gem::Requirement
|
108
108
|
requirements:
|
109
109
|
- - '='
|
110
110
|
- !ruby/object:Gem::Version
|
111
|
-
version: 0.
|
111
|
+
version: 0.49.0
|
112
112
|
- !ruby/object:Gem::Dependency
|
113
113
|
name: yard
|
114
114
|
requirement: !ruby/object:Gem::Requirement
|
@@ -146,8 +146,10 @@ files:
|
|
146
146
|
- appsignal.gemspec
|
147
147
|
- benchmark.rake
|
148
148
|
- bin/appsignal
|
149
|
+
- ext/Rakefile
|
149
150
|
- ext/agent.yml
|
150
151
|
- ext/appsignal_extension.c
|
152
|
+
- ext/base.rb
|
151
153
|
- ext/extconf.rb
|
152
154
|
- gemfiles/capistrano2.gemfile
|
153
155
|
- gemfiles/capistrano3.gemfile
|
@@ -186,6 +188,7 @@ files:
|
|
186
188
|
- lib/appsignal/event_formatter/mongo_ruby_driver/query_formatter.rb
|
187
189
|
- lib/appsignal/event_formatter/moped/query_formatter.rb
|
188
190
|
- lib/appsignal/extension.rb
|
191
|
+
- lib/appsignal/extension/jruby.rb
|
189
192
|
- lib/appsignal/garbage_collection_profiler.rb
|
190
193
|
- lib/appsignal/hooks.rb
|
191
194
|
- lib/appsignal/hooks/action_cable.rb
|
@@ -258,6 +261,7 @@ files:
|
|
258
261
|
- spec/lib/appsignal/event_formatter/mongo_ruby_driver/query_formatter_spec.rb
|
259
262
|
- spec/lib/appsignal/event_formatter/moped/query_formatter_spec.rb
|
260
263
|
- spec/lib/appsignal/event_formatter_spec.rb
|
264
|
+
- spec/lib/appsignal/extension/jruby_spec.rb
|
261
265
|
- spec/lib/appsignal/extension_spec.rb
|
262
266
|
- spec/lib/appsignal/garbage_collection_profiler_spec.rb
|
263
267
|
- spec/lib/appsignal/hooks/action_cable_spec.rb
|
@@ -337,7 +341,7 @@ files:
|
|
337
341
|
- spec/support/rails/my_app.rb
|
338
342
|
- spec/support/shared_examples/instrument.rb
|
339
343
|
- spec/support/stubs/delayed_job.rb
|
340
|
-
homepage: https://github.com/appsignal/appsignal
|
344
|
+
homepage: https://github.com/appsignal/appsignal-ruby
|
341
345
|
licenses:
|
342
346
|
- MIT
|
343
347
|
metadata: {}
|
@@ -353,9 +357,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
353
357
|
version: '1.9'
|
354
358
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
355
359
|
requirements:
|
356
|
-
- - "
|
360
|
+
- - ">"
|
357
361
|
- !ruby/object:Gem::Version
|
358
|
-
version:
|
362
|
+
version: 1.3.1
|
359
363
|
requirements: []
|
360
364
|
rubyforge_project:
|
361
365
|
rubygems_version: 2.7.2
|
@@ -383,6 +387,7 @@ test_files:
|
|
383
387
|
- spec/lib/appsignal/event_formatter/mongo_ruby_driver/query_formatter_spec.rb
|
384
388
|
- spec/lib/appsignal/event_formatter/moped/query_formatter_spec.rb
|
385
389
|
- spec/lib/appsignal/event_formatter_spec.rb
|
390
|
+
- spec/lib/appsignal/extension/jruby_spec.rb
|
386
391
|
- spec/lib/appsignal/extension_spec.rb
|
387
392
|
- spec/lib/appsignal/garbage_collection_profiler_spec.rb
|
388
393
|
- spec/lib/appsignal/hooks/action_cable_spec.rb
|