• Yorick Peterse's avatar
    Added Sherlock, a custom profiling tool for GitLab · dec3e4ce
    Yorick Peterse authored
    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`.
    dec3e4ce