擴充 TraceProcessor
許多種類的追蹤資料在 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。
下一個步驟是了解如何載入追蹤符號。