dotTrace 2019.3ヘルプ

新機能

dotTrace 2019.3

  • .NET Core support on macOS and Linux
    dotTrace 2019.3 supports sampling profiling of .NET Core projects on Linux and macOS. Note that only projects targeting .NET Core 3.1 are fully supported. Because of some .NET Core limitations, profiling of projects targeting .NET Core 3.0 or earlier may have some issues: in rare cases, the profiled application may hang or crash. To profile .NET Core applications on Linux and macOS, you should use JetBrains Rider or dotTraceコマンドラインツール

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

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

dotTrace 2019.2

  • Riderのタイムラインフィルター。
    RiderのdotTraceはより成熟しました。現在では、タイムラインフィルターの完全なセットを取得して、タイムラインプロファイリングスナップショットを適切に分析しやすくしています。

  • .NET Core 3.0完全サポート。
    dotTraceは、.NET Core 3.0 Preview 7プロセスにアタッチできるようになりました。

  • 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 Home Preferencesのボタンを使ってスナップショットキャッシュファイルを強制的に削除することができます。これにより、既存のスナップショットのロードが遅くなりますが、ディスクスペースがいくらか解放されます。

dotTrace 2017.1

dotTrace 2016.3

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

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

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

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

  • イベントウィンドウ。The イベント tool window simply shows you event log - a list of events occurred in the profiled application: file operations, JIT, SQL queries, and more.

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

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

dotTrace 2016.2

dotTrace 2016.1

  • Visual Studioのスレッド図。
    Visual Studioに統合されたdotTraceビューアーは、スタンドアロンのスレッド図とまったく同じスレッド図を取得するため、スレッド、時間範囲を選択したり、スレッドのアクティビティやフィルタされた時間間隔を表示することができます。

  • スレッド図のスマートツールチップ。スレッドダイアグラムの任意のスレッドにマウスカーソルを合わせると、この特定の時点でこのスレッドが何をしていたかについての詳細な情報がツールチップに表示されます。O)、およびその他のデータ。

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

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

dotTrace 10

dotTrace 6.2

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

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

dotTrace 6.1.1

dotTrace 6.1

dotTrace 6.0

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

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

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

  • より柔軟なサブシステム。サブシステム時間をどのように処理するかを指定できます。別々に表示されるか、呼び出しサブシステム時間に含まれるか、まったく考慮されないかのどちらかです。

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

dotTrace 5.5

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

  • スナップショット内の関心のあるポイント間を素早くナビゲートするブックマーク

  • 改良されたフィルター

  • 再設計された概要

  • パフォーマンスの向上

dotTrace 5.0

dotTrace 4.5

dotTrace 4.0

  • 新しいパフォーマンスプロファイリング機能:
    • .NET フレームワーク 4.0アプリケーションのプロファイリング

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

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

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

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

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

    • プロファイリングアプリケーション line-by-line

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

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

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

  • パフォーマンススナップショットの操作の改善点:
  • Microsoft Visual Studioとの統合:
    • Visual Studio 2005、2008、および2010との統合

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

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

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

最終更新日: 2019年12月11日

関連ページ:

コードのパフォーマンスプロファイリング

パフォーマンスプロファイリングの目的は、アプリケーションのパフォーマンス課題の原因を見つけることです。これには、たとえば、「最も遅い方法は何ですか」という直接的なことが含まれます。CPUの枯渇、ガベージコレクションのブロック、ディスクI / O、およびその他の課題に関連するパフォーマンスのボトルネッ...

dotTraceコマンドラインプロファイラの使用

継続的な統合ビルドの一部をプロファイリングする場合など、パフォーマンススナップショットを収集するプロセスを自動化する必要がある場合があります。(たとえば、これは統合テストのプロファイリングを実行するビルドステップになります)。この目的のために、dotTraceはWindows、macOS、およびLi...

呼び出しツリー

呼び出しツリーはメソッド実行パスを示します。ツリー内の各メソッドノードは、特定のスレッドによって実行されるトップレベルのメソッドを表します。メソッドノードには、呼び出されたメソッドとプロファイリング時に収集されたメトリックがリストされます。呼び出しツリーを使用して:アプリケーションアクティビティの概...

プロファイリング結果の分析

アプリケーションの実行速度が遅すぎると、問題を突き止めてどのアクションをとるべきかを理解するのが難しくなります。アプリケーションをプロファイリングしてパフォーマンススナップショットを取得した後の次のステップは、スナップショットを開いてデータを分析することです。通常、パフォーマンス分析の最終ゴールは、...

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

現在、.NETコードプロファイリング機能はWindowsでのみ利用可能です。どのアプリケーションタイプをプロファイルするかにかかわらず、ワークフローは常に同じであり、次の要素で構成されています。プロファイリングセッションの設定、セッションを実行してスナップショットを取得する、収集したスナップショット...

.NETメモリ割り当て

イベントフィルタで.NETメモリ割り当てが選択されている場合、タイムラインビューアーは、アプリケーションがマネージヒープにどのようにメモリを割り当てたかを示します。例:呼び出しツリーは、特定のコールが割り当てたメモリ量(MB単位)を示します。過度のメモリトラフィックとガベージコレクションを分析するた...