00001 #!/usr/bin/python 00002 00003 # 00004 # Copyright 2004-2006 Intel Corporation 00005 # 00006 # Licensed under the Apache License, Version 2.0 (the "License"); 00007 # you may not use this file except in compliance with the License. 00008 # You may obtain a copy of the License at 00009 # 00010 # http://www.apache.org/licenses/LICENSE-2.0 00011 # 00012 # Unless required by applicable law or agreed to in writing, software 00013 # distributed under the License is distributed on an "AS IS" BASIS, 00014 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00015 # See the License for the specific language governing permissions and 00016 # limitations under the License. 00017 # 00018 00019 00020 import sys 00021 00022 class MemEntry: 00023 def __init__(self, live, stack): 00024 self.livelive = live 00025 self.stackstack = stack 00026 def __str__(self): 00027 return "live = %d, stack = %s" % ( self.livelive, str(self.stackstack)) 00028 00029 # read in memory usage dump 00030 entries = [] 00031 f = open(sys.argv[1], 'r') 00032 l = f.readline() 00033 while l != "": 00034 l = l.strip().split(' ') 00035 entries.append(MemEntry(int(l[0]), l[1:])) 00036 l = f.readline() 00037 00038 # sort them by location 00039 # XXX/bowei todo