C#使用windows自带的性能监视器显示

在编写各种服务器的时候,经常会需要调取CPU使用、网络队列等关键数据,以便更好的管理各种事务。

那么在C#中如何调取服务器的这些数据呢?

PerformanceCounter a = new PerformanceCounter("计数器类名", "计数器名", "实例名,单一实例时可以为空");
log.Debug(a.NextValue());
对,就是那么简单。

以下就是各种名称:1就是计数器类名,2就是计数器名,3就是实例名


多简单对不?



那么,如何将服务器的数据发送到性能监视器上去,方便我们查看服务器的各种状态呢?

首先,我们需要在系统中增加这个计数器到windows

           //计数器类型名称
            string 计数器类名 = "hmok";
            //计数器名称
            string 计数器名 = "吃饭的碗数";
            if (PerformanceCounterCategory.Exists(计数器类名))
            {
                PerformanceCounterCategory.Delete(计数器类名);
            }
            //1个计数器的集合
            CounterCreationDataCollection ccdc = new CounterCreationDataCollection();
            //计数器
            CounterCreationData ccd = new CounterCreationData(计数器名, "他吃饭的多少", PerformanceCounterType.NumberOfItems64);
            ccdc.Add(ccd);
            //使用PerformanceCounterCategory.Create创建一个计数器类别
            PerformanceCounterCategory.Create(计数器类名, "", PerformanceCounterCategoryType.MultiInstance, ccdc);
OK,这样就在性能监视器上增加了这个计数器了,你可以去找找看把!

然后,我们需要使用这个计数器显示数值

//定义这个计数器
        static PerformanceCounter counter1 = null;

初始化这个计数器,在任何方法里面初始化

           //初始化计数器实例
            counter1 = new PerformanceCounter();
            counter1.CategoryName = 计数器类名;
            counter1.CounterName = 计数器名;
            //计数器实例的名称-显示在windows性能监视器里面实例的名字
            counter1.InstanceName = "我的计数器实例名称";
            //实例存在的时间,=进程的时间
            counter1.InstanceLifetime = PerformanceCounterInstanceLifetime.Process;
            counter1.ReadOnly = false;
            counter1.RawValue = 0;

增加值或者减少值,或者设置值

            //设置值为
            counter1.RawValue = 0;
            //值加1
            counter1.Increment();
            //值加3
            counter1.IncrementBy(3);
            //值减1
            counter1.Decrement();

OK,去看看监视器把


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值