/// <summary> /// We keep track of stopwatches which have an Elapsed value and we sum them by area. /// </summary> /// <param name="pm"></param> public void AppendMarker(IPerformanceMarker pm) { if (pm.Type == PerformanceMarkerType.Stopwatch && pm.Elapsed.HasValue) { PerformanceMarkerArea currentArea = pm.Area; double elapsed = pm.Elapsed.Value.TotalMilliseconds; AggregatesInMilliseconds[(int)currentArea] += elapsed; TryUpdateMetaData(pm.Timestamp, pm.RequestId, pm.SessionId); } }
public void Log(IPerformanceMarker marker) { _logger.Log(marker); IPerformanceAggregate ag = GetPerformanceAggregate(); if (ag != null) { ag.AppendMarker(marker); } }
public void StopMarker(IPerformanceMarker marker) { if (marker == null) { // Err on the side of not having performance code throw any errors. return; } marker.Stop(); _logger.Log(marker); }
public void PerformanceMarker(IPerformanceMarker marker) { if (marker == null) { return; } PerformanceMarker( marker.Id, marker.Name ?? string.Empty, marker.Type, marker.Source, marker.Timestamp, marker.RequestId ?? string.Empty, marker.SessionId ?? string.Empty, PerfMarkerAreaHelper.AreaEnumToString(marker.Area), marker.Tag ?? string.Empty, marker.Elapsed.GetValueOrDefault().TotalMilliseconds, this.PortalUrl, this.PortalVersion, this.ProductionOrTrial); }
public void Log(IPerformanceMarker marker) { PerformanceEventSource.Log.PerformanceMarker(marker); }