Heroku Key-Value Store Metrics Logs
Last updated October 11, 2024
Table of Contents
Customers using Heroku Key-Value Store instances see Redis-related events on their app’s log stream. This can be useful for recording and analyzing usage over time.
Heroku Key-Value Store metrics which appear via heroku-redis
are separate from standard alerts emitted from Redis itself that appear for all applications via -p [redis-addon-name]
, for example, -p redis-metric-98068
.
Log Format
To view Heroku Key-Value Store metrics logs on a specific app, use the process type -p heroku-redis
flag and the app name.
$ heroku logs -p heroku-redis -a example-app
For example, the Heroku Key-Value Store metrics logs can look like:
2024-03-15T12:10:39.000000+00:00 app[heroku-redis]: source=REDIS addon=redis-metric-98068 sample#active-connections=404 sample#load-avg-1m=0.115 sample#load-avg-5m=0.075 sample#load-avg-15m=0.07 sample#read-iops=0 sample#write-iops=54.758 sample#memory-total=15405660kB sample#memory-free=12639520kB sample#memory-cached=1911724kB sample#memory-redis=343477584bytes sample#hit-rate=0.7 sample#evicted-keys=0
The following attributes appear in application logs for all plans:
source
: The instance attachment name that the measurements relate to.addon
: The instance addon name that the measurements relate to.- The log line’s timestamp is the time at which the measurements were taken.
Key-Value Store Instance Metrics
These attributes apply to a particular Key-Value Store instance:
sample#active-connections
: The number of connections established on the KVS instance.sample#max-connections
: The maximum number of connections available in the instance.sample#connections-percentage-used
: Percentage of connections used, between 0.0–1.0.sample#memory-redis
: Approximate amount of memory used by your KVS instance processes in bytes.sample#hit-rate
: The ratio of successful reads out of all read operations, rounded to five decimal points.sample#evicted_keys
: The number of evicted keys due to reaching your instancemaxmemory
limit.
Server Metrics
For multi-tenant plans, server metrics include other KVS instances running on the shared server, and may be misleading when diagnosing Redis performance.
Server metrics come directly from the server operating system:
sample#load-avg-1m
,sample#load-avg-5m
andsample#load-avg-15m
: The average system load over a period of 1 minute, 5 minutes and 15 minutes, divided by the number of available CPUs. Aload-avg
of 1.0 indicates that, on average, processes were requesting CPU resources for 100% of the timespan. This number includes I/O wait.sample#read-iops
andsample#write-iops
: Number of read or write operations in I/O sizes of 16-KB blocks.sample#max-iops
: The maximum number of IOPS available in the instance.sample#iops-percentage-used
: Percentage of IOPS used between read and write IOPS, between 0.0–1.0.sample#memory-total
: Total amount of server memory in use, in KB Capital This includes memory used by all Redis processes, OS memory, and disk cache.sample#memory-free
: Amount of free memory available in KB.sample#memory-cached
: Amount of memory being used the OS for page cache, in KB.sample#memory-percentage-used
: Percentage of server memory used on the instance, between 0.0–1.0.