Visión general de Probekit

Probekit es una infraestructura de la plataforma Eclipse que puede utilizarse para escribir y utilizar sondas. Las sondas son fragmentos de código Java™ que pueden insertarse en un programa para suministrar información acerca del programa a medida que se ejecuta.

Para entender qué son las sondas, empiece por la sonda de ejemplo descrita aquí. Es una sonda básica que imprime un mensaje que identifica todos los métodos a los que se llama cuando se ejecuta el programa.

Las sondas se definen mediante entradas efectuadas en el editor de Probekit. Este ejemplo contiene un solo fragmento; los fragmentos determinan la acción que realiza la sonda. Las definiciones de fragmento incluyen:

Este es el aspecto de la sonda en el editor de Probekit:

Editor de Probekit que muestra las entradas del ejemplo de código base descrito en el tema de ayuda.

Una vez creada una sonda mediante el editor de Probekit, puede aplicarla a los archivos class y jar del proyecto. A continuación, cuando ejecute el proyecto, el código del fragmento se ejecutará junto con el programa.

A continuación se ofrece una visión general de la creación y utilización de sondas, incluida la información acerca de la ayuda facilitada por Probekit:
  1. El editor de Probekit se utiliza para crear sondas en archivos fuente de Probekit. Los archivos fuente de Probekit deben tener la extensión .probe. Pueden contener una o varias sondas, cada una de las cuales puede contener uno o más fragmentos de sonda.
  2. Probekit ensambla los fragmentos de sonda en un conjunto de métodos Java y, a continuación, los compila. Cuando Probekit compila una sonda, combina los fragmentos de sonda con código modelo Java estándar y genera código fuente Java para una clase de sonda nueva. Las funciones generadas a partir de los fragmentos de sonda aparecen como métodos estáticos de la clase de sonda generada.
  3. Al aplicar una sonda, se especifican archivos class y jar destino que se desea investigar. El motor BCI (instrumentación de códigos de bytes) de Probekit hace referencia a la lista de sondas disponibles y a sus patrones destino e inserta las llamadas a métodos de fragmento de sonda en los programas destino. El proceso de insertar sentencias de llamada en métodos destino se denomina instrumentación. Una clase que contiene un método instrumentado se denomina clase sondeada. Los elementos de datos solicitados por un fragmento de sonda (por ejemplo, el nombre de clase y el nombre de método) se pasan como argumentos.
  4. Después de instrumentar la aplicación. Los fragmentos de sonda se ejecutarán cuando lo haga el programa.
El tipo del fragmento de sonda determina cuándo se ejecuta un fragmento. Puede especificar tipos que provoquen la ejecución del fragmento en los siguientes casos:

Los fragmentos de sonda pueden acceder a elementos de datos que proporcionan distintas informaciones acerca de la aplicación en el punto en el que se insertan. Por ejemplo:

Si desea aplicar una sonda sólo a determinadas clases y métodos, especifique destinos o disponga filtros. Para obtener más información, consulte la sección Destinos y filtros de sondas.

Conceptos relacionados
Trabajar con sondas
Sondas de método frente a sondas de sitio de llamada
Consulta relacionada
Ejemplos de Probekit