我正在寻找一种编程语言中性的呼叫跟踪文件格式。
第一步是存储所有方法调用以及运行时执行的每一行。
简化:对我来说,跟踪单个进程,单个线程执行就足够了。没有并行性。
下一步将是跟踪所涉及的http调用(微服务)。
我使用Python开发,但是跟踪文件格式必须与语言无关。
答案 0 :(得分:2)
您用jaeger
和opentracing
标记了这个问题,恐怕OpenTracing没有标准的线格式。 Jaeger有其自己的格式,但尚未真正记录(至今!)。该区域中最接近标准的是Zipkin的B3。
在OpenTracing和分布式跟踪世界之外,您可以使用某些格式,例如Common Tracing Format或pcap。
请注意,在单线程环境中跟踪本地进程调用(例如,进入系统调用或内核事件)与跟踪微服务调用非常不同,这主要是因为您的应用程序需要通过电线将“上下文”传递给下一个服务,以建立呼叫之间的相关性。
答案 1 :(得分:2)
opentracing提供了跟踪标准,但是对语言没有任何限制。任何语言都可以。如果您指的是数据格式,那么最流行的数据格式是JSON,但是在跟踪器系统中,跨接的数量很大,我认为protobuf可能是一个更好的选择。我启动了一个名为nodetraicng的项目,它使用NodeJS实现opentracing: