Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Wiele rodzajów danych śledzenia ma wbudowaną obsługę w TraceProcessor, ale jeśli masz inne źródła danych, które chcesz przeanalizować (w tym własne źródła niestandardowe), dane te są również dostępne ze śledzenia na żywo podczas przetwarzania.
Uwaga / Notatka
Ta część interfejsu API jest w wersji zapoznawczej i w trakcie aktywnego rozwoju. Może się to zmienić w przyszłych wersjach.
Na przykład, oto prosty sposób na uzyskanie listy identyfikatorów dostawców w zapisie śledzenia.
// 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);
}
}
W poniższym przykładzie przedstawiono uproszczone niestandardowe źródło danych.
// 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;
}
}
Dalsze kroki
W tym samouczku nauczyłeś się, jak rozszerzać TraceProcessor.
Następnym krokiem jest dowiedzieć się, jak ładować symbole dla śladów.
Windows developer