I have a pet project that I have kept on hold for many years... but I
see a need in Artemis... and perhaps I could use this as a push to
make it happen..

https://github.com/clebertsuconic/d-sect


The project is a JVMTI C Agent, that I can use to fetch objects,
references and do some reports. It's a lot simpler to write tests to
avoid memory leaks with this.. and you can do things like this:

@Test
void test() {


... do your test thing.. and then.


JVMTIInterface jvmti = new JVMTIInterface();
Object[] objects = jvmti.getAllObjects("mypackage.MyClass");

Assert.assertEquals("My class is leaking", objects.length);

}

There are reporting methods that will show what would eventually be
holding the references.


What would be a good way to consume this in ActiveMQ Artemis? We
should add a few tests like this but I'm not sure how we would consume
the library in there?




--
Clebert Suconic

Reply via email to