Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::TraceMngPolicy Class Reference

Management of trace behavior. More...

Inheritance diagram for Arcane::TraceMngPolicy:
Collaboration diagram for Arcane::TraceMngPolicy:

Public Member Functions

 TraceMngPolicy (IApplication *app)
void build () override
 Constructs the instance.
void initializeTraceMng (ITraceMng *trace, Int32 rank) override
 Initializes trace.
void initializeTraceMng (ITraceMng *trace, ITraceMng *parent_trace, const String &file_suffix) override
 Initializes trace with information from the parent parent_trace.
void setClassConfigFromXmlBuffer (ITraceMng *trace, ByteConstArrayView bytes) override
 Sets the values of the TraceClassConfig of trace via the data contained in bytes.
void setIsParallel (bool v) override
 Indicates if parallelism is active.
bool isParallel () const override
void setIsDebug (bool v) override
 Indicates if debug outputs are active.
bool isDebug () const override
void setIsParallelOutput (bool v) override
 Indicates if all ranks output traces to a file in parallel.
bool isParallelOutput () const override
void setStandardOutputVerbosityLevel (Int32 level) override
 Verbosity level for the standard output stream (stdout).
Int32 standardOutputVerbosityLevel () const override
void setVerbosityLevel (Int32 level) override
 Verbosity level.
Int32 verbosityLevel () const override
void setIsMasterHasOutputFile (bool active) override
 Indicates if a master ITraceMng outputs traces to a file in addition to standard output.
bool isMasterHasOutputFile () const override
void setDefaultVerboseLevel (ITraceMng *trace, Int32 minimal_level) override
void setDefaultClassConfigXmlBuffer (ByteConstSpan bytes) override

Private Member Functions

ITraceStream_getFile (const String &rank)
void _initializeTraceClasses (ITraceMng *trace)
void _setAllTraceClassConfig (ITraceMng *trace, ByteConstArrayView bytes, bool do_log)
void _setAllTraceClassConfig (ITraceMng *trace, XmlNode root_element, bool do_log)
void _setAllTraceClassConfig (ITraceMng *trace, IXmlDocumentHolder *doc, bool do_log)
void _initializeTraceMng (ITraceMng *trace, bool is_master, const String &rank_str)

Private Attributes

IApplicationm_application
bool m_is_parallel
bool m_is_debug
bool m_is_master_has_output_file
Int32 m_stdout_verbosity_level
Int32 m_verbosity_level
std::map< String, Arccore::ReferenceCounter< ITraceStream > > m_output_files
String m_output_file_prefix
bool m_is_parallel_output
ScopedPtrT< IXmlDocumentHolderm_default_config_doc
std::mutex m_init_mutex
std::mutex m_getfile_mutex

Detailed Description

Management of trace behavior.

Warning
Instances of this class are created before the ITraceMngs. Therefore, m_application->traceMng() should not be used except when calling setDefaultClassConfigXmlBuffer().

Definition at line 53 of file TraceMngPolicy.cc.

Constructor & Destructor Documentation

◆ TraceMngPolicy()

Arcane::TraceMngPolicy::TraceMngPolicy ( IApplication * app)
inline

Definition at line 58 of file TraceMngPolicy.cc.

◆ ~TraceMngPolicy()

Arcane::TraceMngPolicy::~TraceMngPolicy ( )
inline

Definition at line 71 of file TraceMngPolicy.cc.

Member Function Documentation

◆ _getFile()

ITraceStream * Arcane::TraceMngPolicy::_getFile ( const String & rank)
private

Definition at line 234 of file TraceMngPolicy.cc.

◆ _initializeTraceClasses()

void Arcane::TraceMngPolicy::_initializeTraceClasses ( ITraceMng * trace)
private

Definition at line 259 of file TraceMngPolicy.cc.

◆ _initializeTraceMng()

void Arcane::TraceMngPolicy::_initializeTraceMng ( ITraceMng * trace,
bool is_master,
const String & rank_str )
private

Definition at line 142 of file TraceMngPolicy.cc.

◆ _setAllTraceClassConfig() [1/3]

void Arcane::TraceMngPolicy::_setAllTraceClassConfig ( ITraceMng * trace,
ByteConstArrayView bytes,
bool do_log )
private

Definition at line 268 of file TraceMngPolicy.cc.

◆ _setAllTraceClassConfig() [2/3]

void Arcane::TraceMngPolicy::_setAllTraceClassConfig ( ITraceMng * trace,
IXmlDocumentHolder * doc,
bool do_log )
private

Definition at line 284 of file TraceMngPolicy.cc.

◆ _setAllTraceClassConfig() [3/3]

void Arcane::TraceMngPolicy::_setAllTraceClassConfig ( ITraceMng * trace,
XmlNode root_element,
bool do_log )
private

Definition at line 301 of file TraceMngPolicy.cc.

◆ build()

void Arcane::TraceMngPolicy::build ( )
inlineoverridevirtual

Constructs the instance.

Implements Arcane::ITraceMngPolicy.

Definition at line 75 of file TraceMngPolicy.cc.

◆ initializeTraceMng() [1/2]

void Arcane::TraceMngPolicy::initializeTraceMng ( ITraceMng * trace,
Int32 rank )
overridevirtual

Initializes trace.

If rank is 0, then trace is considered the master ITraceMng. In case of listing output, the suffix will have the value rank.

Implements Arcane::ITraceMngPolicy.

Definition at line 133 of file TraceMngPolicy.cc.

◆ initializeTraceMng() [2/2]

void Arcane::TraceMngPolicy::initializeTraceMng ( ITraceMng * trace,
ITraceMng * parent_trace,
const String & file_suffix )
overridevirtual

Initializes trace with information from the parent parent_trace.

If file outputs are enabled, trace will output its information into a file suffixed by file_suffix. parent_trace may be null.

Implements Arcane::ITraceMngPolicy.

Definition at line 177 of file TraceMngPolicy.cc.

References Arcane::ITraceMng::setStandardOutputVerbosityLevel(), Arcane::ITraceMng::setVerbosityLevel(), Arcane::ITraceMng::standardOutputVerbosityLevel(), and Arcane::ITraceMng::verbosityLevel().

Here is the call graph for this function:

◆ isDebug()

bool Arcane::TraceMngPolicy::isDebug ( ) const
inlineoverridevirtual

Implements Arcane::ITraceMngPolicy.

Definition at line 82 of file TraceMngPolicy.cc.

◆ isMasterHasOutputFile()

bool Arcane::TraceMngPolicy::isMasterHasOutputFile ( ) const
inlineoverridevirtual

Implements Arcane::ITraceMngPolicy.

Definition at line 90 of file TraceMngPolicy.cc.

◆ isParallel()

bool Arcane::TraceMngPolicy::isParallel ( ) const
inlineoverridevirtual

Implements Arcane::ITraceMngPolicy.

Definition at line 80 of file TraceMngPolicy.cc.

◆ isParallelOutput()

bool Arcane::TraceMngPolicy::isParallelOutput ( ) const
inlineoverridevirtual

Implements Arcane::ITraceMngPolicy.

Definition at line 84 of file TraceMngPolicy.cc.

◆ setClassConfigFromXmlBuffer()

void Arcane::TraceMngPolicy::setClassConfigFromXmlBuffer ( ITraceMng * trace,
ByteConstArrayView bytes )
overridevirtual

Sets the values of the TraceClassConfig of trace via the data contained in bytes.

bytes is a buffer containing a character string in XML format as described in the documentation arcanedoc_execution_traces.

The instances of TraceClassConfig of trace already registered before calling this method are deleted.

Implements Arcane::ITraceMngPolicy.

Definition at line 210 of file TraceMngPolicy.cc.

◆ setDefaultClassConfigXmlBuffer()

void Arcane::TraceMngPolicy::setDefaultClassConfigXmlBuffer ( ByteConstSpan bytes)
overridevirtual

Implements Arcane::ITraceMngPolicy.

Definition at line 219 of file TraceMngPolicy.cc.

◆ setDefaultVerboseLevel()

void Arcane::TraceMngPolicy::setDefaultVerboseLevel ( ITraceMng * trace,
Int32 minimal_level )
overridevirtual

Sets the default verbosity level.

Sets the verbosity levels for trace to the level minimal_level. If the verbosity level is already higher than minimal_level, nothing is done. If minimal_level equals Arccore::Trace::UNSPECIFIED_VERBOSITY_LEVEL, it resets the verbosity level to that specified by verbosityLevel() and standardOutputVerbosityLevel().

Implements Arcane::ITraceMngPolicy.

Definition at line 190 of file TraceMngPolicy.cc.

References Arcane::ITraceMng::setStandardOutputVerbosityLevel(), and Arcane::ITraceMng::setVerbosityLevel().

Here is the call graph for this function:

◆ setIsDebug()

void Arcane::TraceMngPolicy::setIsDebug ( bool v)
inlineoverridevirtual

Indicates if debug outputs are active.

This property is set by the application during initialization.

Implements Arcane::ITraceMngPolicy.

Definition at line 81 of file TraceMngPolicy.cc.

◆ setIsMasterHasOutputFile()

void Arcane::TraceMngPolicy::setIsMasterHasOutputFile ( bool active)
inlineoverridevirtual

Indicates if a master ITraceMng outputs traces to a file in addition to standard output.

This property defaults to false.

Implements Arcane::ITraceMngPolicy.

Definition at line 89 of file TraceMngPolicy.cc.

◆ setIsParallel()

void Arcane::TraceMngPolicy::setIsParallel ( bool v)
inlineoverridevirtual

Indicates if parallelism is active.

This property is set by the application during initialization.

Implements Arcane::ITraceMngPolicy.

Definition at line 79 of file TraceMngPolicy.cc.

◆ setIsParallelOutput()

void Arcane::TraceMngPolicy::setIsParallelOutput ( bool v)
inlineoverridevirtual

Indicates if all ranks output traces to a file in parallel.

Implements Arcane::ITraceMngPolicy.

Definition at line 83 of file TraceMngPolicy.cc.

◆ setStandardOutputVerbosityLevel()

void Arcane::TraceMngPolicy::setStandardOutputVerbosityLevel ( Int32 level)
inlineoverridevirtual

Verbosity level for the standard output stream (stdout).

This property is used when calling initializeTraceMng() to set the verbosity level of standard outputs.

Implements Arcane::ITraceMngPolicy.

Definition at line 85 of file TraceMngPolicy.cc.

◆ setVerbosityLevel()

void Arcane::TraceMngPolicy::setVerbosityLevel ( Int32 level)
inlineoverridevirtual

Verbosity level.

This property is used when calling initializeTraceMng() to set the verbosity level.

Implements Arcane::ITraceMngPolicy.

Definition at line 87 of file TraceMngPolicy.cc.

◆ standardOutputVerbosityLevel()

Int32 Arcane::TraceMngPolicy::standardOutputVerbosityLevel ( ) const
inlineoverridevirtual

Implements Arcane::ITraceMngPolicy.

Definition at line 86 of file TraceMngPolicy.cc.

◆ verbosityLevel()

Int32 Arcane::TraceMngPolicy::verbosityLevel ( ) const
inlineoverridevirtual

Implements Arcane::ITraceMngPolicy.

Definition at line 88 of file TraceMngPolicy.cc.

Member Data Documentation

◆ m_application

IApplication* Arcane::TraceMngPolicy::m_application
private

Definition at line 96 of file TraceMngPolicy.cc.

◆ m_default_config_doc

ScopedPtrT<IXmlDocumentHolder> Arcane::TraceMngPolicy::m_default_config_doc
private

Definition at line 105 of file TraceMngPolicy.cc.

◆ m_getfile_mutex

std::mutex Arcane::TraceMngPolicy::m_getfile_mutex
private

Definition at line 107 of file TraceMngPolicy.cc.

◆ m_init_mutex

std::mutex Arcane::TraceMngPolicy::m_init_mutex
private

Definition at line 106 of file TraceMngPolicy.cc.

◆ m_is_debug

bool Arcane::TraceMngPolicy::m_is_debug
private

Definition at line 98 of file TraceMngPolicy.cc.

◆ m_is_master_has_output_file

bool Arcane::TraceMngPolicy::m_is_master_has_output_file
private

Definition at line 99 of file TraceMngPolicy.cc.

◆ m_is_parallel

bool Arcane::TraceMngPolicy::m_is_parallel
private

Definition at line 97 of file TraceMngPolicy.cc.

◆ m_is_parallel_output

bool Arcane::TraceMngPolicy::m_is_parallel_output
private

Definition at line 104 of file TraceMngPolicy.cc.

◆ m_output_file_prefix

String Arcane::TraceMngPolicy::m_output_file_prefix
private

Definition at line 103 of file TraceMngPolicy.cc.

◆ m_output_files

std::map<String, Arccore::ReferenceCounter<ITraceStream> > Arcane::TraceMngPolicy::m_output_files
private

Definition at line 102 of file TraceMngPolicy.cc.

◆ m_stdout_verbosity_level

Int32 Arcane::TraceMngPolicy::m_stdout_verbosity_level
private

Definition at line 100 of file TraceMngPolicy.cc.

◆ m_verbosity_level

Int32 Arcane::TraceMngPolicy::m_verbosity_level
private

Definition at line 101 of file TraceMngPolicy.cc.


The documentation for this class was generated from the following file: