Angepasste Anforderungen definieren

Standardmäßig werden nur bestimmte Typen von Java™-Klassen und -Methoden als Anforderungen vom Datenkollektor überwacht. Servlets, JSPs, EJB-Geschäftsmethoden und bestimmte Java EE-Standard-APIs gelten als Anforderungen. Sie können zusätzliche Klassen und Methoden als angepasste Anforderungen definieren.

Informationen zu diesem Vorgang

Um die Überwachung angepasster Anforderungen durch den Datenkollektor zu aktivieren, definieren Sie die angepassten Anforderungen in einer XML-Datei und legen Sie die Eigenschaft am.camtoolkit.gpe.customxml.custom in der angepassten Toolkit-Eigenschaftendatei fest.

Beispielsweise erkennt der Datenkollektor Struts-Aktionsklassen nicht standardmäßig als Anforderungen. Sie können jedoch Definitionen für angepasste Anforderung festlegen und somit die Erkennung der Aktionen als verschachtelte Anforderungen bewirken.

Vorgehensweise

Gehen Sie folgendermaßen vor, um die Überwachung von angepassten Anforderungen zu aktivieren und eine oder mehrere Methoden als angepasste Anforderungen zu definieren:

  1. Erstellen Sie eine Kopie der Datei ausgangsverzeichnis_des_datenkollektors/itcamdc/etc/custom_requests.xml an einer temporären Position. Öffnen Sie die Kopie anschließend in einem Texteditor.
  2. Ändern Sie die Parameter in der Datei.
    In der folgenden Tabelle sind die Parameter beschrieben, die Sie ändern können.
    Tabelle 1. Parameter der Konfigurationsdatei für angepasste Anforderungen
    Tagname Beschreibung
    edgeRequest Gibt eine oder mehrere Anwendungsmethoden an, die für die Verarbeitung von angepassten Anforderungen Bytecode-instrumentiert werden sollen. Durch eine Änderung der Tags requestName, Matches, type und methodName innerhalb des Tags edgeRequest können Sie die Auswahl anpassen.

    Jedes Tag edgeRequest muss exakt 1 Tag methodName sowie eines oder mehrere Tags Matches enthalten. Sie können mehrere Tags edgeRequest angeben.

    requestName Definiert einen eindeutigen Namen für diese Anforderung. Der Name der Anforderung wird für den Benutzer angezeigt, wenn für den Methodeneintritt und -exit ein Trace erstellt wird.
    Matches Gibt eine oder mehrere Klassen an, in der/denen die Methoden enthalten sind, die für die Verarbeitung von angepassten Anforderungen Bytecode-instrumentiert werden sollen. Ein einziges Tag edgeRequest kann mehrere Tags Matches enthalten.
    type Gibt an, ob es sich bei einer Klasse um eine Systemklasse oder um eine Anwendungsklasse handeln muss, damit eine Übereinstimmung mit dem Tag edgeRequest vorliegt.
    methodName Gibt die Namen der Methoden innerhalb einer der Klassen an, die im Tag Matches angegeben sind und für die Verarbeitung von angepassten Anforderungen Bytecode-instrumentiert werden sollen. Sie können exakt 1 Tag methodName in jedem Tag edgeRequest angeben.
    requestMapper Optional. Falls dieser Tag angegeben ist, ermittelt der Datenkollektor die Informationen, die die Anforderung kennzeichnen, mithilfe einer Anforderungszuordnungsfunktion. Sie können vom Standard abweichende Verfahren für das Extrahieren dieser Informationen definieren. Weitere Angaben zum Aktivieren und Definieren von Anforderungszuordnungsfunktionen finden Sie unter Anforderungsinformationszuordnung anpassen.
    Hinweis: Die Tags Matches und methodName können Platzhalterzeichen enthalten. Im Folgenden wird die Funktionsweise der Platzhalterzeichen beschrieben:
    • Ein allein verwendeter Stern (*) steht für 0 oder mehr Vorkommen eines beliebigen Zeichens. Ist er in eine Zeichenfolge eingebettet (z. B. java.*.String), steht er für 0 oder mehr Vorkommen eines beliebigen Zeichens, mit Ausnahme des Pakettrennzeichens (.).
    • Mit zwei Punkten (..) können alle Unterpakete angegeben werden. Dieser Platzhalter entspricht einer beliebigen Zeichenfolge, die mit dem Pakettrennzeichen (.) beginnt und endet. Die Angabe java..String stimmt beispielsweise mit java.lang.String überein. Die Angabe com.ibm..* stimmt mit jeder Deklaration überein, die mit com.ibm beginnt.
    Als Beispiel soll nun eine Anwendung mit dem Paketnamen com.mycompany.myapp herangezogen werden, für die folgende Anforderungen gelten:
    • Innerhalb der Klasse Customer muss die Methode creditCheck() als angepasste Anforderung namens CreditCheck behandelt werden.
    • Innerhalb der Klasse Supplier muss die Methode inventoryCheck() als angepasste Anforderung namens SupplyCheck behandelt werden.
    Das folgende Beispiel zeigt den Inhalt der angepassten Datei custom_requests.xml, durch die diese Anforderungen erfüllt werden:
        <customEdgeRequests>
              <edgeRequest>
                      <requestName>CreditCheck</requestName>
                      <Matches>com.mycompany.myapp.Customer</Matches>
                      <type>application</type>
                      <methodName>creditCheck</methodName>
              </edgeRequest>
              <edgeRequest>
                      <requestName>SupplyCheck</requestName>
                      <Matches>com.mycompany.myapp.Supplier</Matches>
                      <type>application</type>
                      <methodName>inventoryCheck</methodName>
              </edgeRequest>
        </customEdgeRequests>   
  3. Führen Sie einen der folgenden Schritte aus:
    • Speichern Sie die Datei im Verzeichnis ausgangsverzeichnis_des_datenkollektors/runtime/anwendungsserverversion.knotenname.profilname.servername/custom. Legen Sie anschließend in der angepassten Eigenschaftendatei des Toolkits für die Eigenschaft am.camtoolkit.gpe.customxml.custom den Namen (ohne Pfad) der Datei fest, die Sie in Schritt 2 geändert haben.
    • Speichern Sie die Datei in einem beliebigen Verzeichnis auf Ihrem Computer. Legen Sie anschließend in der angepassten Eigenschaftendatei des Toolkits für die Eigenschaft am.camtoolkit.gpe.customxml.custom den Pfad und den Namen der Datei fest, die Sie in Schritt 2 geändert haben.
    Weitere Informationen zur angepassten Eigenschaftendatei des Toolkits finden Sie unter Eigenschaftendatei des Toolkits.