Skip to content

Services

The Services view shows all monitored services registered with CritterWatch. It supports both a card grid and a sortable table.

Services List

Each service card or table row shows:

  • Name — unique service identifier
  • Label — human-readable display name (can differ from the name)
  • Version — Wolverine version running in this service
  • Status — aggregate health (Healthy / Warning / Critical)
  • Nodes — count of active process nodes
  • Messages/hr — recent message throughput
  • DLQ — count of unresolved dead letters
  • Alerts — count of open alerts

Toggle between card view and table view using the view switcher in the toolbar.

Service Detail

Clicking a service opens the Service Detail page with multiple tabs:

Overview Tab

  • Service metadata — name, label, Wolverine version, first seen, last heartbeat
  • Nodes table — each running process instance with its ID, start time, and role (leader / follower)
  • Live metrics — messages/hour, average execution time, effective processing time, exception rate
  • Tenancy — multi-tenancy cardinality (None, Single, ConjoindTenancy, DefaultTenant, ExtendedDynamic)
  • Message stores — durability database URIs (inbox/outbox stores)
  • Brokers — configured messaging brokers (RabbitMQ, Kafka, etc.)
  • Event stores — Marten event store configurations

Agents Tab

All registered agents with their current assignment and health:

ColumnDescription
Agent URIUnique identifier for this agent type
StatusHealthy / Degraded / Offline
Assigned NodeWhich node is currently running this agent
Unhealthy CountConsecutive unhealthy check count (triggers alerts)
Last SeenTime of most recent health report

Agent types include projection shards (e.g., TripSummary:All), subscriptions, node controllers, and leadership agents.

Filtering: Filter by status or search by agent name.

Endpoints Tab

All message endpoints (listeners and senders) for this service:

ColumnDescription
URIEndpoint address
ModeListener / Sender / Both
StatusAccepting / Stopped / TooBusy / Latched
TransportRabbitMQ / InMemory / SqlServer / etc.
Circuit BreakerActive / Paused
Back PressureNone / Triggered

Actions per endpoint:

  • Pause — stop processing messages on this endpoint
  • Restart — resume a paused endpoint
  • Edit Buffering Limits — adjust MaximumMessagesToReceive and related settings
  • Edit Circuit Breaker — adjust failure rate thresholds

Alerts Tab

All alerts for this service, filterable by status and severity. See Alerts for full documentation.

HTTP Routes Tab

For services using Wolverine.HTTP, the complete HTTP route table with:

  • HTTP method badge (GET, POST, PUT, DELETE, PATCH)
  • Route pattern
  • Handler type and method
  • Link to generated source code view

Raw Data Tab

The complete raw ServiceSummary document from Marten, shown as formatted JSON. Useful for debugging or understanding exactly what state CritterWatch has recorded.

Node Commands

From the Nodes section on the Overview tab, operators can:

  • Eject Node — remove a stale node that is no longer heartbeating. CritterWatch will redistribute its assigned agents.
  • Trigger Election — force a new leader election among active nodes.
  • Clear Node History — remove historical node records from the event store.

These are destructive operations and require confirmation.

Released under the MIT License.