Tuesday, April 6, 2021

Dynatrace Service timing

Всем привет. 

Для понимания таймингов выполнения сервисов нашел статейку на сайте 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

Процент измеренных образцов, в которых метод активно ожидает собственных сетевых функций.