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`.
12 lines
299 B
Ruby
12 lines
299 B
Ruby
module Sherlock
|
|
class ApplicationController < ::ApplicationController
|
|
before_action :find_transaction
|
|
|
|
def find_transaction
|
|
if params[:transaction_id]
|
|
@transaction = Gitlab::Sherlock.collection.
|
|
find_transaction(params[:transaction_id])
|
|
end
|
|
end
|
|
end
|
|
end
|