PerformanceCounterCached LookupPerformanceCounter(LogEventInfo logEventInfo) { var perfCounterCached = _fixedPerformanceCounter; if (perfCounterCached != null) { return(perfCounterCached); } perfCounterCached = _performanceCounter; var machineName = _machineName?.Render(logEventInfo) ?? string.Empty; var instanceName = _instance?.Render(logEventInfo) ?? string.Empty; if (perfCounterCached != null && perfCounterCached.MachineName == machineName && perfCounterCached.InstanceName == instanceName) { return(perfCounterCached); } var perfCounter = CreatePerformanceCounter(machineName, instanceName); perfCounterCached = new PerformanceCounterCached(machineName, instanceName, perfCounter); if ((_machineName?.Text == null || _machineName.IsFixedText) && (_instance?.Text == null || _instance.IsFixedText)) { _fixedPerformanceCounter = perfCounterCached; } else { _performanceCounter = perfCounterCached; } return(perfCounterCached); }
PerformanceCounterCached LookupPerformanceCounter(LogEventInfo logEventInfo) { var perfCounterCached = _fixedPerformanceCounter; if (perfCounterCached != null) { return(perfCounterCached); } perfCounterCached = _performanceCounter; var machineName = _machineName?.Render(logEventInfo) ?? string.Empty; var instanceName = _instance?.Render(logEventInfo) ?? string.Empty; if (perfCounterCached != null && perfCounterCached.MachineName == machineName && perfCounterCached.InstanceName == instanceName) { return(perfCounterCached); } var perfCounter = CreatePerformanceCounter(machineName, instanceName); perfCounterCached = new PerformanceCounterCached(machineName, instanceName, perfCounter); if ((ReferenceEquals(_machineName, null) || (_machineName as SimpleLayout)?.IsFixedText == true) && (ReferenceEquals(_instance, null) || (_instance as SimpleLayout)?.IsFixedText == true)) { _fixedPerformanceCounter = perfCounterCached; } else { _performanceCounter = perfCounterCached; } return(perfCounterCached); }
private void ResetPerformanceCounters() { _fixedPerformanceCounter = null; _performanceCounter = null; }