Я ищу профилировщик кода Java, который я могу использовать для профилирования моего приложения (это служба, которая работает в бэкэнде) на производстве (так что это означает низкие затраты, и это не должно замедлять работу моего приложения). В первую очередь я хочу вызвать профилирование дерева, то есть, если a () вызывает b (), а затем b () вызывает c (), то сколько времени заняло a () b () и c (), как включительно, так и исключительно.
Я видел jvisualvm
и jprofiler
, но это не то, что я ищу, потому что я не могу привязать к ним свое производственное приложение, так как это вызовет серьезные проблемы с производительностью.
Кроме того, я прошел через metrics
(https://github.com/dropwizard/metrics), но он не дает мне возможности профилировать дерево вызовов.
Может ли кто-нибудь предложить хороший профилировщик дерева вызовов для java, который можно использовать в производстве без ущерба для производительности?