2013-07-12 5 views
3

최근에 Jeremy Manson (Google)이 더 정확하고 간단한 비동기 샘플링 프로파일 러의 블로그 항목을 읽었습니다. 그것은 핫 스폿 JVM에서 "AsyncGetCallTrace"문서화되지 않은 메소드를 사용하여 스레드의 스택 추적을 수집합니다. JProfiler와 커뮤니티에JProfiler (AsyncGetCallTrace)가 포함 된 경량 비동기 샘플링 프로파일 러

http://jeremymanson.blogspot.fr/2013/07/lightweight-asynchronous-sampling.html

내 질문은 : 수있는 현재 7.2.3 버전을 사용 AsyncGetCallTrace에서 JProfiler와? JProfiler 8.0에서이 기능이 작동합니까?

답변

2

프로파일 러에서 사용하는 JVM (JVMTI)의 도구 인터페이스에는 각 릴리스의 호환성과 안정성을 보장하는 대규모 테스트 장치가 있습니다. AsyncGetCallTrace는 해당 사양의 일부가 아닙니다. GetStackTrace의 오버 헤드가 너무 낮아 범용 프로파일 러가 지원되지 않는 메소드의 성능 향상을 위해 지원되는 API의 이점을 희생하지 않는 것이 좋습니다.

+0

실제로 AsyncGetCallTrace는 open-jdk 프로젝트에서 파생 된 JVM에서만 지원됩니다. JProfiler와 같은 범용 도구가이 도구에만 의존하는 것은 옵션이 아닙니다. 하지만 JVM이 발견되면 JProfiler를 옵션으로 지원할 수 있다고 생각했습니다. 그렇다면 표준 JVMTI 기반 솔루션보다 두드러 질 것입니다. 메모리 내 멀티 스레드 분석 데이터베이스를 프로파일 링 할 때 표준 스택 추적 수집은 중요한 병목 현상이되고 프로파일 링 부정확성의 원인이되고 있습니다. –

+1

문제점 추적기에 추가했습니다. 어떤 플랫폼에서 실행 가능한지 조사해 드리겠습니다. –

+0

감사합니다. Ingo. 너희들이 조사 할 시간이 있기를 바란다. Jeremy Manson의 블로그 항목에서 일부 주석을 읽으면 AsyncGetCallTrace는 모든 플랫폼의 핫스팟 JVM에서 사용할 수 있습니다. –