Skip to content

Dashboard Overhaul: Custom Widget Builder, Expanded Attributes, Advanced Charts, and Time Granularity #3106

Description

@aminhadidi1379

Problem Statement
The current dashboard widgets are rigid and pre-built, offering very limited customization. Attributes are restricted to basic system properties (incidentId, monitorIds, ownerTeamIds, etc.), ignoring crucial contextual data like Labels, Responders, and Custom Fields. Additionally, time-series visualization lacks granular control (days, hours, minutes).

Proposed Solution
Overhaul the dashboard framework by introducing a custom widget builder, expanding the attribute schema, supporting flexible time granularity, and adding advanced visualization chart types.

Detailed Requirements
Expanded Attribute Support:

Expose the following attributes to all widget aggregation engines:

labels (Key-Value pairs)

responders (User/Team IDs)

customFields (User-defined incident/monitor metadata)

Time Granularity Control:

Add a Time Granularity / Bucket Size picker for all time-series widgets and charts.

Options must include: 1 Minute, 5 Minutes, 15 Minutes, 1 Hour, 1 Day, 1 Week, 1 Month.

Automatically aggregate metric values based on selected granularity (Sum, Average, Count, P95, P99).

Advanced Charting Components:

Introduce new chart widget types:

Multi-Series Line/Area Charts (comparing multiple metrics over time).

Bar / Stacked Bar Charts (e.g., Incidents grouped by Severity or Responder).

Pie / Donut Charts (distribution by Labels or Custom Fields).

Heatmaps & Single Value Gauge Widgets.

Custom Widget Builder UI:

Provide a modal/builder to construct widgets:

Step 1: Choose Visualization Type (Line, Bar, Donut, Counter).

Step 2: Select Data Source (Incidents, Monitors, Telemetry).

Step 3: Define Grouping/Aggregation (Group By: Label, Filter By: Custom Field).

Step 4: Configure Time Granularity & Range.

Acceptance Criteria
Custom Fields, Labels, and Responders are available in widget group-by and filter options.

Users can explicitly select Time Granularity (1m, 5m, 1h, 1d, etc.) on time-series widgets.

Dashboard UI includes new widget types: Bar, Stacked Bar, Donut, and Multi-Series Line.

Users can create custom widgets from scratch using a step-by-step builder.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions