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`.
40 lines
1.2 KiB
Text
40 lines
1.2 KiB
Text
- page_title t('sherlock.title')
|
|
- header_title t('sherlock.title'), sherlock_transactions_path
|
|
|
|
.gray-content-block
|
|
.pull-right
|
|
= link_to(destroy_all_sherlock_transactions_path,
|
|
class: 'btn btn-danger',
|
|
method: :delete) do
|
|
%i.fa.fa-trash
|
|
= t('sherlock.delete_all_transactions')
|
|
.oneline= t('sherlock.introduction')
|
|
|
|
- if @transactions.empty?
|
|
.nothing-here-block= t('sherlock.no_transactions')
|
|
- else
|
|
.table-holder
|
|
%table.table
|
|
%thead
|
|
%tr
|
|
%th= t('sherlock.type')
|
|
%th= t('sherlock.path')
|
|
%th= t('sherlock.time')
|
|
%th= t('sherlock.queries')
|
|
%th= t('sherlock.finished_at')
|
|
%th
|
|
%tbody
|
|
- @transactions.each do |trans|
|
|
%tr
|
|
%td= trans.type
|
|
%td= trans.path
|
|
%td
|
|
= trans.duration.round(2)
|
|
= t('sherlock.seconds')
|
|
%td= trans.queries.length
|
|
%td
|
|
= time_ago_in_words(trans.finished_at)
|
|
= t('sherlock.ago')
|
|
%td
|
|
= link_to(sherlock_transaction_path(trans), class: 'btn btn-xs') do
|
|
= t('sherlock.view')
|