Skip to content
This repository was archived by the owner on Feb 3, 2025. It is now read-only.

Integrate ign-common's profiler #2720

Closed
chapulina opened this issue Apr 29, 2020 · 4 comments
Closed

Integrate ign-common's profiler #2720

chapulina opened this issue Apr 29, 2020 · 4 comments
Assignees
Labels
9 Gazebo 9 11 Gazebo 11

Comments

@chapulina
Copy link
Contributor

Add support for Ignition Common's profiler to report time data from key sections of simulation execution.

We should measure and output profile data for at least:

  • main thread
  • physics
  • rendering
  • each sensor
  • each plugin update
@chapulina chapulina added 9 Gazebo 9 11 Gazebo 11 labels Apr 29, 2020
@ahcorde
Copy link
Contributor

ahcorde commented Jul 3, 2020

A doubt that I have with this enhancement. It's that right now there is a diagnostic utility implemented in Gazebo

Gazebo is currently instrumented with high-resolution diagnostic timers at several parts of the inner loop. The timer resolution depends on the hardware in use and is approximately 100ns on our test machines. To prevent performance degradation during normal usage, the timers are disabled unless the ENABLE_DIAGNOSTICS symbol is defined during compilation. For each simulation step, the elapsed time is measured and used to compute the following statistics incrementally: mean, minimum, maximum, and variance of each diagnostic timer. The statistics are computed using the math::SignalStats class. This will output the diagnostic timing data to the ~/.gazebo/diagnostics folder.

for example:

https://github.com/osrf/gazebo/blob/6fd426b3949c4ca73fa126cde68f5cc4a59522eb/gazebo/physics/ode/ODEPhysics.cc#L361

Should I remove this? or both utilities should live together?

@ahcorde
Copy link
Contributor

ahcorde commented Jul 6, 2020

Draft PR #2776

@chapulina
Copy link
Contributor Author

Should I remove this? or both utilities should live together?

I think we can leave the diagnostics stuff there now. The rationale is that all Gazebo versions have already been released and we don't want to change existing behaviour.

@chapulina
Copy link
Contributor Author

Done in #2776, #2813, #2836 and #2837

See tutorial: http://gazebosim.org/tutorials?tut=profiler

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
9 Gazebo 9 11 Gazebo 11
Projects
None yet
Development

No branches or pull requests

2 participants