Introduction
CritterWatch is a production monitoring and management console for distributed systems built on the Critter Stack — Wolverine, Marten, and Polecat. It gives you a single screen for every operational question that comes up while running these systems in production.
Problems CritterWatch solves
If your team has hit any of these in the last six months, this is the right tool:
"My projections are stalled — how do I find them?" The Projections page lists every shard with current sequence, high-water mark, and lag. Stalled shards are color-coded; click in to see lag history and (if needed) restart, rebuild, or rewind from the UI.
"Messages are piling up in the dead letter queue — how do I investigate and replay them?" The Dead Letter Queue page is a unified view across every service and message store. Filter by service, message type, exception type, or tenant. Click a row to see the message body, full stack trace, and processing history. Replay one message, replay everything matching the filter, edit-and-replay (fix bad data and try again), or discard. It's the page most operators end up living on.
"I'm seeing back-pressure warnings — what does that mean and what should I do?" The Listeners page shows every endpoint's status — Accepting, TooBusy (back pressure), Latched (circuit breaker tripped), Stopped, etc. The detail panel shows the configured thresholds, the live failure rate, and the per-endpoint controls (pause / drain / restart, edit buffering limits, edit circuit breaker).
"How do I set up alerts so I know before users complain?"Alerts ship with sensible defaults plus per-service and per-message-type overrides. Configure them in Alert Configuration; they fan out to Slack, Discord, or Teams via the channels in Settings.
"A node went down — what happened to its work?" The Cluster tab shows nodes with heartbeat dots and assigned-agent counts. When a node goes silent, the dot turns amber then red. The leader rebalances the agents to live nodes; you can also eject a stuck node manually so the rebalance happens immediately.
"I need to add a new tenant to the system at runtime." Multi-tenant services with DynamicMultiple cardinality get a Tenants tab with Add / Disable / Enable / Remove / Hard delete. The console handles the runtime database addition + Marten schema creation in a single click.
"How do I verify my message routing is correct after a deployment?" The Messaging tab lists every message type the service knows how to handle, with the live throughput, exec time, and DLQ rate. The Topology page draws the publish/handle graph across services so you can see which services produce a message and which handle it.
What it doesn't do
CritterWatch is purpose-built for the Critter Stack — Wolverine messaging, Marten event sourcing, EF Core (when used with Wolverine integration), and Polecat. It is not:
- A general-purpose APM (use OpenTelemetry + your existing tracing backend; CritterWatch has trace provider links to jump from a saga or handler to a Jaeger trace).
- A log aggregator (use your existing log pipeline).
- A metrics dashboard for non-message-driven systems.
- An alternative to Kubernetes or your application platform.
It complements those tools — it doesn't replace them.
How it fits in
Adding CritterWatch to an existing Wolverine application takes a single NuGet package and three lines of configuration. There are no schema changes to your services and no new external dependencies — the console reuses the Wolverine transport you already have.
For the deployment-side picture, see How CritterWatch Works.
Capabilities at a glance
| Capability | Page |
|---|---|
| System-wide health summary | Dashboard |
| Per-service detail (nodes, agents, endpoints, metrics, tenants, HTTP) | Services |
| Dead letter queue management | Dead Letters |
| Async projection monitoring + lifecycle controls | Projections |
| Endpoint health, circuit breakers, back pressure | Listeners & Endpoints |
| Alert configuration and lifecycle | Alerts · Alert Configuration |
| Scheduled message management | Scheduled Messages |
| Inbox / outbox health | Durability Monitor |
| Forensic event browser | Event Store |
| Activity feed and operator audit | Activity Timeline · Audit Log |
| Message routing visualization | Message Topology |
Next steps
- Install CritterWatch — package install + infrastructure prereqs.
- Quick Start Guide — connect your first service in five minutes.
- Explore the UI — page-by-page reference once you're up and running.
