36 return Profiler::GetEventTypeMap().at(eventType);
52 std::unique_lock lock(loggerMutex);
64 std::unique_lock lock(loggerMutex);
65 logger = loggingStrategy;
71 const std::string& parentName,
72 const std::string& functionName)
74 std::unique_lock lock(loggerMutex);
75 logger->logEvent(::getpid(),
76 IceUtil::Time::now().toMicroSeconds(),
86 const StateIceBasePtr& sourceState,
87 const StateIceBasePtr& destinationState,
88 const std::string& eventName)
91 ProfilerStatechartTransition transition;
92 transition.processId =
static_cast<Ice::Long
>(::getpid());
93 transition.timestamp = IceUtil::Time::now().toMicroSeconds();
94 transition.parentStateIdentifier = parentStateIdentifier;
95 transition.sourceStateIdentifier = sourceState ? sourceState->globalStateIdentifier :
"";
96 transition.targetStateIdentifier = destinationState->globalStateIdentifier;
97 transition.targetStateType = destinationState->stateType;
98 transition.eventName = eventName;
100 std::unique_lock lock(loggerMutex);
101 logger->logStatechartTransition(transition);
106 const std::string& stateIdentifier,
107 const armarx::StateParameterMap& inputParameterMap)
109 std::unique_lock lock(loggerMutex);
110 logger->logStatechartInputParameters(
111 ::getpid(), IceUtil::Time::now().toMicroSeconds(), stateIdentifier, inputParameterMap);
116 const std::string& stateIdentifier,
117 const armarx::StateParameterMap& localParameterMap)
119 std::unique_lock lock(loggerMutex);
120 logger->logStatechartLocalParameters(
121 ::getpid(), IceUtil::Time::now().toMicroSeconds(), stateIdentifier, localParameterMap);
126 const std::string& stateIdentifier,
127 const armarx::StateParameterMap& outputParameterMap)
129 std::unique_lock lock(loggerMutex);
130 logger->logStatechartOutputParameters(
131 ::getpid(), IceUtil::Time::now().toMicroSeconds(), stateIdentifier, outputParameterMap);
137 std::unique_lock lock(loggerMutex);
138 logger->logProcessCpuUsage(::getpid(), IceUtil::Time::now().toMicroSeconds(), cpuUsage);
144 std::unique_lock lock(loggerMutex);
145 logger->logProcessMemoryUsage(::getpid(), IceUtil::Time::now().toMicroSeconds(), memoryUsage);
149armarx::Profiler::Profiler::GetEventTypeMap()
151 const static EventTypeMap evenTypeNameMap{
156 return evenTypeNameMap;
161 const armarx::TransitionIceBase& transition)
163 std::unique_lock lock(loggerMutex);
164 logger->logStatechartTransitionWithParameters(
165 ::getpid(), IceUtil::Time::now().toMicroSeconds(), transition);
void logStatechartInputParameters(const std::string &stateIdentifier, const armarx::StateParameterMap &inputParameterMap)
void logStatechartTransitionWithParameters(const TransitionIceBase &transition)
void logStatechartTransition(const std::string &parentStateIdentifier, const StateIceBasePtr &sourceState, const StateIceBasePtr &destinationState, const std::string &eventName)
static std::string GetEventName(Profiler::EventType eventType)
getEventName maps enum values from armarx::Profiler::Profiler::EventType to strings
EventType
The EventType enum provides symbolic names for the different events which can be logged via armarx::P...
void logProcessCpuUsage(float cpuUsage)
std::map< Profiler::EventType, std::string > EventTypeMap
void setName(const std::string &profilerName)
void logProcessMemoryUsage(int memoryUsage)
void logEvent(Profiler::EventType eventType, const std::string &parentName, const std::string &functionName)
void logStatechartOutputParameters(const std::string &stateIdentifier, const armarx::StateParameterMap &outputParameterMap)
void setLoggingStrategy(LoggingStrategyPtr loggingStrategy)
void logStatechartLocalParameters(const std::string &stateIdentifier, const armarx::StateParameterMap &localParameterMap)
#define ARMARX_CHECK_EXPRESSION(expression)
This macro evaluates the expression and if it turns out to be false it will throw an ExpressionExcept...
std::shared_ptr< LoggingStrategy > LoggingStrategyPtr
const std::string & to_string(const std::string &s)