Request Profiling

To profile a request:

  1. Sign in to GitLab as a user with Administrator or Maintainer permissions.

  2. In the navigation bar, click Admin area.

  3. Navigate to Monitoring > Requests Profiles.

  4. In the Requests Profiles section, copy the token.

  5. Pass the headers X-Profile-Token: <token> and X-Profile-Mode: <mode>(where <mode> can be execution or memory) to the request you want to profile. When passing headers, you can use:

    • Browser extensions such as the ModHeader Chrome extension.

    • curl. For example:

      curl --header 'X-Profile-Token: <token>' --header 'X-Profile-Mode: <mode>' "https://gitlab.example.com/group/project"

      Profiled requests can take longer than usual.

After the request completes, you can view the profiling output from the Monitoring > Requests Profiles administration page:

Profiling output

Cleaning up profiled requests

The output from profiled requests is cleared out once each day through a Sidekiq worker.