summaryrefslogtreecommitdiff
path: root/lib/gitlab/sherlock.rb
Commit message (Collapse)AuthorAgeFilesLines
* Only load rblineprof when actually neededYorick Peterse2015-11-091-1/+0
| | | | | This ensures the application can still boot when the "development" group is not available.
* Added Sherlock, a custom profiling tool for GitLabYorick Peterse2015-11-091-0/+20
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`.