12#ifndef ARCANE_STD_INTERNAL_OTF2MESSAGEPASSINGPROFILINGSERVICE_H
13#define ARCANE_STD_INTERNAL_OTF2MESSAGEPASSINGPROFILINGSERVICE_H
17#include "arcane/utils/IMessagePassingProfilingService.h"
18#include "arcane/utils/String.h"
20#include "arcane/core/AbstractService.h"
21#include "arcane/core/ISubDomain.h"
22#include "arcane/core/ObserverPool.h"
23#include "arcane/core/VariableSynchronizerEventArgs.h"
25#include "arccore/message_passing/Stat.h"
27#include "arcane/std/internal/Otf2LibWrapper.h"
28#include "arcane/std/internal/Otf2MpiProfiling.h"
35namespace MP = ::Arccore::MessagePassing;
43class Otf2MessagePassingProfilingService
50 ~Otf2MessagePassingProfilingService()
noexcept override;
54 void printInfos(std::ostream& output)
override;
59 void _updateFromBeginEntryPointEvt();
60 void _updateFromEndEntryPointEvt();
66 MP::IProfiler* m_prof_backup =
nullptr;
70 MP::IControlDispatcher* m_control_dispatcher =
nullptr;
AbstractService(const ServiceBuildInfo &)
Constructor from a ServiceBuildInfo.
Stores references to observers.
Interface of a profiling service dedicated to "message passing".
Interface of the subdomain manager.
Wrapper class for OTF2 library functions.
void stopProfiling() override
Stops profiling.
void printInfos(std::ostream &output) override
Displays information from the profiling.
void startProfiling() override
Starts profiling.
String implName() override
Gives the name of the service that implements the interface.
Implementation of the MPI operations interface. Decorates each MPI call with functions from the libra...
Structure containing the information to create a service.
Unicode character string.
Arguments for the event notifying a variable synchronization.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Namespace containing the types and declarations that manage the message-passing parallelism mechanism...