Javaシステムクラスのインストゥルメント化

Java エージェントは、デフォルトでは、インストゥルメンテーションから java.lang.* のようなシステムクラスを除外します。システムクラスのインストルメンテーションを有効にするには、エージェント構成プロパティを使用します。

インストゥルメント化されたシステムクラスは、エージェントが引き起こしたリソースのオーバーヘッドを増大させます。オーバーヘッドの量は、クラスへのコール数によって異なります。Splunk AppDynamics は、システム内のすべてのノードを構成する前にまずいくつかのノードをインストゥルメント化し、これらのノードのパフォーマンスをモニタリングすることを推奨します。

Javaシステムクラスのインストゥルメント方法

  1. インストゥルメンテーションを有効化するノードの <agent_home>/conf/app-agent-config.xml ファイルを開きます。
  2. <bci-processing-excludes> 要素でインストゥルメント化する完全修飾システムクラス名を持つ <override-system-exclude> 要素を追加します。
    <override-system-exclude> 要素は、ブロックリスト('com.sun.*')にもかかわらず、インストゥルメント化のためにクラス(例:'com.sun.jersey')を許可リストに登録するために使用されます。
    例:
    <bci-processing-excludes>
    <override-system-exclude filter-type="equals" filter-value="com.sun.jersey"/>
    </bci-processing-excludes>

    次のフィルタタイプを使用できます。

    • equals
    • startswith
    • contains
  3. XMLファイルを変更したJVMを再起動します。
    JVM を再起動すると、パッケージがインストルメンテーションに含まれます。