コード例 #1
0
        private void RecursiveTreeWalk(SamplingCallTreeElem callTreeElem, out SamplingTreeElem recomputedTreeElem)
        {
            recomputedTreeElem = new SamplingTreeElem();
            recomputedTreeElem.CallTreeElem = callTreeElem;
            recomputedTreeElem.TopStackSnapshotOccurrence =  //callTreeElem.LastProfiledFrameInStackCount +
                                                            callTreeElem.StackTopOccurrenceCount;
            recomputedTreeElem.InStackSnapshotOccurrence = recomputedTreeElem.TopStackSnapshotOccurrence;
            bool leafReached = callTreeElem.ChildrenCount == 0;

            if (!leafReached)
            {
                foreach (var childCallTreeElem in callTreeElem.Children)
                {
                    SamplingTreeElem childTreeElem;
                    RecursiveTreeWalk(childCallTreeElem, out childTreeElem);
                    recomputedTreeElem.Children.Add(childTreeElem);
                    recomputedTreeElem.InStackSnapshotOccurrence += childTreeElem.InStackSnapshotOccurrence;
                }
            }
        }
コード例 #2
0
 private void RecursiveTreeWalk(SamplingCallTreeElem callTreeElem, out SamplingTreeElem recomputedTreeElem)
 {
     recomputedTreeElem = new SamplingTreeElem();
     recomputedTreeElem.CallTreeElem = callTreeElem;
     recomputedTreeElem.TopStackSnapshotOccurrence  = //callTreeElem.LastProfiledFrameInStackCount +
                                                        callTreeElem.StackTopOccurrenceCount;
     recomputedTreeElem.InStackSnapshotOccurrence = recomputedTreeElem.TopStackSnapshotOccurrence;
     bool leafReached = callTreeElem.ChildrenCount == 0;
     if(!leafReached)
     {
         foreach (var childCallTreeElem in callTreeElem.Children)
         {
             SamplingTreeElem childTreeElem;
             RecursiveTreeWalk(childCallTreeElem, out childTreeElem);
             recomputedTreeElem.Children.Add(childTreeElem);
             recomputedTreeElem.InStackSnapshotOccurrence += childTreeElem.InStackSnapshotOccurrence;
         }
     }
 }