Я являюсь автором библиотеки MassTransit.OpenTracing, на которую вы ссылались, но я написал ее до рекомендации W3C, которая, похоже, появилась совсем недавно (6 февраля 2020 г.).
Моя цель заключалась в том, чтобы я хотел распределенную трассировку через микросервисную архитектуру, которая имела как синхронную / HTTP, так и асинхронную связь брокера сообщений. Для HTTP-материалов я использовал OpenTracing.Contrib.NetCore, который «использует .NET. DiagnosticSource для инструментирования своего кода '. Для связи с асинхронным брокером сообщений я использовал RabbitMQ с MassTransit, но я не совсем понимал подход MassTransit DiagnosticSource , предложенный на веб-сайте (и я не смог найти никаких примеров), поэтому я решил немного разобраться в деталях и покататься самостоятельно.
Короче говоря, все сработало, как и ожидалось, с использованием Джагера в качестве трассирующего. Интересно, что мы (как и в компании, в которой я работаю) решили также использовать DynaTrace, который работает на гораздо более низком уровне и как бы устраняет необходимость обработки большого количества этого материала в коде. Тем не менее, подход не является недействительным (IMO), поскольку не каждый может позволить себе DynaTrace (или аналогичные инструменты APM).
Я постараюсь обновить эту библиотеку с помощью рекомендации W3C в ближайшую неделю или 2. Дайте мне знать, если вы хотите помочь с вкладом / обзором (или если вы хотите пойти в другом направлении и откатить свой собственный, тоже хорошо. ) ...
person
Ryan.Bartsch
schedule
18.05.2020