Под ETW я подразумеваю «Отслеживание событий для Windows».
Согласно моим экспериментам, одним из достоинств является то, что, хотя при проектировании он иногда не может записывать события в условиях очень загруженного состояния, в противном случае он просто работает, как вы можете ожидать от функции ядра. ETW - единственная игра в городе, если вы хотите, чтобы буферизация для каждого процессора избегала проблем с кэшированием-многопотоковой регистрацией, поскольку, как я понимаю, «только ядро знает», где ваши потоки действительно работают в любой момент, особенно если вы не назначаете сродство и т. д.
Тем не менее, интерфейс неопрятен и становится еще хуже, если принять во внимание рекомендованный Microsoft подход к EventWrite ().
Как лучше всего оптимизировать доступ программиста к этой мощной подсистеме ядра? Мне интересен интерфейс C ++, но другие, просматривающие этот вопрос, захотят узнать и о других языках.