profiler for performance measurement- java multithreading

hi guys

I am using executor service in my code. Is there a profiler i can use to check what the threads are doing and how much time it takes to finish the task.

Right now i am using System.currentTimeMillis() to calculate the time taken but its inaccurate

long exportStartTime= System.currentTimeMillis();                  
 ExecutorService executor = Executors.newFixedThreadPool(3);                        
 final HSSFWorkbook runnableWb = wb;
 Runnable expTask = new Runnable(){        
 public void run(){        
 getExportDocumentObject(true, "Excel",buffer, mReq,runnableWb);
 }
long exportEndTime= System.currentTimeMillis();                  
System.out.println("Time taken for task (VERY INACCURATE):" + exportEndTime-exportStartTime);


Are there any open source profilers which can tell me which thread is doing what and how much time it takes complete the task?

thanks
royjaydAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Sharon SethCommented:
Netbeans has got some very good profilers which work very well on profiling threads .

There is another profiler TPTP  which can be plugged into Eclipse. - Did not try this yet
I beleieve JDK 6 or 7 comes with some profilers by default.

I once saw profiling thru NetBeans at a Java conference . I suggest you try it first
royjaydAuthor Commented:
I use eclipse, not sure I want to move to netbeans. Are there a which any commercial ones which are good?

Thx.
Sharon SethCommented:
Jprofiler
Fundamentals of JavaScript

Learn the fundamentals of the popular programming language JavaScript so that you can explore the realm of web development.

royjaydAuthor Commented:
Does jprofiler give thread by thread information? Like which thread is doing what?
Sharon SethCommented:
Ofcourse , it does  . It's commercial , has much more features

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
royjaydAuthor Commented:
heard lot of good things about Yourkit. Downloaded the trial. Fantastic tool.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Java

From novice to tech pro — start learning today.