raygun-apm-rails 1.0.4 → 1.0.9

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: c9634a71b540969a700cecc4ad889565a08099395872c2705bbba7edde7705b0
4
- data.tar.gz: 03f41cf7bff8fe3ecea26cd119439a0f8a969a41e01a9bf61803405275ecec61
3
+ metadata.gz: 9836a784a74b690dfe2f7729ebaf4ddfd8f534963ee2117794cc05e2e9ed8205
4
+ data.tar.gz: 4cd2142598b702d6f094ad21216b84dc22a6e49a29be7ece1047ac426cc4ab38
5
5
  SHA512:
6
- metadata.gz: 8fe0fb3eef25c0ad0a86824761202964172d67d4fcfc994b0d702d66c977a155525f803419be9f3cb429c19ee7d3ba9a039c22cd28a0633d76a3c55e1f8f1dea
7
- data.tar.gz: 8b251a102828b8bca3a4213d1d65c625f578047b99191ee8aec30936bb444018dc8450f89ae7e10045f064432ebe49feadd6b9ef5583979df6ecc587f89a4b19
6
+ metadata.gz: b944c4997eec11f05c88787a1d249ae9d53d5553bbd07491bccec30a18645a9998cb27afea1e05f0bd6d423692424929caf461ca1eb787cd1ce2c32b3bbb23eb
7
+ data.tar.gz: 8177f0bb4c0f24bfcf4f17816c95d5c21d9df361fe3ef4cdbc8e4753e516a792ba796efb52ec91451b4eac734b6ff7e6c6912fe059d6037c949663afa45f236e
@@ -58,7 +58,9 @@ module Raygun
58
58
  PG
59
59
  EnabledModule
60
60
  ConnectionPool
61
- +Raygun::Apm::Rails::Middleware::start_of_trace
61
+ CoffeeScript
62
+ ApplicationRecord
63
+ +Raygun::Apm::Rails::Middleware::Ruby_APM_profiler_trace
62
64
  }
63
65
  end
64
66
  end
@@ -4,6 +4,17 @@ module Raygun
4
4
  class Middleware
5
5
  def initialize(app)
6
6
  @app = app
7
+ @tracer_initialized = nil
8
+ end
9
+
10
+ def call(env)
11
+ @status, @headers, @response = instrument(env)
12
+ [@status, @headers, @response]
13
+ end
14
+
15
+ private
16
+
17
+ def initialize_tracer
7
18
  @tracer = Raygun::Apm::Tracer.new
8
19
  @tracer.udp_sink!
9
20
  @tracer.process_started
@@ -21,19 +32,15 @@ module Raygun
21
32
  raygun_shutdown_handler(e)
22
33
  end
23
34
 
24
- def call(env)
25
- @status, @headers, @response = instrument(env)
26
- [@status, @headers, @response]
27
- end
28
-
29
35
  def instrument(env)
30
36
  res = nil
37
+ @tracer_initialized ||= initialize_tracer
31
38
  # Can be nil if we had a fatal error
32
39
  if @tracer
33
40
  Thread.current.thread_variable_set(:_raygun_apm_tracer, @tracer)
34
41
  @tracer.start_trace
35
42
  end
36
- res = start_of_trace{ @app.call(env) }
43
+ res = Ruby_APM_profiler_trace{ @app.call(env) }
37
44
  # Can be nil if we had a fatal error
38
45
  @tracer.end_trace if @tracer
39
46
  res
@@ -47,11 +54,8 @@ module Raygun
47
54
  ActiveSupport::Notifications.unsubscribe(@http_in_subscriber)
48
55
  ActiveSupport::Notifications.unsubscribe(@sql_subscriber)
49
56
  warn "[Raygun APM] notification hooks unsubscribed"
50
- # Shutdown the tracepoint if enabled to reduce any overhead and stall emission
51
- if @tracer.tracepoint.enabled?
52
- @tracer.tracepoint.stop
53
- warn "[Raygun APM] tracepoint stopped"
54
- end
57
+ # Shutdown the tracepoints if enabled to reduce any overhead and stall emission
58
+ @tracer.stop_tracepoints
55
59
  # Let the GC clean up the sink thread through the finalizer below
56
60
  @tracer = nil
57
61
  Thread.current.thread_variable_set(:_raygun_apm_tracer, nil)
@@ -122,7 +126,7 @@ module Raygun
122
126
  end
123
127
  end
124
128
 
125
- def start_of_trace
129
+ def Ruby_APM_profiler_trace
126
130
  yield
127
131
  end
128
132
 
@@ -1,7 +1,7 @@
1
1
  module Raygun
2
2
  module Apm
3
3
  module Rails
4
- VERSION = "1.0.4"
4
+ VERSION = "1.0.9"
5
5
  end
6
6
  end
7
7
  end
@@ -6,16 +6,13 @@ require "raygun/apm/rails/version"
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "raygun-apm-rails"
8
8
  spec.version = Raygun::Apm::Rails::VERSION
9
- spec.authors = ["Erkki Eilonen"]
10
- spec.email = ["erkki@bearmetal.eu"]
9
+ spec.authors = ["Raygun", "Erkki Eilonen"]
10
+ spec.email = ["support@raygun.com", "info@bearmetal.eu"]
11
11
 
12
12
  spec.summary = %q{Raygun application performance monitoring for Rails}
13
- #spec.description = %q{TODO: Write a longer description or delete this line.}
14
- #spec.homepage = "TODO: Put your gem's website or public repo URL here."
13
+ spec.homepage = "https://raygun.com/platform/apm"
15
14
  #spec.license = "MIT"
16
15
 
17
- # Specify which files should be added to the gem when it is released.
18
- # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
19
16
  spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
20
17
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
21
18
  end
@@ -23,7 +20,7 @@ Gem::Specification.new do |spec|
23
20
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
21
  spec.require_paths = ["lib"]
25
22
 
26
- spec.add_dependency "raygun-apm", "~> 1.0.0"
23
+ spec.add_dependency "raygun-apm", "~> 1.0.7"
27
24
  spec.add_development_dependency "bundler", "~> 1.17"
28
25
  spec.add_development_dependency "rake", "~> 10.0"
29
26
  spec.add_development_dependency "minitest", "~> 5.0"
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: raygun-apm-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.0.9
5
5
  platform: ruby
6
6
  authors:
7
+ - Raygun
7
8
  - Erkki Eilonen
8
9
  autorequire:
9
10
  bindir: exe
10
11
  cert_chain: []
11
- date: 2020-02-20 00:00:00.000000000 Z
12
+ date: 2020-02-29 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: raygun-apm
@@ -16,14 +17,14 @@ dependencies:
16
17
  requirements:
17
18
  - - "~>"
18
19
  - !ruby/object:Gem::Version
19
- version: 1.0.0
20
+ version: 1.0.7
20
21
  type: :runtime
21
22
  prerelease: false
22
23
  version_requirements: !ruby/object:Gem::Requirement
23
24
  requirements:
24
25
  - - "~>"
25
26
  - !ruby/object:Gem::Version
26
- version: 1.0.0
27
+ version: 1.0.7
27
28
  - !ruby/object:Gem::Dependency
28
29
  name: bundler
29
30
  requirement: !ruby/object:Gem::Requirement
@@ -68,7 +69,8 @@ dependencies:
68
69
  version: '5.0'
69
70
  description:
70
71
  email:
71
- - erkki@bearmetal.eu
72
+ - support@raygun.com
73
+ - info@bearmetal.eu
72
74
  executables: []
73
75
  extensions: []
74
76
  extra_rdoc_files: []
@@ -85,7 +87,7 @@ files:
85
87
  - lib/raygun/apm/rails/railtie.rb
86
88
  - lib/raygun/apm/rails/version.rb
87
89
  - raygun-apm-rails.gemspec
88
- homepage:
90
+ homepage: https://raygun.com/platform/apm
89
91
  licenses: []
90
92
  metadata: {}
91
93
  post_install_message: