As far as i can tell, you can only profile a running application using VisualVM.
Does anyone know of a way to profile the launch and startup of a java application us
Use the eclipse launcher, and set a breakpoint at an appropriate place in the main method.
Then, start in debug mode, enable profiling in visualVM, and then resume using eclipse.
That won't profile class loading and stuff, but it's good enough for me.