I've been looking at various java performance monitoring tools.
I worked out a solution that uses perf4j + aspectj, so that I can define which classes to monitor with an aspectj pointcut expression. However aspectj also (AFAIK), does not allow you to change the pointcut expression at runtime. So if I need to monitor new classes I would have to change the aop.xml and recompile (or atleast restart the app if using AspectJ load time weaving).
I have not found anything so far that can instrument classes at runtime without needing a restart of the application. Is there a tool/technology out there which can do that?