appsignal 3.5.4-java → 3.5.5-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.semaphore/semaphore.yml +147 -9
- data/CHANGELOG.md +17 -0
- data/README.md +2 -0
- data/build_matrix.yml +5 -9
- data/ext/Rakefile +7 -1
- data/ext/agent.rb +27 -27
- data/gemfiles/redis-4.gemfile +5 -0
- data/gemfiles/redis-5.gemfile +6 -0
- data/lib/appsignal/cli/diagnose.rb +1 -1
- data/lib/appsignal/config.rb +9 -4
- data/lib/appsignal/environment.rb +24 -13
- data/lib/appsignal/event_formatter.rb +1 -1
- data/lib/appsignal/extension/jruby.rb +4 -3
- data/lib/appsignal/extension.rb +1 -1
- data/lib/appsignal/helpers/instrumentation.rb +7 -7
- data/lib/appsignal/helpers/metrics.rb +3 -3
- data/lib/appsignal/hooks/redis.rb +1 -0
- data/lib/appsignal/hooks/redis_client.rb +27 -0
- data/lib/appsignal/hooks.rb +3 -2
- data/lib/appsignal/integrations/hanami.rb +1 -1
- data/lib/appsignal/integrations/padrino.rb +1 -1
- data/lib/appsignal/integrations/railtie.rb +1 -1
- data/lib/appsignal/integrations/redis_client.rb +20 -0
- data/lib/appsignal/integrations/sidekiq.rb +1 -1
- data/lib/appsignal/integrations/sinatra.rb +1 -1
- data/lib/appsignal/minutely.rb +4 -4
- data/lib/appsignal/probes/gvl.rb +1 -1
- data/lib/appsignal/probes/helpers.rb +1 -1
- data/lib/appsignal/probes/mri.rb +1 -1
- data/lib/appsignal/probes/sidekiq.rb +5 -5
- data/lib/appsignal/rack/generic_instrumentation.rb +1 -1
- data/lib/appsignal/rack/rails_instrumentation.rb +2 -2
- data/lib/appsignal/rack/sinatra_instrumentation.rb +2 -2
- data/lib/appsignal/rack/streaming_listener.rb +1 -1
- data/lib/appsignal/span.rb +2 -2
- data/lib/appsignal/transaction.rb +11 -11
- data/lib/appsignal/utils/deprecation_message.rb +2 -2
- data/lib/appsignal/version.rb +1 -1
- data/lib/appsignal.rb +37 -31
- data/spec/lib/appsignal/config_spec.rb +2 -2
- data/spec/lib/appsignal/hooks/activejob_spec.rb +1 -1
- data/spec/lib/appsignal/hooks/redis_client_spec.rb +222 -0
- data/spec/lib/appsignal/hooks/redis_spec.rb +98 -76
- data/spec/lib/appsignal/hooks_spec.rb +4 -4
- data/spec/lib/appsignal/integrations/railtie_spec.rb +2 -2
- data/spec/lib/appsignal/integrations/sidekiq_spec.rb +3 -3
- data/spec/lib/appsignal/integrations/sinatra_spec.rb +2 -2
- data/spec/lib/appsignal/minutely_spec.rb +2 -2
- data/spec/lib/appsignal/rack/rails_instrumentation_spec.rb +1 -1
- data/spec/lib/appsignal/transaction_spec.rb +4 -4
- data/spec/lib/appsignal_spec.rb +34 -32
- data/spec/spec_helper.rb +1 -1
- data/spec/support/helpers/config_helpers.rb +6 -2
- data/spec/support/helpers/dependency_helper.rb +9 -1
- data/spec/support/helpers/log_helpers.rb +2 -2
- metadata +7 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 628f4f7b11c80810c73b4b1af2c021d53d2f9d30afe83879f88fdff093ead46e
|
4
|
+
data.tar.gz: 8e095d524c562120f15fc8bf983459488dc1e6d537bf20490855057d76eb119e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ee3b05d0fd020cad7726ad29b3000124753deb6292da291572e2c16c44de30519f69c332d87a69f4f11e19f58611f53914a7ee21e71a1a5c4d5e885d98dc488b
|
7
|
+
data.tar.gz: cbacece1707e5c1b7ddc473863f5aa9bacbb317979827f1e752957dd9ec72270b1bbd5baf4637fa4ba37f03b471fdbd7c22ebb7bcf63a07d322a91952af1e746
|
data/.semaphore/semaphore.yml
CHANGED
@@ -8,7 +8,7 @@ name: AppSignal Ruby Build and Tests
|
|
8
8
|
agent:
|
9
9
|
machine:
|
10
10
|
type: e1-standard-2
|
11
|
-
os_image:
|
11
|
+
os_image: ubuntu2004
|
12
12
|
auto_cancel:
|
13
13
|
running:
|
14
14
|
when: branch != 'main' AND branch != 'develop'
|
@@ -17,19 +17,13 @@ global_job_config:
|
|
17
17
|
- name: RUNNING_IN_CI
|
18
18
|
value: 'true'
|
19
19
|
- name: _BUNDLER_CACHE
|
20
|
-
value:
|
20
|
+
value: v3
|
21
21
|
- name: _GEMS_CACHE
|
22
|
-
value:
|
22
|
+
value: v3
|
23
23
|
prologue:
|
24
24
|
commands:
|
25
25
|
- checkout
|
26
26
|
- rm -f $HOME/.rbenv/plugins/rbenv-gem-rehash/etc/rbenv.d/exec/~gem-rehash.bash
|
27
|
-
- |
|
28
|
-
if [ -n "$_C_VERSION" ]; then
|
29
|
-
sem-version c $_C_VERSION
|
30
|
-
else
|
31
|
-
echo Skipping C-lang install
|
32
|
-
fi
|
33
27
|
- |
|
34
28
|
if [ -n "$RUBY_VERSION" ]; then
|
35
29
|
if ! (sem-version ruby "$RUBY_VERSION"); then
|
@@ -500,6 +494,42 @@ blocks:
|
|
500
494
|
value: latest
|
501
495
|
commands:
|
502
496
|
- "./support/bundler_wrapper exec rake test"
|
497
|
+
- name: Ruby 2.7.8 for redis-4
|
498
|
+
env_vars:
|
499
|
+
- *2
|
500
|
+
- *3
|
501
|
+
- *4
|
502
|
+
- *5
|
503
|
+
- name: RUBY_VERSION
|
504
|
+
value: 2.7.8
|
505
|
+
- name: GEMSET
|
506
|
+
value: redis-4
|
507
|
+
- name: BUNDLE_GEMFILE
|
508
|
+
value: gemfiles/redis-4.gemfile
|
509
|
+
- name: _RUBYGEMS_VERSION
|
510
|
+
value: latest
|
511
|
+
- name: _BUNDLER_VERSION
|
512
|
+
value: latest
|
513
|
+
commands:
|
514
|
+
- "./support/bundler_wrapper exec rake test"
|
515
|
+
- name: Ruby 2.7.8 for redis-5
|
516
|
+
env_vars:
|
517
|
+
- *2
|
518
|
+
- *3
|
519
|
+
- *4
|
520
|
+
- *5
|
521
|
+
- name: RUBY_VERSION
|
522
|
+
value: 2.7.8
|
523
|
+
- name: GEMSET
|
524
|
+
value: redis-5
|
525
|
+
- name: BUNDLE_GEMFILE
|
526
|
+
value: gemfiles/redis-5.gemfile
|
527
|
+
- name: _RUBYGEMS_VERSION
|
528
|
+
value: latest
|
529
|
+
- name: _BUNDLER_VERSION
|
530
|
+
value: latest
|
531
|
+
commands:
|
532
|
+
- "./support/bundler_wrapper exec rake test"
|
503
533
|
- name: Ruby 3.0.5
|
504
534
|
dependencies:
|
505
535
|
- Validation
|
@@ -899,6 +929,42 @@ blocks:
|
|
899
929
|
value: latest
|
900
930
|
commands:
|
901
931
|
- "./support/bundler_wrapper exec rake test"
|
932
|
+
- name: Ruby 3.0.5 for redis-4
|
933
|
+
env_vars:
|
934
|
+
- *2
|
935
|
+
- *3
|
936
|
+
- *4
|
937
|
+
- *5
|
938
|
+
- name: RUBY_VERSION
|
939
|
+
value: 3.0.5
|
940
|
+
- name: GEMSET
|
941
|
+
value: redis-4
|
942
|
+
- name: BUNDLE_GEMFILE
|
943
|
+
value: gemfiles/redis-4.gemfile
|
944
|
+
- name: _RUBYGEMS_VERSION
|
945
|
+
value: latest
|
946
|
+
- name: _BUNDLER_VERSION
|
947
|
+
value: latest
|
948
|
+
commands:
|
949
|
+
- "./support/bundler_wrapper exec rake test"
|
950
|
+
- name: Ruby 3.0.5 for redis-5
|
951
|
+
env_vars:
|
952
|
+
- *2
|
953
|
+
- *3
|
954
|
+
- *4
|
955
|
+
- *5
|
956
|
+
- name: RUBY_VERSION
|
957
|
+
value: 3.0.5
|
958
|
+
- name: GEMSET
|
959
|
+
value: redis-5
|
960
|
+
- name: BUNDLE_GEMFILE
|
961
|
+
value: gemfiles/redis-5.gemfile
|
962
|
+
- name: _RUBYGEMS_VERSION
|
963
|
+
value: latest
|
964
|
+
- name: _BUNDLER_VERSION
|
965
|
+
value: latest
|
966
|
+
commands:
|
967
|
+
- "./support/bundler_wrapper exec rake test"
|
902
968
|
- name: Ruby 3.1.3
|
903
969
|
dependencies:
|
904
970
|
- Validation
|
@@ -1280,6 +1346,42 @@ blocks:
|
|
1280
1346
|
value: latest
|
1281
1347
|
commands:
|
1282
1348
|
- "./support/bundler_wrapper exec rake test"
|
1349
|
+
- name: Ruby 3.1.3 for redis-4
|
1350
|
+
env_vars:
|
1351
|
+
- *2
|
1352
|
+
- *3
|
1353
|
+
- *4
|
1354
|
+
- *5
|
1355
|
+
- name: RUBY_VERSION
|
1356
|
+
value: 3.1.3
|
1357
|
+
- name: GEMSET
|
1358
|
+
value: redis-4
|
1359
|
+
- name: BUNDLE_GEMFILE
|
1360
|
+
value: gemfiles/redis-4.gemfile
|
1361
|
+
- name: _RUBYGEMS_VERSION
|
1362
|
+
value: latest
|
1363
|
+
- name: _BUNDLER_VERSION
|
1364
|
+
value: latest
|
1365
|
+
commands:
|
1366
|
+
- "./support/bundler_wrapper exec rake test"
|
1367
|
+
- name: Ruby 3.1.3 for redis-5
|
1368
|
+
env_vars:
|
1369
|
+
- *2
|
1370
|
+
- *3
|
1371
|
+
- *4
|
1372
|
+
- *5
|
1373
|
+
- name: RUBY_VERSION
|
1374
|
+
value: 3.1.3
|
1375
|
+
- name: GEMSET
|
1376
|
+
value: redis-5
|
1377
|
+
- name: BUNDLE_GEMFILE
|
1378
|
+
value: gemfiles/redis-5.gemfile
|
1379
|
+
- name: _RUBYGEMS_VERSION
|
1380
|
+
value: latest
|
1381
|
+
- name: _BUNDLER_VERSION
|
1382
|
+
value: latest
|
1383
|
+
commands:
|
1384
|
+
- "./support/bundler_wrapper exec rake test"
|
1283
1385
|
- name: Ruby 3.2.1
|
1284
1386
|
dependencies:
|
1285
1387
|
- Validation
|
@@ -1661,6 +1763,42 @@ blocks:
|
|
1661
1763
|
value: latest
|
1662
1764
|
commands:
|
1663
1765
|
- "./support/bundler_wrapper exec rake test"
|
1766
|
+
- name: Ruby 3.2.1 for redis-4
|
1767
|
+
env_vars:
|
1768
|
+
- *2
|
1769
|
+
- *3
|
1770
|
+
- *4
|
1771
|
+
- *5
|
1772
|
+
- name: RUBY_VERSION
|
1773
|
+
value: 3.2.1
|
1774
|
+
- name: GEMSET
|
1775
|
+
value: redis-4
|
1776
|
+
- name: BUNDLE_GEMFILE
|
1777
|
+
value: gemfiles/redis-4.gemfile
|
1778
|
+
- name: _RUBYGEMS_VERSION
|
1779
|
+
value: latest
|
1780
|
+
- name: _BUNDLER_VERSION
|
1781
|
+
value: latest
|
1782
|
+
commands:
|
1783
|
+
- "./support/bundler_wrapper exec rake test"
|
1784
|
+
- name: Ruby 3.2.1 for redis-5
|
1785
|
+
env_vars:
|
1786
|
+
- *2
|
1787
|
+
- *3
|
1788
|
+
- *4
|
1789
|
+
- *5
|
1790
|
+
- name: RUBY_VERSION
|
1791
|
+
value: 3.2.1
|
1792
|
+
- name: GEMSET
|
1793
|
+
value: redis-5
|
1794
|
+
- name: BUNDLE_GEMFILE
|
1795
|
+
value: gemfiles/redis-5.gemfile
|
1796
|
+
- name: _RUBYGEMS_VERSION
|
1797
|
+
value: latest
|
1798
|
+
- name: _BUNDLER_VERSION
|
1799
|
+
value: latest
|
1800
|
+
commands:
|
1801
|
+
- "./support/bundler_wrapper exec rake test"
|
1664
1802
|
- name: Ruby jruby-9.4.1.0
|
1665
1803
|
dependencies:
|
1666
1804
|
- Validation
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,22 @@
|
|
1
1
|
# AppSignal for Ruby gem Changelog
|
2
2
|
|
3
|
+
## 3.5.5
|
4
|
+
|
5
|
+
_Published on 2024-02-01._
|
6
|
+
|
7
|
+
### Added
|
8
|
+
|
9
|
+
- [d44f7092](https://github.com/appsignal/appsignal-ruby/commit/d44f7092a6a915ebe2825db7b0fe4e8e6eccd873) patch - Add support for the `redis-client` gem, which is used by the redis gem since version 5.
|
10
|
+
|
11
|
+
### Changed
|
12
|
+
|
13
|
+
- [6b9b814d](https://github.com/appsignal/appsignal-ruby/commit/6b9b814d958ca0a13f6da312746c11481bb46cfb) patch - Make the debug log message for OpenTelemetry spans from libraries we don't automatically recognize more clear. Mention the span id and the instrumentation library.
|
14
|
+
- [6b9b814d](https://github.com/appsignal/appsignal-ruby/commit/6b9b814d958ca0a13f6da312746c11481bb46cfb) patch - Fix an issue where queries containing a MySQL leading type indicator would only be partially sanitised.
|
15
|
+
|
16
|
+
### Fixed
|
17
|
+
|
18
|
+
- [e0f7b0e5](https://github.com/appsignal/appsignal-ruby/commit/e0f7b0e52eb5ed886d0f72941bd1c3c8fe15c9c0) patch - Add more testing to JRuby extension installation to better report the installation result and any possible failures.
|
19
|
+
|
3
20
|
## 3.5.4
|
4
21
|
|
5
22
|
### Changed
|
data/README.md
CHANGED
@@ -253,6 +253,8 @@ BUNDLE_GEMFILE=gemfiles/sequel-435.gemfile bundle exec rspec
|
|
253
253
|
BUNDLE_GEMFILE=gemfiles/sequel.gemfile bundle exec rspec
|
254
254
|
BUNDLE_GEMFILE=gemfiles/sinatra.gemfile bundle exec rspec
|
255
255
|
BUNDLE_GEMFILE=gemfiles/webmachine.gemfile bundle exec rspec
|
256
|
+
BUNDLE_GEMFILE=gemfiles/redis-4.gemfile bundle exec rspec
|
257
|
+
BUNDLE_GEMFILE=gemfiles/redis-5.gemfile bundle exec rspec
|
256
258
|
```
|
257
259
|
|
258
260
|
If you have either [RVM][rvm], [rbenv][rbenv] or [chruby][chruby] installed you
|
data/build_matrix.yml
CHANGED
@@ -5,7 +5,7 @@ semaphore: # Default `.semaphore/semaphore.yml` contents
|
|
5
5
|
agent:
|
6
6
|
machine:
|
7
7
|
type: e1-standard-2
|
8
|
-
os_image:
|
8
|
+
os_image: ubuntu2004
|
9
9
|
|
10
10
|
# Cancel all running and queued workflows before this one
|
11
11
|
auto_cancel:
|
@@ -18,19 +18,13 @@ semaphore: # Default `.semaphore/semaphore.yml` contents
|
|
18
18
|
- name: RUNNING_IN_CI
|
19
19
|
value: "true"
|
20
20
|
- name: _BUNDLER_CACHE
|
21
|
-
value: "
|
21
|
+
value: "v3"
|
22
22
|
- name: _GEMS_CACHE
|
23
|
-
value: "
|
23
|
+
value: "v3"
|
24
24
|
prologue:
|
25
25
|
commands:
|
26
26
|
- checkout
|
27
27
|
- rm -f $HOME/.rbenv/plugins/rbenv-gem-rehash/etc/rbenv.d/exec/~gem-rehash.bash
|
28
|
-
- |
|
29
|
-
if [ -n "$_C_VERSION" ]; then
|
30
|
-
sem-version c $_C_VERSION
|
31
|
-
else
|
32
|
-
echo Skipping C-lang install
|
33
|
-
fi
|
34
28
|
- |
|
35
29
|
if [ -n "$RUBY_VERSION" ]; then
|
36
30
|
if ! (sem-version ruby "$RUBY_VERSION"); then
|
@@ -245,3 +239,5 @@ matrix:
|
|
245
239
|
- gem: "sinatra"
|
246
240
|
- gem: "webmachine1"
|
247
241
|
- gem: "webmachine2"
|
242
|
+
- gem: "redis-4"
|
243
|
+
- gem: "redis-5"
|
data/ext/Rakefile
CHANGED
@@ -29,8 +29,14 @@ task :default do
|
|
29
29
|
|
30
30
|
unarchive(archive)
|
31
31
|
end
|
32
|
+
|
33
|
+
# Have the extension loader raise the error if it encountes a problem
|
34
|
+
ENV["_APPSIGNAL_EXTENSION_INSTALL"] = "true"
|
35
|
+
# Load the extension to test if all functions can be "attached" with FFI
|
36
|
+
require File.expand_path("../lib/appsignal/extension/jruby.rb", __dir__)
|
37
|
+
|
32
38
|
successful_installation
|
33
|
-
rescue => e
|
39
|
+
rescue StandardError, LoadError => e
|
34
40
|
fail_installation_with_error(e)
|
35
41
|
ensure
|
36
42
|
create_dummy_makefile unless installation_succeeded?
|
data/ext/agent.rb
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
# Modifications to this file will be overwritten with the next agent release.
|
7
7
|
|
8
8
|
APPSIGNAL_AGENT_CONFIG = {
|
9
|
-
"version" => "
|
9
|
+
"version" => "0.31.2",
|
10
10
|
"mirrors" => [
|
11
11
|
"https://appsignal-agent-releases.global.ssl.fastly.net",
|
12
12
|
"https://d135dj0rjqvssy.cloudfront.net"
|
@@ -14,131 +14,131 @@ APPSIGNAL_AGENT_CONFIG = {
|
|
14
14
|
"triples" => {
|
15
15
|
"x86_64-darwin" => {
|
16
16
|
"static" => {
|
17
|
-
"checksum" => "
|
17
|
+
"checksum" => "42cdf814a89e5d6bd6e5cd9ba84103df82b43418012bb4f9251e98d0c3627759",
|
18
18
|
"filename" => "appsignal-x86_64-darwin-all-static.tar.gz"
|
19
19
|
},
|
20
20
|
"dynamic" => {
|
21
|
-
"checksum" => "
|
21
|
+
"checksum" => "7497d64b125849d306ebca71a2a2ce83e3f76dbfbc809b43b5948e12b7351b96",
|
22
22
|
"filename" => "appsignal-x86_64-darwin-all-dynamic.tar.gz"
|
23
23
|
}
|
24
24
|
},
|
25
25
|
"universal-darwin" => {
|
26
26
|
"static" => {
|
27
|
-
"checksum" => "
|
27
|
+
"checksum" => "42cdf814a89e5d6bd6e5cd9ba84103df82b43418012bb4f9251e98d0c3627759",
|
28
28
|
"filename" => "appsignal-x86_64-darwin-all-static.tar.gz"
|
29
29
|
},
|
30
30
|
"dynamic" => {
|
31
|
-
"checksum" => "
|
31
|
+
"checksum" => "7497d64b125849d306ebca71a2a2ce83e3f76dbfbc809b43b5948e12b7351b96",
|
32
32
|
"filename" => "appsignal-x86_64-darwin-all-dynamic.tar.gz"
|
33
33
|
}
|
34
34
|
},
|
35
35
|
"aarch64-darwin" => {
|
36
36
|
"static" => {
|
37
|
-
"checksum" => "
|
37
|
+
"checksum" => "8db9e31e090e767b1157d969521967f322be9dd73eb1b677b6192eb4c987af72",
|
38
38
|
"filename" => "appsignal-aarch64-darwin-all-static.tar.gz"
|
39
39
|
},
|
40
40
|
"dynamic" => {
|
41
|
-
"checksum" => "
|
41
|
+
"checksum" => "612d68620836b324bc61d8d4fd42630e50641116688ac78f2a7c806e2ee10ad1",
|
42
42
|
"filename" => "appsignal-aarch64-darwin-all-dynamic.tar.gz"
|
43
43
|
}
|
44
44
|
},
|
45
45
|
"arm64-darwin" => {
|
46
46
|
"static" => {
|
47
|
-
"checksum" => "
|
47
|
+
"checksum" => "8db9e31e090e767b1157d969521967f322be9dd73eb1b677b6192eb4c987af72",
|
48
48
|
"filename" => "appsignal-aarch64-darwin-all-static.tar.gz"
|
49
49
|
},
|
50
50
|
"dynamic" => {
|
51
|
-
"checksum" => "
|
51
|
+
"checksum" => "612d68620836b324bc61d8d4fd42630e50641116688ac78f2a7c806e2ee10ad1",
|
52
52
|
"filename" => "appsignal-aarch64-darwin-all-dynamic.tar.gz"
|
53
53
|
}
|
54
54
|
},
|
55
55
|
"arm-darwin" => {
|
56
56
|
"static" => {
|
57
|
-
"checksum" => "
|
57
|
+
"checksum" => "8db9e31e090e767b1157d969521967f322be9dd73eb1b677b6192eb4c987af72",
|
58
58
|
"filename" => "appsignal-aarch64-darwin-all-static.tar.gz"
|
59
59
|
},
|
60
60
|
"dynamic" => {
|
61
|
-
"checksum" => "
|
61
|
+
"checksum" => "612d68620836b324bc61d8d4fd42630e50641116688ac78f2a7c806e2ee10ad1",
|
62
62
|
"filename" => "appsignal-aarch64-darwin-all-dynamic.tar.gz"
|
63
63
|
}
|
64
64
|
},
|
65
65
|
"aarch64-linux" => {
|
66
66
|
"static" => {
|
67
|
-
"checksum" => "
|
67
|
+
"checksum" => "72873d1c7ad2d4d744fe3dd4370fb07b4c9d8a4f4d87febb8dbe08c532eebff8",
|
68
68
|
"filename" => "appsignal-aarch64-linux-all-static.tar.gz"
|
69
69
|
},
|
70
70
|
"dynamic" => {
|
71
|
-
"checksum" => "
|
71
|
+
"checksum" => "b1510e425a0719cc7e7fe08e760c4794ece81108647ef73babffbb1eec93b5c7",
|
72
72
|
"filename" => "appsignal-aarch64-linux-all-dynamic.tar.gz"
|
73
73
|
}
|
74
74
|
},
|
75
75
|
"i686-linux" => {
|
76
76
|
"static" => {
|
77
|
-
"checksum" => "
|
77
|
+
"checksum" => "8779fdd2f02b034463900456b5b65a92d3a9165b87ba896b01baded96729685a",
|
78
78
|
"filename" => "appsignal-i686-linux-all-static.tar.gz"
|
79
79
|
},
|
80
80
|
"dynamic" => {
|
81
|
-
"checksum" => "
|
81
|
+
"checksum" => "be30f7ff817a048af9f133ffd0da5c408f50b38e75bb3f25e47cd3916d5e4fac",
|
82
82
|
"filename" => "appsignal-i686-linux-all-dynamic.tar.gz"
|
83
83
|
}
|
84
84
|
},
|
85
85
|
"x86-linux" => {
|
86
86
|
"static" => {
|
87
|
-
"checksum" => "
|
87
|
+
"checksum" => "8779fdd2f02b034463900456b5b65a92d3a9165b87ba896b01baded96729685a",
|
88
88
|
"filename" => "appsignal-i686-linux-all-static.tar.gz"
|
89
89
|
},
|
90
90
|
"dynamic" => {
|
91
|
-
"checksum" => "
|
91
|
+
"checksum" => "be30f7ff817a048af9f133ffd0da5c408f50b38e75bb3f25e47cd3916d5e4fac",
|
92
92
|
"filename" => "appsignal-i686-linux-all-dynamic.tar.gz"
|
93
93
|
}
|
94
94
|
},
|
95
95
|
"x86_64-linux" => {
|
96
96
|
"static" => {
|
97
|
-
"checksum" => "
|
97
|
+
"checksum" => "36fc29655d13e4dfe7bcbe2c798bfc16d68194610ff354d43e977f3768f31458",
|
98
98
|
"filename" => "appsignal-x86_64-linux-all-static.tar.gz"
|
99
99
|
},
|
100
100
|
"dynamic" => {
|
101
|
-
"checksum" => "
|
101
|
+
"checksum" => "d37e57f55f44ac88a2b803fc17942f60137fbfa819134388941d22f579518170",
|
102
102
|
"filename" => "appsignal-x86_64-linux-all-dynamic.tar.gz"
|
103
103
|
}
|
104
104
|
},
|
105
105
|
"x86_64-linux-musl" => {
|
106
106
|
"static" => {
|
107
|
-
"checksum" => "
|
107
|
+
"checksum" => "59b6cef9797746da9d6717effc0892a2f2219767734a0e76f8b3d1578dc0d9e0",
|
108
108
|
"filename" => "appsignal-x86_64-linux-musl-all-static.tar.gz"
|
109
109
|
},
|
110
110
|
"dynamic" => {
|
111
|
-
"checksum" => "
|
111
|
+
"checksum" => "703d657ee15b69563c000fe150e368a91a12c9b39f16976f23a4b191284204f3",
|
112
112
|
"filename" => "appsignal-x86_64-linux-musl-all-dynamic.tar.gz"
|
113
113
|
}
|
114
114
|
},
|
115
115
|
"aarch64-linux-musl" => {
|
116
116
|
"static" => {
|
117
|
-
"checksum" => "
|
117
|
+
"checksum" => "ec3ab8fcc20d1f31df6003e2ca3dcf257abfeddd1b7912fa6189f1f6905a89ab",
|
118
118
|
"filename" => "appsignal-aarch64-linux-musl-all-static.tar.gz"
|
119
119
|
},
|
120
120
|
"dynamic" => {
|
121
|
-
"checksum" => "
|
121
|
+
"checksum" => "b7a00a09b7e10f500b54913feefd6a16873849324f0e8ec65b36c58bdc1901b0",
|
122
122
|
"filename" => "appsignal-aarch64-linux-musl-all-dynamic.tar.gz"
|
123
123
|
}
|
124
124
|
},
|
125
125
|
"x86_64-freebsd" => {
|
126
126
|
"static" => {
|
127
|
-
"checksum" => "
|
127
|
+
"checksum" => "bd654d5c555f6006e4145d76e27f02c5d22b285f411675a520455d6db6c8e165",
|
128
128
|
"filename" => "appsignal-x86_64-freebsd-all-static.tar.gz"
|
129
129
|
},
|
130
130
|
"dynamic" => {
|
131
|
-
"checksum" => "
|
131
|
+
"checksum" => "b06445f38b7b8b3e47f407540fb24f196dbf0a84583a2ad7f25bbba750930108",
|
132
132
|
"filename" => "appsignal-x86_64-freebsd-all-dynamic.tar.gz"
|
133
133
|
}
|
134
134
|
},
|
135
135
|
"amd64-freebsd" => {
|
136
136
|
"static" => {
|
137
|
-
"checksum" => "
|
137
|
+
"checksum" => "bd654d5c555f6006e4145d76e27f02c5d22b285f411675a520455d6db6c8e165",
|
138
138
|
"filename" => "appsignal-x86_64-freebsd-all-static.tar.gz"
|
139
139
|
},
|
140
140
|
"dynamic" => {
|
141
|
-
"checksum" => "
|
141
|
+
"checksum" => "b06445f38b7b8b3e47f407540fb24f196dbf0a84583a2ad7f25bbba750930108",
|
142
142
|
"filename" => "appsignal-x86_64-freebsd-all-dynamic.tar.gz"
|
143
143
|
}
|
144
144
|
}
|
@@ -201,7 +201,7 @@ module Appsignal
|
|
201
201
|
)
|
202
202
|
Appsignal.config.write_to_environment
|
203
203
|
Appsignal.start_logger
|
204
|
-
Appsignal.
|
204
|
+
Appsignal.internal_logger.info("Starting AppSignal diagnose")
|
205
205
|
end
|
206
206
|
|
207
207
|
def run_agent_diagnose_mode
|
data/lib/appsignal/config.rb
CHANGED
@@ -219,8 +219,8 @@ module Appsignal
|
|
219
219
|
# use. This will be overwritten by the file config and environment
|
220
220
|
# variables config.
|
221
221
|
# @param logger [Logger] The logger to use for the AppSignal gem. This is
|
222
|
-
# used by the configuration class only. Default:
|
223
|
-
# also {Appsignal.start_logger}.
|
222
|
+
# used by the configuration class only. Default:
|
223
|
+
# {Appsignal.internal_logger}. See also {Appsignal.start_logger}.
|
224
224
|
# @param config_file [String] Custom config file location. Default
|
225
225
|
# `config/appsignal.yml`.
|
226
226
|
#
|
@@ -230,8 +230,13 @@ module Appsignal
|
|
230
230
|
# Configuration load order
|
231
231
|
# @see https://docs.appsignal.com/ruby/instrumentation/integrating-appsignal.html
|
232
232
|
# How to integrate AppSignal manually
|
233
|
-
def initialize(
|
234
|
-
|
233
|
+
def initialize(
|
234
|
+
root_path,
|
235
|
+
env,
|
236
|
+
initial_config = {},
|
237
|
+
logger = Appsignal.internal_logger,
|
238
|
+
config_file = nil
|
239
|
+
)
|
235
240
|
@config_file_error = false
|
236
241
|
@root_path = root_path
|
237
242
|
@config_file = config_file
|
@@ -10,9 +10,9 @@ module Appsignal
|
|
10
10
|
#
|
11
11
|
# The value of the environment metadata is given as a block that captures
|
12
12
|
# errors that might be raised while fetching the value. It will not
|
13
|
-
# re-raise errors, but instead log them using the
|
14
|
-
# ensures AppSignal will not cause an
|
15
|
-
# collecting this metadata.
|
13
|
+
# re-raise errors, but instead log them using the
|
14
|
+
# {Appsignal.internal_logger}. This ensures AppSignal will not cause an
|
15
|
+
# error in the application when collecting this metadata.
|
16
16
|
#
|
17
17
|
# @example Reporting a key and value
|
18
18
|
# Appsignal::Environment.report("ruby_version") { RUBY_VERSION }
|
@@ -34,8 +34,8 @@ module Appsignal
|
|
34
34
|
when String
|
35
35
|
key
|
36
36
|
else
|
37
|
-
Appsignal.
|
38
|
-
"Unsupported value type for #{key.inspect}"
|
37
|
+
Appsignal.internal_logger.error "Unable to report on environment " \
|
38
|
+
"metadata: Unsupported value type for #{key.inspect}"
|
39
39
|
return
|
40
40
|
end
|
41
41
|
|
@@ -43,7 +43,7 @@ module Appsignal
|
|
43
43
|
begin
|
44
44
|
yield
|
45
45
|
rescue => e
|
46
|
-
Appsignal.
|
46
|
+
Appsignal.internal_logger.error \
|
47
47
|
"Unable to report on environment metadata #{key.inspect}:\n" \
|
48
48
|
"#{e.class}: #{e}"
|
49
49
|
return
|
@@ -56,26 +56,35 @@ module Appsignal
|
|
56
56
|
when String
|
57
57
|
yielded_value
|
58
58
|
else
|
59
|
-
Appsignal.
|
60
|
-
"#{key.inspect}: Unsupported value type for " \
|
59
|
+
Appsignal.internal_logger.error "Unable to report on environment " \
|
60
|
+
"metadata #{key.inspect}: Unsupported value type for " \
|
61
61
|
"#{yielded_value.inspect}"
|
62
62
|
return
|
63
63
|
end
|
64
64
|
|
65
65
|
Appsignal::Extension.set_environment_metadata(key, value)
|
66
66
|
rescue => e
|
67
|
-
Appsignal.
|
68
|
-
"#{e.class}: #{e}"
|
67
|
+
Appsignal.internal_logger.error "Unable to report on environment " \
|
68
|
+
"metadata:\n#{e.class}: #{e}"
|
69
69
|
end
|
70
70
|
|
71
71
|
# @see report_supported_gems
|
72
72
|
SUPPORTED_GEMS = %w[
|
73
73
|
actioncable
|
74
|
+
actionmailer
|
74
75
|
activejob
|
76
|
+
activerecord
|
75
77
|
capistrano
|
76
78
|
celluloid
|
77
79
|
data_mapper
|
78
80
|
delayed_job
|
81
|
+
dry-monitor
|
82
|
+
elasticsearch
|
83
|
+
excon
|
84
|
+
faraday
|
85
|
+
gvltools
|
86
|
+
hanami
|
87
|
+
hiredis
|
79
88
|
mongo_ruby_driver
|
80
89
|
padrino
|
81
90
|
passenger
|
@@ -85,7 +94,9 @@ module Appsignal
|
|
85
94
|
rails
|
86
95
|
rake
|
87
96
|
redis
|
97
|
+
redis-client
|
88
98
|
resque
|
99
|
+
rom
|
89
100
|
sequel
|
90
101
|
shoryuken
|
91
102
|
sidekiq
|
@@ -114,15 +125,15 @@ module Appsignal
|
|
114
125
|
report("ruby_#{gem_name}_version") { gem_spec.version.to_s }
|
115
126
|
end
|
116
127
|
rescue => e
|
117
|
-
Appsignal.
|
128
|
+
Appsignal.internal_logger.error "Unable to report supported gems:\n" \
|
118
129
|
"#{e.class}: #{e}"
|
119
130
|
end
|
120
131
|
|
121
132
|
def self.report_enabled(feature)
|
122
133
|
Appsignal::Environment.report("ruby_#{feature}_enabled") { true }
|
123
134
|
rescue => e
|
124
|
-
Appsignal.
|
125
|
-
"#{e.class}: #{e}"
|
135
|
+
Appsignal.internal_logger.error "Unable to report integration " \
|
136
|
+
"enabled:\n#{e.class}: #{e}"
|
126
137
|
end
|
127
138
|
end
|
128
139
|
end
|
@@ -242,14 +242,15 @@ module Appsignal
|
|
242
242
|
[:pointer],
|
243
243
|
:appsignal_string
|
244
244
|
|
245
|
-
Appsignal.extension_loaded = true
|
245
|
+
Appsignal.extension_loaded = true if Appsignal.respond_to? :extension_loaded=
|
246
246
|
rescue LoadError => error
|
247
247
|
error_message = "ERROR: AppSignal failed to load extension. " \
|
248
248
|
"Please run `appsignal diagnose` and email us at support@appsignal.com\n" \
|
249
249
|
"#{error.class}: #{error.message}"
|
250
|
-
Appsignal.
|
250
|
+
Appsignal.internal_logger.error(error_message) if Appsignal.respond_to? :internal_logger
|
251
251
|
Kernel.warn error_message
|
252
|
-
Appsignal.extension_loaded = false
|
252
|
+
Appsignal.extension_loaded = false if Appsignal.respond_to? :extension_loaded=
|
253
|
+
raise error if ENV["_APPSIGNAL_EXTENSION_INSTALL"] == "true"
|
253
254
|
end
|
254
255
|
|
255
256
|
def start
|
data/lib/appsignal/extension.rb
CHANGED
@@ -12,7 +12,7 @@ rescue LoadError => error
|
|
12
12
|
error_message = "ERROR: AppSignal failed to load extension. " \
|
13
13
|
"Please run `appsignal diagnose` and email us at support@appsignal.com\n" \
|
14
14
|
"#{error.class}: #{error.message}"
|
15
|
-
Appsignal.
|
15
|
+
Appsignal.internal_logger.error(error_message)
|
16
16
|
Kernel.warn error_message
|
17
17
|
Appsignal.extension_loaded = false
|
18
18
|
end
|