Low-Overhead Heap Profiling
Kirk Pepperdine
kirk.pepperdine at gmail.com
Tue Jun 23 06:13:44 UTC 2015
Hi Jeremy,
>
> It will also need a little polish to be available to the world. Open design questions for upstreaming are things like:
>
> - Should the interval between samples be configurable?
This could be helpful.
>
> - Should it *just* take a stack trace, or should the behavior be configurable? For example, we have a variant that allows it to invoke a callback on allocation. Do you want this? Because it is being called during allocation, the callback can't invoke JNI (because of the potential for a safepoint), so it might be somewhat confusing to the user.
As long of these features don’t contribute to sampling bias I think they’d (at times) all be useful.
>
> - If the answer to the above is yes, should it be able to invoke *multiple* callbacks with multiple intervals? That could get very expensive and hairy.
>
> - Other than stack trace, what kind of information should the sampled data contain? Right now, the structure is:
>
> struct StackTraceData {
> ASGCT_CallTrace *trace;
> jint byte_size;
> jlong thread_id;
> const jbyte *name;
> jint name_length;
> jlong uid;
> };
If you could get age data that could be interesting as well.
Kind regards,
Kirk Pepperdine
More information about the serviceability-dev
mailing list