在哪里可以找到有关在 C++ 中将数据发布到 perfmon 的文档?
几年前,我编写了一些代码来“发布”数据以供 perfmon 使用。 使用这些计数器的记录非常详细,但我发现(当时)找到好的文档和示例代码来发布 perfmon 的数据具有挑战性。
有谁知道我可以在哪里获得此文档? 我似乎还记得一些类包装,但我可能是错的。
编辑:
我确实找到了 这个,我将继续寻找“自定义应用程序性能计数器”。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你正在唤起旧时的回忆!
从 1998 年开始,Jeffrey Richter 在 Microsoft Systems Journal 上撰写了一篇文章,描述了如何创建你自己的 perfmon 计数器,它非常简单(剪切并粘贴他的模板代码后,只需在 dll 中添加共享内存变量,并根据需要更新它们)。
You're bringing back old memories!
From 1998, Jeffrey Richter wrote an article in Microsoft Systems Journal describing how to create your own perfmon counters, its very easy (after cutting and pasting his template code just add shared-memory variables in a dll, and update them as needed).
您在寻找托管包装器还是本机包装器? 您发布的链接是托管的,但您的问题是本机的(c ++)。
在托管世界中,使用 PerformanceCounter 及其相关产品来发布计数器是相当容易和直接的 http://msdn.microsoft.com/en-us/library/system.diagnostics.performancecounter.aspx。 对于中等容量,它们还可以用于读取计数器,对于大容量,尽管您必须使用 PDH.DLL,因为根据我的经验,一次读取一个计数器的托管计数器的开销将是巨大的。
我个人开发了 XSLT 转换来在我的应用程序中生成所有 prfmon 计数器,我在此处发布了相关博客:http://rusanu.com/2009/04/11/using-xslt-to-generate-performance-counters-code/ 我还有更多即将发布的材料博客正在酝酿之中。
如果您的问题是关于非托管 API,我手边没有任何指针,但就我个人而言,我会再次使用 XSLT 来生成我的所有 perfmon 代码,因为其中大部分都是重复的。
Are you looking for Managed or native wrappers? The link you posted is managed, but your question is native (c++).
In managed world things are fairly easy and straight forward to publish counters using the PerformanceCounter and it relatives http://msdn.microsoft.com/en-us/library/system.diagnostics.performancecounter.aspx. For moderate volumes they can also be used for reading counters, for high volumes though you must use the PDH.DLL as the overhead of the managed counters reading one counter at a time will be overwhelming in my experience.
Personally I developed XSLT transformations to generate all prfmon counters in my apps, I blogged about this here: http://rusanu.com/2009/04/11/using-xslt-to-generate-performance-counters-code/ and I have more upcoming material to blog down the pipe.
If your question is about the unmanaged API, I don't have any pointer handy, but me personally I would go down the path of using again XSLT to generate all my perfmon code, as so much of it is repetitive.