Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
TraceLogging é um sistema para registrar eventos que podem ser decodificados sem um manifesto. No Windows, o TraceLogging é usado em componentes de modo de utilizador e de modo kernel para gerar eventos de Rastreamento de Eventos para Windows (ETW) . O TraceLogging baseia-se no Rastreamento de Eventos para Windows (ETW) e fornece uma maneira simplificada de instrumentar o código.
O Rastreamento de Eventos para Windows (ETW) foi introduzido com o Windows 2000 e atualizado no Windows Vista. O TraceLogging baseia-se nas APIs ETW do Windows Vista. Os fornecedores podem usar o TraceLogging quando estiverem a correr no Windows Vista ou versões posteriores. Os controladores de rastreamento ETW existentes podem ser usados para controlar provedores TraceLogging e capturar rastreamentos usando APIs do Windows Vista. Os decodificadores de rastreamento ETW existentes que usam APIs de decodificação TDH podem decodificar eventos TraceLogging quando executados no Windows 10 ou posterior.
O TraceLogging oferece vários benefícios:
- Simplicidade de definir eventos diretamente no código, semelhante ao WPP, mas sem a necessidade de uma ferramenta de pré-processamento.
- Dados estruturados: campos nomeados com tipos, suporte para matrizes e estruturas.
- Correlação de eventos através de atividades ETW .
- Todas as informações de decodificação para o evento são incluídas dentro do próprio evento, portanto, não são necessários arquivos adicionais para decodificar.
- As APIs do provedor de eventos TraceLogging estão disponíveis para C/C++, .NETe do Runtime do Windows (WinRT). Suporte externo disponível para Python, Rust, etc.
Embora o TraceLogging forneça vários benefícios e deva ser considerado para novo rastreamento, o ETW baseado em manifesto ainda é apropriado para muitos cenários.
- Se os seus eventos tiverem como destino um dos Registos do Windows herdados no Registo de Eventos do Windows (por exemplo, os registos do Sistema ou da Aplicação), continue a usar o ETW baseado em manifesto.
- Se o tamanho do arquivo de rastreamento for uma consideração importante, continue a usar o ETW baseado em manifesto. Os eventos TraceLogging incluem as cadeias de caracteres de evento (nome do provedor, nome do evento e nomes de campo) dentro de cada evento e geralmente são maiores do que o evento baseado em manifesto equivalente.
- Se você tiver um grande investimento em uma tecnologia de rastreamento existente, não há necessidade de mudar para o TraceLogging.
- Caso contrário, considere usar o TraceLogging, pois ele oferece uma experiência mais simples para o desenvolvedor e o consumidor do evento.
Visão geral de alto nível da API
Existem várias APIs do TraceLogging, cada uma direcionada a públicos de desenvolvedores diferentes.
- Se você precisar gerar eventos a partir de código C ou C++, TraceLoggingProvider.h fornece uma API eficiente para gerar eventos TraceLogging a partir do código de modo de usuário ou de modo kernel. Os eventos devem ser definidos em tempo de compilação.
- Caso contrário, se você precisar gerar eventos a partir do código .NET, a classe de.NETEventSource oferece suporte à geração de eventos ETW baseados em manifesto e baseados em TraceLogging. Os eventos devem ser definidos em tempo de compilação.
- Caso contrário, se estiveres a usar o Tempo de Execução do Windows (WinRT), LoggingChannel foi estendido no Windows 10 para registar eventos TraceLogging.
- Caso contrário, você poderá usar uma opção suportada pela comunidade, como TraceLoggingDynamic.