appsignal 3.5.4-java → 3.5.5-java
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 +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
|