在Visual C ++中创建自定义性能计数器

时间:2020-03-05 18:51:13  来源:igfitidea点击:

有人知道使用普通的非托管Visual C ++创建自定义性能计数器的方法吗?

我知道可以使用托管C ++轻松完成此操作,但是我需要使用非托管Windows服务来完成此操作。

我也知道我们可以检索性能计数器数据,但是我需要创建一些自定义计数器,并在应用程序运行时对其进行递增。

解决方案

回答

看这里:
http://msdn.microsoft.com/en-us/library/aa371925.aspx

这并不难,但是有点麻烦,因为API涉及自引用,可变长度结构的广泛使用,并且必须采用某种IPC机制从受监视的过程中获取数据。

回答

我一直在寻找更容易实现的东西。我可能将不得不使用这种方法。同事(感谢PJ)还向我展示了一个Scribble教程,该教程已被修改以显示如何使用ATL类添加性能计数器:
PerformanceScribble示例:MFC应用程序中的性能监视

这里最大的缺点是当前我的应用程序不使用MFC或者ATL,因此我必须添加对它的支持。

回答

不要使用ATL性能监视器类。我知道它们很容易添加,并且具有向导和所有功能,但是它们无可救药。我将它们添加到工作中的其中一个开发应用程序中,然后必须经过6个月的时间才能删除代码。总共大约三周的时间,工作因这种噪音而丢失了。