2013-10-23 22 views
6

"ASP.NET" performans sayaçları kategorisindeki performansa bakabilmek istiyorum NextValue(). Ancak, bu kategorinin sayaçları her zaman 0 gösterirken, diğer sayıcılar beklendiği gibi çalışır.ASP.NET Performans Sayacı her zaman 0

Uzaktaki makinede perfmon.exe'deki "ASP.NET" sayaçları iyi çalışıyor. Yerel makine, uzak makineye hedeflemeye Perfmon.exe

"ASP.NET" sayaçları da 0 değerini

var pc = new PerformanceCounter("ASP.NET", "Requests Current", "", "myRemoteMachine"); 
pc.NextValue(); // returns always 0 
pc.NextValue(); // returns always 0 

Herhangi bir fikir göstermek? İzin veya bir çeşit güvenlik duvarı sorunu mu var?

+0

[PerformanceCounter] (http://msdn.microsoft.com/library/system.diagnostics.performancecounter.aspx): "gerekli hesaplama gerçekleştirmek için bir ilk ya da önceki değeri gerekli sayaçları için performans verilerini elde etmek için, NextValue yöntemini iki kez arayın ve uygulamanızın gerektirdiği bilgileri kullanın. " - belki de bu hile yapar. – Corak

+0

Ne yazık ki değil. Değer 0 kalır. – Mrks83

cevap

1

Çözüm, NextValue çağrıları arasında 1 saniye uyumaktır. VB

:

Dim cpu As New PerformanceCounter("Processor", "% Processor Time", "_Total", "servername") 

cpu.NextValue() 

System.Threading.Thread.Sleep(1000) 

MyValue = cpu.NextValue() 

O hala doğru numarayı dönen eğer bilmek zor, ama (1 puan içinde) çok yakın için perfmon neler gösterir. Ben de 2 saniye denedim ve perfmonun gösterdiği şeye biraz daha yakın görünüyor. http://blogs.msdn.com/b/dotnetinterop/archive/2007/02/02/system-diagnostics-performancecounter-and-processor-time-on-multi-core-or-multi-cpu.aspx itibaren

:

Eğer belgelendirmesi olarak, gecikme nextValue() çağrıları arasında "yaklaşık 1 saniye" gerektiğini unutmayın! devletler https://msdn.microsoft.com/en-us/library/system.diagnostics.performancecounter.nextvalue.aspx için

... ve bağlantılar:

bir sayaç hesaplanan değer iki tezgahın bağlıdır, ilk okuma işlemi 0.0 döndürür okur. Farklı bir sayaç belirtmek için performans sayacı özelliklerinin sıfırlanması, yeni bir performans sayacı oluşturmaya eşdeğerdir ve yeni özellikleri kullanan ilk okuma işlemi 0,0 değerini döndürür. Sayacın bir sonraki artımlı okumayı gerçekleştirmesine izin vermek için NextValue yöntemine yapılan çağrılar arasındaki önerilen gecikme süresi bir saniyedir.

İlgili konular