PerformanceCounter.CounterType 属性

定义

获取关联的性能计数器的计数器类型。

public:
 property System::Diagnostics::PerformanceCounterType CounterType { System::Diagnostics::PerformanceCounterType get(); };
public System.Diagnostics.PerformanceCounterType CounterType { get; }
member this.CounterType : System.Diagnostics.PerformanceCounterType
Public ReadOnly Property CounterType As PerformanceCounterType

属性值

PerformanceCounterType,它既描述计数器如何与监视应用程序交互,又描述计数器包含的值的特性(例如计算所得和非计算所得)。

例外

此实例未与性能计数器正确关联。

- 或 -

使用全局共享内存时,InstanceLifetime 属性设置为 Process

以不具有管理特权的用户身份正在执行的代码尝试读取性能计数器。

注解

枚举 PerformanceCounterType 包含可以与之交互的性能计数器的类型。 某些计数器类型表示计算值,例如系统采取的计数器度量平均值。 其他类型表示原始或未计算的值。 下表显示了将最常与之交互的计数器类型。

计数器的责任 PerformanceCounterType 值 示例
维护简单的项或操作计数。 NumberOfItems32 跟踪以 32 位整数形式收到的订单数。
维护更高容量的简单计数。 NumberOfItems64 跟踪以 64 位整数形式存储的量非常高的站点的订单数。
跟踪每秒的项数或操作数。 RateOfCountsPerSecond32 跟踪站点上每秒收到的订单数。
跟踪每秒更高容量的项数或操作数。 RateOfCountsPerSecond64 跟踪每秒在数量非常高的站点上收到的订单。
计算执行流程或处理项的平均时间 AverageTimer32 计算订单处理所花费的平均时间。

创建其类型需要使用相应基计数器的计数器时,必须在传入 PerformanceCounterCategory.Create 方法的 中CounterCreationDataCollection声明计数器和基数。

注意

如果 属性ProcessInstanceLifetime值为 ,并且性能计数器类别是使用 .NET Framework 版本 1.0 或 1.1 创建的,InvalidOperationException则会引发 。 使用早期版本创建的性能计数器类别使用全局共享内存,并且 的值 InstanceLifetime 必须为 Global。 如果.NET Framework版本 1.0 或 1.1 上运行的应用程序未使用该类别,请删除并重新创建该类别。

注意

若要读取 Windows Vista、Windows XP Professional x64 Edition 或 Windows Server 2003 中的性能计数器,你必须是 性能监视器 用户组的成员或具有管理权限。

若要避免在 Windows Vista 中提升访问性能计数器的权限,请将自己添加到“性能监视器”用户组”。

在 Windows Vista 中,用户帐户控制 (UAC) 决定用户的特权。 如果您是内置的 Administrators 组的成员,将为您分配两个运行时访问令牌:一个标准用户访问令牌和一个管理员访问令牌。 默认情况下,您拥有标准用户角色。 若要执行访问性能计数器的代码,必须先将权限从标准用户提升为管理员。 你可以通过以下方式执行此操作:右键单击应用程序图标并指示需以管理员身份运行。

适用于

另请参阅