我正在寻找一种用于呼叫跟踪的编程语言中性文件格式。
我正在寻找类似于set -x
bash shell 中的跟踪。或者像python-hunter的输出
第一步是存储所有方法调用和运行时执行的每一行。
简化:对我来说,跟踪单进程、单线程执行就足够了。没有并行性。
下一步将是跟踪所涉及的 http 调用(微服务)。
我使用 Python 进行开发,但跟踪文件格式需要是语言中立的。
我正在寻找一种用于呼叫跟踪的编程语言中性文件格式。
我正在寻找类似于set -x
bash shell 中的跟踪。或者像python-hunter的输出
第一步是存储所有方法调用和运行时执行的每一行。
简化:对我来说,跟踪单进程、单线程执行就足够了。没有并行性。
下一步将是跟踪所涉及的 http 调用(微服务)。
我使用 Python 进行开发,但跟踪文件格式需要是语言中立的。
opentracing 提供了跟踪标准,但对语言没有限制。任何语言都可以。如果你说的是数据格式,最流行的数据格式是 JSON,但是有了 tracer 系统,span 的数量非常多,我觉得 protobuf 可能是一个更好的选择。我开始了一个名为nodetraicng的项目,它用NodeJS实现了opentracing:</p>
jaeger
您用and标记了这个问题,opentracing
恐怕 OpenTracing 没有标准的有线格式。Jaeger 有自己的格式,但还没有真正记录在案(还没有!)。该领域最接近标准的是 Zipkin 的 B3。
在 OpenTracing 和分布式跟踪世界之外,您可以使用一些格式,例如Common Tracing Format或pcap。
请注意,在单线程环境中跟踪本地进程调用(如利用系统调用或内核事件)与跟踪微服务调用非常不同,主要是因为您的应用程序需要通过线路将“上下文”传递给下一个服务,以建立调用之间的相关性。