class TMemStatManager: public TObject

Function Members (Methods)

public:
TMemStatManager()
TMemStatManager(const TMemStatManager&)
virtual~TMemStatManager()
voidTObject::AbstractMethod(const char* method) const
TMemStatInfoStamp&AddStamp()
voidAddStamps(const char* stampname = 0)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
static voidClose()
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
voidDisable()
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
voidDumpTo(TMemStatManager::EDumpTo _DumpTo, Bool_t _clearStamps = kTRUE, const char* _stampName = 0)
voidEnable()
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
TMemStatCodeInfo&GetCodeInfo(void* address)
UInt_tGetCodeInfoIndex(void* address)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
static TMemStatManager*GetInstance()
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TMemStatManager&operator=(const TMemStatManager&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
static voidSAddStamps(const Char_t* stampname)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidSetAutoStamp(UInt_t sizeMem, UInt_t n, UInt_t max)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetUseGNUBuildinBacktrace(Bool_t _NewVal)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
void*AddPointer(size_t size, void* ptr = 0)
static void*AllocHook(size_t size, const void*)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidFreeHashtable()
static voidFreeHook(void* ptr, const void*)
voidFreePointer(void* p)
voidInit()
voidTObject::MakeZombie()
voidRehashLeak(Int_t newSize)
TMemStatStackInfo*STAddInfo(Int_t size, void** stackptrs)
TMemStatStackInfo*STFindInfo(Int_t size, void** stackptrs)

Data Members

public:
enum EStatusBits { kUserDisable
kStatDisable
kStatRoutine
};
enum EDumpTo { kTree
kSysTree
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
public:
vector<TMemStatCodeInfo,allocator<TMemStatCodeInfo> >fCodeInfoArrayvector with code info
map<const void*,UInt_t>fCodeInfoMap! map of code information
Int_tfCount!number of entries in table
Int_tfDebugLevel!debug level
IntVector_tfSTHashTable!pointer to the hash table
vector<TMemStatStackInfo>fStackVectorvector withstack symbols
void*fStampCallBack!call back function
Int_tfStampNumbercurrent stamp number
vector<TTimeStamp>fStampTimevector of stamp information
vector<TMemStatInfoStamp>fStampVectorvector of stamp information
protected:
Int_tfAllocCount!number of memory allocation blocks
UInt_tfAutoStampDumpSize
UInt_tfAutoStampNchange of number of allocation STAMP
UInt_tfAutoStampSizechange of size invoking STAMP
TMemStatInfoStampfCurrentStampcurrent stamp
auto_ptr<TFile>fDumpFile!file to dump current information
TTree*fDumpSysTree!tree to dump information
TTree*fDumpTree!tree to dump information
TMemStatInfoStampfLastStamplast written stamp
TMemStatManager::TMemTable_t**fLeak!pointer to the hash table
Int_tfMinStampSizethe minimal size to be dumped to tree
TMemStatManager::TDeleteTable_tfMultDeleteTable!pointer to the table
void*fPreviousFreeHook!old free function
void*fPreviousMallocHook!old malloc function
Int_tfSize!size of hash table
Bool_tfUseGNUBuildinBacktrace
static TMemStatManager*fgInstancepointer to instance
static void*fgStackTopstack top pointer

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TMemStatManager(const TMemStatManager& )
 Default constructor
void Init()
Initialize MemStat manager - used only for instance
TMemStatManager* GetInstance()
 GetInstance of MemStatManager
 Only instance catch the alloc and free hook
void Close()
 to be documented
~TMemStatManager()
   Destructor
   if instance is destructed - the hooks are reseted to old hooks
void Enable()
 Enable hooks
void Disable()
 disble MemStatManager
void * AllocHook(size_t size, const void* )
 AllocHook
void FreeHook(void* ptr, const void* )
 FreeHook
TMemStatStackInfo * STAddInfo(Int_t size, void** stackptrs)
 Add stack information to table.
 add next stack to table
TMemStatStackInfo * STFindInfo(Int_t size, void** stackptrs)
 Try to find stack info in hash table if doesn't find it will add it.
void SAddStamps(const Char_t* stampname)
 static version add  stamps to the list of stamps for changed stacks

void AddStamps(const char* stampname = 0)
 add the stamp to the list of stamps
TMemStatInfoStamp & AddStamp()
 add one stamp to the list of stamps
TMemStatCodeInfo & GetCodeInfo(void* address)
  to be documented
void RehashLeak(Int_t newSize)
 Rehash leak pointers.
void * AddPointer(size_t size, void* ptr = 0)
 Add pointer to table.
void FreePointer(void* p)
 Free pointer.
void DumpTo(TMemStatManager::EDumpTo _DumpTo, Bool_t _clearStamps = kTRUE, const char* _stampName = 0)
write current status to file
TMemStatManager(const TMemStatManager& )
void SetAutoStamp(UInt_t sizeMem, UInt_t n, UInt_t max)
UInt_t GetCodeInfoIndex(void* address)
void SetUseGNUBuildinBacktrace(Bool_t _NewVal)
void FreeHashtable()

Author: D.Bertini and M.Ivanov 18/06/2007 -- Anar Manafov (A.Manafov@gsi.de) 28/04/2008
Last change: root/memstat:$Name$:$Id: TMemStatManager.h 24366 2008-06-19 09:50:29Z anar $
Last generated: 2008-06-25 08:49
Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.