diff Implab/Diagnostics/TraceEvent.cs @ 195:ea485487a424 v2

minor changes
author cin
date Wed, 04 May 2016 12:28:08 +0300
parents 6c49d02a9a05
children cc1baf7c8bd9
line wrap: on
line diff
--- a/Implab/Diagnostics/TraceEvent.cs	Mon Apr 25 15:18:56 2016 +0300
+++ b/Implab/Diagnostics/TraceEvent.cs	Wed May 04 12:28:08 2016 +0300
@@ -12,18 +12,36 @@
             private set;
         }
 
-        public TraceEvent(TraceEventType type, string message) {
+        /// <summary>
+        /// The logical operation this event belongs to.
+        /// </summary>
+        public LogicalOperation Operation {
+            get;
+            private set;
+        }
+
+        /// <summary>
+        /// Gets the time offset in milliseconds from the start of the operation, if the operation is not specified the value is zero.
+        /// </summary>
+        public int OperationTime {
+            get;
+            private set;
+        }
+
+        public TraceEvent(LogicalOperation operation, TraceEventType type, string message) {
             EventType = type;
             Message = message;
+            Operation = operation;
+            if (operation != null)
+                OperationTime = operation.Duration;
         }
 
         public override string ToString() {
-            /*return EventType == TraceEventType.Information ? Message : String.Format("{0}: {1}", EventType, Message);*/
             return Message;
         }
 
-        public static TraceEvent Create(TraceEventType type, string format, params object[] args) {
-            return new TraceEvent(type, format == null ? String.Empty : String.Format(format, args));
+        public static TraceEvent Create(LogicalOperation operation, TraceEventType type, string format, params object[] args) {
+            return new TraceEvent(operation, type, format == null ? String.Empty : String.Format(format, args));
         }
     }
 }