Oplog Browser & Analyzer
The Oplog Browser tails local.oplog.rs — MongoDB's replication log — with rich UI filtering so you can see exactly which writes are flowing through your replica set right now. The Analyzer layers on session attribution, index-build detection, and a replication-lag heat-map so you can turn a wall of oplog entries into an actionable picture of what your cluster is doing.
The Oplog Browser needs read access to the local database. On most connections the user in your URI already has this; if not, VisuaLeaf displays a permission hint. Once open, you get three modes:
ts — useful when reproducing an incident from logs.The namespace filter accepts db.coll patterns. Typing populates a typeahead of every namespace currently active in the oplog window. Wildcards are supported:
orders.* — every collection in the orders database.*.users — the users collection in any database.analytics.events_2026* — sharded / partitioned collections by prefix.Every oplog entry has an op field. Toggle chips in the toolbar to include or exclude each type:
| Code | Operation | Description |
|---|---|---|
i |
Insert | A new document was written |
u |
Update | A document was modified (delta or full-image) |
d |
Delete | A document was removed |
c |
Command | DDL commands like create, drop, createIndexes |
n |
Noop | Heartbeat / periodic no-op used for consistency guarantees |
The Oplog Browser can present each entry two ways:
_id, and a short summary of what changed. Ideal for scanning.o, o2, ui, lsid, txnNumber, and ts. Ideal for forensic work.Toggle at any time; the tailing cursor is not interrupted.
The Analyzer joins each oplog entry to the originating session where possible using lsid and txnNumber. That lets you group a burst of writes back to a single client session, and — when authenticated writes are present — to a specific user or application role. Session attribution is invaluable for answering "who ran that updateMany?".
Index builds appear in the oplog as commitIndexBuild, startIndexBuild, and related commands. The Analyzer highlights them with a distinct badge and expands them into a mini-timeline showing:
startIndexBuild to commitIndexBuild.This is the fastest way to answer "did the rolling index build finish everywhere?" without opening currentOp on each secondary.
Below the oplog stream is a heat-map: rows are secondary members, columns are one-second buckets, and color intensity shows how far behind each secondary was when that oplog entry replicated. Hot bands make it obvious when replication briefly stalled — for example during a large index build or a runaway update — and which member was the slowest.
Show every insert on app.users in the last 10 minutes:
last 10 min.app.users.i, disable everything else.Runaway updateMany calls emit hundreds or thousands of u entries with the same lsid in a short window. To find one:
u only.lsid column).o2._id pattern — a wide range of unrelated IDs strongly suggests a missing filter or a bad predicate.Download and start managing your MongoDB databases with ease.
Download Free Trial