mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-20 18:16:45 +10:00
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`.
51 lines
1.3 KiB
Plaintext
51 lines
1.3 KiB
Plaintext
.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
|