이벤트 추적: 프로시저 호출을 통해 상위에서 하위로 전파된 추적 IDs

주의

이 동작 변경 사항은 2024_04 번들에 있습니다.

번들의 현재 상태는 번들 기록 섹션을 참조하십시오.

변경 전:

연결된 Java 및 Scala 저장 프로시저 또는 UDFs에 의해 생성된 각 범위의 trace_id 는 고유합니다.

Event 테이블의 RECORD 열에는 parent_span_id 필드가 없습니다.

Native Apps 공급자와 컨슈머는 공유 이벤트에 대해 서로 다른 trace_id 값을 봅니다. 공급자는 해시된 버전을 봅니다.

변경 후:

연결된 Java 및 Scala 저장 프로시저 또는 UDFs에 의해 생성된 범위의 trace_id 는 동일합니다. RECORD 열에는 parent_span_id 특성이 있습니다.

연결된 Java 및 Scala 저장 프로시저 또는 UDFs에 의해 생성된 범위는 parent_span_idspan_id 사이에 상위-하위 관계를 갖습니다. Java 및 Scala 저장 프로시저는 길이에 상관없이 체인으로 다른 저장 프로시저를 호출할 수 있습니다. (UDFs는 SQL 문을 실행할 수 없으므로, UDF를 호출하면 체인이 종료됩니다. 그러나 추적 정보는 여전히 UDF의 범위에 전파됩니다.)

사용자가 Java 또는 Scala 저장 프로시저 또는 UDF를 직접 호출한 경우(루트) trace_id 는 임의의 ID가 되고 parent_span_id 는 없습니다. 저장 프로시저에 대한 추적이 비활성화되고 다른 저장 프로시저 또는 UDF를 호출하는 경우 하위 범위의 trace_id 는 임의의 ID가 되며 parent_span_id 가 없습니다. 즉, 하위 항목에서 추적이 다시 시작됩니다.

Native Apps 공급자와 컨슈머는 공유 Java 또는 Scala 저장 프로시저 또는 UDF 이벤트에 대해 동일한 trace_id 를 확인하므로 더 쉽게 디버깅할 수 있습니다.

참조: 1592