用于Windows的C ++事件跟踪(ETW)包装器[关闭]

问题描述 投票:5回答:2

我一直在调查Windows事件跟踪(ETW),以便在现有的后端/服务器应用程序中使用。 MSDN和其他消息来源已经出售了框架的功能以及它与xperf等的集成,坦白地说我印象深刻。

但是我对win32 apis以及使用清单编码编译/注册等的开销有点担心。

伙计们,你们:

  • 推荐吗?在您的系统中使用它有问题吗?
  • 知道更多C ++ / STL风格的包装器吗?
  • 是否有管理清单文件的工具?
c++ windows events tracing etw
2个回答
5
投票

我建议使用WPP,而不是直接使用Win32 API。

WPP是一个预处理器,允许您在代码中的任何位置写入类似printf的跟踪行,并获得这些跟踪行的结果以及其他数据(例如,传递给各种%d和%s的参数)跟踪)记录到ETW。

对此的明确指南是WPP Tracing in Visual C++ 2010 Projects


2
投票

一方面ETW非常强大。但与此同时,从它开始并不容易。

但是,github上的项目简化了编写自己的ETW提供程序。这是写作的好例子:

  • ETW清单(.man)披露事件字段
  • WPR简介(.wprp)教WPRUI(记录器)关于你的探查器
  • WPA配置文件(.wpaProfile)和感兴趣的区域(.xml),以教授WPA有关您的数据的表示。

请看这里:https://github.com/01org/IntelSEAPI/wiki

© www.soinside.com 2019 - 2024. All rights reserved.