我有一个 Windows 服务,它跨多个线程运行框架的实现。每个正在运行的实例都有几个共同点,我需要跟踪它们,例如,处理的项目数量、上次处理项目的时间等。在此基础监控数据之上,我想在框架以允许实现动态添加自己的监控数据。
我以前使用过 PerformanceCounters,虽然它们提供了不错的功能,但我发现创建和维护它们的代码非常繁琐,并且加载了与实例相关的陷阱的可能性(即硬编码计数器实例名称、类别名称和计数器类型)。此外,我不确定是否可以在不编写大量代码的情况下提供简单的基本功能动态计数器创建。
有没有人使用 PerformanceCounters 实现过类似的东西?如果是这样,你会推荐它吗?如果没有,是否有人建议我可以轻松地将性能/健康监控数据写入不会引入 1)很多减速和 2)另一个故障点的介质?
谢谢,如有必要,我很乐意补充说明,因为我知道这有点含糊。
结论:
我最终实现了性能计数器。这有点像 PITA(呵呵),但我的老板真的很喜欢这个想法,现在我已经想通了,还不错。我希望通过一种更简单的方式来呈现分层数据,从而更容易配置一些东西。但这很好用,而且很难与内置界面争论。