I have found The Miner to be very useful, and it's free for non-commercial projects. It has a wide range of features but the tab labelled "Performance Profiler" has been the most helpful. I find that it's a great way to find bottlenecks in your code, or at least know what the main cause is (Rendering, Text, Network, etc..).
It took me a bit to find the installation instructions, but it's pretty simple. Include the .swc file in your project, then add 1 line of code in your document class constructor.
this.addChild(new TheMiner(true));
There is a FlashPreloaderProfiler: http://jpauclair.net/flashpreloadprofiler
It's written in actionscript, doesn't need a java-application running in the background and have some more features like Memory Profiler.
But I prefer PBLabsProfiler too :)