

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon CloudWatch を使用した Kinesis Client Library を監視する
<a name="monitoring-with-kcl"></a>

Amazon Kinesis Data Streams の [Kinesis Client Library](https://docs.aws.amazon.com/kinesis/latest/dev/developing-consumers-with-kcl.html) (KCL) は、KCL アプリケーションの名前を名前空間として使用して、お客様に代わってカスタム Amazon CloudWatch メトリクスを発行します。[CloudWatch console](https://console.aws.amazon.com/cloudwatch/) に移動し、[**カスタムメトリクス**] を選択すると、これらのメトリクスを表示できます。カスタムメトリクスに関する詳細については、*Amazon CloudWatch ユーザーガイド*の[カスタムメトリクスを発行する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/publishingMetrics.html)を参照してください。

KCL によって CloudWatch にアップロードされたメトリクスには、小額の課金が発生します。具体的には、*Amazon CloudWatch カスタムメトリクス*と *Amazon CloudWatch API リクエスト*の料金が適用されます。詳細については、「[Amazon CloudWatch 料金表](https://aws.amazon.com/cloudwatch/pricing/)」をご覧ください。

**Topics**
+ [メトリクスと名前空間](#metrics-namespace)
+ [メトリクスレベルとディメンション](#metric-levels)
+ [メトリクスの設定](#metrics-config)
+ [メトリクスのリスト](#kcl-metrics-list)

## メトリクスと名前空間
<a name="metrics-namespace"></a>

メトリクスのアップロードに使用される名前空間は、KCL の起動時に指定されたアプリケーション名です。

## メトリクスレベルとディメンション
<a name="metric-levels"></a>

CloudWatch にアップロードされるメトリクスを制御する 2 つのオプションがあります。

メトリクスレベル  
すべてのメトリクスに、個別のレベルが割り当てられます。メトリクスのレポートレベルを設定すると、レポートレベル以下の個別のレベルのメトリクスは CloudWatch に送信されません。このレベルとして、`NONE`、`SUMMARY`、`DETAILED` があります。デフォルト設定は `DETAILED` であり、すべてのメトリクスが CloudWatch に送信されます。レポートレベル `NONE` は、メトリクスがまったく送信されないことを意味します。各メトリクスに割り当てられるメトリクスの詳細については、[メトリクスのリスト](#kcl-metrics-list)を参照してください。

有効なディメンション  
すべての KCL メトリクスには、CloudWatch に送信されるディメンションが関連付けられています。KCL 2.x では、単一のデータストリームを処理するように KCL が設定されている場合、すべてのメトリクスディメンション (`Operation`、`ShardId`、および`WorkerIdentifier`) が、デフォルトで有効になっています。また、KCL 2.x では、単一のデータストリームを処理するように KCL が設定されている場合、`Operation` ディメンションを無効にすることはできません。KCL 2.x では、KCL が複数のデータストリームを処理するように構成されている場合、すべてのメトリクスディメンション (`Operation`、`ShardId`、`StreamId`、および`WorkerIdentifier`) は、デフォルトで有効になっています。また、KCL 2.x では、KCL が複数のデータストリームを処理するように設定されている場合、`Operation` と `StreamId` ディメンションを無効にすることはできません。`StreamId`ディメンションは、シャードごとのメトリクスでのみ使用できます。  
 KCL 1.x では、デフォルトでは、`Operation` および `ShardId` ディメンションのみが有効であり、`WorkerIdentifier` ディメンションは無効となります。KCL 1.x では、`Operation` ディメンションを無効にすることはできません。  
CloudWatch メトリクスディメンションの詳細については、*Amazon CloudWatch ユーザーガイド*のAmazon CloudWatch の概念トピックの[ディメンション](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Dimension)セクションを参照してください。  
`WorkerIdentifier` ディメンションが有効で、特定のKCL ワーカーが再起動するたびにワーカー ID プロパティに異なる値が使用される場合、新しい `WorkerIdentifier` ディメンション値を持つ新しいメトリクスのセットが CloudWatch に送信されます。特定の KCL ワーカーの再起動で、`WorkerIdentifier` ディメンションの値が同じである必要がある場合、各ワーカーの初期化中に同じワーカー ID 値を明示的に指定する必要があります。アクティブな各 KCL ワーカーのワーカー ID 値は、すべての KCL ワーカー間で一意である必要があります。

## メトリクスの設定
<a name="metrics-config"></a>

メトリクスレベルと有効なディメンションは、KinesisClientLibConfiguration インスタンスを使用して設定でき、このインスタンスは KCL アプリケーションを起動するときにワーカーに渡されます。MultiLangDaemon の場合、`metricsLevel` プロパティおよび `metricsEnabledDimensions` プロパティは、MultiLangDaemon KCL アプリケーションを起動するために使用される .properties ファイルで指定できます。

メトリクスレベルには、NONE、SUMMARY、または DETAILED の 3 つの値のうち 1 つを割り当てることができます。有効なディメンションの値は、CloudWatch メトリクスで許可されているディメンションのリストを含むカンマ区切りの文字列である必要があります。KCL アプリケーションによって使用されるディメンションは、`Operation`、`ShardId`、および `WorkerIdentifier` です。

## メトリクスのリスト
<a name="kcl-metrics-list"></a>

次の表には、範囲およびオペレーションによってグループ分けされた KCL メトリクスが一覧表示されています。

**Topics**
+ [KCL アプリケーションあたりのメトリクス](#kcl-metrics-per-app)
+ [ワーカーあたりのメトリクス](#kcl-metrics-per-worker)
+ [シャードあたりのメトリクス](#kcl-metrics-per-shard)

### KCL アプリケーションあたりのメトリクス
<a name="kcl-metrics-per-app"></a>

これらのメトリクスは、Amazon CloudWatch 名前空間で定義されているように、アプリケーションの範囲内にあるすべての KCL ワーカーにわたって集約されます。

**Topics**
+ [LeaseAssignmentManager](#lease-assignment-manager)
+ [InitializeTask](#init-task)
+ [ShutdownTask](#shutdown-task)
+ [ShardSyncTask](#shard-sync-task)
+ [BlockOnParentTask](#block-parent-task)
+ [PeriodicShardSyncManager](#periodic-task)
+ [MultistreamTracker](#multi-task)

#### LeaseAssignmentManager
<a name="lease-assignment-manager"></a>

`LeaseAssignmentManager` オペレーションは、ワーカーへのリースの割り当ておよびリースの再分配を行い、ワーカーリソースの均等な利用を実現する役割を担います。このオペレーションのロジックには、リーステーブルからリース関連のメタデータを読み取り、ワーカーメトリクステーブルからメトリクスを取得し、リースの割り当てを実行する処理が含まれます。


| メトリクス | 説明 | 
| --- | --- | 
| LeaseAndWorkerMetricsLoad.Time | リース割り当てマネージャー (LAM) で、すべてのリースおよびワーカーメトリクスエントリを読み込むのに要した時間を示します。LAM は、KCL 3.x で導入された新しいリース割り当ておよび負荷分散アルゴリズムです。<br />メトリクスレベル: Detailed<br />単位: ミリ秒 | 
| TotalLeases | 現在の KCL アプリケーションのリースの合計数。<br />メトリクスレベル: Summary<br />単位: カウント | 
| NumWorkers | KCL アプリケーションのワーカーの合計数。<br />メトリクスレベル: Summary<br />単位: カウント | 
| AssignExpiredOrUnassignedLeases.Time | 期限切れのリースをメモリ上で割り当てる処理に要した時間。<br />メトリクスレベル: Detailed<br />単位: ミリ秒 | 
| LeaseSpillover | ワーカーごとのリース数またはスループットの上限に達したために割り当てられなかったリースの数。<br />メトリクスレベル: Summary<br />単位: カウント | 
| BalanceWorkerVariance.Time | ワーカー間でリースのメモリ上のバランシングを実行する処理に要した時間。<br />メトリクスレベル: Detailed<br />単位: ミリ秒 | 
| NumOfLeasesReassignment | 現在の再割り当てイテレーションで実行されたリースの再割り当ての合計数。<br />メトリクスレベル: Summary<br />単位: カウント | 
| FailedAssignmentCount | DynamoDB のリーステーブルに対する AssignLease 呼び出しで発生した失敗の数。<br />メトリクスレベル: Detailed<br />単位: カウント | 
| ParallelyAssignLeases.Time | DynamoDB のリーステーブルに新しい割り当て内容を書き込む処理に要した時間。<br />メトリクスレベル: Detailed<br />単位: ミリ秒 | 
| ParallelyAssignLeases.Success | 新しい割り当て内容の書き込みが正常に完了した回数。<br />メトリクスレベル: Detailed<br />単位: カウント | 
| TotalStaleWorkerMetricsEntry | クリーンアップが必要なワーカーメトリクスエントリの合計数。<br />メトリクスレベル: Detailed<br />単位: カウント | 
| StaleWorkerMetricsCleanup.Time | DynamoDB のワーカーメトリクステーブルからワーカーメトリクスエントリを削除する処理に要した時間。<br />メトリクスレベル: Detailed<br />単位: ミリ秒 | 
| Time | `LeaseAssignmentManager` オペレーションにかかった時間。<br />メトリクスレベル: Summary<br />単位: ミリ秒 | 
| Success | `LeaseAssignmentManager` オペレーションが正常に完了した回数。<br />メトリクスレベル: Summary<br />単位: カウント | 
| ForceLeaderRelease | リース割り当てマネージャーが 3 回連続で失敗し、リーダーワーカーがリーダーシップを解放していることを示します。<br />メトリクスレベル: Summary<br />単位: カウント | 
| NumWorkersWithInvalidEntry | 無効と見なされたワーカーメトリクスエントリの数。<br />メトリクスレベル: Summary<br />単位: カウント | 
| NumWorkersWithFailingWorkerMetric | ワーカーメトリクスの値の 1 つとして -1 (ワーカーメトリクス値が利用できないことを示す) が含まれているワーカーメトリクスエントリの数。<br />メトリクスレベル: Summary<br />単位: カウント | 
| LeaseDeserializationFailureCount | 逆シリアル化に失敗したリーステーブル内のリースエントリ。<br />メトリクスレベル: Summary<br />単位: カウント | 

#### InitializeTask
<a name="init-task"></a>

`InitializeTask` オペレーションは、KCL アプリケーションのレコードプロセッサを初期化します。このオペレーションのロジックには、Kinesis Data Streams からのシャードイテレーターの取得とレコードプロセッサの初期化が含まれています。


| メトリクス | 説明 | 
| --- | --- | 
| KinesisDataFetcher.getIterator.Success | KCL アプリケーションあたりの `GetShardIterator` オペレーションの成功回数。<br />メトリクスレベル: Detailed<br />単位: カウント | 
| KinesisDataFetcher.getIterator.Time | 指定された KCL アプリケーションの `GetShardIterator` オペレーションあたりの所要時間。<br />メトリクスレベル: Detailed<br />単位: ミリ秒 | 
| RecordProcessor.initialize.Time | レコードプロセッサの初期化メソッドにかかった時間。<br />メトリクスレベル: Summary<br />単位: ミリ秒 | 
| Success | レコードプロセッサの初期化の成功回数。<br />メトリクスレベル: Summary<br />単位: カウント | 
| Time | KCL ワーカーがレコードプロセッサの初期化にかかった時間。<br />メトリクスレベル: Summary<br />単位: ミリ秒 | 

#### ShutdownTask
<a name="shutdown-task"></a>

`ShutdownTask` オペレーションは、シャード処理のシャットダウンシーケンスを開始します。これは、シャードが分割または結合された場合やシャードリースがワーカーから失われた場合に発生する場合があります。どちらの場合も、レコードプロセッサ `shutdown()` 関数が呼び出されます。また、シャードが分割または結合された場合、新しいシャードが 1 つまたは 2 つ作成されるため、新しいシャードが検出されます。


| メトリクス | 説明 | 
| --- | --- | 
| CreateLease.Success | 親シャードのシャットダウンの後に、新しい子シャードが KCL アプリケーションの DynamoDB テーブルに正常に追加された回数。<br />メトリクスレベル: Detailed<br />単位: カウント | 
| CreateLease.Time | KCL アプリケーションの DynamoDB テーブルに新しい子シャード情報を追加する所要時間。<br />メトリクスレベル: Detailed<br />単位: ミリ秒 | 
| UpdateLease.Success | レコードプロセッサのシャットダウン中に成功した最終チェックポイントの数。<br />メトリクスレベル: Detailed<br />単位: カウント | 
| UpdateLease.Time | レコードプロセッサのシャットダウン中にチェックポイントオペレーションにかかった時間。<br />メトリクスレベル: Detailed<br />単位: ミリ秒 | 
| RecordProcessor.shutdown.Time | レコードプロセッサのシャットダウンメソッドにかかった時間。<br />メトリクスレベル: Summary<br />単位: ミリ秒 | 
| Success | シャットダウンタスクの成功回数。<br />メトリクスレベル: Summary<br />単位: カウント | 
| Time | KCL ワーカーがシャットダウンタスクにかかった時間。<br />メトリクスレベル: Summary<br />単位: ミリ秒 | 

#### ShardSyncTask
<a name="shard-sync-task"></a>

`ShardSyncTask` オペレーションは、Kinesis Data Streams のシャード情報に対する変更を検出するため、KCL アプリケーションで新しいシャードを処理できます。


| メトリクス | 説明 | 
| --- | --- | 
| CreateLease.Success | KCL アプリケーションの DynamoDB テーブルへの新しいシャード情報の追加が成功した回数。<br />メトリクスレベル: Detailed<br />単位: カウント | 
| CreateLease.Time | KCL アプリケーションの DynamoDB テーブルに新しいシャード情報を追加する所要時間。<br />メトリクスレベル: Detailed<br />単位: ミリ秒 | 
| Success | シャード同期オペレーションの成功回数。<br />メトリクスレベル: Summary<br />単位: カウント | 
| Time | シャード同期オペレーションにかかった時間。<br />メトリクスレベル: Summary<br />単位: ミリ秒 | 

#### BlockOnParentTask
<a name="block-parent-task"></a>

シャードが分割または他のシャードと結合された場合、新しい子シャードが作成されます。`BlockOnParentTask` オペレーションは、KCL による親シャードの処理が完了するまで、新しいシャードのレコード処理が開始されないようにします。


| メトリクス | 説明 | 
| --- | --- | 
| Success | 親シャードの完了チェックの成功回数。<br />メトリクスレベル: Summary<br />単位: カウント | 
| Time | 親シャードが完了するまでにかかった時間。<br />メトリクスレベル: Summary<br />単位: ミリ秒 | 

#### PeriodicShardSyncManager
<a name="periodic-task"></a>

`PeriodicShardSyncManager` は、KCL コンシューマーアプリケーションによって処理されているデータストリームを調べ、部分リースを持つデータストリームを特定し、同期のためにそれらを引き渡します。

次のメトリクスは、KCL が単一のデータストリームを処理するように設定されている場合 (次に NumStreamsToSync および NumStreamsWithPartialLeases の値が 1 に設定されている場合)、および複数のデータストリームを処理するように KCL が構成されている場合に使用できます。


| メトリクス | 説明 | 
| --- | --- | 
| NumStreamsToSync | 部分リースを含み、同期のために引き渡す必要があるコンシューマーアプリケーションによって処理されるデータストリームの数 ( AWS アカウントごと）。<br />メトリクスレベル: Summary<br />単位: カウント | 
| NumStreamsWithPartialLeases | 部分リースを含むコンシューマーアプリケーションが処理しているデータストリームの数 ( AWS アカウントあたり）。<br />メトリクスレベル: Summary<br />単位: カウント | 
| Success | 回数 `PeriodicShardSyncManager` は、コンシューマーアプリケーションが処理しているデータストリーム内の部分リースを正常に識別できました。<br />メトリクスレベル: Summary<br />単位: カウント | 
| Time | コンシューマーアプリケーションが処理しているデータストリームを調査し、シャードの同期が必要なデータストリームを特定するために、`PeriodicShardSyncManager` が要する時間 (ミリ秒単位)。<br />メトリクスレベル: Summary<br />単位: ミリ秒 | 

#### MultistreamTracker
<a name="multi-task"></a>

`MultistreamTracker` インターフェイスを使用すると、複数のデータストリームを同時に処理できる KCL コンシューマーアプリケーションを構築できます。


| メトリクス | 説明 | 
| --- | --- | 
| DeletedStreams.Count | この期間に削除されたデータストリームの数。<br />メトリクスレベル: Summary<br />単位: カウント | 
| ActiveStreams.Count | 処理されているアクティブなデータストリームの数。<br />メトリクスレベル: Summary<br />単位: カウント | 
| StreamsPendingDeletion.Count | `FormerStreamsLeasesDeletionStrategy` に基づいて削除が保留中のデータストリームの数。<br />メトリクスレベル: Summary<br />単位: カウント | 

### ワーカーあたりのメトリクス
<a name="kcl-metrics-per-worker"></a>

これらのメトリクスは、Amazon EC2 インスタンスなど、Kinesis Data Streams のデータを消費するすべてのレコードプロセッサにわたって集約されます。

**Topics**
+ [WorkerMetricStatsReporter](#worker-metrics-stats)
+ [LeaseDiscovery](#lease-discovery)
+ [RenewAllLeases](#renew-leases)
+ [TakeLeases](#take-leases)

#### WorkerMetricStatsReporter
<a name="worker-metrics-stats"></a>

`WorkerMetricStatReporter` オペレーションは、現在のワーカーのメトリクスを定期的にワーカーメトリクステーブルに公開する役割を担います。これらのメトリクスは、`LeaseAssignmentManager` オペレーションによるリース割り当ての実行に使用されます。


| メトリクス | 説明 | 
| --- | --- | 
| InMemoryMetricStatsReporterFailure | 一部のワーカーメトリクスの失敗により、メモリ内ワーカーメトリクス値の取得に失敗した回数。<br />メトリクスレベル: Summary<br />単位: カウント | 
| WorkerMetricStatsReporter.Time | `WorkerMetricsStats` オペレーションにかかった時間。<br />メトリクスレベル: Summary<br />単位: ミリ秒 | 
| WorkerMetricStatsReporter.Success | `WorkerMetricsStats` オペレーションが正常に完了した回数。<br />メトリクスレベル: Summary<br />単位: カウント | 

#### LeaseDiscovery
<a name="lease-discovery"></a>

`LeaseDiscovery` オペレーションは、`LeaseAssignmentManager` オペレーションによって現在のワーカーに割り当てられた新しいリースを特定する役割を担います。このオペレーションのロジックには、リーステーブルのグローバルセカンダリインデックスを読み取ることで、現在のワーカーに割り当てられたリースを特定する処理が含まれます。


| メトリクス | 説明 | 
| --- | --- | 
| ListLeaseKeysForWorker.Time | リーステーブルのグローバルセカンダリインデックスを呼び出し、現在のワーカーに割り当てられたリースキーを取得するまでの時間。<br />メトリクスレベル: Detailed<br />単位: ミリ秒 | 
| FetchNewLeases.Time | リーステーブルからすべての新しいリースを取得するまでに要する時間。<br />メトリクスレベル: Detailed<br />単位: ミリ秒 | 
| NewLeasesDiscovered | ワーカーに割り当てられた新しいリースの合計数。<br />メトリクスレベル: Detailed<br />単位: カウント | 
| Time | `LeaseDiscovery` オペレーションにかかった時間。<br />メトリクスレベル: Summary<br />単位: ミリ秒 | 
| Success | `LeaseDiscovery` オペレーションが正常に完了した回数。<br />メトリクスレベル: Summary<br />単位: カウント | 
| OwnerMismatch | GSI の応答とリーステーブルの整合読み取り結果との間で発生した所有者の不一致の数。<br />メトリクスレベル: Detailed<br />単位: カウント | 

#### RenewAllLeases
<a name="renew-leases"></a>

`RenewAllLeases` オペレーションは、特定のワーカーインスタンスによって所有されるシャードリースを定期的に更新します。


| メトリクス | 説明 | 
| --- | --- | 
| RenewLease.Success | ワーカーによるリース更新の成功回数。<br />メトリクスレベル: Detailed<br />単位: カウント | 
| RenewLease.Time | リース更新オペレーションにかかった時間。<br />メトリクスレベル: Detailed<br />単位: ミリ秒 | 
| CurrentLeases | すべてのリースの更新後にワーカーによって所有されているシャードリースの数。<br />メトリクスレベル: Summary<br />単位: カウント | 
| LostLeases | ワーカーによって所有されているすべてのリースの更新を試みたときに失われたシャードリースの数。<br />メトリクスレベル: Summary<br />単位: カウント | 
| Success | ワーカーに対してリース更新オペレーションが正常に実行された回数。<br />メトリクスレベル: Summary<br />単位: カウント | 
| Time | ワーカーのすべてのリースを更新するのにかかった時間。<br />メトリクスレベル: Summary<br />単位: ミリ秒 | 

#### TakeLeases
<a name="take-leases"></a>

`TakeLeases` オペレーションは、すべての KCL ワーカー間でレコード処理の負荷を分散させます。現在のKCL ワーカーのシャードリースが、必要数を下回る場合、過負荷になっている他のワーカーからシャードリースを取得します。


| メトリクス | 説明 | 
| --- | --- | 
| ListLeases.Success | すべてのシャードリースがKCL アプリケーションのDynamoDB テーブルから正常に取得された回数。<br />メトリクスレベル: Detailed<br />単位: カウント | 
| ListLeases.Time | KCL アプリケーションの DynamoDB テーブルからすべてのシャードリースを取得する所要時間。<br />メトリクスレベル: Detailed<br />単位: ミリ秒 | 
| TakeLease.Success | ワーカーが他のKCL ワーカーからシャードリースを正常に取得した回数。<br />メトリクスレベル: Detailed<br />単位: カウント | 
| TakeLease.Time | ワーカーが取得したリースを使用してリーステーブルを更新するのにかかった時間。<br />メトリクスレベル: Detailed<br />単位: ミリ秒 | 
| NumWorkers | 特定のワーカーにより識別されるワーカーの総数。<br />メトリクスレベル: Summary<br />単位: カウント | 
| NeededLeases | 現在のワーカーがシャード処理の負荷を分散するのに必要なシャードリースの数。<br />メトリクスレベル: Detailed<br />単位: カウント | 
| LeasesToTake | ワーカーが取得を試みるリースの数。<br />メトリクスレベル: Detailed<br />単位: カウント | 
| TakenLeases | ワーカーが取得に成功したリースの数。<br />メトリクスレベル: Summary<br />単位: カウント  | 
| TotalLeases | CL アプリケーションが処理しているシャードの総数。<br />メトリクスレベル: Detailed<br />単位: カウント | 
| ExpiredLeases | 特定のワーカーによって識別されるどのワーカーでも処理されていないシャードの総数。<br />メトリクスレベル: Summary<br />単位: カウント | 
| Success | `TakeLeases` オペレーションが正常に完了した回数。<br />メトリクスレベル: Summary<br />単位: カウント | 
| Time | ワーカーの `TakeLeases` オペレーションにかかった時間。<br />メトリクスレベル: Summary<br />単位: ミリ秒 | 

### シャードあたりのメトリクス
<a name="kcl-metrics-per-shard"></a>

これらのメトリクスは、単一のレコードプロセッサについて集約されます。

#### ProcessTask
<a name="process-task"></a>

`ProcessTask` オペレーションは、現在のイテレーター位置を使用して [GetRecords](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetRecords.html) を呼び出すことにより、ストリームからレコードを取得して、レコードプロセッサの `processRecords` 関数を起動します。


| メトリクス | 説明 | 
| --- | --- | 
| KinesisDataFetcher.getRecords.Success | Kinesis data stream シャードあたりの `GetRecords` オペレーションの成功回数。<br />メトリクスレベル: Detailed<br />単位: カウント | 
| KinesisDataFetcher.getRecords.Time | Kinesis data stream シャードの `GetRecords` オペレーションあたりの所要時間。<br />メトリクスレベル: Detailed<br />単位: ミリ秒 | 
| UpdateLease.Success | 指定されたシャードのレコードプロセッサによってチェックポイントが正常に作成された回数。<br />メトリクスレベル: Detailed<br />単位: カウント | 
| UpdateLease.Time | 指定されたシャードの各チェックポイントオペレーションにかかった時間。<br />メトリクスレベル: Detailed<br />単位: ミリ秒 | 
| DataBytesProcessed | `ProcessTask` の各呼び出しで処理されたレコードのバイト単位の合計サイズ。<br />メトリクスレベル: Summary<br />単位: バイト | 
| RecordsProcessed | `ProcessTask` の各呼び出しで処理されたレコード数。<br />メトリクスレベル: Summary<br />単位: カウント | 
| ExpiredIterator | `GetRecords` を呼び出したときに受信した ExpiredIteratorException の数。<br />メトリクスレベル: Summary<br />単位: カウント | 
| MillisBehindLatest | 現在のイテレーターがシャード内の最新のレコード (先端) から遅れている時間。この値は、応答の最新レコードと現在時間における時間差と同じかそれ以下です。これは、最新の応答レコードのタイムスタンプを比較するよりも、シャードが先端からどれくらい離れているかを示すより正確な反映です。この値は、各レコードの全タイムスタンプの平均ではなく、レコードの最新バッチに適用されます。メトリクスレベル: Summary<br />単位: ミリ秒 | 
| RecordProcessor.processRecords.Time | レコードプロセッサの `processRecords` メソッドにかかった時間。<br />メトリクスレベル: Summary<br />単位: ミリ秒 | 
| Success | プロセスタスクオペレーションの成功回数。<br />メトリクスレベル: Summary<br />単位: カウント | 
| Time | プロセスタスクオペレーションにかかった時間。<br />メトリクスレベル: Summary<br />単位: ミリ秒 | 