As you may already know, the JavaScirpt CPU profiler shows how much CPU time your JavaScript is taking. The tool helps to identify jank in your code by recording exactly which functions were called and how long it took to execute.
I've generated a profile of Gmail, here is the record:

It may look like too much, but is actually quite simple.
The Heavy (Bottom Up) view will show all functions called during the time interval. This enables you to see which function has the most impact on performance. In our case, the t function took the most time - 334ms self and 641 total. Self time is the time it took to complete the current function invocation, including only the statements in the function, not including the functions that it called. Total time is the complete time the function took, including any functions that it called.
If we take the t function, we can see that the total time it took to execute is 641ms, twice as much as the self time. Let's isolate and examine it. Select the function and click on the eye button at the top. This will focus the selected function:

Altought much cleaner, we can't get much information out of it. So, let's change the view to a chart. In the upper bar, change the view from Heavy (Bottom Up) to Chart:

This is much better. It still seems like a lot, so let's see what this view is.
The Chart view provides visual representation of the CPU over time. There are two major parts:
So, in our case, the function invocation at ~1800ms has the deepest call stack and is probably the one that took the most time to execute. So, let's focus on that execution time only:

If we hover over the top most function, a pop-up with additional information will pop:

The pop-up provides valuable information about the function:
There is another one, currently missing field called Not Optimized, which will show if the profiler detected a potential optimization for the function.
That is how the JavaScript CPU profiler works. It shows how long does a function took to execute. It's a great way to find deep call-stacked functions and profile your application under different scenarios.
The Chrome team is currenlty in the process of merging the JavaScript CPU Profiler and the Timeline panel into a new named panel called Performance. It looks something like this:

In the middle of the screen we can see the same execution tree, with the bottom-up and call tree. There is a new, Event Log view, which provides information for the current events triggered.
The Chrome dev team aims at extending the panel functionality even more and "depricate" the old workflow.
Here is how my team and I use the profiler: