메소드 프로브와 호출 사이트 프로브와 같은 두 종류의 프로브가 있습니다.
메소드 프로브는 대상 메소드 본문에 삽입됩니다. 메소드 프로브의 경우, BCI(Byte-Code Instrumentation) 엔진은 대상 메소드가 들어 있는 JAR 파일 또는 클래스를 인스트루먼트화합니다.
호출 사이트 프로브는 대상 메소드를 호출하는 모든 메소드 본문에 삽입됩니다. 즉, 호출 사이트에서 호출된 메소드가 아니라 호출 메소드로 삽입됩니다. 호출 사이트 프로브의 경우, BCI 엔진은 대상 메소드를 호출하는 메소드가 들어 있는 JAR 파일 또는 클래스를 인스트루먼트화합니다.
호출 사이트 프로브는 종종 프로젝트에서 시스템 라이브러리 또는 프로젝트 외부에 있는 기타 지원 클래스로의 호출을 모니터하려 할 때 사용됩니다. 호출 사이트 프로브는 대상 메소드가 될 메소드를 포함하는 클래스 파일을 인스트루먼트화할 수 없거나 수행이 어려운 경우에도 유용합니다.
프로브가 메소드 프로브인지, 호출 사이트 프로브인지는 프로브 단편 유형에 따라 결정됩니다. 어노테이션이 있는 프로브 단편 유형 목록은 프로브 단편 유형을 참조하십시오.
Probekit 소스 파일(프로브 파일)은 메소드 프로브 및 호출 사이트 프로브 모두 포함할 수 있습니다. 그러나 개별 프로브는 메소드 및 호출 사이트 프로브 단편을 혼합하여 포함할 수 없습니다. 프로브에 있는 모든 프로브 단편의 카테고리는 동일해야 합니다.