dotTrace 2024.1 ヘルプ

dotTrace の新機能

dotTrace 2024.1

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

    MAUI フレームワークに基づいてアプリケーションをプロファイルできるようになりました。現在、dotTrace は以下をサポートしています。

    • macOS – Mac .NET 7.0+ をターゲットとする Catalyst アプリケーション。タイムラインプロファイリングのみ。

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

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

  • Unreal Engine のサポートが向上

    dotTrace を使用すると、Unreal Engine アプリケーションのプロファイリングが容易になります。プロファイリングターゲットを構成するときに、Unreal Engine アプリケーションタイプを選択できるようになりました。これにより、Unreal Engine アプリケーションに関連するプロファイリング設定が事前に定義されます。

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

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

  • macOS のサポートの改善

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

    • 現在、dotTrace のスタンドアロンバージョンでは、実行可能ファイルの代わりにアプリケーションバンドル (.app) を指定できるようになりました。

    • Rider の dotTrace は、macOS 実行構成をプロファイルできます。次のターゲットフレームワークがサポートされています: net7.0-macos、net8.0-macos、net7.0-maccatalyst、net8.0-maccatalyst、Xamarin.Mac。

dotTrace 2023.3

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

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

    • サンプリングレート – データの精度とスナップショットサイズ間の最適なバランスを見つけることができます。ゲーム開発用の高速サンプリングモードもサポートされています。

    • ネイティブ割り当て用の ... KB ごとのサンプル割り当て – 収集されるデータの量、つまりスナップショットサイズを削減することで、スナップショット分析のパフォーマンスを向上させることができます。

    • ネイティブシンボルファイルをバックグラウンドでダウンロード – プロファイリングセッション中にシンボルファイルをダウンロードして、スナップショットの取得にかかる時間を短縮します。

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

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

  • Linux および macOS のフレームグラフチャート

    Linux 上の dotTrace および macOS は、タイムラインスナップショットのフレームグラフチャートとしてコールツリーを表示できるようになりました。

  • ネイティブコード分析の改善

    • Windows で作成されたタイムラインスナップショットのネイティブメソッドのソースコードを表示できるようになりました。

    • マネージドスレッドがない場合、デフォルトでネイティブスレッドが表示されるようになりました。

  • その他の改善

    • タイムラインプロファイリングモードは、.NET および .NET Core フレームワークの System.Data.SqlClient データプロバイダーをサポートするようになりました。SQL クエリフィルターで対応するイベントを表示できます。

    • dotTrace ビューアーの検索ウィンドウ内でパフォーマンスメトリックを表示できるようになりました。

    • サードパーティツールとの統合のサポートが Linux および macOS で利用できるようになりました。

    • バージョン 2023.3 以降、dotTrace はリモートプロファイリングをサポートしなくなりました。代わりにコマンドラインプロファイラを使用してください。

dotTrace 2023.2

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

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

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

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

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

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

    • dotTrace Viewer のソースビューウィンドウに、コードの各行の呼び出し数が表示されるようになりました。

dotTrace 2023.1

  • Linux および macOS の dotTrace スタンドアロン

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

dotTrace 2022.3

  • .NET 7 のサポート

    dotTrace では、Windows、macOS、Linux で .NET 7 アプリケーションをプロファイリングできるようになりました。

    次の問題に直面する可能性があることに注意してください。

    • アプリケーションが動的アセンブリを作成する場合、プロファイラーはこれらのアセンブリからのデータ (メソッド名) を表示しません。これらは Unresolved として表示されます。

    • プロファイラーをアタッチしてアプリケーションをプロファイリングすると、セッション中にアプリケーションがクラッシュする可能性があります。

    どちらの問題も、今後の .NET 7 バグ修正リリースで修正される予定です。

  • 改善された ARM CPU サポート

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

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

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

    このリリースの前は、サンプリング、トレース、行単位のパフォーマンススナップショットは従来のパフォーマンスビューアーで開く必要がありましたが、タイムラインスナップショットは最新のタイムラインビューアーで開いていました。これにより、2 つのビューアーのユーザーインターフェースとスナップショット分析へのアプローチが異なるため、全体的なユーザーエクスペリエンスが悪化しました。現在、パフォーマンスビューアーを廃止し、dotTrace ビューアー (以前のタイムラインビューアー) を採用しています。dotTrace はそれを使用して、すべてのタイプのスナップショットを開きます。それでも、破棄された Performance Viewer を引き続き使用したい場合は、そのようなオプションがまだあります。

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

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

    • サンプリング、トレース、行ごとのスナップショットの比較は、新しい「フィルターとしての比較」という概念により、より簡単になりました。

    • これで、サンプリング、トレース、行ごとのスナップショットでサブシステムをフィルター処理できるようになりました。

    • dotTrace Viewer はプレーンリストビューを取得します。さらに、サンプリング、トレース、ラインごとのスナップショットだけでなく、タイムラインのスナップショットにも使用できます。

dotTrace 2022.2

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

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

    ネイティブプロファイリングは、すべての dotTrace バージョン (スタンドアロン、コマンドラインツール、および ReSharper と Rider に統合された dotTrace) によって Windows でのみサポートされることに注意してください。

  • JetBrains Rider の改善における dotTrace

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

dotTrace 2022.1

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

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

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

    • arm64:.NET 5.0 – 6.0。

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

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

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

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

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

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

    • Alt キーを押しながら、キーまたはキーシーケンス(デフォルト)を押します。

    • モード切り替えキーを押してから、キーまたはキーシーケンスを押します。

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

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

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

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

    • スナップショットの名前を編集できるようになりました。

    • 対応するファイルを dotTrace ホームウィンドウにドラッグして、スナップショットを開くことができるようになりました。

    • スナップショットリストは、dotTrace の起動間の並べ替え状態を保持するようになりました。

    • スナップショットリストは、システムの日付形式を使用するようになりました。

  • その他の改善

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

    • タイムラインビューアーのスレッドフィルターにスレッドを固定できるようになりました。

    • Configuration2Xml ツールは、dotTrace ホームウィンドウと同じ UI を使用するようになりました。

  • 子プロセスのプロファイリングの改善

    プロファイルする多数の管理対象子プロセスを作成するルートプロセスをプロファイルするとします。ルートプロセス自体は、何らかの理由でプロファイリングから除外されます(たとえば、シェルスクリプト、ネイティブプロセス、単にプロセスフィルターを使用して除外する場合があります)。

    : プロファイラーは、フィルターに一致するすべての子プロセスのプロファイリングを開始します。子プロセスが終了すると、プロファイラーは 1 秒間待機します。この時間内に新しい子プロセスが開始されない場合、プロファイラーはプロファイリングセッションを終了します。ルートプロセスが子プロセスをより長い遅延で開始する場合、これは問題になる可能性があります。

    現在 : ルートプロセスの実行中、プロファイラーはプロファイリングセッションを停止しません。ルートプロセスが機能しなくなると、プロファイラーは 1 秒遅延アプローチに切り替わります。(編集)

dotTrace 2021.3

  • .NET6 のサポート

    dotTrace では、Windows、macOS、Linux で .NET6 アプリケーションのプロファイルを作成できるようになりました。Linux および macOS でアプリケーションをプロファイリングするには、JetBrains Rider または dotTrace コマンドラインプロファイラーのいずれかを使用する必要があることに注意してください。

  • AppleM1 のサポート

    現在、dotTrace コマンドラインツールは、AppleM1 プロセッサーを搭載したコンピューターで動作します。このツールは、.NET 6 アプリケーション(ネイティブモード)および .NET 5 アプリケーション(Rosetta 2 モード)のプロファイリングをサポートします。

  • タイムラインスナップショットの UI 状態を保存する

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

  • パフォーマンスの向上

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

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

    現在、dotTrace コマンドラインツールと Rider の dotTrace を使用すると、macOS と Linux での非同期呼び出しに関するデータを収集できます。このデータを取得するには、タイムラインプロファイリングモードを使用します。dotTrace は、.NET 5 以降のアプリケーションで TPL イベントを完全にサポートします。コールツリーには、待機と継続を含む非同期呼び出しが表示されます。.NET 3.1 アプリの場合、タスク API のみがサポートされます。コールツリーには、タスクのスケジュールと実行用に別々のノードが表示されますが、async/await 呼び出しに関するデータは表示されません。

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

    現在、dotTrace コマンドラインツールと Rider の dotTrace は、タイムラインプロファイリングモードで macOS と Linux 上のアプリケーションの子プロセスをプロファイリングできます。このサポートは、.NET5 以降のアプリケーションでのみ利用できます。

dotTrace 2021.2

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

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

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

    これで、タイムラインプロファイリングタイプを使用して、macOS および Linux 上の .NETCore および .NET アプリケーションをプロファイリングできます。

dotTrace 2021.1

dotTrace 2020.3

  • .NET5 のサポート

    dotTrace では、Windows、macOS、Linux 上の .NET5 アプリケーションのプロファイルを作成できるようになりました。Linux および macOS でアプリケーションをプロファイリングするには、JetBrains Rider または dotTrace コマンドラインプロファイラーのいずれかを使用する必要があることに注意してください。

  • Rider のフレームグラフとしてツリーを呼び出す

    Rider では、コールツリーをフレームグラフモードに切り替えることができます。グラフは、現在のスコープで最も遅いメソッドをすばやく特定できます。

  • Rider でツリーフォールディングを呼び出す

    Rider 用の dotTrace は、コールツリーフォールディング機能を取得します(以前は、dotTrace のスタンドアロンバージョンでのみ使用可能でした)。ユーザーモジュールおよびアセンブリに属していない呼び出しのチェーンを折りたたむことにより、呼び出しツリー分析を簡素化できます。

  • さまざまな改善

    • Rider のスレッドリストでネイティブスレッドを非表示にできます。

    • ファイル I/O タイムラインフィルターに FileIOCreate イベントが含まれるようになりました。

    • Rider でトップメソッドリストを非表示にすることができます。

dotTrace 2020.2

  • Mono および Unity アプリケーションのネイティブプロファイリング

    Rider のスタンドアロン dotTrace と dotTrace はどちらも、Windows 上の Mono/Unity アプリケーションのネイティブ部分をプロファイルできます。ネイティブプロファイリングを有効にするオプションを使用してセッションを開始すると、パフォーマンススナップショットにネイティブコールスタックとマネージコールスタックの両方が表示されます。

  • ARM64 アーキテクチャのサポート

    Linux 用の dotTrace コマンドラインプロファイラー(GLIBC_2.23 以降のディストリビューション)を使用すると、ARM64 システムでアプリケーションをプロファイリングできます。

  • コマンドラインプロファイラーを使用すると、コマンドを stdin またはファイルに送信することにより、プロファイリングセッションを制御できます(スナップショットの作成、プロファイルされたプロセスからの切り離しなど)。

  • 新しい自己プロファイリング API(アプリケーションが自分でプロファイリングセッションを初期化および開始できる API)は、はるかに使いやすくなっています。セルフプロファイリング API は、NuGet パッケージとして配布されます。

dotTrace 2020.1

  • Linux および macOS サポートの改善

    • これで、トレースプロファイリングモードを使用して、macOS および Linux で .NET Core アプリケーションをプロファイルできます。これを行うには、JetBrains Rider または dotTrace コマンドラインプロファイラーを使用する必要があります。

    • これで、Linux で実行中のプロセスにプロファイラーを接続できます。

  • 次の重要なコール

    これで、次の重要なコールアクションを使用して呼び出しツリーを移動できます。Ctrl+Shift+Right と dotTrace を押すと、詳細な分析に最も関連するノード(たとえば、独自の実行時間が長いノード)に移動します。

    この機能は、dotTrace スタンドアロン(パフォーマンスビューアーとタイムラインビューアーの両方)、Visual Studio、および JetBrains Rider で使用できます。

dotTrace 2019.3

  • macOS および Linux での .NETCore のサポート

    dotTrace 2019.3 は、Linux および macOS での .NETCore プロジェクトのサンプリングプロファイリングをサポートしています。.NET Core3.1 を対象とするプロジェクトのみが完全にサポートされていることに注意してください。.NET Core の制限により、.NET Core 3.0 以前を対象とするプロジェクトのプロファイリングには、いくつかの問題が発生する場合があります。まれに、プロファイルされたアプリケーションがハングまたはクラッシュする場合があります。Linux および macOS で .NETCore アプリケーションのプロファイルを作成するには、JetBrains Rider または dotTrace コマンドラインツールを使用する必要があります。

  • macOS および Linux のコマンドラインプロファイラー

    コマンドラインプロファイラがついに macOS と Linux に登場しました。dotTrace.sh は、Windows の同等物と同じ機能を持ち、.tar.gz アーカイブおよび NuGet パッケージとして配布されます。

  • コールツリーフレームグラフ

    コールツリーフレームグラフを使用すると、最も遅いメソッドが一目でわかります。グラフはタイムラインビューアーでのみ使用できることに注意してください。

dotTrace 2019.2

  • Rider のタイムラインフィルター。

    Rider の dotTrace は、より成熟したものになります。これで、タイムラインフィルターのフルセットが取得され、タイムラインプロファイリングスナップショットの分析が容易になります。

  • .NET Core3.0 の完全サポート。

    dotTrace は、.NET Core 3.0 Preview7 プロセスに接続できるようになりました。

  • Visual Studio の ASP.NET Core アプリケーションのサポートの改善:

    • さまざまなホスティングモデルが正しくサポートされています。

    • プロファイリングセッションを開始するときに、ブラウザー設定と SSL の有効化が考慮されます。

    • ASP.NET Core 3.0 Preview 7 がサポートされています。

    • その他の改善 ...

  • プロファイリング API は、プロファイルされたプロセスからデタッチする機能を取得します。

  • Silverlight および WebDev アプリケーションはサポートされなくなりました。

dotTrace 2019.1

  • Mono および Mono Unity アプリケーションは以下をサポートします。

    • スタンドアロン dotTrace:Windows のみ。

    • dotTrace は JetBrains Rider に統合されました: Windows、macOS、Linux。

  • コマンドラインプロファイラーの改善:

    • start および attach コマンドは、時間測定型などの高度なプロファイリングパラメーターを受け入れるようになりました。

    • Reporter.exe ツールは、最終レポートでオーバーロードされたメソッドを区別できるようにする --save-signature 引数を受け入れます。

  • 新しいプロファイリング API。プロファイリング API を大幅に更新しました。

    • ステートマシンを取り除きました。これで、コントローラーの状態に関係なく、あらゆる API メソッドを呼び出すことができます。

    • 利用可能なメソッドの数を減らしたため、API の使用が簡単になりました。

    • NuGet パッケージとして API を配布します。

dotTrace 2018.3

  • JetBrains Rider 統合。プロファイリングセッションを設定および実行し、スナップショットを取得し、組み込みビューアーで分析できます。現在、ビューアーはタイムライン上にイベントの分布を表示することはできません。そのため、タイムラインスナップショットは単純なサンプリングスナップショットとして開かれます。

  • 改善された .NET メモリ割り当てフィルター。タイムラインビューアーには、割り当てられたメモリが特定の種類のオブジェクト間でどのように分散されているかを分析できる新しいサブフィルターが用意されています。

  • IIS Express のプロファイリング設定の見直し。IIS Express でホストされている Web アプリケーションをプロファイルするデフォルトの方法は、dotTrace に applicationhost.config ファイルを提供することです。

dotTrace 2018.2

  • パフォーマンスと安定性が向上しました。

  • .NET プロセス用のフィルターを含めます。任意の .NET プロセスのプロファイリングを構成する場合、インクルードフィルターを設定できます。dotTrace は、フィルターに一致するプロセスにのみアタッチします。

dotTrace 2018.1

  • パフォーマンスを向上させた。このリリースの dotTrace は、主に安定性とパフォーマンスの向上に重点を置いていました。

dotTrace 2017.3

  • 非同期呼び出しのサポート。非同期コードの欠点は、それをプロファイルしてそのパフォーマンスを分析することが非常に難しいことです。dotTrace 2017.3 は非同期コードの分析を劇的に単純化します。呼び出しツリー内のすべての async 呼び出しノードをマークし、そのノードに対応する await 時間および継続コードをグループ化します。つまり、異なる呼び出しスタックを検索するのではなく、非同期呼び出しのすべての「部分」を 1 か所ですばやく見つけることができます。

  • タイムラインビューアーの予測パフォーマンス。これで、タイムラインビューアーでアプリケーションのパフォーマンスを「予測」することができます。簡単に言うと、呼び出しツリーから特定の方法を除外すると、dotTrace はそのような方法がなかったかのようにスナップショット全体を再計算します。

  • ホットスポットのバックトレース (タイムラインビューアー)。これで、呼び出しツリーに切り替えることなく、ホットスポット内で特定のメソッドのバックトレースを素早く見ることができます。

  • ユーザーアセンブリをシステムとしてマークします。特定のユーザアセンブリをシステムのものとしてマークできます。その後、システムモジュールからのメソッドに適用されるすべての規則は、このユーザーアセンブリからのメソッドにも適用されます。メソッドの時間がホットスポットで計算され、システムがフォールディングを呼び出す方法。

dotTrace 2017.3

  • 非同期呼び出しのサポート。非同期コードの欠点は、それをプロファイルしてそのパフォーマンスを分析することが非常に難しいことです。dotTrace 2017.3 は非同期コードの分析を劇的に単純化します。呼び出しツリー内のすべての async 呼び出しノードをマークし、そのノードに対応する await 時間および継続コードをグループ化します。つまり、異なる呼び出しスタックを検索するのではなく、非同期呼び出しのすべての「部分」を 1 か所ですばやく見つけることができます。

  • タイムラインビューアーの予測パフォーマンス。これで、タイムラインビューアーでアプリケーションのパフォーマンスを「予測」することができます。簡単に言うと、呼び出しツリーから特定の方法を除外すると、dotTrace はそのような方法がなかったかのようにスナップショット全体を再計算します。

  • ホットスポットのバックトレース (タイムラインビューアー)。これで、呼び出しツリーに切り替えることなく、ホットスポット内で特定のメソッドのバックトレースを素早く見ることができます。

  • ユーザーアセンブリをシステムとしてマークします。特定のユーザアセンブリをシステムのものとしてマークできます。その後、システムモジュールからのメソッドに適用されるすべての規則は、このユーザーアセンブリからのメソッドにも適用されます。メソッドの時間がホットスポットで計算され、システムがフォールディングを呼び出す方法。

dotTrace 2017.2

  • コールツリー内のナビゲーションパス。コールツリーを移動するとき、特定の機能にどのようにして到達したかを理解することは常に問題でした。dotTrace 2017.2 では、この問題は解決されました。「呼び出しツリー」ビューでは、すべての遷移が左側のガターに表示されます。

  • コマンドラインからのタイムラインプロファイリング。コマンドラインプロファイラーは、最終的にタイムラインプロファイリングタイプをサポートします。

  • 単体テストで子プロセスのプロファイルを作成します。

    これで、簡単なチェックボックスを使用して、単体テストで子プロセスのプロファイリングを有効にできます。複雑なプロファイリング構成は不要になりました。

  • キャッシュファイルをクリアします。これで、dotTrace ホーム設定のボタンを使用してスナップショットキャッシュファイルを強制的に削除できます。これにより、既存のスナップショットの読み込みが遅くなりますが、ディスク領域がいくらか解放されます。

dotTrace 2017.1

  • Visual Studio 2017 のサポート。

  • ドラッグアンドドロップでアタッチします。これで、ドラッグアンドドロップを使用して、プロファイラーを実行中のアプリケーションに接続できます。単純に、プロファイリングするアプリケーションウィンドウに特別なアイコンをドロップします。

  • dotTrace ホームからスナップショットファイルを開きます。これで、dotTrace ホームウィンドウから直接 .dtp および .dtt スナップショットファイルを開くことができます。

dotTrace 2016.3

  • Visual Studio 2017 RC の初期サポート。

  • タイムラインビューアーのサブシステム。タイムラインビューアーは、パフォーマンスビューアーの最大の機能の 1 つであるサブシステムを取得します。サブシステムの仕組みは非常に単純です。ほとんどの場合、各サブシステムは特定のネームスペースまたはアセンブリ内で行われた呼び出しをグループ化するだけです。特定の呼び出しサブツリーの時間がさまざまなコンポーネント(ユーザーコードとシステムコード、WPF、LINQ、コレクション、文字列など)の間でどのように分散されているかを迅速に評価する必要がある場合に非常に役立ちます。

  • ネイティブメモリ割り当てを分析しますネイティブメモリ割り当てイベントフィルターを使用すると、どのメソッドが割り当てを行っているのかを確認し、ネイティブメモリに関連するすべての問題を分析できます。

  • アプリケーションのデバッグ出力を分析しますデバッグ出力フィルターは、高度なデバッグに非常に役立ちます。選択すると、タイムラインには、アプリケーションがデバッグ出力に書き込むイベント (Debug.Write システムメソッドなど) のみが表示されます。

  • イベントウィンドウイベントツールウィンドウには、イベントログ(プロファイルされたアプリケーションで発生したイベントのリスト: ファイル操作、JIT、SQL クエリなど)が表示されます。

  • .NETCore アプリケーションのプロファイリング。コンピューターに .NETCore ツールがインストールされている場合は、追加のアクションなしで .NETCore アプリケーションのプロファイルを作成できます。

  • コールスタックウィンドウの複数の改善

dotTrace 2016.2

dotTrace 2016.1

  • Visual Studio のスレッドダイアグラム。

    Visual Studio に統合された dotTrace ビューアーは、スタンドアロンのビューアーとまったく同じスレッドダイアグラムを取得するため、これを使用してスレッド、時間範囲を選択し、もちろん、スレッドアクティビティとフィルター処理された時間間隔を表示できます。

  • スレッドダイアグラムのスマートツールチップ。スレッドダイアグラムの任意のスレッドにマウスを置くと、ツールヒントに、この特定の時点でこのスレッドが実行していたことに関する詳細情報が表示されます。つまり、どのメソッドが実行されたか、スレッドがどのファイルを操作したか (ファイル I/O の場合)、およびその他のデータ。

  • パフォーマンスビューアーでプレーンリスト全体をクリップボードにコピーします。これで、プレーンリストの内容全体をクリップボードにコピーできます。

  • Reporter.exe ツールによって生成されたレポートのプロファイルプロセスデータ。スナップショットからパフォーマンスデータを取得するために使用される Reporter.exe ツール(プロファイリングの自動化や CI など)は、XML レポートに追加のデータを配置するようになりました。/add_process_info オプションを有効にしてレポートを作成する場合、レポートにはプロファイルされたプロセスの実行可能ファイルへのパスが含まれます。この情報は、複数の子プロセスを持つアプリケーションをプロファイリングするときに非常に役立ちます。

dotTrace 10

  • Visual Studio での統合。Visual Studio は呼び出しツリーからソースコードへの即時ナビゲーションを備えたタイムラインビューアーの統合版を手に入れます。

  • コンソールプロファイラーは、コマンドライン引数を介して構成を受け入れます。XML ファイルでプロファイリング構成を提供する代わりに、コマンドライン引数を使用してこれを行うことができます。

dotTrace 6.2

  • 実行構成のプロファイリング。Visual Studio に統合された dotTrace は、より多くのプロファイリング機能を取得します。これで、スタートアッププロジェクトだけでなく、任意の「実行構成」(スタートアッププロジェクト、任意の実行可能ファイル、任意の静的メソッド)をプロファイリングできます。

  • 受信 HTTP リクエストのプロファイリング。タイムラインビューアーは新しい受信 HTTP リクエストフィルターを提供します。これで、特定の HTTP リクエストが処理された時間に関する正確なデータを得ることができます。

dotTrace 6.1.1

  • スナップショットの自動削除。毎週または毎月手動で処理しなくても、古いスナップショットを自動的に削除することができます。

  • Configuration2Xml ツールを更新しました。コマンドラインからのプロファイリングが復活しました !

dotTrace 6.1

dotTrace 6.0

  • アプリケーションに関する一時的なコールスタックとスレッドの状態データを収集する、まったく新しいタイムラインプロファイリングメソッド。

  • 再設計された UI。現在、dotTrace インターフェースは、dotTrace のホームウィンドウ、パフォーマンスビューアー、タイムラインビューアーの 3 つの主要コンポーネントで構成されています。

  • プロファイリングセッションは、新しい dotTrace ホームウィンドウで設定および開始されます。

  • より柔軟なサブシステム。サブシステム時間の処理方法を指定できます。個別に表示するか、サブシステム時間の呼び出しに含めるか、まったく考慮しないかを指定できます。

  • 子プロセスのフィルタリング。アプリケーションのどの子プロセスをプロファイリングしないかを指定できます。

dotTrace 5.5

  • サブシステムビューを使用してボトルネックを検索する新しい便利な方法

  • スナップショット内の興味のあるポイント間をすばやく移動するためのブックマーク

  • 改良されたフィルター

  • 再設計された概要

  • パフォーマンスの向上

dotTrace 5.3

dotTrace 5.0

dotTrace 4.5

  • WCF アプリケーションのプロファイリング

  • 無関係な呼び出しを隠すためのフィルタリングの強化

  • 特定のクラスのすべてのパブリックメンバーを新しいタブで開いてパフォーマンスを調べる

  • ソースサーバーを使用した .NET フレームワークアセンブリのソースコードのプレビュー

  • IL コードの表示

  • 大きなスナップショットを処理する際のパフォーマンスの向上 (特にプレーンリストホットスポット )

  • パフォーマンス予測のその他のオプション

  • フローティングライセンス使用ポリシーの改善

  • 改善されたホームタブ

dotTrace 4.0

  • 新しいパフォーマンスプロファイリング機能:

    • .NET フレームワーク 4.0 アプリケーションのプロファイリング

    • .NET Compact で構築された Windows Mobile アプリケーションのプロファイリングフレームワーク 3.5。

    • Silverlight 4 アプリケーションのプロファイリング。

    • IIS 7 または IIS 7.5 でデプロイされた Web アプリケーションのプロファイリング

    • .NET プロセスのプロファイリング。

    • アプリケーションのリモートプロファイリング

    • アプリケーションを行ごとにプロファイリングします。

    • 実行時間を測定する新しい方法: 経過時間 (パフォーマンスカウンター)。

    • 高い正確性オプションを使用すると、プロファイラ内で費やされた時間を考慮に入れることができます。

    • 同じ名前のスレッドをマージします。

  • パフォーマンススナップショットの操作の改善点:

  • Microsoft Visual Studio との統合:

    • Visual Studio 2005、2008、2010 との統合

    • Visual Studio からプロファイルを作成するときに、より多くのアプリケーションタイプをサポートします。

    • Visual Studio、JetBrains ReSharper、dotTrace を使用して単体テストをプロファイリングします。

  • エディション:

    • 2 つのエディション: 標準Professional

関連ページ:

プロファイル MAUI アプリケーション

MAUI アプリケーションは、.NET マルチプラットフォームアプリ UI (MAUI) フレームワークを使用して構築されたクロスプラットフォームソリューションであり、開発者が単一の共有コードベースを使用して Android、iOS、Windows、macOS 用のアプリケーションを作成できるように設計されています。現在、dotTrace は以下をサポートしています。macOS – Mac .NET 7.0+ をターゲットとする Catalyst アプリケーション。タイムラインプロファイリングの...

呼び出しツリー

呼び出しツリーはメソッド実行パスを示します。ツリー内の各メソッドノードは、特定のスレッドによって実行されるトップレベルのメソッドを表します。メソッドノードには、呼び出されたメソッドとプロファイリング時に収集されたメトリックがリストされます。呼び出しツリーを使用して: アプリケーションアクティビティの簡単な概要を取得する: 最も「高額な」呼び出しを移動するまたはフレームグラフを使用します。最も遅いメソッド (最も時間がかかるメソッド、または頻繁に呼び出されるメソッド) の実行パスを次の方法で調べます。...

ソースビュー

ソースビューウィンドウには、プロファイルされたアプリケーションのソースコードが表示されます。呼び出しツリーでメソッドを選択すると、ソースビューはその基になるソースコードを自動的に見つけます。ソースコードを表示するには、dotTrace にプロジェクトシンボルファイルを提供するか、プロジェクトソースコードへのパスを指定する必要があります。他の dotTrace Viewer ビューとは異なり、ソースビューはフィルターとして機能せず、ソースコードと特定のコード行の時間分布のみを表示します (Wind...

スナップショットの比較

アプリケーションが進化するにつれて、コードの変更がパフォーマンスに与える影響を確認する機能が必要になります。例: コード最適化前後の関数の実行時間の違いを調べる、関数呼び出しの数が 2 つの異なる呼び出しスタックで大きく異なるかどうかを調べる、dotTrace は、プロファイリングスナップショットを比較することで、このような変更を追跡できます。2 つのスナップショットを比較するには比較するスナップショットを dotTrace Viewer で開きます (スナップショット A)。フィルター | 比較で...

サブシステム

サブシステムフィルターを使用すると、特定のコールツリーの時間が、ユーザーとシステムコード、WPF、LINQ、コレクション、文字列などのさまざまなコンポーネントにどのくらい分散しているかを素早く評価できます。サブシステムの仕組み:いくつかの例外 (下記の特別サブシステムを参照) を除いて、各サブシステムは、特定の名前空間またはアセンブリ内で行われた呼び出しを単純にグループ化します。例:、アセンブリで宣言されたメソッドのすべての呼び出しは、WPF サブシステムにグループ化されます。サブシステムフィル...

プレーンリスト

プレーンリストビューには、選択されたすべてのスレッドのメソッドの単純なリストが表示されます。これは、ホットスポットビューと同等のより詳細なビューです。プレーンリストビューを開くには以下のいずれか 1 つを実行します: メインメニューからを選択します。ホットスポットビューで、プレーンリストをクリックします。、ビューは 2 つのリストで構成されます。最初のものには、呼び出しスタックからのすべての関数が含まれています。2 番目のリストには、最初のリスト (1 レベル下) で選択した関数によって呼び出され...