raygun-apm-rails 1.0.28 → 1.0.33
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 +4 -4
- data/CHANGELOG.rdoc +20 -0
- data/Gemfile.lock +2 -2
- data/lib/raygun/apm/rails.rb +32 -6
- data/lib/raygun/apm/rails/middleware.rb +12 -5
- data/lib/raygun/apm/rails/railtie.rb +2 -1
- data/lib/raygun/apm/rails/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ea8f7d9bbb65a25774299def9ae689e7ff22003e9b71112025a7f29a3b181652
|
4
|
+
data.tar.gz: 697f7f475692ac06d6ea36ae2d41ae4340cc460ac5e1cc4f88e0aeb1ecc7f6a0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4f715173c739ba06d2e4e8640460d3ed30587edb4825e8879ef9053784ce603f4e7cfa47afd89fc4f590380b9e4976b772528438cbb64e129817e0b208c1e6ff
|
7
|
+
data.tar.gz: 1a01116e541a900054a0b9b376e37de8cf10b75d54f05b0953f8f8797657ee7a2c5498d6a10ea536eab70cc988a78a8bdf6714ecd614ef6fcfaf02d469b1131d
|
data/CHANGELOG.rdoc
CHANGED
@@ -1,5 +1,25 @@
|
|
1
1
|
= Changelog
|
2
2
|
|
3
|
+
== 1.0.33 (June 7, 2020)
|
4
|
+
|
5
|
+
* Integrate exception correlation with rayrun4ruby
|
6
|
+
|
7
|
+
== 1.0.32 (June 6, 2020)
|
8
|
+
|
9
|
+
* Move raygun4ruby whitelisting and blacklisting out to profiler core
|
10
|
+
|
11
|
+
== 1.0.31 (May 17, 2020)
|
12
|
+
|
13
|
+
* Remove the Tracer#process_started callback (set on begin transaction command now)
|
14
|
+
|
15
|
+
== 1.0.30 (May 15, 2020)
|
16
|
+
|
17
|
+
* Introduce support for Redis as client adapter
|
18
|
+
|
19
|
+
== 1.0.29 (May 3, 2020)
|
20
|
+
|
21
|
+
* Blacklist a new set of methods injected at runtime by Rails which leads to messy traces
|
22
|
+
|
3
23
|
== 1.0.28 (April 11, 2020)
|
4
24
|
|
5
25
|
* Prefer local variables to Rack::Request methods for event value assignment (Rails 4)
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
raygun-apm-rails (1.0.
|
4
|
+
raygun-apm-rails (1.0.33)
|
5
5
|
raygun-apm (~> 1.0.15)
|
6
6
|
|
7
7
|
GEM
|
@@ -9,7 +9,7 @@ GEM
|
|
9
9
|
specs:
|
10
10
|
minitest (5.13.0)
|
11
11
|
rake (10.5.0)
|
12
|
-
raygun-apm (1.0.
|
12
|
+
raygun-apm (1.0.43-universal-darwin)
|
13
13
|
|
14
14
|
PLATFORMS
|
15
15
|
ruby
|
data/lib/raygun/apm/rails.rb
CHANGED
@@ -77,16 +77,42 @@ module Raygun
|
|
77
77
|
Grape
|
78
78
|
Mustermann
|
79
79
|
Enumeration
|
80
|
-
Raygun::Breadcrumbs
|
81
|
-
Raygun::Configuration
|
82
|
-
Raygun::config
|
83
80
|
+Raygun::Apm::Rails::Middleware::Ruby_APM_profiler_trace
|
84
81
|
+Raygun::Apm::Rails::Middleware::Ruby_APM_request_error
|
85
|
-
|
82
|
+
WebpackHelper
|
83
|
+
Ripper
|
84
|
+
Webpack
|
85
|
+
AfterCommitQueue
|
86
|
+
Hamlit
|
87
|
+
__callbacks
|
88
|
+
_reflections
|
89
|
+
attribute_aliases
|
90
|
+
default_scope_override
|
91
|
+
_routes
|
92
|
+
table_name_prefix
|
93
|
+
_validators
|
94
|
+
attribute_type_decorations
|
95
|
+
middleware_stack
|
96
|
+
_helpers
|
97
|
+
_layout
|
98
|
+
updated_at_before_type_cast
|
99
|
+
created_at_before_type_cast
|
100
|
+
_include_layout?
|
101
|
+
after_remove_for_
|
102
|
+
before_remove_for_
|
103
|
+
before_add_for_
|
104
|
+
after_add_for_
|
105
|
+
autosave_associated_records_for_
|
106
|
+
validate_associated_records_for_
|
107
|
+
will_save_change_to_
|
86
108
|
}
|
87
109
|
|
88
|
-
def self.raygun4ruby?
|
89
|
-
|
110
|
+
def self.raygun4ruby?(configured = true)
|
111
|
+
if configured
|
112
|
+
defined?(Raygun) && Raygun.respond_to?(:configured?) && Raygun.configured?
|
113
|
+
else
|
114
|
+
defined?(Raygun) && Raygun.respond_to?(:configured?)
|
115
|
+
end
|
90
116
|
end
|
91
117
|
end
|
92
118
|
end
|
@@ -34,22 +34,24 @@ module Raygun
|
|
34
34
|
begin
|
35
35
|
raise "HTTP #{status} #{message}"
|
36
36
|
rescue => e
|
37
|
-
|
37
|
+
crash_report_exception(e)
|
38
38
|
end
|
39
39
|
exceptional_http_in_handler(env, status) if @tracer
|
40
40
|
end
|
41
41
|
end
|
42
42
|
rescue => e
|
43
43
|
Ruby_APM_request_error do
|
44
|
-
|
45
|
-
Raygun.track_exception(e, env) if Raygun::Apm::Rails.raygun4ruby?
|
44
|
+
crash_report_exception(e)
|
46
45
|
exceptional_http_in_handler(env, 500) if @tracer
|
47
46
|
end
|
48
47
|
exception = e
|
49
48
|
end
|
50
49
|
end
|
51
50
|
# Can be nil if we had a fatal error
|
52
|
-
|
51
|
+
if @tracer
|
52
|
+
@tracer.end_trace
|
53
|
+
@tracer.diagnostics if ENV['PROTON_DIAGNOSTICS']
|
54
|
+
end
|
53
55
|
raise exception if exception
|
54
56
|
res
|
55
57
|
rescue Raygun::Apm::FatalError => e
|
@@ -59,7 +61,6 @@ module Raygun
|
|
59
61
|
def init_tracer
|
60
62
|
tracer = Raygun::Apm::Tracer.new
|
61
63
|
tracer.udp_sink!
|
62
|
-
tracer.process_started
|
63
64
|
ObjectSpace.define_finalizer(self, self.class.finalize(tracer))
|
64
65
|
|
65
66
|
ActiveSupport::Notifications.unsubscribe(@http_in_subscriber) if @http_in_subscriber
|
@@ -179,6 +180,12 @@ module Raygun
|
|
179
180
|
yield
|
180
181
|
end
|
181
182
|
|
183
|
+
def crash_report_exception(exception)
|
184
|
+
if Raygun::Apm::Rails.raygun4ruby?
|
185
|
+
Raygun.track_exception(exception, correlation_id: exception.instance_variable_get(:@__raygun_correlation_id))
|
186
|
+
end
|
187
|
+
end
|
188
|
+
|
182
189
|
def self.finalize(tracer)
|
183
190
|
proc {tracer.process_ended}
|
184
191
|
end
|
@@ -6,13 +6,14 @@ module Raygun
|
|
6
6
|
require "raygun/apm"
|
7
7
|
require "raygun/apm/rails/middleware"
|
8
8
|
Raygun::Apm::Blacklist.extend_with Raygun::Apm::Rails::BLACKLIST
|
9
|
-
if Raygun::Apm::Rails.raygun4ruby?
|
9
|
+
if Raygun::Apm::Rails.raygun4ruby?(false)
|
10
10
|
# Remove the exception notifier because we handle it in the APM middleware now instead
|
11
11
|
app.middleware.delete Raygun::Middleware::RackExceptionInterceptor
|
12
12
|
end
|
13
13
|
app.middleware.use Raygun::Apm::Rails::Middleware
|
14
14
|
# Explictly enable instrumenting HTTP until a good control API is figured out
|
15
15
|
require "raygun/apm/hooks/net_http"
|
16
|
+
require "raygun/apm/hooks/redis" if defined?(Redis::Client)
|
16
17
|
end
|
17
18
|
end
|
18
19
|
end
|
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.
|
4
|
+
version: 1.0.33
|
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-
|
12
|
+
date: 2020-06-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: raygun-apm
|