Вместо введения. Когда приложение состоит из одного процесса и нескольких десятков методов, найти причину медленной работы относительно просто: можно включить профилировщик, посмотреть логи и найти проблемный участок кода. В распределённой системе всё меняется. Один пользовательский запрос может пройти через API Gateway, несколько микросервисов, очередь сообщений, базу данных и внешний API. При этом каждый компонент может находиться на отдельном сервере или контейнере. Если такой запрос выполняется 4 секунды, возникает вполне практический вопрос: Где именно были потрачены эти 4 секунды?: На сети? На базе данных? На блокировке потока? На выполнении конкретного метода? На внешнем сервисе? Именно для ответа на этот вопрос в APM используются трассировка (distributed tracing) и инструментация приложений.
Читать далееАвтоматизация
Куда делись 4 секунды: разбираем автоинструментацию в APM


