Skip to content

Wolverine.CritterWatch

Wolverine.CritterWatch is the NuGet package you install in each service you want CritterWatch to monitor. It plugs into the Wolverine runtime, publishes telemetry to the console, and handles the operator commands the console sends back.

This section is the integration reference — what to install, how to register it, and what to expect at runtime.

What it does

Once registered:

  • Publishes telemetry once per second. Node lifecycle, agent assignments, endpoint health, persistence counts, projection shard state — all batched and sent over your existing Wolverine transport.
  • Handles inbound commands. Replay DLQ messages, pause listeners, rebuild projections, add tenants, and the rest of the command set. The handlers are registered automatically — you don't write them.
  • Probes agent health every 60 seconds. Catches silent agent failures that don't fire reactive callbacks.
  • Reports your service's capabilities. Registered handlers, endpoints, message stores, event stores, multi-tenancy mode — what CritterWatch needs to render the service's pages.

What it costs

The runtime impact is negligible:

  • Hot-path overhead per event: a single lock-free queue push. No serialization, no I/O.
  • Publish overhead: one batched message per second, regardless of event volume. A flat 1Hz publish rate.
  • Memory: a small ring buffer of pending changes plus a snapshot of current endpoint / shard state. Single-digit megabytes.
  • No new database connections. Reuses your existing Wolverine transport.
  • No new ports. Same transport in, same transport out.

What it doesn't change

  • Your handlers, aggregates, and domain code stay the same. No annotations, no base classes, no decorators.
  • No schema changes. CritterWatch never adds tables to your application's database.
  • No additional processes. It runs in your existing service process.

Pages in this section

  • Registration — installing and registering it in your service.
  • Inbound Commands — every command the console can send, with the C# record signatures and minimal call examples.
  • Outbound Events — what the service publishes back. Useful when you want to consume the same telemetry from your own infrastructure.
  • Observer & Telemetry — what gets reported, on what cadence, and what to do when telemetry stops flowing.

License

The Wolverine.CritterWatch library itself is MIT-licensed and has no license-key requirement. Any service can be monitored regardless of the CritterWatch console's license tier.

Some operator commands (DLQ replay, projection rebuild, tenant operations, etc.) are gated on the CritterWatch console license — see Licensing. The library accepts the command and refuses with a LicenseRequiredException if the console isn't licensed for it; the UI button stays disabled when the gate is active.

Released under the MIT License.