scout_apm 5.1.1 → 5.3.5

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 (45) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yml +22 -5
  3. data/CHANGELOG.markdown +32 -0
  4. data/gems/instruments.gemfile +6 -0
  5. data/gems/sidekiq.gemfile +4 -0
  6. data/lib/scout_apm/background_job_integrations/sidekiq.rb +2 -8
  7. data/lib/scout_apm/config.rb +16 -1
  8. data/lib/scout_apm/instrument_manager.rb +19 -1
  9. data/lib/scout_apm/instruments/action_controller_rails_2.rb +1 -1
  10. data/lib/scout_apm/instruments/action_controller_rails_3_rails4.rb +1 -1
  11. data/lib/scout_apm/instruments/action_view.rb +1 -1
  12. data/lib/scout_apm/instruments/active_record.rb +2 -2
  13. data/lib/scout_apm/instruments/elasticsearch.rb +91 -42
  14. data/lib/scout_apm/instruments/grape.rb +1 -1
  15. data/lib/scout_apm/instruments/http.rb +36 -16
  16. data/lib/scout_apm/instruments/http_client.rb +33 -14
  17. data/lib/scout_apm/instruments/influxdb.rb +2 -2
  18. data/lib/scout_apm/instruments/memcached.rb +26 -11
  19. data/lib/scout_apm/instruments/middleware_detailed.rb +1 -1
  20. data/lib/scout_apm/instruments/middleware_summary.rb +1 -1
  21. data/lib/scout_apm/instruments/mongoid.rb +1 -1
  22. data/lib/scout_apm/instruments/moped.rb +44 -19
  23. data/lib/scout_apm/instruments/net_http.rb +49 -21
  24. data/lib/scout_apm/instruments/rails_router.rb +1 -1
  25. data/lib/scout_apm/instruments/redis.rb +27 -12
  26. data/lib/scout_apm/instruments/redis5.rb +59 -0
  27. data/lib/scout_apm/instruments/sinatra.rb +1 -1
  28. data/lib/scout_apm/instruments/typhoeus.rb +1 -1
  29. data/lib/scout_apm/layer_converters/external_service_converter.rb +1 -1
  30. data/lib/scout_apm/server_integrations/puma.rb +29 -1
  31. data/lib/scout_apm/slow_request_policy.rb +1 -1
  32. data/lib/scout_apm/store.rb +6 -0
  33. data/lib/scout_apm/version.rb +1 -1
  34. data/lib/scout_apm.rb +1 -0
  35. data/test/test_helper.rb +26 -0
  36. data/test/unit/background_job_integrations/sidekiq_test.rb +17 -0
  37. data/test/unit/environment_test.rb +0 -28
  38. data/test/unit/instruments/active_record_test.rb +31 -1
  39. data/test/unit/instruments/http_client_test.rb +24 -0
  40. data/test/unit/instruments/http_test.rb +24 -0
  41. data/test/unit/instruments/moped_test.rb +24 -0
  42. data/test/unit/instruments/net_http_test.rb +11 -1
  43. data/test/unit/instruments/redis_test.rb +24 -0
  44. data/test/unit/instruments/typhoeus_test.rb +1 -1
  45. metadata +78 -7
@@ -0,0 +1,24 @@
1
+ if (ENV["SCOUT_TEST_FEATURES"] || "").include?("instruments")
2
+ require 'test_helper'
3
+
4
+ require 'scout_apm/instruments/redis5'
5
+
6
+ require 'redis'
7
+
8
+ class RedisTest < Minitest::Test
9
+ def setup
10
+ @context = ScoutApm::AgentContext.new
11
+ @instance = ScoutApm::Instruments::Redis5.new(@context)
12
+ @instrument_manager = ScoutApm::InstrumentManager.new(@context)
13
+ @instance.install(prepend: @instrument_manager.prepend_for_instrument?(@instance.class))
14
+ end
15
+
16
+ def test_installs_using_proper_method
17
+ if @instrument_manager.prepend_for_instrument?(@instance.class) == true
18
+ assert ::Redis::Client.ancestors.include?(ScoutApm::Instruments::Redis5ClientInstrumentationPrepend)
19
+ else
20
+ assert_equal false, ::Redis::Client.ancestors.include?(ScoutApm::Instruments::Redis5ClientInstrumentationPrepend)
21
+ end
22
+ end
23
+ end
24
+ end
@@ -10,7 +10,7 @@ if (ENV["SCOUT_TEST_FEATURES"] || "").include?("typhoeus")
10
10
  @context = ScoutApm::AgentContext.new
11
11
  @recorder = FakeRecorder.new
12
12
  ScoutApm::Agent.instance.context.recorder = @recorder
13
- ScoutApm::Instruments::Typhoeus.new(@context).install
13
+ ScoutApm::Instruments::Typhoeus.new(@context).install(prepend: false)
14
14
  end
15
15
 
16
16
  def test_instruments_typhoeus_hydra
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scout_apm
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.1.1
4
+ version: 5.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Derek Haynes
8
8
  - Andre Lewis
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-12-14 00:00:00.000000000 Z
12
+ date: 2023-05-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: minitest
@@ -232,11 +232,13 @@ files:
232
232
  - ext/rusage/extconf.rb
233
233
  - ext/rusage/rusage.c
234
234
  - gems/README.md
235
+ - gems/instruments.gemfile
235
236
  - gems/octoshark.gemfile
236
237
  - gems/rails3.gemfile
237
238
  - gems/rails4.gemfile
238
239
  - gems/rails5.gemfile
239
240
  - gems/rails6.gemfile
241
+ - gems/sidekiq.gemfile
240
242
  - gems/typhoeus.gemfile
241
243
  - lib/scout_apm.rb
242
244
  - lib/scout_apm/agent.rb
@@ -317,6 +319,7 @@ files:
317
319
  - lib/scout_apm/instruments/process/process_memory.rb
318
320
  - lib/scout_apm/instruments/rails_router.rb
319
321
  - lib/scout_apm/instruments/redis.rb
322
+ - lib/scout_apm/instruments/redis5.rb
320
323
  - lib/scout_apm/instruments/resque.rb
321
324
  - lib/scout_apm/instruments/samplers.rb
322
325
  - lib/scout_apm/instruments/sinatra.rb
@@ -440,8 +443,12 @@ files:
440
443
  - test/unit/histogram_test.rb
441
444
  - test/unit/ignored_uris_test.rb
442
445
  - test/unit/instruments/active_record_test.rb
446
+ - test/unit/instruments/http_client_test.rb
447
+ - test/unit/instruments/http_test.rb
448
+ - test/unit/instruments/moped_test.rb
443
449
  - test/unit/instruments/net_http_test.rb
444
450
  - test/unit/instruments/percentile_sampler_test.rb
451
+ - test/unit/instruments/redis_test.rb
445
452
  - test/unit/instruments/typhoeus_test.rb
446
453
  - test/unit/layaway_test.rb
447
454
  - test/unit/layer_children_set_test.rb
@@ -472,7 +479,7 @@ homepage: https://github.com/scoutapp/scout_apm_ruby
472
479
  licenses:
473
480
  - MIT
474
481
  metadata: {}
475
- post_install_message:
482
+ post_install_message:
476
483
  rdoc_options: []
477
484
  require_paths:
478
485
  - lib
@@ -488,8 +495,72 @@ required_rubygems_version: !ruby/object:Gem::Requirement
488
495
  - !ruby/object:Gem::Version
489
496
  version: '0'
490
497
  requirements: []
491
- rubygems_version: 3.0.3
492
- signing_key:
498
+ rubygems_version: 3.0.8
499
+ signing_key:
493
500
  specification_version: 4
494
501
  summary: Ruby application performance monitoring
495
- test_files: []
502
+ test_files:
503
+ - test/data/config_test_1.yml
504
+ - test/test_helper.rb
505
+ - test/tmp/README.md
506
+ - test/unit/agent_context_test.rb
507
+ - test/unit/agent_test.rb
508
+ - test/unit/auto_instrument/anonymous_block_value.rb
509
+ - test/unit/auto_instrument/assignments-instrumented.rb
510
+ - test/unit/auto_instrument/assignments.rb
511
+ - test/unit/auto_instrument/controller-ast.txt
512
+ - test/unit/auto_instrument/controller-instrumented.rb
513
+ - test/unit/auto_instrument/controller.rb
514
+ - test/unit/auto_instrument/hanging_method.rb
515
+ - test/unit/auto_instrument/rescue_from-instrumented.rb
516
+ - test/unit/auto_instrument/rescue_from.rb
517
+ - test/unit/auto_instrument_test.rb
518
+ - test/unit/background_job_integrations/sidekiq_test.rb
519
+ - test/unit/config_test.rb
520
+ - test/unit/context_test.rb
521
+ - test/unit/db_query_metric_set_test.rb
522
+ - test/unit/db_query_metric_stats_test.rb
523
+ - test/unit/environment_test.rb
524
+ - test/unit/error_service/error_buffer_test.rb
525
+ - test/unit/error_service/ignored_exceptions_test.rb
526
+ - test/unit/extensions/periodic_callbacks_test.rb
527
+ - test/unit/extensions/transaction_callbacks_test.rb
528
+ - test/unit/external_service_metric_set_test.rb
529
+ - test/unit/external_service_metric_stats_test.rb
530
+ - test/unit/fake_store_test.rb
531
+ - test/unit/git_revision_test.rb
532
+ - test/unit/histogram_test.rb
533
+ - test/unit/ignored_uris_test.rb
534
+ - test/unit/instruments/active_record_test.rb
535
+ - test/unit/instruments/http_client_test.rb
536
+ - test/unit/instruments/http_test.rb
537
+ - test/unit/instruments/moped_test.rb
538
+ - test/unit/instruments/net_http_test.rb
539
+ - test/unit/instruments/percentile_sampler_test.rb
540
+ - test/unit/instruments/redis_test.rb
541
+ - test/unit/instruments/typhoeus_test.rb
542
+ - test/unit/layaway_test.rb
543
+ - test/unit/layer_children_set_test.rb
544
+ - test/unit/layer_converters/depth_first_walker_test.rb
545
+ - test/unit/layer_converters/metric_converter_test.rb
546
+ - test/unit/layer_converters/stubs.rb
547
+ - test/unit/limited_layer_test.rb
548
+ - test/unit/logger_test.rb
549
+ - test/unit/metric_set_test.rb
550
+ - test/unit/remote/message_test.rb
551
+ - test/unit/remote/route_test.rb
552
+ - test/unit/remote/server_test.rb
553
+ - test/unit/request_histograms_test.rb
554
+ - test/unit/scored_item_set_test.rb
555
+ - test/unit/serializers/payload_serializer_test.rb
556
+ - test/unit/slow_request_policy_test.rb
557
+ - test/unit/sql_sanitizer_test.rb
558
+ - test/unit/store_test.rb
559
+ - test/unit/tracer_test.rb
560
+ - test/unit/tracked_request_test.rb
561
+ - test/unit/transaction_test.rb
562
+ - test/unit/transaction_time_consumed_test.rb
563
+ - test/unit/utils/active_record_metric_name_test.rb
564
+ - test/unit/utils/backtrace_parser_test.rb
565
+ - test/unit/utils/numbers_test.rb
566
+ - test/unit/utils/scm.rb