Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make instrumentation fully automatic #47

Open
pron opened this issue May 18, 2014 · 7 comments
Open

Make instrumentation fully automatic #47

pron opened this issue May 18, 2014 · 7 comments
Assignees

Comments

@pron
Copy link
Contributor

pron commented May 18, 2014

Determine potentially blocking methods by analyzing the call graph. Don't require manual designation of methods as blocking.

@mikehearn
Copy link
Contributor

Status update: Java 9 now has a java.lang.LiveStackFrame API that gives access to locals, operands and monitors of the current stack frame. It's presently a bit buggy, see

https://bugs.openjdk.java.net/browse/JDK-8147039

but once those bugs are fixed, it would be possible (says Ron) to make an agent that doesn't need @Suspendable annotations at al, because the bytecodes can be instrumented just-in-time.

@circlespainter circlespainter self-assigned this Feb 13, 2016
@circlespainter
Copy link
Member

@mikehearn WIP in the jdk9 branch

@candrews
Copy link
Contributor

https://bugs.openjdk.java.net/browse/JDK-8147039 has been fixed and https://jdk9.java.net/ has an easily access build available for download with that fix.

Is it possible for the jdk9 branch to be merged into master to facilitate easier development and testing at this time? Also, it looks like Travis CI supports JDK 9 early access builds, so it should be pretty easy to get CI working, too.

@circlespainter
Copy link
Member

circlespainter commented Jun 21, 2016

Unfortunately there is still https://bugs.openjdk.java.net/browse/JDK-8156073 (there's a test for it in https://bugs.openjdk.java.net/browse/JDK-8158879). Also, automatic instrumentation in the jdk9 branch is a major, long(er)-term feature development so I think it makes sense for it to stay separate for now.

@candrews
Copy link
Contributor

Looks both of this JDK issues are now fixed.

It's been a while since the last info I can find out Java 9 support and automatical instrumentation - could you share the latest news?

@stevenschlansker
Copy link

I spent a couple of hours today trying to figure out the set of classes to instrument as @Suspendable in the Jackson JSON processor, and filed a pr to comsat. With this feature, it would have worked "out of the box", and everyone could have had the benefits without additional work or the need to include this metadata artifact! Would also love to hear of a status update, or if testers are needed.

@adelel1
Copy link

adelel1 commented Jan 27, 2020

Hello @circlespainter , do you have a status update on this enhancement. Making the instrumentation automatic would be a great step forward.
Or is there an ETA/plan?
Thanks,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants