Имеет ли обработка трассировки. net эквивалентную или лучшую поддержку анализа событий, как ETW2 JSON? - PullRequest
1 голос
/ 13 апреля 2020

Я просмотрел большую часть документации по обработке трассировки и ETW в целом, но все еще чувствую, что мне не хватает некоторых деталей. Содержит ли библиотека обработки трассировки поддержку для обработки всех событий, являющихся частью файла .etl? Например, ETW2 JSON заявляет о поддержке следующего и предоставляет библиотеку для десериализации событий:

Windows События классов MOF, Windows События Vista Manifest и EventSource . NET события. Он также понимает события, которые XPERF (WPR) добавляет как часть своего процесса слияния (для предоставления информации PDB) для средств профилирования, таких как Windows Performance Recorder.

Обеспечивает ли библиотека обработки трассировки эквивалентную или улучшена поддержка обработки всех типов событий из файла .etl?

Например, допустим, я обрабатываю с помощью событий generi c.

using (ITraceProcessor trace = TraceProcessor.Create(etlPath))
{
    IPendingResult<IGenericEventDataSource> genericEvents = trace.UseGenericEvents();

    trace.Process();

    IGenericEventDataSource genericEventDataSource = genericEvents.Result;

    foreach (IGenericEvent gevent in genericEventDataSource.Events)
    {
        // process event
    }
} 

С помощью приведенного выше кода это дает мне доступ к всем событиям в файле .etl?

1 Ответ

2 голосов
/ 13 апреля 2020

(я разработчик в Microsoft, работающий над проектом TraceProcessor.)

У меня нет опыта работы с проектом ETW2 JSON, поэтому я не могу говорить о сравнениях.

Существует четыре типа провайдеров ETW :

(Вы можете использовать свойство IsTraceLogging для IGenericEvent , чтобы различать sh между явными и TraceLogging событиями.)

Я не знаю типа события в трассировке, которое не появилось бы ни в одном из этих трех источников данных, но если вы обнаружите, что чего-то не хватает, сообщите мне.

...