appsignal 3.9.3 → 3.10.0

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.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +22 -19
  3. data/CHANGELOG.md +92 -0
  4. data/README.md +0 -1
  5. data/Rakefile +1 -1
  6. data/build_matrix.yml +10 -12
  7. data/gemfiles/webmachine1.gemfile +5 -4
  8. data/lib/appsignal/config.rb +4 -0
  9. data/lib/appsignal/environment.rb +6 -1
  10. data/lib/appsignal/helpers/instrumentation.rb +163 -1
  11. data/lib/appsignal/hooks/active_job.rb +1 -6
  12. data/lib/appsignal/integrations/padrino.rb +21 -25
  13. data/lib/appsignal/integrations/rake.rb +46 -12
  14. data/lib/appsignal/integrations/sidekiq.rb +1 -11
  15. data/lib/appsignal/integrations/webmachine.rb +15 -9
  16. data/lib/appsignal/rack/abstract_middleware.rb +49 -12
  17. data/lib/appsignal/rack/body_wrapper.rb +143 -0
  18. data/lib/appsignal/rack/generic_instrumentation.rb +5 -4
  19. data/lib/appsignal/rack/grape_middleware.rb +1 -1
  20. data/lib/appsignal/rack/hanami_middleware.rb +1 -1
  21. data/lib/appsignal/rack/instrumentation_middleware.rb +62 -0
  22. data/lib/appsignal/rack/rails_instrumentation.rb +1 -3
  23. data/lib/appsignal/rack/sinatra_instrumentation.rb +1 -3
  24. data/lib/appsignal/rack/streaming_listener.rb +13 -59
  25. data/lib/appsignal/rack.rb +31 -0
  26. data/lib/appsignal/transaction.rb +50 -8
  27. data/lib/appsignal/version.rb +1 -1
  28. data/lib/appsignal.rb +3 -1
  29. data/spec/lib/appsignal/config_spec.rb +1 -0
  30. data/spec/lib/appsignal/hooks/rake_spec.rb +100 -17
  31. data/spec/lib/appsignal/integrations/padrino_spec.rb +181 -131
  32. data/spec/lib/appsignal/integrations/sinatra_spec.rb +10 -2
  33. data/spec/lib/appsignal/integrations/webmachine_spec.rb +65 -17
  34. data/spec/lib/appsignal/rack/abstract_middleware_spec.rb +96 -8
  35. data/spec/lib/appsignal/rack/body_wrapper_spec.rb +263 -0
  36. data/spec/lib/appsignal/rack/generic_instrumentation_spec.rb +70 -17
  37. data/spec/lib/appsignal/rack/grape_middleware_spec.rb +1 -1
  38. data/spec/lib/appsignal/rack/instrumentation_middleware_spec.rb +38 -0
  39. data/spec/lib/appsignal/rack/streaming_listener_spec.rb +43 -120
  40. data/spec/lib/appsignal/transaction_spec.rb +163 -4
  41. data/spec/lib/appsignal_spec.rb +197 -6
  42. data/spec/support/mocks/dummy_app.rb +1 -1
  43. metadata +8 -4
  44. data/support/check_versions +0 -22
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appsignal
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.9.3
4
+ version: 3.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Beekman
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2024-07-02 00:00:00.000000000 Z
13
+ date: 2024-07-08 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rack
@@ -272,11 +272,14 @@ files:
272
272
  - lib/appsignal/probes/helpers.rb
273
273
  - lib/appsignal/probes/mri.rb
274
274
  - lib/appsignal/probes/sidekiq.rb
275
+ - lib/appsignal/rack.rb
275
276
  - lib/appsignal/rack/abstract_middleware.rb
277
+ - lib/appsignal/rack/body_wrapper.rb
276
278
  - lib/appsignal/rack/event_handler.rb
277
279
  - lib/appsignal/rack/generic_instrumentation.rb
278
280
  - lib/appsignal/rack/grape_middleware.rb
279
281
  - lib/appsignal/rack/hanami_middleware.rb
282
+ - lib/appsignal/rack/instrumentation_middleware.rb
280
283
  - lib/appsignal/rack/rails_instrumentation.rb
281
284
  - lib/appsignal/rack/sinatra_instrumentation.rb
282
285
  - lib/appsignal/rack/streaming_listener.rb
@@ -377,10 +380,12 @@ files:
377
380
  - spec/lib/appsignal/probes/sidekiq_spec.rb
378
381
  - spec/lib/appsignal/probes_spec.rb
379
382
  - spec/lib/appsignal/rack/abstract_middleware_spec.rb
383
+ - spec/lib/appsignal/rack/body_wrapper_spec.rb
380
384
  - spec/lib/appsignal/rack/event_handler_spec.rb
381
385
  - spec/lib/appsignal/rack/generic_instrumentation_spec.rb
382
386
  - spec/lib/appsignal/rack/grape_middleware_spec.rb
383
387
  - spec/lib/appsignal/rack/hanami_middleware_spec.rb
388
+ - spec/lib/appsignal/rack/instrumentation_middleware_spec.rb
384
389
  - spec/lib/appsignal/rack/rails_instrumentation_spec.rb
385
390
  - spec/lib/appsignal/rack/sinatra_instrumentation_spec.rb
386
391
  - spec/lib/appsignal/rack/streaming_listener_spec.rb
@@ -439,7 +444,6 @@ files:
439
444
  - spec/support/stubs/sidekiq/api.rb
440
445
  - spec/support/testing.rb
441
446
  - support/bundler_wrapper
442
- - support/check_versions
443
447
  - support/install_deps
444
448
  homepage: https://github.com/appsignal/appsignal-ruby
445
449
  licenses:
@@ -467,7 +471,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
467
471
  - !ruby/object:Gem::Version
468
472
  version: '0'
469
473
  requirements: []
470
- rubygems_version: 3.3.7
474
+ rubygems_version: 3.5.14
471
475
  signing_key:
472
476
  specification_version: 4
473
477
  summary: Logs performance and exception data from your app to appsignal.com
@@ -1,22 +0,0 @@
1
- #!/bin/bash
2
-
3
- set -eu
4
-
5
- actual_ruby_version=$(ruby --version)
6
- if [[ "$actual_ruby_version" == *"jruby"* ]]; then
7
- # Replace "-" from specified RUBY_VERSION string. Semaphore/rbenv version uses
8
- # a dash, where `jruby --version` uses a space.
9
- sanitized_ruby_version="${RUBY_VERSION//-/ }"
10
- else
11
- # Strip "-" from specified RUBY_VERSION string. Semaphore/rbenv version uses
12
- # a dash, where `ruby --version` does not.
13
- sanitized_ruby_version="${RUBY_VERSION//-}"
14
- fi
15
- if [[ "$actual_ruby_version" == *"$sanitized_ruby_version"* ]]; then
16
- echo "Ruby version is $RUBY_VERSION"
17
- exit 0
18
- else
19
- echo "Ruby version is: $actual_ruby_version"
20
- echo "Ruby version should be: $sanitized_ruby_version"
21
- exit 1
22
- fi