Statistiques sur les temps d'exécution. Plus de détails...
#include <arcane/impl/TimeStats.h>
Classes | |
| struct | TimeValue |
| class | PhaseValue |
| class | MetricCollector |
| class | Action |
| Action. Plus de détails... | |
| class | ActionSeries |
| Série d'actions. Plus de détails... | |
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 Arcane::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 Arcane::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 261 du fichier TimeStats.cc.
|
override |
Définition à la ligne 285 du fichier TimeStats.cc.
|
private |
Définition à la ligne 820 du fichier TimeStats.cc.
|
private |
Définition à la ligne 645 du fichier TimeStats.cc.
|
private |
Définition à la ligne 785 du fichier TimeStats.cc.
|
private |
Définition à la ligne 796 du fichier TimeStats.cc.
|
private |
Définition à la ligne 678 du fichier TimeStats.cc.
|
overridevirtual |
Implémente Arcane::ITimeStats.
Définition à la ligne 359 du fichier TimeStats.cc.
|
overridevirtual |
Démarre la collection des temps.
Implémente Arcane::ITimeStats.
Définition à la ligne 300 du fichier TimeStats.cc.
Références ARCANE_FATAL, Arcane::Timer::TimerReal, et Arcane::Timer::TimerVirtual.
|
overridevirtual |
Implémente Arcane::ITimeStats.
Définition à la ligne 396 du fichier TimeStats.cc.
|
overridevirtual |
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 537 du fichier TimeStats.cc.
Références Arcane::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 519 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 851 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 842 du fichier TimeStats.cc.
Références Arcane::MessagePassing::dumpDateAndMemoryUsage(), et Arcane::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 427 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 437 du fichier TimeStats.cc.
Références Arcane::TraceAccessor::info().
|
overridevirtual |
Implémente Arcane::ITimeStats.
Définition à la ligne 375 du fichier TimeStats.cc.
|
overridevirtual |
Arrête la collection des temps.
Implémente Arcane::ITimeStats.
Définition à la ligne 324 du fichier TimeStats.cc.
Références Arcane::String::localstr().
|
overridevirtual |
Implémente Arcane::ITimeStats.
Définition à la ligne 409 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 832 du fichier TimeStats.cc.
|
overridevirtual |
Implémente Arcane::ITimeStats.
Définition à la ligne 1036 du fichier TimeStats.cc.
|
overridevirtual |
Interface de collection associée.
Implémente Arcane::ITimeStats.
Définition à la ligne 1004 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 1068 du fichier TimeStats.cc.
Références m_current_action_series.
|
overridevirtual |
Implémente Arcane::ITimeStats.
Définition à la ligne 555 du fichier TimeStats.cc.
|
overridevirtual |
Implémente Arcane::ITimeStats.
Définition à la ligne 1013 du fichier TimeStats.cc.
|
private |
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.
|
private |
Définition à la ligne 159 du fichier TimeStats.h.
|
private |
Définition à la ligne 158 du fichier TimeStats.h.
|
private |
Définition à la ligne 148 du fichier TimeStats.h.
|
private |
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.
|
private |
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().
|
private |
Définition à la ligne 147 du fichier TimeStats.h.
|
private |
Définition à la ligne 145 du fichier TimeStats.h.
|
private |
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.