У меня есть провайдер ETW, который используется моей системой для записи непрозрачных больших двоичных данных с помощью функции API TraceEvent. Моя система по сути является системой обработки событий с высокой пропускной способностью, и я хочу иметь возможность (дешево) фиксировать сериализованное состояние определенных объектов при их прохождении через систему. Это даст мне возможность воспроизведения, чтобы в любое время в будущем я мог воспроизвести трассировку событий и воспроизвести точную последовательность событий, которые привели к определенному состоянию в приложении.
Это все еще на ранних стадиях, поэтому в настоящий момент я могу контролировать трассировку только с помощью одного из инструментов, таких как logman или tracelog, который может создавать контроллеры трассировки для записи событий в файл трассировки с помощью файла .etl. расширение. Я знаю, что мог бы написать автономный контроллер, который мог бы потреблять события в реальном времени и записывать события в файл самостоятельно, но я хочу попытаться избежать этого на этом этапе (назовите это лень :)), но серьезно, зачем переписывать то, что уже доступны
Итак, кто-нибудь имеет представление о двоичном формате файлов .etl? Я знаю, что что-то вроде tracedmp может их читать и создавать CSV, но это не помогает с двоичной частью. Если бы я мог прочитать эти файлы и разобрать написанные мною большие двоичные объекты, у меня, по сути, была бы возможность воспроизведения, которая мне нужна, но я ничего не могу найти в этом формате файла.
Спасибо,
Пол