ROOT » MISC » MEMSTAT » Memstat::TMemStatMng

class Memstat::TMemStatMng: public TObject

Function Members (Methods)

public:
voidTObject::AbstractMethod(const char* method) const
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
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
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
static Memstat::TMemStatMng*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()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
voidTObject::operator delete(void* ptr)
voidTObject::operator delete(void* ptr, void* vp)
voidTObject::operator delete[](void* ptr)
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)
Memstat::TMemStatMng&operator=(const Memstat::TMemStatMng&)
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)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetBufferSize(Int_t buffersize)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetMaxCalls(Int_t maxcalls)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetUseGNUBuiltinBacktrace(Bool_t newVal)
virtual voidShowMembers(TMemberInspector& insp) const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_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
Memstat::TMemStatMngTMemStatMng(const Memstat::TMemStatMng&)
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:
voidAddPointer(void* ptr, Int_t size)
static void*AllocHook(size_t size, const void*)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidFillTree()
static voidFreeHook(void* ptr, const void*)
Int_tgenerateBTID(UChar_t* CRCdigest, Int_t stackEntries, void** stackPointers)
voidInit()
static voidMacAllocHook(void* ptr, size_t size)
static voidMacFreeHook(void* ptr)
voidTObject::MakeZombie()

Data Members

public:
static TObject::(anonymous)TObject::kBitMask
static TObject::EStatusBitsTObject::kCanDelete
static TObject::EStatusBitsTObject::kCannotPick
static TObject::EStatusBitsTObject::kHasUUID
static TObject::EStatusBitsTObject::kInvalidObject
static TObject::(anonymous)TObject::kIsOnHeap
static TObject::EStatusBitsTObject::kIsReferenced
static TObject::EStatusBitsTObject::kMustCleanup
static TObject::EStatusBitsTObject::kNoContextMenu
static TObject::(anonymous)TObject::kNotDeleted
static TObject::EStatusBitsTObject::kObjInCanvas
static TObject::(anonymous)TObject::kOverwrite
static TObject::(anonymous)TObject::kSingleKey
static TObject::(anonymous)TObject::kWriteDelete
static TObject::(anonymous)TObject::kZombie
protected:
Double_tfBeginTimetime when monitoring starts
Int_tfBtIDback trace identifier
Int_t*fBufBtIDback trace identifier
Int_tfBufNcurrent number of alloc or free in the buffer
Int_t*fBufNBytesnumber of bytes allocated/freed
ULong64_t*fBufPosposition in memory where alloc/free happens
Int_t*fBufTimems10000*(current time - begin time)
Int_tfBufferSizemax number of malloc/free to keep in the buffer
TFile*fDumpFile!file to dump current information
TTree*fDumpTree!tree to dump information
Int_t*fIndexarray to sort fBufPos
Int_tfMaxCallsmax number of malloc/frees to register in the output Tree
Bool_t*fMustWriteflag to write or not the entry
Int_tfNBytesnumber of bytes allocated/freed
ULong64_tfPosposition in memory where alloc/free happens
TMemStatHook::FreeHookFunc_tfPreviousFreeHook!old free function
TMemStatHook::MallocHookFunc_tfPreviousMallocHook!old malloc function
TTimeStampfTimeStamp
Int_tfTimems10000*(current time - begin time)
Bool_tfUseGNUBuiltinBacktrace
static Memstat::TMemStatMng*fgInstancepointer to instance
static void*fgStackTopstack top pointer
private:
Memstat::TMemStatMng::CRCSet_tfBTChecksums
Int_tfBTCount
UInt_tfBTIDCount
Memstat::TMemStatFAddrContainerfFAddrs
TObjArray*fFAddrsList
TH1I*fHbtids
TNamed*fSysInfo

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TMemStatMng()
 Default constructor
void Init()
Initialize MemStat manager - used only by instance method
TMemStatMng* GetInstance()
 GetInstance - a static function
 Initialize a singleton of MemStat manager
void Close()
 Close - a static function
 This method stops the manager,
 flashes all the buffered data and closes the output tree.
~TMemStatMng()
 if an instance is destructed - the hooks are reseted to old hooks
void SetBufferSize(Int_t buffersize)
 Set the maximum number of alloc/free calls to be buffered.
if the alloc and free are in the buffer, the corresponding entries
are not saved tio the Tree, reducing considerably the Tree output size
void SetMaxCalls(Int_t maxcalls)
 Set the maximum number of new/delete registered in the output Tree.
void Enable()
 Enable memory hooks
void Disable()
 Disble memory hooks
void MacAllocHook(void* ptr, size_t size)
 AllocHook - a static function
 a special memory hook for Mac OS X memory zones.
 Triggered when memory is allocated.
void MacFreeHook(void* ptr)
 AllocHook - a static function
 a special memory hook for Mac OS X memory zones.
 Triggered when memory is deallocated.
void * AllocHook(size_t size, const void* )
 AllocHook - a static function
 A glibc memory allocation hook.
void FreeHook(void* ptr, const void* )
 FreeHook - a static function
 A glibc memory deallocation hook.
Int_t generateBTID(UChar_t* CRCdigest, Int_t stackEntries, void** stackPointers)
 An internal function, which returns a bitid for a corresponding CRC digest
 cache variables
void AddPointer(void* ptr, Int_t size)
 Add pointer to table.
 This method is called every time when any of the hooks are triggered.
 The memory de-/allocation information will is recorded.
void FillTree()
loop on all entries in the buffer and fill the output Tree
entries with alloc and free in the buffer are eliminated
TMemStatMng()
void SetUseGNUBuiltinBacktrace(Bool_t newVal)
stack data members