Skip to content

Dashboard

Paul Mcilreavy edited this page Jun 10, 2026 · 4 revisions

The simulator includes an optional web-based dashboard for monitoring events and debugging issues.

Configuration

The dashboard is enabled by default. To disable it, add dashboardEnabled: false to your appsettings.json:

{
  "dashboardEnabled": false,
  "topics": [
    ...
  ]
}

You can optionally configure a dedicated port for the dashboard:

{
  "dashboardPort": 5000,
  "topics": [
    ...
  ]
}

Accessing the Dashboard

The dashboard is available at /dashboard on any topic port. For example, if you have a topic configured on port 60101:

https://localhost:60101/dashboard

If you've configured a dedicated dashboardPort, use that port instead.

Features

  • Event History: View events received by the simulator (in-memory, up to 100 events per topic)
  • Delivery Status: Track delivery attempts to each subscriber (Delivered, Failed, Pending, Retrying)
  • Rejected Events: View events that failed validation with error details and the raw request body
  • Topic Filtering: Filter events by topic name
  • Auto-refresh: Dashboard automatically refreshes every 3 seconds (can be toggled off)
  • Clear History: Reset all event history and statistics

Dashboard Statistics

The dashboard displays real-time statistics:

Stat Description
Total Received Total events received since startup
In History Events currently in the history buffer (max 100 per topic)
Delivered Successful deliveries to subscribers
Failed Failed delivery attempts
Pending Deliveries in progress or awaiting retry
Rejected Events that failed validation (400 errors)
Active Topics Number of enabled (non-disabled) topics

Dashboard API

The dashboard exposes REST API endpoints for programmatic access:

Endpoint Method Description
/dashboard/api/events GET List recent events. Optional query param: topic to filter by topic name
/dashboard/api/events/{id} GET Get details of a specific event by ID
/dashboard/api/stats GET Get current statistics (totals, counts by status)
/dashboard/api/rejections GET List rejected events with error details
/dashboard/api/clear DELETE Clear all event history and rejection records

Technical Details

  • Event history is in-memory only - Events are lost when the simulator restarts
  • Maximum 100 events per topic are retained in history (oldest are removed when the per-topic limit is reached)
  • Auto-refresh interval is 3 seconds when enabled
  • Statistics are cumulative from startup until cleared

Related Topics

Clone this wiki locally