scout_apm 6.3.1 → 6.3.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 97692f03252aa5c2af4a4f87092742319b9088dace2f3dbcb4c48af766dfb848
4
- data.tar.gz: 30bc39d151abec5d26723b2de0626319cf80685548a0f68da48074e283c72515
3
+ metadata.gz: 647c2a2c8787f10d68fde13900fce45112cf0cc2686559b1a8a9df06eaab9f36
4
+ data.tar.gz: f5085e257c1cf9988d005d2d87cfce79997f30d2672b9021a7632f4a3870913d
5
5
  SHA512:
6
- metadata.gz: 0c6a06a5e08a3a753a7110568f44d9c9c6b0163aeeabf3be281a2de9df6a2357f14515de7419c9dedd79e8f7e8266dca67cbf58b3dbac2e6efb54f283ba4d433
7
- data.tar.gz: 13bacea25583bf396a3e4d0edee2e957a756296a3c4fcf6083a5a42b5e0bb2e57c90a9751dd6b04f7d86f0315d8c30222ba4d3d0c9c679aa2d73eb1eb38b2eb3
6
+ metadata.gz: e996594b47f8765c9cad43fa774d1d72d51f5beec9923d2836e9caf0a344280e8270d08bb9812fc535f8ddd6c642eeba4b6e221070e62b3d9781ddfaccec1bc2
7
+ data.tar.gz: 95f2051eedde3f0b9c24a25a98ec5f28fa1d637ce23c83fac59aee0d73e1083c6469f537bb6ae270faa88477aa331858bb5f54d6c1853894100c8af628f8e74c
data/CHANGELOG.markdown CHANGED
@@ -1,5 +1,9 @@
1
1
  # Pending
2
2
 
3
+ # 6.3.2
4
+
5
+ - Build the per-minute debug dumps of metrics, slow traces and auto-instrument histograms only when debug logging is enabled (#639)
6
+
3
7
  # 6.3.1
4
8
 
5
9
  - Capture route names for Grape 4 (#635)
@@ -21,6 +21,8 @@ module ScoutApm
21
21
  private
22
22
 
23
23
  def log_autoinstrument_significant_counts
24
+ return unless context.logger.debug?
25
+
24
26
  # Ex key/value -
25
27
  # "/Users/dlite/projects/scout/apm/app/controllers/application_controller.rb"=>[[0.0, 689], [1.0, 16]]
26
28
  hists = context.auto_instruments_layer_histograms.as_json
@@ -118,7 +118,7 @@ module ScoutApm
118
118
  histogram_clause = "#{histograms.length} Histograms"
119
119
 
120
120
  logger.info "#{time_clause} Delivering #{metrics_clause} and #{slow_trans_clause} and #{job_clause}, #{process_log_str}."
121
- logger.debug("\n\nMetrics: #{metrics.pretty_inspect}\nSlowTrans: #{slow_transactions.pretty_inspect}\nMetadata: #{metadata.inspect.pretty_inspect}\n\n")
121
+ logger.debug { "\n\nMetrics: #{metrics.pretty_inspect}\nSlowTrans: #{slow_transactions.pretty_inspect}\nMetadata: #{metadata.inspect.pretty_inspect}\n\n" }
122
122
  end
123
123
 
124
124
  # TODO: Move this into PayloadSerializer?
@@ -1,3 +1,3 @@
1
1
  module ScoutApm
2
- VERSION = "6.3.1"
2
+ VERSION = "6.3.2"
3
3
  end
@@ -0,0 +1,40 @@
1
+ require 'test_helper'
2
+
3
+ class ReportingTest < Minitest::Test
4
+ class InspectCountingHash < Hash
5
+ attr_reader :pretty_inspect_calls
6
+
7
+ def pretty_inspect
8
+ @pretty_inspect_calls = (@pretty_inspect_calls || 0) + 1
9
+ super
10
+ end
11
+ end
12
+
13
+ FakeContext = Struct.new(:logger)
14
+
15
+ def test_log_deliver_skips_debug_dump_when_debug_is_disabled
16
+ metrics = InspectCountingHash.new
17
+ reporting = ScoutApm::Reporting.new(FakeContext.new(logger_at(::Logger::INFO)))
18
+
19
+ reporting.log_deliver(metrics, [], { :agent_time => Time.now.iso8601 }, [], [])
20
+
21
+ assert_nil metrics.pretty_inspect_calls
22
+ end
23
+
24
+ def test_log_deliver_writes_debug_dump_when_debug_is_enabled
25
+ metrics = InspectCountingHash.new
26
+ output = StringIO.new
27
+ reporting = ScoutApm::Reporting.new(FakeContext.new(logger_at(::Logger::DEBUG, output)))
28
+
29
+ reporting.log_deliver(metrics, [], { :agent_time => Time.now.iso8601 }, [], [])
30
+
31
+ assert_equal 1, metrics.pretty_inspect_calls
32
+ assert_match(/Metrics:/, output.string)
33
+ end
34
+
35
+ private
36
+
37
+ def logger_at(level, output = StringIO.new)
38
+ ::Logger.new(output).tap { |logger| logger.level = level }
39
+ end
40
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scout_apm
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.3.1
4
+ version: 6.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Derek Haynes
@@ -485,6 +485,7 @@ files:
485
485
  - test/unit/remote/message_test.rb
486
486
  - test/unit/remote/route_test.rb
487
487
  - test/unit/remote/server_test.rb
488
+ - test/unit/reporting_test.rb
488
489
  - test/unit/request_histograms_test.rb
489
490
  - test/unit/request_manager_test.rb
490
491
  - test/unit/sampling_test.rb