Dashboard threshold styles and Retry on failed loads

Improvements Fixes

TL;DR

Dashboard panels get a base color and threshold styles, alert links open the Alert Monitor, and lists and charts show Retry when a load fails.

Dashboard threshold styles and Retry on failed loads

Improvements

  • AI Assistant
    • Added a Copy button that copies the whole conversation, including in shared read-only chats.
    • When a reply ends with a count such as ”(+ 20 more rules)”, select it to list the remaining items inline.
  • Dashboards
    • Added a base color for values below the first threshold, and Transparent as a threshold color, on stat, gauge, time series, and bar panels. The first chip in Thresholds is the base, so “red below 95” is a red base with a transparent step at 95.
    • Added a Show thresholds as select to time series and bar panels, with Line, Line (dashed), Area, Area + line, and Area + line (dashed). Panels keep Area until you change it, and the select appears once the panel has a threshold.
    • Added Color data instead to Show thresholds as. It colors lines, areas, or bars by the threshold range each value falls in, and it is disabled on stacked bars.
    • Imported Grafana panels keep their base color, threshold style, and color mode. See Using dashboards.
  • Alerting
    • Alert notification links in Slack, PagerDuty, email, and the other channels open the Alert Monitor with that alert’s modal, instead of the old page. Metric alerts get the new link in every new notification. A log alert gets it once its rule is created or saved; older log rules keep their old link.
    • Alert Monitor: When a refresh fails, the alerts on screen stay visible under an Alerts may be out of date banner with a Retry button.
  • Control Plane: Creating a rehydration for a range that existing indexes already cover shows Range Already Requested with each index’s name, range, and query link, and the form stays open. A partial overlap shows Overlapping Range with the same details. Rehydration also reads cold storage from Google Cloud Storage buckets.
  • MCP
    • New tools let an agent acknowledge or reassign an alert, mute an alert group, validate an alert expression, and create, attach, detach, and delete notification channels. create_alert and create_alert_from_chart create rules disabled, so you review them before they fire.
    • The new get_log_patterns and get_emerging_log_patterns tools find recurring log patterns and the patterns that appeared or grew between two windows. patch_dashboard edits a dashboard with targeted operations and returns a diff.
    • The --read-only and --allow-write-tools flags control which tools the server offers: in read-only mode, only tools that do not change data are served.
    • get_logs and get_service_logs return a summary of the matching lines by default; pass response_mode to get raw lines.
    • Every tool call stops after 3 minutes, and a log search stops after 90 seconds with advice on how to narrow it.
  • General
    • Failed requests show an error with a Retry button instead of an empty state. Charts say This chart did not load., and the Traces, Hosts, Exceptions, Kubernetes, Alert Monitor, and Alert Rules lists say, for example, Hosts did not load.
    • Added a Clear Filters button to the empty state of the Alert Monitor, Alert Rules, Exceptions, Hosts, and Kubernetes lists when filters hide every row.

Fixes

  • Alerting > Alert Monitor: A request for alerts at a time a minute or two before now reported every rule as normal, because evaluations land about two minutes late. MCP get_alerts and the AI Assistant hit this when they fixed “now” and sent the request seconds later. A short window ending at now, such as the last hour, returned no alerts.
  • Control Plane > Streaming Aggregation: Opening the edit dialog of an aggregation created through the API crashed the page when a regexp parse stage had no labels. The rules kept running. The API now rejects a log or trace aggregation whose regexp parse stage has no labels.