Top Banner
44

Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位...

May 27, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される
Page 2: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

日本オラクル株式会社

コンサルティングサービス事業統括テクノロジーコンサルティング統括本部伊藤智博

Fusion Middleware事業統括本部ビジネス開発部新井庸介

Copyright © 2014, Oracle and/or its affiliates. All rights reserved.

Oracle DBA & Developer Days 2014for your Skill

使える実践的なノウハウがここにある

#odddtky

オラクル・コンサルが語る!Java Flight Recorder活用のワザ

Page 3: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。

3

OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。

Page 4: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

アジェンダ

1

2

3

4

5

Java Flight Recorder 概要

Java Flight Recorder による問題解析

Java Flight Recorder のアーキテクチャ

まとめ

Java Flight Recorder による問題解析 2014

4

Page 5: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

アジェンダ

1

2

3

4

5

Java Flight Recorder 概要

Java Flight Recorder による問題解析

Java Flight Recorder のアーキテクチャ

まとめ

Java Flight Recorder による問題解析 2014

5

Page 6: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Java Flight Recorder & Java Mission Control

• Java Flight Recorder– Oracle WebLogic Server, Java, およびアプリケーションの稼働詳細を自動記録

• Java Mission Control– Flight Recorder によるフライト記録をGUI解析

– 実行中のJavaの状況のリアルタイム監視

自動/手動ファイル出力

JVM

Java Webアプリ

Oracle WebLogic Server

Servlet

JavaVM

JDBC

Flight Recorder Mission Control

6

Page 7: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

JVM Convergence: 製品の統合

Oracle Java

SE 8• JVM

Convergence

2013.9.11 2014.3.182011.7

Java SE 7

update 4HotRockit 1stリリース•診断コマンド

• Flight recorder(プロトタイプ)•GC改良 etc

2012.4

Project HotRockit

7

Oracle Java SE 7

update 40•Java Flight Recorder/

Java Mission Controletc

Sun Hotspot JVM特徴•多種のPlatformに対応•豊富な実績、多数のユーザー• Java SEコアAPI

BEA JRockit JVM特徴•高速(但しIntel 限定)•高い運用管理性:診断コマンド, Mission Control,

Flight recorder, Real-time, etc

Page 8: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

アジェンダ

1

2

3

4

5

Java Flight Recorder 概要

Java Flight Recorder による問題解析

Java Flight Recorder のアーキテクチャ

まとめ

Java Flight Recorder による問題解析 2014

8

Page 9: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

はじめに

Java Mission Controlを使ったフライト記録の解析

自動/手動ファイル出力

Page 10: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

全般タブ

•全体的な情報の参照に使用

• CPU使用率、ヒープ使用率など

• JVMバージョン、コマンドライン引数、システムプロパティなど

Page 11: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

メモリタブ

• OS, Heap使用量の時間的な推移

• GC処理の詳細– GC構成、GCタイプごとのGC

Timeなど

•ヒープ内のオブジェクト統計

Page 12: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

コードタブ

• CPU利用率の高い処理の確認

•ホットメソッド(処理を費やした時間の高いメソッド)の一覧を表示

•メソッドコールのスタック・トレースを参照

•例外の発生状況を確認

Page 13: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

スレッドタブ

•スレッドの稼働状況を確認

•ホットスレッドの参照

•競合やロック情報の参照

•待機時間– ロック待ち

– ファイル/ソケットIO待ち

•スレッドダンプ情報

Page 14: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

IOタブ

•入出力に関する情報を参照可能

–ファイル

I/O(Read/Write)

–ソケット

I/O(Read/Write)

Page 15: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

イベントタブ

•イベント情報の参照

•参照するイベントの選択/絞り込み

•スレッドごとのイベントを時系列のグラフとして参照

–時間による範囲選択や絞り込みが可能

Page 16: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Java Flight Recorderで扱う”イベント”について

•イベント: Flight Recorderで記録される最小単位– イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

•イベントタイプ

1. 期間イベント• 開始時刻と終了時刻を持つ(例: GCイベント)

• 短期イベントは記録しないなどの設定が可能(例: 10msec以下のJava Sleepイベントは記録しない)

2. インスタントイベント• 期間を持たないイベント、開始時刻のみ持つ。Exceptionイベントなど

3. サンプリングイベント• 定期的に記録されるイベント。CPU使用率など。

Page 17: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

本題

Java Flight Recorder による問題解析

説明シナリオ

1. ランタイムの問題: 不定期に遅延が発生する

– “時々遅くなる”ケース

2. アプリケーションの問題: 出力されるはずのログが出ない

– アプリが期待と異なる挙動をするケース

Page 18: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

ケース1. 不定期に遅延が発生するアプリケーションと問題事象

負荷掛けサーバー

Application

Server

Oracle

Real Application

Clusters

負荷試験中に不定期に性能劣化

HotSpot HotSpot

該当時間帯にGCは発生していない

DB側も問題は見られず

レイテンシ

フライト記録を取得し調査

Page 19: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

•特定のDBサーバーへのソケット読み取りのみ長時間かかっていることが分かった

•本来は4つのDBサーバーに同じだけの負荷がかかり、4つともに同等の結果となるはず

ソケット読取り

Java Flight Recorderの確認①

Page 20: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

•こちらでも特定DBサーバーへのSocket Readが数秒と正常時と比べて明らかに遅いことが分かった

イベントグラフ

Java Flight Recorderの確認②

シナリオ3

Page 21: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

原因と対応

•原因

– JFRから特定DBサーバーへの通信が遅くなることが分かった

–これをもとに、ネットワーク統計から、特定のDBサーバー1台に対する通信で、パケットの再送が多発していることを確認

•対応

–対象DBサーバーを外して再試験したところ、レイテンシのスパイクは見られず

–次に、対象DBサーバーのスイッチポートおよびEthernet ケーブルの変更をして再試験したところ、レイテンシのスパイクは見られず

–DBサーバーが接続していたポートおよびケーブルを精査したところ、ポートのコンバータ・モジュールの接触不良であることを特定

Page 22: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

ケース2. 出力されるはずのログが出ないアプリケーションと問題事象

アプリケーション

•データをバッチ処理するプログラム

•通常の結果出力とは別に、処理状況を別途ログ出力する

問題事象

•バッチ処理自体は正常終了するが、処理状況ログに期待した情報が出力されない

Page 23: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

•処理をしてるpool-1-thread-1スレッドでJava Exceptionイベントが連続して多発している

•例外にも関わらずアプリケーション処理は正常終了していた

イベントグラフ

Java Flight Recorderの確認①

Page 24: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

•例外の内容はFileNotFoundException

–書き込み権限に起因する模様

• 3rd Partyのロガーがスタックトレースに含まれている

イベントグラフ

Java Flight Recorderの確認②

Page 25: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

• FileNotFoundExceptionの発生件数は60万回

例外

Java Flight Recorderの確認③

Page 26: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

原因と対応

•原因

–ログの出力先に書込権限が無かったため3rd Party製ロガーは例外をthrowしたが、フレームワーク内のcatch句の中で握りつぶしていた

•対応

–例外をハンドルするようにコードを修正

3rd Partyロガー

FWバッチ

正常終了

3rd Partyロガー

FWバッチ

例外処理

適切な例外処理追加

例外 例外

Page 27: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

• 例外の多発が解消

• アプリケーション内での例外処理漏れの場合、事象の把握や対応は非常に困難

• JFRを利用することでこうしたケースでも詳細を把握でき、要修正箇所を特定できる

解決

修正後再テスト

Page 28: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

アジェンダ

1

2

3

4

5

Java Flight Recorder 概要

Java Flight Recorder による問題解析

Java Flight Recorder のアーキテクチャ

まとめ

Java Flight Recorder による問題解析 2014

28

Page 29: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle Java SE

OS

Java Flight Recorderアーキテクチャ概要

Java Mission Control

jcmd

ダンプ依頼/

ダンプ解析

ダンプ依頼

ダンプ(.jfr)

JFR engine

JFR API (jfr.dll、jfr.jar)

WebLogic

Server

イベント

イベントイベント

.jfr

イベントイベントイベント

User

Application

循環バッファ

Memory + Disk

Page 30: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

ヒープ外のメモリ

Java Flight Recorder:循環バッファ

•循環バッファ– Flight RecorderによりEventが記録される領域

– メモリ+ディスクの組み合わせで構成

•循環バッファの各エリア

– Thread Local Buffer• 各スレッドが持つローカルバッファ領域: 5KB/Thread

–Global Buffer• Thread Local Bufferから移行: 462,848 bytes (default)

–Disk File• Global Bufferから移行

• Chunk単位に分割格納: Max Chunk sise=12MB (default)

•循環バッファのサイズ設定– MaxSizeもしくはMaxAgeのどちらかを指定

Thread local Buffer

新しいデータ

あふれたら移動

あふれたら移動

ディスク

Global Buffer

循環バッファーイベント

Page 31: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle WebLogic Serverとの連携WebLogic診断フレームワーク(WLDF)との連携

• WebLogicの稼働情報をFlight Recorderでまとめて記録

•イベント内に、Servlet処理やJDBC処理に関するイベントが含まれる

Page 32: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle WebLogic Serverとの連携

•記録例: Java EEレイヤーの処理詳細まで把握可能

Servlet

JDBC

Java

Page 33: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle WebLogic Serverとの連携設定

• WebLogic Serverの管理コンソールからフライト記録を設定

•記録するイベント量の制御も可能– ドメイン>環境>サーバ>構成>全般>診断ボリューム

– オフ、低、中、高のいずれかを指定(デフォルトは低)

Page 34: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

アジェンダ

1

2

3

4

5

Java Flight Recorder 概要

Java Flight Recorder による問題解析

Java Flight Recorder のアーキテクチャ

まとめ

Java Flight Recorder による問題解析 2014

34

Page 35: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Java Flight Recorderの差別化ポイントこれまでのトラブル対応手法との違い

•本番環境での常時記録を可能にする低負荷技術– JVMレベルの内部機構を利用した低負荷記録

•ダンプファイルによるオフライン分析– 無応答、ダウン、再起動の際の情報消失を防ぐ

– 障害時点の情報に加え、そこに至る履歴情報もまとめて出力

•既存環境への適用が容易– Oracle Java SE (JDEk/JRE)に付属

– 追加インストール不要

– アプリケーション改変不要

Javaプロファイラ

負荷: 高

情報量: 多

負荷: 低

情報量: 少

ログ、ダンプ等

Java Flight Recorder

Page 36: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

サポートの観点からJava Flight Recorderが無い場合

GCの遅延が発生しました。Excelを送ります。

詳細を見たいのでGC logを送って頂けますでしょうか?GCログ探して整形or再現テストして取得

取得したGCログを送ります。○○で時間がかかっているようです。

詳細解析のためにヒープダンプとスレッドダンプを送って頂けますでしょうか?

探して整形or再現テストして取得

取得したファイルを送ります。

特に異常はないようです。JRockitのバージョンは何でしょうか?

○○です。

該当のバージョン、症状を鑑みたところ、既知バグを踏んでいる可能性があります。こちらのWAをご試行ください

確認作業複雑な手続き作業遅延→対応コスト増大

フィールドエンジニア

サポートエンジニア

Page 37: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Java Flight Recorderがある場合

GCの遅延が発生しました。JFRファイルを送ります。

JFRを確認し該当のバージョン、症状を鑑みたところ、既知バグを踏んでいる可能性があります。こちらのWAをご試行ください

解析作業

顧客担当者

サポートエンジニア

シンプルな手続き作業の迅速化→対応コスト低減

Page 38: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

アジェンダ

1

2

3

4

5

Java Flight Recorder 概要

Java Flight Recorder による問題解析

Java Flight Recorder のアーキテクチャ

まとめ

Java Flight Recorder による問題解析 2014

38

Page 39: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

フライト記録の開始

•フライト記録の開始方法は以下の3つ

–起動引数で指定

– jcmdコマンドで開始

–Mission Controlから開始• 次ページで説明

java -XX:+UnlockCommercialFeatures -XX:+FlightRecorder

-XX:StartFlightRecording=duration=60s,filename=myrecording.jfr MyApp

jcmd <PID> JFR.start duration=60s filename=myrecording.jfr

Page 40: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Mission Controlからフライト記録の開始

フライト記録開始

①JVMブラウザから対象のJVMを右クリック、フライト記録の開始を選択

②取得時間や、イベント設定などを選択

③オプションの指定 ④イベントの取得条件を変える場合は個々に変更

Page 41: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

フライト記録のダンプ

•インメモリのフライト記録や任意の時間の記録を参照する場合は、ファイル(.jfr)へのダンプが必要

•フライト記録のダンプ契機

–自動ダンプ• 起動時に指定したフライト記録時間が終了した場合

• JVM終了時

• Triggerベース: Mission Control上でトリガーを設定

• WebLogic診断フレームワーク(WLDF)にて定義した監視ルールに基づくダンプ

–明示的なダンプ• jcmdコマンドによるダンプ( JFR.dump)

• Mission Controlからの手動ダンプ

Page 42: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 42

Page 43: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Page 44: Oracle DBA & Developer Days 2014...Java Flight Recorderで扱う”イベント”について •イベント: Flight Recorderで記録される最小単位 –イベント発生時刻、スタックトレース、イベント同士の関連情報などを併せて記録される