ArmarX Profiling

ArmarX Profiling Overview

ArmarXCore provides a basic armarx::Profiler::Profiler facility for profiling applications.

The API documentation can be found here: Profiling

The armarx::Profiler::Profiler can be activated during application startup via the following commandline parameters

  • ArmarX.NetworkStats : sends out information about amount of data sent and received by the enabled application
  • ArmarX.EnableProfiling : sends out information about CPU utilization of the enabled application
  • ArmarX.$COMPONENT_NAME.EnableProfiling : sends out profiling events and state transitions (in case of statecharts) of the enabled application

To display the profiled data via ArmarXGui, the armarx::ProfilerObserver component can be executed and its output visualized using the Plotter gui.

ArmarX Profiling API

The profiler is built into each armarx::ManagedIceObject and can be accessed via armarx::ManagedIceObject::getProfiler(). armarx::Component instances provide an "EnableProfiling" property which activates the profiler via armarx::ManagedIceObject::enableProfiler().

After obtaining an instance of armarx::Profiler::Profiler the following methods can be called