JetBrains Rider 2026.1 Help

OpenTelemetry

OpenTelemetry プラグインは、開発ワークフローにランタイムの可観測性をもたらします。 ログ、メトリクス、トレースを収集、処理、表示することで、アプリケーション内の実行時の動作やサービス間の関係性を理解できます。

OpenTelemetry プラグインをインストールする。

この機能は、インストールして有効にする必要がある OpenTelemetry(英語) プラグインに依存しています。 詳細については、 プラグイン設定を開く を参照してください。

  1. Ctrl+Alt+S を押して設定を開き、 プラグイン を選択します。

  2. Marketplace タブを開き、 OpenTelemetry プラグインを見つけて、 インストール をクリックします (プロンプトが表示されたら、IDE を再起動します)。

インストールが完了すると、プラグインによって OpenTelemetry サービスが サービスウィンドウ に追加されます。 デフォルトでは、 プロジェクトを実行するとすぐにサービスのデータ収集が開始されます(現在は .NET プロジェクト.NET 起動設定構成がサポートされています)。

JetBrains Rider: サービスウィンドウの OpenTelemetry

ほとんどの場合、ターゲット アプリケーションを開始する前に OpenTelemetry サービスを実行しておく必要があるため、デフォルトでは Rider を起動するとサービスも自動的に開始されます。 この設定を変更するには、JetBrains Rider 設定 Ctrl+Alt+Sツール | OpenTelemetry ページで 起動時に OpenTelemetry ホストを起動する チェックボックスのチェックを外してください。

サービスを開始および停止するには、 サービス ウィンドウで OpenTelemetry ノードを選択し、ツールバーの対応するボタンを使用します。

JetBrains Rider: OpenTelemetry ツールバー

サービスが実行中の場合、ツールバーにはホストアドレスと対応する環境変数も表示されます。 これらを使用して gRPC OTLP エンドポイントを手動で追加し、IDE 外でローカルに起動されたアプリを分析対象に追加できます。

デフォルトではポートはランダムに割り当てられますが、JetBrains Rider 設定 Ctrl+Alt+Sツール | OpenTelemetry ページにある 固定の OTLP サーバーポートを使用する チェックボックスを使用して変更できます。

IDE から起動された .NET アプリケーションでは、 OTEL_EXPORTER_OTLP_ENDPOINT 環境変数が自動的に設定されます。 つまり、アプリケーションが OpenTelemetry で構成済みで OTLP エクスポーターが追加されているものの、エンドポイントがコード内で明示的に設定されていない場合、アプリケーションは自動的に Rider OTLP サーバーへのデータ送信を開始します。 環境変数の自動割り当てを無効化するには、JetBrains Rider 設定 Ctrl+Alt+Sツール | OpenTelemetry ページで OpenTelemetry 環境変数を上書きする チェックボックスをオフにしてください。

OpenTelemetry データの研究

OpenTelemetry データの単位は、アプリケーションインスタンス(スペックでは サービスインスタンス(英語) )です。 デフォルトでは、インスタンスは GUID で識別され、生成元のアプリケーションごとにグループ化されます。 ログ タブには、タイムスタンプ、ログレベル、ログメッセージなどの詳細情報が表示されます。 ログをテキスト、レベル、その他の属性でフィルタリングすることで、関連する情報に簡単に絞り込むことができます。

JetBrains Rider: サービスインスタンスの OpenTelemetry ログ

ログとメトリクスはメモリに保存され、OTLP サーバーが再起動するとクリアされます。

コンテキストメニューを使用して、ツリービューから不要なインスタンスを削除できます。

ツールバーの コードへ移動 をクリックすると、ログエントリから対応するソースコードの場所へ移動できます。 ただし、ログエントリに {OriginalFormat} 属性が含まれている必要があり、サードパーティのコードや逆コンパイルされたコードへのナビゲーションはサポートされていないことに注意してください。

ツールバーの エディターで開く。​ をクリックすると、ログエントリが JSON にシリアル化され、エディターで開きます。 シリアル化されたエントリは保存され、 エクスプローラーツールウィンドウスクラッチとコンソール ノードで利用できるようになります。

痕跡と範囲を調べる

トレース タブには、利用可能なすべての トレース(英語)とその詳細が表示されます。 トレースは、時間、期間、ID でフィルタリングできます。

スパン(英語)を視覚的に調べるには、リスト内のトレースを選択し、 トレースを調べる をクリックします。

JetBrains Rider: OpenTelementry - トレース - ビューをスパン

サービスマップ

複数のアプリやサービスを分析する場合、 トレース(英語)に基づいてアーキテクチャダイアグラム(サービスマップ)を作成できます。 マップにはサービス、エンドポイント、データベース、メッセージキューが表示され、システム内の相互作用パターンと依存関係を理解できます。

サービスマップにデータを入力するには、アプリとサービスが分散トレース (HTTP リクエストなどを通じて) を生成することを確認します。

サービスマップを表示するには、 サービス ウィンドウで OpenTelemetry ノードを選択し、対応するツールバーボタンをクリックします。

JetBrains Rider: OpenTelemetry サービスマップ

自動計測

IDE から ASP.NET Core アプリを実行すると、JetBrains Rider は実行時に必要な OpenTelemetry 依存関係を挿入できるため、アプリは自動的に OpenTelemetry データの送信を開始します。

自動計測機能はデフォルトで無効になっています。 有効化するには、JetBrains Rider 設定 Ctrl+Alt+Sツール | OpenTelemetry ページで 自動計測を許可する チェックボックスをオンにしてください。

自動インストルメンテーションは、迅速なテストを目的としています。 本番環境に近い環境では、OpenTelemetry の依存関係を手動で追加および設定することをお勧めします。 プロジェクトにすでに OpenTelemetry パッケージが含まれている場合、自動インストルメンテーションはスキップされます。

手動計装の例

自動インストルメント化される ASP.NET Core アプリの例を次に示します。

var builder = WebApplication.CreateBuilder(args); var app = builder.Build(); app.MapGet("/", () => "Hello World!"); app.Run();

以下は OpenTelemetry 依存関係が構成された同じアプリです。

var builder = WebApplication.CreateBuilder(args); builder.Services.AddOpenTelemetry() .ConfigureResource(resource => resource.AddService(builder.Environment.ApplicationName)) .WithMetrics(metrics => { metrics .AddAspNetCoreInstrumentation() .AddRuntimeInstrumentation() .AddMeter("Microsoft.AspNetCore.Hosting") .AddMeter("Microsoft.AspNetCore.Server.Kestrel"); }) .WithTracing(tracing => { tracing .AddAspNetCoreInstrumentation(); }) .UseOtlpExporter(); builder.Logging.AddOpenTelemetry(logging => { logging.IncludeFormattedMessage = true; logging.IncludeScopes = true; }); var app = builder.Build(); app.MapEndpoints(); app.MapGet("/", () => "Hello World!"); app.Run();

ローカル OpenTelemetry プロバイダーとの統合

Rider OpenTelemetry Satellite サービスは OTLP gRPC コレクター / エクスポーター API(英語) をサポートしており、IDE 外で動作する既存のローカル OpenTelemetry プロバイダーとの統合を可能にします。 これにより、テレメトリデータ(トレース、ログ、メトリクス)を Rider に直接送信することも、ローカルの OpenTelemetry Collector を介して送信することもできます。

テレメトリデータを直接送信

  1. JetBrains Rider 設定 Ctrl+Alt+Sツール | OpenTelemetry ページで、 OpenTelemetry 環境変数を上書きする を無効化し、 固定の OTLP サーバーポートを使用する を構成して Rider OpenTelemetry サービスを固定ポートにバインドします。

  2. アプリケーションで、OTLP エクスポーターを Satellite サービスを指すように設定してください。 エンドポイントは http://localhost:<port> であり、 <port> はプラグイン設定で構成された値です。

複数の宛先 (Rider や外部監視サービスなど) にデータを転送する必要がある場合は、 オープンテレメトリコレクター(英語)を使用します。

OpenTelemetry Collector 経由でテレメトリデータの統合を送信

  1. JetBrains Rider 設定 Ctrl+Alt+Sツール | OpenTelemetry ページで、 OpenTelemetry 環境変数を上書きする を無効化し、 固定の OTLP サーバーポートを使用する を構成して Rider OpenTelemetry サービスを固定ポートにバインドします。

  2. アプリケーションの OTLP エクスポータからテレメトリデータを受け入れるように OpenTelemetry Collector を構成します。

    Rider OpenTelemetry Satellite サービスにデータをエクスポートするには、エクスポーターとして追加します (例: endpoint: "localhost:17011")。

  3. Rider OpenTelemetry Satellite サービスをコレクターとして追加します。 例えば:

    otlp/satellite: endpoint: "localhost:17011" tls: insecure: true
  4. OpenTelemetry Collector 設定で適切なパイプライン(トレース / メトリクス / ログ)を参照し、それらのパイプラインに Rider OpenTelemetry Satellite サービスを含めます。 例えば:

    service: pipelines: traces: receivers: ... exporters: [otlp/satellite] metrics: receivers: ... exporters: [otlp/satellite] logs: receivers: ... exporters: [otlp/satellite]
2026 年 6 月 12 日