tritium icon indicating copy to clipboard operation
tritium copied to clipboard

Instrument abstract classes

Open ash211 opened this issue 8 years ago • 4 comments

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.

ash211 avatar Apr 12 '17 07:04 ash211

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

Originally added this in https://github.com/palantir/tritium/commit/f2a87d63095d157e9781be90ac19c0d25f60401e 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 avatar Apr 12 '17 16:04 schlosna

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 avatar Apr 12 '17 16:04 schlosna

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 avatar May 11 '17 23:05 schlosna

@carterkozak has a WIP https://github.com/palantir/tritium/commit/27d287f44f47abe1861e4f9a48bdbde69ced26a5 using ByteBuddy that would likely make this feasible.

schlosna avatar Aug 27 '19 19:08 schlosna