USECASE
The aim of this page📝 is to explain the significance of monitoring CloudWatch metrics for Kinesis streams, particularly focusing on GetRecords.Records and SampleCount.
Previously, I was only monitoring the volume limits. However, transaction count limits can also become important when adding additional consumers to the stream. After adding a new consumer, I started noticing latencies and a spike in the ReadProvisionedThroughputExceeded metric.
-
GetRecords.Recordsmetric counts the number of records retrieved from a shard in a specified time period. -
SampleCountforGetRecords.Recordsindicates the number ofGetRecordsoperations (transactions) performed. - Monitoring
SampleCounthelps in tracking the frequency of read transactions. - Kinesis stream limits each shard to five read transactions per second.
- Using
SampleCountensures staying within the transaction quota. - Adding a new consumer increases read transactions, making
SampleCountmonitoring crucial. - Monitoring
GetRecords.Bytesgives insight into the volume of data read. - Balancing
GetRecords.Records,GetRecords.Bytes, andSampleCountprovides a comprehensive view of stream usage. - Exceeding transaction limits can lead to throttling or performance issues.
- Regular monitoring helps optimize stream performance and prevent issues.
Top comments (0)