app_perf_rpm 0.2.4 → 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f065cc5f296439517408c180ce05d242779eea18
4
- data.tar.gz: 1374db5e7858a9f27429991423a868d2a368b448
3
+ metadata.gz: a27d3cb17a8dcdda4da96bee836a98a525a4cf93
4
+ data.tar.gz: 3673b87c11d693760e87182b703b6162edd658cf
5
5
  SHA512:
6
- metadata.gz: 3ab367ea7fee124725663f840d07af9097d20f8925ebb859c622aa13df507137d46678221c574545906c18e5c6bf996424461384bf6728d1fd71e3392139b5f4
7
- data.tar.gz: 8215c2f06106fe47e08629c72aebf8577c544848b1a6dcd10b69510694c20919a0a6b191ae1721591096124e0878cf35f61643b59227188c4a4de0e4361c97d9
6
+ metadata.gz: c40d2afc87b15d14c37302a9de5e75bb4f5f7bbacdd8b8261f14defcd0603a59e8aa200625096bd2b1c8004555300cca135483b710ee0a62ca502077494655d1
7
+ data.tar.gz: 7ebc862f72bf8766b0be9557c6f26dda69c34f63e318be766defdf722f16ee5783f33a35ea3bea74950de4b8e832208436ff80dd2e3637c80850550760eecdfb
@@ -15,6 +15,8 @@ module AppPerfRpm
15
15
 
16
16
  process_action_without_trace(method_name, *args)
17
17
  rescue Exception => e
18
+ puts e.message.inspect
19
+ puts e.backtrace.join("\n")
18
20
  if span
19
21
  span.set_tag('error', true)
20
22
  span.log_error(e)
@@ -1,218 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- if ::AppPerfRpm.config.instrumentation[:action_view][:enabled] && defined?(::ActionView)
4
- if defined?(Rails) && Rails::VERSION::MAJOR == 2
5
- ActionView::Partials.module_eval do
6
- alias :render_partial_without_trace :render_partial
7
- def render_partial(options = {})
8
- if ::AppPerfRpm::Tracer.tracing? && options.key?(:partial) && options[:partial].is_a?(String)
9
- span = AppPerfRpm.tracer.start_span("render_partial", tags: {
10
- "component" => "ActionView",
11
- "span.kind" => "client",
12
- "view.controller" => @_request.path_parameters['controller'],
13
- "view.action" => @_request.path_parameters['action'],
14
- "view.template" => options[:partial]
15
- })
16
- AppPerfRpm::Utils.log_source_and_backtrace(span, :action_view)
17
- end
18
-
19
- render_partial_without_trace(options)
20
- rescue Exception => e
21
- if span
22
- span.set_tag('error', true)
23
- span.log_error(e)
24
- end
25
- raise
26
- ensure
27
- span.finish if span
28
- end
29
-
30
- alias :render_partial_collection_without_trace :render_partial_collection
31
- def render_partial_collection(options = {})
32
- if ::AppPerfRpm::Tracer.tracing?
33
- span = AppPerfRpm.tracer.start_span("render_partial_collection", tags: {
34
- "component" => "ActionView",
35
- "span.kind" => "client",
36
- "view.controller" => @_request.path_parameters['controller'],
37
- "view.action" => @_request.path_parameters['action'],
38
- "view.template" => @path
39
- })
40
- AppPerfRpm::Utils.log_source_and_backtrace(span, :action_view)
41
- end
42
-
43
- render_partial_collection_without_trace(options)
44
- rescue Exception => e
45
- if span
46
- span.set_tag('error', true)
47
- span.log_error(e)
48
- end
49
- raise
50
- ensure
51
- span.finish if span
52
- end
53
- end
54
- end
55
-
56
- if defined?(Rails) && Rails::VERSION::MAJOR == 3 && Rails::VERSION::MINOR == 0
57
- ::ActionView::Partials::PartialRenderer.class_eval do
58
- alias :render_partial_without_trace :render_partial
59
- def render_partial
60
- if ::AppPerfRpm::Tracer.tracing?
61
- span = AppPerfRpm.tracer.start_span("render_partial", tags: {
62
- "component" => "ActionView",
63
- "span.kind" => "client",
64
- "view.template" => @options[:partial]
65
- })
66
- AppPerfRpm::Utils.log_source_and_backtrace(span, :action_view)
67
- end
68
-
69
- render_partial_without_trace
70
- rescue Exception => e
71
- if span
72
- span.set_tag('error', true)
73
- span.log_error(e)
74
- end
75
- raise
76
- ensure
77
- span.finish if span
78
- end
79
-
80
- alias :render_collection_without_trace :render_collection
81
- def render_collection
82
- if ::AppPerfRpm::Tracer.tracing?
83
- span = AppPerfRpm.tracer.start_span("render_collection", tags: {
84
- "component" => "ActionView",
85
- "span.kind" => "client",
86
- "view.template" => @path
87
- })
88
- if @_request
89
- span.set_tag('view.controller', @_request.path_parameters['controller'])
90
- span.set_tag('view.action', @_request.path_parameters['action'])
91
- end
92
- AppPerfRpm::Utils.log_source_and_backtrace(span, :action_view)
93
- end
94
-
95
- render_collection_without_trace
96
- rescue Exception => e
97
- if span
98
- span.set_tag('error', true)
99
- span.log_error(e)
100
- end
101
- raise
102
- ensure
103
- span.finish if span
104
- end
105
- end
106
-
107
- ::ActionView::Rendering.class_eval do
108
- alias :_render_template_without_trace _render_template
109
-
110
- def _render_template(template, layout = nil, options = {})
111
- if ::AppPerfRpm::Tracer.tracing?
112
- span = AppPerfRpm.tracer.start_span("render_template")
113
- span.set_tag "view.template", template
114
- span.set_tag "view.layout", layout.to_s
115
- span.set_tag "component", "ActionView"
116
- span.set_tag "span.kind", "client"
117
- AppPerfRpm::Utils.log_source_and_backtrace(span, :action_view)
118
- end
119
-
120
- _render_template_without_trace(template, layout, options)
121
- rescue Exception => e
122
- if span
123
- span.set_tag('error', true)
124
- span.log_error(e)
125
- end
126
- raise
127
- ensure
128
- span.finish if span
129
- end
130
- end
131
- end
132
-
133
- if defined?(Rails) && Rails.version >= '3.1.0'
134
- ActionView::PartialRenderer.class_eval do
135
- alias :render_partial_without_trace :render_partial
136
- def render_partial
137
- if ::AppPerfRpm::Tracer.tracing?
138
- span = AppPerfRpm.tracer.start_span("render_partial", tags: {
139
- "component" => "ActionView",
140
- "span.kind" => "client",
141
- "view.template" => @options[:partial]
142
- })
143
- AppPerfRpm::Utils.log_source_and_backtrace(span, :action_view)
144
- end
145
-
146
- render_partial_without_trace
147
- rescue Exception => e
148
- if span
149
- span.set_tag('error', true)
150
- span.log_error(e)
151
- end
152
- raise
153
- ensure
154
- span.finish if span
155
- end
156
-
157
- alias :render_collection_without_trace :render_collection
158
- def render_collection
159
- if ::AppPerfRpm::Tracer.tracing?
160
- span = AppPerfRpm.tracer.start_span("render_collection", tags: {
161
- "component" => "ActionView",
162
- "span.kind" => "client",
163
- "view.template" => @path
164
- })
165
- if @_request
166
- span.set_tag('view.controller', @_request.path_parameters['controller'])
167
- span.set_tag('view.action', @_request.path_parameters['action'])
168
- end
169
- AppPerfRpm::Utils.log_source_and_backtrace(span, :action_view)
170
- end
171
-
172
- render_collection_without_trace
173
- rescue Exception => e
174
- if span
175
- span.set_tag('error', true)
176
- span.log_error(e)
177
- end
178
- raise
179
- ensure
180
- span.finish if span
181
- end
182
- end
183
-
184
- ::ActionView::TemplateRenderer.class_eval do
185
- alias :render_template_without_trace :render_template
186
-
187
- def render_template(template, layout_name = nil, locals = {})
188
- if ::AppPerfRpm::Tracer.tracing?
189
- layout = if layout_name.is_a?(String)
190
- layout_name
191
- elsif method(:find_layout).arity == 3
192
- find_layout(layout_name, locals, [formats.first])
193
- elsif locals
194
- find_layout(layout_name, locals)
195
- end
196
- span = AppPerfRpm.tracer.start_span("render_template")
197
- span.set_tag "view.layout", layout.inspect
198
- span.set_tag "view.template", template.identifier
199
- span.set_tag "component", "ActionView"
200
- span.set_tag "span.kind", "client"
201
- AppPerfRpm::Utils.log_source_and_backtrace(span, :action_view)
202
- end
203
-
204
- render_template_without_trace(template, layout_name, locals)
205
- rescue Exception => e
206
- if span
207
- span.set_tag('error', true)
208
- span.log_error(e)
209
- end
210
- raise
211
- ensure
212
- span.finish if span
213
- end
214
- end
215
- end
216
-
3
+ if ::AppPerfRpm.config.instrumentation[:action_view][:enabled] && defined?(::ActionView) && defined?(Rails)
4
+ require 'app_perf_rpm/instruments/action_view/action_view_rails_2'
5
+ require 'app_perf_rpm/instruments/action_view/action_view_rails_3_0'
6
+ require 'app_perf_rpm/instruments/action_view/action_view_rails_3_1_to_5'
7
+ require 'app_perf_rpm/instruments/action_view/action_view_rails_6'
8
+
217
9
  AppPerfRpm.logger.info "Initializing actionview tracer."
218
10
  end
@@ -0,0 +1,51 @@
1
+ if Rails::VERSION::MAJOR == 2
2
+ ActionView::Partials.module_eval do
3
+ alias :render_partial_without_trace :render_partial
4
+ def render_partial(options = {})
5
+ if ::AppPerfRpm::Tracer.tracing? && options.key?(:partial) && options[:partial].is_a?(String)
6
+ span = AppPerfRpm.tracer.start_span("render_partial", tags: {
7
+ "component" => "ActionView",
8
+ "span.kind" => "client",
9
+ "view.controller" => @_request.path_parameters['controller'],
10
+ "view.action" => @_request.path_parameters['action'],
11
+ "view.template" => options[:partial]
12
+ })
13
+ AppPerfRpm::Utils.log_source_and_backtrace(span, :action_view)
14
+ end
15
+
16
+ render_partial_without_trace(options)
17
+ rescue Exception => e
18
+ if span
19
+ span.set_tag('error', true)
20
+ span.log_error(e)
21
+ end
22
+ raise
23
+ ensure
24
+ span.finish if span
25
+ end
26
+
27
+ alias :render_partial_collection_without_trace :render_partial_collection
28
+ def render_partial_collection(options = {})
29
+ if ::AppPerfRpm::Tracer.tracing?
30
+ span = AppPerfRpm.tracer.start_span("render_partial_collection", tags: {
31
+ "component" => "ActionView",
32
+ "span.kind" => "client",
33
+ "view.controller" => @_request.path_parameters['controller'],
34
+ "view.action" => @_request.path_parameters['action'],
35
+ "view.template" => @path
36
+ })
37
+ AppPerfRpm::Utils.log_source_and_backtrace(span, :action_view)
38
+ end
39
+
40
+ render_partial_collection_without_trace(options)
41
+ rescue Exception => e
42
+ if span
43
+ span.set_tag('error', true)
44
+ span.log_error(e)
45
+ end
46
+ raise
47
+ ensure
48
+ span.finish if span
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,76 @@
1
+ if Rails::VERSION::MAJOR == 3 && Rails::VERSION::MINOR == 0
2
+ ::ActionView::Partials::PartialRenderer.class_eval do
3
+ alias :render_partial_without_trace :render_partial
4
+ def render_partial
5
+ if ::AppPerfRpm::Tracer.tracing?
6
+ span = AppPerfRpm.tracer.start_span("render_partial", tags: {
7
+ "component" => "ActionView",
8
+ "span.kind" => "client",
9
+ "view.template" => @options[:partial]
10
+ })
11
+ AppPerfRpm::Utils.log_source_and_backtrace(span, :action_view)
12
+ end
13
+
14
+ render_partial_without_trace
15
+ rescue Exception => e
16
+ if span
17
+ span.set_tag('error', true)
18
+ span.log_error(e)
19
+ end
20
+ raise
21
+ ensure
22
+ span.finish if span
23
+ end
24
+
25
+ alias :render_collection_without_trace :render_collection
26
+ def render_collection
27
+ if ::AppPerfRpm::Tracer.tracing?
28
+ span = AppPerfRpm.tracer.start_span("render_collection", tags: {
29
+ "component" => "ActionView",
30
+ "span.kind" => "client",
31
+ "view.template" => @path
32
+ })
33
+ if @_request
34
+ span.set_tag('view.controller', @_request.path_parameters['controller'])
35
+ span.set_tag('view.action', @_request.path_parameters['action'])
36
+ end
37
+ AppPerfRpm::Utils.log_source_and_backtrace(span, :action_view)
38
+ end
39
+
40
+ render_collection_without_trace
41
+ rescue Exception => e
42
+ if span
43
+ span.set_tag('error', true)
44
+ span.log_error(e)
45
+ end
46
+ raise
47
+ ensure
48
+ span.finish if span
49
+ end
50
+ end
51
+
52
+ ::ActionView::Rendering.class_eval do
53
+ alias :_render_template_without_trace _render_template
54
+
55
+ def _render_template(template, layout = nil, options = {})
56
+ if ::AppPerfRpm::Tracer.tracing?
57
+ span = AppPerfRpm.tracer.start_span("render_template")
58
+ span.set_tag "view.template", template
59
+ span.set_tag "view.layout", layout
60
+ span.set_tag "component", "ActionView"
61
+ span.set_tag "span.kind", "client"
62
+ AppPerfRpm::Utils.log_source_and_backtrace(span, :action_view)
63
+ end
64
+
65
+ _render_template_without_trace(template, layout, options)
66
+ rescue Exception => e
67
+ if span
68
+ span.set_tag('error', true)
69
+ span.log_error(e)
70
+ end
71
+ raise
72
+ ensure
73
+ span.finish if span
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,87 @@
1
+ if Rails.version >= '3.1.0' && Rails.version < '6.0.0'
2
+ ActionView::PartialRenderer.class_eval do
3
+ alias :render_partial_without_trace :render_partial
4
+ def render_partial
5
+ if ::AppPerfRpm::Tracer.tracing?
6
+ span = AppPerfRpm.tracer.start_span("render_partial", tags: {
7
+ "component" => "ActionView",
8
+ "span.kind" => "client",
9
+ "view.template" => @options[:partial]
10
+ })
11
+ AppPerfRpm::Utils.log_source_and_backtrace(span, :action_view)
12
+ end
13
+
14
+ render_partial_without_trace
15
+ rescue Exception => e
16
+ if span
17
+ span.set_tag('error', true)
18
+ span.log_error(e)
19
+ end
20
+ raise
21
+ ensure
22
+ span.finish if span
23
+ end
24
+
25
+ alias :render_collection_without_trace :render_collection
26
+ def render_collection
27
+ if ::AppPerfRpm::Tracer.tracing?
28
+ span = AppPerfRpm.tracer.start_span("render_collection", tags: {
29
+ "component" => "ActionView",
30
+ "span.kind" => "client",
31
+ "view.template" => @path
32
+ })
33
+ if @_request
34
+ span.set_tag('view.controller', @_request.path_parameters['controller'])
35
+ span.set_tag('view.action', @_request.path_parameters['action'])
36
+ end
37
+ AppPerfRpm::Utils.log_source_and_backtrace(span, :action_view)
38
+ end
39
+
40
+ render_collection_without_trace
41
+ rescue Exception => e
42
+ if span
43
+ span.set_tag('error', true)
44
+ span.log_error(e)
45
+ end
46
+ raise
47
+ ensure
48
+ span.finish if span
49
+ end
50
+ end
51
+
52
+ ::ActionView::TemplateRenderer.class_eval do
53
+ alias :render_template_without_trace :render_template
54
+
55
+ def render_template(template, layout_name = nil, locals = {})
56
+ if ::AppPerfRpm::Tracer.tracing?
57
+ layout = if layout_name
58
+ if layout_name.is_a?(String)
59
+ layout_name
60
+ elsif layout_name.is_a?(Proc)
61
+ layout_name.call
62
+ elsif method(:find_layout).arity == 3
63
+ find_layout(layout_name, locals, [formats.first])
64
+ elsif locals
65
+ find_layout(layout_name, locals)
66
+ end
67
+ end
68
+ span = AppPerfRpm.tracer.start_span("render_template")
69
+ span.set_tag "view.layout", layout ? layout.inspect : ""
70
+ span.set_tag "view.template", template.inspect
71
+ span.set_tag "component", "ActionView"
72
+ span.set_tag "span.kind", "client"
73
+ AppPerfRpm::Utils.log_source_and_backtrace(span, :action_view)
74
+ end
75
+
76
+ render_template_without_trace(template, layout_name, locals)
77
+ rescue Exception => e
78
+ if span
79
+ span.set_tag('error', true)
80
+ span.log_error(e)
81
+ end
82
+ raise
83
+ ensure
84
+ span.finish if span
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,87 @@
1
+ if Rails.version >= '6.0.0'
2
+ ActionView::PartialRenderer.class_eval do
3
+ alias :render_partial_without_trace :render_partial
4
+ def render_partial(context, template)
5
+ if ::AppPerfRpm::Tracer.tracing?
6
+ span = AppPerfRpm.tracer.start_span("render_partial", tags: {
7
+ "component" => "ActionView",
8
+ "span.kind" => "client",
9
+ "view.template" => @options[:partial]
10
+ })
11
+ AppPerfRpm::Utils.log_source_and_backtrace(span, :action_view)
12
+ end
13
+
14
+ render_partial_without_trace(context, template)
15
+ rescue Exception => e
16
+ if span
17
+ span.set_tag('error', true)
18
+ span.log_error(e)
19
+ end
20
+ raise
21
+ ensure
22
+ span.finish if span
23
+ end
24
+
25
+ alias :render_collection_without_trace :render_collection
26
+ def render_collection(context, template)
27
+ if ::AppPerfRpm::Tracer.tracing?
28
+ span = AppPerfRpm.tracer.start_span("render_collection", tags: {
29
+ "component" => "ActionView",
30
+ "span.kind" => "client",
31
+ "view.template" => @path
32
+ })
33
+ if @_request
34
+ span.set_tag('view.controller', @_request.path_parameters['controller'])
35
+ span.set_tag('view.action', @_request.path_parameters['action'])
36
+ end
37
+ AppPerfRpm::Utils.log_source_and_backtrace(span, :action_view)
38
+ end
39
+
40
+ render_collection_without_trace(context, template)
41
+ rescue Exception => e
42
+ if span
43
+ span.set_tag('error', true)
44
+ span.log_error(e)
45
+ end
46
+ raise
47
+ ensure
48
+ span.finish if span
49
+ end
50
+ end
51
+
52
+ ::ActionView::TemplateRenderer.class_eval do
53
+ alias :render_template_without_trace :render_template
54
+
55
+ def render_template(view, template, layout_name = nil, locals = {})
56
+ if ::AppPerfRpm::Tracer.tracing?
57
+ layout = if layout_name
58
+ if layout_name.is_a?(String)
59
+ layout_name
60
+ elsif layout_name.is_a?(Proc)
61
+ layout_name.call
62
+ elsif method(:find_layout).arity == 3
63
+ find_layout(layout_name, locals, [formats.first])
64
+ elsif locals
65
+ find_layout(layout_name, locals)
66
+ end
67
+ end
68
+ span = AppPerfRpm.tracer.start_span("render_template")
69
+ span.set_tag "view.layout", layout ? layout.inspect : ""
70
+ span.set_tag "view.template", template.inspect
71
+ span.set_tag "component", "ActionView"
72
+ span.set_tag "span.kind", "client"
73
+ AppPerfRpm::Utils.log_source_and_backtrace(span, :action_view)
74
+ end
75
+
76
+ render_template_without_trace(view, template, layout_name, locals)
77
+ rescue Exception => e
78
+ if span
79
+ span.set_tag('error', true)
80
+ span.log_error(e)
81
+ end
82
+ raise
83
+ ensure
84
+ span.finish if span
85
+ end
86
+ end
87
+ end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module AppPerf
3
+ module AppPerfRpm
4
4
  module Instruments
5
5
  module Redis
6
6
  include AppPerfRpm::Utils
@@ -64,7 +64,7 @@ if ::AppPerfRpm.config.instrumentation[:redis][:enabled] &&
64
64
  defined?(::Redis)
65
65
  ::AppPerfRpm.logger.info "Initializing redis tracer."
66
66
 
67
- ::Redis::Client.send(:include, ::AppPerf::Instruments::Redis)
67
+ ::Redis::Client.send(:include, ::AppPerfRpm::Instruments::Redis)
68
68
 
69
69
  ::Redis::Client.class_eval do
70
70
  alias_method :call_without_trace, :call
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module AppPerf
3
+ module AppPerfRpm
4
4
  module Instruments
5
5
  module Roda
6
6
  def call_with_trace(&block)
@@ -40,7 +40,7 @@ end
40
40
  if defined?(::Roda) && ::AppPerfRpm.config.instrumentation[:roda][:enabled]
41
41
  ::AppPerfRpm.logger.info "Initializing roda tracer."
42
42
 
43
- ::Roda::RodaPlugins::Base::InstanceMethods.send(:include, AppPerf::Instruments::Roda)
43
+ ::Roda::RodaPlugins::Base::InstanceMethods.send(:include, AppPerfRpm::Instruments::Roda)
44
44
  ::Roda::RodaPlugins::Base::InstanceMethods.class_eval do
45
45
  alias_method :call_without_trace, :call
46
46
  alias_method :call, :call_with_trace
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: app_perf_rpm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Randy Girard
@@ -108,20 +108,6 @@ dependencies:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: appraisal
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
111
  - !ruby/object:Gem::Dependency
126
112
  name: wwtd
127
113
  requirement: !ruby/object:Gem::Requirement
@@ -148,6 +134,10 @@ files:
148
134
  - lib/app_perf_rpm/instrumentation.rb
149
135
  - lib/app_perf_rpm/instruments/action_controller.rb
150
136
  - lib/app_perf_rpm/instruments/action_view.rb
137
+ - lib/app_perf_rpm/instruments/action_view/action_view_rails_2.rb
138
+ - lib/app_perf_rpm/instruments/action_view/action_view_rails_3_0.rb
139
+ - lib/app_perf_rpm/instruments/action_view/action_view_rails_3_1_to_5.rb
140
+ - lib/app_perf_rpm/instruments/action_view/action_view_rails_6.rb
151
141
  - lib/app_perf_rpm/instruments/active_model_serializer.rb
152
142
  - lib/app_perf_rpm/instruments/active_record.rb
153
143
  - lib/app_perf_rpm/instruments/active_record/adapters/mysql2.rb