我正在尝试使用Windows性能计数器来衡量WCF服务的每秒点击次数和每次点击次数,并且看到了一些奇怪的结果。
目前,我正在做的是:
public void MethodToTime()
{
StopWatch sw = new StopWatch();
sw.Start();
//...do stuff...
totalHitsCounter.Increment(); //this one works fine - NumberOfItems32 counter
hitsPerSecondCounter.Increment(); //appears broken - RateOfCountsPerSecond32 counter
secondsPerHitBaseTime.Increment(); //can't tell - AverageBase counter
sw.Stop();
secondsPerHitCounter.IncrementBy( sw.ElapsedTime ); //appears broken - AverageTimer32
}
在一天结束时,我想知道:
- 这个方法被击中x次(在其生命周期内)。 - 该方法平均需要x.x秒才能执行。 - 此方法每秒调用x次(跨所有服务实例,因为对服务的一次调用会导致对方法的一次调用)。
我是否在正确的轨道上?有没有更好的方法来解决这个问题? 非常感谢任何反馈:)
先谢谢大家!
答案 0 :(得分:0)
你知道,秒/命中只是命中/秒的倒数。你需要将你的命中数除以1来得到它。