This page lists metrics that are available for Memorystore for Redis and describes what each metric measures.
To learn how to view these metrics, see Monitor instances .
Cloud Monitoring metrics
This section lists and describes Cloud Monitoring metrics that are available for Memorystore for Redis.
| Metric name | Description |
|---|---|
redis.googleapis.com/keyspace/avg_ttl
|
This metric measures the average time to live (TTL), in milliseconds, of all keys in a Redis database that have an expiration set. You can use the metric to understand the lifecycle of your cached data and identify if keys are expiring sooner or later than expected across your instances. |
redis.googleapis.com/clients/blocked
|
This metric tracks the number of client connections that are
waiting for data to become available because blocking commands are running
in an instance. These blocking commands include You can monitor this metric to understand the behavior of your application, especially if you see unexpected increases in latency that might be tied to clients waiting on blocking operations. |
redis.googleapis.com/replication/master/slaves/lag
|
This metric measures the number of seconds that a replica lags behind a primary instance. Memorystore for Redis calculates the value for the metric by taking the current time and subtracting the time at which the replica acknowledges receiving the message of incoming bytes. You can use the metric to identify if a replica falls behind the primary instance. |
redis.googleapis.com/replication/offset_diff
|
This metric tracks the number of bytes that aren't replicated to a replica. The metric represents the difference between the replication byte offset of a primary instance and the replication byte offset of the replica. If there's no difference between these offsets, then the replica is fully in synchronization with the primary instance. As the primary instance replicates data to the replica during a failover process, you might notice an increase in these pending bytes. |
redis.googleapis.com/stats/cache_hit_ratio
|
This metric represents the ratio of successful Redis database calls to unsuccessful calls. A call is successful when the Redis database returns the value that the caller requested. A higher cache-to-hit ratio means that the cache is more fully utilized. This is beneficial for the performance of your application. |
redis.googleapis.com/commands/calls
|
This metric measures the number of Redis commands that are run each
minute on a primary instance. These include all open source Redis
commands, including |
redis.googleapis.com/clients/connected
|
This metric displays the number of clients that are connected to an
instance. You can monitor the metric to identify the load on the instance.
If the number of connected clients approaches the maxclients
limit, then the server might reject new connection attempts. |
redis.googleapis.com/stats/cpu_utilization
|
This metric measures the CPU usage time per minute that the Redis server uses. This time is broken down by the system-user space and the parent-child relationships. The value for CPU seconds shows the total CPU seconds for all threads
of the Redis server's main process. If you want to see the CPU usage for
the main thread only, then view the Main Thread CPU Seconds
( High CPU utilization is a common cause for increased latency in Redis instances because it can lead to delays in command processing. By monitoring this metric, you can identify if a high load from numerous clients drives the CPU usage. |
redis.googleapis.com/stats/evicted_keys
|
This metric shows the number of keys that Memorystore for Redis
evicts from an instance because the instance reaches the By monitoring this metric, you can determine if the instance's memory size is sufficient for your workload. If frequently accessed data is removed from the cache, then the key evictions can impact your application's performance. |
redis.googleapis.com/keyspace/keys_with_expiration
|
This metric tracks the number of keys in an instance that have an expiration configured. If no keys have an expiration, then "no data" is displayed in the chart for the metric. |
redis.googleapis.com/keyspace/keys
|
The number of keys that are stored in this database. If no keys are stored, then the chart for this metric displays "no data". |
redis.googleapis.com/stats/cpu_utilization_main_thread
|
CPU-seconds consumed by the Redis server main thread, broken down by system/user space and parent/child relationship. This metric is helpful for identifying CPU usage spikes on the main thread. |
redis.googleapis.com/stats/memory/maxmemory
|
Maximum amount of memory in the instance that keys can consume. Keys are evicted after reaching this maxmemory limit in accordance with the eviction policy set on the instance. |
redis.googleapis.com/stats/memory/usage_ratio
|
Memory usage as a ratio of maximum memory. |
redis.googleapis.com/stats/keyspace_misses
|
Number of failed lookups of keys in the main dictionary. |
redis.googleapis.com/replication/role
|
Returns a value indicating the node role. 1 indicates primary and 0 indicates replica. |
redis.googleapis.com/persistence/rdb/bgsave_in_progress
|
Indicates if a RDB save is ongoing. 1 indicates yes and 0 indicates no. |
redis.googleapis.com/stats/pubsub/channels
|
Global number of Pub/Sub channels with client subscriptions for Memorystore for Redis. |
redis.googleapis.com/stats/pubsub/patterns
|
Global number of Pub/Sub patterns with client subscriptions for Memorystore for Redis. |
redis.googleapis.com/stats/reject_connections_count
|
Number of connections rejected because of the maxclients limit, memory pressure, or an invalid TLS connection on in-transit encryption enabled instances. |
redis.googleapis.com/replication/master_repl_offset
|
The number of bytes that primary has produced and is sending to the replica. You can subtract Replication Byte Offset (Replica) from Replication Byte Offset (Primary) to determine the size of any replication delay. No difference means the replica is fully in sync. |
redis.googleapis.com/replication/master/slaves/offset
|
The number of bytes that have been acknowledged by the replica. You can subtract Replication Byte Offset (Replica) from Replication Byte Offset (Primary) to determine the size of any replication delay. No difference means the replica is fully in sync. |
redis.googleapis.com/stats/memory/system_memory_usage_ratio
|
Used memory as a ratio of total available system memory. Total available system memory is the memory you provisioned for your instance plus additional memory that Memorystore provides for overhead processes. |
redis.googleapis.com/stats/memory/system_memory_overload_duration
|
The amount of time in microseconds the instance is in system memory overload mode. |
redis.googleapis.com/commands/usec_per_call
|
Average time per call over 1 minute by command. |
redis.googleapis.com/stats/connections/total
|
Total number of connections accepted by the server. |
redis.googleapis.com/commands/total_time
|
Total amount of time spent per open source Redis command (e.g. SET, GET, HSET, etc…) in microseconds over the last second. For example if SET used 800,000 microseconds it would mean that it took 80% of one CPU core to process all SET commands combined. |
redis.googleapis.com/stats/network_traffic
|
Total number of bytes sent to/from Redis (includes bytes from commands themselves, payload data, and delimiters). |
redis.googleapis.com/server/uptime
|
Uptime of the running Redis server process |
redis.googleapis.com/stats/memory/usage
|
Total number of bytes allocated by the Redis server process. |
Memorystore for Redis instance details metrics
The following metrics are available on the instance details page of your Memorystore for Redis instance :
| Metric name | Description |
|---|---|
| Memory Usage / Max Memory | A chart that shows memory usage compared to the maxmemory limit for your instance. |
| Evicted Keys / Expired Keys | A chart that displays the number of evicted keys and expired keys. |
| Connected Clients / Blocked Clients | A chart that displays the number of connected clients and blocked clients. |
| Network Bytes In/Out | A chart that displays the number of bytes sent and received by the instance over a given period. |
| CPU seconds | A chart that displays CPU seconds used by the instance over a given period of time. |
RDB Snapshots metrics
The following metrics help you manage RDB Snapshots for Memorystore for Redis.
Snapshot monitoring metrics
| Metric name | Full endpoint URL | Description |
|---|---|---|
|
Snapshot mode
|
redis.googleapis.com/rdb/enabled | Indicates if the RDB snapshot mode is enabled |
|
Next snapshot time
|
redis.googleapis.com/rdb/snapshot/time_until_next_run | Seconds until the next scheduled snapshot. |
Snapshot status metrics
| Metric name | Full endpoint URL | Description |
|---|---|---|
|
RDB snapshot in progress
|
redis.googleapis.com/rdb/snapshot/in_progress | Indicates if RDB snapshot is in progress. When the metric value is true, then an RDB snapshot is in progress. |
|
RDB snapshot elapsed time
|
redis.googleapis.com/rdb/snapshot/elapsed_time | Indicates increasing time elapsed while creating the current snapshot. |
|
RDB snapshot attempts count
|
redis.googleapis.com/rdb/snapshot/attempt_count | Indicates number of snapshot attempts every minute. |
|
RDB snapshot last status
|
redis.googleapis.com/rdb/snapshot/last_status | Indicates status of the most recent snapshot attempt. |
|
RDB snapshot duration
|
redis.googleapis.com/rdb/snapshot/last_success_duration | Indicates the total time required to write the last successful snapshot, not including failed attempts. |
|
RDB snapshot age
|
redis.googleapis.com/rdb/snapshot/last_success_age | Indicates time elapsed since the start of the last successful snapshot. |
Snapshot recovery metrics
| Metric name | Full endpoint URL | Description |
|---|---|---|
|
RDB recovery in progress
|
redis.googleapis.com/rdb/recovery/in_progress | Indicates if recovery from an RDB snapshot is in progress. When the metric value is true, then a recovery is in progress. |
|
RDB recovery elapsed time
|
redis.googleapis.com/rdb/recovery/elapsed_time | Indicates increasing time elapsed for an in-progress recovery from an RDB snapshot. |
|
RDB recovery estimated time
|
redis.googleapis.com/rdb/recovery/estimated_recovery_time | Indicates the expected recovery time when using the last successful snapshot for recovery. |
|
RDB recovery remaining time
|
redis.googleapis.com/rdb/recovery/estimated_remaining_time | Indicates remaining time to finish recovery from an RDB snapshot. |
|
RDB recovery attempts
|
redis.googleapis.com/rdb/recovery/attempts_since_last_success | Indicates number of recovery attempts since the last successful recovery attempt. |
|
RDB recovery last status
|
redis.googleapis.com/rdb/recovery/last_status | Indicates status of the most recent recovery. |
|
RDB recovery last duration
|
redis.googleapis.com/rdb/recovery/last_duration | Indicates time it took to restore the last snapshot. |
|
RDB Snapshot Size
|
redis.googleapis.com/rdb/recovery/total_bytes_count | Indicates the size of the snapshot. |
|
RDB Load progress
|
redis.googleapis.com/rdb/recovery/loaded_bytes_count | During a recovery, indicates how many bytes have loaded. 0 if the recovery is not active. |

