/// <summary>
/// Creates a new Timing named 'name' in the 'profiler's session, with 'parent' as this Timing's immediate ancestor.
/// </summary>
public Timing(MiniProfiler profiler, Timing parent, string name)
{
this.Id = Guid.NewGuid();
Profiler = profiler;
Profiler.Head = this;
if (parent != null) // root will have no parent
{
parent.AddChild(this);
}
Name = name;
_startTicks = profiler.ElapsedTicks;
StartMilliseconds = profiler.GetRoundedMilliseconds(_startTicks);
}