show mrtable-agent-statistics

show mrtable-agent-statistics [-agent <agentID>][-table <tableName>][-json]

複数リージョン表エージェントに関する最後の1分間の最新の統計を表示します。引数を指定しない場合、このコマンドはMR表に含まれるすべてのリージョンの総合統計を表示します。

入力パラメータ

必要に応じて、このコマンドで適切なパラメータを指定して次のフラグを有効にすることもできます。

表A-1 入力パラメータ

フラグ パラメータ 説明
- agent agentID 統計を指定のエージェントIDに制限します。エージェントIDは、エージェントの構成中に作成されたJSON構成ファイルから確認できます。XRegionサービスの構成を参照してください。
- table tableName 統計を指定のMR表に制限します。
- json - 完全な統計をJSON形式で返します。統計はデフォルトでJSON形式で返されますが、このフラグを指定すると、操作、リターン・コード、リターン・コードの説明などの追加情報が出力に追加されます。

出力の統計

show mrtable-agent-statisticsによってレポートされる統計は、次の目的で使用される統計に分類できます。
  • 他のリージョンからのストリームの監視

    表A-2 出力の統計1

    統計 説明
    completeWriteOps リージョン当たりの完全な書込み操作の数。
    lastMessageMs

    エージェントがリモート・リージョンから最後のメッセージを参照したときのタイムスタンプ(ミリ秒)。

    この統計情報を使用できない場合は、出力値として-1が出力されます。

    lastModificationMs

    各リモート・リージョンで実行された最後の操作のタイムスタンプ(ミリ秒)。

    この統計情報を使用できない場合は、出力値として-1が出力されます。
    laggingMs (avg, max, min)

    複数リージョンKVStoreでは、リージョン内の各シャードが、すべての表に対して実行されたすべての操作をエージェントのキューにプッシュします。エージェントは、キューの内容をイベント順に他のすべてのリージョンにレプリケートします。遅延統計は、イベントがキューにプッシュされてからエージェントによって他のリージョンにレプリケートされるまでの時間差を表します。この値が大きい場合は、キューがバックアップされていることを示します。値が小さいほど、エージェントはリモート・リージョンからのイベント数に遅れずに対応できていることを示します。遅延統計は、各リモート・リージョンの平均、最小および最大(ミリ秒)としてレポートされます。

    この統計情報を使用できない場合は、出力値として-1が出力されます。

    latencyMs (avg, max, min) MR表では、レイテンシ統計は、各操作がその起点(リモート)リージョンからターゲット(ローカル)リージョンに移動するのにかかった時間(ミリ秒)を示します。
    レイテンシは、T2 - T1として計算されます。
    • T1は、リモート・リージョンで操作が実行されたときのタイムスタンプです。
    • T2は、エージェントがレプリケートされた操作をローカル・リージョンに永続化したときのタイムスタンプです。
    レイテンシ統計は、リモート・リージョンごとに、そのリージョンからのすべての操作の平均、最小および最大のレイテンシとしてレポートされます。

    この統計情報を使用できない場合は、出力値として-1が出力されます。

  • リモート・データの永続性の確認

    表A-3 出力の統計2

    統計 説明
    puts 受信した書込み操作の数。
    dels 受信した削除操作の数。
    streamBytes リモート・リージョンからレプリケートされた合計バイト数。
    persistStreamBytes ローカル・リージョンで正常にコミットされた合計バイト数をレポートします。これは、リモート・リージョンからレプリケートされた合計バイト数とは異なります。他のリージョンからの操作と競合する場合、操作によっては組込み競合解消ルールに失敗すると永続化されない可能性があるためです。
    winPuts 正常に実行された書込み操作の数。具体的には、この統計では、他のリージョンの書込みと競合した場合に、競合解消ルールで優先されなかった書込みは除外されます。
    winDels 正常に実行された削除操作の数。具体的には、この統計では、他のリージョンの削除と競合した場合に、競合解消ルールで優先されなかった削除は除外されます。
    incompatibleRows 互換性のない表スキーマのために永続化されなかった操作の数。これは、起点リージョンと、その行をローカル・データ・ストアにレプリケートしようとしているリージョンの間にスキーマの不一致がある場合に発生する可能性があります。
  • 管理者とエージェント間のやり取りの監視

    表A-4 出力の統計3

    統計 説明
    requests MR表に対してユーザーが実行したすべてのDDLコマンドは、管理者によってエージェントへのリクエストに変換されます。この統計は、管理者がポストしたリクエストの数をレポートします。
    responses エージェントが処理および応答したリクエストの数。
  • 複数リージョン表の監視
    -tableフラグを指定してshow mrtable-agent-statisticsコマンドを実行すると、次のことを示す表レベルの統計が返されます。
    1. ローカル・リージョンでのリモート・データの永続性: これには、前述のputsdelswinPutswinDelsstreamBytespersistStreamBytesincompatibleRowsなどの統計が含まれます。
    2. 各リモート・リージョンでの表の初期化の進行状況: これは、出力のInitialization statisticsstate属性によって示されます。次の表に、stateの様々な有効値とその意味を示します。

      表A-5 表の初期化の状態

      状態 説明
      NOT_START MR表の初期化が開始されていないか、初期化を実行する必要がありません。たとえば、エージェントが既存のチェックポイントからストリームを正常に再開した場合、MR表を再初期化する必要はありません。
      IN_PROGRESS MR表の初期化が進行中です。つまり、MR表の初期化が開始され、データがリモート・リージョンからレプリケートされています。
      COMPLETE MR表の初期化が完了し、表の転送が完了しています。エージェントはリモート・リージョンからストリーミングしています。
      ERROR リカバリできないエラーのため、MR表の初期化が完了できません。エラーの重大度は、エージェント・ログでWARNINGまたはSEVEREとして確認できます。エージェント・ログはJSON構成ファイルで指定されたディレクトリにあります。XRegionサービスの構成を参照してください。
      SHUTDOWN サービスが停止されたため、MR表の初期化が完了できません。
    3. リモート・リージョンごとの表データの永続性:

      表A-6 出力の統計4

      統計 説明
      transferStartMs

      表の初期化の開始のタイムスタンプ(ミリ秒)。

      この統計情報を使用できない場合は、出力値として-1が出力されます。

      transferCompleteMs

      表の初期化の完了のタイムスタンプ(ミリ秒)。

      この統計情報を使用できない場合は、出力値として-1が出力されます。
      elapsedMs 表の初期化の開始から完了までの経過時間。

      elapsedMs = transferCompleteMs - transferStartMs

      この統計はミリ秒単位でレポートされます。転送が完了するまで、この統計が使用できないことを示す-1がレポートされます。

      transferBytes リモート(起点またはソース)リージョンからローカル(ターゲット)リージョンに転送されるバイト数。
      transferRows リモート・リージョンからローカル・リージョンに正常に転送された行数。
      expireRows リモート・リージョンからの転送前に期限切れになった行数。TTL値のため、行によってはレプリケーション中に期限切れになる可能性があります。このような行は、エージェントに到達するまでに期限切れになります。この統計は、このような期限切れの行をカウントします。
      persistBytes ローカル・リージョンで正常にコミットされた合計バイト数をレポートします。組込み競合解消ルールに失敗したため、ローカル・リージョンでコミットされていない行は除外されます。行の更新の場合、行全体がこの統計にカウントされます。
      persistRows ローカル・リージョンで正常にコミットされた合計行数をレポートします。前述の統計と同様に、組込み競合解消ルールのためにローカル・リージョンでコミットされていない行は、この数から除外されます。

次に、様々な入力パラメータを指定したshow mrtable-agent-statisticsコマンドから返される統計の例をいくつか示します。

ノート:

いずれかの統計情報が使用できない場合は、その統計パラメータの値として-1が出力にレポートされます。
# MR table agent statistics for a specific agent 
kv-> show mrtable-agent-statistics -agent 0 -json
{
  "operation": "show mrtable-agent-statistics",
  "returnCode": 5000,
  "description": "Operation ends successfully",
  "returnValue": {
    "XRegionService-1_0": {
      "timestamp": 1592901180001,
      "statistics": {
        "agentId": "XRegionService-1_0",
        "beginMs": 1592901120001,
        "dels": 1024,
        "endMs": 1592901180001,
        "incompatibleRows": 100,
        "intervalMs": 60000,
        "localRegion": "slc1",
        "persistStreamBytes": 524288,
        "puts": 2048,
        "regionStat": {
          "lnd": {
            "completeWriteOps": 10,
            "laggingMs": {
              "avg": 512,
              "max": 998,
              "min": 31
            },
            "lastMessageMs": 1591594977587,
            "lastModificationMs": 1591594941686,
            "latencyMs": {
              "avg": 20,
              "max": 40,
              "min": 10
            }
          },
          "dub": {
            "completeWriteOps": 20,
            "laggingMs": {
              "avg": 535,
              "max": 1024,
              "min": 45
            },
            "lastMessageMs": 1591594978254,
            "lastModificationMs": 1591594956786,
            "latencyMs": {
              "avg": 30,
              "max": 45,
              "min": 15
            }
          }
        },
        "requests": 12,
        "responses": 12,
        "streamBytes": 1048576,
        "winDels": 1024,
        "winPuts": 2048
      }
    }
  }
}
# MR table agent statistics for a specific MR table 
kv-> show mrtable-agent-statistics -table users -json
{
  "operation": "show mrtable-agent-statistics",
  "returnCode": 5000,
  "description": "Operation ends successfully",
  "returnValue": {
    "XRegionService-1_0": {
      "tableID": 12,
      "tableName": "users",
      "timestamp": 1592901300001,
      "statistics": {
        "agentId": "XRegionService-1_0",
        "beginMs": 1592901240001,
        "dels": 1000,
        "endMs": 1592901300001,
        "expiredPuts": 200,
        "incompatibleRows": 100,
        "initialization": {
          "lnd": {
            "elapsedMs": 476,
            "expireRows": 100,
            "persistBytes": 6492160,
            "persistRows": 6340,
            "state": "COMPLETE",
            "transferBytes": 8115200,
            "transferCompleteMs": 1592822625333,
            "transferRows": 7925,
            "transferStartMs": 1592822624857
          },
          "dub": {
            "transferStartMs": 0,
            "transferCompleteMs": 0,
            "elapsedMs": -1,
            "transferRows": 0,
            "persistRows": 0,
            "expireRows": 0,
            "transferBytes": 0,
            "persistBytes": 0,
            "state": "NOT_START"
          }
        },
        "intervalMs": 60000,
        "localRegion": "fra",
        "persistStreamBytes": 104960000,
        "puts": 100000,
        "streamBytes": 115200000,
        "tableId": 12,
        "tableName": "users",
        "winDels": 745,
        "winPuts": 90000
      }
    }
  }
}