Как настроить Kamon для отслеживания произвольных вызовов функций - PullRequest
0 голосов
/ 25 января 2019

При использовании Kamon в проекте scala play 2.6 кажется, что вызовы в play.core.server.AkkaHttpServer отслеживаются автоматически с помощью инструментов, добавленных через аспект j.

Пример

Маршрут/blogposts/ отслеживается.Но дальнейшие вызовы внутри, например BlogPostService.getNewest и т. Д., Не являются.

Вопрос

Как можно распространить эту трассировку на вызовы других функций?Нужно ли создавать пролеты вручную?Или можно добавить дополнительные классы и их функции к трассировке с помощью другого механизма (конфигурации, собственных аспектов и т. Д.)?

1 Ответ

0 голосов
/ 30 января 2019

Существует несколько вариантов трассировки при произвольных вызовах функций. Можно было бы использовать аспекты для переплетения любых необходимых функций трассировки. Лучше всего это использовать, если у вас есть одна функция, например, исходящие запросы http через WSClient, которая требует постоянного отслеживания. Kamon Play делает это уже для WSClient.

Для всех других потребностей в трассировке лучше всего обрабатывать трассировку так же, как ведение журнала. Да, добавление отдельных вызовов к функции трассировки - это дополнительная работа, но в некоторой степени ожидаемый рабочий процесс в конечном итоге приводит к логическим сегментам в трассировке без отслеживания каждого вызова функции (до гранулярного).

...