12#ifndef ARCANE_IMPL_TIMESTATS_H
13#define ARCANE_IMPL_TIMESTATS_H
17#include "arcane/utils/List.h"
18#include "arcane/utils/TraceAccessor.h"
19#include "arcane/utils/FixedArray.h"
21#include "arcane/core/ITimeStats.h"
57 static const Integer TC_Local = 0;
58 static const Integer TC_Cumulative = 1;
78 m_time[i][TC_Local] += phase.m_time[i][TC_Local];
141 void resetStats(
const String& name)
override;
146 Timer* m_virtual_timer =
nullptr;
147 Timer* m_real_timer =
nullptr;
148 bool m_is_gathering =
false;
154 Action* m_main_action =
nullptr;
155 Action* m_current_action =
nullptr;
156 std::stack<eTimePhase> m_phases_type;
157 bool m_need_compute_elapsed_time =
false;
158 std::ostringstream m_full_stats_str;
159 bool m_full_stats =
false;
167 void _checkGathering();
168 void _computeCumulativeTimes();
170 void _dumpAllPhases(std::ostream&
ostr,
Action& action,eTimeType
tt,
int tc,Real nb);
Interface du gestionnaire de parallélisme pour un sous-domaine.
Interface gérant les statistiques sur les temps d'exécution.
Interface d'un gestionnaire de timer.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Statistiques sur les temps d'exécution.
Real elapsedTime(eTimePhase phase) override
Temps réel écoulé pour la phase phase.
void dumpStats(std::ostream &ostr, bool is_verbose, Real nb, const String &name, bool use_elapsed_time) override
Affiche les statistiques sur les temps d'exécution.
void endGatherStats() override
Arrête la collection des temps.
void dumpCurrentStats(const String &action) override
Affiche les statistiques d'une action.
ActionSeries * m_previous_action_series
Statistiques sur les exécutions précédentes.
bool isGathering() const override
Indique si les statistiques sont actives.
void dumpStatsJSON(JSONWriter &writer) override
Sérialise dans l'écrivain writer les statistiques temporelles.
ITimeMetricCollector * metricCollector() override
Interface de collection associée.
void notifyNewIterationLoop() override
Notifie qu'on commence une nouvelle itération de la boucle de calcul.
static const Integer NB_TIME_TYPE
Nombre de valeurs de eTimeType.
void beginGatherStats() override
Démarre la collection des temps.
ActionSeries * m_current_action_series
Statistiques sur l'exécution en cours.
void dumpTimeAndMemoryUsage(IParallelMng *pm) override
Affiche la date actuelle et la mémoire consommée.
Interface gérant les statistiques sur l'exécution.
Interface du gestionnaire de traces.
Chaîne de caractères unicode.
Classe d'accès aux traces.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eTimePhase
Phase d'une action temporelle.