raygun-apm-rails 1.0.36 → 1.0.41

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: 55cbb46e1a2e25354253adffcef702b795465912c99020f6a56b100a175e408a
4
- data.tar.gz: fde9349def8d26537d05db3f4ac56a12ffeeffd0480ba39765caa273a4d13a75
3
+ metadata.gz: 16a1a25a7bfe81affd3317f125fa01dee33ae673d55ee9cdbcec75df4bc56054
4
+ data.tar.gz: 12d2dec9e1d031a6ea89867cced58aef2575355c382554939bd43d086b879228
5
5
  SHA512:
6
- metadata.gz: 529a9e6e1925c7628be8decce46943fa436c29d608902bf598e6f39b4b5674fbd4de19a308b03001c31b6d26b5d0e024a681ca32f13ed8a8686103b78999d737
7
- data.tar.gz: b1985a74584f8e21720b8ee87b4a29009737882e0d2d58c3b804fae19f2cf3d09a88e4c6ff8bcf7f088f0b0572f0abe3295f441b486aaa639fbe793bce12c817
6
+ metadata.gz: 44f9ef85141688076f96430302787e4b9bce6b46dafbd75d953f230e3cbee5cff706de49805a8bfa8a76ece9dfacc53576737f10f5d2bd2172f03c7ea79b2776
7
+ data.tar.gz: 228fa823ee223d31914b50d5eccbed35ab3e004444684241e45d0c0ec25059149c8e70deee68777bf952b21dfd5930ec9601a5ab09173246c2136fd9f2292a08
@@ -86,7 +86,6 @@ module Raygun
86
86
  Mustermann
87
87
  Enumeration
88
88
  +Raygun::Apm::Rails::Middleware#Ruby_APM_profiler_trace
89
- +Raygun::Apm::Rails::Middleware#Ruby_APM_request_error
90
89
  WebpackHelper
91
90
  Ripper
92
91
  Webpack
@@ -28,22 +28,9 @@ module Raygun
28
28
  Ruby_APM_profiler_trace do
29
29
  begin
30
30
  res = @app.call(env)
31
- if res && (status = res.first) >= 400 && status < 600
32
- Ruby_APM_request_error do
33
- message = Rack::Utils::HTTP_STATUS_CODES[status]
34
- begin
35
- raise "HTTP #{status} #{message}"
36
- rescue => e
37
- crash_report_exception(e)
38
- end
39
- exceptional_http_in_handler(env, status) if @tracer
40
- end
41
- end
42
31
  rescue => e
43
- Ruby_APM_request_error do
44
- crash_report_exception(e)
45
- exceptional_http_in_handler(env, 500) if @tracer
46
- end
32
+ crash_report_exception(e)
33
+ exceptional_http_in_handler(env) if @tracer
47
34
  exception = e
48
35
  end
49
36
  end
@@ -86,6 +73,7 @@ module Raygun
86
73
  ActiveSupport::Notifications.unsubscribe(@http_in_subscriber)
87
74
  ActiveSupport::Notifications.unsubscribe(@sql_subscriber)
88
75
  warn "[Raygun APM] notification hooks unsubscribed"
76
+ @tracer.end_trace
89
77
  # Let the GC clean up the sink thread through the finalizer below
90
78
  @tracer = Raygun::Apm::Tracer.instance = nil
91
79
  raise(exception) unless (Raygun::Apm::FatalError === exception)
@@ -108,7 +96,7 @@ module Raygun
108
96
  event[:pid] = Process.pid
109
97
  event[:url] = url
110
98
  event[:verb] = verb
111
- event[:status] = notification.payload[:status]
99
+ event[:status] = notification.payload[:status] || notification.payload[:headers]["action_controller.instance"].status
112
100
  # XXX constant milliseconds to microseconds
113
101
  event[:duration] = notification.duration * 1000
114
102
  event[:timestamp] = @tracer.now
@@ -120,13 +108,13 @@ module Raygun
120
108
  end
121
109
 
122
110
  # For middleware chain halts that does not trigger 'process_action.action_controller'
123
- def exceptional_http_in_handler(env, status)
111
+ def exceptional_http_in_handler(env)
124
112
  req = Rack::Request.new env
125
113
  event = http_in_event
126
114
  event[:pid] = Process.pid
127
115
  event[:url] = req.url
128
116
  event[:verb] = req.request_method
129
- event[:status] = status
117
+ event[:status] = 500
130
118
  event[:duration] = @tracer.now - @request_started
131
119
  event[:timestamp] = @tracer.now
132
120
  event[:tid] = @tracer.get_thread_id(Thread.current)
@@ -1,7 +1,7 @@
1
1
  module Raygun
2
2
  module Apm
3
3
  module Rails
4
- VERSION = "1.0.36"
4
+ VERSION = "1.0.41"
5
5
  end
6
6
  end
7
7
  end
@@ -13,14 +13,12 @@ Gem::Specification.new do |spec|
13
13
  spec.homepage = "https://raygun.com/platform/apm"
14
14
  #spec.license = "MIT"
15
15
 
16
- spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
17
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
- end
16
+ spec.files = Dir['README.rdoc', 'raygun-apm-rails.gemspec', 'lib/**/*', 'bin/**/*']
19
17
  spec.bindir = "exe"
20
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
19
  spec.require_paths = ["lib"]
22
20
 
23
- spec.add_dependency "raygun-apm", "~> 1.0.44"
21
+ spec.add_dependency "raygun-apm", "~> 1.0.53"
24
22
  spec.add_development_dependency "bundler", "~> 2.1.4"
25
23
  spec.add_development_dependency "rake", "~> 10.0"
26
24
  spec.add_development_dependency "minitest", "~> 5.0"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: raygun-apm-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.36
4
+ version: 1.0.41
5
5
  platform: ruby
6
6
  authors:
7
7
  - Raygun
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2020-06-27 00:00:00.000000000 Z
12
+ date: 2020-09-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: raygun-apm
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: 1.0.44
20
+ version: 1.0.53
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: 1.0.44
27
+ version: 1.0.53
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: bundler
30
30
  requirement: !ruby/object:Gem::Requirement
@@ -75,12 +75,7 @@ executables: []
75
75
  extensions: []
76
76
  extra_rdoc_files: []
77
77
  files:
78
- - ".gitignore"
79
- - CHANGELOG.rdoc
80
- - Gemfile
81
- - Gemfile.lock
82
78
  - README.rdoc
83
- - Rakefile
84
79
  - bin/console
85
80
  - bin/setup
86
81
  - lib/raygun/apm/rails.rb
@@ -106,7 +101,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
106
101
  - !ruby/object:Gem::Version
107
102
  version: '0'
108
103
  requirements: []
109
- rubygems_version: 3.0.6
104
+ rubygems_version: 3.1.2
110
105
  signing_key:
111
106
  specification_version: 4
112
107
  summary: Raygun application performance monitoring for Rails
data/.gitignore DELETED
@@ -1,9 +0,0 @@
1
- /.bundle/
2
- /.yardoc
3
- /_yardoc/
4
- /coverage/
5
- /doc/
6
- /pkg/
7
- /spec/reports/
8
- /tmp/
9
- *.gem
@@ -1,84 +0,0 @@
1
- = Changelog
2
-
3
- == 1.0.36 (June 27, 2020)
4
-
5
- * Some blacklist cleanups and ambiguity removal
6
-
7
- == 1.0.35 (June 27, 2020)
8
-
9
- * Whitelist key ActiveStorage APIs
10
-
11
- == 1.0.34 (June 17, 2020)
12
-
13
- * Align with rubyesque blacklist syntax support from profiler version 1.0.44
14
-
15
- == 1.0.33 (June 7, 2020)
16
-
17
- * Integrate exception correlation with rayrun4ruby
18
-
19
- == 1.0.32 (June 6, 2020)
20
-
21
- * Move raygun4ruby whitelisting and blacklisting out to profiler core
22
-
23
- == 1.0.31 (May 17, 2020)
24
-
25
- * Remove the Tracer#process_started callback (set on begin transaction command now)
26
-
27
- == 1.0.30 (May 15, 2020)
28
-
29
- * Introduce support for Redis as client adapter
30
-
31
- == 1.0.29 (May 3, 2020)
32
-
33
- * Blacklist a new set of methods injected at runtime by Rails which leads to messy traces
34
-
35
- == 1.0.28 (April 11, 2020)
36
-
37
- * Prefer local variables to Rack::Request methods for event value assignment (Rails 4)
38
-
39
- == 1.0.27 (April 11, 2020)
40
-
41
- * Restore Rails 4 support with caveat that HTTP IN paths are not fully qualified with protocol, host and port
42
-
43
- == 1.0.26 (April 11, 2020)
44
-
45
- * Remove Rails 4 support (no headers element in the notifications hash for HTTP in)
46
-
47
- == 1.0.25 (April 11, 2020)
48
-
49
- * Only ever attempt to emit extended events if a tracer instance is alive
50
-
51
- == 1.0.24 (April 1, 2020)
52
-
53
- * Blacklist Enumeration
54
- * Unsubscribe from previously registered AS::Notifications subscribers as child processes emit double HTTP IN and SQL events otherwise
55
-
56
- == 1.0.23 (March 25, 2020)
57
-
58
- * Do not cache PID on HTTP IN and SQL event initializers
59
-
60
- == 1.0.22 (March 24, 2020)
61
-
62
- * Fix local variable typo in the Rails middleware
63
- * Blacklist TZInfo
64
-
65
- == 1.0.21 (March 19, 2020)
66
-
67
- * Further improvements of emitting exceptions and other error status codes for apps with and without raygun4ruby installed
68
-
69
- == 1.0.20 (March 18, 2020)
70
-
71
- * Introduce support for detecting the presence of raygun4ruby and integrate better with the exception tracker
72
-
73
- == 1.0.19 (March 16, 2020)
74
-
75
- * Improve trace emission of unhandled exceptions in a request context
76
-
77
- == 1.0.18 (March 15, 2020)
78
-
79
- * Ensure a better experience with raygun4ruby with only Raygun::track_exception whitelisted
80
- * Remove the warning on a HTTP IN event with an exception payload - spams STDOUT and already confused some testers
81
- * Ensure errors raised during request exception always result in a fully wrapped trace with a 500 status
82
- * Wrap the exceptional HTTP IN error handler in a fake user code method too to get past the agent gate for that
83
- * Prefer the singleton interface on the Tracer
84
- * Blacklist HTTParty
data/Gemfile DELETED
@@ -1,3 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gemspec
@@ -1,24 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- raygun-apm-rails (1.0.36)
5
- raygun-apm (~> 1.0.44)
6
-
7
- GEM
8
- remote: https://rubygems.org/
9
- specs:
10
- minitest (5.13.0)
11
- rake (10.5.0)
12
- raygun-apm (1.0.45-x86-linux)
13
-
14
- PLATFORMS
15
- ruby
16
-
17
- DEPENDENCIES
18
- bundler (~> 2.1.4)
19
- minitest (~> 5.0)
20
- rake (~> 10.0)
21
- raygun-apm-rails!
22
-
23
- BUNDLED WITH
24
- 2.1.4
data/Rakefile DELETED
@@ -1,16 +0,0 @@
1
- require "bundler/gem_tasks"
2
- require "rake/testtask"
3
- require 'rdoc/task'
4
-
5
- RDoc::Task.new do |rdoc|
6
- rdoc.main = "README.rdoc"
7
- rdoc.rdoc_files.include("README.rdoc", "lib/raygun/apm/*.rb", "lib/raygun/apm/rails/*.rb")
8
- end
9
-
10
- Rake::TestTask.new(:test) do |t|
11
- t.libs << "test"
12
- t.libs << "lib"
13
- t.test_files = FileList["test/**/*_test.rb"]
14
- end
15
-
16
- task :default => :test