Megosztás:


TraceProcessor kiterjesztése

Számos nyomkövetési adat rendelkezik beépített támogatással a TraceProcessorban, de ha rendelkezik más, elemezni kívánt szolgáltatóval (beleértve a saját egyéni szolgáltatóit is), akkor a nyomkövetési adatok élőben is elérhetők a feldolgozás során.

Megjegyzés:

Az API ezen része előzetes verzióban és aktív fejlesztés alatt áll. Ez a jövőbeli kiadásokban változhat.

Íme például egy egyszerű módszer a szolgáltatók azonosítóinak nyomkövetésben való lekérésére.

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

Az alábbi példa egy egyszerűsített egyéni adatforrást mutat be.

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

Következő lépések

Ebben az oktatóanyagban megtanulta, hogyan bővítheti a TraceProcessort.

A következő lépés a nyomkövetési szimbólumok megismerése.