app_perf_rpm 0.2.4 → 0.2.5

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: 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