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

Instrument abstract classes #8

Open
ash211 opened this issue Apr 12, 2017 · 4 comments
Open

Instrument abstract classes #8

ash211 opened this issue Apr 12, 2017 · 4 comments

Comments

@ash211
Copy link
Contributor

ash211 commented Apr 12, 2017

I'm hoping to instrument an implementation of the Hadoop FileSystem abstract class, but the current version of Tritium only supports instrumenting interfaces (older versions briefly supports abstract class instrumentation).

Please bring back abstract class instrumentation so I can better understand calls to my FileSystem object.

@schlosna
Copy link
Contributor

Agreed, I'd like to re-add support for instrumenting abstract & non-final concrete types.

Originally added this in f2a87d6 for 0.4.2, but there was some weirdness with the shadowed cglib & objenesis dependencies where they were still being included in published POM, causing problems with tritium consumers. Happy to accept PR with fixes for shadowing & publishing.

@schlosna
Copy link
Contributor

Should also mention that the gradle shadow plugin conflicted with the JMH generation, so we'll need to make sure those are still working.

@schlosna
Copy link
Contributor

WIP on https://github.com/palantir/tritium/tree/ds/instrument-concrete branch, just needs some shading & gradle love to make sure that the published libs don't include cglib and objenesis in pom.xml.

@schlosna
Copy link
Contributor

@carterkozak has a WIP 27d287f using ByteBuddy that would likely make this feasible.

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

No branches or pull requests

2 participants