dotTrace の新機能

dotTrace の新機能

このページでは、dotTrace の最新の更新と変更について詳しく説明します。

タブ付きスナップショット分析 2025.1

今回のリリースでは、dotTrace にタブ機能を導入しました。これにより、同じスナップショットを複数のタブで異なるフィルター設定で開くことができるようになりました。これにより、パフォーマンスデータのさまざまな側面を同時に分析できます。あるタブで 1 つのデータセットを分析しながら、別のタブで異なるフィルターを適用したり、フィルターをリセットすることなくビューを切り替えたりすることも可能です。

元に戻す / やり直すとフィルター履歴 2024.3

dotTrace のスタンドアロンバージョンでは、 元に戻すおよび やり直しアクションとフィルター履歴の包括的なサポートを導入しました。各フィルターの変更が記録されるようになったため、以前の状態に簡単に戻すことができます。最新の変更を元に戻すには 元に戻すボタンまたはホットキーを使用し、再適用するには やり直しボタンを使用します。ドロップダウンリストにアクセスして、複数の手順を一度に元に戻すこともできます。変更は時系列順にリストされます。

パフォーマンスの向上 2024.2

dotTrace のすべてのバージョンでは、 タイムラインスナップショットや 呼び出しツリーおよび ホットスポットビューのデータの処理速度の向上など、いくつかのパフォーマンスの改善が実現されています。

その他の改善とバグ修正 2024.2

  • dotTrace ビューアーは、すべてのプラットフォームで新しいレンダリングエンジンを使用するようになりました。更新されたビューアーで問題が発生した場合は、dotTrace ホーム | 設定 新しいクロスプラットフォーム dotTrace ビューアーをデフォルトで使用オプションを無効にすることができます。
  • macOS および Linux 用の dotTrace のスタンドアロンバージョンは、 オプションウィンドウを取得します。
  • Windows でカーネルイベントが欠落する問題を修正しました: Windows Defender の干渉により、 タイムラインスナップショットでカーネルサンプリングイベントが欠落していました。
  • 使いやすさを向上させるために、その他の小さな改善とバグ修正も行いました。
Support for MAUI applications

MAUI アプリケーションのサポート 2024.1

これで、MAUI フレームワークに基づいてアプリケーションをプロファイルできるようになりました。

現在、dotTrace は以下をサポートしています。

  • macOS – Mac .NET 7.0+ をターゲットとする Catalyst アプリケーション。タイムラインプロファイリングのみ。
  • Windows – .NET 7.0+ をターゲットとする WinUI アプリケーション。すべてのプロファイリングタイプがサポートされています。すでに実行中のアプリケーションへのアタッチは、タイムラインタイプとサンプリングタイプでのみ使用できます。

このサポートは、dotTrace スタンドアロンおよび Rider と ReSharper に統合された dotTrace で利用できます。

Profiling presets

プロファイリングプリセット 2024.1

dotTrace にユーザーインターフェース (UI) プリセットが含まれるようになりました。プリセットは UI を調整し、特定のアプリケーション ( 一般 (すべてのアプリケーションタイプ)、Unity 開発者Unreal Engine 開発者 ) に関連するプロファイリング設定のみを表示します。

macOS のサポートの改善 2024.1

macOS のプロファイリングを改善しました:

  • 現在、dotTrace のスタンドアロンバージョンでは、実行可能ファイルの代わりにアプリケーションバンドル (.app) を指定できるようになりました。
  • Rider の dotTrace は、macOS 実行構成をプロファイルできます。次のターゲットフレームワークがサポートされています: net7.0-macosnet8.0-macosnet7.0-maccatalystnet8.0-maccatalystXamarin.Mac
Improved configuration of the Timeline profiling mode

タイムラインプロファイリングモード 2023.3 の構成の改善

タイムラインプロファイリングセッションを構成するときに、次の詳細オプションを指定できるようになりました。

  • サンプリングレート – プロファイリングされたアプリケーションのパフォーマンスとデータの精度の間の最適なバランスを見つけることができます。
  • ネイティブ割り当て用の … KB ごとのサンプル割り当て – 収集されるデータの量、つまりスナップショットサイズを削減することで、スナップショット分析のパフォーマンスを向上させることができます。
  • ネイティブシンボルファイルの バックグラウンドでのダウンロードオプション - プロファイリングセッション中にシンボルファイルをダウンロードします。
Profiling data in the Source view

ソースビュー 2023.3 でのデータのプロファイリング

コールツリーを分析する代わりに、ソースコード内でパフォーマンスプロファイリングデータを直接表示できるようになりました。 ソースビューには、コードの特定の行の時間分布情報が表示されます。現時点では、この機能は Windows で作成されたタイムラインスナップショットでのみ利用できます。

改善されたネイティブコード分析 2023.3

  • Windows で作成されたタイムラインスナップショットのネイティブメソッドのソースコードを表示できるようになりました。
  • マネージドスレッドがない場合、デフォルトでネイティブスレッドが表示されるようになりました。

その他の改善点 2023.3

  • タイムラインプロファイリングモードは、.NET および .NET Core フレームワークの System.Data.SqlClient データプロバイダーをサポートするようになりました。SQL クエリフィルターで対応するイベントを表示できます。
  • dotTrace ビューアーの検索ウィンドウ内でパフォーマンスメトリクスを表示できるようになりました。
  • サードパーティツールとの統合のサポートが Linux および macOS で利用できるようになりました。

サンプリング、トレース、行ごとのスナップショットのためのスレッドによるグループ化 2023.2

呼び出しツリービューでは、呼び出しスタックを個々のスレッドごとにグループ化できるため、スレッド固有のパフォーマンスの問題についてより深いインサイトが可能になります。

Linux および macOS の ソースビューツールウィンドウ 2023.2

Linux および macOS 上の dotTrace のスタンドアロンバージョンでは、 ソースビューウィンドウが表示されます。 呼び出しツリーで呼び出しを選択すると、 ソースビューによって対応するメソッドのソースコードが表示されます。

その他の改善とバグ修正 2023.2

  • タイムラインスナップショットの場合、dotTrace ビューアーは、すべてのスレッドを ネイティブとして表示するのではなく、ネイティブスレッドの名前を表示するようになりました。この機能は、Unity 開発者に有益であり、特定の Unity スレッドを区別できるようになります。Windows でのみ利用可能です。
  • dotTrace Viewer の ソースビューウィンドウに、コードの各行の呼び出し数が表示されるようになりました。

dotTrace は macOS および Linux のベータ 2023.1 です

dotTrace のスタンドアロンバージョンが、Linux および macOS で利用できるようになりました。これで、パフォーマンススナップショットの収集と分析を含む、これらのオペレーティングシステムでの完全なプロファイリングワークフローを実行できます。

Windows ARM64 のサポート 2022.3

これで、Windows の ARM64 CPU で dotTrace を使用できるようになりました。これは、スタンドアロンの dotTrace、Rider の dotTrace、Visual Studio の dotTrace、および dotTrace コマンドラインツールのすべてのバージョンに適用されます。

Linux ARM32 のサポート 2022.3

Linux の ARM32 CPU で dotTrace コマンドラインプロファイラーを実行できるようになりました。サポートされているフレームワークは、.NET Core 3.1 と .NET 5.0 – 7.0 です。タイムラインプロファイリングタイプは、.NET 6.0 アプリケーションでのみサポートされていることに注意してください。

パフォーマンスビューアーの破棄 2022.3

このリリースの前は、サンプリング、トレース、行ごとのパフォーマンススナップショットを従来の パフォーマンスビューアーで開く必要がありましたが、タイムラインスナップショットは最新の タイムラインビューアーで開いていました。これは、ビューアーのユーザーインターフェースとスナップショット分析へのアプローチが異なるため、全体的なユーザーエクスペリエンスを悪化させました。

現在、dotTrace ビューアー (以前の タイムラインビューアー ) を優先して パフォーマンスビューアーを取り除きます。dotTrace はそれを使用して、すべてのタイプのスナップショットを開きます。ただし、必要に応じて、廃止された パフォーマンスビューアーを引き続き使用することができます。 パフォーマンスビューアーを使い続けることを選択した場合は、その理由をお聞かせください。あなたのフィードバックは大歓迎です !

スナップショット分析の改善 2022.3

dotTrace ビューアーはすべてのタイプのスナップショットを開くようになったため、パフォーマンススナップショットを比較する際にその強力な機能をすべて使用できます。

  • 新しい「フィルターとしての比較」の概念により、サンプリング、トレース、行ごとのスナップショットの比較が容易になります。
  • サンプリング、トレース、行ごとのスナップショットでサブシステムをフィルタリングできるようになりました。
  • dotTrace ビューアー プレーンリストビューが追加されました。サンプリング、トレース、ラインごとのスナップショット、タイムラインスナップショットに使用できます。

ネイティブシステムコール 2022.2 のサポートの改善

dotTrace は、Windows カーネル呼び出し (ntoskrnl.exe)、デバイスドライバー呼び出し (*.sys) などを含む、 タイムラインコールツリーのネイティブシステムコールの詳細を提供するようになりました。

JetBrains Rider 2022.2 における dotTrace の改善点

プロファイリングプロセスを開始するために Unity エディターを再起動する必要がなくなりました。プロファイラーは、実行中の Unity プロセスにアタッチおよびデタッチできるようになりました。

musl ベースの Linux ディストリビューションのサポート 2022.1

dotTrace コマンドラインツールと Rider の dotTrace は、Alpine バージョン 3.13 – 3.15 をサポートするようになりました。次の CPU とフレームワークがサポートされています。

  • x64:.NET Core 3.1、.NET 5.0 – 6.0。
  • arm64:.NET 5.0 – 6.0。

.NETCoreNetTrace ファイル形式のサポート 2022.1

これで、dotTrace ホームメニューから dotnet-trace collect: で収集された NetTrace ファイルを開き、 スナップショットを開くをクリックして、.nettrace ファイルを選択できます。

SQL Server イベントのサポートの改善 2022.1

現在、dotTrace は、Windows (.NET Core、.NET 5+) 上の Microsoft.Data.SqlClient プロバイダーからの SQL Server イベント、および macOS と Linux (.NET Core 3.0+、.NET 5+) をサポートしています。

dotTrace ホームでのキーボードナビゲーション 2022.1

キーボードの組み合わせのみを使用して、dotTrace ホームウィンドウを移動できるようになりました。マウスは必要ありません。各 UI エレメントは、キーまたはキーシーケンスに割り当てられます。割り当てられたキーを表示し、UI 要素を操作する方法は 2 つあります。

  • Alt を押したまま、キーまたはキーシーケンス(デフォルト)を押します。
  • モード切り替えキーを押してから、キーまたはキーシーケンスを押します。

dotTrace ホーム | 設定で使用するものを選択できます。

ドラッグアンドドロップによるアプリケーションへの接続 2022.1

これで、特別なアイコンをアプリケーションウィンドウにドラッグするだけで、プロファイラーをすでに実行中のアプリケーションにアタッチできます。

dotTrace ホームウィンドウのスナップショットページの改善 2022.1

  • スナップショットの名前を編集できるようになりました。
  • 対応するファイルを dotTrace ホームウィンドウにドラッグして、スナップショットを開くことができるようになりました。
  • スナップショットリストは、dotTrace の起動間の並べ替え状態を保持するようになりました。
  • スナップショットリストは、システムの日付形式を使用するようになりました。

その他の改善 2022.1

  • スナップショットの自動保存を無効にできるようになりました。その場合、 タイムラインまたは パフォーマンスビューアーを閉じると、dotTrace は収集されたスナップショットを保存するかどうかを尋ねてきます。
  • タイムラインビューアー スレッドフィルターにスレッドを固定できるようになりました。
  • Configuration2Xml ツールは、dotTrace ホームウィンドウと同じ UI を使用するようになりました。

Apple シリコンプロセッサー 2021.3 のサポート

dotTrace コマンドラインツールは、Apple シリコンプロセッサーを搭載したコンピューターで動作するようになりました。これを使用して、.NET 6 アプリケーション(ネイティブモード)および .NET 5 アプリケーション(Rosetta 2 モード)のプロファイルを作成できます。

パフォーマンスの向上 2021.3

  • 非同期呼び出しを多用するアプリケーションのタイムラインプロファイリングのパフォーマンスオーバーヘッドを削減しました。
  • タイムラインスナップショットのオープンとフィルタリングのパフォーマンスを改善しました。

タイムラインスナップショットの UI 状態の保存 2021.3

タイムラインスナップショットを閉じると、dotTrace は、選択された時間間隔、適用されたフィルターなどを含むユーザーインターフェースの状態を保存します。次にスナップショットを開くと、dotTrace は UI を同じ状態に復元します。

macOS および Linux 2021.3 での TPL イベントのサポート

dotTrace コマンドラインツールと Rider の dotTrace では、macOS および Linux の非同期呼び出しに関するデータを収集できるようになりました。このデータを取得するには、 タイムラインプロファイリングモードを使用します。 呼び出しツリーは、待機と継続を含む非同期呼び出しを表示します。

macOS および Linux 2021.3 の子プロセスのサポートが改善

dotTrace コマンドラインツールと Rider の dotTrace は、 タイムラインプロファイリングモードで macOS および Linux 上のアプリケーションの子プロセスをプロファイリングできるようになりました。このサポートは、.NET 5 以降のアプリケーションでのみ利用できます。

ネイティブプロファイリング 2021.2

Windows でネイティブアプリケーションのプロファイルを作成できるようになりました。プロファイリングセッションを開始するときに、リモートサーバーからネイティブソースシンボルファイルをダウンロードするオプションがあります。ネイティブプロファイリングは、 タイムラインプロファイリングタイプでのみ使用できます。

macOS および Linux のタイムラインプロファイリング 2021.2

タイムラインプロファイリングタイプを使用して、macOS および Linux 上の .NET Core および .NET アプリケーションをプロファイリングできるようになりました。

新しいホーム画面 2021.1

dotTrace のホーム画面を完全に作り直しました。新しいプロファイリングセッションの構成と開始、スナップショットの操作、その他の基本的な操作の実行がはるかに簡単になります。

Command-line profiler as a .NET global tool

.NET グローバルツールとしてのコマンドラインプロファイラー 2021.1

dotTrace コマンドラインプロファイラーを dotnet グローバルツールとしてインストールして使用できます: dotnet tool install --global JetBrains.dotTrace.GlobalTools --version 2021.1.0