appsignal 4.0.4-java → 4.0.6-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +151 -16
- data/CHANGELOG.md +42 -0
- data/build_matrix.yml +2 -1
- data/ext/agent.rb +27 -27
- data/gemfiles/que-1.gemfile +5 -0
- data/gemfiles/que-2.gemfile +5 -0
- data/lib/appsignal/check_in/scheduler.rb +3 -4
- data/lib/appsignal/config.rb +7 -0
- data/lib/appsignal/hooks/at_exit.rb +1 -0
- data/lib/appsignal/hooks/puma.rb +5 -1
- data/lib/appsignal/integrations/puma.rb +45 -0
- data/lib/appsignal/integrations/que.rb +8 -2
- data/lib/appsignal/rack/abstract_middleware.rb +3 -47
- data/lib/appsignal/rack/event_handler.rb +2 -0
- data/lib/appsignal/rack/hanami_middleware.rb +5 -1
- data/lib/appsignal/rack.rb +68 -0
- data/lib/appsignal/version.rb +1 -1
- data/spec/lib/appsignal/check_in/cron_spec.rb +134 -134
- data/spec/lib/appsignal/check_in/scheduler_spec.rb +297 -224
- data/spec/lib/appsignal/config_spec.rb +13 -0
- data/spec/lib/appsignal/hooks/at_exit_spec.rb +11 -0
- data/spec/lib/appsignal/hooks/puma_spec.rb +31 -23
- data/spec/lib/appsignal/integrations/puma_spec.rb +150 -0
- data/spec/lib/appsignal/integrations/que_spec.rb +56 -21
- data/spec/lib/appsignal/probes_spec.rb +4 -6
- data/spec/lib/appsignal/rack/abstract_middleware_spec.rb +41 -122
- data/spec/lib/appsignal/rack_spec.rb +180 -0
- data/spec/lib/appsignal/transaction_spec.rb +96 -92
- data/spec/spec_helper.rb +6 -7
- data/spec/support/helpers/api_request_helper.rb +40 -0
- data/spec/support/helpers/config_helpers.rb +2 -1
- data/spec/support/helpers/dependency_helper.rb +5 -0
- data/spec/support/matchers/contains_log.rb +10 -3
- data/spec/support/mocks/hash_like.rb +10 -0
- data/spec/support/mocks/puma_mock.rb +43 -0
- data/spec/support/testing.rb +9 -0
- metadata +8 -3
- data/gemfiles/que.gemfile +0 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cbee58551b12b1e6aad1d86a6a6e334f3885f0a0994e1db0ec9bd39235d16257
|
4
|
+
data.tar.gz: 49fde92e090fefb11562226d38618492b9d2af16320c6a9f52a790481be0dd87
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a5b3175698f660ad2cdbd6f3a9a0959412c32d68d258f10c65c56c1073efea5944b1022f45f4921c2def308b932711120c8a0699c1ae235951ca6ba4e8426007
|
7
|
+
data.tar.gz: b3a93b77cd2d6c60c6266d76e97c7743fd093a6199d134d8b830a71781ebb801a3c31259ceea435d82a8f644a07fcd3ea84dfa3495a9597ff1d7cca7fe3de6eb
|
data/.github/workflows/ci.yml
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
# This is a generated file by the `rake build_matrix:github:generate` task.
|
3
3
|
# See `build_matrix.yml` for the build matrix.
|
4
4
|
# Generate this file with `rake build_matrix:github:generate`.
|
5
|
-
# Generated job count:
|
5
|
+
# Generated job count: 122
|
6
6
|
---
|
7
7
|
name: Ruby gem CI
|
8
8
|
'on':
|
@@ -372,8 +372,8 @@ jobs:
|
|
372
372
|
JRUBY_OPTS: ''
|
373
373
|
COV: '1'
|
374
374
|
BUNDLE_GEMFILE: gemfiles/psych-4.gemfile
|
375
|
-
ruby_3-3-
|
376
|
-
name: Ruby 3.3.4 - que
|
375
|
+
ruby_3-3-4__que-1_ubuntu-latest:
|
376
|
+
name: Ruby 3.3.4 - que-1
|
377
377
|
needs: ruby_3-3-4_ubuntu-latest
|
378
378
|
runs-on: ubuntu-latest
|
379
379
|
steps:
|
@@ -398,7 +398,34 @@ jobs:
|
|
398
398
|
RAILS_ENV: test
|
399
399
|
JRUBY_OPTS: ''
|
400
400
|
COV: '1'
|
401
|
-
BUNDLE_GEMFILE: gemfiles/que.gemfile
|
401
|
+
BUNDLE_GEMFILE: gemfiles/que-1.gemfile
|
402
|
+
ruby_3-3-4__que-2_ubuntu-latest:
|
403
|
+
name: Ruby 3.3.4 - que-2
|
404
|
+
needs: ruby_3-3-4_ubuntu-latest
|
405
|
+
runs-on: ubuntu-latest
|
406
|
+
steps:
|
407
|
+
- name: Check out repository
|
408
|
+
uses: actions/checkout@v4
|
409
|
+
- name: Install Ruby
|
410
|
+
uses: ruby/setup-ruby@v1
|
411
|
+
with:
|
412
|
+
ruby-version: 3.3.4
|
413
|
+
bundler-cache: true
|
414
|
+
- name: Install gem extension
|
415
|
+
run: "./support/bundler_wrapper exec rake extension:install"
|
416
|
+
- name: Print extension install report
|
417
|
+
run: "[ -e ext/install.report ] && cat ext/install.report || echo 'No ext/install.report
|
418
|
+
file found'"
|
419
|
+
- name: Print Makefile log file
|
420
|
+
run: "[ -f ext/mkmf.log ] && cat ext/mkmf.log || echo 'No ext/mkmf.log file
|
421
|
+
found'"
|
422
|
+
- name: Run tests
|
423
|
+
run: "./support/bundler_wrapper exec rake test"
|
424
|
+
env:
|
425
|
+
RAILS_ENV: test
|
426
|
+
JRUBY_OPTS: ''
|
427
|
+
COV: '1'
|
428
|
+
BUNDLE_GEMFILE: gemfiles/que-2.gemfile
|
402
429
|
ruby_3-3-4__rails-6-1_ubuntu-latest:
|
403
430
|
name: Ruby 3.3.4 - rails-6.1
|
404
431
|
needs: ruby_3-3-4_ubuntu-latest
|
@@ -970,8 +997,35 @@ jobs:
|
|
970
997
|
JRUBY_OPTS: ''
|
971
998
|
COV: '1'
|
972
999
|
BUNDLE_GEMFILE: gemfiles/psych-4.gemfile
|
973
|
-
ruby_3-2-
|
974
|
-
name: Ruby 3.2.5 - que
|
1000
|
+
ruby_3-2-5__que-1_ubuntu-latest:
|
1001
|
+
name: Ruby 3.2.5 - que-1
|
1002
|
+
needs: ruby_3-2-5_ubuntu-latest
|
1003
|
+
runs-on: ubuntu-latest
|
1004
|
+
steps:
|
1005
|
+
- name: Check out repository
|
1006
|
+
uses: actions/checkout@v4
|
1007
|
+
- name: Install Ruby
|
1008
|
+
uses: ruby/setup-ruby@v1
|
1009
|
+
with:
|
1010
|
+
ruby-version: 3.2.5
|
1011
|
+
bundler-cache: true
|
1012
|
+
- name: Install gem extension
|
1013
|
+
run: "./support/bundler_wrapper exec rake extension:install"
|
1014
|
+
- name: Print extension install report
|
1015
|
+
run: "[ -e ext/install.report ] && cat ext/install.report || echo 'No ext/install.report
|
1016
|
+
file found'"
|
1017
|
+
- name: Print Makefile log file
|
1018
|
+
run: "[ -f ext/mkmf.log ] && cat ext/mkmf.log || echo 'No ext/mkmf.log file
|
1019
|
+
found'"
|
1020
|
+
- name: Run tests
|
1021
|
+
run: "./support/bundler_wrapper exec rake test"
|
1022
|
+
env:
|
1023
|
+
RAILS_ENV: test
|
1024
|
+
JRUBY_OPTS: ''
|
1025
|
+
COV: '1'
|
1026
|
+
BUNDLE_GEMFILE: gemfiles/que-1.gemfile
|
1027
|
+
ruby_3-2-5__que-2_ubuntu-latest:
|
1028
|
+
name: Ruby 3.2.5 - que-2
|
975
1029
|
needs: ruby_3-2-5_ubuntu-latest
|
976
1030
|
runs-on: ubuntu-latest
|
977
1031
|
steps:
|
@@ -996,7 +1050,7 @@ jobs:
|
|
996
1050
|
RAILS_ENV: test
|
997
1051
|
JRUBY_OPTS: ''
|
998
1052
|
COV: '1'
|
999
|
-
BUNDLE_GEMFILE: gemfiles/que.gemfile
|
1053
|
+
BUNDLE_GEMFILE: gemfiles/que-2.gemfile
|
1000
1054
|
ruby_3-2-5__rails-6-1_ubuntu-latest:
|
1001
1055
|
name: Ruby 3.2.5 - rails-6.1
|
1002
1056
|
needs: ruby_3-2-5_ubuntu-latest
|
@@ -1568,8 +1622,35 @@ jobs:
|
|
1568
1622
|
JRUBY_OPTS: ''
|
1569
1623
|
COV: '1'
|
1570
1624
|
BUNDLE_GEMFILE: gemfiles/psych-4.gemfile
|
1571
|
-
ruby_3-1-
|
1572
|
-
name: Ruby 3.1.6 - que
|
1625
|
+
ruby_3-1-6__que-1_ubuntu-latest:
|
1626
|
+
name: Ruby 3.1.6 - que-1
|
1627
|
+
needs: ruby_3-1-6_ubuntu-latest
|
1628
|
+
runs-on: ubuntu-latest
|
1629
|
+
steps:
|
1630
|
+
- name: Check out repository
|
1631
|
+
uses: actions/checkout@v4
|
1632
|
+
- name: Install Ruby
|
1633
|
+
uses: ruby/setup-ruby@v1
|
1634
|
+
with:
|
1635
|
+
ruby-version: 3.1.6
|
1636
|
+
bundler-cache: true
|
1637
|
+
- name: Install gem extension
|
1638
|
+
run: "./support/bundler_wrapper exec rake extension:install"
|
1639
|
+
- name: Print extension install report
|
1640
|
+
run: "[ -e ext/install.report ] && cat ext/install.report || echo 'No ext/install.report
|
1641
|
+
file found'"
|
1642
|
+
- name: Print Makefile log file
|
1643
|
+
run: "[ -f ext/mkmf.log ] && cat ext/mkmf.log || echo 'No ext/mkmf.log file
|
1644
|
+
found'"
|
1645
|
+
- name: Run tests
|
1646
|
+
run: "./support/bundler_wrapper exec rake test"
|
1647
|
+
env:
|
1648
|
+
RAILS_ENV: test
|
1649
|
+
JRUBY_OPTS: ''
|
1650
|
+
COV: '1'
|
1651
|
+
BUNDLE_GEMFILE: gemfiles/que-1.gemfile
|
1652
|
+
ruby_3-1-6__que-2_ubuntu-latest:
|
1653
|
+
name: Ruby 3.1.6 - que-2
|
1573
1654
|
needs: ruby_3-1-6_ubuntu-latest
|
1574
1655
|
runs-on: ubuntu-latest
|
1575
1656
|
steps:
|
@@ -1594,7 +1675,7 @@ jobs:
|
|
1594
1675
|
RAILS_ENV: test
|
1595
1676
|
JRUBY_OPTS: ''
|
1596
1677
|
COV: '1'
|
1597
|
-
BUNDLE_GEMFILE: gemfiles/que.gemfile
|
1678
|
+
BUNDLE_GEMFILE: gemfiles/que-2.gemfile
|
1598
1679
|
ruby_3-1-6__rails-6-1_ubuntu-latest:
|
1599
1680
|
name: Ruby 3.1.6 - rails-6.1
|
1600
1681
|
needs: ruby_3-1-6_ubuntu-latest
|
@@ -2166,8 +2247,35 @@ jobs:
|
|
2166
2247
|
JRUBY_OPTS: ''
|
2167
2248
|
COV: '1'
|
2168
2249
|
BUNDLE_GEMFILE: gemfiles/psych-4.gemfile
|
2169
|
-
ruby_3-0-
|
2170
|
-
name: Ruby 3.0.7 - que
|
2250
|
+
ruby_3-0-7__que-1_ubuntu-latest:
|
2251
|
+
name: Ruby 3.0.7 - que-1
|
2252
|
+
needs: ruby_3-0-7_ubuntu-latest
|
2253
|
+
runs-on: ubuntu-latest
|
2254
|
+
steps:
|
2255
|
+
- name: Check out repository
|
2256
|
+
uses: actions/checkout@v4
|
2257
|
+
- name: Install Ruby
|
2258
|
+
uses: ruby/setup-ruby@v1
|
2259
|
+
with:
|
2260
|
+
ruby-version: 3.0.7
|
2261
|
+
bundler-cache: true
|
2262
|
+
- name: Install gem extension
|
2263
|
+
run: "./support/bundler_wrapper exec rake extension:install"
|
2264
|
+
- name: Print extension install report
|
2265
|
+
run: "[ -e ext/install.report ] && cat ext/install.report || echo 'No ext/install.report
|
2266
|
+
file found'"
|
2267
|
+
- name: Print Makefile log file
|
2268
|
+
run: "[ -f ext/mkmf.log ] && cat ext/mkmf.log || echo 'No ext/mkmf.log file
|
2269
|
+
found'"
|
2270
|
+
- name: Run tests
|
2271
|
+
run: "./support/bundler_wrapper exec rake test"
|
2272
|
+
env:
|
2273
|
+
RAILS_ENV: test
|
2274
|
+
JRUBY_OPTS: ''
|
2275
|
+
COV: '1'
|
2276
|
+
BUNDLE_GEMFILE: gemfiles/que-1.gemfile
|
2277
|
+
ruby_3-0-7__que-2_ubuntu-latest:
|
2278
|
+
name: Ruby 3.0.7 - que-2
|
2171
2279
|
needs: ruby_3-0-7_ubuntu-latest
|
2172
2280
|
runs-on: ubuntu-latest
|
2173
2281
|
steps:
|
@@ -2192,7 +2300,7 @@ jobs:
|
|
2192
2300
|
RAILS_ENV: test
|
2193
2301
|
JRUBY_OPTS: ''
|
2194
2302
|
COV: '1'
|
2195
|
-
BUNDLE_GEMFILE: gemfiles/que.gemfile
|
2303
|
+
BUNDLE_GEMFILE: gemfiles/que-2.gemfile
|
2196
2304
|
ruby_3-0-7__rails-6-0_ubuntu-latest:
|
2197
2305
|
name: Ruby 3.0.7 - rails-6.0
|
2198
2306
|
needs: ruby_3-0-7_ubuntu-latest
|
@@ -2683,8 +2791,35 @@ jobs:
|
|
2683
2791
|
JRUBY_OPTS: ''
|
2684
2792
|
COV: '1'
|
2685
2793
|
BUNDLE_GEMFILE: gemfiles/psych-4.gemfile
|
2686
|
-
ruby_2-7-
|
2687
|
-
name: Ruby 2.7.8 - que
|
2794
|
+
ruby_2-7-8__que-1_ubuntu-latest:
|
2795
|
+
name: Ruby 2.7.8 - que-1
|
2796
|
+
needs: ruby_2-7-8_ubuntu-latest
|
2797
|
+
runs-on: ubuntu-latest
|
2798
|
+
steps:
|
2799
|
+
- name: Check out repository
|
2800
|
+
uses: actions/checkout@v4
|
2801
|
+
- name: Install Ruby
|
2802
|
+
uses: ruby/setup-ruby@v1
|
2803
|
+
with:
|
2804
|
+
ruby-version: 2.7.8
|
2805
|
+
bundler-cache: true
|
2806
|
+
- name: Install gem extension
|
2807
|
+
run: "./support/bundler_wrapper exec rake extension:install"
|
2808
|
+
- name: Print extension install report
|
2809
|
+
run: "[ -e ext/install.report ] && cat ext/install.report || echo 'No ext/install.report
|
2810
|
+
file found'"
|
2811
|
+
- name: Print Makefile log file
|
2812
|
+
run: "[ -f ext/mkmf.log ] && cat ext/mkmf.log || echo 'No ext/mkmf.log file
|
2813
|
+
found'"
|
2814
|
+
- name: Run tests
|
2815
|
+
run: "./support/bundler_wrapper exec rake test"
|
2816
|
+
env:
|
2817
|
+
RAILS_ENV: test
|
2818
|
+
JRUBY_OPTS: ''
|
2819
|
+
COV: '1'
|
2820
|
+
BUNDLE_GEMFILE: gemfiles/que-1.gemfile
|
2821
|
+
ruby_2-7-8__que-2_ubuntu-latest:
|
2822
|
+
name: Ruby 2.7.8 - que-2
|
2688
2823
|
needs: ruby_2-7-8_ubuntu-latest
|
2689
2824
|
runs-on: ubuntu-latest
|
2690
2825
|
steps:
|
@@ -2709,7 +2844,7 @@ jobs:
|
|
2709
2844
|
RAILS_ENV: test
|
2710
2845
|
JRUBY_OPTS: ''
|
2711
2846
|
COV: '1'
|
2712
|
-
BUNDLE_GEMFILE: gemfiles/que.gemfile
|
2847
|
+
BUNDLE_GEMFILE: gemfiles/que-2.gemfile
|
2713
2848
|
ruby_2-7-8__rails-6-0_ubuntu-latest:
|
2714
2849
|
name: Ruby 2.7.8 - rails-6.0
|
2715
2850
|
needs: ruby_2-7-8_ubuntu-latest
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,47 @@
|
|
1
1
|
# AppSignal for Ruby gem Changelog
|
2
2
|
|
3
|
+
## 4.0.6
|
4
|
+
|
5
|
+
_Published on 2024-09-03._
|
6
|
+
|
7
|
+
### Added
|
8
|
+
|
9
|
+
- Add support for Que 2 keyword arguments. Que job arguments will now be reported as the `arguments` key for positional arguments and `keyword_arguments` for Ruby keyword arguments. (patch [770bdc06](https://github.com/appsignal/appsignal-ruby/commit/770bdc06c352de09757edc92ee06b7c999befaee))
|
10
|
+
|
11
|
+
## 4.0.5
|
12
|
+
|
13
|
+
_Published on 2024-09-02._
|
14
|
+
|
15
|
+
### Added
|
16
|
+
|
17
|
+
- Report Puma low-level errors using the `lowlevel_error` reporter. This will report errors previously not caught by our instrumentation middleware. (patch [70cc21f4](https://github.com/appsignal/appsignal-ruby/commit/70cc21f49e19faa9fd2d12a051620cd48e036dcb))
|
18
|
+
|
19
|
+
### Changed
|
20
|
+
|
21
|
+
- Log a warning when loader defaults are added after AppSignal has already been configured.
|
22
|
+
|
23
|
+
```ruby
|
24
|
+
# Bad
|
25
|
+
Appsignal.configure # or Appsignal.start
|
26
|
+
Appsignal.load(:sinatra)
|
27
|
+
|
28
|
+
# Good
|
29
|
+
Appsignal.load(:sinatra)
|
30
|
+
Appsignal.configure # or Appsignal.start
|
31
|
+
```
|
32
|
+
|
33
|
+
(patch [0997dd9c](https://github.com/appsignal/appsignal-ruby/commit/0997dd9c0430123a697b8100785f5676163e20ef))
|
34
|
+
- Rename the `path` and `method` transaction metadata to `request_path` and `request_method` to make it more clear what context this metadata is from. The `path` and `method` metadata will continue to be reported until the next major/minor version. (patch [fa314b5f](https://github.com/appsignal/appsignal-ruby/commit/fa314b5fb6fdfbf3e9746df377b0145cde0cfa36))
|
35
|
+
- Internal change to how OpenTelemetry metrics are sent. (patch [e66d1d70](https://github.com/appsignal/appsignal-ruby/commit/e66d1d702d5010cb5b8084ba790b24d9e70a9e08))
|
36
|
+
|
37
|
+
### Removed
|
38
|
+
|
39
|
+
- Drop support for Puma version 2 and lower. (patch [4fab861c](https://github.com/appsignal/appsignal-ruby/commit/4fab861cae74b08aa71bf64e1b134ae4b1df1dff))
|
40
|
+
|
41
|
+
### Fixed
|
42
|
+
|
43
|
+
- Fix the error log message about our `at_exit` hook reporting no error on process exit when the process exits without an error. (patch [b71f3966](https://github.com/appsignal/appsignal-ruby/commit/b71f39661e9b05c10fa78b821ba0e45bde0c941b))
|
44
|
+
|
3
45
|
## 4.0.4
|
4
46
|
|
5
47
|
_Published on 2024-08-29._
|
data/build_matrix.yml
CHANGED
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" => "0.35.
|
9
|
+
"version" => "0.35.23",
|
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" => "efb58de4d4095dc9d810db5daf09eff87dc66b3c8566dffe949302841155a836",
|
18
18
|
"filename" => "appsignal-x86_64-darwin-all-static.tar.gz"
|
19
19
|
},
|
20
20
|
"dynamic" => {
|
21
|
-
"checksum" => "
|
21
|
+
"checksum" => "f8aab2ad0ae30afb0a501a8787c8a729d5dd77434823e9e9fd8fd9b2d392efcd",
|
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" => "efb58de4d4095dc9d810db5daf09eff87dc66b3c8566dffe949302841155a836",
|
28
28
|
"filename" => "appsignal-x86_64-darwin-all-static.tar.gz"
|
29
29
|
},
|
30
30
|
"dynamic" => {
|
31
|
-
"checksum" => "
|
31
|
+
"checksum" => "f8aab2ad0ae30afb0a501a8787c8a729d5dd77434823e9e9fd8fd9b2d392efcd",
|
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" => "dde837d344805abcd6f55f2931f2398ab11e35f99333e2347deb2a1aa1ea20e8",
|
38
38
|
"filename" => "appsignal-aarch64-darwin-all-static.tar.gz"
|
39
39
|
},
|
40
40
|
"dynamic" => {
|
41
|
-
"checksum" => "
|
41
|
+
"checksum" => "6a2f421a5354b51d0b7eb5fb6e44633f2f89427c964d3d274bd08eed76dd9135",
|
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" => "dde837d344805abcd6f55f2931f2398ab11e35f99333e2347deb2a1aa1ea20e8",
|
48
48
|
"filename" => "appsignal-aarch64-darwin-all-static.tar.gz"
|
49
49
|
},
|
50
50
|
"dynamic" => {
|
51
|
-
"checksum" => "
|
51
|
+
"checksum" => "6a2f421a5354b51d0b7eb5fb6e44633f2f89427c964d3d274bd08eed76dd9135",
|
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" => "dde837d344805abcd6f55f2931f2398ab11e35f99333e2347deb2a1aa1ea20e8",
|
58
58
|
"filename" => "appsignal-aarch64-darwin-all-static.tar.gz"
|
59
59
|
},
|
60
60
|
"dynamic" => {
|
61
|
-
"checksum" => "
|
61
|
+
"checksum" => "6a2f421a5354b51d0b7eb5fb6e44633f2f89427c964d3d274bd08eed76dd9135",
|
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" => "ba5d59ac45992df8f677cee5a23ba9120f0553f331195872187dfcb2133136e6",
|
68
68
|
"filename" => "appsignal-aarch64-linux-all-static.tar.gz"
|
69
69
|
},
|
70
70
|
"dynamic" => {
|
71
|
-
"checksum" => "
|
71
|
+
"checksum" => "4b25da519413dc268bada4e5c0d7c94e13cc8e687a1ca6a7cf8810fd847bfc37",
|
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" => "c23213ffb9cc8a045d5da6d7acb499055bc40f93c9ef147827f8d78c75cc7ddd",
|
78
78
|
"filename" => "appsignal-i686-linux-all-static.tar.gz"
|
79
79
|
},
|
80
80
|
"dynamic" => {
|
81
|
-
"checksum" => "
|
81
|
+
"checksum" => "5c673340597d87aeba0d27f6517f357020b4c0ee28791aaebf297e56e8ed28a1",
|
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" => "c23213ffb9cc8a045d5da6d7acb499055bc40f93c9ef147827f8d78c75cc7ddd",
|
88
88
|
"filename" => "appsignal-i686-linux-all-static.tar.gz"
|
89
89
|
},
|
90
90
|
"dynamic" => {
|
91
|
-
"checksum" => "
|
91
|
+
"checksum" => "5c673340597d87aeba0d27f6517f357020b4c0ee28791aaebf297e56e8ed28a1",
|
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" => "7b7eb13b5913a17cd0abadf646b2fc5485a74721712cad1c8db222c510fc2cae",
|
98
98
|
"filename" => "appsignal-x86_64-linux-all-static.tar.gz"
|
99
99
|
},
|
100
100
|
"dynamic" => {
|
101
|
-
"checksum" => "
|
101
|
+
"checksum" => "fb27e4dfd6ecce87ad44fa249c809c58b082f3a0c544965f25f6f3af3bb2c634",
|
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" => "ae6bcf709d5263fe0267b8025c7264eb997dd913c7c24a12cbdaee1635df66de",
|
108
108
|
"filename" => "appsignal-x86_64-linux-musl-all-static.tar.gz"
|
109
109
|
},
|
110
110
|
"dynamic" => {
|
111
|
-
"checksum" => "
|
111
|
+
"checksum" => "929b7436354040d73666b7edbff5e3623cd10f99467c133def4a50bde9a81de4",
|
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" => "32ce5593cda7238819140d9fbc601519f5c16da075f2c0f7b639fe5f947ab98f",
|
118
118
|
"filename" => "appsignal-aarch64-linux-musl-all-static.tar.gz"
|
119
119
|
},
|
120
120
|
"dynamic" => {
|
121
|
-
"checksum" => "
|
121
|
+
"checksum" => "dacd3037777ef00d838fe8d8f31247a96d6abe4bd5a0fb2c7b2e9e7b58864345",
|
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" => "558a6803b4bb2ceba261a0b6c0a2beb67493a41b9539fb9219b7e6fb8f0ffe36",
|
128
128
|
"filename" => "appsignal-x86_64-freebsd-all-static.tar.gz"
|
129
129
|
},
|
130
130
|
"dynamic" => {
|
131
|
-
"checksum" => "
|
131
|
+
"checksum" => "42e76a7b3ebb9e4a8c1e14c1435358ef09f02d59313148eaf9ebd33c10bdde33",
|
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" => "558a6803b4bb2ceba261a0b6c0a2beb67493a41b9539fb9219b7e6fb8f0ffe36",
|
138
138
|
"filename" => "appsignal-x86_64-freebsd-all-static.tar.gz"
|
139
139
|
},
|
140
140
|
"dynamic" => {
|
141
|
-
"checksum" => "
|
141
|
+
"checksum" => "42e76a7b3ebb9e4a8c1e14c1435358ef09f02d59313148eaf9ebd33c10bdde33",
|
142
142
|
"filename" => "appsignal-x86_64-freebsd-all-dynamic.tar.gz"
|
143
143
|
}
|
144
144
|
}
|
@@ -98,16 +98,15 @@ module Appsignal
|
|
98
98
|
response = CheckIn.transmitter.transmit(events, :format => :ndjson)
|
99
99
|
|
100
100
|
if (200...300).include?(response.code.to_i)
|
101
|
-
Appsignal.internal_logger.debug(
|
102
|
-
"Transmitted #{description}"
|
103
|
-
)
|
101
|
+
Appsignal.internal_logger.debug("Transmitted #{description}")
|
104
102
|
else
|
105
103
|
Appsignal.internal_logger.error(
|
106
104
|
"Failed to transmit #{description}: #{response.code} status code"
|
107
105
|
)
|
108
106
|
end
|
109
107
|
rescue => e
|
110
|
-
Appsignal.internal_logger
|
108
|
+
Appsignal.internal_logger
|
109
|
+
.error("Failed to transmit #{description}: #{e.class}: #{e.message}")
|
111
110
|
end
|
112
111
|
end
|
113
112
|
|
data/lib/appsignal/config.rb
CHANGED
@@ -15,6 +15,13 @@ module Appsignal
|
|
15
15
|
|
16
16
|
# @api private
|
17
17
|
def self.add_loader_defaults(name, env: nil, root_path: nil, **options)
|
18
|
+
if Appsignal.config
|
19
|
+
Appsignal.internal_logger.warn(
|
20
|
+
"The config defaults from the '#{name}' loader are ignored since " \
|
21
|
+
"the AppSignal config has already been initialized."
|
22
|
+
)
|
23
|
+
end
|
24
|
+
|
18
25
|
loader_defaults << {
|
19
26
|
:name => name,
|
20
27
|
:env => env,
|
data/lib/appsignal/hooks/puma.rb
CHANGED
@@ -7,10 +7,14 @@ module Appsignal
|
|
7
7
|
register :puma
|
8
8
|
|
9
9
|
def dependencies_present?
|
10
|
-
defined?(::Puma)
|
10
|
+
defined?(::Puma) &&
|
11
|
+
Gem::Version.new(Puma::Const::VERSION) >= Gem::Version.new("3.0.0")
|
11
12
|
end
|
12
13
|
|
13
14
|
def install
|
15
|
+
require "appsignal/integrations/puma"
|
16
|
+
::Puma::Server.prepend(Appsignal::Integrations::PumaServer)
|
17
|
+
|
14
18
|
return unless defined?(::Puma::Cluster)
|
15
19
|
|
16
20
|
# For clustered mode with multiple workers
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Appsignal
|
4
|
+
module Integrations
|
5
|
+
# @api private
|
6
|
+
module PumaServer
|
7
|
+
def lowlevel_error(error, env, response_status = 500)
|
8
|
+
response =
|
9
|
+
if method(:lowlevel_error).super_method.arity.abs == 3 # Puma >= 5
|
10
|
+
super
|
11
|
+
else # Puma <= 4
|
12
|
+
super(error, env)
|
13
|
+
end
|
14
|
+
|
15
|
+
unless PumaServerHelper.ignored_error?(error)
|
16
|
+
Appsignal.report_error(error) do |transaction|
|
17
|
+
Appsignal::Rack::ApplyRackRequest
|
18
|
+
.new(::Rack::Request.new(env))
|
19
|
+
.apply_to(transaction)
|
20
|
+
transaction.add_tags(
|
21
|
+
:reported_by => :puma_lowlevel_error,
|
22
|
+
:response_status => response_status
|
23
|
+
)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
response
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
module PumaServerHelper
|
32
|
+
IGNORED_ERRORS = [
|
33
|
+
# Ignore internal Puma Client IO errors
|
34
|
+
# https://github.com/puma/puma/blob/9ee922d28e1fffd02c1d5480a9e13376f92f46a3/lib/puma/server.rb#L536-L544
|
35
|
+
"Puma::MiniSSL::SSLError",
|
36
|
+
"Puma::HttpParserError",
|
37
|
+
"Puma::HttpParserError501"
|
38
|
+
].freeze
|
39
|
+
|
40
|
+
def self.ignored_error?(error)
|
41
|
+
IGNORED_ERRORS.include?(error.class.to_s)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -4,7 +4,7 @@ module Appsignal
|
|
4
4
|
module Integrations
|
5
5
|
# @api private
|
6
6
|
module QuePlugin
|
7
|
-
def _run(*)
|
7
|
+
def _run(*args)
|
8
8
|
transaction =
|
9
9
|
Appsignal::Transaction.create(Appsignal::Transaction::BACKGROUND_JOB)
|
10
10
|
|
@@ -16,7 +16,13 @@ module Appsignal
|
|
16
16
|
ensure
|
17
17
|
local_attrs = respond_to?(:que_attrs) ? que_attrs : attrs
|
18
18
|
transaction.set_action_if_nil("#{local_attrs[:job_class]}#run")
|
19
|
-
transaction.add_params_if_nil
|
19
|
+
transaction.add_params_if_nil do
|
20
|
+
{
|
21
|
+
:arguments => local_attrs[:args]
|
22
|
+
}.tap do |hash|
|
23
|
+
hash[:keyword_arguments] = local_attrs[:kwargs] if local_attrs.key?(:kwargs)
|
24
|
+
end
|
25
|
+
end
|
20
26
|
transaction.add_tags(
|
21
27
|
"id" => local_attrs[:job_id] || local_attrs[:id],
|
22
28
|
"queue" => local_attrs[:queue],
|