다음을 통해 공유


TraceProcessor 확장

많은 종류의 추적 데이터가 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를 확장하는 방법을 알아보았습니다.

다음 단계에서는 추적을 위한 기호를 로드하는 방법을 알아봅니다.