|
1 | 1 | --- |
2 | | -title: Always-On Profiling in the Trace Waterfall |
| 2 | +title: Trace Waterfall内のAlways-On Profiling |
3 | 3 | linkTitle: 2. Trace Waterfall |
4 | 4 | weight: 2 |
5 | 5 | --- |
6 | 6 |
|
7 | | -APM WaterfallビューでオリジナルのTrace & Span **(1)**(または類似のもの)を選択し、右側のペイン (pane) から**Memory Stack Traces (2)**を選択してください: |
| 7 | +APM Waterfall ビューでオリジナルの Trace & Span **(1)**(または類似のもの)を選択し、右側のペイン (pane) から**Memory Stack Traces (2)**を選択してください: |
8 | 8 |
|
9 | 9 |  |
10 | 10 |
|
11 | | -ペイン (pane) にMemory Stack Trace Flame Graph **(3)**が表示されます。スクロール (scroll) するか、ペイン (pane) の右側をドラッグ (drag) して拡大できます。 |
| 11 | +ペイン (pane) に Memory Stack Trace Flame Graph **(3)**が表示されます。スクロール (scroll) するか、ペイン (pane) の右側をドラッグ (drag) して拡大できます。 |
12 | 12 |
|
13 | | -AlwaysOn Profilingは、アプリケーション (application) のコード (code) のスナップショット (snapshot)、つまりスタックトレース (stack trace) を常に取得しています。何千ものスタックトレース (stack trace) を読まなければならないことを想像してみてください!それは現実的ではありません。これを支援するために、AlwaysOn Profilingはプロファイリング (profiling) データ (data) を集約して要約し、**Flame Graph**と呼ばれるビュー (view) でCall Stacksを探索する便利な方法を提供します。これは、アプリケーション (application) からキャプチャ (capture) されたすべてのスタックトレース (stack trace) の要約を表します。Flame Graphを使用して、パフォーマンス (performance) の問題を引き起こしている可能性のあるコード (code) の行を発見し、コード (code) に加えた変更が意図した効果を持っているかどうかを確認できます。 |
| 13 | +AlwaysOn Profiling は、アプリケーション (application) のコード (code) のスナップショット (snapshot)、つまりスタックトレース (stack trace) を常に取得しています。何千ものスタックトレース (stack trace) を読まなければならないことを想像してみてください!それは現実的ではありません。これを支援するために、AlwaysOn Profiling はプロファイリング (profiling) データ (data) を集約して要約し、**Flame Graph**と呼ばれるビュー (view) で Call Stacks を探索する便利な方法を提供します。これは、アプリケーション (application) からキャプチャ (capture) されたすべてのスタックトレース (stack trace) の要約を表します。Flame Graph を使用して、パフォーマンス (performance) の問題を引き起こしている可能性のあるコード (code) の行を発見し、コード (code) に加えた変更が意図した効果を持っているかどうかを確認できます。 |
14 | 14 |
|
15 | | -Always-on Profilingをさらに詳しく調べるには、**Memory Stack Traces**の下のProfiling Paneで上の画像で参照されているSpan **(3)**を選択してください。これにより、Always-on Profilingのメイン (main) 画面が開き、Memoryビュー (view) があらかじめ選択されています: |
| 15 | +Always-on Profiling をさらに詳しく調べるには、**Memory Stack Traces**の下の Profiling Pane で上の画像で参照されている Span **(3)**を選択してください。これにより、Always-on Profiling のメイン (main) 画面が開き、Memory ビュー (view) があらかじめ選択されています: |
16 | 16 |
|
17 | 17 |  |
18 | 18 |
|
19 | | -* Timeフィルタ (filter) は、選択したスパン (span) の時間枠に設定されます **(1)** |
20 | | -* Java Memory Metric Charts **(2)**では、`Heap Memoryのモニター (monitor)`、`Memory Allocation Rate`や`Garbage Collecting` Metricsなどの`Application Activity`を確認できます。 |
21 | | -* スパン (span) **(3)**に関連するメトリクス (metrics) とStack Tracesのみにフォーカス/表示する機能。これにより、必要に応じてJavaアプリケーション (application) で実行されているバックグラウンド (background) アクティビティ (activity) をフィルタ (filter) で除外できます。 |
22 | | -* 識別されたJava Function calls **(4)**により、その関数から呼び出されたメソッド (method) にドリルダウン (drill down) できます。 |
23 | | -* プロファイル (profile) されたサービス (service) のスタックトレース (stack trace) に基づく階層の視覚化を持つFlame Graph **(5)**。 |
24 | | -* サービス (service) が複数のバージョン (version) を起動する場合に備えて、Service instance **(6)**を選択する機能。 |
| 19 | +- Time フィルタ (filter) は、選択したスパン (span) の時間枠に設定されます **(1)** |
| 20 | +- Java Memory Metric Charts **(2)**では、`Heap Memoryのモニター (monitor)`、`Memory Allocation Rate`や`Garbage Collecting` Metrics などの`Application Activity`を確認できます。 |
| 21 | +- スパン (span) **(3)**に関連するメトリクス (metrics) と Stack Traces のみにフォーカス/表示する機能。これにより、必要に応じて Java アプリケーション (application) で実行されているバックグラウンド (background) アクティビティ (activity) をフィルタ (filter) で除外できます。 |
| 22 | +- 識別された Java Function calls **(4)**により、その関数から呼び出されたメソッド (method) にドリルダウン (drill down) できます。 |
| 23 | +- プロファイル (profile) されたサービス (service) のスタックトレース (stack trace) に基づく階層の視覚化を持つ Flame Graph **(5)**。 |
| 24 | +- サービス (service) が複数のバージョン (version) を起動する場合に備えて、Service instance **(6)**を選択する機能。 |
25 | 25 |
|
26 | | -さらなる調査のために、UIではスタックトレース (stack trace) をクリックして、呼び出された関数と、フレームチャート (flame chart) から関連する行を確認できます。これを使用して、コーディング (coding) プラットフォーム (platform) で実際のコード (code) の行を表示できます(もちろん、お好みのコーディング (coding) プラットフォーム (platform) によって異なります)。 |
| 26 | +さらなる調査のために、UI ではスタックトレース (stack trace) をクリックして、呼び出された関数と、フレームチャート (flame chart) から関連する行を確認できます。これを使用して、コーディング (coding) プラットフォーム (platform) で実際のコード (code) の行を表示できます(もちろん、お好みのコーディング (coding) プラットフォーム (platform) によって異なります)。 |
27 | 27 |
|
28 | 28 | <!-- Once you have identified the relevant Function or Method you are interested in, `com.mysql.cj.protocol.a.NativePacketPayload.readBytes` in our example but yours may differ, so pick the top one **(1)** and find it at the e bottom of the Flame Graph **(2)**. Click on it in the Flame Graph, it will show a pane as shown in the image below, where you can see the Thread information **(3)** by clicking on the blue *Show Thread Info* link. If you click on the *Copy Stack Trace* **(4)** button, you grab the actual stack trace that you can use in your coding platform to go to the actual lines of code used at this point (depending of course on your preferred Coding platform) |
29 | 29 |
|
|
0 commit comments