Sha256: 13c2eef4e9bd3a70d8add0af44a1e68c83ab13e45d1d7ea8fe631dfeca8a7c21
Contents?: true
Size: 718 Bytes
Versions: 26
Compression:
Stored size: 718 Bytes
Contents
module TraceView module MethodProfiling def profile_wrapper(method, report_kvs, opts, *args, &block) report_kvs[:Backtrace] = TraceView::API.backtrace(2) if opts[:backtrace] report_kvs[:Arguments] = args if opts[:arguments] TraceView::API.log(nil, 'profile_entry', report_kvs) begin rv = self.send(method, *args, &block) report_kvs[:ReturnValue] = rv if opts[:result] rv rescue => e TraceView::API.log_exception(nil, e) raise ensure report_kvs.delete(:Backtrace) report_kvs.delete(:Controller) report_kvs.delete(:Action) TraceView::API.log(nil, 'profile_exit', report_kvs) end end end end
Version data entries
26 entries across 26 versions & 1 rubygems