14#include "arcane/utils/PlatformUtils.h"
15#include "arcane/utils/String.h"
16#include "arcane/utils/TraceInfo.h"
17#include "arcane/utils/FatalErrorException.h"
18#include "arcane/utils/ITraceMng.h"
19#include "arcane/utils/Iostream.h"
21#include "arcane/core/Timer.h"
22#include "arcane/core/ISubDomain.h"
23#include "arcane/core/ITimerMng.h"
24#include "arcane/core/ITimeStats.h"
26#include "arccore/trace/internal/TimeMetric.h"
124 m_stats->beginAction(m_action_name);
131Action(ISubDomain* sub_domain,
const String& action_name,
bool print_time)
133, m_action_name(action_name)
134, m_print_time(print_time)
137 m_stats = sub_domain->timeStats();
147, m_action_name(action_name)
148, m_print_time(print_time)
160 m_stats->endAction(m_action_name,m_print_time);
173 if (!m_stats->isGathering())
176 m_stats->beginPhase(m_phase_type);
188 m_stats = sub_domain->timeStats();
210 m_stats->endPhase(m_phase_type);
219Timer::SimplePrinter::
220SimplePrinter(ITraceMng* tm,
const String& msg)
232Timer::SimplePrinter::
236, m_is_active(is_active)
245Timer::SimplePrinter::
250 Real diff_time = end_time - m_begin_time;
251 m_trace_mng->info() << m_message <<
" time=" << diff_time;
258void Timer::SimplePrinter::
268TimeMetricAction Timer::
271 ITimeMetricCollector* c =
nullptr;
273 c = s->metricCollector();
275 return TimeMetricAction();
276 return TimeMetricAction(c,TimeMetricActionBuildInfo(String(),phase));
#define ARCANE_FATAL(...)
Macro envoyant une exception FatalErrorException.
Interface du gestionnaire d'un sous-domaine.
Interface gérant les statistiques sur les temps d'exécution.
virtual bool isGathering() const =0
Indique si les statistiques sont actives.
Interface d'un gestionnaire de timer.
Interface du gestionnaire de traces.
Chaîne de caractères unicode.
ITimeStats * m_stats
Gestionnaire de sous-domaine.
const String & name() const
Retourne le nom du timer.
eTimerType m_type
Type du timer.
Real m_activation_time
Temps passé lors de la dernière activation.
Integer m_nb_activated
Nombre de fois que le timer a été activé
String m_name
Nom du timer.
ITimerMng * timerMng() const
Gestionnaire associé à ce timer.
Real stop()
Désactive le timer.
~Timer()
Libère les ressources.
ITimerMng * m_timer_mng
Gestionnaire de timer.
eTimerType type() const
Retourne le type du temps utilisé
Timer(ISubDomain *sd, const String &name, eTimerType type)
Construit un timer.
void reset()
Remet à zéro les compteurs de temps.
Real m_start_time
Temps du début de la dernière activation.
bool m_is_activated
true si le timer est actif
void start()
Active le timer.
Real m_total_time
Temps total passé dans le timer.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
double Real
Type représentant un réel.
eTimePhase
Phase d'une action temporelle.