appsignal 3.9.3 → 3.10.0

Sign up to get free protection for your applications and to get access to all the features.
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