Формат трассировки, не зависящий от языка - PullRequest
0 голосов
/ 23 января 2019

Я ищу нейтральный формат файла для трассировки вызовов.

Первым шагом будет сохранение всех вызовов методов и каждой строки, которая выполняется во время выполнения.

Упрощение: для меня достаточно отслеживать один процесс, выполнение одного потока.Никакого параллелизма.

Следующим шагом будет отслеживание задействованных http-вызовов (микросервисов).

Я разрабатываю с Python, но формат файла трассировки должен быть независимым от языка.

Ответы [ 2 ]

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

opentracing предоставляет стандарты отслеживания, но нет никаких ограничений на язык. Любой язык в порядке. Если вы имеете в виду формат данных , самый популярный формат данных - JSON ,, но с системой трассировки number количество диапазонов огромно , Я думаю, что protobuf может быть лучшим выбором. Я запустил проект с именем nodetraicng , Он реализует opentracing с NodeJS :

https://github.com/cheneyweb/nodetracing

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

Вы пометили этот вопрос с помощью jaeger и opentracing, и я боюсь, что для OpenTracing не существует стандартного формата проводов. У Jaeger есть собственный формат, но он не совсем задокументирован (пока!). Наиболее близким к стандарту в этой области является B3 от Zipkin.

За пределами мира OpenTracing и распределенной трассировки есть несколько форматов, которые вы можете использовать, например Common Tracing Format или pcap .

Обратите внимание, что отслеживание вызовов локальных процессов в однопоточной среде (например, подключение к системным вызовам или событиям ядра) сильно отличается от отслеживания вызовов микросервисов, главным образом потому, что вашему приложению необходимо передать «контекст» по проводам следующей службе , чтобы установить корреляцию между звонками.

...