Service de profiling utilisant la bibliothèque PAPI. Plus de détails...
#include <arcane/std/PapiPerformanceService.h>
Graphe d'héritage de Arcane::PapiPerformanceService:
Graphe de collaboration de Arcane::PapiPerformanceService:Fonctions membres publiques | |
| PapiPerformanceService (const ServiceBuildInfo &sbi) | |
| void | initialize () override |
| Initialise le service de profiling. | |
| bool | isInitialized () const override |
| Indique si initialize() a déjà été appelé | |
| void | startProfiling () override |
| Démarre un profiling. | |
| void | switchEvent () override |
| void | stopProfiling () override |
| Stoppe le profiling. | |
| void | printInfos (bool dump_file) override |
| Affiche les infos de profiling. | |
| void | getInfos (Int64Array &) override |
| void | dumpJSON (JSONWriter &writer) override |
| Ecrit les infos de profiling dans l'écrivain writer. | |
| void | reset () override |
| Remet à zéro les compteurs. | |
| ITimerMng * | timerMng () override |
| Timer utilisant les fonctionnalités de ce service si elles existent. Peut être nul. | |
Fonctions membres publiques hérités de Arcane::AbstractService | |
| ~AbstractService () override | |
| Destructeur. | |
| virtual void | build () |
| Construction de niveau build du service. | |
| IServiceInfo * | serviceInfo () const override |
| Accès aux informations du service. Voir IServiceInfo pour les détails. | |
| IBase * | serviceParent () const override |
| Accès à l'interface de base des principaux objets Arcane. | |
| IService * | serviceInterface () override |
| Retourne l'interface bas niveau IService du service. | |
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 |
Fonctions membres publiques hérités de Arcane::IService | |
| virtual | ~IService () |
| Libère les ressources. | |
Fonctions membres privées | |
| void | _printFlops () |
| bool | _addEvent (int event_code, int event_index) |
Fonctions membres privées statiques | |
| static void | arcane_papi_handler (int EventSet, void *address, long_long overflow_vector, void *context) |
Attributs privés | |
| int | m_period = 0 |
| int | m_event_set = 0 |
| bool | m_only_flops = false |
| bool | m_is_running = false |
| bool | m_is_initialized = false |
| ITimerMng * | m_timer_mng = nullptr |
| IApplication * | m_application = nullptr |
Membres hérités additionnels | |
Fonctions membres protégées hérités de Arcane::AbstractService | |
| AbstractService (const ServiceBuildInfo &) | |
| Constructeur à partir d'un ServiceBuildInfo. | |
Fonctions membres protégées hérités de Arcane::TraceAccessor | |
| void | _setLocalVerboseLevel (Int32 v) |
| Int32 | _localVerboseLevel () const |
Fonctions membres protégées hérités de Arcane::IService | |
| IService () | |
| Constructeur. | |
Service de profiling utilisant la bibliothèque PAPI.
Définition à la ligne 34 du fichier PapiPerformanceService.h.
|
explicit |
Définition à la ligne 77 du fichier PapiPerformanceService.cc.
|
override |
Définition à la ligne 89 du fichier PapiPerformanceService.cc.
|
private |
Définition à la ligne 137 du fichier PapiPerformanceService.cc.
|
private |
Définition à la ligne 306 du fichier PapiPerformanceService.cc.
|
staticprivate |
Définition à la ligne 107 du fichier PapiPerformanceService.cc.
|
overridevirtual |
Ecrit les infos de profiling dans l'écrivain writer.
Implémente Arcane::IProfilingService.
Définition à la ligne 371 du fichier PapiPerformanceService.cc.
|
overridevirtual |
Implémente Arcane::IProfilingService.
Définition à la ligne 381 du fichier PapiPerformanceService.cc.
|
overridevirtual |
Initialise le service de profiling.
Cette méthode ne peut être appelée qu'une seule fois.
Implémente Arcane::IProfilingService.
Définition à la ligne 156 du fichier PapiPerformanceService.cc.
Références ARCANE_FATAL, Arcane::TraceAccessor::fatal(), Arcane::platform::getEnvironmentVariable(), Arcane::TraceAccessor::info(), Arcane::String::localstr(), Arcane::math::min(), Arcane::String::null(), Arcane::TraceAccessor::pwarning(), Arcane::AbstractArray< T >::size(), Arcane::String::split(), et Arcane::TraceAccessor::traceMng().
Voici le graphe d'appel pour cette fonction :
|
inlineoverridevirtual |
Indique si initialize() a déjà été appelé
Réimplémentée à partir de Arcane::IProfilingService.
Définition à la ligne 46 du fichier PapiPerformanceService.h.
|
overridevirtual |
Affiche les infos de profiling.
Le profiling doit être arrêté. Si dump_file est vrai, des sorties fichiers contenant les infos sont générées ce qui peut prendre du temps.
Implémente Arcane::IProfilingService.
Définition à la ligne 361 du fichier PapiPerformanceService.cc.
|
overridevirtual |
Remet à zéro les compteurs.
Le profiling doit être arrêté pour cela.
Implémente Arcane::IProfilingService.
Définition à la ligne 391 du fichier PapiPerformanceService.cc.
|
overridevirtual |
Démarre un profiling.
Implémente Arcane::IProfilingService.
Définition à la ligne 279 du fichier PapiPerformanceService.cc.
Références ARCANE_CHECK_POINTER, et ARCANE_FATAL.
|
overridevirtual |
Stoppe le profiling.
Implémente Arcane::IProfilingService.
Définition à la ligne 335 du fichier PapiPerformanceService.cc.
Références ARCANE_FATAL.
|
overridevirtual |
Implémente Arcane::IProfilingService.
Définition à la ligne 298 du fichier PapiPerformanceService.cc.
|
overridevirtual |
Timer utilisant les fonctionnalités de ce service si elles existent. Peut être nul.
Implémente Arcane::IProfilingService.
Définition à la ligne 558 du fichier PapiPerformanceService.cc.
Références Arcane::TraceAccessor::traceMng().
Voici le graphe d'appel pour cette fonction :
|
private |
Définition à la ligne 64 du fichier PapiPerformanceService.h.
|
private |
Définition à la ligne 59 du fichier PapiPerformanceService.h.
|
private |
Définition à la ligne 62 du fichier PapiPerformanceService.h.
|
private |
Définition à la ligne 61 du fichier PapiPerformanceService.h.
|
private |
Définition à la ligne 60 du fichier PapiPerformanceService.h.
|
private |
Définition à la ligne 58 du fichier PapiPerformanceService.h.
|
private |
Définition à la ligne 63 du fichier PapiPerformanceService.h.