Tobias Skarhed f9c0924f0c Scopes: Sync scope_node in favor of scope_parent in the URL (#113212)
* Enhance ScopesService to support scopeNodeId in URL parameters for improved backward compatibility. Update changeScopes method to accept scopeNodeId, allowing for better handling of scope nodes. Adjust ScopesInput to prioritize scope node titles and ensure loading states are managed correctly. Refactor related logic in ScopesSelectorService for consistent scope handling.

* Scopes: Add tests for scope_node URL sync and scopeNodeId handling

- Add ScopesService.test.ts with tests for URL parameter handling
  - Test scope_node and scope_parent reading from URL
  - Test scope_node writing to URL with scope_parent reset
  - Test backward compatibility with legacy scope_parent
  - Test URL sync when scopes and scopeNodeId change

- Add tests to ScopesSelectorService.test.ts for changeScopes
  - Test scopeNodeId assignment (only first scope gets it)
  - Test handling scopeNodeId without parentNodeId
  - Test backward compatibility when only parentNodeId provided

All 13 new tests passing, maintaining 100% test coverage.

* Fix linting error

* Fix comments
2025-10-31 13:36:10 +01:00
2025-10-14 12:21:27 +02:00
2025-10-14 12:21:27 +02:00
2025-09-30 09:49:23 -04:00
2020-11-05 17:20:40 +01:00
2025-10-29 17:17:07 +01:00
2025-03-04 11:00:35 +00:00
2023-06-22 09:43:38 +01:00
2025-10-29 17:17:07 +01:00
2021-04-20 19:03:30 +02:00
2025-08-20 10:08:03 +00:00

Grafana Logo (Light) Grafana Logo (Dark)

The open-source platform for monitoring and observability

License Go Report Card

Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data-driven culture:

  • Visualizations: Fast and flexible client side graphs with a multitude of options. Panel plugins offer many different ways to visualize metrics and logs.
  • Dynamic Dashboards: Create dynamic & reusable dashboards with template variables that appear as dropdowns at the top of the dashboard.
  • Explore Metrics: Explore your data through ad-hoc queries and dynamic drilldown. Split view and compare different time ranges, queries and data sources side by side.
  • Explore Logs: Experience the magic of switching from metrics to logs with preserved label filters. Quickly search through all your logs or streaming them live.
  • Alerting: Visually define alert rules for your most important metrics. Grafana will continuously evaluate and send notifications to systems like Slack, PagerDuty, VictorOps, OpsGenie.
  • Mixed Data Sources: Mix different data sources in the same graph! You can specify a data source on a per-query basis. This works for even custom datasources.

Get started

Unsure if Grafana is for you? Watch Grafana in action on play.grafana.org!

Documentation

The Grafana documentation is available at grafana.com/docs.

Contributing

If you're interested in contributing to the Grafana project:

Share your contributor experience in our feedback survey to help us improve.

Get involved

This project is tested with BrowserStack.

License

Grafana is distributed under AGPL-3.0-only. For Apache-2.0 exceptions, see LICENSING.md.

S
Description
The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
Readme AGPL-3.0 2.7 GiB
Languages
TypeScript 52.9%
Go 44.3%
CUE 0.7%
Rich Text Format 0.5%
HTML 0.4%
Other 1%