Probekit는 스크립트 가능한 BCI(Byte-code Instrumentation) 프레임워크이며, 이는 프로그램 내에 삽입하여 프로그램이 실행할 때 프로그램에 대한 정보를 제공할 수 있는 Java 코드 단편을 쓰는 데 사용할 수 있습니다.
Probekit 파일은 하나 또는 여러 프로브를 포함할 수 있는데, 각 프로브는 하나 이상의 프로브 단편을 포함할 수 있습니다. 지정된 프로그램에서 어떤 프로브를 사용할 것인지 및 프로브 단편을 언제 실행할 것인지를 지정할 수 있습니다.
프로브 단편은 Java 메소드 세트 내에 어셈블된 후 컴파일됩니다. 프로브가 컴파일되면 프로브 코드 단편은 표준 공통 조항과 결합되고 새 클래스에 대한 Java 소스 코드가 생성됩니다. 프로브 단편으로부터 생성된 함수는 생성된 프로브 클래스의 정적 메소드로 나타납니다.
프로브가 적용되면, BCI 엔진은 프로브 및 해당 대상 패턴의 목록을 참조하고 프로브 단편 메소드에 대한 호출을 대상 프로그램에 삽입합니다. 호출 명령문을 대상 메소드에 삽입하는 프로세스를 "인스트루먼테이션"이라고 합니다. 프로브 단편에 의해 요청된 데이터 항목(예: 메소드 이름 및 인수)은 인수로서 전달됩니다. 이 시스템의 한 가지 이점은 적은 오버헤드로 프로브를 많은 대상 메소드에 삽입할 수 있다는 것입니다.
클래스에 있는 메소드 중에서 필터 규칙을 충족시키고 인스트루먼테이션에 적합한 메소드가 있는 경우, 이 클래스를 "프로브된 클래스"라고 합니다.
상위 주제: 사용자 정의 프로브를 사용하여 런타임 데이터 수집
관련 정보
기본 샘플 프로브