public void AddWindowsPerfCounter(string counterName, string instance) { var counter = new PerformanceSumCounter(counterName); countersList.Add(counter.Name, counter); countersListGeneric.Add(counter); windowsPerfCountersList.Add(counter); }
private void GenerateDefaultPerfCounters() { /// Should be calculated externally (out of this class). Calculations are implemented inside WebApi/MVC MessageHandlers/Filters requestNum = new PerformanceSumCounter("RequestsCount, num/sec"); countersList.Add(RequestNum.Name, requestNum); requestProcessTime = new PerformanceAverageCounter("RequestProcessTime, ms"); countersList.Add(RequestProcessTime.Name, RequestProcessTime); requestMaxProcessTime = new PerformanceMaxCounter("RequestMaxProcessTime, ms"); countersList.Add(requestMaxProcessTime.Name, requestMaxProcessTime); bytesTrasmittedReq = new PerformanceSumCounter("KBytes req. transmitted, kb/sec", 1.0f / 1024, "n3"); countersList.Add(bytesTrasmittedReq.Name, bytesTrasmittedReq); bytesTrasmittedResp = new PerformanceSumCounter("KBytes resp. transmitted, kb/sec", 1.0f / 1024, "n3"); countersList.Add(bytesTrasmittedResp.Name, bytesTrasmittedResp); exceptionsNum = new PerformanceSumCounter("ExceptionsCount, num/sec"); countersList.Add(ExceptionsNum.Name, ExceptionsNum); badStatusNum = new PerformanceSumCounter("BadStatusResponsesCount, num/sec"); countersList.Add(BadStatusNum.Name, BadStatusNum); /// Calculated internally memoryUsed = new PerformanceSumAbsoluteCounter("Memory, mb", 1.0f / 1024 / 1024); countersList.Add(memoryUsed.Name, memoryUsed); memorySurvived = new PerformanceSumAbsoluteCounter("Memory survived, kb", 1.0f / 1024); countersList.Add(memorySurvived.Name, memorySurvived); cpuUsage = new PerformanceDifferenceCounter("CPU, %", 1f, "n2"); countersList.Add(cpuUsage.Name, cpuUsage); gcGen0 = new PerformanceDifferenceCounter("GC 0-gen collections, num"); countersList.Add(gcGen0.Name, gcGen0); gcGen1 = new PerformanceDifferenceCounter("GC 1-gen collections, num"); countersList.Add(gcGen1.Name, gcGen1); gcGen2 = new PerformanceDifferenceCounter("GC 2-gen collections, num"); countersList.Add(gcGen2.Name, gcGen2); }