事件跟踪:通过调用过程从父角色到子角色跟踪 IDs (待定)¶
- 变更前:
链式 Java 和 Scala 存储过程或 UDFs 创建的每个 Span 的
trace_id
都是唯一的。事件表的 RECORD 列中不存在
parent_span_id
字段。Native App 提供商和使用者看的的共享事件的
trace_id
值不同。提供商看到可以看到经过哈希处理的版本。- 变更后:
由链式 Java 和 Scala 存储过程生成的 Span,或具有相同
trace_id
的 UDFs。具有parent_span_id
属性的 RECORD 列。由链式 Java 和 Scala 存储过程生成的 Span,或者在
parent_span_id
和span_id
之间存在父子关系的 UDFs 。Java 和 Scala 存储过程可以调用任意长度的链中的其他存储过程。(UDFs 无法执行 SQL 语句,因此调用 UDF 结束链。但是,跟踪信息仍会传播到 UDF 的 span。如果用户直接调用 Java 或 Scala 存储过程或 UDF (根),那么
trace_id
将是随机的 ID,而且不会有parent_span_id
。如果对存储过程禁用了跟踪,并且它调用了另一个存储过程或 UDF,则子级 span 的trace_id
将是随机的,并且不会有parent_span_id
。换言之,将在子级重新启动跟踪。Native App 提供商和使用者看的共享 Java 或 Scala 存储过程或 UDF 事件的
trace_id
相同,因此可以更轻松地进行调试。
参考:1592