public EventTrackingCache(string friendlyName, DateTime?startTime, long?counter, EventTrackingMode mode) { FriendlyName = friendlyName; StartTime = startTime; Counter = counter; Mode = mode; }
public void StartTrackingEvent(Guid eventReferenceName, string eventFriendlyName, EventTrackingMode trackingMode) { DateTime?startTime = null; long? counter = null; switch (trackingMode) { case EventTrackingMode.Counter: counter = 0; break; case EventTrackingMode.ElapseTime: startTime = DateTime.Now; break; case EventTrackingMode.CounterAndElapseTime: counter = 0; startTime = DateTime.Now; break; case EventTrackingMode.NotDefined: default: return; } lock (m_eventTrackCacheLock) { if (m_eventTrackCache.ContainsKey(eventReferenceName)) { throw new InvalidOperationException( string.Format("Cannot start tracking the same event \"{0}\" twice.", eventReferenceName)); } m_eventTrackCache.Add(eventReferenceName, new EventTrackingCache(eventFriendlyName, startTime, counter, trackingMode)); } }
public static void setEventTrackingMode(EventTrackingMode eventTrackingMode) { SetEventTrackingModeInternal(eventTrackingMode.ToString()); }