Описание разделов отчета по аналитике производительности Pangolin
Performance Insights Report – общая информация об отчете
Analysis Begin Time– начало анализируемого отрезка времени;Analysis End Time– окончание анализируемого отрезка времени;Elapsed Time– продолжительность анализируемого отрезка времени;Sample Count– количество снимков, полученных за анализируемый период;Average Active Sessions– отношение времени, затраченного на активность всех сессий, к продолжительности анализируемого отрезка времени.
Пример:
| Report property | Value |
|---------------------------|--------------------------|
| Analysis Begin Time: | 2022-07-15 12:43:34+03 |
| Analysis End Time: | 2022-07-15 13:13:34+03 |
| Elapsed Time: | 30.00 min |
| Sample Count: | 266 |
| Average Active Sessions: | 0.15 |
Top Wait Events — топ ожидаемых событий
Event– тип события;% of event– доля события из общего числа ожидаемых событий;Avg Active Sessions— отношение времени, затраченного на ожидание события, к продолжительности анализируемого отрезка времени.
Пример:
| Event | % of events | Avg Active Sessions |
|---------------------|-------------|---------------------|
| Client - ClientRead | 50 | 7 |
| Timeout - PgSleep | 41 | 6 |
Top Wait Locks – топ ожидаемых блокировок
Event– тип блокировки;% of event– доля блокировки из общего числа ожидаемых событий;Lock Mode– название режима блокировки;P1 Value, P2 Value, P3 Value, P4 Value– значение идентификаторов блокированных объектов;P1– тип первого идентификатора;P2– тип первого идентификатора или пустая строка, если тип идентификатора не определен;P3– тип первого идентификатора или пустая строка, если тип идентификатора не определен;P4– тип первого идентификатора или пустая строка, если тип идентификатора не определен.
Пример:
| Event | % of event | Lock Mode | P1 Value, P2 Value, P3 Value, P4 Value | P1 | P2 | P3 | P4 |
|-----------------|------------|----------------------|----------------------------------------|----------|----------|----|----|
| Lock - relation | 8 | AccessExclusiveLock | 13481, 16397, 0, 0 | database | relation | | |
Top Databases – топ баз данных, к которым были подключены активные сессии
DB ID– идентификатор базы данных;DB Name– наименование базы данных;% of databases– отношение количества подключений к данной базе к общему числу подключений к базам данных;% of activities– отношение количества подключений к данной базе к общему числу активных процессов.
Пример:
| DB ID | DB Name | % of databases | % of activities |
|---------|------------|------------------|-------------------|
| 13481 | postgres | 100 | 100 |
Top SQL with Top Events – топ выполняемых запросов, находящихся в процессе ожидания событий, с топом ожидаемых событий
SQL ID– идентификатор запроса;Sampled # of Executions– количество снимков данных, в которых данный запрос ожидал завершения события;% of activities– отношение количества активных сессий с данным запросом к общему количеству активных сессий;Event– тип события или тип блокировки, ожидаемые при выполнении данного запроса;% of events– отношение данного события к общему количеству событий;SQL Text– сокращенный текст запроса (полный текст в следующей секции).
Пример:
| SQL ID | Sampled # of Executions | % of activities | Event | % of events | SQL Text |
|----------------------|-------------------------|-----------------|---------------------|-------------|--------------------------------------------|
| 1850855471699527187 | 110 | 41 | Timeout - PgSleep | 41 | select pg_sleep(***) ; |
| 1100712015885200331 | 51 | 19 | Client - ClientRead | 19 | lock table t in access exclusi... |
| -4305687194615816370 | 25 | 9 | Client - ClientRead | 9 | lock table t with access exclu... |
| -8910450425577833270 | 21 | 8 | Lock - relation | 8 | lock table t in access exclusi... |
| 243315582263949594 | 16 | 6 | Client - ClientRead | 6 | create table t(i int); |
| 5100846777726634823 | 14 | 5 | Client - ClientRead | 5 | begin; |
| -3433273270071927242 | 11 | 4 | Client - ClientRead | 4 | lock table t in mode access ex... |
| -8395391948354886396 | 7 | 3 | Client - ClientRead | 3 | lock table t exclusive; |
| -8022650447139647962 | 5 | 2 | Client - ClientRead | 2 | lock table t access exclusive; |
| -3132538744152301975 | 3 | 1 | Client - ClientRead | 1 | lock table t accessexclusive; |
Complete List of SQL Text – Полный текст запроса
SQL ID– идентификатор запроса;SQL Text– текст запроса.
Пример:
| SQL ID | SQL Text |
|----------------------|----------------------------------------------------------------------------------------------------|
| 1850855471699527187 | select pg_sleep(***) ; |
| 1100712015885200331 | lock table t in access exclusive mode; |
| -4305687194615816370 | lock table t with access exclusive; |
| -8910450425577833270 | lock table t in access exclusive mode; |
| 243315582263949594 | create table t(i int); |
| 5100846777726634823 | begin; |
| -3433273270071927242 | lock table t in mode access exclusive; |
| -8395391948354886396 | lock table t exclusive; |
| -8022650447139647962 | lock table t access exclusive; |
| -3132538744152301975 | lock table t accessexclusive; |
| -1351556488141190034 | SELECT pg_catalog.pg_file_unlink(***); |
| SELECT pg_catalog.pg_file_write(***, |
| (SELECT pg_stat_activity_and_lock_status_history_report(NULL,NULL,NULL,NULL)), |
| FALSE ); |
Top Sessions – топ сессий, ожидающих завершения некоторого события
Pid– идентификатор процесса, обрабатывающего данное подключение;Backend– тип процесса;Application– наименование приложения, выполнившего подключение;User– пользователь, от имени которого выполнили подключение. В режиме маскирования – идентификатор пользователя;Connection– имя хоста (или адрес, если имя не найдено) и порт, с которых выполнено подключение;% of activities– отношение числа данной сессии к общему числу активных сессий;Event– тип события или тип блокировки, ожидаемый при работе данной сессии;% of events– отношение данного события к общему количеству событий;# Samples Active– отношение количества снимков с данной сессией к общему количеству снимков;XIDs– идентификатор транзакции, в рамках которой ожидалось данное событие;CPU time- время, затраченное процессором на выполнение сессии;RSS memory- объем занимаемой памяти;Disk read- количество считанных сессией данных с диска;Disk written- количество записанных сессией данных на диск.
Пример:
| Pid | Backend | Application | User | Connection | % of activities | Event | % of events | # Samples Active | XIDs | CPU time, ms | RSS memory, KiB | Disk read, KiB | Disk written, KiB |
|-------|----------------|-------------|------|-------------------|-----------------|---------------------|-------------|------------------|--------|--------------|-----------------|----------------|-------------------|
| 41753 | client backend | psql | 10 | Timeout - PgSleep | 41 | Timeout - PgSleep | 0 | 30 | 20784 | 0 | 0 | 0 | 0 |
| | | | | | | Client - ClientRead | 26 | 70/266 | 0 | | | | |
| | | | | | | Client - ClientRead | 17 | 46/266 | 511 | | | | |
| | | | | | | Client - ClientRead | 6 | 16/266 | 509 | | | | |
Top Blocking Sessions – топ сессий, ожидающих снятия блокировки
Pid– идентификатор процесса, обрабатывающего данное подключение;Backend– тип процесса;Application– наименование приложения, выполнившего подключение;User– пользователь, от имени которого выполнили подключение. В режиме маскирования – идентификатор пользователю;Connection– имя хоста (или адрес, если имя не найдено) и порт, с которых выполнено подключение;% of activities– отношения числа данной сессии к общему числу активных сессий;Event– тип события или тип блокировки, ожидаемые при работе данной сессии;% of events– отношение данного события к общему количеству событий;# Samples Active– отношение количества снимков с данной сессией к общему количеству снимков;XIDs– идентификатор транзакции, в рамках которой ожидалось данное событие.
Пример:
| Pid | Backend | Application | User | Connection | % of activities | Event | % of events | # Samples Active | XIDs |
|-------|----------------|------------------------------------------|------|---------------|-----------------|-----------------|-------------|------------------|------|
| 41904 | client backend | DBeaver 7.0.5 - SQLEditor <Script-8.sql> | 10 | ***:38554 | 8 | Lock - relation | 8 | 21/266 | 512 |
Activity Over Time – топ событий ожидания и блокировок, с разбивкой по интервалам времени
Slot Time (Duration)– время начала и продолжительность интервала;Slot Count– количество снимков в данном интервале;Event– тип события ожидания или блокировки;Event Count– количество событий данного типа в данном интервале;% of events– отношение количества событий данного типа к общему количеству событий.
В каждый интервал входят первые три события с самыми большими значениями поля Event Count.
Пример:
| Slot Time (Duration) | Slot Count | Event | Event Count | % of events |
|-----------------------------------|------------|---------------------|-------------|-------------|
| 2022-07-15 12:43:34+03 (1.43 min) | 0 | | 0 | 0 |
| 2022-07-15 12:45:00+03 (3.00 min) | 0 | | 0 | 0 |
| 2022-07-15 12:48:00+03 (3.00 min) | 0 | | 0 | 0 |
| 2022-07-15 12:51:00+03 (3.00 min) | 0 | | 0 | 0 |
| 2022-07-15 12:54:00+03 (3.00 min) | 0 | | 0 | 0 |
| 2022-07-15 12:57:00+03 (3.00 min) | 0 | | 0 | 0 |
| 2022-07-15 13:00:00+03 (3.00 min) | 0 | | 0 | 0 |
| 2022-07-15 13:03:00+03 (3.00 min) | 0 | | 0 | 0 |
| 2022-07-15 13:06:00+03 (3.00 min) | 0 | | 0 | 0 |
| 2022-07-15 13:09:00+03 (3.00 min) | 155 | Timeout - PgSleep | 110 | 41 |
| - | - | Client - ClientRead | 45 | 17 |
| 2022-07-15 13:12:00+03 (1.58 min) | 87 | Client - ClientRead | 89 | 33 |
| - | - | Lock - relation | 21 | 8 |
| - | - | CPU - CPU | 1 | 0 |