Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::MemoryInfo

Collecteur d'informations sur l'usage mémoire. Plus de détails...

#include <arcane/utils/MemoryInfo.h>

+ Graphe d'héritage de Arcane::MemoryInfo:
+ Graphe de collaboration de Arcane::MemoryInfo:

Classes

class  MemoryInfoSorter
 
class  TracePrinter
 

Fonctions membres publiques

virtual void createOwner (const void *owner, const TraceInfo &trace_info)
 Crée une référence sur owner avec les infos de trace trace_info.
 
virtual void setOwner (const void *owner, const TraceInfo &new_info)
 Modifie les infos de la référence owner.
 
virtual void removeOwner (const void *owner)
 Supprime la référence sur owner.
 
virtual void addInfo (const void *owner, const void *ptr, Int64 size)
 
virtual void addInfo (const void *owner, const void *ptr, Int64 size, const void *old_ptr)
 
virtual void removeInfo (const void *owner, const void *ptr, bool can_fail)
 
virtual void changeOwner (const void *new_owner, const void *ptr)
 
virtual void printInfos (std::ostream &ostr)
 
virtual void setIteration (Integer iteration)
 Positionne le numéro de l'itération courante.
 
virtual void printAllocatedMemory (std::ostream &ostr, Integer iteration)
 
virtual void setTraceMng (ITraceMng *trace)
 Positionne le ITraceMng pour les messages.
 
virtual void beginCollect ()
 
virtual void endCollect ()
 
virtual bool isCollecting () const
 
virtual void setKeepStackTrace (bool is_active)
 Indique si on active la sauvegarde de la pile d'appel.
 
virtual bool keepStackTrace () const
 Indique si la sauvegarde de la pile d'appel est activée.
 
virtual void setStackTraceMinAllocSize (Int64 alloc_size)
 Positionne la taille minimale des allocations dont on trace la pile d'appel.
 
virtual Int64 stackTraceMinAllocSize () const
 Taille minimale des allocations dont on trace la pile d'appel.
 
virtual void visitAllocatedBlocks (IFunctorWithArgumentT< const MemoryInfoChunk & > *functor) const
 Visiteur sur l'ensemble des blocs alloués.
 
virtual Int64 nbAllocation () const
 
void checkMemory (const void *owner, Int64 size)
 
- Fonctions membres publiques hérités de Arcane::IMemoryInfo
virtual ~IMemoryInfo ()
 Libère les ressources.
 

Types privés

typedef std::map< const void *, MemoryInfoChunkMemoryInfoMap
 
typedef std::map< const void *, TraceInfoMemoryTraceInfoMap
 

Fonctions membres privées

void _removeOwner (const void *owner)
 
void _addMemory (const void *owner, Int64 size, const String &stack_value)
 
void _removeMemory (const void *owner, Int64 size)
 
TraceInfo_getTraceInfo (const void *owner)
 
void _printInfos (std::ostream &ostr)
 

Attributs privés

MemoryInfoMap m_infos
 
MemoryTraceInfoMap m_owner_infos
 
Int64 m_alloc_id
 
Int64 m_max_allocated
 
Int64 m_current_allocated
 
Int64 m_biggest_allocated
 
Int64 m_info_big_alloc
 
Int64 m_info_biggest_minimal
 
Int64 m_info_peak_minimal
 
Integer m_iteration
 
ITraceMngm_trace
 
bool m_display_max_alloc
 
bool m_in_display
 
bool m_is_first_collect
 
bool m_is_stack_trace_active
 

Description détaillée

Collecteur d'informations sur l'usage mémoire.

Définition à la ligne 33 du fichier MemoryInfo.h.

Documentation des définitions de type membres

◆ MemoryInfoMap

typedef std::map<const void*,MemoryInfoChunk> Arcane::MemoryInfo::MemoryInfoMap
private

Définition à la ligne 93 du fichier MemoryInfo.h.

◆ MemoryTraceInfoMap

typedef std::map<const void*,TraceInfo> Arcane::MemoryInfo::MemoryTraceInfoMap
private

Définition à la ligne 94 du fichier MemoryInfo.h.

Documentation des constructeurs et destructeur

◆ MemoryInfo()

Arcane::MemoryInfo::MemoryInfo ( )

Définition à la ligne 187 du fichier MemoryInfo.cc.

◆ ~MemoryInfo()

Arcane::MemoryInfo::~MemoryInfo ( )
virtual

Définition à la ligne 208 du fichier MemoryInfo.cc.

Documentation des fonctions membres

◆ _getTraceInfo()

TraceInfo * Arcane::MemoryInfo::_getTraceInfo ( const void owner)
private

Définition à la ligne 616 du fichier MemoryInfo.cc.

◆ _printInfos()

void Arcane::MemoryInfo::_printInfos ( std::ostream &  ostr)
private

Définition à la ligne 433 du fichier MemoryInfo.cc.

◆ _removeMemory()

void Arcane::MemoryInfo::_removeMemory ( const void owner,
Int64  size 
)
private

Définition à la ligne 607 du fichier MemoryInfo.cc.

◆ _removeOwner()

void Arcane::MemoryInfo::_removeOwner ( const void owner)
private

Définition à la ligne 312 du fichier MemoryInfo.cc.

◆ addInfo() [1/2]

void Arcane::MemoryInfo::addInfo ( const void owner,
const void ptr,
Int64  size 
)
virtual

Implémente Arcane::IMemoryInfo.

Définition à la ligne 228 du fichier MemoryInfo.cc.

◆ addInfo() [2/2]

void Arcane::MemoryInfo::addInfo ( const void owner,
const void ptr,
Int64  size,
const void old_ptr 
)
virtual

Implémente Arcane::IMemoryInfo.

Définition à la ligne 280 du fichier MemoryInfo.cc.

◆ beginCollect()

void Arcane::MemoryInfo::beginCollect ( )
virtual

Implémente Arcane::IMemoryInfo.

Définition à la ligne 516 du fichier MemoryInfo.cc.

◆ changeOwner()

void Arcane::MemoryInfo::changeOwner ( const void new_owner,
const void ptr 
)
virtual

Implémente Arcane::IMemoryInfo.

Définition à la ligne 289 du fichier MemoryInfo.cc.

◆ checkMemory()

void Arcane::MemoryInfo::checkMemory ( const void owner,
Int64  size 
)

Définition à la ligne 558 du fichier MemoryInfo.cc.

◆ createOwner()

void Arcane::MemoryInfo::createOwner ( const void owner,
const TraceInfo trace_info 
)
virtual

Crée une référence sur owner avec les infos de trace trace_info.

Implémente Arcane::IMemoryInfo.

Définition à la ligne 263 du fichier MemoryInfo.cc.

◆ endCollect()

void Arcane::MemoryInfo::endCollect ( )
virtual

Implémente Arcane::IMemoryInfo.

Définition à la ligne 540 du fichier MemoryInfo.cc.

◆ isCollecting()

bool Arcane::MemoryInfo::isCollecting ( ) const
virtual

Implémente Arcane::IMemoryInfo.

Définition à la ligne 549 du fichier MemoryInfo.cc.

◆ keepStackTrace()

virtual bool Arcane::MemoryInfo::keepStackTrace ( ) const
inlinevirtual

Indique si la sauvegarde de la pile d'appel est activée.

Implémente Arcane::IMemoryInfo.

Définition à la ligne 78 du fichier MemoryInfo.h.

◆ nbAllocation()

virtual Int64 Arcane::MemoryInfo::nbAllocation ( ) const
inlinevirtual

Implémente Arcane::IMemoryInfo.

Définition à la ligne 85 du fichier MemoryInfo.h.

◆ printAllocatedMemory()

void Arcane::MemoryInfo::printAllocatedMemory ( std::ostream &  ostr,
Integer  iteration 
)
virtual

Implémente Arcane::IMemoryInfo.

Définition à la ligne 473 du fichier MemoryInfo.cc.

◆ printInfos()

void Arcane::MemoryInfo::printInfos ( std::ostream &  ostr)
virtual

Implémente Arcane::IMemoryInfo.

Définition à la ligne 409 du fichier MemoryInfo.cc.

◆ removeInfo()

void Arcane::MemoryInfo::removeInfo ( const void owner,
const void ptr,
bool  can_fail 
)
virtual

Implémente Arcane::IMemoryInfo.

Définition à la ligne 334 du fichier MemoryInfo.cc.

◆ removeOwner()

void Arcane::MemoryInfo::removeOwner ( const void owner)
virtual

Supprime la référence sur owner.

Implémente Arcane::IMemoryInfo.

Définition à la ligne 325 du fichier MemoryInfo.cc.

◆ setIteration()

virtual void Arcane::MemoryInfo::setIteration ( Integer  iteration)
inlinevirtual

Positionne le numéro de l'itération courante.

Implémente Arcane::IMemoryInfo.

Définition à la ligne 64 du fichier MemoryInfo.h.

◆ setKeepStackTrace()

virtual void Arcane::MemoryInfo::setKeepStackTrace ( bool  is_active)
inlinevirtual

Indique si on active la sauvegarde de la pile d'appel.

Si is_active est vrai, active la trace la pile d'appel des allocations. Le tracage est conditionné à la valeur de stackTraceMinAllocSize().

Implémente Arcane::IMemoryInfo.

Définition à la ligne 77 du fichier MemoryInfo.h.

◆ setOwner()

void Arcane::MemoryInfo::setOwner ( const void owner,
const TraceInfo new_info 
)
virtual

Modifie les infos de la référence owner.

Implémente Arcane::IMemoryInfo.

Définition à la ligne 216 du fichier MemoryInfo.cc.

◆ setStackTraceMinAllocSize()

virtual void Arcane::MemoryInfo::setStackTraceMinAllocSize ( Int64  alloc_size)
inlinevirtual

Positionne la taille minimale des allocations dont on trace la pile d'appel.

Pour toutes les allocations au dessus de alloc_size, la pile d'appel est conservée afin de pouvoir identifier les fuites mémoires. Le cout mémoire et CPU de la conservation d'une pile d'appel est important et il est donc déconseillé de mettre une valeur trop faible (en dessous de 1000) à alloc_size. La conservation de la pile d'appel est désactivée si keepStackTrace() vaut false.

Implémente Arcane::IMemoryInfo.

Définition à la ligne 80 du fichier MemoryInfo.h.

◆ setTraceMng()

void Arcane::MemoryInfo::setTraceMng ( ITraceMng msg)
virtual

Positionne le ITraceMng pour les messages.

Implémente Arcane::IMemoryInfo.

Définition à la ligne 507 du fichier MemoryInfo.cc.

◆ stackTraceMinAllocSize()

virtual Int64 Arcane::MemoryInfo::stackTraceMinAllocSize ( ) const
inlinevirtual

Taille minimale des allocations dont on trace la pile d'appel.

Implémente Arcane::IMemoryInfo.

Définition à la ligne 81 du fichier MemoryInfo.h.

◆ visitAllocatedBlocks()

void Arcane::MemoryInfo::visitAllocatedBlocks ( IFunctorWithArgumentT< const MemoryInfoChunk & > *  functor) const
virtual

Visiteur sur l'ensemble des blocs alloués.

Implémente Arcane::IMemoryInfo.

Définition à la ligne 628 du fichier MemoryInfo.cc.

Documentation des données membres

◆ m_alloc_id

Int64 Arcane::MemoryInfo::m_alloc_id
private

Définition à la ligne 99 du fichier MemoryInfo.h.

◆ m_biggest_allocated

Int64 Arcane::MemoryInfo::m_biggest_allocated
private

Définition à la ligne 102 du fichier MemoryInfo.h.

◆ m_current_allocated

Int64 Arcane::MemoryInfo::m_current_allocated
private

Définition à la ligne 101 du fichier MemoryInfo.h.

◆ m_display_max_alloc

bool Arcane::MemoryInfo::m_display_max_alloc
private

Définition à la ligne 108 du fichier MemoryInfo.h.

◆ m_in_display

bool Arcane::MemoryInfo::m_in_display
private

Définition à la ligne 109 du fichier MemoryInfo.h.

◆ m_info_big_alloc

Int64 Arcane::MemoryInfo::m_info_big_alloc
private

Définition à la ligne 103 du fichier MemoryInfo.h.

◆ m_info_biggest_minimal

Int64 Arcane::MemoryInfo::m_info_biggest_minimal
private

Définition à la ligne 104 du fichier MemoryInfo.h.

◆ m_info_peak_minimal

Int64 Arcane::MemoryInfo::m_info_peak_minimal
private

Définition à la ligne 105 du fichier MemoryInfo.h.

◆ m_infos

MemoryInfoMap Arcane::MemoryInfo::m_infos
private

Définition à la ligne 96 du fichier MemoryInfo.h.

◆ m_is_first_collect

bool Arcane::MemoryInfo::m_is_first_collect
private

Définition à la ligne 110 du fichier MemoryInfo.h.

◆ m_is_stack_trace_active

bool Arcane::MemoryInfo::m_is_stack_trace_active
private

Définition à la ligne 111 du fichier MemoryInfo.h.

◆ m_iteration

Integer Arcane::MemoryInfo::m_iteration
private

Définition à la ligne 106 du fichier MemoryInfo.h.

◆ m_max_allocated

Int64 Arcane::MemoryInfo::m_max_allocated
private

Définition à la ligne 100 du fichier MemoryInfo.h.

◆ m_owner_infos

MemoryTraceInfoMap Arcane::MemoryInfo::m_owner_infos
private

Définition à la ligne 97 du fichier MemoryInfo.h.

◆ m_trace

ITraceMng* Arcane::MemoryInfo::m_trace
private

Définition à la ligne 107 du fichier MemoryInfo.h.


La documentation de cette classe a été générée à partir des fichiers suivants :