ETW - Лучшее исправление / Библиотека классов для грязного интерфейса?
Вопрос
Под ETW я подразумеваю "Отслеживание событий для Windows".
Согласно моим экспериментам, одним из достоинств является то, что, хотя по замыслу это иногда не позволяет записывать события в условиях очень большой занятости, в остальном это просто работает, как и следовало ожидать от функции Ядра.ETW - единственная игра в городе, если вам нужна буферизация для каждого процессора, чтобы избежать проблем с кешированием и многопоточным протоколированием, поскольку, насколько я понимаю, "Только ядро знает", где ваши потоки действительно запущены в любой данный момент, особенно если вы не назначаете привязку и т.д.
Тем не менее, интерфейс беспорядочен и становится еще хуже, если учесть рекомендуемый Microsoft подход относительно EventWrite().Каковы наилучшие доступные меры по оптимизации доступа программиста к этой мощной подсистеме ядра?Меня интересует интерфейс C ++, но другие, просматривающие этот вопрос, тоже захотят узнать о других языках.
Решение
Если вы ищете простую в использовании оболочку C / C ++ поверх ETW, единственное, что вам подходит, - это WPP.Вы можете столкнуться с ограничениями в WPP, если станете слишком продвинутым.Следите за Microsoft PDC в октябре, если найдете что-нибудь полезное ;)