Profiler for analyzing monitor useage
I would like to analyze monitor useage in my application to enhance scaliability.
I already searched a bit for tools which are capable of doing this - however OptimizeIt only analyses monitor useage which could lead to deadlocks.
I would like to have a tool which logs every monitor enter/exit of an application, and which can give me information how much the lock was contendended.
Super would be if it could give me stack-traces from where the monitorenter/exit have been called.
Does anybody know a such a tool or profiler?
Thank you in advance, lg Clemens
PS: The reason why I think I need such a tool is that I always designed my app with scaliability in mind.
Lately I did testing on a 16-cpu machine and discovered it did not scale well - until I found out that ByteArrayOutputStream is fully synchronized, a class which is used a lot in my server application.
I don't know who's descision it was back in 1.0 days to synchronize all and everything but I would like to kill this guy ;)