dec3e4ce64
Sherlock will be a new GitLab specific tool for measuring the performance of Rails requests (and SideKiq jobs at some point). Some of the things that are currently tracked: * SQL queries along with their timings, backtraces and query plans (using "EXPLAIN ANALYZE" for PostgreSQL and regular "EXPLAIN" for MySQL) * Timings of application files (including views) on a per line basis * Some meta data such as the request method, path, total duration, etc More tracking (e.g. Rugged or gitlab-shell timings) might be added in the future. Sherlock will replace any existing tools we have used so far (e.g. active_record_query_trace and rack-mini-profiler), hence the corresponding Gems have been removed from the Gemfile. Sherlock can be enabled by starting Rails as following: ENABLE_SHERLOCK=1 bundle exec rails s Recorded transactions can be found at `/sherlock/transactions`.
50 lines
1.3 KiB
Text
50 lines
1.3 KiB
Text
.prepend-top-default
|
|
.panel.panel-default
|
|
.panel-heading
|
|
%strong
|
|
= t('sherlock.general')
|
|
%ul.well-list
|
|
%li
|
|
%span.light
|
|
#{t('sherlock.time')}:
|
|
%strong
|
|
= @query.duration.round(4)
|
|
= t('sherlock.milliseconds')
|
|
%li
|
|
%span.light
|
|
#{t('sherlock.origin')}:
|
|
%strong
|
|
= @query.last_application_frame.path
|
|
%small.light
|
|
= t('sherlock.line')
|
|
= @query.last_application_frame.line
|
|
|
|
.panel.panel-default
|
|
.panel-heading
|
|
.pull-right
|
|
%button.js-clipboard-trigger.btn.btn-xs{title: t('sherlock.copy_to_clipboard'), type: :button}
|
|
%i.fa.fa-clipboard
|
|
%pre.hidden
|
|
= @query.formatted_query
|
|
%strong
|
|
= t('sherlock.query')
|
|
%ul.well-list
|
|
%li
|
|
.code.js-syntax-highlight.sherlock-code
|
|
:preserve
|
|
#{highlight("#{@query.id}.sql", @query.formatted_query)}
|
|
|
|
.panel.panel-default
|
|
.panel-heading
|
|
.pull-right
|
|
%button.js-clipboard-trigger.btn.btn-xs{title: t('sherlock.copy_to_clipboard'), type: :button}
|
|
%i.fa.fa-clipboard
|
|
%pre.hidden
|
|
= @query.explain
|
|
%strong
|
|
= t('sherlock.query_plan')
|
|
%ul.well-list
|
|
%li
|
|
.code.js-syntax-highlight.sherlock-code
|
|
%pre
|
|
%code= @query.explain
|