summaryrefslogtreecommitdiff
path: root/doc/administration/monitoring/performance/performance_bar.md
blob: ae3da83bde1b1fa7926729d136be8334e6766f52 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# Performance Bar

>**Note:**
Available since GitLab 9.4.

A Performance Bar can be displayed, to dig into the performance of a page. When
activated, it looks as follows:

![Performance Bar](img/performance_bar.png)

It allows you to:

- see the current host serving the page
- see the timing of the page (backend, frontend)
- the number of DB queries, the time it took, and the detail of these queries
![SQL profiling using the Performance Bar](img/performance_bar_sql_queries.png)
- the number of calls to Redis, and the time it took
- the number of background jobs created by Sidekiq, and the time it took
- the number of Ruby GC calls, and the time it took
- profile the code used to generate the page, line by line
![Line profiling using the Performance Bar](img/performance_bar_line_profiling.png)

## Enable the Performance Bar

By default, the Performance Bar is disabled. You can enable it either for a
given feature group or user.

1. Edit `/etc/gitlab/gitlab.rb`
1. Find the following line, and set it to the group's **full path** that should
be allowed to use the Performance Bar:

    ```ruby
    gitlab_rails['performance_bar_allowed_group'] = 'your-org/your-performance-group'
    ```

1. Save the file and [reconfigure GitLab][reconfigure] for the changes to
   take effect
1. The Performance Bar can then be enabled via the
   [Features API](../../../api/features.md#set-or-create-a-feature) (see below).

### Enable for the `performance_team` feature group

The `performance_team` feature group maps to the group specified by the
`performance_bar_allowed_group` setting you've set in the previous step.

```
curl --data "feature_group=performance_team" --data "value=true" --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v4/features/performance_bar
```

### Enable for a specific user

```
curl --data "user=my_username" --data "value=true" --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v4/features/performance_bar
```

[reconfigure]: ../../restart_gitlab.md#omnibus-gitlab-reconfigure