CMS 3D CMS Logo

profilereader::FunctionInfo Class Reference

List of all members.

Public Member Functions

def __init__
def addCallee
def addCaller
def normalize

Public Attributes

 address
 calleeList
 callerList
 countOfFunctPlusChild
 countOfFunctPlusChildWithRecursion
 fractionInFunctionOnly
 fractionInPath
 leafCount
 name

Private Attributes

 __calleeTemp
 __callerTemp


Detailed Description

Holds the profiling information about one function

Definition at line 5 of file profilereader.py.


Member Function Documentation

def profilereader::FunctionInfo::__init__ (   self,
  attrList 
)

Definition at line 8 of file profilereader.py.

00008                                :
00009         self.address =attrList[0] 
00010         self.name =os.popen("c++filt  "+attrList[-1]).read().strip()
00011         self.leafCount = int(attrList[1])
00012         self.countOfFunctPlusChildWithRecursion = int(attrList[2])
00013         self.countOfFunctPlusChild = int(attrList[3])
00014         self.fractionInFunctionOnly = float(attrList[4])
00015         self.fractionInPath = float(attrList[5])
00016         self.__callerTemp = dict()
00017         self.__calleeTemp = dict()
    def addCaller(self,caller,weight):

def profilereader::FunctionInfo::addCallee (   self,
  callee,
  weight 
)

Definition at line 21 of file profilereader.py.

00021                                      :
00022         self.__calleeTemp.setdefault(callee.address,[0,callee])[0]+=weight
    def normalize(self):

def profilereader::FunctionInfo::addCaller (   self,
  caller,
  weight 
)

Definition at line 18 of file profilereader.py.

00018                                      :
00019         #print caller.name, weight
00020         self.__callerTemp.setdefault(caller.address,[0,caller])[0]+=weight
    def addCallee(self,callee,weight):

def profilereader::FunctionInfo::normalize (   self  ) 

Definition at line 23 of file profilereader.py.

00023                        :
00024         self.callerList = list()
00025         self.calleeList = list()
00026         for caller in self.__callerTemp.keys():
00027             (count,_caller) = self.__callerTemp[caller]
00028             self.callerList.append((float(count)/self.countOfFunctPlusChildWithRecursion,_caller))
00029         for callee in self.__calleeTemp.keys():
00030             (count,_callee) = self.__calleeTemp[callee]
00031             self.calleeList.append((float(count)/self.countOfFunctPlusChildWithRecursion,_callee))
00032         self.callerList.sort()
00033         self.callerList.reverse()
00034         self.calleeList.sort()
00035         self.calleeList.reverse()
00036 
class Path(object):


Member Data Documentation

profilereader::FunctionInfo::__calleeTemp [private]

Definition at line 17 of file profilereader.py.

profilereader::FunctionInfo::__callerTemp [private]

Definition at line 16 of file profilereader.py.

profilereader::FunctionInfo::address

Definition at line 9 of file profilereader.py.

profilereader::FunctionInfo::calleeList

Definition at line 25 of file profilereader.py.

profilereader::FunctionInfo::callerList

Definition at line 24 of file profilereader.py.

profilereader::FunctionInfo::countOfFunctPlusChild

Definition at line 13 of file profilereader.py.

profilereader::FunctionInfo::countOfFunctPlusChildWithRecursion

Definition at line 12 of file profilereader.py.

profilereader::FunctionInfo::fractionInFunctionOnly

Definition at line 14 of file profilereader.py.

profilereader::FunctionInfo::fractionInPath

Definition at line 15 of file profilereader.py.

profilereader::FunctionInfo::leafCount

Definition at line 11 of file profilereader.py.

profilereader::FunctionInfo::name

Definition at line 10 of file profilereader.py.


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:50:38 2009 for CMSSW by  doxygen 1.5.4