.NET Coreエージェントのプロファイラチェーン
プロファイラチェーンを使用して、.NET Core APMプロファイラと併せて.NET Coreエージェントを実行できます。
Contrast .NET Coreエージェントは、ランタイム、デプロイタイプ、OSの特定の組み合わせを前提として、以下のプロファイリングツールとの互換性をテストおよび検証済みです。
プロファイリングツール | 検証済バージョン | .NET Coreランタイム | サードパーティプロファイラのデプロイタイプ | OS |
---|---|---|---|---|
AppDynamics | 21.8.1 | 6.0 | インストーラ使用、NuGetパッケージ | Windows |
Dynatrace OneAgent | 1.253.245 | 6.0 | インストーラ使用 | Windows、Linux |
New Relic | 8.23.107 | 6.0 | NuGetパッケージ | Windows、Linux |
リバーベッド SteelCentral Aternity | 12.9.0 | 6.0 | インストーラ使用 | Windows |
Datadog | 2.35.0 | 6.0 | インストーラ使用、NuGetパッケージ | Windows、Linux |
注記
その他のプロファイリングツールでも、CoreCLRプロファイリングAPIの規則に準拠しており、プロファイリング環境に関する前提条件がない場合は、エージェントはそのプロファイリングツールと互換性がある可能性があります。
チェーンはデフォルトで有効になっており、agent.dotnet.enable_chaining
をfalse
に設定することで無効にできます。
agent: dotnet: enable_chaining: false
自動(Windows、IIS)
IIS用.NET Coreエージェントのインストーラを使用する場合、ホストされている全ての.NET Coreアプリケーションに対して、インストーラが自動でチェーンを構成します。
サードパーティのエージェントを最初にインストールし(推奨)、それからContrast .NET Coreエージェントをインストールしてください。
IISワーカを再起動します(デフォルトでは、これはエージェントのインストーラによって自動的に行われます)。再起動すると、Contrast .NET Coreエージェントは、IISに登録されている他のプロファイリングツールの存在を自動的に検出し、Contrast .NET Coreエージェントとサードパーティの両方のプロファイラを読み込むよう環境を構成します。
自動(Linux)
Linuxでは、LD_PRELOAD
環境変数を設定することで自動チェーンを設定することができます。
LD_PRELOAD=<path to the extracted Contrast files>/runtimes/linux-x64/native/ContrastChainLoader.so
例えば、Contrastエージェントを/contrast
に解凍した場合、以下のようにするとチェーンが自動的に設定されます。
LD_PRELOAD=/contrast/runtimes/linux-x64/native/ContrastChainLoader.so dotnet ./HelloWorld
APMプロファイラによっては、既にLD_PRELOAD
が設定されているものもあります(例、 Dynatrace)。この場合、Contrastのモジュールが最初にロードされ、他のLD_PRELOAD
はコロン:
で区切られていることを確認してください。例:
LD_PRELOAD=/contrast/runtimes/linux-x64/native/ContrastChainLoader.so:/<path to Dynatrace>/liboneagentproc.so dotnet ./HelloWorld
注記
Kubernetesの環境で実行する場合、Contrastエージェントオペレータは、自動的にチェーンを設定するため、既存のKuberneteワークロードに対してエージェントを追加するのに推奨する方法です。
手動
以下のような環境では、チェーンを手動で設定する必要があります。
IIS以外でホストされている
(インストールされたエージェントではなく)サードパーティエージェントのNugetパッケージを使用する環境
注記
Dynatraceエージェントとのチェーンは、上記の自動オプションを使用した場合のみにサポートされます。
プロファイリングツールのCLR環境変数を CONTRAST_CCC_CORECLRバージョンに置き換えてください。以下の環境変数名はいずれも置き換える必要があります。
変更すべき変数名
変更後
CORECLR_PROFILER
CONTRAST_CCC_CORECLR_PROFILER
CORECLR_PROFILER_PATH
CONTRAST_CCC_CORECLR_PROFILER_PATH
CORECLR_PROFILER_PATH_32
CONTRAST_CCC_CORECLR_PROFILER_PATH_32
CORECLR_PROFILER_PATH_64
CONTRAST_CCC_CORECLR_PROFILER_PATH_64
そして、エージェントを手動で追加します。