Próbuję selektywnie monitorować/profilować aplikację Java po spełnieniu określonych warunków środowiska wykonawczego. Już jestem w stanie zrzucić stertę w locie przy pomocy HotSpotDiagnosticMXBean, co było całkiem przydatne.Programowanie programatora Java HPROF programowo
Próbuję teraz zrobić coś podobnego z profilowaniem procesora, mając nadzieję na skuteczniejsze kierowanie na określone ścieżki kodu. Mam pewne doświadczenie z wierszem poleceń HPROF interface i profilerem NetBeans, ale oba muszą być wcześniej uruchomione.
Czy istnieje sposób na aktywację profilera HPROF programowo z poziomu uruchomionej aplikacji? Najlepiej coś, co pozwoliłoby mi na rozpoczęcie i zatrzymanie procesu profilowania do woli?
Niestety, wydaje się, że jest to właściwa odpowiedź, przynajmniej jeśli chodzi o HPROF ... +1 – thkala
Nie jestem przekonany, że to dobra odpowiedź. To zależy bardziej dokładnie od tego, do czego odnosi się pierwotne pytanie. Cytowana dokumentacja mówi, że agent profilujący musi wystartować, zanim JVM wykona dowolny kod ... nie oznacza to, że profilowanie musi się rozpocząć przed rozpoczęciem wykonywania kodu. Profiler może się uruchomić, a _profiling_ można uruchomić później. Przydatny byłby programowy sposób kontrolowania rozpoczęcia profilowania. Czy możesz powiedzieć, że _profiling_ musi rozpoczynać się przed wykonaniem jakiegokolwiek kodu? I zacytować odniesienie? – Jason