dotTrace 2018.3ヘルプ

APIによるセッションの制御

dotTrace APIはSDKのプロファイリング *の一部です。APIはプロファイリングプロセスを制御することを可能にする多くのクラスを提供します。例:プロファイリングデータの収集の開始と停止、収集したスナップショットの保存などをアプリから直接実行できます。

APIの使い方の例については、APIの使用例を参照してください。APIクラスの詳細については、API 参照を参照してください。

Profiling SDKの実装と使用シナリオの詳細については、このチュートリアルを確認してください。

APIの使用時期

プロファイリングAPIを使用する必要がある主なシナリオは2つあります。

  • コードの特定部分のプロファイリング
    APIを使用すると、プロファイリング範囲を絞り込み、関心のあるメソッドのみをプロファイルすることができます。

  • 自己プロファイルアプリケーション
    APIを使用すると、エンドユーザーのデスクトップでのアプリの動作に関する統計情報を収集できます。

APIの仕組み

タイムラインとパフォーマンスのプロファイリング方法には、APIの実装が少し異なります。

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

次のリストは、パフォーマンスプロファイリングのためにAPIを使用する主な概念をまとめたものです。

  • JetBrains.Profiler.Windows.Api.dll ライブラリにある静的 PerformanceProfiler クラスは、プロファイリングを開始、停止、および取り消すためのメソッドを提供します。

  • PerformanceProfiler APIはシンプルな状態マシンとして構成されています。

  • IsActive プロパティは、APIが有効かどうかを判断するために使用されます。

  • プロファイリングは、Begin() メソッドを使用して空のスナップショットを作成することから開始する必要があります。

  • プロファイリングは最初に開始されないため、Start() を呼び出してプロファイリング測定を開始する必要があります。

  • Stop() の測定が中止されます。

  • EndSave() は測定を中止し、ビューアーでスナップショットを開きます。

  • APIを有効にするには、高度なプロファイラオプションプロファイラAPIを使用するチェックボックスを選択する必要があります。

APIステートマシン:

pp api state machine

タイムラインプロファイリング

以下のリストは、タイムラインプロファイリングにAPIを使用する主な概念をまとめたものです。

  • JetBrains.Profiler.Windows.Api.dll ライブラリにある静的 TimelineProfiler クラスは、プロファイリングを開始、停止、および取り消すためのメソッドを提供します。

  • IsActive プロパティは、APIが有効かどうかを判断するために使用されます。

  • プロファイリングは、Begin() メソッドを使用して空のスナップショットを作成することから開始する必要があります。これにより測定も開始されます。

  • EndSave() は測定を中止し、ビューアーでスナップショットを開きます。

  • APIを有効にするには、高度なプロファイラオプションプロファイラAPIを使用するチェックボックスを選択する必要があります。

自己プロファイリング

次のリストは、「自己プロファイリング」の概念をまとめたものです。

  • エンドユーザーには、dotTraceがインストールされていません。アプリケーションのインストールパッケージにdotTraceの再配布可能ファイルを含める必要があります。

  • エンドユーザーはプロファイリングを開始することになっていないため、自己プロファイリングセッションはAPIによって開始されます。この目的のために、APIは JetBrains.Profiler.Windows.SelfApi.dll ライブラリにある静的 SelfAttach クラスを使用します。

  • Attach() メソッドは、プロファイリング設定を準備し、"redistributables" フォルダーからプロファイラを実行します。

  • プロファイリング構成は、Attach メソッドに渡される( BaseSnapshotProfilingConfig BaseProfilingConfig クラスからインスタンス化される)2つのクラスのいずれかによって定義されます。
    • SaveSnapshotProfilingConfig - 作成されたスナップショットは、指定されたフォルダーに保存されます。

    • ExecutableSnapshotProfilingConfig - 作成されたスナップショットは、指定されたフォルダーまたはデフォルトのフォルダーに保存され、スナップショットへのパスはコマンドラインパラメータとして外部アプリケーションに渡されます。

  • パフォーマンスプロファイリングの場合、プロファイリングタイプには制限があります。サンプリングのみになります。

最終更新日: 2019年3月15日

関連事項

リファレンス: