36 return Profiler::GetEventTypeMap().at(eventType);
51 this->profilerName = profilerName;
52 std::unique_lock lock(loggerMutex);
53 logger->setId(profilerName);
64 std::unique_lock lock(loggerMutex);
65 logger = loggingStrategy;
66 logger->setId(profilerName);
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(),
79 Profiler::GetEventName(eventType),
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,
109 std::unique_lock lock(loggerMutex);
110 logger->logStatechartInputParameters(
111 ::getpid(), IceUtil::Time::now().toMicroSeconds(), stateIdentifier, inputParameterMap);
116 const std::string& stateIdentifier,
119 std::unique_lock lock(loggerMutex);
120 logger->logStatechartLocalParameters(
121 ::getpid(), IceUtil::Time::now().toMicroSeconds(), stateIdentifier, localParameterMap);
126 const std::string& stateIdentifier,
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);
149 armarx::Profiler::Profiler::GetEventTypeMap()
151 const static EventTypeMap evenTypeNameMap{
152 {Profiler::eFunctionStart,
"FUNCTION_START"},
153 {Profiler::eFunctionReturn,
"FUNCTION_RETURN"},
154 {Profiler::eFunctionBreak,
"FUNCTION_RETURN"},
156 return evenTypeNameMap;
161 const armarx::TransitionIceBase& transition)
163 std::unique_lock lock(loggerMutex);
164 logger->logStatechartTransitionWithParameters(
165 ::getpid(), IceUtil::Time::now().toMicroSeconds(), transition);