Skip to content

Endpoints

The Endpoints view shows every message endpoint across your monitored services — both inbound listeners (where messages are received) and outbound senders (where messages are published). It lives as a tab in the Messaging Explorer and as a standalone page at /endpoints (the old /listeners URL redirects here).

CritterWatch Endpoints — every inbound listener and outbound sender across services with status, direction, transport, and bulk pause/drain/restart controls

Endpoint grid

Each endpoint is a row. The grid leads with a selection checkbox (bulk actions operate on the rows you tick):

ColumnDescription
ServiceOwning service (shown in fleet/multi-service scope)
(icon)Transport scheme icon
NameFriendly endpoint name; falls back to the URI when the transport doesn't supply one (so exchange senders are no longer blank)
URIThe endpoint address, with a transport-type tag and a row of line-2 pills (broker role, mode, listener, system, interop, tags)
StatusRuntime status (see below), with small CB / BP icons when the circuit breaker has tripped or back pressure is active
DirectionInbound / Outbound / Both / Local
TagsTransport tag icons

Six metrics columns — Msgs/hr, Sent/hr, Rcvd/hr, Avg Exec, DLQ/hr, Errors/hr — are hidden by default and revealed by the Metrics toggle in the toolbar (the preference is remembered). The grid also offers transport/scheme and direction facets, a URI search box, and a "hide system endpoints" toggle.

Status values

StatusMeaning
AcceptingListener is running and processing messages normally
StoppedListener has been paused by an operator
TooBusyBack pressure is throttling this listener
LatchedCircuit breaker has tripped — paused due to repeated failures
Active / LatchedFor senders (no listening status of their own): Active when the sender circuit is closed, Latched when it has tripped

A listener can read Accepting while its transport channel is actually dead. When that happens, CritterWatch surfaces a dark health pill under the status — Disconnected (the channel dropped) or Faulted (the receive loop stopped) — so a silently-stuck listener is visible instead of looking healthy. An opt-in, rate-limited auto-kickstart can restart such a listener for you.

Endpoint controls

Lifecycle actions are bulk-only: tick one or more rows, then use the toolbar buttons. (Per-row Pause/Restart buttons were removed to reclaim column space.)

Toolbar actionEffect
Pause SelectedStop consuming on the selected listeners across the entire application, durably. Every node stops pulling, and the pause survives restarts + new nodes joining until you resume. Messages stay safely on the broker.
Drain SelectedGraceful shutdown — stop accepting new messages but let queued + in-flight work finish, then halt. The right call before a deploy.
Restart SelectedResume paused or drained listeners across every node; the backlog that accumulated drains down.

See the downstream-system-broken scenario for the full pause-and-resume workflow.

Pause All / Restart All apply to every endpoint in one service. They appear only on the standalone Endpoints page when a single service is selected and nothing is ticked — they're hidden inside the embedded Messaging Explorer tab.

Edit endpoint (per-row kebab)

Each row's actions live in a compact ⋮ kebab menu; its Edit item opens an Edit Endpoint drawer with two forms applied to the running endpoint without a restart:

  • Buffering limitsMaximum (messages to buffer) and Restart Threshold.
  • Circuit breakerFailure Percentage Threshold and Pause Time (seconds).

Transport Type Icons

CritterWatch displays a transport icon alongside each endpoint URI to make it easy to identify at a glance:

  • RabbitMQ (rabbit icon)
  • SQL Server (database icon)
  • In-memory (lightning bolt icon)
  • Kafka (stream icon)
  • Azure Service Bus (cloud icon)

Free for read-only monitoring. A commercial license is required for administrative actions and the MCP server.