Transform, map, and split data in dashboard panels

Feature Improvements Fixes

TL;DR

Dashboard panels get value mappings, transformations, field overrides, split panels, and their own time range, and RUM Sessions load page by page.

Transform, map, and split data in dashboard panels

A dashboard panel showed query results as they came back. You could not transform, relabel, or recolor the data, split a panel by a variable, or give one panel its own time range. The panel editor now has these sections, and if you have built dashboards in Grafana, they will look familiar:

  • Value Mappings: Show a value, a range, a regular expression match, null, or no data as display text, with an optional color.
  • Transform Data: Run an ordered list of actions on the query results before the panel renders, such as Organize fields, Merge series, Calculate field, Rename by pattern, Group and aggregate, and Join by field.
  • Field Overrides: Change the display name, color, unit, decimals, minimum, maximum, or axis of one query or series.
  • Split Panel: Show one copy of the panel for each selected value of a dashboard variable, laid out Across or Down.
  • Override Dashboard Time: Give a panel its own Lookback, or a Time shift to compare with an earlier period, such as the same hour yesterday.

Dashboard variables also get a Regex to filter a label variable’s values or extract part of each one, and a new Ad hoc type that adds label filters to every PromQL query on the dashboard. See Dashboards.

Improvements

  • AI Assistant: An investigation often stopped to ask which service or operation you meant, and did not continue after you answered. The assistant now matches the service name in your question to your telemetry, lists a service’s observed operations when you do not name one, and runs new queries after you answer.
  • Dashboards: In Dashboard Settings, the Tags field of a Dashboards with tags custom link now lets you search existing dashboard tags or add a new one, instead of typing a comma-separated list. The links menu groups URL links and dashboard links under separate headings, and Custom Links can now be edited from the dashboards list too.
  • Discover
    • Applications (RUM)
      • The Sessions list now loads page by page, newest activity first, with the total number of sessions above the table. Views and With errors show in range / whole session, and Status shows In progress or Ended.
      • A session that began before the selected range showed a wrong start time. Web SDK 2.9.0 and mobile SDK 1.8.0 add session.start_time to every span, so the list shows the real start. See the RUM changelog.
    • Hosts, Kubernetes, and ECS: To tell which resources stopped sending data, the lists now have a Last Seen column and an Offline badge.
  • Logs: In the Related Logs tab of a log line, you could match only on the service, the instance, or the pod. The Related By chips now show every field the tab matches on, and you can remove a field or add any resource field of the line. Your choice stays while you move between lines.
  • MCP
    • Before an agent shares a dashboard, the new validate_dashboard tool checks it. It lints each query, runs it over a window of up to 24 hours, and reports the panels that have data, have no data, or fail.
    • The new get_profile_services, get_flamegraph, get_top_functions, and get_profile_summary tools let an agent find the slowest code paths in a service’s CPU profile.
    • Five new read-only tools let an agent search and read the dashboards, folders, and data sources of your Grafana.
    • An MCP client could not tell read-only tools from tools that change data. Every tool now has a title and annotations, so a client can warn before a tool such as add_drop_rule runs.

Fixes

  • AI Assistant: A reload of a new chat before you sent a message showed a “Something went wrong” error.
  • Dashboards
    • A panel that the dashboard editor rejects could be saved through the API, and the dashboard then did not load.
    • Users with the Viewer role could not star dashboards, and their recently visited dashboards were not recorded.
  • Discover
    • Services: The Top 10 tables on the Overview tab overflowed and hid the bar and value column.
    • Applications (RUM)
      • On a high-traffic app, the Sessions list could take minutes to load, and it stopped at 5,000 sessions, so sessions were missing from wide time ranges.
      • SDK fixes, with versions in the RUM changelog:
        • Web: Click, focus, keyboard, and touch interactions on password, email, and card fields sent field metadata such as the name and selector (2.8.4).
        • Web: Fields with compound email names, such as useremail, were not treated as sensitive (2.8.3).
        • Web: An attribute deleted in an errors.beforeSend hook, such as a stack trace, was still sent (2.8.2).
        • Web: An X-LAST9-API-TOKEN entry in config.headers replaced clientToken and broke ingestion (2.8.1).
        • Android: shutdown() removed a crash reporter, such as Sentry or Crashlytics, that was installed after Last9 (1.7.2).
        • Android: L9Rum.spanAttributes() threw a NullPointerException on a null key or value from Java (1.7.3).
        • React Native: A fractional sampleRate, such as 0.5, sampled every session on iOS and no sessions on Android (1.7.1).
    • Hosts, Kubernetes, and ECS: The lists dropped a resource that stopped sending data, even when the selected range covered its lifetime.
  • Logs: The Related Logs tab of a log line matched only the service, so it mixed in logs from other hosts or pods with the same service name.
  • Logs and Traces: Ask mode in Logs Explorer and Traces Explorer could not generate queries on deployments that use AWS Bedrock as the model provider.
  • MCP: Remote MCP connections from Claude, GitHub Copilot CLI, and Codex failed with invalid client_id about a month after they were added. New connections now stay registered for 360 days. Remove a connection that already fails, and add it again.
  • General: Users with the Viewer role, and read-scoped API tokens, got a permission error on query suggestions, database queries, and service profiles.