Zipkin如何生成和存储在/ traces / {traceId}的get Api中使用的16个字符的跟踪ID。

时间:2019-07-07 15:28:13

标签: zipkin distributed-tracing

我正在使用Zipkin进行分布式跟踪。我添加了zipkin-storage-mysql依赖性,以便将跟踪保存在MySQL DB中。当我查询ZIPKIN_SPANS表时,我在TRACE_ID Colum中找不到用于将跟踪加载到zipkin UI上的16个字符跟踪ID。

例如:localhost:9411/traces/4bcdd0bd5d2f70c0

请帮助我了解如何解决。另外,如何将新列添加到表中以将应用程序特定的ID与之关联

1 个答案:

答案 0 :(得分:0)

mysql zipkin_spans表中有2个条目

  1. trace_id_high ->对应于前16个十六进制字符的十进制表示形式
  2. id ->对应于下16个十六进制字符的十进制表示形式

示例

zipkin ui中显示的

32个字符的十六进制跟踪ID 5ec92d0240cd9dee0421f4763e9f674f 对应

在MySQL中的trace_id_high = 6830039797584469486 (5EC92D0240CD9DEE->高16位十六进制字符)

在mysql中的ID = 297787839077115727 (421F4763E9F674F->低16位十六进制字符)