12#ifndef ARCCORE_TRACE_TIMEMETRIC_H
13#define ARCCORE_TRACE_TIMEMETRIC_H
17#include "arccore/trace/TraceGlobal.h"
18#include "arccore/trace/ITimeMetricCollector.h"
19#include "arccore/base/String.h"
48 : m_name(name), m_phase(-1){}
50 : m_name(name), m_phase(phase){}
52 const String& name()
const {
return m_name; }
53 int phase()
const {
return m_phase; }
66 : m_collector(
nullptr), m_phase(-1) {}
68 : m_collector(c), m_name(x.name()), m_phase(x.phase()){}
71 const String& name()
const {
return m_name; }
72 int phase()
const {
return m_phase; }
87 : m_action(action), m_id(
id){}
89 Int64 id()
const {
return m_id; }
105 : m_collector(rhs.m_collector), m_id(rhs.m_id)
108 rhs.m_collector =
nullptr;
111 : m_collector(action.collector())
114 m_id = m_collector->beginAction(action);
119 m_collector->endAction(m_id);
154extern "C++" ARCCORE_TRACE_EXPORT TimeMetricAction
155timeMetricPhaseMessagePassing(ITimeMetricCollector* c);
156extern "C++" ARCCORE_TRACE_EXPORT TimeMetricAction
157timeMetricPhaseInputOutput(ITimeMetricCollector* c);
158extern "C++" ARCCORE_TRACE_EXPORT TimeMetricAction
159timeMetricPhaseComputation(ITimeMetricCollector* c);
Interface gérant les statistiques sur l'exécution.
s standards pour les phases temporelles.
const TimeMetricAction & inputOutputPhase() const
Action pour indiquer qu'on est dans une phase d'entrée-sortie.
const TimeMetricAction & computationPhase() const
Action pour indiquer qu'on est dans une phase de calcul.
const TimeMetricAction & messagePassingPhase() const
Action pour indiquer qu'on est dans une phase d'échange de message.
Chaîne de caractères unicode.
Sentinelle pour collecter les informations temporelles.
Espace de nom de Arccore.
std::int64_t Int64
Type entier signé sur 64 bits.
TimeMetricPhase
Catégories standards pour les phases temporelles.