メソッド呼び出しデータコレクタの例

メソッド呼び出しデータコレクタは、Java および .NET に適用できます。

この(ウィザードを使用しない)手動設定の例では、Java アプリケーションでメソッド呼び出しデータコレクタを設定します。次のスニペットに示されるメソッド getCartTotal() のデータコレクタを、データソースとして後で使用するメソッド getUser() とともに作成します。

パッケージcom.appdynamicspilot.model;
...
パブリッククラス Cart は java.io.Serializable を実装しています
    ...
    プライベート二重のfakeAmount = 0.0。
    ...
    プライベートユーザーユーザー 
    ...
    パブリックユーザーgetUser()
        ユーザーを返します。
    }
    ...
    public Double getCartTotal()
        if(fakeAmount == 0.0)
            double total = 0;
            if (items != null) {
                (Item : 品目) の
                    total += item.getPrice();
                }
            }
            合計を返します。
        ] は、fakeAmount を返します。
    }
   ...
}

アプリケーションのデータコレクタを構成するには、データコレクタを追加して構成します。

  1. データコレクタを追加する場合は、構成に応じて適切に選択してください。
  2. まだ入力されていない場合は、クラスとメソッドを追加します。クラスとメソッド名は、メソッドを識別するために使用されます。
  3. [] チェックボックスで、[] を選択してトラブルシューティング用および APM スナップショット用のメタデータを追加するか、または []を選択して、後で分析プラットフォームで使用するトランザクションの実行に関するメタデータを収集します。トランザクション スナップショットのみから開始することをお勧めします。対象のデータ収集が確認されたら、トランザクション分析を有効にします。
  4. [] または []をクリックして、ポップアップから正しいパラメータを選択します。
    1. メソッドがオーバーロードされると、メソッドパラメータが追加されます。[] をクリックすると、パラメータインデックス 0 が追加されます。パラメータの完全修飾クラス名を追加します。
    2. 一致条件を使用すると、メソッドまたはコード行が複数回呼び出されたときに特定のデータを選択できます。一致条件は、メソッドパラメータまたは戻り値を使用します。[] を選択すると、[Create Match Condition] ポップアップが開きます。必要な選択を行い、 [パスワード を 変更)]をクリックします。
    3. データコレクタを設定する場合は、[]の横にあるチェックボックスに注意します。
      1. このボックスをオンにすると、新しいビジネストランザクションにルールが自動的に適用されます。
      2. このチェックボックスをオフにすると、[]に移動して、ビジネストランザクションにルールを手動で適用する必要があります。
    4. 複数のコレクションタイプを追加するには、[このメソッド呼び出しから収集するデータの指定(Specify the Data to Collect from this Method Invocation)] の下の [追加(Add)] をクリックして、データのソースを設定します。コードのこのセクションでは、呼び出されたオブジェクトと user.getCustomerName の getter チェーンを使用します。このコードスニペットは、呼び出されたオブジェクトのユーザ名をキャプチャする方法の例です。Cart クラスは、Cart と同じパッケージ内の次のクラスに基づいて User オブジェクトをインスタンス化します。User クラスには、ユーザーの名前を返すためのメソッド getCustomerName() が含まれていることに注意してください。
    Getterチェーンを使用すると、このメソッドを同じデータコレクタ内の別のデータソースとして識別できます。たとえば、データのソースとして [呼び出されたオブジェクト(Invoked Object)] を選択できます。Getter チェーン getUser().getCustomerName() は呼び出されたオブジェクトのオペレーションです。PHP エージェントでは、MIDC によって収集されたメソッドの戻り値がどの変数にも保存されていない場合、スナップショットと分析データの両方で「null」と表示されます。
  5. 作業が完了したら、[Save] をクリックします。
メソッド呼び出しデータコレクタを構成したら、[Instrumentation] ペインで [] をクリックすると、特定のデータコレクタにトランザクションをドラッグアンドドロップ(または強調表示して移動)できます。

遅い、非常に遅い、停滞したトランザクションのトランザクション スナップショットが完了すると、トランザクション スナップショットには指定されたユーザデータが含まれます。