* Dashboard: Add object to selected object
* Try not to nest rows
* Update
* Update
* rows in rows, tabs in tabs
* Update schema to allow nested rows and nested tabs
* fix lint issue
* reset v2alpha1 types from main
* reset dashboard_object_gen.go to main
---------
Co-authored-by: oscarkilhed <oscar.kilhed@grafana.com>
* remove range from class
* remove range from language provider
* use range parameters in MetricsLabelsSection
* use range parameters in metric_find_query
* pass range parameter in monaco-query-field
* typo
* use range in prometheus metrics browser languageProvider calls
* fix unit tests
* fix unit tests
* update unit tests
* lint
* docs: Span details includes events and links
Adds to the explore trace integration information about trace span
events and links, which are also available in the trace view.
Signed-off-by: Alex Bikfalvi <alex.bikfalvi@grafana.com>
* Update trace-integration.md
* Apply suggestions from code review
* Fix prettier issues
Signed-off-by: Alex Bikfalvi <alex.bikfalvi@grafana.com>
---------
Signed-off-by: Alex Bikfalvi <alex.bikfalvi@grafana.com>
Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
- Rename `initializeMapping` into `initializeElementMapping`
- Create new `initializeDSReferencesMapping` to track queries without explicit datasources
- Fix panel datasource detection to use default datasource when none is specified
- Improve datasource resolution by searching for best match by query kind
- Add unit test
---------
Co-authored-by: alexandra vargas <alexa1866@gmail.com>
Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
* replace the usage of dashboard guardians with calling AC evaluators or checking access in middleware
* linting fixes
* fix test
* more test fixes
* remove a todo comment
Adds support for rule group-level query_offset in Prometheus to Grafana rule conversion. It allows specifying a time offset for rule evaluation, which gets applied and saved during the conversion.
* Live: allow publishing over Centrifuge subscription
Currently when publishing over a Grafana Live channel,
the data is sent over the HTTP API. This works fine when
there is only a single Grafana instance running, but
when there are multiple instances, the data will only hit
one instance, which is often not desired: sometimes you need
to guarantee that the data appears on the same instance that
the frontend is connected to.
An example of this is in the Grafana LLM app when running the
MCP server. The MCP protocol is stateful; users subscribe to
a channel to get a long-lived stream of server-sent events,
then send subsequent requests to the server to get further
results. If there are multiple Grafana instances running then
the requests are likely to land on an instance other than the
one that the user is connected to.
This commit adds a new option to the `GrafanaLiveSrv` interface
that allows the user to publish data over the Centrifuge
subscription instead of the HTTP API. This is not the default and
should rarely be used, but is required to fulfil certain use cases.
* Address nits from code review
Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
---------
Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
Developers using Grafana Live need to know whether a message is too
big to be sent over the Grafana Live websocket. Since this limit
is configurable, it is useful to expose it to the frontend.
This commit adds a new field to the frontend settings,
`liveMessageSizeLimit`, which the frontend can use to access the
limit configured in the backend.
Relates to #99770.
Adds a new configuration option to specify a time offset for rule evaluation, which gets applied and saved during the Prometheus -> Grafana conversion. For example:
[unified_alerting.prometheus_conversion]
rule_query_offset = 1m
Changing this option affects only the rules imported after the change. If query_offset is set at the group level, it takes precedence over this setting.
Default is set to 1m.