JProfiler 도움말Download

MBean 브라우저


Apache Camel과 같은 많은 애플리케이션 서버 및 프레임워크는 JMX를 사용하여 구성 및 모니터링 목적으로 다수의 MBean을 노출합니다. JVM 자체도 JVM의 저수준 작업에 대한 흥미로운 정보를 제공하는 플랫폼 MXBean을 다수 게시합니다.

JProfiler는 프로파일된 VM에 등록된 모든 MBean을 보여주는 MBean 브라우저를 포함합니다. MBean 서버에 접근하기 위한 JMX의 원격 관리 수준은 필요하지 않습니다. 왜냐하면 JProfiler 에이전트가 이미 프로세스 내에서 실행 중이며 모든 등록된 MBean 서버에 접근할 수 있기 때문입니다.

JProfiler는 Open MBean의 타입 시스템을 지원합니다. 간단한 타입을 정의하는 것 외에도, Open MBean은 사용자 정의 클래스가 포함되지 않은 복잡한 데이터 타입을 정의할 수 있습니다. 또한, 배열과 테이블이 데이터 구조로 사용 가능합니다. MXBean을 사용하면 JMX는 Java 클래스에서 Open MBean을 자동으로 생성하는 쉬운 방법을 제공합니다. 예를 들어, JVM이 제공하는 MBean은 MXBean입니다.

MBean은 계층 구조가 없지만, JProfiler는 객체 도메인 이름을 첫 번째 콜론까지 첫 번째 트리 수준으로 사용하고 모든 속성을 재귀적으로 중첩된 수준으로 사용하여 트리로 조직합니다. 속성 값은 속성 키를 괄호 안에 두고 끝에 표시됩니다. type 속성은 최상위 노드 바로 아래에 나타나도록 우선 순위가 부여됩니다.

속성

MBean 내용을 보여주는 트리 테이블의 최상위 수준에서 MBean 속성을 볼 수 있습니다.

다음 데이터 구조는 중첩된 행으로 표시됩니다:

  • Arrays

    기본 배열 및 객체 배열의 요소는 키 이름으로 인덱스를 사용하여 중첩된 행으로 표시됩니다.
  • Composite data

    복합 데이터 타입의 모든 항목은 중첩된 행으로 표시됩니다. 각 항목은 임의의 타입일 수 있으므로 중첩은 임의의 깊이까지 계속될 수 있습니다.
  • Tabular data

    대부분의 경우 MXBean에서 java.util.Map 인스턴스가 하나의 키 열과 하나의 값 열을 가진 표형 데이터 타입으로 매핑됩니다. 키의 타입이 간단한 타입인 경우, 맵은 "인라인"으로 표시되며 각 키-값 쌍은 중첩된 행으로 표시됩니다. 키가 복잡한 타입인 경우, 중첩된 키 및 값 항목이 있는 "맵 항목" 요소 수준이 삽입됩니다. 이는 복합 키와 다중 값을 가진 일반적인 표형 타입의 경우에도 해당됩니다.

선택적으로, MBean 속성은 편집 가능할 수 있으며 이 경우  편집 아이콘이 값 옆에 표시되고 값 편집 작업이 활성화됩니다. 복합 및 표형 타입은 MBean 브라우저에서 편집할 수 없지만 배열이나 간단한 타입은 편집 가능합니다.

값이 널일 수 있는 경우, 예를 들어 배열과 같은 경우, 편집기에는 널 상태를 선택할 수 있는 체크박스가 있습니다.

배열 요소는 세미콜론으로 구분됩니다. 하나의 후행 세미콜론은 무시될 수 있으므로 11;은 동일합니다. 세미콜론 앞에 값이 없으면 객체 배열의 경우 널 값으로 처리됩니다. 문자열 배열의 경우, 이중 따옴표("")로 빈 요소를 생성할 수 있으며, 세미콜론을 포함하는 요소는 전체 요소를 인용하여 생성할 수 있습니다. 문자열 요소의 이중 따옴표는 두 번 사용해야 합니다. 예를 들어, 다음과 같은 문자열 배열 값을 입력하면

"Test";"";;"embedded "" quote";"A;B";;

다음과 같은 문자열 배열이 생성됩니다

new String[] {"Test", "", null, "embedded \" quote", "A;B", null}

JProfiler는 숫자 MBean 속성 값에서 사용자 정의 텔레메트리를 생성할 수 있습니다. 사용자 정의 텔레메트리에 대해 MBean 텔레메트리 라인을 정의할 때, 텔레메트리 데이터를 제공하는 속성을 선택할 수 있는 MBean 속성 브라우저가 표시됩니다. 이미 MBean 브라우저에서 작업 중인 경우, 컨텍스트 메뉴의 값에 대한 텔레메트리 추가 작업은 새로운 사용자 정의 텔레메트리를 생성하는 편리한 방법을 제공합니다.

텔레메트리는 복합 데이터 또는 간단한 키와 단일 값을 가진 표형 데이터의 중첩된 값을 추적할 수도 있습니다. 중첩된 행을 선택하면 경로 구성 요소가 슬래시로 구분된 값 경로가 생성됩니다.

작업

MBean 속성을 검사하고 수정하는 것 외에도 MBean 작업을 호출하고 그 반환 값을 확인할 수 있습니다. MBean 작업은 MBean 인터페이스의 메서드로, 설정자나 가져오기 메서드가 아닙니다.

작업의 반환 값은 복합, 표형 또는 배열 타입일 수 있으므로 MBean 속성 트리 테이블과 유사한 내용의 새 창이 표시됩니다. 간단한 반환 타입의 경우, "반환 값"이라는 이름의 행이 하나만 있습니다. 다른 타입의 경우, "반환 값"은 결과가 추가되는 루트 요소입니다.

MBean 작업은 하나 이상의 인수를 가질 수 있습니다. 입력할 때, MBean 속성을 편집할 때와 동일한 규칙과 제한이 적용됩니다.

MBean 스냅샷

MBean의 실시간 값을 보는 것 외에도 현재 상태의 스냅샷을 찍을 수 있습니다. 각 새로운 스냅샷은 MBean 뷰 섹션의 별도 뷰로 추가되며 사용자 정의 레이블을 지정할 수 있습니다. 스냅샷이 찍힐 때, 현재 필터에 따라 표시되는 MBean만 포함됩니다. 이렇게 하면 특정 MBean에 집중하고 관련 없는 MBean을 쿼리하는 오버헤드를 줄일 수 있습니다.

JProfiler UI에서 스냅샷을 저장할 때, 모든 MBean 스냅샷도 저장되지만 실시간 MBean 뷰는 저장되지 않습니다. 오프라인 프로파일링의 경우, Controller API 또는 "MBean 스냅샷 저장" 트리거 작업을 사용하여 MBean 스냅샷을 프로그래밍 방식으로 찍을 수 있습니다.

컨트롤러 API와 트리거 작업 모두 뷰 선택기에 표시되는 선택적 레이블과 포함된 MBean을 필터링하기 위한 선택적 정규 표현식을 지원합니다.