コントローラ UI からデータコレクタを追加する代わりに、Java エージェント SDK を使用してカスタムデータを追加できます。

フィールドは、トランザクション分析の「Custom Method Data」というセクションの下に表示されます。

次のようなコードをアプリケーションに追加します。

//include the app agent SDK packages
 
import com.appdynamics.apm.appagent.api.AgentDelegate;
import com.appdynamics.apm.appagent.api.DataScope;
import com.appdynamics.apm.appagent.api.IMetricAndEventReporter;
 
public void someMethod(String stringParam, int intParam, ComplexObject complexObjParam) {

    //Get the data reporter.
    IMetricAndEventReporter reporter = AgentDelegate.getMetricAndEventPublisher();

    //Define the scope for data collection.
    Set<DataScope> allScopes = new HashSet<DataScope>();
    allScopes.add(DataScope.ANALYTICS);
    allScopes.add(DataScope.SNAPSHOTS);

    Set<DataScope> analyticsScope = new HashSet<DataScope>();
    analyticsScope.add(DataScope.ANALYTICS);

    //Add data to different scopes based on the need.
    //Here both key1 and key2 are collected for both snapshots and analytics
    reporter.addSnapshotData("key1", stringParam, allScopes);
    reporter.addSnapshotData("key2", intParam, allScopes);

    //Here key3 is only collected for analytics.
    //Since the passed object is a complex java object and not a primitive type, toString() method is invoked on it and the string value will
    //be collected.
    reporter.addSnapshotData("key3", complexObjParam, analyticsScope);

    .........
    Business logic.

JAVA

メソッドの 3 番目のパラメータは、カスタムデータを収集する範囲を定義する一連の enum、DataScope です。

  • スナップショットのカスタムデータのみを収集するには、3 番目のパラメータとして DataScope.SNAPSHOTS を使用します。 
  • 分析用のカスタムデータを収集するには、3 番目のパラメータとして DataScope.ANALYTICS を使用します。
  • カスタムデータをスナップショットと分析の両方に追加する必要がある場合は、両方の enum を 3 番目のパラメータとしてセットで渡す必要があります。 

addSnapshotData() のメソッドの詳細

boolean addSnapshotData(java.lang.String key,
                        java.lang.Object value,
                        java.util.Set<DataScopes> dataScopes
CODE

メソッドパラメータ

  • key:キー
  • value:プリミティブ型は値として渡すことができ、型(int、boolean など)が尊重されます。文字列は値として渡すことができます。ただし、複合オブジェクトを渡すと、エージェントはそのオブジェクトに対して .toString() 操作を実行することに注意してください。
  • dataScopes:カスタムデータ収集の範囲:
    • Datascope.SNAPSHOTS
    • Datascope.ANALYTICS

返り値

エージェントが指定範囲のキーと値のペアを正常に収集した場合は true。