Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Многие типы данных трассировки имеют встроенную поддержку в TraceProcessor, но если у вас есть другие поставщики, которые вы хотите проанализировать (включая собственные пользовательские поставщики), эти данные также доступны из трассировки в реальном времени во время обработки.
Замечание
Эта часть API находится в предварительной версии и в активной разработке. Он может измениться в будущих выпусках.
Например, вот простой способ получить список идентификаторов поставщиков в трассировке.
// 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);
}
}
В следующем примере показан упрощенный пользовательский источник данных.
// 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;
}
}
Дальнейшие шаги
В этом руководстве вы узнали, как расширить TraceProcessor.
Следующий шаг — узнать, как загружать символы для трассировки.
Windows developer