private SplitTimer Create(string tag, bool elide, string file, string member, int line) { var newTimer = new SplitTimer(tag, elide, file, member, line); var oldTimer = Interlocked.Exchange(ref _child, newTimer); _child._sibling = oldTimer; return(newTimer); }
private SplitWatch(string tag, string callerFilePath, string callerMemberName, int callerLineNumber) { _baseTickCount = (_startTime = DateTimeOffset.UtcNow).Ticks; _root = new SplitTimer(tag, false, callerFilePath, callerMemberName, callerLineNumber); }