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