Пример #1
0
        public void Process(Heapshot heapshot, bool isCleanup, string iterationName, Components.AutoTest.AutoTestSession.MemoryStats memoryStats)
        {
            if (heapshot == null)
            {
                return;
            }

            // TODO: Make this async.

            var previousData  = result.Iterations.LastOrDefault();
            var leakedObjects = DetectLeakedObjects(heapshot, isCleanup, previousData, iterationName);
            var leakResult    = new ResultIterationData(iterationName, leakedObjects, memoryStats);

            result.Iterations.Add(leakResult);
        }
Пример #2
0
        // TODO: add more.

        public ResultIterationData(string id, Dictionary <string, LeakItem> leaks, Components.AutoTest.AutoTestSession.MemoryStats memoryStats)
        {
            Id          = id;
            Leaks       = leaks;
            MemoryStats = memoryStats;
        }
Пример #3
0
        public void Process(Task <Heapshot> heapshotTask, bool isCleanup, string iterationName, Components.AutoTest.AutoTestSession.MemoryStats memoryStats)
        {
            taskQueue.Enqueue(async() => {
                var heapshot = await heapshotTask;

                var previousData  = result.Iterations.LastOrDefault();
                var leakedObjects = DetectLeakedObjects(heapshot, isCleanup, previousData, iterationName);
                var leakResult    = new ResultIterationData(iterationName, leakedObjects, memoryStats);

                result.Iterations.Add(leakResult);
            });
        }