Bagikan melalui


Perluas TraceProcessor

Banyak jenis data pelacakan memiliki dukungan bawaan di TraceProcessor, tetapi jika Anda memiliki penyedia lain yang ingin Anda analisis (termasuk penyedia kustom Anda sendiri), data tersebut juga tersedia dari pelacakan langsung saat pemrosesan terjadi.

Catatan

Bagian API ini dalam pratinjau dan dalam pengembangan aktif. Ini dapat berubah dalam rilis mendatang.

Misalnya, berikut adalah cara sederhana untuk mendapatkan daftar ID penyedia dalam jejak.

// 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);
    }
}

Contoh berikut menunjukkan sumber data kustom yang disederhanakan.

// 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;
    }
}

Langkah berikutnya

Dalam tutorial ini, Anda mempelajari cara memperluas TraceProcessor.

Langkah selanjutnya adalah mempelajari cara memuat simbol untuk jejak.