C# 我应该如何准备添加性能计数器?

C# 我应该如何准备添加性能计数器?,c#,performancecounter,C#,Performancecounter,我开始构建缓存机制,在这个特性中我想添加一个对性能计数器的支持,所以问题是我如何为这个支持计划一个头部,以便在我进入这个特性时需要修改尽可能少的代码 由于这是我第一次使用这个功能,我想我现在需要在创建缓存机制之前创建一个简单的程序,以便了解如何为它做准备 如果我试着提前猜测我需要测量什么,它将帮助我在特性中何时实现它 你还有其他建议吗?我该如何准备添加此功能 是否有性能计数器的已知替代方案 谢谢。打开和更新性能计数器非常简单,只需要几句话。但是,您需要考虑您将报告哪些措施,这将是一个或多个实例的

我开始构建缓存机制,在这个特性中我想添加一个对性能计数器的支持,所以问题是我如何为这个支持计划一个头部,以便在我进入这个特性时需要修改尽可能少的代码

由于这是我第一次使用这个功能,我想我现在需要在创建缓存机制之前创建一个简单的程序,以便了解如何为它做准备

如果我试着提前猜测我需要测量什么,它将帮助我在特性中何时实现它

你还有其他建议吗?我该如何准备添加此功能

是否有性能计数器的已知替代方案


谢谢。

打开和更新性能计数器非常简单,只需要几句话。但是,您需要考虑您将报告哪些措施,这将是一个或多个实例的计数器对象。你需要一个安装程序,性能计数器需要注册

首先考虑一下你将要采取的措施。缓存使用率、缓存中的项和缓存命中率等都很明显。但是还有什么可以帮助管理您的应用程序吗?如果您可以与管理和支持该应用程序的人员交谈,那么他们可能会对什么有用有自己的想法

期望在实际使用中学习哪些计数器是有用的

如果在单个系统上有一个缓存实例,那么多个实例计数器就没有意义,但是如果需要实例,那么需要考虑如何命名实例


最后,值得一看计数器类型的可用选项,以及它们的含义。性能计数器系统将为您做一些工作,如计算各个计数器的增量和速率以及实例之间的总计。

打开和更新性能计数器非常简单,只需几句话。但是,您需要考虑您将报告哪些措施,这将是一个或多个实例的计数器对象。你需要一个安装程序,性能计数器需要注册

首先考虑一下你将要采取的措施。缓存使用率、缓存中的项和缓存命中率等都很明显。但是还有什么可以帮助管理您的应用程序吗?如果您可以与管理和支持该应用程序的人员交谈,那么他们可能会对什么有用有自己的想法

期望在实际使用中学习哪些计数器是有用的

如果在单个系统上有一个缓存实例,那么多个实例计数器就没有意义,但是如果需要实例,那么需要考虑如何命名实例


最后,值得一看计数器类型的可用选项,以及它们的含义。性能计数器系统将为您做一些工作,例如计算各个计数器的增量和速率以及实例之间的总数。

这取决于性能度量的复杂性。如果它很简单并且只在少数地方需要,那么可以使用编译器开关或类似的东西。对于复杂且更具可持续性的场景,我尝试了两种可能性:

您可以使用一种AOP框架,例如PostSharp。不过,这可能有点过头了,其优点是您不必以任何方式准备代码,只需在适当的位置添加适当的性能计数方面

<>你可以考虑你的应用程序的体系结构,它本身是可配置的,也就是说,包括通过发送和接收消息进行通信的松散组件。在这种体系结构中,组件彼此并不了解,它们只知道接收/发送消息的接收/发送点。然后,很容易在组件网络中的任意位置插入正确配置的性能计数组件

干杯


Paul

这取决于绩效衡量的复杂性。如果它很简单并且只在少数地方需要,那么可以使用编译器开关或类似的东西。对于复杂且更具可持续性的场景,我尝试了两种可能性:

您可以使用一种AOP框架,例如PostSharp。不过,这可能有点过头了,其优点是您不必以任何方式准备代码,只需在适当的位置添加适当的性能计数方面

<>你可以考虑你的应用程序的体系结构,它本身是可配置的,也就是说,包括通过发送和接收消息进行通信的松散组件。在这种体系结构中,组件彼此并不了解,它们只知道接收/发送消息的接收/发送点。然后,很容易在组件网络中的任意位置插入正确配置的性能计数组件

干杯

爸爸
ul

我想我会按照您的建议使用编译器开关:是的,在许多情况下足够了。上述替代方案适用于更复杂的框架,其中包含许多具有不同性能度量场景的组件。我想我将按照您的建议使用编译器开关:是的,在许多情况下足够了。上述备选方案为更复杂的框架带来了回报,这些框架包含许多具有不同性能度量场景的组件。。