summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorick Peterse <yorickpeterse@gmail.com>2015-11-05 18:06:05 +0100
committerYorick Peterse <yorickpeterse@gmail.com>2015-11-05 18:06:05 +0100
commit42726d39c77260527de68d52ec7cf7cac4028c4d (patch)
treedae2d3823b3b938b9431483daeed201d2729de64
parent0f4ef891ffe9cb5975464ccbea9f939d40a8020c (diff)
downloadgitlab-ce-42726d39c77260527de68d52ec7cf7cac4028c4d.tar.gz
Updated profiling guides for Sherlock
-rw-r--r--doc/development/profiling.md45
1 files changed, 8 insertions, 37 deletions
diff --git a/doc/development/profiling.md b/doc/development/profiling.md
index 80c86ef921e..e244ad4e881 100644
--- a/doc/development/profiling.md
+++ b/doc/development/profiling.md
@@ -4,11 +4,15 @@ To make it easier to track down performance problems GitLab comes with a set of
profiling tools, some of these are available by default while others need to be
explicitly enabled.
-## rack-mini-profiler
+## Sherlock
-This Gem is enabled by default in development only. It allows you to see the
-timings of the various components that made up a web request (e.g. the SQL
-queries executed and their execution timings).
+Sherlock is a custom profiling tool built into GitLab. Sherlock is _only_
+available when running GitLab in development mode _and_ when setting the
+environment variable `ENABLE_SHERLOCK` to a non empty value. For example:
+
+ ENABLE_SHERLOCK=1 bundle exec rails s
+
+Recorded transactions can be found by navigating to `/sherlock/transactions`.
## Bullet
@@ -21,36 +25,3 @@ starting GitLab. For example:
Bullet will log query problems to both the Rails log as well as the Chrome
console.
-
-## ActiveRecord Query Trace
-
-This Gem adds backtraces for every ActiveRecord query in the Rails console. This
-can be useful to track down where a query was executed. Because this Gem adds
-quite a bit of noise (5-10 extra lines per ActiveRecord query) it's disabled by
-default. To use this Gem you'll need to set `ENABLE_QUERY_TRACE` to a non empty
-file before starting GitLab. For example:
-
- ENABLE_QUERY_TRACE=true bundle exec rails s
-
-## rack-lineprof
-
-This is a Gem that can trace the execution time of code on a per line basis.
-Because this Gem can add quite a bit of overhead it's disabled by default. To
-enable it, set the environment variable `ENABLE_LINEPROF` to a non-empty value.
-For example:
-
- ENABLE_LINEPROF=true bundle exec rails s
-
-Once enabled you'll need to add a query string parameter to a request to
-actually profile code execution. The name of the parameter is `lineprof` and
-should be set to a regular expression (minus the starting/ending slash) used to
-select what files to profile. To profile all files containing "foo" somewhere in
-the path you'd use the following parameter:
-
- ?lineprof=foo
-
-Or when filtering for files containing "foo" and "bar" in their path:
-
- ?lineprof=foo|bar
-
-Once set the profiling output will be displayed in your terminal.