Best way to determine module performance (tick rate)

I am comparing some algorithm performance differences between running on the PX4IO, FMUv3, and the FMUv5. What is the best way to see who long the module takes to run a loop? Adding print messages (PX4_INFO) of the time step from hrt adds some overhead and seems to change the loop time.

“uorb top” show me the message is published at ~250hz, will px4 give me a warning if the the module does not publish to a topic in time? Like if the module take 0.1s to run will I see a warning somewhere?

as a follow up question is it possible to see in the Nuttx shell which modules are publishing to which topics? Could two modules theoretically be fighting against each other publishing to a single topic?

Take a look at performance counters. https://github.com/PX4/Firmware/blob/c1c253d9be6545acba4d2a3b9bb989b9c2f76d80/src/modules/sensors/vehicle_angular_velocity/VehicleAngularVelocity.cpp#L219-L220

Thanks Daniel! I’ll take a look.