Как стать автором
Обновить

Комментарии 10

Есть ли возможность настроить нотификации в случае низких показателей (лейтенси, например) и анализа исторических данных? Например, Jaeger отправляет письмо с примерным содержанием «сервис /example стал работать на 30% медленнее по сравнению с прошлой неделей/билдом, вот метрики...»
Нотификаций и алертов в Jaeger нет. Для этих целей можно использовать Grafana или Zabbix. Например, пришел алерт из Grafana о том, что 99-й перцентиль времени ответа сервиса увеличился. Мы идем в Jaeger, ищем там запросы больше, скажем 1s, и видим что же реально там происходило.
Промежуточным решением для связывания логов разных сервисов может быть пробрасывание в запросах некоторого идентификатора и добавление его во все логи, но все равно кибана не позволяет красиво и быстро понять кто кого куда и почему так долго.
OpenTracing и в частности Jaeger, так и работает. Можно дописать свои инъекторы, которые пропихивают заголовки и в нестандартные протоколы. Причем, поверх штатных библиотек Jaeger есть и более вкусные. Так, для Java + Spring Boot есть стартер opentracing-spring-jaeger-cloud-starter, который умеет эти заголовки прокидывать не только в HTTP но и в очереди, например.
А вообще идеология спанов может быть использована в простом логировании, но мы пока не придумали как это красиво сделать (
Спасибо за инструмент! Как раз искал что-то подобное. Нашел библиотеку для Erlang — otter, получилось работать из Elixir.
График

Это просто прекрасно, спасибо вам! :) Пошел думать как все это теперь реализовать…
 Спасибо! Расскажите, пожалуйста, подробнее о реализации на PHP: какую библиотеку выбрали и почему, наблюдали ли просадки по производительности, возможно есть пример трейсинга для PHP?
Сервис собирает информацию по таймингам и мета информацию запроса в спаны.
Что такое спан в данном контексте, структура данных/конверт?
Думаю, проще его представить как событие, которое длится от и до. Это как полоска в диаграмме Ганта. У каждой такой полоски, есть контекст, в котором хранится, например, название сервиса, тип http-запроса, код http-ответа, была ли ошибка при обработке Можно и свои тэги добавлять, например, идентификатор пользователя, а потом, в WEB-интерфейса Jaeger указать фильтр по этому тэгу и посмотреть, что тормознуло у этого клиента.

Ну а в коде, да, это структура данных. Прицепленная некоторым образом к текущему потоку обработки запроса.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий