public static double GetPreciseElapsedTime(this Instrumentation instrumentation) { var fieldInfo = typeof(Instrumentation).GetField("_startedAt", BindingFlags.Instance | BindingFlags.NonPublic); var startedAt = (DateTime)fieldInfo.GetValue(instrumentation); return(new TimeSpan(DateTime.Now.Ticks - startedAt.Ticks).TotalSeconds); }
public static long GetReallyPreciseElapsedTime(this Instrumentation instrumentation) { Contract.Requires(instrumentation != null); return(_StopWatches[instrumentation.Id].ElapsedMilliseconds); }
public static void StartWithPrecision(this Instrumentation instrumentation) { Contract.Requires(instrumentation != null); _StopWatches[instrumentation.Id] = Stopwatch.StartNew(); }