Index: tools/deep_memory_profiler/lib/deep_dump.py |
diff --git a/tools/deep_memory_profiler/lib/dump.py b/tools/deep_memory_profiler/lib/deep_dump.py |
similarity index 94% |
copy from tools/deep_memory_profiler/lib/dump.py |
copy to tools/deep_memory_profiler/lib/deep_dump.py |
index 1fa4fc3b698860092dd7f36d432ecd0b03bbeefb..dc37ea0c7764d65f4daf26f22a90aa917172769d 100644 |
--- a/tools/deep_memory_profiler/lib/dump.py |
+++ b/tools/deep_memory_profiler/lib/deep_dump.py |
@@ -1,4 +1,4 @@ |
-# Copyright 2013 The Chromium Authors. All rights reserved. |
+# Copyright 2014 The Chromium Authors. All rights reserved. |
# Use of this source code is governed by a BSD-style license that can be |
# found in the LICENSE file. |
@@ -9,6 +9,7 @@ import os |
import re |
import time |
+from lib.dump import Dump |
from lib.exceptions import EmptyDumpException, InvalidDumpException |
from lib.exceptions import ObsoleteDumpVersionException, ParsingException |
from lib.pageframe import PageFrame |
@@ -44,7 +45,7 @@ DUMP_DEEP_5 = 'DUMP_DEEP_5' |
DUMP_DEEP_6 = 'DUMP_DEEP_6' |
-class Dump(object): |
+class DeepDump(Dump): |
"""Represents a heap profile dump.""" |
_PATH_PATTERN = re.compile(r'^(.*)\.([0-9]+)\.([0-9]+)\.heap$') |
@@ -66,6 +67,7 @@ class Dump(object): |
_TIME_PATTERN_SECONDS = re.compile(r'^Time: ([0-9]+)$') |
def __init__(self, path, modified_time): |
+ super(DeepDump, self).__init__() |
self._path = path |
matched = self._PATH_PATTERN.match(path) |
self._pid = int(matched.group(2)) |
@@ -407,33 +409,6 @@ class Dump(object): |
return True |
-class DumpList(object): |
- """Represents a sequence of heap profile dumps. |
- |
- Individual dumps are loaded into memory lazily as the sequence is accessed, |
- either while being iterated through or randomly accessed. Loaded dumps are |
- not cached, meaning a newly loaded Dump object is returned every time an |
- element in the list is accessed. |
- """ |
- |
- def __init__(self, dump_path_list): |
- self._dump_path_list = dump_path_list |
- |
- @staticmethod |
- def load(path_list): |
- return DumpList(path_list) |
- |
- def __len__(self): |
- return len(self._dump_path_list) |
- |
- def __iter__(self): |
- for dump in self._dump_path_list: |
- yield Dump.load(dump) |
- |
- def __getitem__(self, index): |
- return Dump.load(self._dump_path_list[index]) |
- |
- |
class ProcMapsEntryAttribute(ExclusiveRangeDict.RangeAttribute): |
"""Represents an entry of /proc/maps in range_dict.ExclusiveRangeDict.""" |
_DUMMY_ENTRY = procfs.ProcMapsEntry( |