Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
De nombreux types de données de trace disposent d'un support intégré dans TraceProcessor, mais si vous avez d'autres fournisseurs que vous souhaitez analyser (y compris vos propres fournisseurs personnalisés), ces données sont également accessibles en temps réel pendant le traitement.
Remarque
Cette partie de l’API est en préversion et en cours de développement actif. Il peut changer dans les versions ultérieures.
Par exemple, voici un moyen simple d’obtenir la liste des ID de fournisseurs dans une trace.
// 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);
}
}
L’exemple suivant montre une source de données personnalisée simplifiée.
// 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;
}
}
Étapes suivantes
Dans ce tutoriel, vous avez appris à étendre TraceProcessor.
L’étape suivante consiste à apprendre à charger des symboles pour les traces.
Windows developer