.NETの非同期イグジットポイント

非同期プログラミングパターンではアプリケーションのスケーラビリティと性能を向上させることができます。Microsoft .NETにより、非同期タスクとしてのメソッドの指定が可能になります。

.NET ランタイムは、タスクの完了時に非同期メソッドのリソースを解放します。タスク処理が終了すると、ランタイムは発生元の非同期メソッドにコールバックするため、メソッドは処理を継続する場合があります。

.NET エージェントは、特定の非同期プログラミングパターンをイグジットポイントとして検出します。タスクは並行して実行されるため、Splunk AppDynamics はコントローラに非同期アクティビティを同期アクティビティとは異なる形式で表示することがあります。

Splunk AppDynamics では、.NET 非同期バックエンドトラッキングはスレッド相関と差別化されます。スレッド相関を構成するには、「.NETのスレッドの関連付け」を参照してください。

トランザクションスナップショットにおける非同期コールのトラブルシューティング

トランザクションスナップショットには、非同期メソッドを使用するビジネストランザクションの問題を発見するために役立つ機能が含まれています。「トランザクション スナップショットを使用したビジネス トランザクション パフォーマンスのトラブルシューティング」を参照してください。

トランザクションスナップショットのフローマップ

トランザクション スナップショット フロー マップでは、ビジネストランザクションが視覚的に表示されます。トランザクションのユーザーエクスペリエンス、実行時間、タイムスタンプが表示されます。また、フローマップにより特定のティアやダッシュボードおよびリモートサービスコールで費やされた合計時間の詳細を把握できます。async ラベルは、非同期コールを表しています。

スナップショットの実行ウォーターフォールビュー

トランザクションの [Snapshot Execution Waterfall View] には、ビジネストランザクションのエンドツーエンド実行がタイムライン表示されます。同期プロセスと非同期プロセスは、相対的な実行時間を時系列順に示した棒グラフに表示されます。同期コールは実線の矢印で表され、非同期コールは点線の矢印で表されます。

ウォーターフォールビューを使用すると、最も長く実行されているプロセスを視覚的に識別できます。バーをダブルクリックして、コールグラフにドリルダウンし、問題のあるコードを調査します。

メトリックブラウザにおける非同期アクティビティの分析

メトリックブラウザでは、非同期アクティビティが以下の場所に表示されます。

  • [Business Transaction Performance] > [Business Transactions] > [tier] > [business transaction] > [Thread Tasks] > [Asynchronous Operation] > [External Calls]
  • [Overall Application Performance] > 階層 > [Thread Tasks] > [Asynchronous Operation] > [External Calls]
  • [Overall Application Performance] > 階層 > [Individual Nodes] > [node name] > [Thread Tasks] > [Asynchronous Operation] > [External Calls]