Всем привет.
Для понимания таймингов выполнения сервисов нашел статейку на сайте Dynatrace. Немного добавил своих комментов, чтобы улучшить перевод.
Независимо от того, какой анализ вы выполняете, не гарантируется, что вы увидите все тайминги, перечисленные здесь. Фактические тайминги, полностью зависят от того, как вы запускаете свои службы. Например, если PurePath собирается полностью на одном хосте изолированном от сети, вы не увидите сетевых таймингов и по аналогии.
Сервис предоставляет различные таймингами, описывающие поведение сервиса. В таблице ниже представлен обзор таких таймингов:
PP: PurePath. Полный путь
RT: Response time. Время отклика.
SF: Service flow. Маршрут прохождения сервиса.
MH: Method hotspots. Метод горячих точек.
Response time |
PP, SF |
Общее время выполнения первого узла в PurePath. Server side Время между моментами запуска PurePath
на стороне сервера и отправкой ответа обратно клиенту. Client side Время
между моментами, когда клиент запускает запрос и получает ответ. |
Response time |
RT |
Общее время выполнения метода. Server side Время
обработки метода. Client side Время
между моментами, когда клиент запускает запрос и получает ответ. |
Processing time |
PP, SF, RT |
Продолжительность PurePath от начала до конца. Это последовательно высчитываемое время (разница
между временем начала и окончания). |
Execution time |
RT |
Общее время, затраченное на выполнение кода. Это сумма всех асинхронных исполнений, поэтому она
может быть больше времени обработки. |
Suspension |
PP, SF, RT |
Время, в течение которого выполнение любого кода
останавливается. Обычно это происходит из-за сборщика мусора. |
Wait time |
PP, SF |
Время, в течение которого код активно чего-то ждет
(например, Object.wait() или аналогичная функциональность) |
Lock wait |
RT |
Время, в течение которого код блокируется. Это
обычно вызвано временем ожидания входа в синхроно-выполняемый блок кода или
временем ожидания для получения спин-блокировки. |
Active wait |
RT |
Время, в течение которого код в этом узле чего-то
ждет. Ожидание, вызванное дочерними вызовами, не считается. |
Sync time |
PP, SF |
Время, в течение которого код блокируется ожиданием синхронного
блока кода. |
Network I/O |
PP, SF, RT |
Время, в течение которого код активно ожидает
собственные сетевые функции (например, java.net.SocketInputStream.socketRead0).
Этот анализ не учитывает дочерние вызовы. |
Disk I/O |
PP, SF, RT |
Время, в течение которого код активно считывается с
диска или записывается на него или ожидает ввода/вывода диска. |
CPU time |
PP, SF, RT |
Время, в течение которого процессор выполняет код,
связанный с PurePath. Измерение производит OneAgent. |
Self time |
PP, SF, RT |
Время обработки конкретного узла в PurePath. |
Other |
PP, SF |
Любое неопределенное действие из Self
time.
|
Code execution |
MH |
Процент измеренных образцов, в которых код метода
активно выполняется. |
Disk I/O |
MH |
Процент измеренных образцов, в которых метод активно
считывает данные с диска или записывает их на диск или ожидает ввода/вывода
диска. |
Network I/O |
MH |
Процент измеренных образцов, в которых метод активно
ожидает собственных сетевых функций. |