Een doelspecificatie geeft de klassen en methoden aan waarop de probe van toepassing is.
De doelspecificatie is optioneel. Als er geen doel is opgegeven, wordt de probe toegepast op alle klassen die worden verwerkt door de instrumentatie-engine.
Aan de hand van een doelspecificatie kunt u filters maken voor het opnemen of uitsluiten van methoden bij instrumentatie op basis van patronen die worden gezocht in pakketten, klassen, methodenamen en handtekeningen van methoden. De zoekpatronen kunnen jokertekens bevatten, waarbij "*" overeenkomt met nul of meer tekens.
Als het jokertekenpatroon van een doel overeenkomt met het pakket, de klasse, de naam of de handtekening van een methode, bepaalt de eigenschap type of de methode wordt geïnstrumenteerd (include) of niet (exclude). Als het patroon niet overeenkomt met het pakket, de klasse, de naam of de handtekening van een methode, wordt de methode standaard geïnstrumenteerd.
Eigenschap | Beschrijving |
---|---|
type | Verplicht. De eigenschap type bepaalt of een probe wordt toegepast op een doelmethode. Door include op te geven past u de probe toe op klassen en patronen die overeenkomen met het zoekpatroon met jokertekens. Met exclude sluit u ze uit. |
package | Optioneel. U geeft een zoekpatroon met jokertekens op dat overeen moet komen met het pakketgedeelte van de klassennamen. Een voorbeeld: java.util* komt overeen met alle klassen in het pakket java.util en de subpakketten. Als u niets opgeeft, is de standaardwaarde *. |
className | Optioneel. U geeft een zoekpatroon met jokertekens op dat overeen moet komen met klassennamen. Als u niets opgeeft, is de standaardwaarde *. |
method | Optioneel. U geeft een zoekpatroon met jokertekens op dat overeen moet komen met methodenamen. Als u niets opgeeft, is de standaardwaarde *. |
signature | Optioneel. U geeft een zoekpatroon met jokertekens op dat overeen moet komen met een methodehandtekening. (De handtekening is de tekenreeks die de argumenten en het retourtype van de methode aangeeft.) Gebruik de interne Java-indeling voor methodehandtekeningen. Een voorbeeld: (Ljava/lang/Object;)D is de handtekening van een methode die een object als parameter ontvangt en een dubbelbytegetal retourneert. U kunt dit zoekpatroon gebruiken om onderscheid te maken tussen overbelaste methoden. Als u niets opgeeft, is de standaardwaarde *. |
Opmerkingen:
Om een doel op te geven kiest u Doel in het structuuroverzicht van de pagina Probes en klikt u op Toevoegen en Bewerken in het bewerkingsvenster.
In het voorbeeld is de probe alleen van toepassing op de methoden die beginnen met Get in de klassen die beginnen met Proxy in het pakket com.example. Doelitems van de typen opname en uitsluiting; het item voor uitsluiting gebruikt sterretjes om alles uit te sluiten; het item voor opname geeft exact de methoden aan die als doel fungeren. Alle andere klassen en methoden worden uitgesloten van instrumentatie.