Profiler
functionalA bounded, time-boxed MONITOR capture on its own connection, with pause, filters, and a hard stop.
The Profiler shows every command your Redis server executes, as it happens: one row per command with the server's own timestamp, the logical database, the client address, the command name, and its arguments. It lives in the Activity Monitor as the Profiler tab on Redis and Redis-compatible connections (Valkey, KeyDB, Dragonfly, Amazon ElastiCache, Amazon MemoryDB). The command palette's Redis Profiler… and Profiler… on a Redis database's right-click menu open the monitor straight onto it.
… (truncated, N bytes), and the text filter only sees the part that was kept), and past 64 MB in total the oldest entries are dropped and counted the same way. A high-traffic server can produce commands faster than they can be captured, so entries can be missing. Profile in short bursts, and read the dropped counter before drawing conclusions from what you do not see.How it works
Press Start and SQLly opens a dedicated connection from the
same profile and puts it in MONITOR mode - the editor still refuses
MONITOR, because a command that never answers has no business on a
request/response connection. The profiler is the deliberate exception: its connection
does nothing but read the monitor stream, and Stop - or switching to
another tab, closing the monitor (docked or popped out), disconnecting the connection,
or deleting it - closes that connection immediately. Nothing keeps listening in the
background.
Because the profiler dials the server itself, it needs a direct connection. On a connection routed through a relay bridge the tab explains that and Start stays disabled; the rest of the Activity Monitor still works through the relay.
Every capture also has a time box: the Stop after (s) field (five minutes by default, one hour at most) is a hard stop. When it elapses the capture closes its connection by itself and the status line says the time box was reached, so a forgotten profiler never keeps taxing the server.
The table updates live, newest command first, and shows at most the newest 2,000
commands that pass the filters - the ring behind it can hold far more, and the status
line says "showing the newest 2000 of …" whenever it does. The table keeps your
place while it updates: a selected row stays selected as new commands arrive, and if
you scroll down the rows you are reading stay put. Pause freezes the
list without closing the capture (commands keep draining and are counted, just not
recorded, so nothing piles up), Clear empties it, and three filters
narrow what you see - by command name (GET, EVAL…),
by client address, or by any text in the arguments (case-insensitive). Filtering sifts
the whole ring, not just the rows on screen. The grid's own column sort and filters are
off for the live table; use these fields instead.

MONITOR has a cost on the server side: every command from every client is also written to each monitor connection. On a busy production server, run the profiler for the seconds you need and stop it. An ACL user needs the +monitor permission (part of +@admin), and some managed services disable MONITOR altogether; either way the status line shows the server's own refusal instead of an empty table. If the stream stops on its own the status line says the stream ended - the server closed the connection, the network dropped, or a reply could not be read.