TraceProcessor には多くの種類のトレース データが組み込まれていますが、分析する他のプロバイダー (独自のカスタム プロバイダーを含む) がある場合、そのデータは処理の実行中もトレースライブから利用できます。
注
API のこの部分はプレビュー段階であり、開発中です。 将来のリリースで変更される可能性があります。
たとえば、トレース内のプロバイダー ID の一覧を取得する簡単な方法を次に示します。
// 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 を拡張する方法について説明しました。
次の手順では、トレースに シンボルを読み込む
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
Windows developer