Skip to content

Dashboards View

The Dashboards view provides Datadog-style custom dashboards for visualizing CloudMock metrics. Each dashboard is a grid of widgets that query metric data using a structured DSL, with configurable time windows and auto-refresh.

The landing page shows all dashboards — preset and custom — in a browsable list. Each entry shows the dashboard name, widget count, description, and category label.

Filter dashboards by category using the label bar at the top:

LabelColorScope
InfrastructureTealService-level metrics, traffic, system resources
ApplicationPurpleError tracking, status codes, app-specific metrics
PerformanceYellowLatency percentiles, deep-dive analysis
SecurityPinkAuth failures, IAM denials, rate limiting

Click a label to show only dashboards in that category. Custom dashboards always appear regardless of the active filter.

  • Favorite — Click the star icon to pin a dashboard to the top of the list. Favorites are sorted before non-favorites.
  • Hide — Click the eye icon on preset dashboards to remove them from the main list. Hidden dashboards are shown in a collapsible section at the bottom.

Preferences (favorites and hidden) are persisted to localStorage.

CloudMock ships with five built-in preset dashboards:

PresetLabelWidgetsPurpose
Service OverviewInfrastructure6Request volume, P99 latency, error rate, CPU, memory
Error TrackingApplication4Error rate trend by service, 5xx/4xx counts
Latency Deep DivePerformance5P50/P95/P99 latency, avg by service, max latency
Traffic OverviewInfrastructure4Total requests, rate, by-service breakdown, queue depth
Security & IAMSecurity5Auth failures (401), forbidden (403), rate limited (429)

Presets cannot be deleted, but they can be hidden from the list.

Click + New Dashboard to create a blank dashboard. You are taken directly to the dashboard view where you can add widgets.

After selecting a dashboard, the toolbar shows:

Select the visible time range: 15m, 1h, 6h, 24h, or 7d. All widgets in the dashboard share the same time window.

Choose the auto-refresh rate from the dropdown: Off, 10s, 30s, 1m, or 5m. Each widget re-fetches its data at this interval.

Click + Add Widget to open the widget editor overlay.

TypeDescription
TimeseriesLine chart plotting metric values over time. Supports groupBy for multi-series overlays.
Single StatLarge number display showing the current aggregated value. Supports warning/critical thresholds for color coding.
GaugeRadial gauge showing a percentage value against thresholds.

Each widget is driven by a metric query using the following syntax:

aggregation(metric){ key=value, ... } by group
avg(http.request.duration){ service=api-gateway }
p99(http.request.duration){ service=api-gateway, method=GET } by service
count(http.request.count)
sum(http.request.count){ status=5xx } by service
FunctionDescription
avgMean value
sumTotal sum
minMinimum value
maxMaximum value
countEvent count
p5050th percentile (median)
p9595th percentile
p9999th percentile

Filters are key-value pairs inside { }. Common filter keys include service, status, and method.

Append by field to split the result into multiple series, one per unique value of the field. For example, by service produces one line per service on a timeseries chart.

Widgets are arranged in a 12-column grid. Each widget has configurable column span (1-12) and row span. Widgets can be resized by dragging their edges. Click a widget to open the editor and modify its query, title, type, or thresholds.

Custom dashboards and widget configurations are stored in the browser’s localStorage. Preset dashboards are always loaded fresh from the source code and cannot be modified.

MethodPathDescription
GET/api/metricsAggregate metrics used by metric queries
GET/api/metrics/timelineTime-series data for charting
GET/api/tracesTrace data used for metric computation
GET/api/sloSLO window data for percentile calculations