Написание профилирования Я бы также реализовал типичную задачу профилирования кучи.В частности, я хотел бы отслеживать, какой поток выделил, сколько данных?Используя JVMTI, я подумал, что достаточно подключиться к событиям Распределение объектов VM и Object Free .К сожалению, я прочитал, что первое событие не вызвано из-за вызовов, сделанных на new
.
Последняя идея, которую я имел, состояла в том, чтобы проверить событие MethodExit , если его имя <init>
и, таким образом,объявить этот вызов как распределение объектов.Однако в этом событии я не могу получить объект и, следовательно, не могу вызвать GetObjectSize
.
. Простая итерация по куче не несет никакой информации относительно того, какой объект был выделен какому потоку.У кого-нибудь есть идеи, как это реализовать?