public void AddChild(ITaskTimer taskTimer) { lock (_syncRoot) { _taskTimers.Add(taskTimer); } }
private static void RenderTaskTimer(ITaskTimer taskTimer, StringBuilder stringBuilder, int indent) { var time = taskTimer.StopedTime.HasValue ? string.Format("took {0} sec to complete", (taskTimer.StopedTime.Value - taskTimer.StartedTime).TotalSeconds) : "did not finish"; stringBuilder.AppendFormat( "{0}Task '{1}' {2}{3}", new string(' ', indent * 2), taskTimer.Name, time, Environment.NewLine); foreach (var child in taskTimer.Children) { RenderTaskTimer(child, stringBuilder, indent + 1); } }
public ITaskTimer StartTask(string name, ITaskTimer parentTaskTimer) { var taskTimer = new TaskTimer { Id = Guid.NewGuid(), Name = name, StartedTime = DateTime.Now, Disposer = DisposeTaskTimer, Parent = parentTaskTimer, }; if (parentTaskTimer != null) { parentTaskTimer.AddChild(taskTimer); } return(taskTimer); }
public ITaskTimer StartTask(string name, ITaskTimer parentTaskTimer) { var taskTimer = new TaskTimer { Id = Guid.NewGuid(), Name = name, StartedTime = DateTime.Now, Disposer = DisposeTaskTimer, Parent = parentTaskTimer, }; if (parentTaskTimer != null) { parentTaskTimer.AddChild(taskTimer); } return taskTimer; }
public ITaskTimer StartTaskFormat(ITaskTimer parentTaskTimer, string formatName, params object[] args) { var name = SafeStringFormat(formatName, args); return StartTask(name, parentTaskTimer); }
public ITaskTimer StartTaskFormat(ITaskTimer parentTaskTimer, string formatName, params object[] args) { var name = SafeStringFormat(formatName, args); return(StartTask(name, parentTaskTimer)); }