dotTraceの新機能

このページでは、dotTraceの最近のリリースでの注目すべき更新内容をご案内します。 注目すべき更新には、Visual Studio / JetBrains Riderのサポートと非同期コードのプロファイリングの簡略化などが挙げられます。

dotTraceのダウンロード

無料 30 日間体験版をご利用可能です

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

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

このリリースでは、MAUI フレームワークベースのアプリケーションをプロファイリングできるようになりました。

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

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

このサポートは、dotTrace スタンドアロンと Rider および ReSharper に組み込まれた dotTrace に提供されます。

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

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

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

macOS のサポートの改善 2024.1

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

  • dotTrace のスタンドアロンバージョンで、実行可能ファイルの代わりにアプリケーションバンドル(.app)を指定できるようになりました。
  • Rider の dotTrace で macOS の実行構成をプロファイリングできます。 サポート対象のターゲットフレームワークは net7.0-macosnet8.0-macosnet7.0-maccatalystnet8.0-maccatalystXamarin.Mac です。
Timeline(タイムライン)プロファイリングモードの構成の改善

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

Timeline(タイムライン)プロファイリングセッションを構成する際に以下の高度なオプションを指定できるようになりました。

  • Sampling rate(サンプリングレート)- プロファイリング対象のアプリケーションのパフォーマンスとデータ精度の最適なバランスを発見できます。
  • ネイティブ割り当ての Sample allocations every … KB(… KB ごとのサンプル割り当て)- 収集されるデータの量(スナップショットのサイズ)を減らすことで、スナップショット解析のパフォーマンスを改善するのに役立ちます。
  • ネイティブシンボルファイルの Download in background(バックグラウンドでダウンロード)オプション - プロファイリングセッション中にシンボルファイルをダウンロードします。
Source(ソース)ビューのプロファイリングデータ

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

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

ネイティブコード解析の改善 2023.3

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

その他の改善点 2023.3

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

サンプリング、トレース、行単位でのスナップショットをスレッド別にグループ化 dotTrace 2023.2

Call Tree(呼び出しツリー)ビューでコールスタックを個別のスレッドでグループ化し、スレッド固有のパフォーマンス問題について詳細なインサイトを得られるようになりました。

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

Linux と macOS の dotTrace のスタンドアロンバージョンに Source View(ソースビュー)ウィンドウが備わりました。 Call Tree(呼び出しツリー)で呼び出しを選択すると、Source View(ソースビュー)に対応するメソッドのソースコードが表示されます。

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

  • Timeline(タイムライン)のスナップショットに関して、dotTrace ビューアーにすべてのネイティブスレッドが Native ではなくネイティブスレッドの名前が表示されるようになりました。 この機能には、Unity 開発者が特定の Unity スレッドを区別することができるというメリットがあります。 Windows 限定での提供となります。
  • dotTrace ビューアーの Source View(ソースビュー)ウィンドウにコード行単位で呼び出し数が表示されるようになりました。

macOS および Linux 向け dotTrace ベータ版 2023.1

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

Windows ARM64 のサポート 2022.3

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

Linux ARM32 のサポート 2022.3

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

Performance Viewer の廃止 2022.3

このリリースまでは、サンプリング、トレース、行単位でのパフォーマンススナップショットは既存の Performance Viewer で開き、タイムラインスナップショットはよりモダンな Timeline Viewer で開く必要がありました。 それぞれのビューアーのユーザーインターフェースとスナップショットの解析方法は異なっていたため、全体的なユーザーエクスペリエンスが低下していました。

そこで、dotTrace Viewer(以前の Timeline Viewer)に絞り、Performance Viewer を廃止することにしました。 dotTrace は Viewer を使用してすべてのタイプのスナップショットを開きます。 ただし、今後も必要に応じて廃止された Performance Viewer を使用できます。 Performance Viewer を今後も使用する場合は、その理由をぜひお聞かせください。 皆さんのフィードバックは非常に参考になります!

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

すべてのタイプのスナップショットが dotTrace Viewer で開くようになったことで、パフォーマンススナップショットを比較する際にすべての強力な機能を使用できるようになりました。

  • 新しい「フィルターとして比較」するという概念により、サンプリング、トレース、および行単位でのスナップショットをより簡単に比較できます。
  • サンプリング、トレース、行単位でのスナップショットでサブシステムを絞り込めるようになりました。
  • dotTrace ViewerPlain List(単純なリスト)ビューが追加されました。 サンプリング、トレース、および行単位でのスナップショットのほか、タイムラインスナップショットでも使用できます。

ネイティブのシステム呼び出しのサポート改善 2022.2

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

JetBrains Rider の dotTrace の改善 2022.2

プロファイリングプロセスを起動するために Unity エディターを再起動する必要はなくなりました。 プロファイラーは実行中の Unity プロセスに接続したり解除したりできるようになっています。

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

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

  • x64: .NET Core 3.1、.NET 5.0 ~ 6.0
  • arm64: .NET 5.0 ~ 6.0

.NET Core NetTrace ファイル形式のサポート 2022.1

dotnet-trace collect: で収集された NetTrace ファイルを開けるようになりました。dotTrace の Home(ホーム)メニューから Open Snapshot(スナップショットを開く)をクリックし、.nettrace ファイルを選択します。

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

Windows(.NET Core、.NET 5 以上)、macOS、および Linux(.NET Core 3.0 以上、.NET 5 以上)の dotTrace で Microsoft.Data.SqlClient プロバイダーからの SQL Server イベントをサポートするようになりました。

dotTrace Home(ホーム)でのキーボード操作 2022.1

dotTrace の Home(ホーム)ウィンドウをキーの組み合わせでのみ操作できるようになりました。 マウスは不要です。 各 UI 要素は、キーまたはキーシーケンスに割り当てられています。 割り当てられたキーを確認して UI 要素を操作するには、2 つの方法があります。

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

どちらを使用するかは、dotTrace の Home(ホーム)| Settings(設定)で選択できます。

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

専用のアイコンをアプリケーションウィンドウにドラッグするだけで、実行中のアプリケーションにプロファイラーを接続できるようになりました。

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

  • スナップショットの名前を編集できるようになりました。
  • dotTrace の Home(ホーム)ウィンドウに対応するファイルをドラッグしてスナップショットを開けるようになりました。
  • dotTrace を再起動しても、スナップショットのリストの並び順が維持されるようになりました。
  • スナップショットのリストにシステムの日付形式が使用されるようになりました。

その他の改善点 2022.1

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

Apple Silicon プロセッサのサポート  2021.3

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

パフォーマンスの改善 2021.3

  • 非同期呼び出しを非常に多く使用するアプリケーションで Timeline(タイムライン)プロファイリングを実行する際に発生していたパフォーマンス上のオーバーヘッドを削減しました。
  • Timeline(タイムライン)スナップショットを開く際とフィルタリングを実行する際のパフォーマンスを改善しました。

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

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

macOS と Linux上の TPL イベントのサポート 2021.3

Rider の dotTrace コマンドラインツールと dotTrace で macOS および Linux での非同期呼び出しのデータを収集できるようになりました。 このデータを取得するには、Timeline(タイムライン)プロファイリングモードを使用してください。 Call Tree(呼び出しツリー)には、await と continuation を含む非同期呼び出しが表示されます。

macOS と Linux の子プロセスサポートの改善 2021.3

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

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

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

macOS と Linux の Timeline プロファイリング 2021.2

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

新しいホーム画面 2021.1

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

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

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

所定のコマンド(dotnet tool install --global JetBrains.dotTrace.GlobalTools --version 2021.1.0)を使用して、dotTrace コマンドラインプロファイラーを dotnet グローバルツールとしてインストールして使用できるようになりました。

dotTraceのダウンロード

無料 30 日間体験版をご利用可能です