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
    • を含む
  3. XMLファイルを変更したJVMを再起動します。
    JVM を再起動すると、パッケージがインストゥルメンテーションに含まれます。