public override void Stop(string segmentName, bool assertStarted = true, bool stopChildren = false) { base.Stop(segmentName, assertStarted, stopChildren); int threadsTotal = 0; if (JoinThreadsAfterSegmentsEnd != null && JoinThreadsAfterSegmentsEnd.TryGetValue(segmentName, out threadsTotal)) { WaitStop(segmentName, threadsTotal); } }
public JobProfiler JoinThreadsAroundSegment(string name, int threadCount) { if (JoinThreadsBeforeSegmentsStart == null) { JoinThreadsBeforeSegmentsStart = new Dictionary <string, int>(StringComparer.Ordinal); } JoinThreadsBeforeSegmentsStart.Add(name, threadCount); if (JoinThreadsAfterSegmentsEnd == null) { JoinThreadsAfterSegmentsEnd = new Dictionary <string, int>(StringComparer.Ordinal); } JoinThreadsAfterSegmentsEnd.Add(name, threadCount); return(this); }