Rastreamento de eventos: IDs de rastreamento propagado do pai para o filho por meio de chamadas de procedimento¶
Atenção
Essa mudança de comportamento está no pacote 2024_04.
Para saber o status atual do pacote, consulte Histórico do pacote.
- Antes da mudança:
O
trace_idde cada um dos intervalos criados por procedimentos armazenados Java e Scala encadeados ou UDFs é exclusivo.O campo
parent_span_idnão existe na coluna RECORD da tabela de eventos.Provedores e consumidores de Native Apps veem valores
trace_iddiferentes para eventos compartilhados. O provedor vê a versão com hash.- Após a mudança:
Os spans gerados por procedimentos armazenados Java e Scala encadeados ou UDFs têm o mesmo
trace_id. A coluna RECORD tem um atributoparent_span_id.Os spans gerados por procedimentos armazenados Java e Scala encadeados ou UDFs têm um relacionamento pai-filho entre
parent_span_idespan_id. Procedimentos armazenados Java e Scala podem chamar outros procedimentos armazenados em uma cadeia de qualquer comprimento. (UDFs não podem executar instruções SQL, então a chamada de uma UDF termina a cadeia. No entanto, as informações de rastreamento ainda são propagadas para os spans da UDF.)Se o procedimento armazenado Java ou Scala ou UDF foi chamado diretamente pelo usuário (a raiz), então
trace_idserá um ID aleatório e não haveráparent_span_id. Se o rastreamento estiver desabilitado para um procedimento armazenado e chamar outro procedimento armazenado ou UDF, então otrace_iddos intervalos do filho será aleatório e não teráparent_span_id. Em outras palavras, o rastreamento é reiniciado no filho.Provedores e consumidores de Native Apps veem o mesmo
trace_idpara procedimentos armazenados Java ou Scala compartilhados ou eventos da UDF, para que possam ser depurados com mais facilidade.
Ref: 1592