Profiling overlays real-time data on system and code performance.
Aspects that can currently be profiled include FPS, CPU usage and available and used RAM - as well as reporting on various system information that won't change during the running of the app such as max CPU speed, max RAM and so on.
In addition, reports and graphs can profile code performance giving a breakdown of where the application is being stressed the most and where the bottlenecks might be - whether it's the rendering, the physics, or any other subsection.
It is also relatively easy to mark your own subsections of code to be profiled, simply by bookending with start and stop calls to the profiler and then requesting profiling results - either every frame or at desired intervals.