Skip to content

Commit 5a081cc

Browse files
committed
feat: save elapsed_instrumentation for RequestListener
1 parent a32fb52 commit 5a081cc

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

lib/appmap/handler/rails/request_handler.rb

+4
Original file line numberDiff line numberDiff line change
@@ -139,13 +139,16 @@ def initialize(payload)
139139
end
140140

141141
def before_hook(payload)
142+
before_hook_start_time = AppMap::Util.gettime()
142143
@call_event = HTTPServerRequest.new payload[:request]
144+
@call_event.call_elapsed_instrumentation = (AppMap::Util.gettime() - before_hook_start_time)
143145
AppMap.tracing.record_event @call_event
144146
end
145147

146148
def after_hook(_name, started, finished, _unique_id, payload)
147149
return unless @request_id == payload[:request].request_id
148150

151+
after_hook_start_time = AppMap::Util.gettime()
149152
return_value = Thread.current[TEMPLATE_RENDER_VALUE]
150153
Thread.current[TEMPLATE_RENDER_VALUE] = nil
151154
return_event = HTTPServerResponse.build_from_invocation(
@@ -154,6 +157,7 @@ def after_hook(_name, started, finished, _unique_id, payload)
154157
finished - started,
155158
payload[:response] || payload
156159
)
160+
return_event.elapsed_instrumentation = (AppMap::Util.gettime() - after_hook_start_time) + @call_event.call_elapsed_instrumentation
157161

158162
AppMap.tracing.record_event return_event
159163
ActiveSupport::Notifications.unsubscribe(@subscriber)

0 commit comments

Comments
 (0)