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.
Muitos tipos de dados de rastreamento têm suporte interno no TraceProcessor, mas se tiveres outros provedores que gostarias de analisar (incluindo os teus próprios provedores personalizados), esses dados também estarão disponíveis no rastreamento em tempo real enquanto o processamento ocorre.
Observação
Esta parte da API está em pré-visualização e em desenvolvimento ativo. Pode mudar em versões futuras.
Por exemplo, aqui está uma maneira simples de obter a lista de IDs de provedores num rastreio.
// Open a trace with TraceProcessor.Create() and call Run...
static void Run(ITraceProcessor trace)
{
HashSet<Guid> providerIds = new HashSet<Guid>();
trace.Use((e) => providerIds.Add(e.ProviderId));
trace.Process();
foreach (Guid providerId in providerIds)
{
Console.WriteLine(providerId);
}
}
O exemplo a seguir mostra uma fonte de dados personalizada simplificada.
// Open a trace with TraceProcessor.Create() and call Run...
static void Run(ITraceProcessor trace)
{
CustomDataSource customDataSource = new CustomDataSource();
trace.Use(customDataSource);
trace.Process();
Console.WriteLine(customDataSource.Count);
}
class CustomDataSource : IFilteredEventConsumer
{
public IReadOnlyList<Guid> ProviderIds { get; } = new Guid[] { new Guid("your provider ID") };
public int Count { get; private set; }
public void Process(EventContext eventContext)
{
++Count;
}
}
Próximos passos
Neste tutorial, você aprendeu como estender o TraceProcessor.
O próximo passo é aprender a carregar símbolos para rastreamentos.
Windows developer