Exemplo n.º 1
0
        public IDisposable MeasureEventMemoryUsage(string componentName, string eventName)
        {
            if (!StateSynchronizationPerformanceParameters.EnablePerformanceReporting)
            {
                return(null);
            }

            var key = new PerformanceEventKey(componentName, eventName);

            if (!eventMemoryUsage.TryGetValue(key, out var memoryUsage))
            {
                memoryUsage = new MemoryUsage();
                eventMemoryUsage.Add(key, memoryUsage);
            }

            return(new MemoryScope(memoryUsage));
        }
Exemplo n.º 2
0
        public IDisposable IncrementEventDuration(string componentName, string eventName)
        {
            if (!StateSynchronizationPerformanceParameters.EnablePerformanceReporting)
            {
                return(null);
            }

            var key = new PerformanceEventKey(componentName, eventName);

            if (!incrementEventStopWatches.TryGetValue(key, out var stopwatch))
            {
                stopwatch = new Stopwatch();
                incrementEventStopWatches.Add(key, stopwatch);
            }

            return(new TimeScope(stopwatch, key.ToString()));
        }
Exemplo n.º 3
0
        public void IncrementEventCount(string componentName, string eventName)
        {
            if (!StateSynchronizationPerformanceParameters.EnablePerformanceReporting)
            {
                return;
            }

            var key = new PerformanceEventKey(componentName, eventName);

            if (!eventCounts.ContainsKey(key))
            {
                eventCounts.Add(key, 1);
            }
            else
            {
                eventCounts[key]++;
            }
        }