public void GetPerfCounterDiagnosticsInfo(XElement element) { foreach (string instanceName in this.GetInstanceNames()) { PerformanceCounterInstance instance = this.GetInstance(instanceName); if (instance != null) { instance.GetPerfCounterDiagnosticsInfo(element); } } }
protected PerformanceCounterInstance GetInstance(string instanceName, PerformanceCounterInstance totalInstance) { PerformanceCounterInstance result; lock (this) { PerformanceCounterInstance performanceCounterInstance; if (!this.cachedInstances.TryGetValue(instanceName, out performanceCounterInstance)) { performanceCounterInstance = this.InstanceCreator(instanceName, totalInstance); this.cachedInstances.Add(instanceName, performanceCounterInstance); } result = performanceCounterInstance; } return(result); }