scout_apm 2.4.5 → 2.4.6

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
  SHA1:
3
- metadata.gz: c7cca5bcac3a1e0003177c2278f946cc8f91162e
4
- data.tar.gz: 1019c41baada305983347b46a89d201959fd6a0d
3
+ metadata.gz: 20990a5a7adefbcb87f28ddb286a4bf867de5351
4
+ data.tar.gz: b21b4bc5da902f58a3aaedee308dab194c282de3
5
5
  SHA512:
6
- metadata.gz: 1e82600c59d5214af9f3e4eea0c41c9c5a2d3fffda05d6fa33f38cf65e410728bd82a789f39150a76b4569f9631a85af65cc8e6b84ceb1630b4f7eb96393cb14
7
- data.tar.gz: 5a50add27950b1ee9080a6f803feed0ee8cfe05ac730dc19fc47980e5ec15729663f41c7b3889feca87380602f7a284005d6f4f821ebb9dd8f25a5c42dea947f
6
+ metadata.gz: c37715e2944f6ca6813b86f646c0c7e2760de0b620990577802c8de76a543a7bae3b4ea5ca95fe5d7c9b85928f7055ead625f0412de92a83e7b78ef3dec68d47
7
+ data.tar.gz: adcaa59ce8c6f536f83bb61987fc5755c29938c669f0a27796e2f442739f593e543cd84687283c2242e1cc2ff8f4bf744173c34b90b0fd2aedfab559326677fc
@@ -1,3 +1,7 @@
1
+ # 2.4.6
2
+
3
+ * Fix an edge case for Resque instrumentation
4
+
1
5
  # 2.4.5
2
6
 
3
7
  * More robust installation of instruments at startup
@@ -41,7 +41,7 @@ module ScoutApm
41
41
  @remote_server = ScoutApm::Remote::Server.new(
42
42
  bind,
43
43
  port,
44
- ScoutApm::Remote::Router.new(ScoutApm::SynchronousRecorder.new(logger), logger),
44
+ ScoutApm::Remote::Router.new(ScoutApm::SynchronousRecorder.new(self), logger),
45
45
  logger
46
46
  )
47
47
 
@@ -4,7 +4,6 @@ module ScoutApm
4
4
  include Enumerable
5
5
 
6
6
  attr_reader :metrics # the raw metrics. You probably want #metrics_to_report
7
- attr_reader :context
8
7
 
9
8
  def marshal_dump
10
9
  [ @metrics ]
@@ -22,6 +21,12 @@ module ScoutApm
22
21
  @metrics = Hash.new
23
22
  end
24
23
 
24
+ # Need to look this up again if we end up as nil. Which I guess can happen
25
+ # after a Marshal load?
26
+ def context
27
+ @context ||= ScoutApm::Agent.instance.context
28
+ end
29
+
25
30
  def each
26
31
  metrics.each do |_key, db_query_metric_stat|
27
32
  yield db_query_metric_stat
@@ -8,11 +8,12 @@
8
8
  # :stdout => true - explicitly force the log to write to stdout (if set, ignore log_file_path)
9
9
  # :stderr => true - explicitly force the log to write to stderr (if set, ignore log_file_path)
10
10
  # :logger_class => Class or String - a class to use as the underlying logger. Defaults to Ruby's Logger. See notes
11
- # :log_level => symbol, string, or integer - defualts to INFO level
11
+ # :log_level => symbol, string, or integer - defaults to INFO level
12
12
  #
13
13
  # The :logger_class option
14
14
  # - allows any class to be used as the underlying logger. Currently requires to respond to:
15
15
  # - debug, info, warn, error, fatal in both string and block form.
16
+ # - debug?, info?, warn?, error?, fatal?
16
17
  # - #level= with a number (0 = debug, 1 = info, 2= warn, 3=error, 4=fatal)
17
18
  # - #formatter= that takes a Ruby Logger::Formatter class. This method must be here, but the value may be ignored
18
19
  #
@@ -39,6 +40,12 @@ module ScoutApm
39
40
  def error(*args, &block); @logger.error(*args, &block); end
40
41
  def fatal(*args, &block); @logger.fatal(*args, &block); end
41
42
 
43
+ def debug?; @logger.debug?; end
44
+ def info?; @logger.info?; end
45
+ def warn?; @logger.warn?; end
46
+ def error?; @logger.error?; end
47
+ def fatal?; @logger.fatal?; end
48
+
42
49
  def log_level=(level)
43
50
  @logger.level = log_level_from_opts(level)
44
51
  end
@@ -251,7 +251,7 @@ module ScoutApm
251
251
 
252
252
  # If we didn't have store, but we're trying to record anyway, go
253
253
  # figure that out. (this happens in Remote Agent scenarios)
254
- restore_store if @store.nil?
254
+ restore_from_dump! if @agent_context.nil?
255
255
 
256
256
  # Bail out early if the user asked us to ignore this uri
257
257
  return if @agent_context.ignored_uris.ignore?(annotations[:uri])
@@ -430,11 +430,14 @@ module ScoutApm
430
430
  @call_set = nil
431
431
  @store = nil
432
432
  @recorder = nil
433
+ @agent_context = nil
433
434
  end
434
435
 
435
436
  # Go re-fetch the store based on what the Agent's official one is. Used
436
437
  # after hydrating a dumped TrackedRequest
437
- def restore_store
438
+ def restore_from_dump!
439
+ @agent_context = ScoutApm::Agent.instance.context
440
+ @recorder = @agent_context.recorder
438
441
  @store = @agent_context.store
439
442
  end
440
443
  end
@@ -1,4 +1,4 @@
1
1
  module ScoutApm
2
- VERSION = "2.4.5"
2
+ VERSION = "2.4.6"
3
3
  end
4
4
 
@@ -1,10 +1,12 @@
1
1
  require 'test_helper'
2
+ require 'fileutils'
2
3
 
3
4
  require 'scout_apm/logger'
4
5
 
5
6
  class LoggerTest < Minitest::Test
6
7
  def setup
7
8
  @env_root = Pathname.new(File.dirname(__FILE__)) + "../../"
9
+ FileUtils.mkdir_p(@env_root + "log")
8
10
  end
9
11
 
10
12
  def test_detect_stdout
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: 2.4.5
4
+ version: 2.4.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Derek Haynes
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-01-25 00:00:00.000000000 Z
12
+ date: 2018-01-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: minitest