ロックツリー
1日で発生したLockの推移を分析することができます。Lockを発生させたセッション(Lock Holder)とLockを待機しているセッション(Lock Waitier)に対してツリー構造で確認することができます。このような機能により、特定時点で発生したLock情報であるHolderとWaiterの関係を確認してクエリ(Query)を分析し、デッドロッククエリを確認することができます。
ホーム画面 > プロジェクト選択 > 分析 > ロックツリー
一日のロック発生有無と発生時間を時系列チャート/ロックツリーとして提供します。ロックが最初に発生した地点からholderとwaiterの構造をツリー形式で表現して提供します。ロックツリーは時間の流れで確認できます。
- 時間別ロックトレンドの視覚化: 1-Min Lock TrendsとLock Wait Sessions機能により、ロック発生データを時間単位で分析できます。
基本的な使い方

時間、
インスタンスで照会する日付と時間、インスタンスを選択します。設定した時間にロックが発生した場合は、Lock Wait Sessionsと下段のLock Treeテーブルに照会されているデータが表示されます。
-
1つのチャート内で最大2週間のデータを一度に確認できます。グラフチャートで特定の時間をクリックすると、画面下のテーブルから選択した時間のロック情報を確認できます。画面下の詳細情報から秒単位ボタンをクリックすると、5秒単位でロック情報を照会できます。
ノートLock Wait Sessionsチャートの右上に表示されているタグを通じて照会の単位を確認できます。
-
グラフチャートで特定時間領域をドラッグ(ドリルダウン)するほど、詳細時間のチャートとロックツリーを照会できます。
-
チャートで3時間以内にドラッグして、5秒単位のデータを照会できます。ただし、5秒単 位のデータは、最近1か月の範囲に限って照会できます。1か月前のデータは、5分要約データでしか閲覧できません。例えば、40 日前のロックツリーデータをドラッグ(ドリルダウン)すると、5分要約データは照会できますが、5秒データは照会できません。
Lock Wait Sessions
Lock Wait Sessionsは、ロック待機セッションの情報を分析できる機能です。照会期間によってロック待機セッションデータを3時間以上照会すると5分間隔で、3時間未満照会すると5秒間隔で提供します。また、チャートをドラッグして時間範囲を流動的に調整できます。
1-Min Lock Trends
Lock Wait Sessionsで特定の時間帯をクリックすると、その時間基準で15分前から15分後までの計30分間のロック発生状況を可視化して表示します。これにより、30分単位でロック発生トレンドを効果的に分析できます。
Total Locksは、その時間帯に発生したロックの合計個数を意味します。
時間照会
Lock Wait Sessionsでクリックした時間に発生した最大ロック数を基準に1-Min Lock TrendsとLock Treeテーブルの時間が設定されます。これにより、ロックが最も多く発生した区間を把握できます。

Lock Wait Sessionsはそのままにして1-Min Lock Trendsチャートで他の時間帯のバーをクリックした場合、該当する分の最大ロック数を持つ秒の時点でLock Treeテーブルの時間範囲が同期されます。これにより、時間帯を変更する時にLock Treeテーブルに反映された情報を確認できます。

-
3時間以上照会した場合 (5分単位のデータ使用)
照会時点から5分の区間でバーの色が濃く表示されます。
07:15:00時点をクリックした場合、07:15:00~07:20:00区間バーのチャートの色が濃く表示されます。
-
3時間未満照会した場合 (5秒単位のデータ使用)
短い時間間隔で発生したロック状況を分析する時に役立ちます。

- Active session
- Lock tree
- Process information
| 項目 | 説明 |
|---|---|
user | SQL実行アカウント |
host | このスレッドが関連付けられたhostname |
db | default database名、 ない場合はNULL |
command | 実行されているコマンドの種類 (Query/Sleep/Daemonなど) |
time | 現在のCOMMANDの実行時間(秒) |
state | スレッドの状態(executing/updating/sending dataなど) |
query | 実行されているstatementです。Processlist.infoからリテラル値を除外したSQLを表示します。 |
query_param | queryから分離したリテラル値 |
type | Threadのタイプ。 FOREGROUND/BACKGROUNDなど |
connection_type | Connectionの確立に使用されるprotocol。 TCP/IP、SSL/TLS |
| 項目 | 説明 |
|---|---|
| Instance | インスタンス(エージェント)名 |
| id | セッションID |
| holder_type | ロックがどの対象に対してかかっているかを示します。 - RECORD: テーブルのレコード(行)レベルのロック - TABLE: テーブル全体に対するロック |
| holder_mode | ホルダーセッションのロックモード - S(Shared): 共有ロック。 他のトランザクションによる読み取りは可能 - X(Exclusive): 排他ロック。 他のトランザクションはアクセスできません。 |
| waiter_type | ロックがどの対象に対してかかっているかを示します。 holder_type の説明を参照してください。 |
| waiter_mode | ロックを待機中のセッションのロックモードです。 holder_mode の説明を参照してください。 |
| table | ロックを待機中のテーブル |
| index | ロックを待機中のインデックス |
次の項目は、XOSエージェントをインストールした場合に収集される指標です。
| 項目 | 説明 | 単位 |
|---|---|---|
pid | プロセスID | - |
cpuusage | プロセスが使用するCPU使用率 | % |
cputime | プロセスがこれまでに使用した累積CPU時間 | 秒 |
elapse | プ ロセスが実行されてからの経過時間 | 秒 |
vsize | Virtual memory size. 全体の仮想メモリ使用量(RAM + Swap + 予約) | KB |
rss | Resident Set Size. 現在のプロセスが占有している実際の物理メモリサイズ | KB |
pss | Proportional Set Size. 共有メモリを含む実際の物理メモリ使用量 | KB |
state | プロセスの現在の状態コード(例:R、S、D、T、Z など) | - |
ioread | 累積読み込みバイト数(read_bytes) | バイト(B) |
iowrite | 累積書き込みバイト数(write_bytes) | バイト(B) |
uid | このプロセスを実行したユーザーID | - |
cmd | 実行されたコマンドの短縮形式 | - |
longcmd | 実行されたコマンドの完全な形式(フルパスおよび引数を含む) | - |
AIで分析する
画面でWhaTap AIボタンをクリックすると、WhaTap AIチャットウィンドウが開き、照会した画面データを要約して分析した結果が対話形式で表示されます。結果を読んだ後、同じ対話で続けて質問できます。
-
分析に使用するデータは照会範囲全体の推移、30分区間の集計、選択時点のロックツリースナップショットの3つです。
-
分析対象は画面に照会されたデータです。照会条件を変更してから再度分析すると、変更後のデータを基準に分析します。
-
対話履歴には
AI分析 - {画面名}形式で記録されます。