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); }
// TODO: add more. public ResultIterationData(string id, Dictionary <string, LeakItem> leaks, Components.AutoTest.AutoTestSession.MemoryStats memoryStats) { Id = id; Leaks = leaks; MemoryStats = memoryStats; }
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); }); }