appsignal 3.5.3 → 3.5.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/.semaphore/semaphore.yml +180 -14
  3. data/CHANGELOG.md +36 -0
  4. data/README.md +2 -0
  5. data/Rakefile +3 -1
  6. data/build_matrix.yml +7 -13
  7. data/ext/Rakefile +8 -1
  8. data/ext/agent.rb +27 -27
  9. data/ext/appsignal_extension.c +0 -24
  10. data/ext/base.rb +4 -1
  11. data/gemfiles/redis-4.gemfile +5 -0
  12. data/gemfiles/redis-5.gemfile +6 -0
  13. data/lib/appsignal/cli/diagnose/paths.rb +25 -6
  14. data/lib/appsignal/cli/diagnose.rb +1 -1
  15. data/lib/appsignal/config.rb +9 -4
  16. data/lib/appsignal/environment.rb +24 -13
  17. data/lib/appsignal/event_formatter.rb +1 -1
  18. data/lib/appsignal/extension/jruby.rb +4 -17
  19. data/lib/appsignal/extension.rb +1 -1
  20. data/lib/appsignal/helpers/instrumentation.rb +7 -7
  21. data/lib/appsignal/helpers/metrics.rb +15 -13
  22. data/lib/appsignal/hooks/redis.rb +1 -0
  23. data/lib/appsignal/hooks/redis_client.rb +27 -0
  24. data/lib/appsignal/hooks.rb +3 -2
  25. data/lib/appsignal/integrations/hanami.rb +1 -1
  26. data/lib/appsignal/integrations/padrino.rb +1 -1
  27. data/lib/appsignal/integrations/railtie.rb +1 -1
  28. data/lib/appsignal/integrations/redis_client.rb +20 -0
  29. data/lib/appsignal/integrations/sidekiq.rb +1 -1
  30. data/lib/appsignal/integrations/sinatra.rb +1 -1
  31. data/lib/appsignal/minutely.rb +4 -4
  32. data/lib/appsignal/probes/gvl.rb +1 -1
  33. data/lib/appsignal/probes/helpers.rb +1 -1
  34. data/lib/appsignal/probes/mri.rb +1 -1
  35. data/lib/appsignal/probes/sidekiq.rb +5 -5
  36. data/lib/appsignal/rack/generic_instrumentation.rb +1 -1
  37. data/lib/appsignal/rack/rails_instrumentation.rb +2 -2
  38. data/lib/appsignal/rack/sinatra_instrumentation.rb +2 -2
  39. data/lib/appsignal/rack/streaming_listener.rb +1 -1
  40. data/lib/appsignal/span.rb +2 -2
  41. data/lib/appsignal/transaction.rb +11 -11
  42. data/lib/appsignal/utils/deprecation_message.rb +2 -2
  43. data/lib/appsignal/version.rb +1 -1
  44. data/lib/appsignal.rb +37 -31
  45. data/spec/lib/appsignal/cli/diagnose_spec.rb +17 -12
  46. data/spec/lib/appsignal/config_spec.rb +2 -2
  47. data/spec/lib/appsignal/hooks/activejob_spec.rb +1 -1
  48. data/spec/lib/appsignal/hooks/redis_client_spec.rb +222 -0
  49. data/spec/lib/appsignal/hooks/redis_spec.rb +98 -76
  50. data/spec/lib/appsignal/hooks_spec.rb +4 -4
  51. data/spec/lib/appsignal/integrations/railtie_spec.rb +2 -2
  52. data/spec/lib/appsignal/integrations/sidekiq_spec.rb +3 -3
  53. data/spec/lib/appsignal/integrations/sinatra_spec.rb +2 -2
  54. data/spec/lib/appsignal/minutely_spec.rb +2 -2
  55. data/spec/lib/appsignal/rack/rails_instrumentation_spec.rb +1 -1
  56. data/spec/lib/appsignal/transaction_spec.rb +4 -4
  57. data/spec/lib/appsignal_spec.rb +62 -60
  58. data/spec/spec_helper.rb +1 -1
  59. data/spec/support/helpers/config_helpers.rb +6 -2
  60. data/spec/support/helpers/dependency_helper.rb +9 -1
  61. data/spec/support/helpers/log_helpers.rb +2 -2
  62. metadata +7 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 57cf433024d487874411fa33c709e6bfeee3610c6e096e86e9741630e7186399
4
- data.tar.gz: 6a3c4a5007787d7f92b829463d89681eef2c3276ce5362ec4fc6c9b7d7f14667
3
+ metadata.gz: d3267960e538cd5adc0ee8f5eb3262da34e31f73a7e476229986a04530608a2d
4
+ data.tar.gz: 8e095d524c562120f15fc8bf983459488dc1e6d537bf20490855057d76eb119e
5
5
  SHA512:
6
- metadata.gz: 8639a8c55142c2c4b418318cca5ebf271d8b406b5755e53d430eb7db8506bceb9b68620517d1ae3a8b3d1ab94e54e2f3fd2f0d5cfa3e0fd216d59478b55c39ec
7
- data.tar.gz: 2ddc9aad40a80daf7b694023a12b4c09ec6b4601ff9b41e7e031693610c1d33718a83ebfa4b1a18625720d5a6cb6f795ebea01cd47f6bda0de49c6d95e522255
6
+ metadata.gz: c72a0a85dc9f4c448692c15d3d87ce1d34e858beed3ed3e211d121348fe756f4f3ccae4b1606edc96b74aed0cbf8d789eeb209bc68e5ee1384d724664daca94c
7
+ data.tar.gz: cbacece1707e5c1b7ddc473863f5aa9bacbb317979827f1e752957dd9ec72270b1bbd5baf4637fa4ba37f03b471fdbd7c22ebb7bcf63a07d322a91952af1e746
@@ -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: ubuntu1804
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: v2
20
+ value: v3
21
21
  - name: _GEMS_CACHE
22
- value: v2
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
@@ -120,6 +114,9 @@ blocks:
120
114
  - cache restore $_GEMS_CACHE-gems-$RUBY_VERSION-diagnose-$(checksum Gemfile)
121
115
  - "./support/bundler_wrapper install --jobs=3 --retry=3"
122
116
  - "./support/bundler_wrapper exec rake extension:install"
117
+ - "[ -e ext/install.report ] && cat ext/install.report || echo 'No ext/install.report
118
+ file found'"
119
+ - "[ -f ext/mkmf.log ] && cat ext/mkmf.log || echo 'No ext/mkmf.log file found'"
123
120
  - git submodule init
124
121
  - git submodule update
125
122
  jobs:
@@ -152,6 +149,9 @@ blocks:
152
149
  - bundle config set clean 'true'
153
150
  - "./support/bundler_wrapper install --jobs=3 --retry=3"
154
151
  - "./support/bundler_wrapper exec rake extension:install"
152
+ - "[ -e ext/install.report ] && cat ext/install.report || echo 'No ext/install.report
153
+ file found'"
154
+ - "[ -f ext/mkmf.log ] && cat ext/mkmf.log || echo 'No ext/mkmf.log file found'"
155
155
  epilogue: &1
156
156
  on_pass:
157
157
  commands:
@@ -159,11 +159,6 @@ blocks:
159
159
  appsignal.gemspec) .bundle
160
160
  - cache store $_GEMS_CACHE-gems-$RUBY_VERSION-$(checksum $BUNDLE_GEMFILE)-$(checksum
161
161
  appsignal.gemspec) $HOME/.gem
162
- on_fail:
163
- commands:
164
- - "[ -e ext/install.report ] && cat ext/install.report || echo 'No ext/install.report
165
- file found'"
166
- - "[ -f ext/mkmf.log ] && cat ext/mkmf.log || echo 'No ext/mkmf.log file found'"
167
162
  jobs:
168
163
  - name: Ruby 2.7.8 for no_dependencies
169
164
  env_vars:
@@ -206,6 +201,9 @@ blocks:
206
201
  - bundle config set clean 'true'
207
202
  - "./support/bundler_wrapper install --jobs=3 --retry=3"
208
203
  - "./support/bundler_wrapper exec rake extension:install"
204
+ - "[ -e ext/install.report ] && cat ext/install.report || echo 'No ext/install.report
205
+ file found'"
206
+ - "[ -f ext/mkmf.log ] && cat ext/mkmf.log || echo 'No ext/mkmf.log file found'"
209
207
  epilogue: *1
210
208
  jobs:
211
209
  - name: Ruby 2.7.8 for capistrano2
@@ -496,6 +494,42 @@ blocks:
496
494
  value: latest
497
495
  commands:
498
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"
499
533
  - name: Ruby 3.0.5
500
534
  dependencies:
501
535
  - Validation
@@ -510,6 +544,9 @@ blocks:
510
544
  - bundle config set clean 'true'
511
545
  - "./support/bundler_wrapper install --jobs=3 --retry=3"
512
546
  - "./support/bundler_wrapper exec rake extension:install"
547
+ - "[ -e ext/install.report ] && cat ext/install.report || echo 'No ext/install.report
548
+ file found'"
549
+ - "[ -f ext/mkmf.log ] && cat ext/mkmf.log || echo 'No ext/mkmf.log file found'"
513
550
  epilogue: *1
514
551
  jobs:
515
552
  - name: Ruby 3.0.5 for no_dependencies
@@ -545,6 +582,9 @@ blocks:
545
582
  - bundle config set clean 'true'
546
583
  - "./support/bundler_wrapper install --jobs=3 --retry=3"
547
584
  - "./support/bundler_wrapper exec rake extension:install"
585
+ - "[ -e ext/install.report ] && cat ext/install.report || echo 'No ext/install.report
586
+ file found'"
587
+ - "[ -f ext/mkmf.log ] && cat ext/mkmf.log || echo 'No ext/mkmf.log file found'"
548
588
  epilogue: *1
549
589
  jobs:
550
590
  - name: Ruby 3.0.5 for capistrano2
@@ -889,6 +929,42 @@ blocks:
889
929
  value: latest
890
930
  commands:
891
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"
892
968
  - name: Ruby 3.1.3
893
969
  dependencies:
894
970
  - Validation
@@ -903,6 +979,9 @@ blocks:
903
979
  - bundle config set clean 'true'
904
980
  - "./support/bundler_wrapper install --jobs=3 --retry=3"
905
981
  - "./support/bundler_wrapper exec rake extension:install"
982
+ - "[ -e ext/install.report ] && cat ext/install.report || echo 'No ext/install.report
983
+ file found'"
984
+ - "[ -f ext/mkmf.log ] && cat ext/mkmf.log || echo 'No ext/mkmf.log file found'"
906
985
  epilogue: *1
907
986
  jobs:
908
987
  - name: Ruby 3.1.3 for no_dependencies
@@ -938,6 +1017,9 @@ blocks:
938
1017
  - bundle config set clean 'true'
939
1018
  - "./support/bundler_wrapper install --jobs=3 --retry=3"
940
1019
  - "./support/bundler_wrapper exec rake extension:install"
1020
+ - "[ -e ext/install.report ] && cat ext/install.report || echo 'No ext/install.report
1021
+ file found'"
1022
+ - "[ -f ext/mkmf.log ] && cat ext/mkmf.log || echo 'No ext/mkmf.log file found'"
941
1023
  epilogue: *1
942
1024
  jobs:
943
1025
  - name: Ruby 3.1.3 for capistrano2
@@ -1264,6 +1346,42 @@ blocks:
1264
1346
  value: latest
1265
1347
  commands:
1266
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"
1267
1385
  - name: Ruby 3.2.1
1268
1386
  dependencies:
1269
1387
  - Validation
@@ -1278,6 +1396,9 @@ blocks:
1278
1396
  - bundle config set clean 'true'
1279
1397
  - "./support/bundler_wrapper install --jobs=3 --retry=3"
1280
1398
  - "./support/bundler_wrapper exec rake extension:install"
1399
+ - "[ -e ext/install.report ] && cat ext/install.report || echo 'No ext/install.report
1400
+ file found'"
1401
+ - "[ -f ext/mkmf.log ] && cat ext/mkmf.log || echo 'No ext/mkmf.log file found'"
1281
1402
  epilogue: *1
1282
1403
  jobs:
1283
1404
  - name: Ruby 3.2.1 for no_dependencies
@@ -1313,6 +1434,9 @@ blocks:
1313
1434
  - bundle config set clean 'true'
1314
1435
  - "./support/bundler_wrapper install --jobs=3 --retry=3"
1315
1436
  - "./support/bundler_wrapper exec rake extension:install"
1437
+ - "[ -e ext/install.report ] && cat ext/install.report || echo 'No ext/install.report
1438
+ file found'"
1439
+ - "[ -f ext/mkmf.log ] && cat ext/mkmf.log || echo 'No ext/mkmf.log file found'"
1316
1440
  epilogue: *1
1317
1441
  jobs:
1318
1442
  - name: Ruby 3.2.1 for capistrano2
@@ -1639,6 +1763,42 @@ blocks:
1639
1763
  value: latest
1640
1764
  commands:
1641
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"
1642
1802
  - name: Ruby jruby-9.4.1.0
1643
1803
  dependencies:
1644
1804
  - Validation
@@ -1653,6 +1813,9 @@ blocks:
1653
1813
  - bundle config set clean 'true'
1654
1814
  - "./support/bundler_wrapper install --jobs=3 --retry=3"
1655
1815
  - "./support/bundler_wrapper exec rake extension:install"
1816
+ - "[ -e ext/install.report ] && cat ext/install.report || echo 'No ext/install.report
1817
+ file found'"
1818
+ - "[ -f ext/mkmf.log ] && cat ext/mkmf.log || echo 'No ext/mkmf.log file found'"
1656
1819
  epilogue: *1
1657
1820
  jobs:
1658
1821
  - name: Ruby jruby-9.4.1.0 for no_dependencies
@@ -1688,6 +1851,9 @@ blocks:
1688
1851
  - bundle config set clean 'true'
1689
1852
  - "./support/bundler_wrapper install --jobs=3 --retry=3"
1690
1853
  - "./support/bundler_wrapper exec rake extension:install"
1854
+ - "[ -e ext/install.report ] && cat ext/install.report || echo 'No ext/install.report
1855
+ file found'"
1856
+ - "[ -f ext/mkmf.log ] && cat ext/mkmf.log || echo 'No ext/mkmf.log file found'"
1691
1857
  epilogue: *1
1692
1858
  jobs:
1693
1859
  - name: Ruby jruby-9.4.1.0 for rails-6.0
data/CHANGELOG.md CHANGED
@@ -1,5 +1,41 @@
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
+
20
+ ## 3.5.4
21
+
22
+ ### Changed
23
+
24
+ - [1a863490](https://github.com/appsignal/appsignal-ruby/commit/1a863490046318b8cee5fff2ac341fb73065f252) patch - Fix disk usage returning a Vec with no entries on Alpine Linux when the `df --local` command fails.
25
+
26
+ ### Deprecated
27
+
28
+ - [bb98744b](https://github.com/appsignal/appsignal-ruby/commit/bb98744b1b6d34db71b5f46279b1a9b26039bd0f) patch - Deprecate the `Appsignal.set_host_guage` and `Appsignal.set_process_gauge` helper methods in the Ruby gem. These methods would already log deprecation warnings in the `appsignal.log` file, but now also as a Ruby warning. These methods will be removed in the next major version. These methods already did not report any metrics, and still do not.
29
+
30
+ ### Removed
31
+
32
+ - [1a863490](https://github.com/appsignal/appsignal-ruby/commit/1a863490046318b8cee5fff2ac341fb73065f252) patch - Remove the `appsignal_set_host_guage` and `appsignal_set_process_gauge` extension functions. These functions were already deprecated and did not report any metrics.
33
+
34
+ ### Fixed
35
+
36
+ - [0637b71d](https://github.com/appsignal/appsignal-ruby/commit/0637b71dedde155a2494c56f69bf3217e87e851d) patch - Fix the Makefile log path inclusion in the diagnose report. The diagnose tool didn't look in the correct gem extension directory for this log file.
37
+ - [fe71d78b](https://github.com/appsignal/appsignal-ruby/commit/fe71d78b2c897203bac5e6225bc1e21c6ba2c168) patch - Fix reporting of the Ruby syntax version and JRuby version in install report better.
38
+
3
39
  ## 3.5.3
4
40
 
5
41
  ### 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/Rakefile CHANGED
@@ -34,7 +34,9 @@ def build_task(matrix, ruby_version, type = nil)
34
34
  "task" => {
35
35
  "prologue" => matrix["prologue"].merge(
36
36
  "commands" => matrix["prologue"]["commands"] + [
37
- "./support/bundler_wrapper exec rake extension:install"
37
+ "./support/bundler_wrapper exec rake extension:install",
38
+ "[ -e ext/install.report ] && cat ext/install.report || echo 'No ext/install.report file found'", # rubocop:disable Metrics/LineLength
39
+ "[ -f ext/mkmf.log ] && cat ext/mkmf.log || echo 'No ext/mkmf.log file found'"
38
40
  ]
39
41
  ),
40
42
  "epilogue" => matrix["epilogue"],
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: ubuntu1804
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: "v2"
21
+ value: "v3"
22
22
  - name: _GEMS_CACHE
23
- value: "v2"
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
@@ -114,6 +108,8 @@ semaphore: # Default `.semaphore/semaphore.yml` contents
114
108
  - cache restore $_GEMS_CACHE-gems-$RUBY_VERSION-diagnose-$(checksum Gemfile)
115
109
  - ./support/bundler_wrapper install --jobs=3 --retry=3
116
110
  - ./support/bundler_wrapper exec rake extension:install
111
+ - "[ -e ext/install.report ] && cat ext/install.report || echo 'No ext/install.report file found'"
112
+ - "[ -f ext/mkmf.log ] && cat ext/mkmf.log || echo 'No ext/mkmf.log file found'"
117
113
  - git submodule init
118
114
  - git submodule update
119
115
  jobs:
@@ -153,10 +149,6 @@ matrix:
153
149
  commands:
154
150
  - cache store $_BUNDLER_CACHE-bundler-$RUBY_VERSION-$GEMSET-$(checksum $BUNDLE_GEMFILE)-$(checksum appsignal.gemspec) .bundle
155
151
  - cache store $_GEMS_CACHE-gems-$RUBY_VERSION-$(checksum $BUNDLE_GEMFILE)-$(checksum appsignal.gemspec) $HOME/.gem
156
- on_fail:
157
- commands:
158
- - "[ -e ext/install.report ] && cat ext/install.report || echo 'No ext/install.report file found'"
159
- - "[ -f ext/mkmf.log ] && cat ext/mkmf.log || echo 'No ext/mkmf.log file found'"
160
152
 
161
153
  defaults:
162
154
  rubygems: "latest"
@@ -247,3 +239,5 @@ matrix:
247
239
  - gem: "sinatra"
248
240
  - gem: "webmachine1"
249
241
  - gem: "webmachine2"
242
+ - gem: "redis-4"
243
+ - gem: "redis-5"
data/ext/Rakefile CHANGED
@@ -16,6 +16,7 @@ task :default do
16
16
 
17
17
  library_type = "dynamic"
18
18
  report["language"]["implementation"] = "jruby"
19
+ report["language"]["implementation_version"] = JRUBY_VERSION
19
20
  report["build"]["library_type"] = library_type
20
21
  next unless check_architecture
21
22
 
@@ -28,8 +29,14 @@ task :default do
28
29
 
29
30
  unarchive(archive)
30
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
+
31
38
  successful_installation
32
- rescue => e
39
+ rescue StandardError, LoadError => e
33
40
  fail_installation_with_error(e)
34
41
  ensure
35
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" => "c4fa9c0",
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" => "b0b1efb83588879f3c55958a5ff686b921e8ebe4705c8efe39bb7517dc686ca3",
17
+ "checksum" => "42cdf814a89e5d6bd6e5cd9ba84103df82b43418012bb4f9251e98d0c3627759",
18
18
  "filename" => "appsignal-x86_64-darwin-all-static.tar.gz"
19
19
  },
20
20
  "dynamic" => {
21
- "checksum" => "bddfe70a2279bcac77716a45108968ce6f326422f1b491b2fdafbf1f64e30535",
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" => "b0b1efb83588879f3c55958a5ff686b921e8ebe4705c8efe39bb7517dc686ca3",
27
+ "checksum" => "42cdf814a89e5d6bd6e5cd9ba84103df82b43418012bb4f9251e98d0c3627759",
28
28
  "filename" => "appsignal-x86_64-darwin-all-static.tar.gz"
29
29
  },
30
30
  "dynamic" => {
31
- "checksum" => "bddfe70a2279bcac77716a45108968ce6f326422f1b491b2fdafbf1f64e30535",
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" => "5297eb3de8b32ad8dd048f6589105fe07ffc770c97f528e7b95c4b9da760e619",
37
+ "checksum" => "8db9e31e090e767b1157d969521967f322be9dd73eb1b677b6192eb4c987af72",
38
38
  "filename" => "appsignal-aarch64-darwin-all-static.tar.gz"
39
39
  },
40
40
  "dynamic" => {
41
- "checksum" => "84ad539adb57a85e5377c227b868bd82d835b1e23d96b0fa21df5fd23a52897d",
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" => "5297eb3de8b32ad8dd048f6589105fe07ffc770c97f528e7b95c4b9da760e619",
47
+ "checksum" => "8db9e31e090e767b1157d969521967f322be9dd73eb1b677b6192eb4c987af72",
48
48
  "filename" => "appsignal-aarch64-darwin-all-static.tar.gz"
49
49
  },
50
50
  "dynamic" => {
51
- "checksum" => "84ad539adb57a85e5377c227b868bd82d835b1e23d96b0fa21df5fd23a52897d",
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" => "5297eb3de8b32ad8dd048f6589105fe07ffc770c97f528e7b95c4b9da760e619",
57
+ "checksum" => "8db9e31e090e767b1157d969521967f322be9dd73eb1b677b6192eb4c987af72",
58
58
  "filename" => "appsignal-aarch64-darwin-all-static.tar.gz"
59
59
  },
60
60
  "dynamic" => {
61
- "checksum" => "84ad539adb57a85e5377c227b868bd82d835b1e23d96b0fa21df5fd23a52897d",
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" => "a236dd63b9d3731cd2446e4d9a40b9326313aa9e907189f0c2d5aef57c88c65a",
67
+ "checksum" => "72873d1c7ad2d4d744fe3dd4370fb07b4c9d8a4f4d87febb8dbe08c532eebff8",
68
68
  "filename" => "appsignal-aarch64-linux-all-static.tar.gz"
69
69
  },
70
70
  "dynamic" => {
71
- "checksum" => "09e6e5bfedb01f2c0510a8ace4a1d83330b7cc860b8af6067647ba55459642e7",
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" => "967d122b0ad911e23d8dbd433ae519e4e05e9f848a084b0f8ef31f2b8fdc38b2",
77
+ "checksum" => "8779fdd2f02b034463900456b5b65a92d3a9165b87ba896b01baded96729685a",
78
78
  "filename" => "appsignal-i686-linux-all-static.tar.gz"
79
79
  },
80
80
  "dynamic" => {
81
- "checksum" => "3dd9de5d6941c84e0aaaf5d56696c6bfab73edef6f8fcf9ae2a737dd574c1493",
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" => "967d122b0ad911e23d8dbd433ae519e4e05e9f848a084b0f8ef31f2b8fdc38b2",
87
+ "checksum" => "8779fdd2f02b034463900456b5b65a92d3a9165b87ba896b01baded96729685a",
88
88
  "filename" => "appsignal-i686-linux-all-static.tar.gz"
89
89
  },
90
90
  "dynamic" => {
91
- "checksum" => "3dd9de5d6941c84e0aaaf5d56696c6bfab73edef6f8fcf9ae2a737dd574c1493",
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" => "6519f8344fe6915b25c9e38b5839680d6df5268a6610608f8bb89c05aed9b4ce",
97
+ "checksum" => "36fc29655d13e4dfe7bcbe2c798bfc16d68194610ff354d43e977f3768f31458",
98
98
  "filename" => "appsignal-x86_64-linux-all-static.tar.gz"
99
99
  },
100
100
  "dynamic" => {
101
- "checksum" => "477cc6891d7cd02ac0b248e6d8ce01a67f9493c8749890923503588cc8c03ebd",
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" => "2fa6d7224d3a0af7f9205f61f580f6d786ce070254897d1538d3e48991f353cf",
107
+ "checksum" => "59b6cef9797746da9d6717effc0892a2f2219767734a0e76f8b3d1578dc0d9e0",
108
108
  "filename" => "appsignal-x86_64-linux-musl-all-static.tar.gz"
109
109
  },
110
110
  "dynamic" => {
111
- "checksum" => "456b5723be546944307cc124f2421a72a6677b59d99a52f3884a2e30c6f1fd68",
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" => "2aa31ff5929823c0564b30afac7fbbe6930792066247a2a94e4aa0b6e1d56661",
117
+ "checksum" => "ec3ab8fcc20d1f31df6003e2ca3dcf257abfeddd1b7912fa6189f1f6905a89ab",
118
118
  "filename" => "appsignal-aarch64-linux-musl-all-static.tar.gz"
119
119
  },
120
120
  "dynamic" => {
121
- "checksum" => "f829ccc04c7bcd10ca096ea7d566fcf36d7a12423a61edf537a642995b137dc2",
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" => "bf683c6d3cd39263b5e37b0b2b0e697f3e8a1f7e5a76d2ab1d25f42a973e69c2",
127
+ "checksum" => "bd654d5c555f6006e4145d76e27f02c5d22b285f411675a520455d6db6c8e165",
128
128
  "filename" => "appsignal-x86_64-freebsd-all-static.tar.gz"
129
129
  },
130
130
  "dynamic" => {
131
- "checksum" => "23aa6f6ee7df1cc720a9bb600807629a6dbc83c6ee6634071c9f11fb423bd46c",
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" => "bf683c6d3cd39263b5e37b0b2b0e697f3e8a1f7e5a76d2ab1d25f42a973e69c2",
137
+ "checksum" => "bd654d5c555f6006e4145d76e27f02c5d22b285f411675a520455d6db6c8e165",
138
138
  "filename" => "appsignal-x86_64-freebsd-all-static.tar.gz"
139
139
  },
140
140
  "dynamic" => {
141
- "checksum" => "23aa6f6ee7df1cc720a9bb600807629a6dbc83c6ee6634071c9f11fb423bd46c",
141
+ "checksum" => "b06445f38b7b8b3e47f407540fb24f196dbf0a84583a2ad7f25bbba750930108",
142
142
  "filename" => "appsignal-x86_64-freebsd-all-dynamic.tar.gz"
143
143
  }
144
144
  }