Commit Graph
62211 Commits
Author SHA1 Message Date
Josh Hunt d6c97bd6c9 I18n: Add useT/useTranslate PR feedback that got missed (#102098)
I18n: Add PR feedback that got missed
2025-03-13 12:49:49 +00:00
Tom Ratcliffe 2c1bc1bb7c Alerting: Fix DataQuery and DataSourceRef deprecated imports in alerting code (#102095)
Fix DataQuery and DataSourceRef deprecated imports in alerting code
2025-03-13 12:48:06 +00:00
Josh Hunt 50ff1ae69b I18n: Add useT hook for plugin translation API (#102033)
* Create placeholder useT function

* expose useT() in @grafana/runtime

* fix setting useT correctly

* example usage of useT

* rename hook to useTranslate

* fix rename

* remove comment
2025-03-13 13:54:57 +02:00
Jack BaldryandKristina Durivage f4d43d3ef5 Lint provisioning file (#102005)
* Remove reference to deprecated feature flag

* Lint provisioning file

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Remove regression

---------

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Kristina Durivage <kristina.durivage@grafana.com>
2025-03-13 13:35:16 +02:00
Matthew Thorning 2c10b35b33 GrafanaUI: Use safePolygon close handler for interactive tooltips instead of a delay (#101871)
* feat: allow configuration of interactive tooltip delay

* add comment explaining interactiveDelay prop

* switch approach to using `safePolygon` close handler instead

* remove unnecessary object spread from Tooltip component
2025-03-13 11:14:29 +00:00
d07b1851c7 Dynamic dashboards: Persist conditional rendering (#102022)
* Dashboards: Add conditional rendering

* Updates

* Fixes

* Code improvements

* Code improvements

* limit condition choices, add delete and clean up ui

* add basic variable condition

* add conditional rendering based on time range interval

* adjust failing test

* remove deprecated pseudo locale file

* extract conditional rendering from behaviour to state property

* clean up behaviour initialisation

* clean up ts errors

* adjust data condition to account for RowItem

* persist-conditional-rendering

* fix group value name and kind type

* Fix types in base

* minor style fix

* Fix subscribes

* notify change when deleting condition

* fix hidden row item error

* Remove option to have groups in groups

* fix merge issue

* address comments

* subscribe to panel data change in data condition

* Remove loop labels

* only persist conditional rendering if root group has items

* update backend types

* Serialize variable conditional rendering operator as equals notEquals

---------

Co-authored-by: Bogdan Matei <bogdan.matei@grafana.com>
Co-authored-by: Sergej-Vlasov <sergej.s.vlasov@gmail.com>
2025-03-13 11:56:20 +01:00
Eric Leijonmarck 8fd2a12670 Docs: update terraform documentation to assign basic_roles (#102087)
* Docs: update terraform documentation to assign basic_roles

* fmt
2025-03-13 10:39:35 +00:00
Will Browne 8d839780d6 Plugins: Update to latest go plugin SDK version (0.272.0) (#102090)
update go plugin sdk to latest
2025-03-13 10:23:30 +00:00
ismail simsek 4c61991d7c Chore: Remove unused prometheusDataplane feature toggle parameters (#102061)
remove unused prometheusDataplane feature toggle parameters
2025-03-13 11:12:20 +01:00
Gábor Farkas 40b1b62502 improve the debugging experience (#101779)
improve debugging experience
2025-03-13 11:10:07 +01:00
Ashley Harrison f3fb9592da Org redirection: Fix linking between orgs (#102021)
* don't trim path

* add unit test
2025-03-13 09:42:12 +00:00
Tobias Skarhed 9cc6c596af DataSourceHttpSettings: Replace legacy components and remove gf-form usage (#100583)
* Refactor to remove gf-form

* Change Select to Combobox

* Fix label width

* Add translations

* Fix input and translation keys

* Add aria expanded controls to help button

* Fix dsiabled state for Input

* Fix spacing

* Remove unused import

* Fix spacing for tag selectors

* Change gf-form-label to section

* Update addDataSource e2e flow

* Betterer results

* Use new form component

* Update translations

* Add deprecation notice

* Extract translations

* Update betterer
2025-03-13 10:20:20 +01:00
Igor Suleymanov 5d2ba10113 K8s/Dashboards: Extract Dashboard APIs to an app submodule (#102029)
* Move dashboard k8s APIs to a separate app

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Copy dashboard code in Dockerfile

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Fix conversion generation

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Update OpenAPI snapshot for dashboard/v0alpha1

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

---------

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
2025-03-13 11:05:01 +02:00
Steve Simpson 87638c0170 Alerting: Start splitting apart ngalert/api package. (#102075) 2025-03-13 09:28:35 +01:00
Georges Chaudy 3589baac68 Unistore: Batch write events (#101381)
* Batch write events

* Improve instrumentation

* Measure batch phases

* Detect lock contention

* remove the execBatch goroutine

* removing tracing prefix

* detect context cancel

* batch channel map
2025-03-13 10:24:12 +02:00
Sven Grossmann 2d71c8ae72 Chore: Prevent make run from printing all environment variables (#101924) 2025-03-13 08:59:09 +01:00
Victor Marin 270700c890 Dashboards: Remove panel edit override broken styles (#102054)
remove panel edit override styles causing issues
2025-03-13 09:48:40 +02:00
0f45f2696e Dashboards: Add conditional rendering (#100330)
* Dashboards: Add conditional rendering

* Updates

* Fixes

* Code improvements

* Code improvements

* limit condition choices, add delete and clean up ui

* add basic variable condition

* add conditional rendering based on time range interval

* adjust failing test

* remove deprecated pseudo locale file

* extract conditional rendering from behaviour to state property

* clean up behaviour initialisation

* clean up ts errors

* adjust data condition to account for RowItem

* Fix subscribes

* notify change when deleting condition

* fix hidden row item error

* address comments

* subscribe to panel data change in data condition

* Remove loop labels

---------

Co-authored-by: Sergej-Vlasov <sergej.s.vlasov@gmail.com>
Co-authored-by: oscarkilhed <oscar.kilhed@grafana.com>
2025-03-13 08:25:55 +01:00
grafana-pr-automation[bot]andgithub-actions[bot] 2dca2503b9 I18n: Download translations from Crowdin (#102076)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-13 02:31:13 +02:00
owensmallwood 56293d8019 Revert "Revert "Unified Storage: Use match all query instead of wildcard for not-in requirement query"" (#102074)
Revert "Revert "Unified Storage: Use match all query instead of wildcard for …"

This reverts commit 4d9bcc6c44.
2025-03-13 02:08:56 +02:00
Pepe CanoandJohnny Kartheiser 64b65ffc72 docs(alerting): minor enhancements to intro concepts and example (#102023)
* docs(alerting): minor enhancements to intro concepts and example

* Update docs/sources/alerting/fundamentals/alert-rules/annotation-label.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

---------

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>
2025-03-12 22:04:26 +01:00
Pepe Cano 3e1513a6df docs(alerting): alert instance state resets when rule changes (#102038)
* docs(alerting): alert instance state resets when rule changes

* specify that annotations updates are not affected

* enumerate exception fields
2025-03-12 21:51:39 +01:00
Will Assis edb331dc00 fix(unified-storage): Fix legacysearch returning mismatched cell/column count in response (#102044)
Fix legacysearch returning less cells than column count in search response
2025-03-12 13:00:22 -07:00
owensmallwood 4d9bcc6c44 Revert "Unified Storage: Use match all query instead of wildcard for not-in requirement query" (#102058)
Revert "Unified Storage: Use match all query instead of wildcard for not-in r…"

This reverts commit 59d87fe3f1.
2025-03-12 12:28:49 -06:00
bfedf0b512 Dashboard: Redirect between v1alpha1 and v2alpha1 depending on stored version (#101292)
* wip: Create a proxy state manager to avoid complexity

* Read path redirecting

* add tests for unified dashboard API

* add tests

* Contemplate both formats in DashboardProxy

* Fix force old

* Fix tests for proxy

* catch errors

* Save as V2 when dynamic dashboard is enabled

* Improve tests

* Remove feature toggle

* Use kubernetesDashboards for e2e suite

* Fix issue when loading snapshots

* Fix typescript errors

* Integrate with backend conversion error

* Remove legacy annotation

* fix snapshot loading; lint

* Add missing hideTimeControls

* fix test

* make setupDashboardAPI to all suites

* refactor getDashboardAPI

* Add tests

* fix DashboardScenePage tests

* fix tests

* fix go tests

* Refactor to understand better the need of transforming to v2 to compare

* Fix detect changes logic

* yes status from schema gen

---------

Co-authored-by: alexandra vargas <alexa1866@gmail.com>
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
2025-03-12 11:43:32 -06:00
Jev ForsbergandKevin Minehart 0233c39a7f Chore: Add Enterprise unit testing path (#101748)
* Add backend unit tests for Grafana and Grafana Enterprise

---------

Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
2025-03-12 12:00:13 -05:00
Bogdan Matei f910238185 Dashboards: Fix crashing dashboards after save (#102048) 2025-03-12 18:41:39 +02:00
Eric Leijonmarck 94020aa9cd Config: Remove setting editors_can_admin (#101607)
* Remove editors can admin

* delete file

* add ac_test back

* Add linting ignore

* more static ignore
2025-03-12 16:25:23 +00:00
Sam Jewell 21b9d45ca6 SQL Expressions: Add CASE/WHEN nodes and fixes (and test) for functions just added to allowlist (#102040)
* SQL Expressions: Add CASE/WHEN SQL nodes to allowlist

* Fixed and test for functions added in #102011

* Add remaining functions to the test-case

These are mostly aliases, so the LLM chose to omit them originally.
But adding now for completeness

* Fix ordering of allowed nodes
2025-03-12 15:57:50 +00:00
Javier Ruiz fe8e4563bd [getTagValues] Ensure we're not using suggestions when no scopes are present (#102008)
Ensure we're not using suggestions when no scopes are present
2025-03-12 16:38:22 +01:00
Sonia AguilarandGilles De Mey ee2050d866 Alerting: Update docs for alert rule versions tab (#101998)
* Update docs for alert rule versions tab

* Update docs/sources/alerting/monitor-status/view-alert-rules.md

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2025-03-12 15:00:35 +00:00
Alex KhomenkoandRyan McKinley dacde69ffb Provisioning: Add hooks and utils (#101999)
* Provisioning: Add hooks and utils

* Fix folder API call

* Update public/app/features/provisioning/utils/git.ts

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>

* Fixes

* Remove unused import

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2025-03-12 08:57:40 -06:00
Peter Štibraný abe6a3121c spanner: disable recursive queries (#102032) 2025-03-12 15:43:06 +01:00
Peter Štibraný 9e1e338c5b signingkeys: Change PrivateKey struct type to string, to match TEXT type of SQL column in signing_keys table. (#102016) 2025-03-12 15:40:39 +01:00
Peter Štibraný f3df64b7f4 Pass BOOL values as real types (int/bool) instead of strings to SQL parameters. (#101961)
* Pass BOOL values as real types (int/bool) instead of strings to SQL parameters.

Fixes following integration tests when running with Spanner:
* TestIntegrationDataAccess
    * GetDataSourcesByType/Get_prunable_data_sources
* TestIntegrationUserAuthToken:
    * expires_correctly
    * can_properly_rotate_tokens
    *  keeps_prev_token_valid_for_1_minute_after_it_is_confirmed

* Fix more places where "true" or "false" string was passed as query parameter instead of bool value.

* Removed unit test because it brought unwanted dependencies on xorm into multiple modules.
2025-03-12 15:40:11 +01:00
Victor Marin d1a1c07bdd Dashboards: Fix inconsistent variable quoting for repeated panels (#102030)
* fix inconsistent variable quoting

* remove unnecessary code
2025-03-12 16:29:06 +02:00
Georges ChaudyandKarl Persson 1f637d07eb unistore: check namespace (#102020)
* check namespace in unistore

* fix tests

* fix trace status

* Use capital letter

---------

Co-authored-by: Karl Persson <23356117+kalleep@users.noreply.github.com>
2025-03-12 14:37:17 +01:00
Nick Richmond 00d9916113 ExploreMetrics: Preinstall metrics drilldown app (#100094)
* feat: preinstall metrics drilldown app

* refactor: simplify

* fix: read feature toggles before plugin settings
2025-03-12 09:23:10 -04:00
Ihor Yeromin b224751374 Table: Fix cell border visibility (#101951)
fix(table): cell border visibility
2025-03-12 14:21:15 +01:00
Yulia Shanyrova 3f2eb087ea Plugins: Update all core plugins with raise issue and docs links (#101929)
* update all core plugins with raise issue and docs links

* fix plugin loader test, run prettier

* fix test

* update test results for api plugin tests
2025-03-12 14:15:46 +01:00
Jack Westbrook c9f563e576 Grafana UI: Use package.json exports for internal code (#101815)
* feat(grafana-ui): introduce development exports to prevent importing from grafana/ui/src

* refactor(theme-generation): move theme templates into scripts so themes continue to build

* refactor(frontend): replace  grafana/ui paths that use nested src with /internal or /unstable

* chore(betterer): update better results file

* feat(grafana-ui): support enterprise, remove Text component from internal

* docs(packages): update readme with exporting code conventions
2025-03-12 14:14:32 +01:00
ismail simsek dcba71a0b0 Prometheus: Improve native histogram response parsing performance (#102024)
* introduce tests

* improve allocation by %61

* ~%27 improvement

goos: darwin
goarch: arm64
pkg: github.com/grafana/grafana/pkg/promlib/converter
cpu: Apple M1 Pro
                                                            │  pmem.0.txt  │             pmem.2.txt             │
                                                            │    sec/op    │   sec/op     vs base               │
ReadPrometheusStyleResult_FromFile/prom-query-range.json-10   117.72µ ± 6%   82.90µ ± 4%  -29.57% (p=0.002 n=6)

                                                            │  pmem.0.txt   │             pmem.2.txt              │
                                                            │     B/op      │     B/op      vs base               │
ReadPrometheusStyleResult_FromFile/prom-query-range.json-10   104.34Ki ± 0%   76.09Ki ± 0%  -27.08% (p=0.002 n=6)

                                                            │ pmem.0.txt  │            pmem.2.txt             │
                                                            │  allocs/op  │ allocs/op   vs base               │
ReadPrometheusStyleResult_FromFile/prom-query-range.json-10   2463.0 ± 0%   899.0 ± 0%  -63.50% (p=0.002 n=6)

* add more tests

* remove comment lines

* read string as slice to prevent type conversion

* golang lint

* revert appendValueFromString improvement

* fix merging issues

* improve native histogram response parsing
2025-03-12 14:12:24 +01:00
Kristina a484c2cb6f Docs: Remove reference to deleted feature flag in provisioning (#101983)
Remove reference to deprecated feature flag
2025-03-12 07:37:42 -05:00
ismail simsek f64be062c4 Prometheus: Improve response parser performance (#101517)
* introduce tests

* improve allocation by %61

* ~%27 improvement

goos: darwin
goarch: arm64
pkg: github.com/grafana/grafana/pkg/promlib/converter
cpu: Apple M1 Pro
                                                            │  pmem.0.txt  │             pmem.2.txt             │
                                                            │    sec/op    │   sec/op     vs base               │
ReadPrometheusStyleResult_FromFile/prom-query-range.json-10   117.72µ ± 6%   82.90µ ± 4%  -29.57% (p=0.002 n=6)

                                                            │  pmem.0.txt   │             pmem.2.txt              │
                                                            │     B/op      │     B/op      vs base               │
ReadPrometheusStyleResult_FromFile/prom-query-range.json-10   104.34Ki ± 0%   76.09Ki ± 0%  -27.08% (p=0.002 n=6)

                                                            │ pmem.0.txt  │            pmem.2.txt             │
                                                            │  allocs/op  │ allocs/op   vs base               │
ReadPrometheusStyleResult_FromFile/prom-query-range.json-10   2463.0 ± 0%   899.0 ± 0%  -63.50% (p=0.002 n=6)

* add more tests

* remove comment lines

* read string as slice to prevent type conversion

* golang lint

* revert appendValueFromString improvement

* fix merging issues
2025-03-12 13:16:19 +01:00
Ashley Harrison df0df68f30 Theme drawer tweaks (#102013)
tweaks for theme drawer
2025-03-12 11:42:07 +00:00
Sam Jewell 4bd5f29e05 SQL Expressions: Allow more functions (#102011)
I used Cursor and Claude 3.7 thinking to expand the list of functions
we allow. Specifically I needed `abs`.

TODO: Check each of these in the official MySQL docs to ensure they
are all safe:
eg. this doc: https://dev.mysql.com/doc/refman/8.4/en/flow-control-functions.html#operator_case
2025-03-12 11:39:48 +00:00
ismail simsek dacb25ec2a Prometheus: Add labels to all native histogram fields (#101812)
add labels to all histogram fields
2025-03-12 12:34:23 +01:00
Sam Jewell 8cc352f4ba SQL Expressions: Add syntax highlighting and autocomplete (#102018)
* SQL Expressions: Add syntax highlighting and autocomplete

Here we add syntax highlighting and autocomplete for MySQL dialect of
SQL. We don't yet have the full functionality that other SQL monaco
editors have, namely
- No autocomplete of table or column names
- No autoformatting yet (meaning no formatting of template variables)

But this is a vast improvement already. The above improvements can come
later - they are slightly harder to do.

* Improvements, based on review from LLM
2025-03-12 11:27:31 +00:00
Will Browne 5a2cba7b01 Plugins: Forward HTTP headers to plugin streaming calls (#101960)
* forward HTTP headers to plugin streaming calls

* fixup

* fix test based on feedback

* improve test assertions
2025-03-12 10:37:07 +00:00
Oscar Kilhed 8de665cbeb Dynamic dashboards: Persist library panels in responsive grid (#101802)
* persist library panels in responsive grid

* small refactoring of old grid

* remove unused imports
2025-03-12 11:09:42 +01:00