Statistiques sur les temps d'exécution. Plus de détails...
#include <arcane/impl/TimeStats.h>
Classes | |
class | Action |
Action. Plus de détails... | |
class | ActionSeries |
Série d'actions. Plus de détails... | |
class | MetricCollector |
class | PhaseValue |
struct | TimeValue |
Types publics | |
enum | eTimeType { TT_Real = 0 , TT_Virtual } |
using | ActionList = List< Action * > |
Fonctions membres publiques | |
TimeStats (ITimerMng *timer_mng, ITraceMng *trm, const String &name) | |
TimeStats (const TimeStats &rhs)=delete | |
TimeStats & | operator= (const TimeStats &rhs)=delete |
void | beginGatherStats () override |
Démarre la collection des temps. | |
void | endGatherStats () override |
Arrête la collection des temps. | |
void | beginAction (const String &action_name) override |
void | endAction (const String &action_name, bool print_time) override |
void | beginPhase (eTimePhase phase_type) override |
void | endPhase (eTimePhase phase_type) override |
Real | elapsedTime (eTimePhase phase) override |
Temps réel écoulé pour la phase phase. | |
Real | elapsedTime (eTimePhase phase, const String &action) override |
Temps écoulé pour une phase d'une action. | |
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 | dumpCurrentStats (const String &action) override |
Affiche les statistiques d'une action. | |
void | dumpTimeAndMemoryUsage (IParallelMng *pm) override |
Affiche la date actuelle et la mémoire consommée. | |
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. | |
void | saveTimeValues (Properties *p) override |
void | mergeTimeValues (Properties *p) override |
void | resetStats (const String &name) override |
Fonctions membres publiques hérités de Arccore::TraceAccessor | |
TraceAccessor (ITraceMng *m) | |
Construit un accesseur via le gestionnaire de trace m. | |
TraceAccessor (const TraceAccessor &rhs) | |
Constructeur par recopie. | |
TraceAccessor & | operator= (const TraceAccessor &rhs) |
Opérateur de recopie. | |
virtual | ~TraceAccessor () |
Libère les ressources. | |
ITraceMng * | traceMng () const |
Gestionnaire de trace. | |
TraceMessage | info () const |
Flot pour un message d'information. | |
TraceMessage | pinfo () const |
Flot pour un message d'information en parallèle. | |
TraceMessage | info (char category) const |
Flot pour un message d'information d'une catégorie donnée. | |
TraceMessage | pinfo (char category) const |
Flot pour un message d'information parallèle d'une catégorie donnée. | |
TraceMessage | info (bool v) const |
Flot pour un message d'information. | |
TraceMessage | warning () const |
Flot pour un message d'avertissement. | |
TraceMessage | pwarning () const |
TraceMessage | error () const |
Flot pour un message d'erreur. | |
TraceMessage | perror () const |
TraceMessage | log () const |
Flot pour un message de log. | |
TraceMessage | plog () const |
Flot pour un message de log. | |
TraceMessage | logdate () const |
Flot pour un message de log précédé de la date. | |
TraceMessage | fatal () const |
Flot pour un message d'erreur fatale. | |
TraceMessage | pfatal () const |
Flot pour un message d'erreur fatale en parallèle. | |
TraceMessageDbg | debug (Trace::eDebugLevel=Trace::Medium) const |
Flot pour un message de debug. | |
Trace::eDebugLevel | configDbgLevel () const |
Niveau debug du fichier de configuration. | |
TraceMessage | info (Int32 verbose_level) const |
Flot pour un message d'information d'un niveau donné | |
TraceMessage | linfo () const |
Flot pour un message d'information avec le niveau d'information local à cette instance. | |
TraceMessage | linfo (Int32 relative_level) const |
Flot pour un message d'information avec le niveau d'information local à cette instance. | |
void | fatalMessage (const StandaloneTraceMessage &o) const |
Attributs publics statiques | |
static const Integer | NB_TIME_TYPE = 2 |
Nombre de valeurs de eTimeType. | |
static const Integer | TC_Local = 0 |
static const Integer | TC_Cumulative = 1 |
Fonctions membres privées | |
Action * | _currentAction () |
PhaseValue | _currentPhaseValue () |
void | _checkGathering () |
void | _computeCumulativeTimes () |
void | _dumpCumulativeTime (std::ostream &ostr, Action &action, eTimePhase tp, eTimeType tt) |
void | _dumpAllPhases (std::ostream &ostr, Action &action, eTimeType tt, int tc, Real nb) |
Attributs privés | |
ITimerMng * | m_timer_mng = nullptr |
Timer * | m_virtual_timer = nullptr |
Timer * | m_real_timer = nullptr |
bool | m_is_gathering = false |
PhaseValue | m_current_phase |
ActionSeries * | m_current_action_series = nullptr |
Statistiques sur l'exécution en cours. | |
ActionSeries * | m_previous_action_series = nullptr |
Statistiques sur les exécutions précédentes. | |
Action * | m_main_action = nullptr |
Action * | m_current_action = nullptr |
std::stack< eTimePhase > | m_phases_type |
bool | m_need_compute_elapsed_time = false |
std::ostringstream | m_full_stats_str |
bool | m_full_stats = false |
String | m_name |
ITimeMetricCollector * | m_metric_collector = nullptr |
Membres hérités additionnels | |
Fonctions membres protégées hérités de Arccore::TraceAccessor | |
void | _setLocalVerboseLevel (Int32 v) |
Int32 | _localVerboseLevel () const |
Statistiques sur les temps d'exécution.
Définition à la ligne 36 du fichier TimeStats.h.
Définition à la ligne 46 du fichier TimeStats.h.
enum Arcane::TimeStats::eTimeType |
Définition à la ligne 48 du fichier TimeStats.h.
Définition à la ligne 232 du fichier TimeStats.cc.
|
override |
Définition à la ligne 256 du fichier TimeStats.cc.
|
private |
Définition à la ligne 791 du fichier TimeStats.cc.
|
private |
Définition à la ligne 616 du fichier TimeStats.cc.
|
private |
Définition à la ligne 756 du fichier TimeStats.cc.
|
private |
Définition à la ligne 767 du fichier TimeStats.cc.
|
private |
Définition à la ligne 649 du fichier TimeStats.cc.
Implémente Arcane::ITimeStats.
Définition à la ligne 330 du fichier TimeStats.cc.
|
overridevirtual |
Démarre la collection des temps.
Implémente Arcane::ITimeStats.
Définition à la ligne 271 du fichier TimeStats.cc.
Références ARCANE_FATAL, Arcane::Timer::start(), Arcane::Timer::TimerReal, et Arcane::Timer::TimerVirtual.
|
overridevirtual |
Implémente Arcane::ITimeStats.
Définition à la ligne 367 du fichier TimeStats.cc.
Affiche les statistiques d'une action.
Affiche les statistiques de l'action name ainsi que ces sous-actions pour l'itération courante.
Implémente Arcane::ITimeStats.
Définition à la ligne 508 du fichier TimeStats.cc.
Références Arccore::TraceAccessor::info().
|
overridevirtual |
Affiche les statistiques sur les temps d'exécution.
Il est possible de spécifier une valeur pour avoir un temps par itération ou par entité. Si use_elapsed_time est vrai, utilise le temps horloge, sinon utilise le temps CPU.
Implémente Arcane::ITimeStats.
Définition à la ligne 490 du fichier TimeStats.cc.
Références m_current_action_series, et m_previous_action_series.
|
overridevirtual |
Sérialise dans l'écrivain writer les statistiques temporelles.
Implémente Arcane::ITimeStats.
Définition à la ligne 822 du fichier TimeStats.cc.
Références m_current_action_series, et m_previous_action_series.
|
overridevirtual |
Affiche la date actuelle et la mémoire consommée.
Cette opération est collective sur pm.
Cette opération affiche la mémoire consommée pour le sous-domaine courant ainsi que le min et le max pour tous les sous-domaines.
Implémente Arcane::ITimeStats.
Définition à la ligne 813 du fichier TimeStats.cc.
Références Arcane::MessagePassing::dumpDateAndMemoryUsage(), et Arccore::TraceAccessor::traceMng().
|
overridevirtual |
Temps réel écoulé pour la phase phase.
Retourne le temps réel écoulé (en seconde) pour la phase phase.
Implémente Arcane::ITimeStats.
Définition à la ligne 398 du fichier TimeStats.cc.
|
overridevirtual |
Temps écoulé pour une phase d'une action.
Retourne le temps réel écoulé (en seconde) pour la phase phase de l'action action. Le temps retourné est celui de l'action et de chacune de ses filles.
Implémente Arcane::ITimeStats.
Définition à la ligne 408 du fichier TimeStats.cc.
Références Arccore::TraceAccessor::info().
Implémente Arcane::ITimeStats.
Définition à la ligne 346 du fichier TimeStats.cc.
|
overridevirtual |
Arrête la collection des temps.
Implémente Arcane::ITimeStats.
Définition à la ligne 295 du fichier TimeStats.cc.
Références Arccore::String::localstr(), et Arcane::Timer::stop().
|
overridevirtual |
Implémente Arcane::ITimeStats.
Définition à la ligne 380 du fichier TimeStats.cc.
|
overridevirtual |
Indique si les statistiques sont actives.
Les statistiques sont actives entre l'appel à beginGatherStats() et endGatherStats().
Implémente Arcane::ITimeStats.
Définition à la ligne 803 du fichier TimeStats.cc.
|
overridevirtual |
Implémente Arcane::ITimeStats.
Définition à la ligne 1006 du fichier TimeStats.cc.
|
overridevirtual |
Interface de collection associée.
Implémente Arcane::ITimeStats.
Définition à la ligne 974 du fichier TimeStats.cc.
|
overridevirtual |
Notifie qu'on commence une nouvelle itération de la boucle de calcul.
Cette information est utilisée pour calculer les temps par itération.
Implémente Arcane::ITimeStats.
Définition à la ligne 1038 du fichier TimeStats.cc.
Références m_current_action_series.
Implémente Arcane::ITimeStats.
Définition à la ligne 526 du fichier TimeStats.cc.
|
overridevirtual |
Implémente Arcane::ITimeStats.
Définition à la ligne 983 du fichier TimeStats.cc.
Définition à la ligne 155 du fichier TimeStats.h.
|
private |
Statistiques sur l'exécution en cours.
Définition à la ligne 151 du fichier TimeStats.h.
Référencé par dumpStats(), dumpStatsJSON(), et notifyNewIterationLoop().
|
private |
Définition à la ligne 149 du fichier TimeStats.h.
Définition à la ligne 159 du fichier TimeStats.h.
|
private |
Définition à la ligne 158 du fichier TimeStats.h.
Définition à la ligne 148 du fichier TimeStats.h.
Définition à la ligne 154 du fichier TimeStats.h.
|
private |
Définition à la ligne 161 du fichier TimeStats.h.
|
private |
Définition à la ligne 160 du fichier TimeStats.h.
Définition à la ligne 157 du fichier TimeStats.h.
|
private |
Définition à la ligne 156 du fichier TimeStats.h.
|
private |
Statistiques sur les exécutions précédentes.
Définition à la ligne 153 du fichier TimeStats.h.
Référencé par dumpStats(), et dumpStatsJSON().
Définition à la ligne 147 du fichier TimeStats.h.
Définition à la ligne 145 du fichier TimeStats.h.
Définition à la ligne 146 du fichier TimeStats.h.
|
static |
Nombre de valeurs de eTimeType.
Définition à la ligne 55 du fichier TimeStats.h.
Référencé par Arcane::TimeStats::Action::reset().
|
static |
Définition à la ligne 58 du fichier TimeStats.h.
|
static |
Définition à la ligne 57 du fichier TimeStats.h.