Skip to main content
The Insights tab on the database page of the Upstash Console shows what is going on inside your database. It has five views: Traffic, Performance, Limits, Lua and Keyspace.
Insights is a Prod Pack feature, also included in Enterprise plans. Databases without Prod Pack see the tab with sample data, so you can explore it before you enable Prod Pack. Insights is not available for databases created through Fly.io, Heroku or DigitalOcean.
Every view except Keyspace has a period picker in its top-right corner. You can look at the past hour, 3 hours, 12 hours, day, 3 days, week or month. The period you pick stays the same when you switch views.

Traffic

Request routing

Requests enter Upstash at the region closest to the client, whether or not your database has a replica there. This section shows where each request entered and which region of your database answered it.
Request routing in the Traffic view of the Insights tab
  • Requests, Same region, Cross-region and Errors: total requests in the period, the share served in the region where they entered, the share served in another region, and the number of errors.
  • Routes on the map: the regions where requests entered and the regions that served them, with the primary, the replicas and entry-only regions marked. Each cross-region route is drawn as a dashed arrow.
  • All routes: each route with its request count, share of requests, active connections (open now), total connections (opened in the period), ingress and egress traffic, and errors. Routes without TCP connections show as REST only.
Cross-region requests are expected. Writes always go to the primary region, and reads go to the nearest replica. If many reads cross regions, adding a read region close to those clients reduces their latency.

Where clients connect from

The IP ranges your requests came from, busiest first, with the cloud each range belongs to, the entry region its requests used, and its share of the sampled requests. Hover a source to see its cloud region, when the range has one. Ranges are matched against the IP ranges that AWS, Google Cloud and Cloudflare publish. Serverless platforms show up as the cloud they run on, for example Vercel functions as AWS. Other addresses show up as Internet.
The IP ranges clients connect from
Client addresses are shortened to their /24 range, the first three parts of the IP, so individual addresses are not stored.

Client types

The SDKs, platforms and runtimes your clients use, from the telemetry headers that Upstash SDKs send. For TCP clients, the SDK is the library name they declare with CLIENT SETINFO.
SDKs, platforms and runtimes of the clients

Performance

Charts of throughput, bandwidth, disk size, latency, expired entries and replication lag, with a line per region and, when there are several, their average. Pick a replica next to the period picker to see a single replica instead of all of them. The Simple service latency chart has its own picker for the p50, p90 and p99 percentiles. The other latency charts show p99, and Replication latency shows p99.9.
Throughput and bandwidth charts in the Performance view

Limits

How close the database is to the limits of its plan, and the requests a limit refused or delayed.
Usage against plan limits and command rejections
  • Storage, Connections and Peak commands / sec: the current storage and open connections, and the highest commands per second in the period, each against the limit of the plan when it has one.
  • Command rejections: requests refused or delayed because of a limit, such as oversize requests, oversize keys, throttled writes, requests that could not reach any replica, and authentication failures. Each row shows when in the period the rejections happened, how many there were, and when the last one was.
If you keep running into a limit, see upgrading your database.

Lua

Script counters, Lua latency, and the scripts that run most often.
Lua script counters, latency and the most executed scripts
  • Scripts loaded, Executions, Failures and Lua p99 now: the scripts loaded on the database, script executions and failures in the period, and the latest p99 Lua latency, next to the script timeout when the plan sets one.
  • Lua latency: p99 and p50 time spent executing scripts.
  • Scripts: the ten most executed scripts of the day, with their executions, the commands they ran, failures, and their average and maximum duration and memory. Click a column header to sort by it. The table counts from the daily UTC reset, whatever period is selected. Failures include timeouts and memory limit hits.

Keyspace

An analysis of what your keys hold, made from an offline scan of the latest analyzed backup. The date of that backup is shown where the other views have their period picker. It does not run any command on your database.
Keyspace summary, key types and biggest keys
  • Summary: number of keys and elements, logical size, persistent keys (keys without a TTL), and keys that had already expired.
  • Key types: for each Redis data type that has keys, the number of keys, their total size, their share of the logical size, the median key size, and the size of the largest key. Click a type to see the p50, p90, p99 and max of its key sizes and, for collections, of the number of elements per key.
  • Biggest keys: the ten largest keys, with their type, size, element count and remaining TTL. Pick a type to see the largest keys of that type.
  • Expiration profile: keys grouped by remaining TTL range, with the number of keys, their share of the keys that have a TTL, and their size. The last row is the total of every key with a TTL.
The keyspace is analyzed after every daily backup, so daily backups must be turned on. The analysis is not available for HIPAA-compliant databases.