Windows性能计数器应用程序参数设置
2021-03-15 15:30
标签:net length rup nextval traffic 包含 add int col //初始化PerformanceCounter类的新的只读实例。 //第一个参数:“ categoryName”-与该性能计数器关联的性能计数器类别(性能对象)的名称。 //第二个参数:“ CounterName”-性能计数器的名称。 //第三个参数:“ instanceName”-性能计数器类别实例的名称,如果类别包含单个实例,则为空字符串(“”)。 //返回内存提交限制的值 //返回以MB为单位的已缓存内存的值 Windows性能计数器应用(PART1-4) Windows性能计数器应用(PART6) Windows性能计数器应用程序参数设置 标签:net length rup nextval traffic 包含 add int col 原文地址:https://www.cnblogs.com/Aldj/p/12416599.html{
// PerformanceCounter(CategoryName,CounterName,InstanceName)
performanceNetCounterCategory = newPerformanceCounterCategory("Network Interface");
interfaces = performanceNetCounterCategory.GetInstanceNames();
int length = interfaces.Length;
if (length > 0)
{
trafficSentCounters = newPerformanceCounter[length];
trafficReceivedCounters = newPerformanceCounter[length];
}
for (int i = 0; i )
{
trafficReceivedCounters[i] = new PerformanceCounter("Network Interface", "Bytes Sent/sec", interfaces[i]);
trafficSentCounters[i] =new PerformanceCounter("Network Interface", "Bytes Sent/sec", interfaces[i]);
}
//网络接口所有名称的列表
for (int i = 0; i )
{
Console.WriteLine("Name netInterface: {0}", performanceNetCounterCategory.GetInstanceNames()[i]);
}
}
public void getProcessorCpuTime()
{
float tmp = cpuProcessorTime.NextValue();
CPUProcessorTime = (float)(Math.Round((double)tmp, 1));
// Environment.ProcessorCount:返回内核总数
}
public void getCpuPrivilegedTime()
{
float tmp = cpuPrivilegedTime.NextValue();
CPUPrivilegedTime = (float)(Math.Round((double)tmp, 1));
}
public void getCpuinterruptTime()
{
float tmp = cpuInterruptTime.NextValue();
CPUInterruptTime = (float)(Math.Round((double)tmp, 1));
}
public void getcpuDPCTime()
{
float tmp = cpuDPCTime.NextValue();
CPUDPCTime = (float)(Math.Round((double)tmp, 1));
}
public void getPageFile()
{
PageFile = pageFile.NextValue();
}
public void getProcessorQueueLengh()
{
ProcessorQueueLengh = processorQueueLengh.NextValue();
}
public void getMemAvailable()
{
MEMAvailable = memAvailable.NextValue();
}
public void getMemCommited()
{
MEMCommited = memCommited.NextValue() / (1024 * 1024);
}
public void getMemCommitLimit()
{
MEMCommitLimit = memCommitLimit.NextValue() / (1024 * 1024);
}
public void getMemCommitedPerc()
{
float tmp = memCommitedPerc.NextValue();
MEMCommitedPerc = (float)(Math.Round((double)tmp, 1));
}
public void getMemPoolPaged()
{
float tmp = memPollPaged.NextValue() / (1024 * 1024);
MEMPoolPaged = (float)(Math.Round((double)tmp, 1));
}
public void getMemPoolNonPaged()
{
float tmp = memPollNonPaged.NextValue() / (1024 * 1024);
MEMPoolNonPaged = (float)(Math.Round((double)tmp, 1));
}
public void getMemCachedBytes()
{
MEMCached = memCached.NextValue() / (1024 * 1024);
}
public void getDiskQueueLengh()
{
DISCQueueLengh = diskQueueLengh.NextValue();
}
public void getDiskRead()
{
float tmp=diskRead.NextValue()/1024;
DISKRead = (float)(Math.Round((double)tmp,1));
}
public void getDiskWrite()
{
float tmp=diskWrite.NextValue()/1024;
DISKWrite = (float)(Math.Round((double)tmp,1)); // round 1 digit decimal
}
public void getDiskAverageTimeRead()
{
float tmp = diskAverageTimeRead.NextValue() * 1000;
DISKAverageTimeRead = (float)(Math.Round((double)tmp, 1)); // round 1 digit decimal
}
public void getDiskAverageTimeWrite()
{
float tmp = diskAverageTimeWrite.NextValue()*1000;
DISKAverageTimeWrite = (float)(Math.Round((double)tmp, 1)); // round 1 digit decimal
}
public void getDiskTime()
{
float tmp = diskTime.NextValue();
DISKTime = (float)(Math.Round((double)tmp, 1));
}
public void getHandleCountCounter()
{
HANDLECountCounter = handleCountCounter.NextValue();
}
public void getThreadCount()
{
THREADCount = threadCount.NextValue();
}
public void getContentSwitches()
{
CONTENTSwitches = (int)Math.Ceiling(contentSwitches.NextValue());
}
public void getsystemCalls()
{
SYSTEMCalls = (int)Math.Ceiling(systemCalls.NextValue());
}
public void getCurretTrafficSent()
{
int length = interfaces.Length;
float sendSum = 0.0F;
for (int i = 0; i )
{
sendSum += trafficSentCounters[i].NextValue();
}
float tmp = 8 * (sendSum / 1024);
NetTrafficSend = (float)(Math.Round((double)tmp, 1));
}
public void getCurretTrafficReceived()
{
int length = interfaces.Length;
float receiveSum = 0.0F;
for (int i = 0; i )
{
receiveSum += trafficReceivedCounters[i].NextValue();
}
float tmp = 8 * (receiveSum / 1024);
NetTrafficReceive = (float)(Math.Round((double)tmp, 1));
}
public void getSampleTime()
{
SamplingTime =DateTime.Now;
}
}
文章标题:Windows性能计数器应用程序参数设置
文章链接:http://soscw.com/index.php/essay/65006.html