デフォルトで、次を作成または更新した後にはモニタ対象のアプリケーションを再起動する必要があります。

  • POCOトランザクション検出エントリポイント
  • POCOサービスエンドポイント
  • カスタムイグジットポイント
  • メソッド呼び出しおよび HTTP データコレクタ
  • インフォメーションポイント

ランタイムのリインストゥルメンテーションを有効化すると、.NET エージェントはインストゥルメンテーション変更のタイプを検出し、CLR が影響を受けるコードを再コンパイルすることを自動的に要求します。ランタイムのリインストゥルメンテーションを有効にすると、インストゥルメンテーションの変更を適用する場合に、アプリケーションを再起動する必要がありません。詳細については、.NETエージェントの管理を参照してください。

要件

ランタイムのリインストゥルメンテーションは、.NET Framework 4.5.2 以降で動作します。アプリケーションの web.config ファイルでフレームワークバージョンを確認する場合は、次のように入力します。

<system.web>
    <compilation targetFramework="4.5.2"/>
    <httpRuntime targetFramework="4.5.2"/>
</system.web>

.NETのランタイムリインストゥルメンテーションを構成

config.xml ファイルで .NET エージェントのすべてのインストゥルメンテーション設定を構成します。

  1. 管理者として config.xml ファイルを開き、編集。「.NETエージェントの管理を参照してください。
  2. 次のコードブロックを app-agents エレメントの子エレメントにコピー。「デフォルトのプロファイラエレメント」を参照してください。

    <profiler>
       <runtime-reinstrumentation enabled="true" interval="60000"/>
    </profiler>
    
    CODE

    例:

    <?xml version="1.0" encoding="utf-8"?>
    <appdynamics-agent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    ...
    <app-agents>
        <profiler>
          <!-- Enable runtime reinstrumentation -->
          <runtime-reinstrumentation enabled="true" interval="60000"/>
        </profiler>
    ...
    </app-agents>
    </appdynamics-agent>
     
    CODE
  3. 必要に応じて 、runtime-reinstrumentation オプションを構成します。
    • enabled:ランタイム リインストゥルメンテーションを有効にするには、true に設定。デフォルトでは60000。 false

    • interval:エージェントが構成の更新を確認する頻度(ミリ秒単位)。デフォルトでは 60000。 

      ランタイムリインストゥルメンテーションは少量のシステムオーバーヘッドを追加するため、AppDynamicsでは最小の間隔として1分または60000ミリ秒を推奨。

      .NETエージェントは毎分構成の更新をチェックするので、デフォルト設定の60000ミリ秒とあわせて、リインストゥルメンテーションが有効になるまで最大で2分かかることがあります。

  4. config.xml ファイルを保存。
  5. AppDynamics.Agent.Coordinator サービスを再起動します。
  6. インストゥルメント化されたアプリケーションを再起動して、変更を適用。