2010-10-05 5 views
5

Mam usługę, która przetwarza względnie "kosztowne" żądania. Oczekuje się, że średnia stopa żądania będzie wynosić około 5-10 na minutę. Chciałbym móc monitorować tę szybkość za pomocą niestandardowego licznika wydajności, ale wszystkie dostępne typy liczników wydają się być nastawione na znacznie częściej występujące zdarzenia.Licznik wydajności - Typ stawki na minutę?

Jaki byłby najlepszy sposób na ujawnienie tej stawki za pomocą licznika wydajności? Być może mógłbym po prostu śledzić całkowitą liczbę zdarzeń, które miały miejsce, wraz z łącznym czasem, jaki upłynął, a następnie obliczyć średnią i kod i wystawić go przez NumberOfItems32? To, co wydaje się nieco dziwne, polega na tym, że nie używałoby tego samego "okna uśredniającego", co prawidłowo zarządzane liczniki.

Odpowiedz

-2

"Jaki byłby najlepszy sposób na ujawnienie tej stawki za pomocą licznika wydajności? Być może mógłbym po prostu śledzić całkowitą liczbę zdarzeń, które miały miejsce, wraz z łącznym czasem, jaki upłynął, a następnie obliczyć średnią i kod i wystawić to poprzez NumberOfItems32? To, co wydaje się nieco dziwne, polega na tym, że nie używałoby tego samego "okna uśredniającego", co prawidłowo zarządzane liczniki. "

Masz rozwiązanie właśnie tam. Śledzenie liczby przedmiotów i czasu jest jedynym sposobem, aby uzyskać średnią, której szukasz.

http://msdn.microsoft.com/en-us/library/system.diagnostics.performancecounter.aspx

+0

Problem z tego podejścia jest to, że trzeba zachować każde zdarzenie w pamięci przez pewien czas tak, że można pamiętać, aby zmniejszyć licznik po rolkach przez okno. –