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

Create Byteman Extension #2263

Open
johnaohara opened this issue Apr 29, 2019 · 10 comments
Open

Create Byteman Extension #2263

johnaohara opened this issue Apr 29, 2019 · 10 comments
Assignees
Labels
kind/enhancement New feature or request pinned Issue will never be marked as stale

Comments

@johnaohara
Copy link
Member

Create extension to allow injecting byteman rules in to native binary

@johnaohara johnaohara added the kind/enhancement New feature or request label Apr 29, 2019
@johnaohara johnaohara self-assigned this Apr 29, 2019
@sberyozkin
Copy link
Member

+1. Making debugging the native images in Quarkus easier than elsewhere would be a very unique feature

@malys
Copy link

malys commented Sep 2, 2019

+1. Interesting to debug and add dynamic traces.
What are the alternatives to debug java native binary @johnaohara ?

@stale
Copy link

stale bot commented Nov 13, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you!
We are doing this automatically to ensure out-of-date issues does not stay around indefinitely.
If you believe this issue is still relevant please put a comment on it on why and if it truly needs to stay request or add 'pinned' label.

@stale stale bot added the stale label Nov 13, 2019
@johnaohara johnaohara added the pinned Issue will never be marked as stale label Nov 13, 2019
@stale stale bot removed the stale label Nov 13, 2019
@johnaohara
Copy link
Member Author

Still would be a nice feature to have

@rsvoboda
Copy link
Member

rsvoboda commented Jan 14, 2020

@johnaohara this issue mentions native part.

What about JVM mode? I guess it should be as easy as with any Java application.

@johnaohara
Copy link
Member Author

@rsvoboda JVM mode continues to function in the same way as using Byteman with a JVM right now, so it is possible to include the Byteman JVM agent, and load/unload rules into a running application.

The native binary is a bit more complicated but possible. The byteman agent and rules need to be used in the JVM that is bootstrapped and used to generate a native image. As the native image generation tool serializes the heap and compiles bytecode after the JVM has bootstrapped, any bytecode that has been modified by Byteman is also compiled and "baked" into the native image. The other complication is that any Byteman helpers need to be registered so that they do not get DCE'd

@rsvoboda
Copy link
Member

include Byteman JVM agent, and load/unload rules into a running application.

That's one way for sure. I'm also considering Byteman as very nice tool for fault injection testing (BMUnit stuff)

JVM mode - I assume it work out of the box ;)
Native mode - I guess same story as in the above comment

@rsvoboda
Copy link
Member

I'm starting to think that guide or blog post around Quarkus and Byteman could attract some people, Byteman is nice added value.

@geoand
Copy link
Contributor

geoand commented Jan 11, 2022

@johnaohara what exactly do you have in mind with regards to this issue?

@zhfeng
Copy link
Contributor

zhfeng commented Jun 16, 2022

@johnaohara Do you still on this issue and I just think it is possible to integrate it with Quarkus test-framework?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement New feature or request pinned Issue will never be marked as stale
Projects
None yet
Development

No branches or pull requests

6 participants