# ProfilingTo make it easier to track down performance problems GitLab comes with a set ofprofiling tools, some of these are available by default while others need to beexplicitly enabled.
Sherlock is a custom profiling tool built into GitLab. Sherlock is _only_available when running GitLab in development mode _and_ when setting theenvironment variable `ENABLE_SHERLOCK` to a non empty value. For example: ENABLE_SHERLOCK=1 bundle exec rails sRecorded transactions can be found by navigating to `/sherlock/transactions`.
## BulletBullet is a Gem that can be used to track down N+1 query problems. BecauseBullet adds quite a bit of logging noise it's disabled by default. To enableBullet, set the environment variable `ENABLE_BULLET` to a non-empty value beforestarting GitLab. For example: ENABLE_BULLET=true bundle exec rails sBullet will log query problems to both the Rails log as well as the Chromeconsole.