Exemple #1
0
 public void AddChild(InternalMeasurer measurer)
 {
     if (!CanHoldChildren)
     {
         throw new Exception("Measurer can't hold child");
     }
     _children.LastOrDefault()?.Stop();
     _children.Add(measurer);
     measurer.Parent = this;
 }
Exemple #2
0
        public void ChildProcess(string childProcess)
        {
            if (_currentMeasurer == null)
            {
                return;
            }
            var child = new InternalMeasurer(childProcess);

            child.Start();
            _currentMeasurer.AddChild(child);
            _currentMeasurer = child;
        }
Exemple #3
0
 public void CompleteLastProcess()
 {
     _currentMeasurer?.Stop();
     _currentMeasurer = _currentMeasurer?.Parent;
 }
Exemple #4
0
        public void Complete(string process)
        {
            var stopped = _topLevelMeasurer.Stop(process);

            _currentMeasurer = stopped.Parent;
        }
Exemple #5
0
 internal void Start(string process)
 {
     _currentMeasurer = _topLevelMeasurer = new InternalMeasurer(process);
     _topLevelMeasurer.Start();
 }