O RTS TraceID é um identificador de solicitação globalmente único usado para rastrear e solucionar problemas. Ele é fundamental para resolver com eficiência questões de integração e reprodução dos clientes. Este documento descreve como obter um RTS TraceID.
Contexto
Solucionar problemas de reprodução apenas com detalhes como endereço IP do usuário e horário da reprodução pode ser ineficiente. Esse método exige buscar em grandes volumes de logs para encontrar as entradas relevantes, o que se torna ainda mais difícil quando o mesmo usuário possui várias sessões de reprodução em um curto período. O Real-Time Streaming (RTS) fornece um TraceID para cada tentativa de reprodução. Esse identificador globalmente único permite que a Alibaba Cloud localize rapidamente a sessão específica associada ao problema. Recomendamos fortemente correlacionar esse TraceID com os logs do seu próprio cliente.
Você pode obter um RTS TraceID das seguintes formas:
Obter o TraceID em um player de demonstração
Demonstração para cliente móvel (Android/iOS)
Para instruções sobre como reproduzir um stream com a demonstração móvel, consulte Demo tutorial. Após o player se conectar ao stream, clique em Troubleshoot na tela do player. O RequestId exibido na janela pop-up é o TraceID.
A janela pop-up exibe o RequestId e a URL de streaming. Clique em Copy na parte inferior para copiar essas informações e enviá-las em um ticket de suporte para solução de problemas.
Demonstração para cliente web (H5)
Para instruções sobre como reproduzir um stream com a demonstração web, consulte Demo tutorial. Após o player se conectar ao stream, clique em Troubleshoot na página do player web RTS para visualizar o TraceID na janela pop-up.
A janela pop-up contém os campos URL e TraceID. Clique no botão Copy no canto inferior direito para copiar essas informações e enviá-las em um ticket de suporte para solução de problemas.
Obter o TraceID em ambiente de produção
Ambiente de produção refere-se à sua própria aplicação com o SDK integrado, em contraste com as demonstrações da Alibaba Cloud.
Ambiente de produção para cliente móvel (Android/iOS)
Use um callback de evento do ApsaraVideo Player SDK para obter o TraceID.
Um TraceID exclusivo é gerado para cada sessão de reprodução de baixa latência e pode ser usado na solução de problemas.
-
Android
// Listen for the onInfo callback from the player and parse the DemuxerTraceID message. mRtsAliPlayer.setOnInfoListener(infoBean -> { if (infoBean.getCode() == InfoCode.DemuxerTraceID) { String traceId = infoBean.getExtraMsg(); }); -
iOS
// Listen for the onPlayerEvent callback from the player and parse the DemuxerTraceID message. - (void)onPlayerEvent:(AliPlayer*)player eventWithString:(AVPEventWithString)eventWithString description:(NSString *)description { switch (eventWithString) { case EVENT_PLAYER_DEMUXER_TRACE_ID: { NSString *traceId = description; } break; default: break; } }
Ambiente de produção para cliente web (H5)
-
Obtenha o TraceID a partir da resposta da solicitação de sinalização
Uma solicitação de sinalização para cliente web é uma requisição HTTP POST. Encontre o TraceID usando a aba Network Type nas ferramentas de desenvolvedor do navegador. Por exemplo, se a URL de streaming for
artc://player.alicdn.com/a/b_RTS, a solicitação de sinalização correspondente seráhttp(s)://player.alicdn.com/a/b_RTS.Acesse o player RTS para web.
Na página do player RTS para web, insira uma URL de streaming para um stream compatível com RTS. Exemplo:
artc://player.alicdn.com/a/b_RTS.Clique em Start Streaming para reproduzir o stream RTS.
Pressione F12 para abrir as ferramentas de desenvolvedor do navegador e selecione a aba Network.
Pesquise a solicitação de sinalização
http(s)://player.alicdn.com/a/b_RTSe encontre o TraceID na Response.
-
ApsaraVideo Player SDK para web
O ApsaraVideo Player SDK para web permite obter o RTS TraceID ao assinar o evento
rtsTraceId. O código a seguir serve como exemplo:// This event triggers when an RTS stream is pulled. The event data contains the traceId (the stream's TraceID) and the source (the streaming URL). player.on('rtsTraceId', function(event) { console.log('EVENT rtsTraceId', event.paramData); })