Compare commits

...

434 Commits

Author SHA1 Message Date
grafana-delivery-bot[bot]
277ef258d4 [v11.0.x] AuthN: Fix signout redirect url (#87681)
* AuthN: Fix signout redirect url (#87631)

* Add missing return

* Use sign out redirect url from auth config if configured

* remove option from auth.jwt that is not used

(cherry picked from commit 0f3080ecb8)

---------

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-05-13 09:34:53 +02:00
grafana-delivery-bot[bot]
c23435875d [v11.0.x] alerting: docs - pagerduty (#87672)
alerting: docs - pagerduty (#87604)

* alerting: docs - pagerduty

* pretty

(cherry picked from commit 7e8b71d882)

Co-authored-by: antonio <45235678+tonypowa@users.noreply.github.com>
2024-05-11 11:28:10 +02:00
grafana-delivery-bot[bot]
47f85d898b [v11.0.x] CloudMonitoring: Improve legacy query migrations (#87648)
CloudMonitoring: Improve legacy query migrations (#86069)

* Match backend and correctly migrate metricType

Update tests

* Ensure project is migrated or set if not defined

* Improve migrations logic

(cherry picked from commit 95667f6a53)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-05-10 17:45:21 +01:00
grafana-delivery-bot[bot]
e52d86e9bc [v11.0.x] Azure data sources: Set selected config type before save (#87632)
Azure data sources: Set selected config type before save (#87481)

* set selected config type before save

* use effect once and move in mssql

* add to prom

* Update ConfigurationEditor.tsx

* Update ConfigurationEditor.tsx

* Delete public/app/plugins/datasource/mssql/configuration/ConfigurationEditor.tsx

* omadsfdsa

* remove unneeded assign

(cherry picked from commit 5e19aa7bd1)

Co-authored-by: Andrew Hackmann <5140848+bossinc@users.noreply.github.com>
2024-05-10 17:09:02 +03:00
grafana-delivery-bot[bot]
587a1ef1de [v11.0.x] Chore: Add login protection when user is trying different uppercase letters (#87612)
Chore: Add login protection when user is trying different uppercase letters (#87588)

* add login protection when the user is trying different uppercase letters

(cherry picked from commit cd98aaf89b)

Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
2024-05-10 15:06:35 +03:00
Ivan Ortega Alba
e260d13a65 [v11.0.x] Dashboard scene: Discard panel changes disabled/enabled depending of changes (#87570)
* DashboardScene: Discard panel changes disabled/enabled depending of changes (#87137)

---------

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
(cherry picked from commit c3936bbae2)

* Add line number

---------

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2024-05-10 14:41:30 +03:00
grafana-delivery-bot[bot]
67aa2aa826 [v11.0.x] Loki: Fix log context when no label types are present (#87600)
Loki: Fix log context when no label types are present (#87587)

(cherry picked from commit 1c8a77a43d)

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2024-05-10 13:11:56 +03:00
grafana-delivery-bot[bot]
f6668aae97 [v11.0.x] Chore: Implement GetOAuthProviders in FakeSocialService (#87591)
Chore: Implement GetOAuthProviders in FakeSocialService (#87590)

Implement GetOAuthProviders in FakeSocialService

(cherry picked from commit 896882b004)

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2024-05-10 12:05:51 +03:00
grafana-delivery-bot[bot]
50400c8915 [v11.0.x] Canvas: Improve connection vertex logic (#87581)
Canvas: Improve connection vertex logic (#87580)

Canvas: Prevent machine error causing logic swap
(cherry picked from commit dfdf119f7f)

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2024-05-09 15:48:45 -07:00
grafana-delivery-bot[bot]
11e83015bf [v11.0.x] Canvas: Fix datalinks using field variable (#87275)
Canvas: Fix datalinks using field variable (#87265)

(cherry picked from commit 6c7485129b)

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2024-05-09 11:41:28 -07:00
grafana-delivery-bot[bot]
0a2f239744 [v11.0.x] Alerting: Add two sets of provisioning actions for rules and notifications (#87572)
Alerting: Add two sets of provisioning actions for rules and notifications  (#87149)

(cherry picked from commit 356a29592b)

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2024-05-09 14:24:59 -04:00
grafana-delivery-bot[bot]
0bf33a4bf6 [v11.0.x] Canvas: Fix bug for connection first vertex (#87569)
Canvas: Fix bug for connection first vertex (#87534)

(cherry picked from commit 06a27911a4)

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2024-05-09 10:52:00 -07:00
grafana-delivery-bot[bot]
bda261b744 [v11.0.x] Templating: Fix issue where updated custom var options weren't persisted (#87556)
Templating: Fix issue where updated custom var options weren't persisted (#86804)

* Templating: Fix issue where updated custom var options weren't persisted

(cherry picked from commit d5c781b9c5)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2024-05-09 16:29:07 +03:00
antonio
376c99b70f alerting: webhook doc update (#87492) (#87549)
alerting/webhook doc update (#87492)

* alerting/webhook doc update

* text formath

* fixed admonition

* typo

* headings

* formatted headings and prettified it all

* one more heading

(cherry picked from commit d83cbe4d85)
2024-05-09 14:01:05 +02:00
Scott Lepper
9bc98bcb9d Sql Expressions: use display name for sql tables (#87530) (#87531)
(cherry picked from commit 4b38253b20)
2024-05-08 17:15:16 -04:00
Stephanie Hingtgen
42da106097 [v11.0.x] Chore: Upgrade go to 1.21.10 (#87472)
* Chore: upgrade go to 1.20.10

* sign drone

---------

Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
2024-05-08 10:05:12 -05:00
grafana-delivery-bot[bot]
050ff6d4bb [v11.0.x] DashboardScene: Fixes editing transformations after toggling table view (#87485)
DashboardScene: Fixes editing transformations after toggling table view (#87397)

(cherry picked from commit 0c2f58bdae)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-05-08 09:41:07 +02:00
grafana-delivery-bot[bot]
2f6080211a [v11.0.x] DashboardDataSource: Fixes issue where sometimes untransformed data could be returned (#87484)
DashboardDataSource: Fixes issue where sometimes untransformed data could be returned  (#87433)

* DashboardDataSource: always return a result key

* Update

* Update

(cherry picked from commit e7c39f18be)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-05-08 08:58:04 +02:00
grafana-delivery-bot[bot]
60611c56eb [v11.0.x] Provisioning: Look up provisioned folders by UID when possible (#87468)
Provisioning: Look up provisioned folders by UID when possible (#87465)

look up provisioned folders by uid when possible

(cherry picked from commit 1884b03511)

Co-authored-by: Dan Cech <dcech@grafana.com>
2024-05-07 22:57:39 +03:00
grafana-delivery-bot[bot]
9f15deb1cb [v11.0.x] alerting: config notif page improvement (#87415)
alerting: config notif page improvement (#87140)

* alerting: config notif page improvement

* Update docs/sources/alerting/configure-notifications/template-notifications/_index.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update _index.md

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
(cherry picked from commit 1bde17c8d5)

Co-authored-by: antonio <45235678+tonypowa@users.noreply.github.com>
2024-05-07 10:32:15 +02:00
grafana-delivery-bot[bot]
d71892990e [v11.0.x] Alerting: Also fix HCL field name for MuteTimeIntervals (#87143)
Alerting: Also fix HCL field name for MuteTimeIntervals (#87079)

* Correct HCL field name for MuteTimeIntervals

* Update test

(cherry picked from commit 93519f70ca)

Co-authored-by: William Wernert <william.wernert@grafana.com>
2024-05-06 10:22:24 -04:00
grafana-delivery-bot[bot]
9ad215f6df [v11.0.x] Docs: added note to RBAC doc from support escalation (#87374)
Docs:  added note to RBAC doc from support escalation (#85311)

* added admonition and API info

* Update docs/sources/administration/roles-and-permissions/access-control/_index.md

---------

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
(cherry picked from commit 57038e8dfa)

Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
2024-05-06 09:57:02 +02:00
grafana-delivery-bot[bot]
b517c94084 [v11.0.x] Canvas: Add support to rotate a group of elements (#87362)
Canvas: Add support to rotate a group of elements (#87358)

(cherry picked from commit 1ef1cc7e3f)

Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
2024-05-04 02:16:17 +03:00
grafana-delivery-bot[bot]
ce5735d578 [v11.0.x] XY Chart: Prevent crash when deleting a series (#87357)
XY Chart: Prevent crash when deleting a series  (#87356)

(cherry picked from commit 7bcda34b55)

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2024-05-04 01:38:50 +03:00
grafana-delivery-bot[bot]
ec1698a9da [v11.0.x] Canvas: Fix phantom connections persisting after element deletion (#87355)
Canvas: Fix phantom connections persisting after element deletion (#87285)

(cherry picked from commit 68fa2110d6)

Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
2024-05-04 00:37:39 +03:00
Isabella Siu
21d7f1f505 [v11.0.x] Cloudwatch: Update grafana-aws-sdk to fix sts endpoints (#87345)
Cloudwatch: Update grafana-aws-sdk to fix sts endpoints
2024-05-03 16:48:58 -04:00
grafana-delivery-bot[bot]
8e777d54e9 [v11.0.x] Docs: add data link cell type information (#87354)
Docs: add data link cell type information (#87350)

Add data link cell type information

(cherry picked from commit 386baf83cd)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-05-03 16:33:40 -04:00
grafana-delivery-bot[bot]
4748dc67a2 [v11.0.x] datatrails: reloaded trail bugs related to no selected metric (#87346)
datatrails: reloaded trail bugs related to no selected metric (#87344)

* fix: reloaded scene first step topScene

The top scene was not being initialized
when reloading trails, causing it to use
the top scene of whatever was selected
previously.

* fix: select new metric node not reloading right

On reloading trails, any metric node that
was 'green' with a undefined metric due to
clicking on the "select new metric" button,
was reloading with the metric of the step
directly before it (in index order).

(cherry picked from commit e9b932c8f6)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-05-03 21:47:03 +03:00
grafana-delivery-bot[bot]
5bbe953b0f [v11.0.x] datatrails: only fetch metrics metadata when using the language provider, avoid redundant fetch of metric names (#87340)
datatrails: only fetch metrics metadata when using the language provider, avoid redundant fetch of metric names (#87067)

* fix: only fetch metrics metadata, not metric names

(cherry picked from commit f93c330b66)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-05-03 19:41:09 +03:00
grafana-delivery-bot[bot]
9a1d8c27a2 [v11.0.x] datatrails: quick bugfix: handle undefined step (#87338)
datatrails: quick bugfix: handle undefined step (#87337)

fix: handle undefined step
(cherry picked from commit 6524febbd4)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-05-03 19:40:15 +03:00
Sergej-Vlasov
480ef44edf DashboardScene: Restrict dashboard in read only state (#87316) (#87335)
---------

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
(cherry picked from commit 6433053479)
2024-05-03 19:12:30 +03:00
Darren Janeczek
31b6fcbe5b [v11.0.x] scenes: update to v4.14.0: opt-in to (#87334)
scenes: update to v4.14.0: opt-in to `useQueriesAsFilterForOptions` (#87244)

* fix: opt-in to `useQueriesAsFilterForOptions`

With updating the scenes library, dashboards must now explicitly
opt in to `useQueriesAsFilterForOptions`.

(cherry picked from commit 5b424ed6bb)
2024-05-03 19:09:39 +03:00
grafana-delivery-bot[bot]
9af0cd5844 [v11.0.x] datatrails: recently loaded trails modify parent variables when making new steps (#87333)
datatrails: recently loaded trails modify parent variables when making new steps (#87284)

* fix: loaded trails modified parent var on new step

This ensures that recently loaded trails won't have variable changes
which create new steps modify the previous step.

(cherry picked from commit 046eedaa4c)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-05-03 18:55:18 +03:00
grafana-delivery-bot[bot]
24784583be [v11.0.x] DashboardScene: Fixes minor issue transitioning between dashboards (#86475)
DashboardScene: Fixes minor issue transitioning between dashboards (#86262)

* DashboardScene: Fixes minor issue transitioning between dashboards

* Update

(cherry picked from commit a8b81e1481)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-05-03 17:27:14 +02:00
grafana-delivery-bot[bot]
a4eb6c2ab6 [v11.0.x] DashboardScene: Measure and report scene load time (#86836)
DashboardScene: Measure and report scene load time (#86267)

* measure scene load time

* Fix tests that fail due to performance not being the proper global performance object in jest

* add isScene parameter to tracking test

(cherry picked from commit e7f40493e4)

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2024-05-03 16:54:53 +02:00
Scott Lepper
59eea3920d sql expressions - Backport 87277 to v11.0.x (#87315)
sql expressions: improve parser (#87277)

(cherry picked from commit 1a2bbd61fd)
2024-05-03 09:52:13 -04:00
grafana-delivery-bot[bot]
9db35835e5 [v11.0.x] Datatrails: Fix overflow of labels (#87313)
Datatrails: Fix overflow of labels (#87301)

Fix overflow of labels

(cherry picked from commit 9fbca6c035)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-05-03 16:44:12 +03:00
Scott Lepper
1d2e581a39 sql expressions - Backport 87263 to v11.0.x (#87312)
fix: sql expressions parser with join (#87263)

(cherry picked from commit cbe3e3a5e0)
2024-05-03 09:29:48 -04:00
grafana-delivery-bot[bot]
1c801e283f [v11.0.x] fix: sql expressions - sql parser table name case (#87305)
fix: sql expressions - sql parser table name case (#87196)

* fix: sql parser table name case

(cherry picked from commit 4fd2cb6014)

Co-authored-by: Scott Lepper <scott.lepper@gmail.com>
2024-05-03 15:58:23 +03:00
grafana-delivery-bot[bot]
5b5032c7b8 [v11.0.x] Alerting: Fix max alerts (#87300)
Alerting: Fix max alerts (#87271)

(cherry picked from commit 12fa9e56e6)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-05-03 14:40:39 +03:00
grafana-delivery-bot[bot]
cc53e4fc38 [v11.0.x] InfluxDB: Support cardinality queries with backend mode (#87297)
InfluxDB: Support cardinality queries with backend mode (#87264)

support cardinality queries

(cherry picked from commit 3317691615)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-05-03 13:30:08 +02:00
grafana-delivery-bot[bot]
2eeab8c02a [v11.0.x] Scenes/Dashboard: Fix issue where changes to panel in row weren't detected in panel edit (#87293)
Dashboard: Fix issue where changes to panel in row weren't detected in panel edit (#87195)

Closes #87171

(cherry picked from commit b3f173f153)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2024-05-03 13:10:58 +03:00
grafana-delivery-bot[bot]
31e116f3d8 [v11.0.x] docs: update flame graph visualization (#87269)
docs: update flame graph visualization (#86615)

* docs: update flame graph visualization

* fix: linting issues

* docs: add example data

* Apply suggestions from code review

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* Removed Wikipedia link

* Fixed punctuation

* Updated max image width

* Update docs/sources/panels-visualizations/visualizations/flame-graph/index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* fix: linting issues

* docs: add links to pyroscope docs about flame graph and profile types

* Ran prettier

* docs: add flame graph video

* Updated wording

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
(cherry picked from commit 7db41222c6)

Co-authored-by: Marie Cruz <mdcruz@users.noreply.github.com>
2024-05-02 14:10:57 -04:00
grafana-delivery-bot[bot]
445f4135d8 [v11.0.x] Select: Fixes issue preserving search term (input) when selecting a value (#87249) 2024-05-02 18:44:34 +02:00
grafana-delivery-bot[bot]
d56c3a0539 [v11.0.x] Scenes: Adjust styles to allow shrinking of variable selectors (#87251)
Scenes: Adjust styles to allow shrinking of variable selectors (#87085)

(cherry picked from commit bc9010a95b)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2024-05-02 17:42:58 +01:00
grafana-delivery-bot[bot]
e103995b9f [v11.0.x] Docs: Fix link to values.yaml file (#87256)
Docs: Fix link to values.yaml file (#87014)

Fix link to values.yaml file

Linking to the "edit" URL fails if the reader doesn't have write access
to the repo: they'll be prompted to fork the repo or to sign in to
GitHub. Instead link to the "blob" URL which is accessible to all
readers.

(cherry picked from commit 64d5440c5a)

Co-authored-by: Nicholas P. Cole <nicholas@nicholaspcole.com>
2024-05-02 10:47:00 -05:00
grafana-delivery-bot[bot]
860f264be6 [v11.0.x] DashboardScenes: Pin go version to go.mod file in scenes e2e workflow (#87246)
DashboardScenes: Pin go version to go.mod file in scenes e2e workflow (#87238)

* adjust workflow to use correct go version

* finalise wokflow adjustments

(cherry picked from commit 838e36bd99)

Co-authored-by: Sergej-Vlasov <37613182+Sergej-Vlasov@users.noreply.github.com>
2024-05-02 18:35:01 +03:00
grafana-delivery-bot[bot]
c40273983e [v11.0.x] Alerting: Prevent search from locking the browser (#87230)
Alerting: Prevent search from locking the browser (#87132)

(cherry picked from commit 1d06f33a8e)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-05-02 16:42:56 +02:00
grafana-delivery-bot[bot]
561662ae86 [v11.0.x] Dashboard Scene: Chore - Add missing unit test to PanelDataQueryTab (#87239)
Dashboard Scene: Chore - Add missing unit test to PanelDataQueryTab (#87139)

* Create basic structure PanelDataQueriesTab unit test

* Add more test cases to the PanelDataQueriesTab test

* Update public/app/features/dashboard-scene/panel-edit/VizPanelManager.tsx

(cherry picked from commit eae1cafebd)

Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>
2024-05-02 17:11:00 +03:00
grafana-delivery-bot[bot]
39c9096a87 [v11.0.x] Dashboard: POC to run existing e2e with dashboardScene feature toggle (#87237)
Dashboard: POC to run existing e2e with `dashboardScene` feature toggle (#84598)

* Standarize e2e for addDashbaord e2e flow

* WIP: Duplicate e2e dashboard flows and smoke test for scene e2e tests

* Fix autoformatting mistake for bash file

* Enable dashboardScene using local storage and only for the scene folder

* Add missing folders

* Set the feature toggle in the before of all tests

* Revert "Standarize e2e for addDashbaord e2e flow"

This reverts commit 6b9ea9d5a4.

* Add missing e2e selectors to NavToolbarActions, and modify addDashboard scene flow

* e2e: panels_smokescreen.spec.ts migrated

* e2e smokeTestSceneario migrated

* Start migrating dashbaord-suite e2e

* WIP create variable types

* adjust tests for scenes

* restore dashboard json file

* update scenes version

* restore pkg/build/wire/internal/wire/testdata modifications

* finalising test adjusments

* restore pkg/build/wire/internal/wire/testdata files

* add latest scenes version and update tests

* add drone setup for dashboard scenes tests

* update to latest scenes version

* adjust drone errors

* adjust indentation in drone yml file

* drone adjustments

* add github workflow to run scenes e2e

* restore drone file

* adjust github workflow

* wip: github workflow adjustments

* test remove gpu

* bump

* undo formating changes

* wip: github workflow debugging

* adjusting flaky tests

* update to latest scenes

* clean up workflow file

* adjust flaky test

* clean up pr

* finalise worflow logic and add to codeowners

* clean up launching old arch dashboards e2e separately

---------

Co-authored-by: Sergej-Vlasov <sergej.s.vlasov@gmail.com>
Co-authored-by: Jeff Levin <jeff@levinology.com>
(cherry picked from commit 9ea1042329)

Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>
2024-05-02 16:56:31 +03:00
grafana-delivery-bot[bot]
32a4cc45bf [v11.0.x] DashboardScene: adjust lib panel as a dashboard datasource refresh logic (#87232)
DashboardScene: adjust lib panel as a dashboard datasource refresh logic (#87120)

* activate library viz panel and adjust id extractor

* revert parts that are fixed in #87125

* clean up after activation handler

(cherry picked from commit afbd02c4ec)

Co-authored-by: Sergej-Vlasov <37613182+Sergej-Vlasov@users.noreply.github.com>
2024-05-02 16:52:47 +03:00
grafana-delivery-bot[bot]
34f8aa21a1 [v11.0.x] Dashboard Scene - Variable Fix: cancel out margin-bottom of placeholder in loading state (#87113)
Dashboard Scene - Variable Fix: cancel out margin-bottom of placeholder in loading state (#87107)

fix: cancel out margin-bottom of placeholder in loading state
(cherry picked from commit 6dbc44920c)

Co-authored-by: Tim Mulqueen <Multimo@users.noreply.github.com>
2024-05-02 14:51:42 +02:00
grafana-delivery-bot[bot]
25390d2fab [v11.0.x] DashboardQueryEditor: Adjust options filtering in scenes (#87228)
DashboardQueryEditor: Adjust options filtering in scenes (#87174)

adjust options filtering for dashboard datasource in scenes

(cherry picked from commit 37ca484aad)

Co-authored-by: Sergej-Vlasov <37613182+Sergej-Vlasov@users.noreply.github.com>
2024-05-02 15:28:30 +03:00
grafana-delivery-bot[bot]
b630e6d6ab [v11.0.x] DashboardScene: Remove min height on viz picker scroll container (#87227)
DashboardScene: Remove min height on viz picker scroll container (#87172)

removed min height prop

(cherry picked from commit 4d37e11ce9)

Co-authored-by: Sergej-Vlasov <37613182+Sergej-Vlasov@users.noreply.github.com>
2024-05-02 15:26:52 +03:00
Eric Leijonmarck
b219aa7688 [v11.0.x] Auth: Force lowercase login/email for users (#86985)
Auth: Force lowercase login/email for users (#86359)

* [WIP]: Force lowercase login/email for user CRUD

* warn and remove use of userCaseInsensitiveLogin check

* remove log warning

* reimplementation of the caseinsensitive

* need to decide if we want the conflict check or not

* remvoved the tests for conflict user by getEmail, getLogin

* added tests for user lowercase migration

* wip: emails next

* tests for email lowercasing

* review comments

* optimized login and email lookup before migrating

(cherry picked from commit e394e16073)
2024-05-02 13:05:25 +01:00
grafana-delivery-bot[bot]
f0302dd2d7 [v11.0.x] Update doc-validator workflow to support ref URIs (#87177)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-05-02 12:26:08 +01:00
grafana-delivery-bot[bot]
d47310e457 [v11.0.x] RBAC: Do not set permissions on data sources with wildcard UID in OSS (#87222)
RBAC: Do not set permissions on data sources with wildcard UID in OSS (#87220)

do not set permissions on DS with wildcard UID

(cherry picked from commit 28dd1ddd8e)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2024-05-02 13:36:10 +03:00
grafana-delivery-bot[bot]
936cfb2e32 [v11.0.x] Docs: add standard options shared content (#87207)
Docs: add standard options shared content (#87199)

* Added standard options shared file

* Added missing option to shared file and added shared file link to visualizations pages

* Fixed links

(cherry picked from commit 90b594e998)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-05-01 18:39:40 -04:00
grafana-delivery-bot[bot]
daf9d8f884 [v11.0.x] Docs: add field overrides shared content (#87205)
Docs: add field overrides shared content (#87197)

* Added field overrides shared file

* Added link to overrides file in visualizations pages

* ihm/010524-field-override-shared-content/ run lint

---------

Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
(cherry picked from commit d5cfcc8187)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-05-01 18:15:13 -04:00
grafana-delivery-bot[bot]
1435180f50 [v11.0.x] Docs: Add data links shared content (#87200)
Docs: Add data links shared content (#86893)

* Added data link options shared file and added file to relevant visualizations

* Updated some text and links in canvas

* Added shared file to xy chart

* Fixed list of visualizations using shared file

* Removed unneeded level offset

* Removed future tense

* Update data links description

* Updated wording

* Removed redundant sentence

(cherry picked from commit 1ef0e240e9)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-05-01 16:56:40 -04:00
grafana-delivery-bot[bot]
08b6bc7a1d [v11.0.x] XYChart2: Fix migration of pointSize fieldConfig (#87193)
XYChart: Fix default point size (#87192)

(cherry picked from commit ee4422d1e2)

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2024-05-01 21:36:35 +03:00
grafana-delivery-bot[bot]
289ea7c22e [v11.0.x] XY Chart: Show mapped size/color fields in tooltip (#87183) 2024-05-01 18:11:54 +03:00
grafana-delivery-bot[bot]
7c1cc61fb8 [v11.0.x] DashboardScene: Fixes issue referring to library panel in dashboard data source (#87173)
DashboardScene: Fixes issue referring to library panel in dashboard data source  (#87125)

* DashboardScene: Fixes issue using a library panel as source for dashboard data source

* Added test

(cherry picked from commit 4034a26972)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-05-01 15:25:41 +02:00
grafana-delivery-bot[bot]
a8cd6d9025 [v11.0.x] DashboardScene: Fixes issue with panel edit options pane and data (#87165)
DashboardScene: Fixes issue with panel edit options pane and data (#87161)

(cherry picked from commit 7a5c17d613)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-05-01 14:31:22 +02:00
Misi
265c27b97a [v11.0.x] Chore: Remove extra sql select from the Insert function of userimpl.store (#87163)
Chore: Remove extra sql select from the Insert function of userimpl.store (#87060)

Remove getAnyUserType

(cherry picked from commit 1cb3f332a1)
2024-05-01 10:12:00 +02:00
grafana-delivery-bot[bot]
7de2728684 [v11.0.x] Docs: Add thresholds shared content (#87154)
Docs: Add thresholds shared content (#87009)

* Added thresholds shared files

* Added shared files to visualizations and updated shared files

* Removed future tense

* Fixed prettier

(cherry picked from commit 406fe8c85a)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-30 16:37:13 -04:00
grafana-delivery-bot[bot]
7499b508e1 [v11.0.x] Docs: add legends shared content (#87152)
Docs: add legends shared content (#86814)

* Updated shared file name and added missing options

* Added legend options 1 shared file to relevant visualizations

* Updated shared file name and corrected options

* Added legend options 2 shared file to relevant visualizations

* Updated legend content for heatmap and pie chart

* Added where shared legend files are used in each file

* Moved intro text out of viz pages into legend options shared files

* Added reasoning to front matter of shared files

* Added reasoning to front matter of shared files

* Fixed version interpolation and added cloud links

* Updated links in shared files

(cherry picked from commit dad3069594)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-30 16:06:21 -04:00
grafana-delivery-bot[bot]
f1a2fe731b [v11.0.x] XYChart2: Fix tooltip mode (#87151) 2024-04-30 21:37:14 +03:00
grafana-delivery-bot[bot]
363e21a63d [v11.0.x] Data source: Maintain the default data source permissions when switching from unlicensed to licensed Grafana (#87142)
* Data source: Maintain the default data source permissions when switching from unlicensed to licensed Grafana (#87119)

set managed data source permissions upon resource creation for unlicensed Grafana, remove them on deletion

(cherry picked from commit 5e060d2d99)

* remove code for older version

---------

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2024-04-30 17:34:51 +01:00
grafana-delivery-bot[bot]
d95cbb7e38 [v11.0.x] Alerting: Use expected field name for receiver in HCL export (#87075)
Alerting: Use expected field name for receiver in HCL export (#87065)

* Use expected field name for receiver in hcl

Terraform provider expects `contact_point` instead of `receiver` in
notification settings on a rule.

(cherry picked from commit 70ff229bed)

Co-authored-by: William Wernert <william.wernert@grafana.com>
2024-04-30 11:00:17 -04:00
Gilles De Mey
02586f82d4 [v11.0.x] Alerting: Allow deleting contact points referenced only by auto-generated policies (#87115)
Alerting: Allow deleting contact points referenced only by auto-generated policies (#86800)

(cherry picked from commit b679a32fad)
2024-04-30 10:43:31 +01:00
grafana-delivery-bot[bot]
a24940bfd7 [v11.0.x] Heatmap: Fix histogram highlighted series (#87092)
Heatmap: Fix histogram highlighted series (#86955)

(cherry picked from commit e3719471d5)

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2024-04-29 22:21:15 +01:00
Scott Lepper
04d6463abb Backport 87073 to v11.0.x (#87078)
* Chore: Update go-duck dependency to v0.0.18 (#87073)

* Chore: Update go-duck dependency to v0.0.18

(cherry picked from commit 7505af2886)

* backport

* go mod tidy

* remove wrong import
2024-04-29 15:37:20 -04:00
grafana-delivery-bot[bot]
713cea3d2f [v11.0.x] Alerting: Improve error when receiver or time interval used by rule is deleted (#87070)
Alerting: Improve error when receiver or time interval used by rule is deleted (#86865)

* Alerting: Improve error when receiver used by rule is deleted

* Remove RuleUID from public error and data

* Improve fallback error in am config post

* Refactor to expand to time intervals

* Fix message on unchecked errors to be same as before

(cherry picked from commit 3397e8bf09)

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2024-04-29 13:36:09 -04:00
grafana-delivery-bot[bot]
917f53dc1f [v11.0.x] Auth: Sign sigV4 request after adding headers (#87072)
Auth: Sign sigV4 request after adding headers (#87063)

(cherry picked from commit 7b392d40a0)

Co-authored-by: Isabella Siu <Isabella.siu@grafana.com>
2024-04-29 13:28:52 -04:00
grafana-delivery-bot[bot]
e8adea6eeb [v11.0.x] Docs: Update Explore Metrics doc based on feedback (#87074)
Docs: Update Explore Metrics doc based on feedback (#87062)

* changed from private preview to public preview

* commented out pivot to logs and traces

(cherry picked from commit 3845033308)

Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
2024-04-29 18:13:16 +01:00
grafana-delivery-bot[bot]
877ce6e3cf [v11.0.x] Canvas: Fix connection hyperbolic bug (#87066)
Canvas: Fix connection hyperbolic bug (#87002)

* Canvas: Connection original persistence check

* Canvas: Fix connection hyperbolic bug

(cherry picked from commit 49fbe970fb)

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2024-04-29 10:08:27 -07:00
grafana-delivery-bot[bot]
73f86f1a7d [v11.0.x] Canvas: Connection original persistence check (#87061)
Canvas: Connection original persistence check (#86476)

* Canvas: Connection original persistence check

* modify current connection state directly instead of copying and needing to call "onChange"

---------

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
(cherry picked from commit 7590f4afe1)

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2024-04-29 08:57:17 -07:00
Mihai Doarna
9a91f303be [backport to v11.0] SSO: add SSO settings to secrets migrator (#86913) (#86939)
SSO: add SSO settings to secrets migrator (#86913)

* add sso settings to secrets migrator

* unify SSO settings in all log lines

(cherry picked from commit 4bf9405ce4)
2024-04-29 18:42:47 +03:00
grafana-delivery-bot[bot]
e5e6981c9d [v11.0.x] DashboardScene: Fixes issues with relative time range in panel edit (#87026)
DashboardScene: Fixes issues with relative time range in panel edit (#86862)

* DashboardScene: Fixes deleting dirty dashboard

* Update

* Progress

* Update

* Update

* Update

* Update

* Update

* Update

* update

* Update

(cherry picked from commit a4bb4c8400)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-04-29 15:33:23 +02:00
Ashley Harrison
e0a06c6090 [v11.0.x] DateTimePicker: Alternate timezones now behave correctly (#87041)
DateTimePicker: Alternate timezones now behave correctly (#86750)

* Add failing tests for timezone handling

* Fix `DateTimePicker.tsx` timezone handling

- Resolves `onBlur` issue
- Resolve Calendar and TimeOfDay issues
- Update test to cover different timezone

* Handle `console.warn` in test

* Handle `console.warn` in test #2

* Better handling of invalid date

When parsing date string with `dateTime`, adding a second `formatInput` aids in both parsing the actual string and avoid `console.warn` when `moment` reverts to be using `Date`.

* add more test cases

* Ash/proposed changes (#86854)

* simplify

* only need this change

* formatting

* const > let

* add test to ensure calendar is always showing the matching day

* separate state

* undo story changes

* update util function comments

* fix for selecting date in the calendar

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
(cherry picked from commit 7fab894e9b)

Co-authored-by: Thomas Wikman <thomas@w1kman.se>
2024-04-29 11:42:18 +01:00
grafana-delivery-bot[bot]
8187058e9d [v11.0.x] Docs: Create the Azure AD application section has outdated information. (#87034)
Docs: Create the Azure AD application section has outdated information. (#71498)

Update index.md

(cherry picked from commit ccd2bff8b0)

Co-authored-by: Dai Nguyen <88277570+ej25a@users.noreply.github.com>
2024-04-29 10:33:33 +01:00
grafana-delivery-bot[bot]
c5f186fa22 [v11.0.x] DashboardDataSourceBehaviour: Handle loading library panel (#87023)
DashboardDataSourceBehaviour: Handle loading library panel (#86980)

* DashboardDataSourceBehaviour: Handle loading library panel

* Remove timeout

* FIx test

(cherry picked from commit 67968df70e)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2024-04-29 11:12:20 +02:00
grafana-delivery-bot[bot]
5749f36f52 [v11.0.x] Dashboard scenes: Fix min interval not saving (#87022)
Dashboard scenes: Fix min interval not saving (#86962)

* Fix min interval not saving

* Add tests

* Fix test

(cherry picked from commit fdc1023586)

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2024-04-29 10:50:34 +02:00
grafana-delivery-bot[bot]
cb49b93146 [v11.0.x] DashboardScene: Fixes issue with dashboard links and variables (#87025)
DashboardScene: Fixes issue with dashboard links and variables (#86910)

* DashboardScene: Fixes issue with dashboard links and variables

* Update

(cherry picked from commit 01f8301504)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-04-29 09:45:50 +01:00
grafana-delivery-bot[bot]
0e8622ec0a [v11.0.x] Home dashboard test (#87024)
Home dashboard test (#86961)

home dashboard test

(cherry picked from commit 8705e03d57)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2024-04-29 09:13:15 +01:00
grafana-delivery-bot[bot]
452be5b172 [v11.0.x] Docs: Add value mappings shared content (#87010)
Docs: Add value mappings shared content (#86996)

* Added value mappings shared file

* Fixed name of file

* Fixed list of visualizations using shared file

* Added shared file to visualizations

* Updated shared file and added to canvas

* Updated shared file intro text

* Removed future tense

(cherry picked from commit d5fde99c6d)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-26 14:36:08 -04:00
grafana-delivery-bot[bot]
ff73704834 [v11.0.x] Scenes/PanelVizTypePicker: Use default tab if listMode is unsupported (#87006)
Scenes/PanelVizTypePicker: Use default tab if listMode is unsupported (#86885)

Closes #84565

(cherry picked from commit 1dbb3bfdea)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2024-04-26 19:00:26 +01:00
grafana-delivery-bot[bot]
345a40815b [v11.0.x] Dasbhoard scenes: Don't return null when uids are not matching for new dashboards (#87001)
Dasbhoard scenes: Don't return null when uids are not matching for new dashboards (#86998)

Don't return null when uids not matching for new dashboards

(cherry picked from commit c3cde17b33)

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2024-04-26 18:48:53 +01:00
grafana-delivery-bot[bot]
6a79482d18 [v11.0.x] datatrails: fix bookmark/recent trail detection, prevent duplications, save trail on browser close/reload (#87004)
datatrails: fix bookmark/recent trail detection, prevent duplications, save trail on browser close/reload (#85677)

* fix: persistence trail detection, save on unload

- fixes detection on bookmarks and recents when current step isn't final
- now save current trail on browser close or reload (unload)
- refresh page or return to URL that corresponds to a recent trail will
   resume that trail instead of creating a duplicate recent trail
- do not create a recent trail out of an empty starting trail

* fix: bookmarks status after making new step

- clone bookmark trail state to prevent it from being changed by user
- re-evaluate bookmark status after creating new step

(cherry picked from commit 9af4607e78)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-04-26 18:26:28 +01:00
grafana-delivery-bot[bot]
f06fd82965 [v11.0.x] DataTrails: Exploring alternatives to history issues (#87003)
DataTrails: Exploring alternatives to history issues (#86843)

* DataTrails: Exploring alternatives to history issues

* incorporated unit tests from #86817 and #86741

---------

Co-authored-by: Darren Janeczek <darren.janeczek@grafana.com>
(cherry picked from commit c965c27994)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-04-26 13:04:45 -04:00
grafana-delivery-bot[bot]
aba28bef77 [v11.0.x] Explore: add links to metrics and correlations editor to Explore (#86925) 2024-04-26 09:57:54 +02:00
Darren Janeczek
68c8c1f007 [v11.0.x] Tooltips: Ensure new viz tooltips are visible within modals (alternative solution) (#86954)
Tooltips: Ensure new viz tooltips are visible within modals (alternative solution) (#86716)

fix: ensure new viz tooltips are visible within modals

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
(cherry picked from commit ff761bb7d6)
2024-04-25 21:55:44 +01:00
grafana-delivery-bot[bot]
e151121cc2 [v11.0.x] Migrations: Graph (old) percent stacked (#86945)
Migrations: Graph (old) percent stacked (#84335)

(cherry picked from commit d1b67847a2)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-04-25 19:10:20 +01:00
grafana-delivery-bot[bot]
80f3aded4e [v11.0.x] Canvas: Add flowchart example to gdev (#86935)
Canvas: Add flowchart example to gdev (#85417)

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
(cherry picked from commit 3703196e24)

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2024-04-25 08:38:07 -07:00
grafana-delivery-bot[bot]
eb0f14503f [v11.0.x] Canvas: Ensure tangency for first segment (#86934)
Canvas: Ensure tangency for first segment (#86543)

(cherry picked from commit 173ba73a8a)

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2024-04-25 08:32:58 -07:00
grafana-delivery-bot[bot]
b95072dad2 [v11.0.x] Canvas: Fix division by zero (#86932)
Canvas: Fix division by zero (#85443)

* Canvas: Fix division by zero

* Fix last add vertex control

* Apply fix to existing vertices

* Apply deltas to temporary paths

* Persist original source and target coorindates

* Add follow up TODO

* Update connection svg to handle originals

* Get rid of minimum constraints for deltas

* Apply persist coordinate system to vertex handlers

* Consolidate and rename selected value

* Update connection arcs to use new coordinates

* fix editor crashing with scenes

---------

Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
(cherry picked from commit ed8eacbc7e)

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2024-04-25 08:14:36 -07:00
grafana-delivery-bot[bot]
ac7082d039 [v11.0.x] Canvas: Render selected connection last (#86931)
Canvas: Render selected connection last (#85492)

(cherry picked from commit d91dbbbef5)

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2024-04-25 07:51:11 -07:00
grafana-delivery-bot[bot]
188c4a39e9 [v11.0.x] Dashboard: Migration Fixes Mixed data source losing existing queries (#86926)
Dashboard: Migration Fixes Mixed data source losing existing queries (#86883)

(cherry picked from commit e711d10925)

Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>
2024-04-25 14:46:06 +01:00
grafana-delivery-bot[bot]
f5b16c223b [v11.0.x] Alerting: Fix instances link when served from subpath (#86906)
Alerting: Fix instances link when served from subpath (#86432)

Fix instances link when served from subpath

(cherry picked from commit 9614126cb7)

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2024-04-25 11:38:12 +02:00
grafana-delivery-bot[bot]
48e920896d [v11.0.x] Table Panel: Fix images not showing on hover with multiple data links (#86795)
Table Panel: Fix images not showing on hover with multiple data links (#86732)

* Fix issue

* Prettier

* codeincarnate/image-table-fix/ lint

* Make linter happy by using div with role of button + improve a11y

---------

Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
(cherry picked from commit 37d086d49c)

Co-authored-by: Kyle Cunningham <codeincarnate@users.noreply.github.com>
2024-04-24 21:06:50 -07:00
Isabel Matwawana
33edb76902 [v11.0.x] Docs: add tooltips shared content (#86891)
Docs: add tooltips shared content (#86553)

* Replaced shared tooltips file with text in xy chart

* Added tooltip info for heatmap

* Updated tooltip shared files, renamed one file, updated configure tooltips

* updated tooltip shared file paths

* Added tooltips shared files in relevant visualizations

* Added where shared file is used in tooltip-options-1

* Added where shared file is used in tooltip-options-2

* Added intro text and justifications to shared files

* Removed tooltips intro text from visualizations with shared files

* Added names of files to comments in shared files

(cherry picked from commit 0e81fdffbe)
2024-04-24 16:15:45 -04:00
grafana-delivery-bot[bot]
4266af508c [v11.0.x] fix: datatrail link to "open in explore" prefix with config.appSubUrl (#86694)
fix: datatrail link to "open in explore" prefix with `config.appSubUrl` (#86375)

* fix: datatrail link to explore needs appSubUrl
* fix: use `appUrl` when creating URL for sharing

(cherry picked from commit 2ed7eecf2d)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-04-24 13:41:58 -04:00
grafana-delivery-bot[bot]
ad5ce0ee06 [v11.0.x] datatrails: interpolate adhoc variables and datasource variables when opening "explore metrics" from dashboard panels (#86882)
datatrails: interpolate adhoc variables and datasource variables when opening "explore metrics" from dashboard panels (#86252)

* fix: interpolate "explore metrics" from panels

---------

Co-authored-by: Darren Janeczek <darren.janeczek@grafana.com>

* fix: remove support for legacy dashboard

- simplify code
- take advantage of scenes dashboard async and datasource api object

---------

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
(cherry picked from commit 53ead9904d)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-04-24 17:22:48 +01:00
grafana-delivery-bot[bot]
d74bc37a24 [v11.0.x] Add onClick behaviour to links to new tooltips (#86881)
Add onClick behaviour to links to new tooltips (#84974)

* Add onClick behaviour to new tooltips

* Prefer using DataLink component

(cherry picked from commit 9e54c450d7)

Co-authored-by: Javier Ruiz <javiruiz01@users.noreply.github.com>
2024-04-24 09:59:44 -06:00
grafana-delivery-bot[bot]
17b8022ba9 [v11.0.x] SQLStore: Disable redundant create and drop unique index migrations on dashboard table (#86867)
SQLStore: Disable redundant create and drop unique index migrations on dashboard table (#86857)

SQLStore: Disable create and drop unique index migrations
(cherry picked from commit a5a3ee9fa3)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2024-04-24 16:37:39 +01:00
grafana-delivery-bot[bot]
2644311fd0 [v11.0.x] Fix home breadcrumbs (#86849)
Fix home breadcrumbs (#86786)

* fix home breadcrumbs

* fix homepage gap

* fix tests

(cherry picked from commit 38917c4e79)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2024-04-24 14:11:41 +02:00
grafana-delivery-bot[bot]
6dedea2c1f [v11.0.x] LogContext: Fix structured metadata labels being added as stream selectors (#86826)
LogContext: Fix structured metadata labels being added as stream selectors (#86825)

* LogContext: Fix structured metadata labels being added as stream selectors

* use row index

(cherry picked from commit a8424f4831)

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2024-04-24 13:09:45 +01:00
Laura Fernández
b67879e2ee [v11.0.x] Navigation: Add a return to previous button when navigating to different sections (#86797) 2024-04-24 13:15:53 +02:00
grafana-delivery-bot[bot]
494a3c14d1 [v11.0.x] Dashboard: Migration [Panel Edit] Missing Query Editor when datasource is not found (#86828)
Dashboard: Migration [Panel Edit] Missing Query Editor when datasource is not found (#86789)

* Return default datasource if datasource is not found

* Set query runner datasource state to default, else refreshing will not work

(cherry picked from commit de589b98c7)

Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>
2024-04-24 12:09:16 +03:00
Torkel Ödegaard
a0549ca23c [v11.0.x] DashboardScene: Fixes issue with editing panels that uses instanceState (#86824)
DashboardScene: Fixes issue with editing panels that uses instanceState (#86687)

* DashboardScene: Fixes issue with editing panels that uses instanceState

* Minor tweak

* Update

* Update

(cherry picked from commit b28e6bc5d8)
2024-04-24 10:31:19 +02:00
grafana-delivery-bot[bot]
83bd51e918 [v11.0.x] Typo fix in User API doc example (#86822)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: nextMJ <77353838+nextMJ@users.noreply.github.com>
fix in User API doc example (#81890)
2024-04-24 06:24:49 +01:00
grafana-delivery-bot[bot]
661610c394 [v11.0.x] Canvas: Match connection anchor points to elements (#86815)
Canvas: Match connection anchor points to elements (#85421)

Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>
(cherry picked from commit 5dea949433)

Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
2024-04-23 23:44:43 +02:00
grafana-delivery-bot[bot]
5c500e1622 [v11.0.x] Chore: Fix CVE-2024-22363 (#86798)
Chore: Fix CVE-2024-22363 (#86738)

(cherry picked from commit 709d78b8b5)

Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
2024-04-23 18:41:34 +02:00
grafana-delivery-bot[bot]
30b593e843 [v11.0.x] Docs: add Provisioning section to Install on Kubernetes docs (#86799)
Docs: add `Provisioning` section to `Install on Kubernetes` docs (#83875)

* Docs: add `Provisioning` section to `Install on Kubernetes` docs

* prefix k8s object names with `grafana-`

* Fix `suplying` typo

(cherry picked from commit 14789db1b7)

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>
2024-04-23 18:39:56 +02:00
grafana-delivery-bot[bot]
764bf767ca [v11.0.x] TimeOfDayPicker: Fix text colours in light mode (#86776)
TimeOfDayPicker: Fix text colours in light mode (#86771)

fix text colours in light mode

(cherry picked from commit a1321d17ca)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-04-23 08:07:01 -06:00
grafana-delivery-bot[bot]
7d5da03093 [v11.0.x] Update make docs procedure (#86767)
Co-authored-by: grafanabot <bot@grafana.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-23 13:23:28 +01:00
grafana-delivery-bot[bot]
28acea402b [v11.0.x] DashboardScene: Fixes deleting dirty dashboard (#86757)
DashboardScene: Fixes deleting dirty dashboard (#86479)

* DashboardScene: Fixes deleting dirty dashboard

* refactor + unit test

(cherry picked from commit 835b968b08)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-04-23 12:51:22 +02:00
grafana-delivery-bot[bot]
493a17ed37 [v11.0.x] Dashboards: Check if dashboard.meta is undefined, if undefined handle redirect in dashboard scene. (#86685)
Dashboards: Check if dashboard.meta is undefined, if undefined handle redirect in dashboard scene. (#86674)

dashboard meta is not available if the dashboard response is a redirect

(cherry picked from commit 12771e49fc)

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2024-04-23 10:13:29 +02:00
grafana-delivery-bot[bot]
831c717689 [v11.0.x] Dashboard scenes: fix textbox value only set to first character of default value (#86742)
Dashboard scenes: fix textbox value only set to first character of default value (#86595)

Dashboard scene: fix textbox value only set to first character in default value

(cherry picked from commit dccad4e081)

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2024-04-23 07:10:41 +02:00
grafana-delivery-bot[bot]
8979111ec0 [v11.0.x] XYChart2: Remove common series name from tooltip items (#86740)
XYChart2: Remove common series name from tooltip items (#86739)

(cherry picked from commit 7754d0d4dc)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-04-23 05:44:36 +02:00
grafana-delivery-bot[bot]
62715133ea [v11.0.x] Docs: add snapshot deletion info (#86736)
Docs: add snapshot deletion info (#86725)

* Added delete snapshots section

* Replicated content, updated heading, and lowered heading level

(cherry picked from commit 2b3457e6ed)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-22 18:33:51 -04:00
grafana-delivery-bot[bot]
23623807bd [v11.0.x] Docs: Add config guidance for embedding (#86730)
Docs: Add config guidance for embedding (#86726)

Added note re iframes

(cherry picked from commit 05a4b3e80d)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-22 17:14:41 -04:00
grafana-delivery-bot[bot]
a332ecf43c [v11.0.x] Embed Managing users and permissions video to the documentation (#86715)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Lisa <60980933+LisaHJung@users.noreply.github.com>
2024-04-22 17:53:07 +01:00
grafana-delivery-bot[bot]
9ad39e7fd7 [v11.0.x] docs: update candlestick visualization (#86701)
docs: update candlestick visualization (#86053)

* docs: update candlestick visualization

* fix: linting issues

* Apply suggestions from code review

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* docs: add candlestick video

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 50b285ac69)

Co-authored-by: Marie Cruz <mdcruz@users.noreply.github.com>
2024-04-22 10:57:24 -04:00
grafana-delivery-bot[bot]
3b71eab378 [v11.0.x] Alerting: Take receivers into account when custom grouping Alertmanager groups (#86699)
Alerting: Take receivers into account when custom grouping Alertmanager groups (#86127)

* Take receiver into account when custom grouping Alertmanager alert groups

* Fix and add tests

(cherry picked from commit acd3e83c1c)

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2024-04-22 16:39:32 +02:00
grafana-delivery-bot[bot]
55556e911b [v11.0.x] LDAP: Fix listing all non-matching groups (#86689)
LDAP: Fix listing all non-matching groups (#86682)

Fix getRowId in LdapUserGroups to list all non-matching groups

(cherry picked from commit 6ab9dcde8d)

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2024-04-22 15:54:06 +02:00
grafana-delivery-bot[bot]
2166ca0a4a [v11.0.x] datatrails: track user interactions (#86399)
datatrails: track user interactions (#85909)

* chore: add interaction tracking

(cherry picked from commit ea90f0119c)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-04-22 09:34:08 -04:00
grafana-delivery-bot[bot]
3d3a4b528a [v11.0.x] Alerting: Fix max_alerts field handling (#86673)
Alerting: Fix max_alerts field handling (#86651)

Fix max_alerts field parsing

(cherry picked from commit 1b930c341d)

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2024-04-22 13:38:20 +02:00
grafana-delivery-bot[bot]
cf7c563735 [v11.0.x] Change folder breadcrumb on folder change in general settings (#86583)
Change folder breadcrumb on folder change in general settings (#86342)

* Change folder breadcrumb on folder change in general settings

* tests and refactor

* refactor to fix broken tests

* fix test

(cherry picked from commit 60e6dd56bf)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2024-04-22 09:25:34 +02:00
grafana-delivery-bot[bot]
39ce4774f7 [v11.0.x] MSSQL: Add SQL_VARIANT converter and update test (#86469)
MSSQL: Add `SQL_VARIANT` converter and update test (#85823)

Add SQL_VARIANT converter and update test

(cherry picked from commit 420067a7e1)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-04-19 21:00:59 +01:00
grafana-delivery-bot[bot]
8903bf3b01 [v11.0.x] [DOC] Update the traces to profile content based upon SDK updates (#86632)
[DOC] Update the traces to profile content based upon SDK updates (#86628)

Update the traces to profile content based upon SDK updates

(cherry picked from commit d6e84dbf0a)

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
2024-04-19 14:34:09 -05:00
grafana-delivery-bot[bot]
9f5a1d1c77 [v11.0.x] Docs: Update example docs for rename by regex (#86630)
Docs: Update example docs for `rename by regex` (#86627)

* baldm0mma/update_regex/ update example docs

* baldm0mma/ push ts

* baldm0mma/update_regex with new exmaples

* baldm0mma/update_regex/ update images

* baldm0mma/regex_update/ update text

(cherry picked from commit ad679c62c6)

Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>
2024-04-19 15:24:55 -04:00
grafana-delivery-bot[bot]
5ae5fd32db [v11.0.x] VizTooltip: Fix heatmap mode All (#86468)
VizTooltip: Fix heatmap mode All (#86463)

(cherry picked from commit 38fe9fcfd1)

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2024-04-19 06:56:46 -07:00
grafana-delivery-bot[bot]
9c604036e7 [v11.0.x] IntervalVariableEditor: Do not add current value as interval prop (#86591)
IntervalVariableEditor: Do not add current value as interval prop (#86446)

(cherry picked from commit 65afe90124)

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2024-04-19 13:36:07 +02:00
grafana-delivery-bot[bot]
dce8a05fef [v11.0.x] CommandPalette: Fix keyboard shortcut alignment (#86590)
CommandPalette: Fix keyboard shortcut alignment (#86540)

* use full typography properties

* use Text component

(cherry picked from commit 63427ccd98)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-04-19 13:12:25 +02:00
grafana-delivery-bot[bot]
adb59eaeb5 [v11.0.x] EmptyState: Set a max width on the empty state component (#86589)
EmptyState: Set a max width on the empty state component (#86569)

set a max width on the empty state component

(cherry picked from commit 21588ce7e2)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-04-19 13:10:43 +02:00
grafana-delivery-bot[bot]
54f0fae4eb [v11.0.x] InfluxDB: Fix interpolating field keys in influxql (#86560)
InfluxDB: Fix interpolating field keys in influxql (#86401)

* interpolate field keys

* use scopedVars

(cherry picked from commit 842c8dd206)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-04-19 11:51:26 +02:00
grafana-delivery-bot[bot]
56cd797d65 [v11.0.x] Alerting: Fix simplified routing group by override (#86563)
Alerting: Fix simplified routing group by override (#86552)

* Alerting: Fix simplified routing custom group by override

Custom group by overrides for simplified routing were missing required fields
GroupBy and GroupByAll normally set during upstream Route validation.

This fix ensures those missing fields are applied to the generated routes.

* Inline GroupBy and GroupByAll initialization instead of normalize after

(cherry picked from commit 71445002b7)

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2024-04-19 03:25:13 +02:00
grafana-delivery-bot[bot]
bad4fc05c5 [v11.0.x] NodeGraph: Fix invisible arrow tips in Editor (#86548)
NodeGraph: Fix invisible arrow tips in Editor (#86517)

NodeGraphPanel: Namespace marker IDs to fix invisible arrow tips in editor

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
(cherry picked from commit f3fcfad2c8)

Co-authored-by: timo <timonator@perpetuum-immobile.de>
2024-04-18 21:12:51 +02:00
grafana-delivery-bot[bot]
9ba76038a0 [v11.0.x] RolePicker: Adjust dynamic position (#86542)
RolePicker: Adjust dynamic position (#86424)

* Adjust dynamic position

(cherry picked from commit 1d1ebee36b)

Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
2024-04-18 18:18:10 +02:00
grafana-delivery-bot[bot]
d05587b2fd [v11.0.x] Dashboard: DashboardPageProxy - Use chaining operators to prevent runtime error (#86536)
Dashboard: DashboardPageProxy - Use chaining operators to prevent runtime error (#86507)

* Use chaining operators to prevent runtime error

* Fix tests

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
(cherry picked from commit 7a147f2ce8)

Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>
2024-04-18 17:32:41 +02:00
grafana-delivery-bot[bot]
2c4277f5f8 [v11.0.x] Docs: Add GeoMaps YouTube Video (#86533)
Docs: Add GeoMaps YouTube Video (#86472)

* Update index.md on GeoMaps adding YouTube Video

Added the GeoMap YouTube video to the documentation

* Update docs/sources/panels-visualizations/visualizations/geomap/index.md

Totally agree, I tend to use those words and not realize :P

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 0d11f9b2f4)

Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-04-18 11:01:53 -04:00
grafana-delivery-bot[bot]
ac20c614a3 [v11.0.x] Cli: Check missing plugin parameter of plugin update command (#86522)
Cli: Check missing plugin parameter of plugin update command (#86410)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
(cherry picked from commit 817f787947)

Co-authored-by: Vanilla <osu_Vanilla@126.com>
2024-04-18 16:02:14 +02:00
grafana-delivery-bot[bot]
6e2727c7ba [v11.0.x] docs: update heatmap visualization and add play links (#86514)
docs: update heatmap visualization and add play links (#85926)

* docs: update heatmap visualization

* docs: add state timeline and status history play shortcodes

* Apply suggestions from code review

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* docs: add heatmap video

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 8373fc3544)

Co-authored-by: Marie Cruz <mdcruz@users.noreply.github.com>
2024-04-18 08:29:03 -04:00
grafana-delivery-bot[bot]
a12e727213 [v11.0.x] Add Create annotations in panel video to the documentation (#86511)
Add Create annotations in panel video to the documentation (#86383)

* Add Create annotations in panel video to the documentation

* Update docs/sources/dashboards/build-dashboards/annotate-visualizations/index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
(cherry picked from commit bdd288d058)

Co-authored-by: Lisa <60980933+LisaHJung@users.noreply.github.com>
2024-04-18 08:25:21 -04:00
grafana-delivery-bot[bot]
011c3fa3ef [v11.0.x] EmptyState: Add completed variant (#86503)
EmptyState: Add `completed` variant (#86497)

* add 'completed' variant

* add central text alignment

(cherry picked from commit 07044309f1)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-04-18 12:39:42 +02:00
grafana-delivery-bot[bot]
a3991687f2 [v11.0.x] Select: Increase size of virtualized list options (#86502) 2024-04-18 12:33:52 +02:00
grafana-delivery-bot[bot]
8127ea54b6 [v11.0.x] InfluxDB: Fix interpolation for floating point number values (#86495)
InfluxDB: Fix interpolation for floating point number values (#86396)

return number as it is

(cherry picked from commit 635d85db7a)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-04-18 12:20:57 +02:00
grafana-delivery-bot[bot]
f1c20f8692 [v11.0.x] DashboardScene: Fixes issue saving new dashboard from panel edit (#86480)
DashboardScene: Fixes issue saving new dashboard from panel edit (#86477)

(cherry picked from commit 1327bdf575)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-04-18 12:44:51 +03:00
grafana-delivery-bot[bot]
6881eabedf [v11.0.x] DashboardScene: Move add library panel view from grid item to drawer (#86409)
DashboardScene: Move add library panel view from grid item to drawer (#86257)

* DashboardScene: Add library panel in drawer

* DashboardScene: Move add libray panel view to a drawer instead of a grid item

* Update

* Update tests

(cherry picked from commit 5837def850)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-04-18 09:45:46 +03:00
grafana-delivery-bot[bot]
df2fee63a5 [v11.0.x] Add FolderUID for library elements (#86280)
Add FolderUID for library elements (#83819)

(cherry picked from commit 5c4a2de59b)

Co-authored-by: idafurjes <36131195+idafurjes@users.noreply.github.com>
2024-04-17 20:04:37 +02:00
grafana-delivery-bot[bot]
c968ff62a1 [v11.0.x] Transforms: Fix 'Filter data by values' removing rows in unrelated frames (#86445)
Transforms: Fix 'Filter data by values' removing rows in unrelated frames (#86087)

(cherry picked from commit 9682022b1d)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-04-17 16:24:11 +02:00
grafana-delivery-bot[bot]
b5d8a753f9 [v11.0.x] EmptyState: Add call-to-action variant (#86439)
* EmptyState: Add `call-to-action` variant (#85017)

* add default variant

* enhance story

* rename to "initial" + update docs

* default to showing a CTA

* use switch

* translations

* update and use LinkButton

* update default message

* rename "initial" to "nothing-here"

* update variant name to `call-to-action`

* i18n

* add CTA svg

* extract into its own component

(cherry picked from commit f99d5a1c1a)

* remove console.log

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-04-17 15:42:11 +02:00
grafana-delivery-bot[bot]
9b33f9643c [v11.0.x] DashboardScene: Fixes react panels with old angular options (#86411) 2024-04-17 08:23:50 +02:00
grafana-delivery-bot[bot]
879bb31621 [v11.0.x] Docs: change availability to public preview for v11 (#86392)
Docs: change availability to public preview for v11 (#86390)

Changed availability to public preview

(cherry picked from commit d55ce5b2e8)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-16 15:20:02 -04:00
grafana-delivery-bot[bot]
46353e6a50 [v11.0.x] Alerting: Fix simplified routes '...' groupBy creating invalid routes (#86376)
Alerting: Fix simplified routes '...' groupBy creating invalid routes (#86006)

* Alerting: Fix simplified routes '...' groupBy creating invalid routes

There were a few ways to go about this fix:
1. Modifying our copy of upstream validation to allow this
2. Modify our notification settings validation to prevent this
3. Normalize group by on save
4. Normalized group by on generate

Option 4. was chosen as the others have a mix of the following cons:
- Generated routes risk being incompatible with upstream/remote AM
- Awkward FE UX when using '...'
- Rule definition changing after save and potential pitfalls with TF

With option 4. generated routes stay compatible with external/remote AMs, FE
doesn't need to change as we allow mixed '...' and custom label groupBys, and
settings we save to db are the same ones requested.

In addition, it has the slight benefit of allowing us to hide the internal
implementation details of `alertname, grafana_folder` from the user in the
future, since we don't need to send them with every FE or TF request.

* Safer use of DefaultNotificationSettingsGroupBy

* Fix missed API tests

(cherry picked from commit 533bed6d94)

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2024-04-16 14:41:13 -04:00
grafana-delivery-bot[bot]
973c913491 [v11.0.x] Docs: add panels & visualizations landing page (#86384)
Docs: add panels & visualizations landing page (#86073)

* Added landing page front structure

* Added description and overview content and card titles

* Added placeholder tile and work notes

* Finalized text and updated link type

* Updated panel overview tile link

(cherry picked from commit 7c441011f2)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-16 14:36:14 -04:00
grafana-delivery-bot[bot]
f4539f7e9d [v11.0.x] Cloudmigration: create migration (#86373)
Cloudmigration: create migration (#85386)

* Cloudmigration: create migration

* fix drone build

* lint fix

* fix unit test

---------

Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
(cherry picked from commit 383ebb2bc4)

Co-authored-by: Leonard Gram <leo@xlson.com>
2024-04-16 17:05:09 +01:00
grafana-delivery-bot[bot]
98401be295 [v11.0.x] Scope: Add basic integration tests (#86367)
Scopes: Add basic integration tests (#85351)

Co-authored-by: Kyle Brandt <kyle@grafana.com>
(cherry picked from commit dd6c8732b3)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-04-16 17:01:46 +01:00
grafana-delivery-bot[bot]
6b6b7601a2 [v11.0.x] K8s: standalone authenticator that allows a type of downstream forwarding (#86362)
K8s: standalone authenticator that allows a type of downstream forwarding (#85130)

(cherry picked from commit 0f1151964c)

Co-authored-by: Charandas <charandas@users.noreply.github.com>
2024-04-16 16:57:06 +01:00
grafana-delivery-bot[bot]
c1ff508b6e [v11.0.x] Canvas: Fix styles applying glitch on element type changing (#86365)
Canvas: Fix styles applying glitch on element type changing (#85184)

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
(cherry picked from commit 20eac8d264)

Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>
2024-04-16 16:47:52 +01:00
grafana-delivery-bot[bot]
9bc4d4c5be [v11.0.x] AWS DataSource: Fix namespaces in sagemaker metrics (#86363)
AWS DataSource: Fix namespaces in sagemaker metrics (#85357)

(cherry picked from commit 58b583f0c5)

Co-authored-by: Tristan <tburgessdev@gmail.com>
2024-04-16 16:47:31 +01:00
grafana-delivery-bot[bot]
8de772e55d [v11.0.x] CloudMigrations: Add instance metadata to auth token (#86371)
CloudMigrations: Add instance metadata to auth token (#85381)

* update how tokens are passed around

* rename structs

(cherry picked from commit 5a5f76ae0a)

Co-authored-by: Michael Mandrus <41969079+mmandrus@users.noreply.github.com>
2024-04-16 16:45:57 +01:00
grafana-delivery-bot[bot]
fd4c86539b [v11.0.x] Auth: add Dex example to generic OAuth2 documentation (#86364)
Auth: add Dex example to generic OAuth2 documentation (#84744)

This patch adds an example configuration for setting up generic OAuth2
authentication using [Dex IdP](https://dexidp.io/).

(cherry picked from commit e9969e3542)

Co-authored-by: Fredrik Ekre <ekrefredrik@gmail.com>
2024-04-16 16:44:55 +01:00
grafana-delivery-bot[bot]
4ba82538b8 [v11.0.x] Graphite: second function as another function argument parsing error fix (#86361)
Graphite: second function as another function argument parsing error fix (#85224)

* update language around query editor parsing issues

* add special handling for second function arguments in divideSeriesLists

* additional check for first argument as series(string) and not a function

(cherry picked from commit 3c28a3d494)

Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
2024-04-16 16:44:20 +01:00
grafana-delivery-bot[bot]
814732e6d1 [v11.0.x] Scopes: Create binding per relationship (#86368)
Scopes: Create binding per relationship (#85332)

scopes: create binding per relationship

Signed-off-by: bergquist <carl.bergquist@gmail.com>
(cherry picked from commit a71dfe806a)

Co-authored-by: Carl Bergquist <carl.bergquist@gmail.com>
2024-04-16 16:43:01 +01:00
grafana-delivery-bot[bot]
954f869e61 [v11.0.x] Canvas: Fix SVG items background glitch (#86366) 2024-04-16 11:34:17 -04:00
grafana-delivery-bot[bot]
6f6667d89c [v11.0.x] JWT: Find login and email claims with JMESPATH (#86357)
JWT: Find login and email claims with JMESPATH (#85305)

* add function to static function to static service

* find email and login claims with jmespath

* rename configuration files

* Replace JWTClaims struct for map

* check for subclaims error

(cherry picked from commit e4250a72db)

Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
2024-04-16 16:25:18 +01:00
grafana-delivery-bot[bot]
ca94886e18 [v11.0.x] Explore: Nested Content Outline (#86355)
Explore: Nested Content Outline (#80688)

* indentation levels

* Highlight parent section when child is selected

* Fix context, add rotation to toggle button

* Merge single child logic; fix styling

* Fix collapsed logic, make elipsis work, reorganize for better readability;

* Add connector

* Tooltip placement

* Update tests so they test components the same way users would interact with them

* Clean up indendation levels

* Support collapsing logic for multiple section; highlight all items in a section of an active child - parent is active only when section is collapsed and child inside of it is active

* Simplify making ellipsis work

* Show tooltip if the text overflows in expanded mode

* The whole button container should have same background when section is expanded in mini view

* Fix a bug where root items were not being sorted by document position

* Update query order when query rows are changed through dragging and dropping

* Fix the issue where chaning the title of a query row would remove the query

(cherry picked from commit 649c456eab)

Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
2024-04-16 16:25:05 +01:00
grafana-delivery-bot[bot]
64c17b0ee6 [v11.0.x] User: email verification completion (#86354)
User: email verification completion (#85259)

* TempUser: Include InvitedById in TempUserDTO

* Extract email verfication completion flow to service

(cherry picked from commit 73e426b081)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-04-16 16:24:53 +01:00
grafana-delivery-bot[bot]
23a24bc9af [v11.0.x] CloudMigration: Add service to list all migrations (#86350)
CloudMigration:  Add service to list all migrations (#85308)

(cherry picked from commit 5b147d0847)

Co-authored-by: lean.dev <34773040+leandro-deveikis@users.noreply.github.com>
2024-04-16 16:24:38 +01:00
grafana-delivery-bot[bot]
2ee985abc2 [v11.0.x] Panel: Description display event is reported multiple times (#86356)
Panel: Description display event is reported multiple times (#85283)

(cherry picked from commit 233f119037)

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2024-04-16 16:10:41 +01:00
grafana-delivery-bot[bot]
c4e057eddf [v11.0.x] Loki: Fix test flake (#86353)
Loki: Fix test flake (#85356)

attempt to fix flake

(cherry picked from commit 0c78d80ef1)

Co-authored-by: Galen Kistler <109082771+gtk-grafana@users.noreply.github.com>
2024-04-16 16:09:43 +01:00
grafana-delivery-bot[bot]
d81380cc21 [v11.0.x] Revert "Update ephemeral instances workflow to get version from package.json" (#86352)
Revert "Update ephemeral instances workflow to get version from package.json" (#85347)

Revert "Update ephemeral instances workflow to get version from package.json …"

This reverts commit dda1531952.

(cherry picked from commit 29c76b98d4)

Co-authored-by: Leonor Oliveira <9090754+leonorfmartins@users.noreply.github.com>
2024-04-16 16:09:19 +01:00
Ashley Harrison
2794579c28 [v11.0.x] Update dependency @swc/helpers to v0.5.8 (#86358)
Update dependency @swc/helpers to v0.5.8 (#85327)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit b155bc11a1)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 16:08:43 +01:00
grafana-delivery-bot[bot]
33413b762f [v11.0.x] Docs: Add capture_timeout option (#86351)
Docs: Add capture_timeout option (#85340)

(cherry picked from commit ce57ce4125)

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2024-04-16 16:08:26 +01:00
grafana-delivery-bot[bot]
1a099d444e [v11.0.x] Templating: Link label to input (#86349)
Templating: Link label to input (#85329)

Pass id to VariableInput

(cherry picked from commit a44aa342a7)

Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
2024-04-16 16:01:49 +01:00
grafana-delivery-bot[bot]
d37a55db45 [v11.0.x] Update dependency yaml to v2.4.1 (#86348)
Update dependency yaml to v2.4.1 (#85335)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 40c88596d8)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 16:01:26 +01:00
grafana-delivery-bot[bot]
5249af80ca [v11.0.x] I18n: Download translations from Crowdin (#86347)
I18n: Download translations from Crowdin (#85257)

New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
(cherry picked from commit 97c3c51e52)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-16 16:00:58 +01:00
grafana-delivery-bot[bot]
492d6dd3fd [v11.0.x] Update dependency webpack-assets-manifest to v5.2.1 (#86338)
Update dependency webpack-assets-manifest to v5.2.1 (#85331)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit f5cd840dd0)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 16:00:36 +01:00
grafana-delivery-bot[bot]
198b8febde [v11.0.x] K8s/Frontend: Add generic resource server and use it for playlists (#86337)
K8s/Frontend: Add generic resource server and use it for playlists (#83339)

Co-authored-by: Bogdan Matei <bogdan.matei@grafana.com>
(cherry picked from commit 45d1766524)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-04-16 15:38:22 +01:00
grafana-delivery-bot[bot]
486fb23af5 [v11.0.x] fix internal url in tutorials (#86339)
fix internal url in tutorials (#85273)

* fix internal url in tutorials

* prettyfied

* fix: update broken links

---------

Co-authored-by: mdcruz <marie.descruz@gmail.com>
(cherry picked from commit 85a646b4dc)

Co-authored-by: antonio <45235678+tonypowa@users.noreply.github.com>
2024-04-16 15:38:00 +01:00
grafana-delivery-bot[bot]
595bf811ca [v11.0.x] Update dependency eslint-plugin-jsdoc to v48.2.2 (#86336)
Update dependency eslint-plugin-jsdoc to v48.2.2

(cherry picked from commit d227621217)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 15:37:39 +01:00
grafana-delivery-bot[bot]
f4ffa3a1a2 [v11.0.x] Update dependency @grafana/aws-sdk to v0.3.3 (#86335)
Update dependency @grafana/aws-sdk to v0.3.3 (#85326)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 4854f10ee2)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 15:37:19 +01:00
grafana-delivery-bot[bot]
e9046e8cb1 [v11.0.x] Update dependency stylelint-config-sass-guidelines to v11.1.0 (#86334)
Update dependency stylelint-config-sass-guidelines to v11.1.0 (#85291)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit ad1b60e651)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 15:36:58 +01:00
grafana-delivery-bot[bot]
b84bd7eb90 [v11.0.x] Tempo: Show <1ms when durationMs not in response (#86333)
Tempo: Show <1ms when durationMs not in response (#85267)

* Show <1ms when durationMs not in response

* Update tests

(cherry picked from commit 8c770a283e)

Co-authored-by: Joey <90795735+joey-grafana@users.noreply.github.com>
2024-04-16 15:36:29 +01:00
Ashley Harrison
1bc4ceb77c [v11.0.x] Update dependency webpack to v5.91.0 (#86344)
Update dependency webpack to v5.91.0 (#85302)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 50a57bb88c)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 15:36:11 +01:00
Ashley Harrison
a2addd8ae2 [v11.0.x] Chore: Bump Nx to 18.1.x (#86343)
* Chore: Bump Nx to 18.1.x (#85185)

* chore: bump nx to latest version

* build(plugin-configs): reduce wonky webpack output when logged via nx

* revert(plugin-configs): remove infrastructureLogging property

(cherry picked from commit c6a489cfd8)

* update yarn lock file

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2024-04-16 15:36:00 +01:00
grafana-delivery-bot[bot]
5a348fa711 [v11.0.x] AngularMigration: Allow dashboard by dashboard migration (#86330)
AngularMigration: Allow dashboard by dashboard migration (#84100)

(cherry picked from commit e5d1cd8ea5)

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2024-04-16 15:08:19 +01:00
grafana-delivery-bot[bot]
d781a08014 [v11.0.x] ci: Stop running ephemeral instances workflow when not needed (#86329)
ci: Stop running ephemeral instances workflow when not needed (#85306)

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
(cherry picked from commit 08d603e660)

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2024-04-16 15:07:24 +01:00
grafana-delivery-bot[bot]
af98f4d58d [v11.0.x] Update dependency msw to v2.2.13 (#86328)
Update dependency msw to v2.2.13

(cherry picked from commit 39e91e2984)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 15:06:43 +01:00
grafana-delivery-bot[bot]
2b52fbb8b0 [v11.0.x] Update dependency @types/react to v18.2.73 (#86327)
Update dependency @types/react to v18.2.73

(cherry picked from commit 2f18148da2)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 15:05:13 +01:00
grafana-delivery-bot[bot]
67c976366e [v11.0.x] Scopes: Add Filtering for ScopeDashoardBinding and Update Prometheus for ScopeFilterOperator Changes (#86326)
Scopes: Add Filtering for ScopeDashoardBinding and Update Prometheus for ScopeFilterOperator Changes (#85284)

(cherry picked from commit 136f8e6f0c)

Co-authored-by: Kyle Brandt <kyle@grafana.com>
2024-04-16 14:46:21 +01:00
grafana-delivery-bot[bot]
41d7cba970 [v11.0.x] Update dependency stylelint to v16.3.1 (#86325)
Update dependency stylelint to v16.3.1 (#85286)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 7e1cd4397a)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 14:46:07 +01:00
grafana-delivery-bot[bot]
de18ae9ecf [v11.0.x] Update dependency react-zoom-pan-pinch to v3.4.3 (#86324)
Update dependency react-zoom-pan-pinch to v3.4.3 (#85263)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit a6fcbd1eb2)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 14:44:58 +01:00
grafana-delivery-bot[bot]
f6606c558e [v11.0.x] Storage: GuaranteedUpdate fix & other improvements (#86323)
Storage: GuaranteedUpdate fix & other improvements (#85206)

make GuaranteedUpdate work when ignoring not found errors, increase poll frequency, fix Delete

(cherry picked from commit ef26fe95dc)

Co-authored-by: Dan Cech <dcech@grafana.com>
2024-04-16 14:42:56 +01:00
grafana-delivery-bot[bot]
a3ec3c6d96 [v11.0.x] Update dependency sass to v1.72.0 (#86322)
Update dependency sass to v1.72.0 (#85272)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 986b078d79)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 14:42:34 +01:00
grafana-delivery-bot[bot]
684aca803f [v11.0.x] AuthN: Add IsAuthenticatedBy to identity interface and replace checks (#86321)
AuthN: Add IsAuthenticatedBy to identity interface and replace checks (#85262)

Add IsAuthenticatedBy to identity interface and replace checks

(cherry picked from commit 152cb47692)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-04-16 14:41:15 +01:00
grafana-delivery-bot[bot]
6f87c9393e [v11.0.x] Update dependency react-hook-form to v7.51.2 (#86315)
Update dependency react-hook-form to v7.51.2 (#85249)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 3049acd7d7)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 14:08:43 +01:00
grafana-delivery-bot[bot]
49df41f0ce [v11.0.x] Update dependency jest-date-mock to v1.0.9 (#86314)
Update dependency jest-date-mock to v1.0.9

(cherry picked from commit e4a265f60c)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 14:08:20 +01:00
grafana-delivery-bot[bot]
aef19a4a8f [v11.0.x] QueryLibrary: Use default variable values in render (#86312)
QueryLibrary: Use default variable values in render (#84678)

(cherry picked from commit d71266b8af)

Co-authored-by: Kyle Brandt <kyle@grafana.com>
2024-04-16 14:07:48 +01:00
grafana-delivery-bot[bot]
cd938e20ff [v11.0.x] Fix new dashboard save name validation (#86316)
Fix new dashboard save name validation (#86290)

(cherry picked from commit b9285e320a)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2024-04-16 15:03:45 +02:00
grafana-delivery-bot[bot]
139933b0ca [v11.0.x] EmptyState: use not-found empty state variant everywhere in core (#86311)
* EmptyState: use `not-found` empty state variant everywhere in core (#85007)

* use EmptyState component everywhere in core

* remove GrotNotFound core component

* update unit tests

* search -> not-found

* fix 3 more

(cherry picked from commit 7ad2ec9665)

* EmptyState: Provide custom messages for existing empty states (#86021)

provide custom messages for existing empty states

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-04-16 14:02:21 +01:00
grafana-delivery-bot[bot]
b2f5eb1d87 [v11.0.x] LLMApp: Skip 404 requests to know if the plugin exists (#85269)
LLMApp: Skip 404 requests to know if the plugin exists (#85226)

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
(cherry picked from commit 61e67423ff)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-04-16 14:51:26 +02:00
grafana-delivery-bot[bot]
389b734da1 [v11.0.x] Docs: Update broken links to grafana play (#86310)
Docs: Update broken links to grafana play (#86233)

* Docs: Update broken links to grafana play

* Update docs/sources/datasources/graphite/template-variables/index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* Update docs/sources/datasources/influxdb/template-variables/index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 7c7cdf7c3d)

Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
2024-04-16 14:49:42 +02:00
grafana-delivery-bot[bot]
8377ef1573 [v11.0.x] correct a url (#86302)
correct a url (#85245)

(cherry picked from commit cec25113f6)

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
2024-04-16 13:48:00 +01:00
grafana-delivery-bot[bot]
d0c61df20f [v11.0.x] Update dependency diff to v5.2.0 (#86301)
Update dependency diff to v5.2.0 (#85244)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 7640922d76)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 13:32:33 +01:00
grafana-delivery-bot[bot]
b9ca9e26e5 [v11.0.x] Storybook: Fix link to Saga (#86298)
Storybook: Fix link to Saga (#85179)

(cherry picked from commit 951d5b4e9f)

Co-authored-by: Joao Silva <100691367+JoaoSilvaGrafana@users.noreply.github.com>
2024-04-16 13:32:20 +01:00
grafana-delivery-bot[bot]
3d5e7fd7e5 [v11.0.x] Dashboard scenes: Export isExpressionReference to be accessible from scenes (#86299)
Dashboard scenes: Export isExpressionReference to be accessible from scenes (#85228)

Export isExpressionRef to be accessible from scenes

(cherry picked from commit b7156ef2c2)

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2024-04-16 13:31:57 +01:00
grafana-delivery-bot[bot]
6d40282a82 [v11.0.x] Pa11y: Decrease error thresholds for PRs (#86297)
Pa11y: Decrease error thresholds for PRs (#85178)

* Pa11y-pr: lower error thresholds

* Increase threshold for alerting

(cherry picked from commit 6248bdda48)

Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
2024-04-16 13:31:38 +01:00
Ashley Harrison
cf87defa8e [v11.0.x] Update dependency @grafana/faro-web-sdk to v1.5.0 (#86306)
Update dependency @grafana/faro-web-sdk to v1.5.0 (#85235)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 176709683a)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 13:31:15 +01:00
grafana-delivery-bot[bot]
d9c89cb1b8 [v11.0.x] Update dependency date-fns to v3.6.0 (#86300)
Update dependency date-fns to v3.6.0 (#85243)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit c7b4427151)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 13:16:47 +01:00
grafana-delivery-bot[bot]
c1eef3b789 [v11.0.x] Update dependency @grafana/plugin-e2e to ^0.25.0 (#86295)
Update dependency @grafana/plugin-e2e to ^0.25.0 (#85236)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 4cf0c8dfb2)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 13:16:19 +01:00
grafana-delivery-bot[bot]
3be2562991 [v11.0.x] Update dependency @grafana/faro-web-sdk to v1.5.0 (#86294)
Update dependency @grafana/faro-web-sdk to v1.5.0 (#85234)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 9787f19dc3)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 12:59:36 +01:00
grafana-delivery-bot[bot]
addbf53952 [v11.0.x] Update dependency msw to v2.2.12 (#86293)
Update dependency msw to v2.2.12

(cherry picked from commit e28fc1a4a5)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 12:58:22 +01:00
grafana-delivery-bot[bot]
5185fe376d [v11.0.x] Update dependency xss to v1.0.15 (#86292)
Update dependency xss to v1.0.15 (#85215)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 869a7c8e15)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 12:57:36 +01:00
grafana-delivery-bot[bot]
6afa5d5654 [v11.0.x] Update dependency nanoid to v5.0.6 (#86291)
Update dependency nanoid to v5.0.6 (#85205)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 7df1f84c63)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 12:57:14 +01:00
grafana-delivery-bot[bot]
45b18cb91b [v11.0.x] Alerting: Make hovercard accessible (#86272)
Alerting: Make hovercard accessible (#85195)

(cherry picked from commit 90a1e8a82f)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-04-16 12:30:29 +01:00
grafana-delivery-bot[bot]
18db3762f8 [v11.0.x] CloudWatch : Add missing AWS/ES metrics (#86271)
CloudWatch : Add missing AWS/ES metrics (#85210)

Adding missing ES metrics

(cherry picked from commit ace1cd6301)

Co-authored-by: Pablo <2617411+thepalbi@users.noreply.github.com>
2024-04-16 12:30:09 +01:00
Ashley Harrison
ddea51b403 [v11.0.x] Update dependency @types/react to v18.2.72 (#86283)
Update dependency @types/react to v18.2.72

(cherry picked from commit e184520c61)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 12:29:49 +01:00
grafana-delivery-bot[bot]
9c64750d49 [v11.0.x] Update dependency msw to v2.2.11 (#86270)
Update dependency msw to v2.2.11

(cherry picked from commit 6ed5e36fe5)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 11:40:16 +01:00
grafana-delivery-bot[bot]
af4c8b8804 [v11.0.x] Update dependency eslint-scope to v8.0.1 (#86269)
Update dependency eslint-scope to v8.0.1

(cherry picked from commit 98eec74483)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 11:39:14 +01:00
grafana-delivery-bot[bot]
9d1a004180 [v11.0.x] Chore: InfluxQL stream parser improvements (#86268)
Chore: InfluxQL stream parser improvements (#85041)

* don't iterate over first column as it is a time column already

* don't iterate over first column as it was handled earlier

* add more flexibility to run the commands

* Update pkg/tsdb/influxdb/influxql/converter/converter.go

Co-authored-by: Nick Richmond <5732000+NWRichmond@users.noreply.github.com>

---------

Co-authored-by: Nick Richmond <5732000+NWRichmond@users.noreply.github.com>
(cherry picked from commit fec7765111)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-04-16 11:38:54 +01:00
grafana-delivery-bot[bot]
c25aea926d [v11.0.x] Update dependency @kusto/monaco-kusto to v10.0.18 (#86276)
Update dependency @kusto/monaco-kusto to v10.0.18

(cherry picked from commit 1513b0cab1)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 11:37:43 +01:00
Ashley Harrison
60c39b46c0 [v11.0.x] Update dependency @floating-ui/react to v0.26.10 (#86275)
Update dependency @floating-ui/react to v0.26.10 (#85181)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 1df15a3a4c)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 11:37:10 +01:00
grafana-delivery-bot[bot]
70c56b0d33 [v11.0.x] Update dependency @glideapps/glide-data-grid to v6.0.3 (#86274)
Update dependency @glideapps/glide-data-grid to v6.0.3 (#85189)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit af3e453068)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 11:36:58 +01:00
grafana-delivery-bot[bot]
681554c376 [v11.0.x] Alerting: Reduce set of fields that could trigger alert state change (#86266)
Alerting: Reduce set of fields that could trigger alert state change (#83496)

We want to avoid too much change of alert state based on change on
alert's fields. For that we ignore some fields from the diff.

(cherry picked from commit 6f38ac6615)

Co-authored-by: Benoit Tigeot <benoittgt@users.noreply.github.com>
2024-04-16 10:35:59 +01:00
grafana-delivery-bot[bot]
8d8365671b [v11.0.x] Auth: Improve org role sync debugging (#86203)
Auth: Improve org role sync debugging (#85146)

add login to the context of the logger

(cherry picked from commit da40158fed)

Co-authored-by: Jo <joao.guerreiro@grafana.com>
2024-04-16 10:32:11 +01:00
Ashley Harrison
40e6e28f2a [v11.0.x] Update dependency @kusto/monaco-kusto to v10 (#81382) (#86265)
Update dependency @kusto/monaco-kusto to v10 (#81382)

* Update dependency @kusto/monaco-kusto to v10

* match types + update mocks

* Add missing esModule

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
(cherry picked from commit 5146896264)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-16 10:31:53 +01:00
grafana-delivery-bot[bot]
51edeba087 [v11.0.x] Scopes: Name relationship objects *binding (#86202)
Scopes: Name relationship objects *binding (#84955)

Signed-off-by: bergquist <carl.bergquist@gmail.com>
Co-authored-by: Bogdan Matei <bogdan.matei@grafana.com>
(cherry picked from commit b214b07695)

Co-authored-by: Carl Bergquist <carl.bergquist@gmail.com>
2024-04-16 09:48:00 +01:00
grafana-delivery-bot[bot]
0ab7f88506 [v11.0.x] Dashboard: Migration - Add public dashboard tag in the nav bar (#86263)
Dashboard: Migration -  Add public dashboard tag in the nav bar (#86204)

Migrate public dashboard badge to scenes dashboard

(cherry picked from commit 40f1b2c92c)

Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>
2024-04-16 10:22:35 +02:00
grafana-delivery-bot[bot]
ee1850dca3 [v11.0.x] DashboardScene: Fixes saving dashboard with angular panels (#86255)
DashboardScene: Fixes saving dashboard with angular panels  (#86098)

* DashboardScene: Fixes saving angularOptions

* Update

* Update

(cherry picked from commit e15beab362)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-04-16 03:32:40 +02:00
grafana-delivery-bot[bot]
900080155c [v11.0.x] DashboardScene: Fix empty row repeat issue (#86254)
DashboardScene: Fix empty row repeat issue (#86095)

(cherry picked from commit 869814ea3e)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-04-16 03:27:12 +02:00
grafana-delivery-bot[bot]
a54eeee13c [v11.0.x] docs: add annotations play link (#86248)
docs: add annotations play link (#86206)

* docs: add annotations play link

* PR feedback

(cherry picked from commit c9350a25c4)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-15 17:41:06 -04:00
grafana-delivery-bot[bot]
0f1c922686 [v11.0.x] docs: add thresholds play link (#86241)
docs: add thresholds play link (#86212)

* docs: add thresholds play link

* PR review

(cherry picked from commit f50e29e004)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-15 17:23:56 -04:00
grafana-delivery-bot[bot]
edb1ebec10 [v11.0.x] docs: added logs panel play link; added dedup options, reformatted fig (#86238)
docs: added logs panel play link; added dedup options, reformatted fig (#86209)

* docs: added logs panel play link; added dedup options, reformatted fig

* Update docs/sources/panels-visualizations/visualizations/logs/index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* Update docs/sources/panels-visualizations/visualizations/logs/index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 19ae9377b9)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-15 17:12:46 -04:00
grafana-delivery-bot[bot]
9a06d843a4 [v11.0.x] Docs: added bar gauge play link (#86227)
Docs: added bar gauge play link (#86205)

* docs: added bar gauge play link

* Update docs/sources/panels-visualizations/visualizations/bar-gauge/index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 04e127b368)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-15 15:58:23 -04:00
grafana-delivery-bot[bot]
f40bb12125 [v11.0.x] docs: query data/relative time range override play link (#86231)
docs: query data/relative time range override play link (#86213)

(cherry picked from commit c450d61d32)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-15 15:56:16 -04:00
grafana-delivery-bot[bot]
54a6fb9bf5 [v11.0.x] Docs: add template var Play link; cleanup existing (#86221)
Docs: add template var Play link; cleanup existing (#86074)

* Docs: add template var Play link; cleanup existing

* Update docs/sources/dashboards/variables/_index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* Update docs/sources/dashboards/variables/_index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 5a57c31607)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-15 15:52:22 -04:00
grafana-delivery-bot[bot]
59fe58fedf [v11.0.x] Docs: add panel overview (#86183)
Docs: add panel overview (#86075)

* Added panel overview page and updated panel editor page

* Finalized panel overview intro text and added links

* Added add panel section to overview and removed section from editor

* Fixed version interpolation syntax and updated Cloud link

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Fixed version interpolation syntax

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
(cherry picked from commit d9a0cedd89)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-15 15:31:15 -04:00
grafana-delivery-bot[bot]
ac207411e0 [v11.0.x] Update dependency @msagl/parser to v1.1.18 (#86201)
Update dependency @msagl/parser to v1.1.18 (#85138)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 96c626d3d3)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 16:56:26 +01:00
grafana-delivery-bot[bot]
f1d2c5f2cb [v11.0.x] Changelog: Updated changelog for 10.2.6 (#86200)
Changelog: Updated changelog for 10.2.6 (#85171)

* Changelog: Updated changelog for 10.2.6

* run prettier

---------

Co-authored-by: grafanabot <bot@grafana.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
(cherry picked from commit ee4ac983b2)

Co-authored-by: grafana-delivery-bot[bot] <132647405+grafana-delivery-bot[bot]@users.noreply.github.com>
2024-04-15 16:54:04 +01:00
grafana-delivery-bot[bot]
9a0b8548f8 [v11.0.x] Get started with alerting fixes for publish (#86199)
Get started with alerting fixes for publish (#85158)

* Rename alerting-get-started.md to index.md

* edits

* edits

* prettier

* Update docs/sources/tutorials/alerting-get-started/index.md

Co-authored-by: tonypowa <45235678+tonypowa@users.noreply.github.com>

---------

Co-authored-by: tonypowa <tonypowa@gmail.com>
Co-authored-by: tonypowa <45235678+tonypowa@users.noreply.github.com>
(cherry picked from commit 54270dff36)

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
2024-04-15 16:53:39 +01:00
grafana-delivery-bot[bot]
41a71511f9 [v11.0.x] Changelog: Updated changelog for 10.1.9 (#86198)
Changelog: Updated changelog for 10.1.9 (#85167)

Co-authored-by: grafanabot <bot@grafana.com>
(cherry picked from commit da1ef0e1fa)

Co-authored-by: grafana-delivery-bot[bot] <132647405+grafana-delivery-bot[bot]@users.noreply.github.com>
2024-04-15 16:53:12 +01:00
grafana-delivery-bot[bot]
8d366eb67c [v11.0.x] Prometheus: Create jsonschema spec (#86197)
Prometheus: Create jsonschema spec (#85077)

(cherry picked from commit e5cf863973)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-04-15 16:52:53 +01:00
grafana-delivery-bot[bot]
e00a5ec73e [v11.0.x] Changelog: Updated changelog for 10.0.13 (#86196)
Changelog: Updated changelog for 10.0.13 (#85163)

Co-authored-by: grafanabot <bot@grafana.com>
(cherry picked from commit b47dc7e8ac)

Co-authored-by: grafana-delivery-bot[bot] <132647405+grafana-delivery-bot[bot]@users.noreply.github.com>
2024-04-15 16:49:55 +01:00
grafana-delivery-bot[bot]
c7c5c58b5f [v11.0.x] Nodegraph: Fix issue with rendering single node (#86195)
Nodegraph: Fix issue with rendering single node (#84930)

Fix for single node graph case

(cherry picked from commit aba65747c9)

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2024-04-15 16:49:37 +01:00
grafana-delivery-bot[bot]
ebdea3e5c2 [v11.0.x] Changelog: Updated changelog for 9.5.18 (#86194)
Changelog: Updated changelog for 9.5.18 (#85159)

Co-authored-by: grafanabot <bot@grafana.com>
(cherry picked from commit dd93d9958d)

Co-authored-by: grafana-delivery-bot[bot] <132647405+grafana-delivery-bot[bot]@users.noreply.github.com>
2024-04-15 16:31:47 +01:00
grafana-delivery-bot[bot]
482e660e01 [v11.0.x] SaveDashboardForm: Remove deprecated Form usage (#86193)
SaveDashboardForm: Remove deprecated Form usage (#84172)

* SaveDashboardForm: Remove deprecated Form usage

* Update

(cherry picked from commit d105323f15)

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2024-04-15 16:31:20 +01:00
grafana-delivery-bot[bot]
5239d491a8 [v11.0.x] Saga-icons: Switch to ESM (#86191)
Saga-icons: Switch to ESM (#84875)

(cherry picked from commit 0f6858709b)

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2024-04-15 16:30:56 +01:00
grafana-delivery-bot[bot]
0be78631d7 [v11.0.x] Tooltip / Toggletip content link styling: Remove global a element selector inside tooltips (#86190)
Tooltip / Toggletip content link styling: Remove global a element selector inside tooltips (#84353)

* fix: remove global a tag styles inside tooltips

* corret inside / outside button references in toggletip test

* Remove code and pre styling rules from tooltipUtils

(cherry picked from commit b4ed72f1b6)

Co-authored-by: Chris Bedwell <christopher.bedwell@grafana.com>
2024-04-15 16:30:29 +01:00
grafana-delivery-bot[bot]
98417a579f [v11.0.x] Loki: Support custom X-Query-Tags header (#86189)
Loki: Support custom `X-Query-Tags` header (#85123)

* Loki: Support custom `X-Query-Tags` header

* add comment

(cherry picked from commit 9a8ae3c932)

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2024-04-15 16:30:09 +01:00
grafana-delivery-bot[bot]
232798e0d0 [v11.0.x] IDFowrarding: ignore logging context canceled errors (#86187)
IDFowrarding: ignore logging context canceled errors (#85141)

(cherry picked from commit 2f5e3023c2)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-04-15 16:29:45 +01:00
grafana-delivery-bot[bot]
3547c55b52 [v11.0.x] Provisioning: Fix regression when dashboardProvisioner is accessed before being initialised (#86186)
Provisioning: Fix regression when dashboardProvisioner is accessed before being initialised (#85011)

* Provisioning: Fix regression when dashboardProvisioner is accessed before being initialized

* Set dashboard provisioner in the provider

(cherry picked from commit 5ebf2d08f6)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2024-04-15 16:29:23 +01:00
grafana-delivery-bot[bot]
facb6f63eb [v11.0.x] DataTrails: Fixes home page background issue to make Cards work better (#86185)
DataTrails: Fixes home page background issue to make Cards work better (#85055)

* DataTrails: Fixes home page background issue to make Cards work better

* Update DataTrailsHome.tsx

(cherry picked from commit d039a0a485)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-04-15 16:29:00 +01:00
grafana-delivery-bot[bot]
5c45d2f4cd [v11.0.x] Update ephemeral instances workflow to get version from package.json (#86180)
Update ephemeral instances workflow to get version from package.json (#85088)

* use the same value for GRAFANA_VERSION and HOSTED_GRAFANA_IMAGE_TAG

* update codeowners for these files

(cherry picked from commit dda1531952)

Co-authored-by: Dafydd <72009875+dafydd-t@users.noreply.github.com>
2024-04-15 16:28:29 +01:00
grafana-delivery-bot[bot]
708ba6f3ac [v11.0.x] MySQL: snapshot tests (#86184)
MySQL: snapshot tests (#84846)

mysql: add snapshot tests
(cherry picked from commit 3b7ee3a56b)

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2024-04-15 16:28:08 +01:00
grafana-delivery-bot[bot]
bce6d445e9 [v11.0.x] postgres: improved tests (#86181)
postgres: improved tests (#84677)

* postgres: tests: better test aligning time-series results

* postgres: add snapshot test for a backward-compat code

(cherry picked from commit c835022861)

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2024-04-15 16:27:44 +01:00
grafana-delivery-bot[bot]
6204c035df [v11.0.x] LibraryPanelRBAC: Fix issue with importing dashboards containing library panels (#86149)
LibraryPanelRBAC: Fix issue with importing dashboards containing library panels (#83980)

(cherry picked from commit 6a53864f7a)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2024-04-15 17:18:23 +02:00
grafana-delivery-bot[bot]
87a5f1f30d [v11.0.x] Docs: add dashboards landing page (#86188)
Docs: add dashboards landing page (#86001)

* Added template from existing landing page

* Added dashboards content

* Fixed front matter

* Referenced existing icon to test

* Added test icon

* Edited text

* Fixed link formatting

* Finalized description and overview text

* Updated description'

* Updated tile text

* Updated docs/ref section

(cherry picked from commit 219c2c761e)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-15 11:11:42 -04:00
grafana-delivery-bot[bot]
3aba1ade9f [v11.0.x] Datasources: Add fixed width to name field in config editor (#86179)
Datasources: Add fixed width to name field in config editor (#84970)

add fixed width to name field

(cherry picked from commit 28ecd83987)

Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
2024-04-15 16:10:37 +01:00
grafana-delivery-bot[bot]
3628fdd6d7 [v11.0.x] Update dependency rudder-sdk-js to v2.48.6 (#86174)
Update dependency rudder-sdk-js to v2.48.6

(cherry picked from commit 4b11877337)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 16:10:15 +01:00
grafana-delivery-bot[bot]
9744f081fc [v11.0.x] Expressions+Testdata: Create json schema for query types (#86164)
Expressions: Create json schema for query types (#84032)

(cherry picked from commit 4cda34ff7d)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-04-15 16:09:50 +01:00
grafana-delivery-bot[bot]
0a95bcb6bd [v11.0.x] Chore: Add github action to check go module updates (#86161)
Chore: Add github action to check go module updates (#84936)

(cherry picked from commit d4e6b325bf)

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
2024-04-15 16:09:31 +01:00
grafana-delivery-bot[bot]
8a1cda8787 [v11.0.x] Docs: add tags section to dashboard settings docs (#86178)
Docs: add tags section to dashboard settings docs (#85875)

Edited

(cherry picked from commit 918f122433)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-15 11:02:03 -04:00
grafana-delivery-bot[bot]
6efe1b5cab [v11.0.x] Docs: add best practices Play link (#86173)
Docs: add best practices Play link (#86076)

(cherry picked from commit eb46d85829)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-15 10:58:53 -04:00
grafana-delivery-bot[bot]
8c0c45d54a [v11.0.x] Alerting: Return a 400 and errutil error when trying to delete a contact point that is referenced by a policy (#86163)
Alerting: Return a 400 and errutil error when trying to delete a contact point that is referenced by a policy (#85481)

Return a 400 and errutil error when trying to delete a contact point that is referenced by a policy

(cherry picked from commit 5b1498f98f)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2024-04-15 09:49:09 -05:00
grafana-delivery-bot[bot]
16695fe0df [v11.0.x] Table Panel: Fix image disappearing when datalinks applied (#86160)
Table Panel: Fix image disappearing when datalinks applied (#84625)

* Fix link image disappearing

* Prettier

* i18n

* Fix offset to compensate for padding

* Prettier

---------

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
(cherry picked from commit 154868e624)

Co-authored-by: Kyle Cunningham <codeincarnate@users.noreply.github.com>
2024-04-15 15:42:46 +01:00
grafana-delivery-bot[bot]
ffe58a03b1 [v11.0.x] Scopes: Add type filter (#86159)
Scopes: Add type filter (#84866)

Co-authored-by: Kyle Brandt <kyle@grafana.com>
(cherry picked from commit dfe61db7a5)

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
2024-04-15 15:42:27 +01:00
grafana-delivery-bot[bot]
2a2d3df119 [v11.0.x] Chore: Update glob-stream (#86156)
Chore: Update glob-stream (#85107)

(cherry picked from commit a61cac9d51)

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2024-04-15 15:28:02 +01:00
grafana-delivery-bot[bot]
539800501b [v11.0.x] Chore: Add golangci-lint depgaurd rules for sub-modules (#86155)
Chore: Add depgaurd rules for sub-modules (#84084)

(cherry picked from commit 9684a9e39a)

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
2024-04-15 15:27:43 +01:00
grafana-delivery-bot[bot]
19255a23ae [v11.0.x] K8s: replace a noop certKey content func with actual if available (#86154)
K8s: replace a noop certKey content func with actual if available (#84524)

(cherry picked from commit dd7d4e2656)

Co-authored-by: Charandas <charandas@users.noreply.github.com>
2024-04-15 15:27:28 +01:00
grafana-delivery-bot[bot]
2cf73012ab [v11.0.x] SSO: fix reloading settings when a provider contains empty settings (#86142)
SSO: fix reloading settings when a provider contains empty settings (#85102)

* fix reloading settings when a provider contains empty settings

* do not increment reloadFailures if settings are empty

(cherry picked from commit fad6dc4db1)

Co-authored-by: Mihai Doarna <mihai.doarna@grafana.com>
2024-04-15 15:27:04 +01:00
grafana-delivery-bot[bot]
d08ca1f4eb [v11.0.x] Chore: Run backend lint in PRs if .golangci.toml changes (#86141)
Chore: Run backend lint in PRs if .golangci.toml changes (#85106)

Chore: Run lint backend if .golangci.toml changes
(cherry picked from commit 71c5070240)

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
2024-04-15 15:07:14 +01:00
grafana-delivery-bot[bot]
e268568add [v11.0.x] Chore: Define promlib depguard rules (#86140)
Chore: Define promlib depguard rules (#85082)

* define promlib depguard rules

* add comment

* test: break linting on purpose

* fix linting

* simple change to trigger backend linting/build in CI pipeline

(cherry picked from commit 92f5a0305c)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-04-15 15:06:58 +01:00
Ashley Harrison
3a4993ffde [v11.0.x] docs: updates to stat panel documentation (#86151)
docs: updates to stat panel documentation (#84814)

* docs: updates to stat panel documentation

* Apply suggestions from code review

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* Made formatting and wording edit

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
(cherry picked from commit 34195ba854)

Co-authored-by: Marie Cruz <mdcruz@users.noreply.github.com>
2024-04-15 10:06:18 -04:00
grafana-delivery-bot[bot]
2eea316155 [v11.0.x] docs: update text panel documentation (#86138)
docs: update text panel documentation (#84884)

* docs: update text panel

* Apply suggestions from code review

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 44ae127a6e)

Co-authored-by: Marie Cruz <mdcruz@users.noreply.github.com>
2024-04-15 14:54:11 +01:00
grafana-delivery-bot[bot]
0fe31d86fc [v11.0.x] Cloud migrations: create endpoint to create an access token (#86137)
Cloud migrations: create endpoint to create an access token (#84690)

* fix merge conflicts

* make token expiration configurable

(cherry picked from commit a2e21eac8c)

Co-authored-by: Bruno <brunotj2015@hotmail.com>
2024-04-15 14:53:53 +01:00
grafana-delivery-bot[bot]
16f1b9d4f0 [v11.0.x] docs: update status history panel (#86139)
docs: update status history panel (#84939)

* docs: updates to status history panel documentation

* docs: updates to status history panel documentation

* Apply suggestions from code review

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* fix: linting issues

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 15dca45514)

Co-authored-by: Marie Cruz <mdcruz@users.noreply.github.com>
2024-04-15 09:52:47 -04:00
grafana-delivery-bot[bot]
d98e296efb [v11.0.x] K8s: skip invalid items in GetList when not invoked as part of SendInitialEvents (#86135)
K8s: skip invalid items in GetList when not invoked as part of SendInitialEvents (#85050)

(cherry picked from commit e237b89fe7)

Co-authored-by: Charandas <charandas@users.noreply.github.com>
2024-04-15 14:41:24 +01:00
grafana-delivery-bot[bot]
b5adee8f92 [v11.0.x] Plugins: Factory for instantiating core plugin (#86134)
Plugins: Factory for instantiating core plugin (#85047)

(cherry picked from commit 8f12fb94f9)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2024-04-15 14:41:05 +01:00
Ashley Harrison
20d6961030 [v11.0.x] Chore: Bump golangci-lint v1.57.1 (#86131)
Chore: Bump golangci-lint v1.57.1 (#84998)

* bump golangci-lint v1.57.1

* update setting

* remove goconst

* fix linting issues

* prettier

* fix G601

* go mod tidy
go work sync

(cherry picked from commit 6137c4e0a6)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-04-15 14:40:35 +01:00
grafana-delivery-bot[bot]
aaf233faac [v11.0.x] Server: Fix 'server' subcommand double-registration (#86126)
Server: Fix 'server' subcommand double-registration (#86083)

fix 'server' subcommand double-registration

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
(cherry picked from commit 44adfea049)

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2024-04-15 09:35:33 -04:00
grafana-delivery-bot[bot]
9caf8f6fff [v11.0.x] k8s/query+ds: catch query errors, fix datasourceProvider and expose prometheus (#86119)
k8s/query+ds: catch query errors, fix datasourceProvider and expose prometheus (#85071)

(cherry picked from commit e6fa367d02)

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-04-15 13:59:42 +01:00
grafana-delivery-bot[bot]
524c590462 [v11.0.x] OAuth: Make sub claim required for generic oauth behind feature toggle (#86118)
OAuth: Make sub claim required for generic oauth behind feature toggle (#85065)

* Add feature toggle for sub claims requirement

* OAuth: require valid auth id

* Fix feature toggle description

(cherry picked from commit 2f3a01f79f)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-04-15 13:59:05 +01:00
grafana-delivery-bot[bot]
b49a40d319 [v11.0.x] Grafana: define the api for the grafana cloudmigration api (not the csm api) (#86115)
Grafana: define the api for the grafana cloudmigration api (not the csm api) (#84430)

* Add cloud migration endpoints

* Built auth into creating a migration.

* Added more detail to the migration result model

* goimports

* Update pkg/services/cloudmigration/api/api.go

Co-authored-by: lean.dev <34773040+leandro-deveikis@users.noreply.github.com>

* Update pkg/services/cloudmigration/api/api.go

Co-authored-by: lean.dev <34773040+leandro-deveikis@users.noreply.github.com>

---------

Co-authored-by: Leonard Gram <leo@xlson.com>
Co-authored-by: lean.dev <34773040+leandro-deveikis@users.noreply.github.com>
(cherry picked from commit e2f155f9f7)

Co-authored-by: idafurjes <36131195+idafurjes@users.noreply.github.com>
2024-04-15 13:58:39 +01:00
grafana-delivery-bot[bot]
02788457c6 [v11.0.x] alerting: get started tutorial (#86114)
alerting: get started tutorial (#84669)

* first commit

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

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

* second commit

* updated headings

* Update alerting-get-started.md

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* third commit

* Update alerting-get-started.md

* Update alerting-get-started.md

* Update alerting-get-started.md

* edited contact point - summary

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/tutorials/alerting-get-started/alerting-get-started.md

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* elaboration, formatting

* minor changes

* pretty

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
(cherry picked from commit 4be5eaa14f)

Co-authored-by: tonypowa <45235678+tonypowa@users.noreply.github.com>
2024-04-15 13:58:11 +01:00
grafana-delivery-bot[bot]
a9042a3eff [v11.0.x] Fix InteractiveTable: React, less hooks rendered than previous render (#86113)
Fix InteractiveTable: React, less hooks rendered than previous render (#85043)

fix: react-hooks error if data length switches from above or below pageSize
(cherry picked from commit d7f739c8e5)

Co-authored-by: Adam Bannach <113929542+abannachGrafana@users.noreply.github.com>
2024-04-15 13:57:49 +01:00
grafana-delivery-bot[bot]
c1cdf1d334 [v11.0.x] Add jest-watch-typeahead and use for better filtering of jest tests (#86112)
* Add jest-watch-typeahead dev dependency

https://www.npmjs.com/package/jest-watch-typeahead

* Add jest watch plugins for better experience filtering tests

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2024-04-15 13:57:26 +01:00
grafana-delivery-bot[bot]
7525dc1d7a [v11.0.x] I18n: Download translations from Crowdin (#86116)
I18n: Download translations from Crowdin (#85006)

(cherry picked from commit 82b82675f7)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-15 13:57:07 +01:00
grafana-delivery-bot[bot]
6a14aeae60 [v11.0.x] Chore: Vendor wire into pkg/build (#86110)
Chore: Vendor wire into pkg/build (#84637)

* vendor latest wire into pkg/build

* use vendored wire in builds

* fix wire import path

* remove wire from bingo

* also support google/wire import

* make prettier happy

* change package in tess

* add debug walk for drone

* add wire_gen in tests

* remove debug walk

* restore imports

(cherry picked from commit 4d4c06b480)

Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
2024-04-15 13:56:44 +01:00
grafana-delivery-bot[bot]
6d0e1bee70 [v11.0.x] samlsettings: api integration (#86109)
samlsettings: api integration (#84300)

* add strategy and tests

* use settings provider service and remove multiple providers strategy

* Move SAML strategy to ssosettings service

* Update codeowners file

* reload from settings provider

* add saml as configurable provider

* Add new SAML strategy

* rename old saml settings interface

* update saml string references

* use OSS license

* validate saml provider depends on license for List

* add tests for list rendering including saml

* change the licensing validation to service init

* replace service struct for provider

(cherry picked from commit fc205db466)

Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
2024-04-15 13:55:59 +01:00
grafana-delivery-bot[bot]
d1a40dea5b [v11.0.x] Fix Canvas crashing in scenes dashboard (#86125)
Fix Canvas crashing in scenes dashboard (#86117)

(cherry picked from commit 6fb13842a5)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2024-04-15 14:31:44 +02:00
grafana-delivery-bot[bot]
de27d86e7b [v11.0.x] Docs: add data source type play link; cleanup (#86105)
Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-15 10:53:55 +01:00
grafana-delivery-bot[bot]
bca7aea61c [v11.0.x] DashboardScene: Fixes issue moving between dashboards (#86096)
DashboardScene: Fixes issue moving between dashboards (#86093)

(cherry picked from commit 814ffdbc2b)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-04-15 10:09:54 +02:00
grafana-delivery-bot[bot]
56ea839a82 [v11.0.x] Alerting: Fix evaluation metrics to not count retries (#86059)
Alerting: Fix evaluation metrics to not count retries (#85873)

* Change evaluation metrics to only count once per eval, and add new metrics.

* Cosmetic: Move eval total Inc() to orginal place.

(cherry picked from commit ad7f804255)

Co-authored-by: Steve Simpson <steve.simpson@grafana.com>
2024-04-12 19:49:57 +02:00
Andreas Christou
2c5f9c83f0 [v11.0.x] plugins: update to latest go plugin sdk version (v0.222.0) (#85963)
plugins: update to latest go plugin sdk version (v0.222.0) (#85943)

plugins: update to latest go plugink sdk (v0.222.0)
(cherry picked from commit 050105e70a)

# Conflicts:
#	go.mod
#	go.sum
#	pkg/apiserver/go.mod
#	pkg/apiserver/go.sum
#	pkg/promlib/go.mod
#	pkg/promlib/go.sum

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2024-04-12 14:52:45 +02:00
grafana-delivery-bot[bot]
8eef690da0 [v11.0.x] TimeSeries: Fix series rendering with data links and extra fields (#86044)
TimeSeries: Fix series rendering with data links and extra fields (#86007)

(cherry picked from commit 2bedbcf344)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-04-12 07:50:27 -05:00
grafana-delivery-bot[bot]
173f10c439 [v11.0.x] EmptyState: make "message" a required prop (#86046)
EmptyState: make "message" a required prop (#86029)

* make "message" a required prop on EmptyState

* run i18n:extract

(cherry picked from commit b3401c802c)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-04-12 14:30:03 +02:00
grafana-delivery-bot[bot]
f203264f42 [v11.0.x] Scenes: Persist changes made in edit mode to save model (#86026)
Scenes: Persist changes made in edit mode to save model (#84320)

(cherry picked from commit 9efbf142a8)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2024-04-12 11:50:24 +02:00
grafana-delivery-bot[bot]
d2c6cc85b4 [v11.0.x] Docs: add mysql data source Play link (#86020)
Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-12 10:36:07 +01:00
grafana-delivery-bot[bot]
6e5efe2f6d [v11.0.x] Docs: add graphite data source Play link (#86018)
Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-12 10:35:31 +01:00
grafana-delivery-bot[bot]
752a81d230 [v11.0.x] Docs: fix duplicate headings (#85973)
Docs: fix duplicate headings (#85903)

Added suffix to one Placement heading

(cherry picked from commit 2798acd667)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-11 14:18:46 -04:00
grafana-delivery-bot[bot]
3c3127fec5 [v11.0.x] Docs: add bar/pie visualization Play link (#85990)
Docs: add bar/pie visualization Play link (#85898)

* Update index.md

* pie chart equivalent commit

* Updated titles to match dashboard title

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 623d4d580e)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-11 14:09:40 -04:00
grafana-delivery-bot[bot]
0d61b14c02 [v11.0.x] Docs: add gague visualization Play link (#85986)
Docs: add gague visualization Play link (#85897)

* Docs: add gague visualization Play link

* Fixed typo

* Updated title to match dashboard title

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 17a8de68e6)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-11 14:08:50 -04:00
Isabel Matwawana
9c5d02a932 [v11.0.x] Docs: add stat visualization Play link (#85979)
Docs: add stat visualization Play link (#85895)

(cherry picked from commit cdfd092d11)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-11 14:02:31 -04:00
grafana-delivery-bot[bot]
8c9499c1b8 [v11.0.x] Docs: add Table visualization Play link (#85977)
Docs: add Table visualization Play link (#85896)

Docs: add stat visualization Play link
(cherry picked from commit 83438bd231)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-11 13:45:31 -04:00
grafana-delivery-bot[bot]
f9f34aeb51 [v11.0.x] Docs: add time series visualization Play link (#85994)
Docs: add time series visualization Play link (#85885)

* docs/play shortcode: time series visualization

* Ran prettier

* Updated title to match title of dashboard in Grafana Play

---------

Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 765f20c555)

Co-authored-by: David Allen <david.allen@grafana.com>
2024-04-11 13:38:08 -04:00
grafana-delivery-bot[bot]
d4d69cfd4e [v11.0.x] Google Cloud Monitor: Fix interface conversion for incorrect type in cloudMonitoringProm.run (#85928)
Google Cloud Monitor: Fix interface conversion for incorrect type in `cloudMonitoringProm.run` (#85811)

(cherry picked from commit 0ec8ccbf66)

Co-authored-by: Adam Yeats <16296989+adamyeats@users.noreply.github.com>
2024-04-11 17:52:28 +02:00
grafana-delivery-bot[bot]
b581a71ee7 [v11.0.x] datatrails: fix: clear undefined query params on history step change (#85955)
datatrails: fix: clear undefined query params on history step change (#85607)

* fix: clear undefined query params on history step change

* Minor tweak

* fix: resolve CodeQL check: Client-side cross-site scripting

---------

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
(cherry picked from commit 34875344ed)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-04-11 14:28:14 +00:00
Darren Janeczek
a39501f9d5 chore: update datatrails feature flag and enable (#85508) (#85822)
* chore: update datatrails feature flag and enable

* fix: rename `datatrails` feature flag to `exploreMetrics`

(cherry picked from commit 66c0fd4dcc)
2024-04-11 14:38:14 +01:00
grafana-delivery-bot[bot]
d46663584f [v11.0.x] Revert "Docs: Clarify open source documentation (#77077)" (#85946)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-04-11 13:56:38 +01:00
grafana-delivery-bot[bot]
31cc5a9634 [v11.0.x] Dashboard: Allow auto refresh option when saving a dashboard (#85922) 2024-04-11 11:50:25 +02:00
grafana-delivery-bot[bot]
0ef11f0c23 [v11.0.x] datatrails: ensure breakdown yaxis sync is maintained when layout changes (#85906)
datatrails: ensure breakdown yaxis sync is maintained when layout changes (#85380)

fix: ensure breakdown yaxis sync is maintained when layout changes
(cherry picked from commit 2e1e45bbb1)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-04-10 23:28:44 +02:00
grafana-delivery-bot[bot]
a81a41a87d [v11.0.x] DashboardScene: prevent panel hovel header crop with scenes (#85899)
DashboardScene: prevent panel hovel header crop with scenes (#85869)

* add behaviour that adjusts hoverHeaderOffset

* clean up behaviour logic

* optimise and extract behaviour to separate file

* fix hoverHeaderOffsetBehavior unsubscribe

* update to latest scenes version

* Fix PanelOptionsTest

* fix: test value for adhoc filter url param

* Fix transformation tab tests

* bump scenes version

* Revert "Fix transformation tab tests"

This reverts commit 3ec9f5b226.

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Darren Janeczek <darren.janeczek@grafana.com>
Co-authored-by: oscarkilhed <oscar.kilhed@grafana.com>
(cherry picked from commit 79631bdd15)

Co-authored-by: Sergej-Vlasov <37613182+Sergej-Vlasov@users.noreply.github.com>
2024-04-10 21:13:17 +03:00
grafana-delivery-bot[bot]
b88806719d [v11.0.x] Chore: Fix position for RolePickerMenu being out of bounds (#85892)
Chore: Fix position for RolePickerMenu being out of bounds (#85604)

* Fix position for RolePickerMenu being out of bounds

* adjust the offset of the role picker menu

(cherry picked from commit 85e66d8edb)

Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
2024-04-10 18:08:58 +02:00
grafana-delivery-bot[bot]
e5d4ddf59b [v11.0.x] DashboardScene: Enrich requests correctly in edit mode (#85890)
DashboardScene: Enrich requests correctly in edit mode (#85883)

(cherry picked from commit 615fa73f23)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2024-04-10 18:04:12 +02:00
grafana-delivery-bot[bot]
0b14c95dd8 [v11.0.x] InfluxDB: Fix panic when reading concurrency count during influxql health check (#85877)
InfluxDB: Fix panic when reading concurrency count during influxql health check (#85771)

fix panic when reading concurrency count during influxql health check

(cherry picked from commit 96f49bfaee)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-04-10 17:46:42 +02:00
grafana-delivery-bot[bot]
f8f908ead8 [v11.0.x] Docs: add unit scaling clarification (#85872)
Docs: add unit scaling clarification (#85830)

* Added unit scaling information

* Edited

(cherry picked from commit d666b92317)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-10 09:18:04 -04:00
Ashley Harrison
af2583c889 ConfirmModal: Pressing enter in confirmation input now triggers prima… (#85841)
* ConfirmModal: Pressing enter in confirmation input now triggers primary action (#85812)

wrap confirm modal in a form

* add missing imports
2024-04-10 10:31:30 +01:00
grafana-delivery-bot[bot]
2599f9985f [v11.0.x] Dashboard scenes: Fix export tab not including variables when exporting externally (#85824)
Dashboard scenes: Fix export tab not including variables when exporting externally (#85807)

Fix export tab not including variables when exporting externally

(cherry picked from commit 96abe65fe4)

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2024-04-10 08:25:36 +02:00
grafana-delivery-bot[bot]
8f0cae0111 [v11.0.x] Docs: Fix wrong word for tempo example config (#85818)
Co-authored-by: wissy <10373091+wissyhost@users.noreply.github.com>
Fix wrong word for tempo example config (#85046)
2024-04-09 22:41:24 +01:00
grafana-delivery-bot[bot]
4f6422f721 [v11.0.x] Check source panel for updates in Dashboard DS panel (#85819)
Check source panel for updates in Dashboard DS panel (#85655)

* Check source panel for updates in Dashboard DS panel

* Test

* made it better

* cleanup

* cleanup and tests

* fix failing tests

* find the correct dashboard query

* revert mixed check in dashboard behaviour

* Dashboard data source: Return error when used in mixed data source (#85765)

* MixedDS: Inform about dashboard ds not being supported

* lint fix

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
(cherry picked from commit b6249d6a50)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2024-04-09 21:18:56 +03:00
grafana-delivery-bot[bot]
6665121a4a [v11.0.x] DashboardScene: Detect changes when editing a panel (#85813)
DashboardScene: Detect changes when editing a panel (#85708)

(cherry picked from commit 27bc0c19ab)

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2024-04-09 19:06:57 +03:00
grafana-delivery-bot[bot]
2309351fab [v11.0.x] Docs: add updated youtube link (#85803)
Docs: add updated youtube link (#85801)

Updated youtube link

(cherry picked from commit 1b1450e593)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-09 09:35:04 -04:00
grafana-delivery-bot[bot]
6e2e733810 [v11.0.x] Chore: Update RPM docs to include beta release references (#85793)
Chore: Update RPM docs to include beta release references (#85753)

* Update RPM docs to include beta release references

* andreas/update-installation-docs/ run lint

* Don't number lists

---------

Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
(cherry picked from commit 3420e942ac)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-04-09 12:31:53 +01:00
grafana-delivery-bot[bot]
97d02174ac [v11.0.x] Dashboards: Add isViewing to mustKeepProps (#85786)
Dashboards: Add isViewing to mustKeepProps (#85748)

(cherry picked from commit 02096c4e22)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2024-04-09 13:50:40 +03:00
grafana-delivery-bot[bot]
d56f75eb5c [v11.0.x] Time Zones: Fix relative time when using UTC timezone (#85779)
Time Zones: Fix relative time when using UTC timezone (#85637)

add UTC case to e2e test + let UTC pass through to moment.tz

(cherry picked from commit 4b5b738646)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-04-09 12:12:32 +03:00
grafana-delivery-bot[bot]
ee8bb9e3d4 [v11.0.x] Grafana E2E: Add deprecation notice and update docs (#85778)
Grafana E2E: Add deprecation notice and update docs (#85619)

* add deprecation notice

* update docs

* Update packages/grafana-e2e/README.md

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
(cherry picked from commit 0f1b65a7ad)

Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
2024-04-09 11:02:03 +02:00
grafana-delivery-bot[bot]
3ca8a7ccc2 [v11.0.x] DataTrails: Do not create a new VizPanel every activation (#85774) 2024-04-09 10:58:15 +02:00
grafana-delivery-bot[bot]
fcabedd406 [v11.0.x] Move all "add" actions into a dropdown (#85777)
Dashboard: Move "add" actions into a dropdown (#85776)

* Move all add actions into a dropdown

* Hide alerts rules when editing

* Hide fav icon when editing

(cherry picked from commit df72cfd38e)

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2024-04-09 08:38:42 +00:00
grafana-delivery-bot[bot]
9d01858763 [v11.0.x] PostgreSQL: Fix the verify-ca mode (#85775)
PostgreSQL: Fix the verify-ca mode (#85530)

postgres: fix the verify-ca problem
(cherry picked from commit 8a15ed42ae)

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2024-04-09 09:28:56 +02:00
grafana-delivery-bot[bot]
7ac14ff217 [v11.0.x] Update teamHttpHeaders casing (#85769)
Update teamHttpHeaders casing (#85767)

teamHTTPHeaders does not work.
teamHttpHeaders is the correct syntax for the feature toggle.

(cherry picked from commit 9d7e758e04)

Co-authored-by: Dai Nguyen <88277570+ej25a@users.noreply.github.com>
2024-04-08 22:27:56 +01:00
grafana-delivery-bot[bot]
d57a37fa33 [v11.0.x] Docs: g11 preview whats new fixes (#85763)
Docs: g11 preview whats new fixes (#85759)

* Made style fixes to intro

* Updated upgrade guide menu title

* Commented Explore metrics docs link back in

(cherry picked from commit 8014665ab5)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-08 15:14:07 -04:00
grafana-delivery-bot[bot]
8fd80d6fbd [v11.0.x] PR to document Explore Metrics (previously datatrails) (#85761)
PR to document Explore Metrics (previously datatrails) (#85212)

* text dump

* initial edits

* more edits

* added more info, made edits

* first draft

* removed some commented out content

* final edits

* made requested changes

* feature name change

* missed a metrics explore - fixed

* ran prettier

---------

Co-authored-by: lwandz13 <larissa.wandzura@grafana.com>
(cherry picked from commit 3721682a02)

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
2024-04-08 13:29:36 -05:00
grafana-delivery-bot[bot]
55af0f0006 [v11.0.x] DashboardScene: Fixes issue with mobile responsive layout due to repeated grid item class (#85741)
DashboardScene: Fixes issue with mobile responsive layout due to repeated grid item class (#85731)

(cherry picked from commit edf36d9ec0)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-04-08 17:18:13 +02:00
grafana-delivery-bot[bot]
f4f9c24c0d [v11.0.x] PublicDashboards: Footer fix for scenes (#85740)
PublicDashboards: Footer fix for scenes (#85684)

(cherry picked from commit d0312af571)

Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
2024-04-08 18:15:12 +03:00
grafana-delivery-bot[bot]
35c8bc7988 [v11.0.x] Docs: add youtube links to g11 preview what's new (#85742)
Docs: add youtube links to g11 preview what's new (#85738)

* Added youtube links

* Commented scenes video out

(cherry picked from commit fe3b6d3c5e)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-08 11:14:59 -04:00
Isabel Matwawana
52b16308f7 [v11.0.x] Docs: Re-order features and update intro in Grafana 11.0-preview What's new (#85739)
Docs: Re-order features and update intro in Grafana 11.0-preview What's new (#85702)

* Re-order features and update intro in Grafana 11.0-preview What's new

* Removed title casing

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 3865b8c980)

Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>
2024-04-08 10:51:00 -04:00
grafana-delivery-bot[bot]
745ae03895 Release: Bump version to 11.0.0 (#85729)
"Release: Updated versions in package to 11.0.0"

Co-authored-by: grafana-delivery-bot[bot] <132647405+grafana-delivery-bot[bot]@users.noreply.github.com>
2024-04-08 14:33:03 +02:00
grafana-delivery-bot[bot]
6d23466d5f [v11.0.x] Dashboards: Fix issue with changing panel JSON from edit view (#85728)
Dashboards: Fix issue with changing panel JSON from edit view (#85717)

(cherry picked from commit 1b376546e2)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2024-04-08 15:06:57 +03:00
Ivan Ortega Alba
48d499da74 [v11.0.x] Detect folder changes when saving a dashboard (#85727)
Detect folder changes when saving a dashboard (#85378)

(cherry picked from commit d983629650)
2024-04-08 15:00:50 +03:00
grafana-delivery-bot[bot]
8f839fc894 [v11.0.x] Chore: update go version used in bump-version so it works with the new format (#85724)
Chore: update go version used in `bump-version` so it works with the new format (#85111)

update go version used in bump-version

(cherry picked from commit 4974a89316)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-04-08 14:51:12 +03:00
grafana-delivery-bot[bot]
2201a95973 [v11.0.x] Changelog: Updated changelog for 11.0.0-preview (#85719)
* Changelog: Updated changelog for 11.0.0-preview (#85718)

* Changelog: Updated changelog for 11.0.0-preview

* changelog: fix style issues

---------

Co-authored-by: grafanabot <bot@grafana.com>
Co-authored-by: Matias Chomicki <matyax@gmail.com>
(cherry picked from commit 7078347d0f)

* Update

---------

Co-authored-by: grafana-delivery-bot[bot] <132647405+grafana-delivery-bot[bot]@users.noreply.github.com>
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-04-08 12:31:47 +01:00
Ivan Ortega Alba
827d251220 [v11.0.x] Add auto to refresh picker (#85722)
Add `auto` to refresh picker (#85584)

(cherry picked from commit 9d44c8e8cf)

Co-authored-by: Bogdan Matei <bogdan.matei@grafana.com>
2024-04-08 14:30:45 +03:00
Misi
e2e9434cb4 [v11.0.x] Auth: Convert SetDefaultOrgHook to PostLoginHook (#85664)
Auth: Convert SetDefaultOrgHook to PostLoginHook (#85649)

* Convert SetDefaultOrgHook to PostLoginHook

(cherry picked from commit 8796d2d307)
2024-04-08 11:38:32 +03:00
Dominik Prokop
7bcd176e88 [v11.0.x] Bump scenes to v4.5.4 (#85706)
Bump scenes to v4.5.4 (#85681)

bump scenes to v4.5.4

(cherry picked from commit 432936cdcf)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2024-04-08 10:30:15 +03:00
grafana-delivery-bot[bot]
f83784b17d [v11.0.x] Docs: What’s new & Upgrade guide & Breaking changes v11.0-preview (#85700)
* Docs: What’s new & Upgrade guide & Breaking changes v11.0-preview (#84603)

* Updated index pages and added 11.0 breaking changes, upgrade guide, and what's new pages

* Removed references to 10.4

* Added draft breaking changes

* docs: grafana11-upgrade: postgres (#84671)

* docs: grafana11-upgrade: postgres

* fix typos

Co-authored-by: Sriram <153843+yesoreyeram@users.noreply.github.com>

* improved text

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* improved text

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* improved text

---------

Co-authored-by: Sriram <153843+yesoreyeram@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* Added internal note

* Added what's new items

* Added more breaking changes'

* Copy edits

* Revert "docs: grafana11-upgrade: postgres" (#85580)

Revert "docs: grafana11-upgrade: postgres (#84671)"

This reverts commit d766d734c2.

* Removed internal link and moved PR link

* Added new entries

* Made fixes

* Updated name

* Copy edits

* Fixed links and minor copy edits

* Removed link to Cloud What's new

* Added OSS what's new link

* Fixed spelling of GitHub

* Added Explore Logs and updated Explore Metrics

---------

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
Co-authored-by: Sriram <153843+yesoreyeram@users.noreply.github.com>
(cherry picked from commit fb1afa0c34)

* Minor wording fixes

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-07 23:18:59 -04:00
grafana-delivery-bot[bot]
955d096b26 [v11.0.x] Annotations: Fix annotation title (#85691)
Annotations: Fix annotation title (#85614)

(cherry picked from commit 5f0ca1429b)

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2024-04-05 18:40:24 -05:00
grafana-delivery-bot[bot]
5d14e5e1c7 [v11.0.x] docs: add missing viz types to index (#85675)
docs: add missing viz types to index (#85400)

* docs: add missing viz types to index

* prettier

* Update _index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* fix merge mistake

* fix cloud links

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit cd05568459)

Co-authored-by: David Harris <david.harris@grafana.com>
2024-04-05 18:08:02 +01:00
grafana-delivery-bot[bot]
cc7a4cc96a [v11.0.x] Scenes: Add PDF tab in share modal (#85665)
Scenes: Add PDF tab in share modal  (#85541)

(cherry picked from commit 8e8bfae761)

Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
2024-04-05 17:47:44 +03:00
grafana-delivery-bot[bot]
bb5e1e0c5b [v11.0.x] Loki: Remove API restrictions on resource calls (#85201)
Loki: Remove API restrictions on resource calls (#85191)

Loki: Remove API restrictions
(cherry picked from commit c80b31a0d4)

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2024-04-05 16:00:20 +02:00
grafana-delivery-bot[bot]
49e74d3237 [v11.0.x] Update CODEOWNERS file for Explore docs (#85657)
Update CODEOWNERS file for Explore docs (#85656)

Update CODEOWNERS

(cherry picked from commit d8407c78db)

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
2024-04-05 16:47:12 +03:00
grafana-delivery-bot[bot]
576a7e4f61 [v11.0.x] DashboardScene: Fixes panel edit issue with clearing title not resulting in hover header mode (#85633)
DashboardScene: Fixes panel edit issue with clearing title not resulting in hover header mode  (#85621)

* PanelEditor: Update hoverHeader state when changing panel title

* refactor test and remove duplicate

(cherry picked from commit 49a3a95dd1)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-04-05 13:06:20 +02:00
grafana-delivery-bot[bot]
657a6c2288 [v11.0.x] Applinks: Adds grafana-lokiexplore-app to Explore -> Logs section (#85216)
Applinks: Adds `grafana-lokiexplore-app` to `Explore -> Logs` section (#85200)

(cherry picked from commit e284812796)

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2024-04-05 13:00:50 +02:00
Giuseppe Guerra
987d674bf4 [v11.0.x] Angular deprecation: Prefer local "angularDetected" value to the remote one (#85632)
Angular deprecation: Prefer local "angularDetected" value to the remote one (#85571)

* Angular deprecation: Prefer local value to remote

* Update tests

(cherry picked from commit c033a15aaa)
2024-04-05 11:47:19 +02:00
grafana-delivery-bot[bot]
8e74b767b8 [v11.0.x] Scenes: Add modal ref to custom tabs (#85623)
Scenes: Add modal ref to custom tabs (#85602)

(cherry picked from commit 3ef23a5e3e)

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2024-04-05 09:56:34 +02:00
grafana-delivery-bot[bot]
9fb7420ed2 [v11.0.x] Docs: add xychart to panel config docs (#85616)
Docs: add xychart to panel config docs (#85615)

* Added xy chart to panel config docs

* Fixed typo

(cherry picked from commit 6fb1da42bf)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-04 17:15:06 -04:00
grafana-delivery-bot[bot]
0e4d9fd162 [v11.0.x] Docs: Add xy chart docs (#85612)
Docs: Add xy chart docs (#81980)

* Added xy chart page and added link to main visualizations page

* Added options

* Updated Axis options section and added doc ref links

* Added new shared files for tooltip and legend options and added them to xy chart

* Added Other visualization options section, docs refs, and updated Cloud links

* Fixed links

* Added option descriptions, hero image, content notes, and removed placeholder heading

* Apply suggestions from code review

* Added collapsible sections for series mapping modes

* Added Cloud links and fixed link text

* Added notes

* Updated series mapping descriptions

* Updated Auto series mapping options

* Updated manual section and restructured page

* Copy edits

* copy edits

* Added description

* Clarifying supported data info

* Copy edits from review

* Fixed typo

* Copy edits

* Fixed links

(cherry picked from commit 0d7834c7f7)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-04 16:33:43 -04:00
grafana-delivery-bot[bot]
b30c78961b [v11.0.x] Docs: Fix canvas G11 updates (#85609)
Docs: Fix canvas G11 updates (#85024)

* Removed features not yet completed

* additional doc updates

* Fixed codespell error

* Fixed video embed link

* Fixed punctuation

* updated to do note

---------

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
(cherry picked from commit 8957fd2b3b)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-04-04 14:04:58 -04:00
grafana-delivery-bot[bot]
5c138c8196 [v11.0.x] Dashboards: Removes descending z-index assignment for grid items (#85596)
Dashboards: Removes descending z-index assignment for grid items (#85563)

(cherry picked from commit b5c33c540c)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2024-04-04 17:10:05 +03:00
grafana-delivery-bot[bot]
b7f1fa0ff5 [v11.0.x] Scenes: Fix issue where annotations with same name wouldn't render properly (#85576)
Scenes: Fix issue where annotations with same name wouldn't render properly (#85489)

Closes #85457

(cherry picked from commit 9537de26a5)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2024-04-04 15:01:57 +01:00
grafana-delivery-bot[bot]
46088003a4 [v11.0.x] Chore: Fix trailing spaces in prometheus min step (#85579)
Chore: Fix trailing spaces in prometheus min step (#85507)

Fix trailing spaces in prometheus min step

(cherry picked from commit 4e60f44d98)

Co-authored-by: Eunice Kim <kimeuni@amazon.com>
2024-04-04 14:31:50 +03:00
Marcus Efraimsson
2be8e4334b [v11.0.x] Chore: Upgrade grafana-plugin-sdk-go to v0.220.0 (#85575)
Chore: Upgrade grafana-plugin-sdk-go (#85562)

(cherry picked from commit bdc492b96c)
2024-04-04 10:03:20 +00:00
Marcus Efraimsson
324c37ff22 [v11.0.x] Update plugin SDK to v0.219.0 (#85573)
Update plugin SDK to v0.219.0 (#85438)

(cherry picked from commit d2ca95d304)

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2024-04-04 12:41:36 +03:00
grafana-delivery-bot[bot]
da4ae285b4 [v11.0.x] Fix sending maxDataPoints as string (#85572)
Fix sending `maxDataPoints` as string (#85561)

* make sure maxDataPoints is a number

* add migration for maxDataPoints

* remove migration

(cherry picked from commit 9c0f9f6ba4)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-04-04 12:27:47 +03:00
grafana-delivery-bot[bot]
f756620df0 [v11.0.x] Datatrails: hide empty breakdown panels, improve loading status (#85505)
Datatrails: hide empty breakdown panels, improve loading status (#85028)

feat: hide empty breakdown panels, improve loading status
(cherry picked from commit 7c03cc83c6)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-04-03 13:27:41 -04:00
grafana-delivery-bot[bot]
a72fbc6eae [v11.0.x] Docs: add YouTube video link and description (#85538)
Docs: add YouTube video link and description (#85484)

* Update index.md Adding YouTube video link and description

Added a short description about the video and added the video to the page.

* Update docs/sources/panels-visualizations/visualizations/logs/index.md

Some edits went in. All nice :)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* Removed repetition

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit f6a94837c5)

Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-04-03 11:22:57 -04:00
grafana-delivery-bot[bot]
78955c8fd4 [v11.0.x] datatrails: do not show the "le" label (#85504)
datatrails: do not show the "le" label (#85114)

fix: do not show the "le" label
(cherry picked from commit 5d477d711a)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-04-03 11:17:20 -04:00
grafana-delivery-bot[bot]
94778c69a3 [v11.0.x] datatrails: throttle the resetting of yaxis (#85503)
datatrails: throttle the resetting of yaxis (#85117)

fix: throttle the resetting of yaxis
(cherry picked from commit 2e06677240)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-04-03 11:16:27 -04:00
grafana-delivery-bot[bot]
343a0d5fe2 [v11.0.x] datatrails: hide "add to filter" button when there is no label value to add to filter (#85502)
datatrails: hide "add to filter" button when there is no label value to add to filter (#85270)

fix: hide add to filters button when it won't work
(cherry picked from commit 2ecc1bb646)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-04-03 11:15:03 -04:00
grafana-delivery-bot[bot]
159719ba2a [v11.0.x] Scenes: Fix issue where unsaved changes prompt is shown when quickly adding panel to new dashboard (#85539)
Scenes: Fix issue where unsaved changes prompt is shown when quickly adding panel to new dashboard (#85518)

Closes #84577

(cherry picked from commit 85127464a3)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2024-04-03 17:56:34 +03:00
Ivan Ortega Alba
e04bb072b4 [v11.0.x] DashboardScene: Detect changes when live is enabled from settings (#85528)
DashboardScene: Detect changes when live is enabled from settings (#85409)

* Adapt the code to the new live timer API

* Update scenes

(cherry picked from commit 89638238e5)
2024-04-03 17:30:14 +03:00
Ivan Ortega Alba
9c0edab224 [v11.0.x] Implement autofit panels in Dashboards (#85524)
DashboardScene: Implement autofit panels (#85221)

(cherry picked from commit eb3d088645)
2024-04-03 16:39:45 +03:00
grafana-delivery-bot[bot]
fce5a26144 [v11.0.x] RBAC: Fix access checks for interactions with RBAC roles in hosted Grafana (#85520)
RBAC: Fix access checks for interactions with RBAC roles in hosted Grafana (#85485)

* don't check global permissions for cloud instances

* linting

(cherry picked from commit beb15d938b)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2024-04-03 14:16:50 +01:00
grafana-delivery-bot[bot]
6175887aa0 [v11.0.x] DashboardScene: Fix explore to dashboard flow (#85516)
DashboardScene: Fix explore to dashboard flow (#85140)

* DashboardScene: Fix explore to dashboard flow

* Tests

* Make sure dashboard is in edit mode when adding from explore

* Allow discarding changes when coming from explore

* Tests

(cherry picked from commit b4dc79401b)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2024-04-03 13:09:06 +02:00
grafana-delivery-bot[bot]
ae73f31cf1 [v11.0.x] Revert "Postgres: Switch the datasource plugin from lib/pq to pgx (#8… (#85517)
Revert "Postgres: Switch the datasource plugin from lib/pq to pgx (#8… (#85509)

Revert "Postgres: Switch the datasource plugin from lib/pq to pgx (#83768)"

This reverts commit ecd6de826a.

(cherry picked from commit 8159e1db3a)

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2024-04-03 12:54:57 +02:00
grafana-delivery-bot[bot]
0c10923304 [v11.0.x] BrowseDashboards: Add subpath to URLs on Browse Dashboards page (#85354)
BrowseDashboards: Add subpath to URLs on Browse Dashboards page (#84992)

* BrowseDashboards: Add subpath to URLs on Browse Dashboards page

* comment

* use existing config

* comment

---------

Co-authored-by: joshhunt <josh@trtr.co>
(cherry picked from commit b039995a4e)

Co-authored-by: butkovv <52626407+butkovv@users.noreply.github.com>
2024-04-03 09:46:34 +00:00
grafana-delivery-bot[bot]
355fec625b [v11.0.x] datatrails: handle "single" layout when switching to "all" labels (#85375)
datatrails: handle "single" layout when switching to "all" labels (#85373)

* fix: handle "single" layout when switching to "all" labels

(cherry picked from commit 18f3c7188b)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-04-03 02:03:00 +03:00
grafana-delivery-bot[bot]
2bd237e3ab [v11.0.x] datatrails: avoid double scrollbar with new viz tooltips (#85397)
datatrails: avoid double scrollbar with new viz tooltips (#85197)

fix: avoid double scrollbar
(cherry picked from commit f850b00a92)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-04-02 18:52:03 -04:00
Oscar Kilhed
dbd68074d0 [v11.0.x] Bump scenes to 4.1.2 (#85479)
Bump scenes to 4.1.2 (#85470)

* Bump scenes to 4.1.2

* Fix tests after fixing the sorting in rows

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
(cherry picked from commit 9ba9cbf300)
2024-04-02 17:45:18 +02:00
grafana-delivery-bot[bot]
d4c72e9841 [v11.0.x] InfluxDB: Fix measurement interpolation on visual query builder (#85456)
InfluxDB: Fix measurement interpolation on visual query builder (#85423)

* fix measurement interpolation

* fix unit test

* fix unit test 2

(cherry picked from commit 64236a3923)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-04-02 12:47:36 +02:00
grafana-delivery-bot[bot]
ed1485fa95 [v11.0.x] RBAC: Fix slow user permission search query on MySQL (#85410)
RBAC: Fix slow user permission search query on MySQL (#85058)

* Bench testing search user perm

* Add BenchmarkSearchUsersPermissions_1K_1K

* Clarify benchmark searches by action prefix

* Make MySQL more efficient

* Move all filter options

* Expand after assignments union

* update comments

(cherry picked from commit 5e48804364)

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2024-04-02 09:52:02 +02:00
grafana-delivery-bot[bot]
86747fd8b5 [v11.0.x] Scenes: Fix crash when searching panel options (#85367)
Scenes: Fix crash when searching panel options (#85180)

Closes #81883

(cherry picked from commit 08ef6e1a42)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2024-04-02 10:06:50 +03:00
grafana-delivery-bot[bot]
cf7ed74415 [v11.0.x] DashboardScene: Fix issues with dashboard empty state (#85422)
DashboardScene: Fix issues with dashboard empty state (#85406)

Fix

Tests

Make sure edit mode is on when adding panel/library panel

Co-authored-by: kay delaney <kay@grafana.com>
(cherry picked from commit fa9e139123)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2024-04-01 21:11:18 +02:00
grafana-delivery-bot[bot]
0c254bd5e5 [v11.0.x] Plugins: Set correct PDC config values for proxy requests (#85414)
Plugins: Set correct PDC config values for proxy requests (#85412)

pass appropriate values

(cherry picked from commit 22fe7b067c)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2024-03-29 21:51:56 +02:00
Will Browne
7bec323d23 [v11.0.x] Plugins: Send PDC file paths and contents for backwards compatibility (#85411)
Plugins: Send PDC file paths and contents for backwards compatibility (#85287)

* send paths and contents

* go work sync

(cherry picked from commit 1a0ac381eb)
2024-03-29 12:14:39 -07:00
grafana-delivery-bot[bot]
c646a96fbe [v11.0.x] OptionsPicker: Allow storing raw input even when matches exist (#85395)
OptionsPicker: Allow storing raw input even when matches exist (#84790)

(cherry picked from commit db6b51cb88)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-03-28 19:42:40 -05:00
grafana-delivery-bot[bot]
11384a5902 [v11.0.x] datatrails: fix stability issues between conflict between browser history, URL sync, and trail history (#85369)
datatrails: fix stability issues between conflict between browser history, URL sync, and trail history (#85134)

* fix: conflict between browser history and trail history

- ensure the back button or url changes don't generate trail steps
- ensure label breakdown TextLinks which appear on the summary tab work in embedded mode

(cherry picked from commit 137061d1d5)

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-03-28 13:35:10 -04:00
grafana-delivery-bot[bot]
e227c24877 [v11.0.x] DashboardScene: Fix access to dashboard settings views (#85371)
DashboardScene: Fix access to dashboard settings views (#85289)

* DashboardScene: Fix access to dashboard settings views

* Review

(cherry picked from commit 63a941472e)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2024-03-28 17:01:45 +01:00
grafana-delivery-bot[bot]
2deed2b1e6 [v11.0.x] docs: update histogram visualization (#85364)
docs: update histogram visualization (#85125)

* docs: update histogram visualization docs

* docs: updates to histogram visualization

* Apply suggestions from code review

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

* Fixed typo I introduced

* docs: add youtube video

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit 4a3140a0aa)

Co-authored-by: Marie Cruz <mdcruz@users.noreply.github.com>
2024-03-28 11:43:01 -04:00
grafana-delivery-bot[bot]
9e56aef1c9 [v11.0.x] DashboardScene: Fix constant variable not being hidden after creation (#85358)
DashboardScene: Fix constant variable not being hidden after creation (#85196)

(cherry picked from commit ae9a4b6467)

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2024-03-28 16:19:33 +01:00
grafana-delivery-bot[bot]
e1dcc847d0 [v11.0.x] RBAC: handle partially resolved scopes (#85333)
RBAC: handle partially resolved scopes (#85323)

* RBAC: handle partially resolved scopes

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
(cherry picked from commit 5dd98a0fd5)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-03-28 16:09:16 +01:00
grafana-delivery-bot[bot]
576eb94e5b [v11.0.x] Azure/GCM: Update filterQuery methods to carry out migrations (#85365)
Azure/GCM: Update `filterQuery` methods to carry out migrations (#85355)

Update filterQuery methods to carry out migrations

(cherry picked from commit 697a18737d)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-03-28 17:05:00 +02:00
grafana-delivery-bot[bot]
9cf8c4e890 [v11.0.x] Scenes: Fix row crash when removing a panel from it (#85360)
Scenes: Fix row crash when removing a panel from it (#85339)

* Fix row crash when removing a panel from it

* fix tests

* fix tests

(cherry picked from commit 30c9307539)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2024-03-28 17:03:12 +02:00
grafana-delivery-bot[bot]
9a284d4560 [v11.0.x] ModalsContext: Unify modals context and manager (#85342)
ModalsContext: Unify modals context and manager (#84916)

* ModalsContext: Unify modals context and manager

* Clear on location change

* fixes

* Update

* use generics to avoid anys

---------

Co-authored-by: joshhunt <josh@trtr.co>
(cherry picked from commit e90b87589f)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-03-28 14:51:38 +01:00
grafana-delivery-bot[bot]
d1b7585ad5 [v11.0.x] [DOC] Clarify compatible log stores for traces to logs (#85352)
[DOC] Clarify compatible log stores for traces to logs (#85314)

* Clarify compatible log stores for traces to logs

* Fixes from prettier

(cherry picked from commit fe802f6d88)

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
2024-03-28 07:53:01 -05:00
grafana-delivery-bot[bot]
bcf113fb41 [v11.0.x] Docs: fix availability note (#85346)
Docs: fix availability note (#85315)

Fixed availability note

(cherry picked from commit 5f38455f31)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-03-28 08:49:55 -04:00
grafana-delivery-bot[bot]
62c98ce65c [v11.0.x] Tempo: Check for liveEnabled before trying to stream (#85324)
Tempo: Check for liveEnabled before trying to stream (#85173)

* Check for liveEnabled before attempting to stream

* Add tests

* Range const

* Update test text

(cherry picked from commit df39fc54a6)

Co-authored-by: Joey <90795735+joey-grafana@users.noreply.github.com>
2024-03-28 09:47:00 +00:00
grafana-delivery-bot[bot]
6aa11956ef [v11.0.x] DashboardScene: Support time region migrations (#85322)
DashboardScene: Support time region migrations (#84147)

* DashboardScene: Support time region migrations

* Update

* Update

* Update

* fix

* Fix lock

* fix tests

* Fix migrations test

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
(cherry picked from commit d290aaff46)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-03-28 08:00:14 +01:00
grafana-delivery-bot[bot]
ac880c6016 [v11.0.x] StateTimeline: Fix data links causing unrendering of string fields (#85307)
StateTimeline: Fix data links causing unrendering of string fields (#85260)

(cherry picked from commit 1ffeb7c365)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-03-27 20:35:47 +02:00
grafana-delivery-bot[bot]
47a5ae388e [v11.0.x] Prometheus: Use correct logic for frontend package feature flag (#85298)
Prometheus: Use correct logic for frontend package feature flag (#85294)

use correct logic for frontend package feature flag

(cherry picked from commit d4a68d6662)

Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
2024-03-27 19:14:49 +02:00
grafana-delivery-bot[bot]
eead3e1354 [v11.0.x] Dashboards: Fix issue where long ad-hoc values broke UI (#85290)
Dashboards: Fix issue where long ad-hoc values broke UI (#85073)

Closes #69285

(cherry picked from commit 618cf8e5a1)

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2024-03-27 17:28:27 +02:00
grafana-delivery-bot[bot]
43991fca51 [v11.0.x] Added YouTube video to index.md on Time Series (#85277)
Added YouTube video to index.md on Time Series (#85188)

* Added YouTube video to index.md on Time Series

Added a brief description and the YouTube link for the Time Series video.

* Update index.md

Did quick fix

* Update index.md

Found double space, removed, hope PR goes through

* Update docs/sources/panels-visualizations/visualizations/time-series/index.md

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
(cherry picked from commit d4953f4a1f)

Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-03-27 10:44:21 -04:00
grafana-delivery-bot[bot]
76565ce12f [v11.0.x] NodeGraph: Fix possible metadata mismatch between nodes in graph (#85261)
NodeGraph: Fix possible metadata mismatch between nodes in graph (#85254)

(cherry picked from commit 20e70838e3)

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2024-03-27 14:41:38 +01:00
grafana-delivery-bot[bot]
cf4870cd06 [v11.0.x] Alerting: Fix removing nested policy (#85247) 2024-03-27 14:15:22 +02:00
grafana-delivery-bot[bot]
33c8f8c72d [v11.0.x] AuthProxy: Fix missing session for ldap auth proxy users (#85136)
AuthProxy: Fix missing session for ldap auth proxy users (#85090)

fix missing session for ldap auth proxy users

(cherry picked from commit 7649d93d17)

Co-authored-by: Jo <joao.guerreiro@grafana.com>
2024-03-27 10:57:44 +01:00
grafana-delivery-bot[bot]
9afbd19874 [v11.0.x] Table Panel: Fix issue causing incorrect background coloring (#85214)
Table Panel: Fix issue causing incorrect background coloring (#85121)

Fix color bug

(cherry picked from commit c9f9e94a6c)

Co-authored-by: Kyle Cunningham <codeincarnate@users.noreply.github.com>
2024-03-27 03:28:15 +07:00
grafana-delivery-bot[bot]
300008e300 [v11.0.x] Clarify AWS Auth instructions for Grafana Cloud users (#85209)
Clarify AWS Auth instructions for Grafana Cloud users (#84312)

* Clarify "Grafana Assume Role" feature instructions for Grafana Cloud users

Following the recommendations provided in Support escalation https://github.com/grafana/support-escalations/issues/8277

* Update docs/sources/datasources/aws-cloudwatch/aws-authentication/index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/datasources/aws-cloudwatch/aws-authentication/index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

---------

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
(cherry picked from commit ac9523bcad)

Co-authored-by: melGL <81323402+melgl@users.noreply.github.com>
2024-03-26 21:00:12 +02:00
grafana-delivery-bot[bot]
bd10c543a8 [v11.0.x] Alerting: Fix receiver inheritance when provisioning a notification policy (#85193)
Alerting: Fix receiver inheritance when provisioning a notification policy (#82007)

Terraform Issue: grafana/terraform-provider-grafana#1007
Nested routes should be allowed to inherit the contact point from the root (or direct parent) route but this fails in the provisioning API (it works in the UI)

(cherry picked from commit 2188516a21)

Co-authored-by: Julien Duchesne <julien.duchesne@grafana.com>
2024-03-26 18:54:38 +02:00
grafana-delivery-bot[bot]
9985a1e687 [v11.0.x] Auth Drawer: Use redux store to load settings (#85172)
Auth Drawer: Use redux store to load settings (#85110)

* use actions instead of importing the backend service

* Replace the test render for redux-rtl

(cherry picked from commit 4e5bff0ada)

Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
2024-03-26 16:40:42 +01:00
grafana-delivery-bot[bot]
196b935f2e [v11.0.x] EmailVerification: Generate emails after rename (#85182)
EmailVerification: Generate emails after rename (#85175)

(cherry picked from commit c39b9b2cbe)

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-03-26 17:09:58 +02:00
grafana-delivery-bot[bot]
bc11423432 [v11.0.x] SSO: add the missing fields to the okta provider (#85161)
SSO: add the missing fields to the okta provider (#85152)

* add the missing allowSignUp field to okta provider

* add autoLogin to okta

(cherry picked from commit 6ddced7ba8)

Co-authored-by: Mihai Doarna <mihai.doarna@grafana.com>
2024-03-26 15:02:34 +02:00
Horst Gutmann
e7f0e17582 ci(docs): Disable tag requirement for pushing release docs (#84825) 2024-03-26 08:22:36 -04:00
grafana-delivery-bot[bot]
9dff069ec3 [v11.0.x] SQLEngine: Use debug method instead of custom implementation (#85155)
SQLEngine: Use `debug` method instead of custom implementation (#85118)

Use debug method instead of custom implementation

(cherry picked from commit 19159a89a2)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-03-26 14:20:04 +02:00
grafana-delivery-bot[bot]
73b94a19b4 [v11.0.x] EmptyState: Rename "search" variant to "not-found" (#85157)
EmptyState: Rename "search" variant to "not-found" (#85062)

* rename "search" variant to "not-found"

* run i18n:extract

(cherry picked from commit 36ee1571b6)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-03-26 12:56:32 +01:00
grafana-delivery-bot[bot]
27f492a572 [v11.0.x] Access control: Improve annotation delete performance (#85151)
Access control: Improve annotation delete performance (#85068)

* Access control: Improve annotation delete performance

* simplify query string

* Refactor

* remove unnecessary join

(cherry picked from commit 02606be3ed)

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
2024-03-26 13:09:33 +02:00
Karl Persson
48fd6f066f SigningKeys: Add added_at when creating new signing key (#85060) 2024-03-26 10:02:34 +00:00
Charandas
234241db5f Makefile: fix test-go to run all (#85048) 2024-03-26 10:02:34 +00:00
Oscar Kilhed
3795fc2a63 Dashboards: Fix an issue where the dashboard would unmount and then mount again causing requests to cancel under some circumstances (#85003)
* Fix issue where dashboard unmounts and mounts again causing requests to be canceled

* Fix tests, add test
2024-03-26 10:02:34 +00:00
Ryan McKinley
62f97deee8 SQLStore: Cleanup migrationLocking (#85054) 2024-03-26 10:02:34 +00:00
Charandas
295f145f23 K8s: file storage - add sync around resource version (RV) management (#84694) 2024-03-26 10:02:34 +00:00
Brendan O'Handley
c40708ffab Prometheus: Use frontend package in Prometheus DS with a feature toggle (#84397)
* add feature toggle usePrometheusFrontendPackage

* add feature toggle logic to Prometheus module

* use config editor with package and remove configOverhaul feature toggle

* update betterer because we will be removing other files as we replace with files from @grafana/prometheus

* fix exemplar ds picker selector

* add more description to ts-ignore

* remove go.work.sum change

* copy go.work.sum from main

* update go.work.sum after talking with ismail

* put back the promlib entry

---------

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-03-26 10:02:34 +00:00
Nathan Marrs
d7a94af7d7 Canvas: Address connection vertex bug (#85026) 2024-03-26 10:02:34 +00:00
Khushi Jain
99661056b1 Chore: Remove gf-form from InfluxDB Annotation Query Editor (#84809)
Chore: Remove gf-form from Annotation Query Editor - Influx DB
2024-03-26 10:02:34 +00:00
Matthew Jacobson
ecce0d7498 Alerting: Stop persisting silences and nflog to disk (#84706)
With this change, we no longer need to persist silence/nflog states to disk in addition to the kvstore
2024-03-26 10:02:34 +00:00
Yuri Tseretyan
2480fed0f5 Alerting: Editor role can access all provisioning API (#85022) 2024-03-26 10:02:34 +00:00
George Robinson
8d4e7e0b3b Alerting: Update grafana/alerting to a4bb859 (#84815) 2024-03-26 10:02:34 +00:00
Lars Stegman
85e4c6674e Transformer: Config from Query: set threshold colours (#83366)
* Fix typo

* Create handler arguments

* Create handler arguments editor

* Create link in editor

* Add labels to arguments editor fields

* Create unit tests

* Hide "Additional settings" header when no additional settings possible

* Remove div

* Fix invalid DOM

---------

Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
2024-03-26 10:02:34 +00:00
Adela Almasan
25e48c66d2 DashboardAI: UX improvements (#84934) 2024-03-26 10:02:34 +00:00
Nathan Marrs
8a1182e765 Canvas: Add "infinite" pan / zoom functionality (#84968)
* attempt at solving issue and resetting bounds to match panel content

* cleanup failed experiments

* add toggle for infinite pan - dont love naming but open to suggestions; clean up scene transform function

* add ability to "infinite" zoom (i.e. render more canvas via zooming out)

* slight refactor

* revert refactor as it broke things
2024-03-26 10:02:34 +00:00
grafana-delivery-bot[bot]
30054b3f7b [v11.0.x] Public dashboards: fix public dashboard permissions so that annotations are displayed (#85112)
Public dashboards: fix public dashboard permissions so that annotations are displayed (#85091)

* fix public dashboard anonymous user permissions so they include the new annotation permissions

* test fix

(cherry picked from commit df40e13333)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2024-03-26 09:03:04 +00:00
grafana-delivery-bot[bot]
7a8bf4f4f9 [v11.0.x] Scenes: Add reporting tab in share modal (#85119)
Scenes: Add reporting tab in share modal (#85086)

(cherry picked from commit bb5c5f38db)

Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
2024-03-25 18:02:17 -03:00
1339 changed files with 54920 additions and 11387 deletions

View File

@@ -5,6 +5,9 @@
//
exports[`better eslint`] = {
value: `{
"e2e/scenes/utils/support/types.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"]
],
"e2e/utils/support/types.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"]
],
@@ -1436,7 +1439,8 @@ exports[`better eslint`] = {
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"],
[0, 0, 0, "Do not use any type assertions.", "2"],
[0, 0, 0, "Unexpected any. Specify a different type.", "3"]
[0, 0, 0, "Unexpected any. Specify a different type.", "3"],
[0, 0, 0, "Unexpected any. Specify a different type.", "4"]
],
"public/app/features/alerting/state/query_part.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
@@ -2336,13 +2340,10 @@ exports[`better eslint`] = {
"public/app/features/canvas/runtime/element.tsx:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Do not use any type assertions.", "1"],
[0, 0, 0, "Unexpected any. Specify a different type.", "2"],
[0, 0, 0, "Do not use any type assertions.", "2"],
[0, 0, 0, "Do not use any type assertions.", "3"],
[0, 0, 0, "Unexpected any. Specify a different type.", "4"],
[0, 0, 0, "Do not use any type assertions.", "5"],
[0, 0, 0, "Unexpected any. Specify a different type.", "6"],
[0, 0, 0, "Do not use any type assertions.", "7"],
[0, 0, 0, "Unexpected any. Specify a different type.", "8"]
[0, 0, 0, "Do not use any type assertions.", "4"],
[0, 0, 0, "Do not use any type assertions.", "5"]
],
"public/app/features/canvas/runtime/frame.tsx:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"]
@@ -2375,9 +2376,6 @@ exports[`better eslint`] = {
[0, 0, 0, "Styles should be written using objects.", "7"],
[0, 0, 0, "Styles should be written using objects.", "8"]
],
"public/app/features/connections/tabs/ConnectData/NoResults/NoResults.tsx:5381": [
[0, 0, 0, "Styles should be written using objects.", "0"]
],
"public/app/features/correlations/CorrelationsPage.tsx:5381": [
[0, 0, 0, "Styles should be written using objects.", "0"],
[0, 0, 0, "Styles should be written using objects.", "1"],
@@ -2410,33 +2408,23 @@ exports[`better eslint`] = {
"public/app/features/dashboard-scene/panel-edit/PanelDataPane/PanelDataPane.tsx:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"]
],
"public/app/features/dashboard-scene/saving/DashboardPrompt.tsx:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"]
],
"public/app/features/dashboard-scene/saving/DetectChangesWorker.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"]
],
"public/app/features/dashboard-scene/saving/SaveDashboardForm.tsx:5381": [
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "0"],
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "1"]
],
"public/app/features/dashboard-scene/saving/getDashboardChanges.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"],
[0, 0, 0, "Do not use any type assertions.", "1"]
],
"public/app/features/dashboard-scene/saving/getSaveDashboardChange.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"],
[0, 0, 0, "Do not use any type assertions.", "1"]
],
"public/app/features/dashboard-scene/saving/shared.tsx:5381": [
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "0"]
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Do not use any type assertions.", "1"],
[0, 0, 0, "Do not use any type assertions.", "2"]
],
"public/app/features/dashboard-scene/scene/PanelMenuBehavior.tsx:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"],
[0, 0, 0, "Do not use any type assertions.", "2"]
],
"public/app/features/dashboard-scene/serialization/angularMigration.test.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
],
"public/app/features/dashboard-scene/serialization/transformSaveModelToScene.test.ts:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"],
@@ -2453,16 +2441,21 @@ exports[`better eslint`] = {
[0, 0, 0, "Unexpected any. Specify a different type.", "6"],
[0, 0, 0, "Unexpected any. Specify a different type.", "7"],
[0, 0, 0, "Unexpected any. Specify a different type.", "8"],
[0, 0, 0, "Unexpected any. Specify a different type.", "9"]
[0, 0, 0, "Unexpected any. Specify a different type.", "9"],
[0, 0, 0, "Unexpected any. Specify a different type.", "10"],
[0, 0, 0, "Unexpected any. Specify a different type.", "11"],
[0, 0, 0, "Unexpected any. Specify a different type.", "12"]
],
"public/app/features/dashboard-scene/serialization/transformSceneToSaveModel.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"],
[0, 0, 0, "Do not use any type assertions.", "1"],
[0, 0, 0, "Do not use any type assertions.", "2"],
[0, 0, 0, "Do not use any type assertions.", "3"],
[0, 0, 0, "Unexpected any. Specify a different type.", "3"],
[0, 0, 0, "Do not use any type assertions.", "4"],
[0, 0, 0, "Do not use any type assertions.", "5"],
[0, 0, 0, "Do not use any type assertions.", "6"]
[0, 0, 0, "Do not use any type assertions.", "6"],
[0, 0, 0, "Do not use any type assertions.", "7"],
[0, 0, 0, "Do not use any type assertions.", "8"]
],
"public/app/features/dashboard-scene/settings/variables/components/VariableSelectField.tsx:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"]
@@ -2762,7 +2755,8 @@ exports[`better eslint`] = {
[0, 0, 0, "Unexpected any. Specify a different type.", "1"],
[0, 0, 0, "Do not use any type assertions.", "2"],
[0, 0, 0, "Unexpected any. Specify a different type.", "3"],
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "4"]
[0, 0, 0, "Do not use any type assertions.", "4"],
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "5"]
],
"public/app/features/dashboard/containers/DashboardPageProxy.tsx:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"]
@@ -3761,9 +3755,6 @@ exports[`better eslint`] = {
[0, 0, 0, "Unexpected any. Specify a different type.", "2"],
[0, 0, 0, "Unexpected any. Specify a different type.", "3"]
],
"public/app/features/playlist/EmptyQueryListBanner.tsx:5381": [
[0, 0, 0, "Styles should be written using objects.", "0"]
],
"public/app/features/playlist/PlaylistForm.tsx:5381": [
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "0"],
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "1"]
@@ -4411,11 +4402,10 @@ exports[`better eslint`] = {
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"],
[0, 0, 0, "Unexpected any. Specify a different type.", "2"],
[0, 0, 0, "Do not use any type assertions.", "3"],
[0, 0, 0, "Unexpected any. Specify a different type.", "3"],
[0, 0, 0, "Unexpected any. Specify a different type.", "4"],
[0, 0, 0, "Unexpected any. Specify a different type.", "5"],
[0, 0, 0, "Unexpected any. Specify a different type.", "6"],
[0, 0, 0, "Do not use any type assertions.", "7"]
[0, 0, 0, "Do not use any type assertions.", "6"]
],
"public/app/features/visualization/data-hover/DataHoverRows.tsx:5381": [
[0, 0, 0, "Styles should be written using objects.", "0"]
@@ -5291,6 +5281,12 @@ exports[`better eslint`] = {
[0, 0, 0, "Styles should be written using objects.", "18"],
[0, 0, 0, "Styles should be written using objects.", "19"]
],
"public/app/plugins/datasource/prometheus/configuration/ConfigEditorPackage.tsx:5381": [
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
[0, 0, 0, "Unexpected any. Specify a different type.", "1"],
[0, 0, 0, "Unexpected any. Specify a different type.", "2"],
[0, 0, 0, "Unexpected any. Specify a different type.", "3"]
],
"public/app/plugins/datasource/prometheus/configuration/ExemplarsSettings.tsx:5381": [
[0, 0, 0, "Styles should be written using objects.", "0"]
],
@@ -6150,6 +6146,9 @@ exports[`no undocumented stories`] = {
exports[`no gf-form usage`] = {
value: `{
"e2e/scenes/utils/flows/addDataSource.ts:5381": [
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"]
],
"e2e/utils/flows/addDataSource.ts:5381": [
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"]
],
@@ -6602,13 +6601,6 @@ exports[`no gf-form usage`] = {
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"]
],
"public/app/plugins/datasource/influxdb/components/editor/annotation/AnnotationEditor.tsx:5381": [
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"],
[0, 0, 0, "gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.", "5381"]
],
"public/app/plugins/datasource/influxdb/components/editor/query/QueryEditor.tsx:5381": [

View File

@@ -1,4 +1,4 @@
# Auto generated binary variables helper managed by https://github.com/bwplotka/bingo v0.9. DO NOT EDIT.
# Auto generated binary variables helper managed by https://github.com/bwplotka/bingo v0.8. DO NOT EDIT.
# All tools are designed to be build inside $GOBIN.
BINGO_DIR := $(dir $(lastword $(MAKEFILE_LIST)))
GOPATH ?= $(shell go env GOPATH)
@@ -35,11 +35,11 @@ $(DRONE): $(BINGO_DIR)/drone.mod
@echo "(re)installing $(GOBIN)/drone-v1.5.0"
@cd $(BINGO_DIR) && GOWORK=off CGO_ENABLED=0 $(GO) build -mod=mod -modfile=drone.mod -o=$(GOBIN)/drone-v1.5.0 "github.com/drone/drone-cli/drone"
GOLANGCI_LINT := $(GOBIN)/golangci-lint-v1.53.3
GOLANGCI_LINT := $(GOBIN)/golangci-lint-v1.57.1
$(GOLANGCI_LINT): $(BINGO_DIR)/golangci-lint.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
@echo "(re)installing $(GOBIN)/golangci-lint-v1.53.3"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=golangci-lint.mod -o=$(GOBIN)/golangci-lint-v1.53.3 "github.com/golangci/golangci-lint/cmd/golangci-lint"
@echo "(re)installing $(GOBIN)/golangci-lint-v1.57.1"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=golangci-lint.mod -o=$(GOBIN)/golangci-lint-v1.57.1 "github.com/golangci/golangci-lint/cmd/golangci-lint"
JB := $(GOBIN)/jb-v0.5.1
$(JB): $(BINGO_DIR)/jb.mod
@@ -59,9 +59,3 @@ $(SWAGGER): $(BINGO_DIR)/swagger.mod
@echo "(re)installing $(GOBIN)/swagger-v0.30.2"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=swagger.mod -o=$(GOBIN)/swagger-v0.30.2 "github.com/go-swagger/go-swagger/cmd/swagger"
WIRE := $(GOBIN)/wire-v0.6.0
$(WIRE): $(BINGO_DIR)/wire.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
@echo "(re)installing $(GOBIN)/wire-v0.6.0"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=wire.mod -o=$(GOBIN)/wire-v0.6.0 "github.com/google/wire/cmd/wire"

View File

@@ -1,5 +1,7 @@
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
go 1.20
go 1.21
require github.com/golangci/golangci-lint v1.53.3 // cmd/golangci-lint
toolchain go1.21.6
require github.com/golangci/golangci-lint v1.57.1 // cmd/golangci-lint

View File

@@ -42,22 +42,32 @@ cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3f
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
github.com/4meepo/tagalign v1.2.2 h1:kQeUTkFTaBRtd/7jm8OKJl9iHk0gAO+TDFPHGSna0aw=
github.com/4meepo/tagalign v1.2.2/go.mod h1:Q9c1rYMZJc9dPRkbQPpcBNCLEmY2njbAsXhQOZFE2dE=
github.com/4meepo/tagalign v1.3.3 h1:ZsOxcwGD/jP4U/aw7qeWu58i7dwYemfy5Y+IF1ACoNw=
github.com/4meepo/tagalign v1.3.3/go.mod h1:Q9c1rYMZJc9dPRkbQPpcBNCLEmY2njbAsXhQOZFE2dE=
github.com/Abirdcfly/dupword v0.0.9 h1:MxprGjKq3yDBICXDgEEsyGirIXfMYXkLNT/agPsE1tk=
github.com/Abirdcfly/dupword v0.0.9/go.mod h1:PzmHVLLZ27MvHSzV7eFmMXSFArWXZPZmfuuziuUrf2g=
github.com/Abirdcfly/dupword v0.0.11 h1:z6v8rMETchZXUIuHxYNmlUAuKuB21PeaSymTed16wgU=
github.com/Abirdcfly/dupword v0.0.11/go.mod h1:wH8mVGuf3CP5fsBTkfWwwwKTjDnVVCxtU8d8rgeVYXA=
github.com/Abirdcfly/dupword v0.0.14 h1:3U4ulkc8EUo+CaT105/GJ1BQwtgyj6+VaBVbAX11Ba8=
github.com/Abirdcfly/dupword v0.0.14/go.mod h1:VKDAbxdY8YbKUByLGg8EETzYSuC4crm9WwI6Y3S0cLI=
github.com/Antonboom/errname v0.1.7 h1:mBBDKvEYwPl4WFFNwec1CZO096G6vzK9vvDQzAwkako=
github.com/Antonboom/errname v0.1.7/go.mod h1:g0ONh16msHIPgJSGsecu1G/dcF2hlYR/0SddnIAGavU=
github.com/Antonboom/errname v0.1.9 h1:BZDX4r3l4TBZxZ2o2LNrlGxSHran4d1u4veZdoORTT4=
github.com/Antonboom/errname v0.1.9/go.mod h1:nLTcJzevREuAsgTbG85UsuiWpMpAqbKD1HNZ29OzE58=
github.com/Antonboom/errname v0.1.10 h1:RZ7cYo/GuZqjr1nuJLNe8ZH+a+Jd9DaZzttWzak9Bls=
github.com/Antonboom/errname v0.1.10/go.mod h1:xLeiCIrvVNpUtsN0wxAh05bNIZpqE22/qDMnTBTttiA=
github.com/Antonboom/errname v0.1.12 h1:oh9ak2zUtsLp5oaEd/erjB4GPu9w19NyoIskZClDcQY=
github.com/Antonboom/errname v0.1.12/go.mod h1:bK7todrzvlaZoQagP1orKzWXv59X/x0W0Io2XT1Ssro=
github.com/Antonboom/nilnil v0.1.1 h1:PHhrh5ANKFWRBh7TdYmyyq2gyT2lotnvFvvFbylF81Q=
github.com/Antonboom/nilnil v0.1.1/go.mod h1:L1jBqoWM7AOeTD+tSquifKSesRHs4ZdaxvZR+xdJEaI=
github.com/Antonboom/nilnil v0.1.3 h1:6RTbx3d2mcEu3Zwq9TowQpQMVpP75zugwOtqY1RTtcE=
github.com/Antonboom/nilnil v0.1.3/go.mod h1:iOov/7gRcXkeEU+EMGpBu2ORih3iyVEiWjeste1SJm8=
github.com/Antonboom/nilnil v0.1.5 h1:X2JAdEVcbPaOom2TUa1FxZ3uyuUlex0XMLGYMemu6l0=
github.com/Antonboom/nilnil v0.1.5/go.mod h1:I24toVuBKhfP5teihGWctrRiPbRKHwZIFOvc6v3HZXk=
github.com/Antonboom/nilnil v0.1.7 h1:ofgL+BA7vlA1K2wNQOsHzLJ2Pw5B5DpWRLdDAVvvTow=
github.com/Antonboom/nilnil v0.1.7/go.mod h1:TP+ScQWVEq0eSIxqU8CbdT5DFWoHp0MbP+KMUO1BKYQ=
github.com/Antonboom/testifylint v1.2.0 h1:015bxD8zc5iY8QwTp4+RG9I4kIbqwvGX9TrBbb7jGdM=
github.com/Antonboom/testifylint v1.2.0/go.mod h1:rkmEqjqVnHDRNsinyN6fPSLnoajzFwsCcguJgwADBkw=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak=
github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
@@ -68,12 +78,18 @@ github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 h1:sHglBQTwgx+rW
github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs=
github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0 h1:+r1rSv4gvYn0wmRjC8X7IAzX8QezqtFV9m0MUHFJgts=
github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0/go.mod h1:b3g59n2Y+T5xmcxJL+UEG2f8cQploZm1mR/v6BW0mU0=
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.2.0 h1:sATXp1x6/axKxz2Gjxv8MALP0bXaNRfQinEwyfMcx8c=
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.2.0/go.mod h1:Nl76DrGNJTA1KJ0LePKBw/vznBX1EHbAZX8mwjR82nI=
github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww=
github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y=
github.com/OpenPeeDeeP/depguard v1.1.1 h1:TSUznLjvp/4IUP+OQ0t/4jF4QUyxIcVX8YnghZdunyA=
github.com/OpenPeeDeeP/depguard v1.1.1/go.mod h1:JtAMzWkmFEzDPyAd+W0NHl1lvpQKTvT9jnRVsohBKpc=
github.com/OpenPeeDeeP/depguard/v2 v2.1.0 h1:aQl70G173h/GZYhWf36aE5H0KaujXfVMnn/f1kSDVYY=
github.com/OpenPeeDeeP/depguard/v2 v2.1.0/go.mod h1:PUBgk35fX4i7JDmwzlJwJ+GMe6NfO1723wmJMgPThNQ=
github.com/OpenPeeDeeP/depguard/v2 v2.2.0 h1:vDfG60vDtIuf0MEOhmLlLLSzqaRM8EMcgJPdp74zmpA=
github.com/OpenPeeDeeP/depguard/v2 v2.2.0/go.mod h1:CIzddKRvLBC4Au5aYP/i3nyaWQ+ClszLIuVocRiCYFQ=
github.com/alecthomas/go-check-sumtype v0.1.4 h1:WCvlB3l5Vq5dZQTFmodqL2g68uHiSwwlWcT5a2FGK0c=
github.com/alecthomas/go-check-sumtype v0.1.4/go.mod h1:WyYPfhfkdhyrdaligV6svFopZV8Lqdzn5pyVBaV6jhQ=
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
@@ -81,6 +97,8 @@ github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRF
github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho=
github.com/alexkohler/nakedret/v2 v2.0.2 h1:qnXuZNvv3/AxkAb22q/sEsEpcA99YxLFACDtEw9TPxE=
github.com/alexkohler/nakedret/v2 v2.0.2/go.mod h1:2b8Gkk0GsOrqQv/gPWjNLDSKwG8I5moSXG1K4VIBcTQ=
github.com/alexkohler/nakedret/v2 v2.0.4 h1:yZuKmjqGi0pSmjGpOC016LtPJysIL0WEUiaXW5SUnNg=
github.com/alexkohler/nakedret/v2 v2.0.4/go.mod h1:bF5i0zF2Wo2o4X4USt9ntUWve6JbFv02Ff4vlkmS/VU=
github.com/alexkohler/prealloc v1.0.0 h1:Hbq0/3fJPQhNkN0dR95AVrr6R7tou91y0uHG5pOcUuw=
github.com/alexkohler/prealloc v1.0.0/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cvfHR56wJVlKE=
github.com/alingse/asasalint v0.0.11 h1:SFwnQXJ49Kx/1GghOFz1XGqHYKp21Kq1nHad/0WQRnw=
@@ -91,6 +109,8 @@ github.com/ashanbrown/forbidigo v1.5.1 h1:WXhzLjOlnuDYPYQo/eFlcFMi8X/kLfvWLYu6CS
github.com/ashanbrown/forbidigo v1.5.1/go.mod h1:Y8j9jy9ZYAEHXdu723cUlraTqbzjKF1MUyfOKL+AjcU=
github.com/ashanbrown/forbidigo v1.5.3 h1:jfg+fkm/snMx+V9FBwsl1d340BV/99kZGv5jN9hBoXk=
github.com/ashanbrown/forbidigo v1.5.3/go.mod h1:Y8j9jy9ZYAEHXdu723cUlraTqbzjKF1MUyfOKL+AjcU=
github.com/ashanbrown/forbidigo v1.6.0 h1:D3aewfM37Yb3pxHujIPSpTf6oQk9sc9WZi8gerOIVIY=
github.com/ashanbrown/forbidigo v1.6.0/go.mod h1:Y8j9jy9ZYAEHXdu723cUlraTqbzjKF1MUyfOKL+AjcU=
github.com/ashanbrown/makezero v1.1.1 h1:iCQ87C0V0vSyO+M9E/FZYbu65auqH0lnsOkf5FcB28s=
github.com/ashanbrown/makezero v1.1.1/go.mod h1:i1bJLCRSCHOcOa9Y6MyF2FTfMZMFdHvxKHxgO5Z1axI=
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
@@ -105,20 +125,32 @@ github.com/blizzy78/varnamelen v0.8.0 h1:oqSblyuQvFsW1hbBHh1zfwrKe3kcSj0rnXkKzsQ
github.com/blizzy78/varnamelen v0.8.0/go.mod h1:V9TzQZ4fLJ1DSrjVDfl89H7aMnTvKkApdHeyESmyR7k=
github.com/bombsimon/wsl/v3 v3.4.0 h1:RkSxjT3tmlptwfgEgTgU+KYKLI35p/tviNXNXiL2aNU=
github.com/bombsimon/wsl/v3 v3.4.0/go.mod h1:KkIB+TXkqy6MvK9BDZVbZxKNYsE1/oLRJbIFtf14qqo=
github.com/bombsimon/wsl/v4 v4.2.1 h1:Cxg6u+XDWff75SIFFmNsqnIOgob+Q9hG6y/ioKbRFiM=
github.com/bombsimon/wsl/v4 v4.2.1/go.mod h1:Xu/kDxGZTofQcDGCtQe9KCzhHphIe0fDuyWTxER9Feo=
github.com/breml/bidichk v0.2.3 h1:qe6ggxpTfA8E75hdjWPZ581sY3a2lnl0IRxLQFelECI=
github.com/breml/bidichk v0.2.3/go.mod h1:8u2C6DnAy0g2cEq+k/A2+tr9O1s+vHGxWn0LTc70T2A=
github.com/breml/bidichk v0.2.4 h1:i3yedFWWQ7YzjdZJHnPo9d/xURinSq3OM+gyM43K4/8=
github.com/breml/bidichk v0.2.4/go.mod h1:7Zk0kRFt1LIZxtQdl9W9JwGAcLTTkOs+tN7wuEYGJ3s=
github.com/breml/bidichk v0.2.7 h1:dAkKQPLl/Qrk7hnP6P+E0xOodrq8Us7+U0o4UBOAlQY=
github.com/breml/bidichk v0.2.7/go.mod h1:YodjipAGI9fGcYM7II6wFvGhdMYsC5pHDlGzqvEW3tQ=
github.com/breml/errchkjson v0.3.0 h1:YdDqhfqMT+I1vIxPSas44P+9Z9HzJwCeAzjB8PxP1xw=
github.com/breml/errchkjson v0.3.0/go.mod h1:9Cogkyv9gcT8HREpzi3TiqBxCqDzo8awa92zSDFcofU=
github.com/breml/errchkjson v0.3.1 h1:hlIeXuspTyt8Y/UmP5qy1JocGNR00KQHgfaNtRAjoxQ=
github.com/breml/errchkjson v0.3.1/go.mod h1:XroxrzKjdiutFyW3nWhw34VGg7kiMsDQox73yWCGI2U=
github.com/breml/errchkjson v0.3.6 h1:VLhVkqSBH96AvXEyclMR37rZslRrY2kcyq+31HCsVrA=
github.com/breml/errchkjson v0.3.6/go.mod h1:jhSDoFheAF2RSDOlCfhHO9KqhZgAYLyvHe7bRCX8f/U=
github.com/butuzov/ireturn v0.1.1 h1:QvrO2QF2+/Cx1WA/vETCIYBKtRjc30vesdoPUNo1EbY=
github.com/butuzov/ireturn v0.1.1/go.mod h1:Wh6Zl3IMtTpaIKbmwzqi6olnM9ptYQxxVacMsOEFPoc=
github.com/butuzov/ireturn v0.2.0 h1:kCHi+YzC150GE98WFuZQu9yrTn6GEydO2AuPLbTgnO4=
github.com/butuzov/ireturn v0.2.0/go.mod h1:Wh6Zl3IMtTpaIKbmwzqi6olnM9ptYQxxVacMsOEFPoc=
github.com/butuzov/ireturn v0.3.0 h1:hTjMqWw3y5JC3kpnC5vXmFJAWI/m31jaCYQqzkS6PL0=
github.com/butuzov/ireturn v0.3.0/go.mod h1:A09nIiwiqzN/IoVo9ogpa0Hzi9fex1kd9PSD6edP5ZA=
github.com/butuzov/mirror v1.1.0 h1:ZqX54gBVMXu78QLoiqdwpl2mgmoOJTk7s4p4o+0avZI=
github.com/butuzov/mirror v1.1.0/go.mod h1:8Q0BdQU6rC6WILDiBM60DBfvV78OLJmMmixe7GF45AE=
github.com/catenacyber/perfsprint v0.7.1 h1:PGW5G/Kxn+YrN04cRAZKC+ZuvlVwolYMrIyyTJ/rMmc=
github.com/catenacyber/perfsprint v0.7.1/go.mod h1:/wclWYompEyjUD2FuIIDVKNkqz7IgBIWXIH3V0Zol50=
github.com/ccojocar/zxcvbn-go v1.0.2 h1:na/czXU8RrhXO4EZme6eQJLR4PzcGsahsBOAwU6I3Vg=
github.com/ccojocar/zxcvbn-go v1.0.2/go.mod h1:g1qkXtUSvHP8lhHp5GrSmTz6uWALGRMQdw6Qnz/hi60=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE=
@@ -131,9 +163,13 @@ github.com/chavacava/garif v0.0.0-20221024190013-b3ef35877348 h1:cy5GCEZLUCshCGC
github.com/chavacava/garif v0.0.0-20221024190013-b3ef35877348/go.mod h1:f/miWtG3SSuTxKsNK3o58H1xl+XV6ZIfbC6p7lPPB8U=
github.com/chavacava/garif v0.0.0-20230227094218-b8c73b2037b8 h1:W9o46d2kbNL06lq7UNDPV0zYLzkrde/bjIqO02eoll0=
github.com/chavacava/garif v0.0.0-20230227094218-b8c73b2037b8/go.mod h1:gakxgyXaaPkxvLw1XQxNGK4I37ys9iBRzNUx/B7pUCo=
github.com/chavacava/garif v0.1.0 h1:2JHa3hbYf5D9dsgseMKAmc/MZ109otzgNFk5s87H9Pc=
github.com/chavacava/garif v0.1.0/go.mod h1:XMyYCkEL58DF0oyW4qDjjnPWONs2HBqYKI+UIPD+Gww=
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
github.com/ckaznocha/intrange v0.1.0 h1:ZiGBhvrdsKpoEfzh9CjBfDSZof6QB0ORY5tXasUtiew=
github.com/ckaznocha/intrange v0.1.0/go.mod h1:Vwa9Ekex2BrEQMg6zlrWwbs/FtYw7eS5838Q7UjK7TQ=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
@@ -145,11 +181,15 @@ github.com/daixiang0/gci v0.9.1 h1:jBrwBmBZTDsGsXiaCTLIe9diotp1X4X64zodFrh7l+c=
github.com/daixiang0/gci v0.9.1/go.mod h1:EpVfrztufwVgQRXjnX4zuNinEpLj5OmMjtu/+MB0V0c=
github.com/daixiang0/gci v0.10.1 h1:eheNA3ljF6SxnPD/vE4lCBusVHmV3Rs3dkKvFrJ7MR0=
github.com/daixiang0/gci v0.10.1/go.mod h1:xtHP9N7AHdNvtRNfcx9gwTDfw7FRJx4bZUsiEfiNNAI=
github.com/daixiang0/gci v0.12.3 h1:yOZI7VAxAGPQmkb1eqt5g/11SUlwoat1fSblGLmdiQc=
github.com/daixiang0/gci v0.12.3/go.mod h1:xtHP9N7AHdNvtRNfcx9gwTDfw7FRJx4bZUsiEfiNNAI=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/denis-tingaikin/go-header v0.4.3 h1:tEaZKAlqql6SKCY++utLmkPLd6K8IBM20Ha7UVm+mtU=
github.com/denis-tingaikin/go-header v0.4.3/go.mod h1:0wOCWuN71D5qIgE2nz9KrKmuYBAC2Mra5RassOIQ2/c=
github.com/denis-tingaikin/go-header v0.5.0 h1:SRdnP5ZKvcO9KKRP1KJrhFR3RrlGuD+42t4429eC9k8=
github.com/denis-tingaikin/go-header v0.5.0/go.mod h1:mMenU5bWrok6Wl2UsZjy+1okegmwQ3UgWl4V1D8gjlY=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
@@ -160,10 +200,14 @@ github.com/esimonov/ifshort v1.0.4 h1:6SID4yGWfRae/M7hkVDVVyppy8q/v9OuxNdmjLQStB
github.com/esimonov/ifshort v1.0.4/go.mod h1:Pe8zjlRrJ80+q2CxHLfEOfTwxCZ4O+MuhcHcfgNWTk0=
github.com/ettle/strcase v0.1.1 h1:htFueZyVeE1XNnMEfbqp5r67qAN/4r6ya1ysq8Q+Zcw=
github.com/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY=
github.com/ettle/strcase v0.2.0 h1:fGNiVF21fHXpX1niBgk0aROov1LagYsOwV/xqKDKR/Q=
github.com/ettle/strcase v0.2.0/go.mod h1:DajmHElDSaX76ITe3/VHVyMin4LWSJN5Z909Wp+ED1A=
github.com/fatih/color v1.14.1 h1:qfhVLaG5s+nCROl1zJsZRxFeYrHLqWroPOQ8BWiNb4w=
github.com/fatih/color v1.14.1/go.mod h1:2oHN61fhTpgcxD3TSWCgKDiH1+x4OiDVVGH8WlgGZGg=
github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs=
github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw=
github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM=
github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE=
github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4=
github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94=
github.com/firefart/nonamedreturns v1.0.4 h1:abzI1p7mAEPYuR4A+VLKn4eNDOycjYo2phmY9sfv40Y=
@@ -172,12 +216,16 @@ github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwV
github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU=
github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo=
github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA=
github.com/ghostiam/protogetter v0.3.5 h1:+f7UiF8XNd4w3a//4DnusQ2SZjPkUjxkMEfjbxOK4Ug=
github.com/ghostiam/protogetter v0.3.5/go.mod h1:7lpeDnEJ1ZjL/YtyoN99ljO4z0pd3H0d18/t2dPBxHw=
github.com/go-critic/go-critic v0.6.7 h1:1evPrElnLQ2LZtJfmNDzlieDhjnq36SLgNzisx06oPM=
github.com/go-critic/go-critic v0.6.7/go.mod h1:fYZUijFdcnxgx6wPjQA2QEjIRaNCT0gO8bhexy6/QmE=
github.com/go-critic/go-critic v0.7.0 h1:tqbKzB8pqi0NsRZ+1pyU4aweAF7A7QN0Pi4Q02+rYnQ=
github.com/go-critic/go-critic v0.7.0/go.mod h1:moYzd7GdVXE2C2hYTwd7h0CPcqlUeclsyBRwMa38v64=
github.com/go-critic/go-critic v0.8.1 h1:16omCF1gN3gTzt4j4J6fKI/HnRojhEp+Eks6EuKw3vw=
github.com/go-critic/go-critic v0.8.1/go.mod h1:kpzXl09SIJX1cr9TB/g/sAG+eFEl7ZS9f9cqvZtyNl0=
github.com/go-critic/go-critic v0.11.2 h1:81xH/2muBphEgPtcwH1p6QD+KzXl2tMSi3hXjBSxDnM=
github.com/go-critic/go-critic v0.11.2/go.mod h1:OePaicfjsf+KPy33yq4gzv6CO7TEQ9Rom6ns1KsJnl8=
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
@@ -198,6 +246,8 @@ github.com/go-toolsmith/astequal v1.0.2/go.mod h1:9Ai4UglvtR+4up+bAD4+hCj7iTo4m/
github.com/go-toolsmith/astequal v1.0.3/go.mod h1:9Ai4UglvtR+4up+bAD4+hCj7iTo4m/OXVTSLnCyTAx4=
github.com/go-toolsmith/astequal v1.1.0 h1:kHKm1AWqClYn15R0K1KKE4RG614D46n+nqUQ06E1dTw=
github.com/go-toolsmith/astequal v1.1.0/go.mod h1:sedf7VIdCL22LD8qIvv7Nn9MuWJruQA/ysswh64lffQ=
github.com/go-toolsmith/astequal v1.2.0 h1:3Fs3CYZ1k9Vo4FzFhwwewC3CHISHDnVUPC4x0bI2+Cw=
github.com/go-toolsmith/astequal v1.2.0/go.mod h1:c8NZ3+kSFtFY/8lPso4v8LuJjdJiUFVnSuU3s0qrrDY=
github.com/go-toolsmith/astfmt v1.1.0 h1:iJVPDPp6/7AaeLJEruMsBUlOYCmvg0MoCfJprsOmcco=
github.com/go-toolsmith/astfmt v1.1.0/go.mod h1:OrcLlRwu0CuiIBp/8b5PYF9ktGVZUjlNMV634mhwuQ4=
github.com/go-toolsmith/astp v1.1.0 h1:dXPuCl6u2llURjdPLLDxJeZInAeZ0/eZwFJmqZMnpQA=
@@ -207,6 +257,8 @@ github.com/go-toolsmith/strparse v1.1.0 h1:GAioeZUK9TGxnLS+qfdqNbA4z0SSm5zVNtCQi
github.com/go-toolsmith/strparse v1.1.0/go.mod h1:7ksGy58fsaQkGQlY8WVoBFNyEPMGuJin1rfoPS4lBSQ=
github.com/go-toolsmith/typep v1.1.0 h1:fIRYDyF+JywLfqzyhdiHzRop/GQDxxNhLGQ6gFUNHus=
github.com/go-toolsmith/typep v1.1.0/go.mod h1:fVIw+7zjdsMxDA3ITWnH1yOiw1rnTQKCsF/sk2H/qig=
github.com/go-viper/mapstructure/v2 v2.0.0-alpha.1 h1:TQcrn6Wq+sKGkpyPvppOz99zsMBaUOKXq6HSv655U1c=
github.com/go-viper/mapstructure/v2 v2.0.0-alpha.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/go-xmlfmt/xmlfmt v1.1.2 h1:Nea7b4icn8s57fTx1M5AI4qQT5HEM3rVUO8MuE6g80U=
github.com/go-xmlfmt/xmlfmt v1.1.2/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM=
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
@@ -242,6 +294,8 @@ github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 h1:23T5iq8rbUYlhpt5DB4XJkc6BU31uODLD1o1gKvZmD0=
github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2/go.mod h1:k9Qvh+8juN+UKMCS/3jFtGICgW8O96FVaZsaxdzDkR4=
github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a h1:w8hkcTqaFpzKqonE9uMCefW1WDie15eSP/4MssdenaM=
@@ -250,22 +304,34 @@ github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe h1:6RGUuS7EGotKx6
github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe/go.mod h1:gjqyPShc/m8pEMpk0a3SeagVb0kaqvhscv+i9jI5ZhQ=
github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2 h1:amWTbTGqOZ71ruzrdA+Nx5WA3tV1N0goTspwmKCQvBY=
github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2/go.mod h1:9wOXstvyDRshQ9LggQuzBCGysxs3b6Uo/1MvYCR2NMs=
github.com/golangci/gofmt v0.0.0-20231018234816-f50ced29576e h1:ULcKCDV1LOZPFxGZaA6TlQbiM3J2GCPnkx/bGF6sX/g=
github.com/golangci/gofmt v0.0.0-20231018234816-f50ced29576e/go.mod h1:Pm5KhLPA8gSnQwrQ6ukebRcapGb/BG9iUkdaiCcGHJM=
github.com/golangci/golangci-lint v1.51.2 h1:yIcsT1X9ZYHdSpeWXRT1ORC/FPGSqDHbHsu9uk4FK7M=
github.com/golangci/golangci-lint v1.51.2/go.mod h1:KH9Q7/3glwpYSknxUgUyLlAv46A8fsSKo1hH2wDvkr8=
github.com/golangci/golangci-lint v1.52.2 h1:FrPElUUI5rrHXg1mQ7KxI1MXPAw5lBVskiz7U7a8a1A=
github.com/golangci/golangci-lint v1.52.2/go.mod h1:S5fhC5sHM5kE22/HcATKd1XLWQxX+y7mHj8B5H91Q/0=
github.com/golangci/golangci-lint v1.53.3 h1:CUcRafczT4t1F+mvdkUm6KuOpxUZTl0yWN/rSU6sSMo=
github.com/golangci/golangci-lint v1.53.3/go.mod h1:W4Gg3ONq6p3Jl+0s/h9Gr0j7yEgHJWWZO2bHl2tBUXM=
github.com/golangci/golangci-lint v1.57.1 h1:cqhpzkzjDwdN12rfMf1SUyyKyp88a1SltNqEYGS0nJw=
github.com/golangci/golangci-lint v1.57.1/go.mod h1:zLcHhz3NHc88T5zV2j75lyc0zH3LdOPOybblYa4p0oI=
github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 h1:MfyDlzVjl1hoaPzPD4Gpb/QgoRfSBR0jdhwGyAWwMSA=
github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0/go.mod h1:66R6K6P6VWk9I95jvqGxkqJxVWGFy9XlDwLwVz1RCFg=
github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca h1:kNY3/svz5T29MYHubXix4aDDuE3RWHkPvopM/EDv/MA=
github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca/go.mod h1:tvlJhZqDe4LMs4ZHD0oMUlt9G2LWuDGoisJTBzLMV9o=
github.com/golangci/misspell v0.4.0 h1:KtVB/hTK4bbL/S6bs64rYyk8adjmh1BygbBiaAiX+a0=
github.com/golangci/misspell v0.4.0/go.mod h1:W6O/bwV6lGDxUCChm2ykw9NQdd5bYd1Xkjo88UcWyJc=
github.com/golangci/misspell v0.4.1 h1:+y73iSicVy2PqyX7kmUefHusENlrP9YwuHZHPLGQj/g=
github.com/golangci/misspell v0.4.1/go.mod h1:9mAN1quEo3DlpbaIKKyEvRxK1pwqR9s/Sea1bJCtlNI=
github.com/golangci/plugin-module-register v0.1.1 h1:TCmesur25LnyJkpsVrupv1Cdzo+2f7zX0H6Jkw1Ol6c=
github.com/golangci/plugin-module-register v0.1.1/go.mod h1:TTpqoB6KkwOJMV8u7+NyXMrkwwESJLOkfl9TxR1DGFc=
github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6 h1:DIPQnGy2Gv2FSA4B/hh8Q7xx3B7AIDk3DAMeHclH1vQ=
github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6/go.mod h1:0AKcRCkMoKvUvlf89F6O7H2LYdhr1zBh736mBItOdRs=
github.com/golangci/revgrep v0.5.2 h1:EndcWoRhcnfj2NHQ+28hyuXpLMF+dQmCN+YaeeIl4FU=
github.com/golangci/revgrep v0.5.2/go.mod h1:bjAMA+Sh/QUfTDcHzxfyHxr4xKvllVr/0sCv2e7jJHA=
github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 h1:zwtduBRr5SSWhqsYNgcuWO2kFlpdOZbP0+yRjmvPGys=
github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ=
github.com/golangci/unconvert v0.0.0-20240309020433-c5143eacb3ed h1:IURFTjxeTfNFP0hTEi1YKjB/ub8zkpaOqFFMApi2EAs=
github.com/golangci/unconvert v0.0.0-20240309020433-c5143eacb3ed/go.mod h1:XLXN8bNw4CGRPaqgl3bv/lhz7bsGPh4/xSaMTbo2vkQ=
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
@@ -282,6 +348,8 @@ github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
@@ -305,6 +373,8 @@ github.com/gordonklaus/ineffassign v0.0.0-20230107090616-13ace0543b28 h1:9alfqbr
github.com/gordonklaus/ineffassign v0.0.0-20230107090616-13ace0543b28/go.mod h1:Qcp2HIAYhR7mNUVSIxZww3Guk4it82ghYcEXIAk+QT0=
github.com/gordonklaus/ineffassign v0.0.0-20230610083614-0e73809eb601 h1:mrEEilTAUmaAORhssPPkxj84TsHrPMLBGW2Z4SoTxm8=
github.com/gordonklaus/ineffassign v0.0.0-20230610083614-0e73809eb601/go.mod h1:Qcp2HIAYhR7mNUVSIxZww3Guk4it82ghYcEXIAk+QT0=
github.com/gordonklaus/ineffassign v0.1.0 h1:y2Gd/9I7MdY1oEIt+n+rowjBNDcLQq3RsH5hwJd0f9s=
github.com/gordonklaus/ineffassign v0.1.0/go.mod h1:Qcp2HIAYhR7mNUVSIxZww3Guk4it82ghYcEXIAk+QT0=
github.com/gostaticanalysis/analysisutil v0.0.3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE=
github.com/gostaticanalysis/analysisutil v0.1.0/go.mod h1:dMhHRU9KTiDcuLGdy87/2gTR8WruwYZrKdRq9m1O6uw=
github.com/gostaticanalysis/analysisutil v0.7.1 h1:ZMCjoue3DtDWQ5WyU16YbjbQEQ3VuzwxALrpYd+HeKk=
@@ -339,10 +409,14 @@ github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/jgautheron/goconst v1.5.1 h1:HxVbL1MhydKs8R8n/HE5NPvzfaYmQJA3o879lE4+WcM=
github.com/jgautheron/goconst v1.5.1/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4=
github.com/jgautheron/goconst v1.7.0 h1:cEqH+YBKLsECnRSd4F4TK5ri8t/aXtt/qoL0Ft252B0=
github.com/jgautheron/goconst v1.7.0/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4=
github.com/jingyugao/rowserrcheck v1.1.1 h1:zibz55j/MJtLsjP1OF4bSdgXxwL1b+Vn7Tjzq7gFzUs=
github.com/jingyugao/rowserrcheck v1.1.1/go.mod h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c=
github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af h1:KA9BjwUk7KlCh6S9EAGWBt1oExIUv9WyNCiRz5amv48=
github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0=
github.com/jjti/go-spancheck v0.5.3 h1:vfq4s2IB8T3HvbpiwDTYgVPj1Ze/ZSXrTtaZRTc7CuM=
github.com/jjti/go-spancheck v0.5.3/go.mod h1:eQdOX1k3T+nAKvZDyLC3Eby0La4dZ+I19iOl5NzSPFE=
github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
@@ -358,8 +432,12 @@ github.com/junk1tm/musttag v0.4.5 h1:d+mpJ1vn6WFEVKHwkgJiIedis1u/EawKOuUTygAUtCo
github.com/junk1tm/musttag v0.4.5/go.mod h1:XkcL/9O6RmD88JBXb+I15nYRl9W4ExhgQeCBEhfMC8U=
github.com/junk1tm/musttag v0.5.0 h1:bV1DTdi38Hi4pG4OVWa7Kap0hi0o7EczuK6wQt9zPOM=
github.com/junk1tm/musttag v0.5.0/go.mod h1:PcR7BA+oREQYvHwgjIDmw3exJeds5JzRcvEJTfjrA0M=
github.com/karamaru-alpha/copyloopvar v1.0.8 h1:gieLARwuByhEMxRwM3GRS/juJqFbLraftXIKDDNJ50Q=
github.com/karamaru-alpha/copyloopvar v1.0.8/go.mod h1:u7CIfztblY0jZLOQZgH3oYsJzpC2A7S6u/lfgSXHy0k=
github.com/kisielk/errcheck v1.6.3 h1:dEKh+GLHcWm2oN34nMvDzn1sqI0i0WxPvrgiJA5JuM8=
github.com/kisielk/errcheck v1.6.3/go.mod h1:nXw/i/MfnvRHqXa7XXmQMUB0oNFGuBrNI8d8NLy0LPw=
github.com/kisielk/errcheck v1.7.0 h1:+SbscKmWJ5mOK/bO1zS60F5I9WwZDWOfRsC4RwfwRV0=
github.com/kisielk/errcheck v1.7.0/go.mod h1:1kLL+jV4e+CFfueBmI1dSK2ADDyQnlrnrY/FqKluHJQ=
github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/kkHAIKE/contextcheck v1.1.3 h1:l4pNvrb8JSwRd51ojtcOxOeHJzHek+MtOyXbaR0uvmw=
@@ -379,6 +457,8 @@ github.com/kunwardeep/paralleltest v1.0.6 h1:FCKYMF1OF2+RveWlABsdnmsvJrei5aoyZoa
github.com/kunwardeep/paralleltest v1.0.6/go.mod h1:Y0Y0XISdZM5IKm3TREQMZ6iteqn1YuwCsJO/0kL9Zes=
github.com/kunwardeep/paralleltest v1.0.7 h1:2uCk94js0+nVNQoHZNLBkAR1DQJrVzw6T0RMzJn55dQ=
github.com/kunwardeep/paralleltest v1.0.7/go.mod h1:2C7s65hONVqY7Q5Efj5aLzRCNLjw2h4eMc9EcypGjcY=
github.com/kunwardeep/paralleltest v1.0.10 h1:wrodoaKYzS2mdNVnc4/w31YaXFtsc21PCTdvWJ/lDDs=
github.com/kunwardeep/paralleltest v1.0.10/go.mod h1:2C7s65hONVqY7Q5Efj5aLzRCNLjw2h4eMc9EcypGjcY=
github.com/kyoh86/exportloopref v0.1.11 h1:1Z0bcmTypkL3Q4k+IDHMWTcnCliEZcaPiIe0/ymEyhQ=
github.com/kyoh86/exportloopref v0.1.11/go.mod h1:qkV4UF1zGl6EkF1ox8L5t9SwyeBAZ3qLMd6up458uqA=
github.com/ldez/gomoddirectives v0.2.3 h1:y7MBaisZVDYmKvt9/l1mjNCiSA1BVn34U0ObUcJwlhA=
@@ -391,6 +471,8 @@ github.com/leonklingele/grouper v1.1.1 h1:suWXRU57D4/Enn6pXR0QVqqWWrnJ9Osrz+5rjt
github.com/leonklingele/grouper v1.1.1/go.mod h1:uk3I3uDfi9B6PeUjsCKi6ndcf63Uy7snXgR4yDYQVDY=
github.com/lufeee/execinquery v1.2.1 h1:hf0Ems4SHcUGBxpGN7Jz78z1ppVkP/837ZlETPCEtOM=
github.com/lufeee/execinquery v1.2.1/go.mod h1:EC7DrEKView09ocscGHC+apXMIaorh4xqSxS/dy8SbM=
github.com/macabu/inamedparam v0.1.3 h1:2tk/phHkMlEL/1GNe/Yf6kkR/hkcUdAEY3L0hjYV1Mk=
github.com/macabu/inamedparam v0.1.3/go.mod h1:93FLICAIk/quk7eaPPQvbzihUdn/QkGDwIZEoLtpH6I=
github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo=
github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60=
github.com/maratori/testableexamples v1.0.0 h1:dU5alXRrD8WKSjOUnmJZuzdxWOEQ57+7s93SLMxb2vI=
@@ -409,6 +491,8 @@ github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovk
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng=
github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0=
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
@@ -421,6 +505,8 @@ github.com/mgechev/revive v1.3.1 h1:OlQkcH40IB2cGuprTPcjB0iIUddgVZgGmDX3IAMR8D4=
github.com/mgechev/revive v1.3.1/go.mod h1:YlD6TTWl2B8A103R9KWJSPVI9DrEf+oqr15q21Ld+5I=
github.com/mgechev/revive v1.3.2 h1:Wb8NQKBaALBJ3xrrj4zpwJwqwNA6nDpyJSEQWcCka6U=
github.com/mgechev/revive v1.3.2/go.mod h1:UCLtc7o5vg5aXCwdUTU1kEBQ1v+YXPAkYDIDXbrs5I0=
github.com/mgechev/revive v1.3.7 h1:502QY0vQGe9KtYJ9FpxMz9rL+Fc/P13CI5POL4uHCcE=
github.com/mgechev/revive v1.3.7/go.mod h1:RJ16jUbF0OWC3co/+XTxmFNgEpUPwnnA0BRllX2aDNA=
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
@@ -444,6 +530,8 @@ github.com/nishanths/exhaustive v0.9.5 h1:TzssWan6orBiLYVqewCG8faud9qlFntJE30ACp
github.com/nishanths/exhaustive v0.9.5/go.mod h1:IbwrGdVMizvDcIxPYGVdQn5BqWJaOwpCvg4RGb8r/TA=
github.com/nishanths/exhaustive v0.11.0 h1:T3I8nUGhl/Cwu5Z2hfc92l0e04D2GEW6e0l8pzda2l0=
github.com/nishanths/exhaustive v0.11.0/go.mod h1:RqwDsZ1xY0dNdqHho2z6X+bgzizwbLYOWnZbbl2wLB4=
github.com/nishanths/exhaustive v0.12.0 h1:vIY9sALmw6T/yxiASewa4TQcFsVYZQQRUQJhKRf3Swg=
github.com/nishanths/exhaustive v0.12.0/go.mod h1:mEZ95wPIZW+x8kC4TgC+9YCUgiST7ecevsVDTgc2obs=
github.com/nishanths/predeclared v0.2.2 h1:V2EPdZPliZymNAn79T8RkNApBjMmVKh5XRpLm/w98Vk=
github.com/nishanths/predeclared v0.2.2/go.mod h1:RROzoN6TnGQupbC+lqggsOlcgysk3LMK/HI84Mp280c=
github.com/nunnatsa/ginkgolinter v0.8.1 h1:/y4o/0hV+ruUHj4xXh89xlFjoaitnI4LnkpuYs02q1c=
@@ -452,6 +540,8 @@ github.com/nunnatsa/ginkgolinter v0.9.0 h1:Sm0zX5QfjJzkeCjEp+t6d3Ha0jwvoDjleP9XC
github.com/nunnatsa/ginkgolinter v0.9.0/go.mod h1:FHaMLURXP7qImeH6bvxWJUpyH+2tuqe5j4rW1gxJRmI=
github.com/nunnatsa/ginkgolinter v0.12.1 h1:vwOqb5Nu05OikTXqhvLdHCGcx5uthIYIl0t79UVrERQ=
github.com/nunnatsa/ginkgolinter v0.12.1/go.mod h1:AK8Ab1PypVrcGUusuKD8RDcl2KgsIwvNaaxAlyHSzso=
github.com/nunnatsa/ginkgolinter v0.16.1 h1:uDIPSxgVHZ7PgbJElRDGzymkXH+JaF7mjew+Thjnt6Q=
github.com/nunnatsa/ginkgolinter v0.16.1/go.mod h1:4tWRinDN1FeJgU+iJANW/kz7xKN5nYRAOfJDQUS9dOQ=
github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=
github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=
github.com/otiai10/copy v1.2.0/go.mod h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw=
@@ -463,6 +553,8 @@ github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3v
github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
github.com/pelletier/go-toml/v2 v2.0.5 h1:ipoSadvV8oGUjnUbMub59IDPPwfxF694nG/jwbMiyQg=
github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas=
github.com/pelletier/go-toml/v2 v2.2.0 h1:QLgLl2yMN7N+ruc31VynXs1vhMZa7CeHHejIeBAsoHo=
github.com/pelletier/go-toml/v2 v2.2.0/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
@@ -476,6 +568,8 @@ github.com/polyfloyd/go-errorlint v1.4.0 h1:b+sQ5HibPIAjEZwtuwU8Wz/u0dMZ7YL+bk+9
github.com/polyfloyd/go-errorlint v1.4.0/go.mod h1:qJCkPeBn+0EXkdKTrUCcuFStM2xrDKfxI3MGLXPexUs=
github.com/polyfloyd/go-errorlint v1.4.2 h1:CU+O4181IxFDdPH6t/HT7IiDj1I7zxNi1RIUxYwn8d0=
github.com/polyfloyd/go-errorlint v1.4.2/go.mod h1:k6fU/+fQe38ednoZS51T7gSIGQW1y94d6TkSr35OzH8=
github.com/polyfloyd/go-errorlint v1.4.8 h1:jiEjKDH33ouFktyez7sckv6pHWif9B7SuS8cutDXFHw=
github.com/polyfloyd/go-errorlint v1.4.8/go.mod h1:NNCxFcFjZcw3xNjVdCchERkEM6Oz7wta2XJVxRftwO4=
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M=
@@ -500,6 +594,8 @@ github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0
github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
github.com/quasilyte/go-ruleguard v0.3.19 h1:tfMnabXle/HzOb5Xe9CUZYWXKfkS1KwRmZyPmD9nVcc=
github.com/quasilyte/go-ruleguard v0.3.19/go.mod h1:lHSn69Scl48I7Gt9cX3VrbsZYvYiBYszZOZW4A+oTEw=
github.com/quasilyte/go-ruleguard v0.4.2 h1:htXcXDK6/rO12kiTHKfHuqR4kr3Y4M0J0rOL6CH/BYs=
github.com/quasilyte/go-ruleguard v0.4.2/go.mod h1:GJLgqsLeo4qgavUoL8JeGFNS7qcisx3awV/w9eWTmNI=
github.com/quasilyte/gogrep v0.5.0 h1:eTKODPXbI8ffJMN+W2aE0+oL0z/nh8/5eNdiO34SOAo=
github.com/quasilyte/gogrep v0.5.0/go.mod h1:Cm9lpz9NZjEoL1tgZ2OgeUKPIxL1meE7eo60Z6Sk+Ng=
github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95 h1:L8QM9bvf68pVdQ3bCFZMDmnt9yqcMBro1pC7F+IPYMY=
@@ -512,18 +608,28 @@ github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/ryancurrah/gomodguard v1.3.0 h1:q15RT/pd6UggBXVBuLps8BXRvl5GPBcwVA7BJHMLuTw=
github.com/ryancurrah/gomodguard v1.3.0/go.mod h1:ggBxb3luypPEzqVtq33ee7YSN35V28XeGnid8dnni50=
github.com/ryancurrah/gomodguard v1.3.1 h1:fH+fUg+ngsQO0ruZXXHnA/2aNllWA1whly4a6UvyzGE=
github.com/ryancurrah/gomodguard v1.3.1/go.mod h1:DGFHzEhi6iJ0oIDfMuo3TgrS+L9gZvrEfmjjuelnRU0=
github.com/ryanrolds/sqlclosecheck v0.4.0 h1:i8SX60Rppc1wRuyQjMciLqIzV3xnoHB7/tXbr6RGYNI=
github.com/ryanrolds/sqlclosecheck v0.4.0/go.mod h1:TBRRjzL31JONc9i4XMinicuo+s+E8yKZ5FN8X3G6CKQ=
github.com/ryanrolds/sqlclosecheck v0.5.1 h1:dibWW826u0P8jNLsLN+En7+RqWWTYrjCB9fJfSfdyCU=
github.com/ryanrolds/sqlclosecheck v0.5.1/go.mod h1:2g3dUjoS6AL4huFdv6wn55WpLIDjY7ZgUR4J8HOO/XQ=
github.com/sanposhiho/wastedassign/v2 v2.0.7 h1:J+6nrY4VW+gC9xFzUc+XjPD3g3wF3je/NsJFwFK7Uxc=
github.com/sanposhiho/wastedassign/v2 v2.0.7/go.mod h1:KyZ0MWTwxxBmfwn33zh3k1dmsbF2ud9pAAGfoLfjhtI=
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 h1:lZUw3E0/J3roVtGQ+SCrUrg3ON6NgVqpn3+iol9aGu4=
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY=
github.com/sashamelentyev/interfacebloat v1.1.0 h1:xdRdJp0irL086OyW1H/RTZTr1h/tMEOsumirXcOJqAw=
github.com/sashamelentyev/interfacebloat v1.1.0/go.mod h1:+Y9yU5YdTkrNvoX0xHc84dxiN1iBi9+G8zZIhPVoNjQ=
github.com/sashamelentyev/usestdlibvars v1.23.0 h1:01h+/2Kd+NblNItNeux0veSL5cBF1jbEOPrEhDzGYq0=
github.com/sashamelentyev/usestdlibvars v1.23.0/go.mod h1:YPwr/Y1LATzHI93CqoPUN/2BzGQ/6N/cl/KwgR0B/aU=
github.com/sashamelentyev/usestdlibvars v1.25.0 h1:IK8SI2QyFzy/2OD2PYnhy84dpfNo9qADrRt6LH8vSzU=
github.com/sashamelentyev/usestdlibvars v1.25.0/go.mod h1:9nl0jgOfHKWNFS43Ojw0i7aRoS4j6EBye3YBhmAIRF8=
github.com/securego/gosec/v2 v2.15.0 h1:v4Ym7FF58/jlykYmmhZ7mTm7FQvN/setNm++0fgIAtw=
github.com/securego/gosec/v2 v2.15.0/go.mod h1:VOjTrZOkUtSDt2QLSJmQBMWnvwiQPEjg0l+5juIqGk8=
github.com/securego/gosec/v2 v2.16.0 h1:Pi0JKoasQQ3NnoRao/ww/N/XdynIB9NRYYZT5CyOs5U=
github.com/securego/gosec/v2 v2.16.0/go.mod h1:xvLcVZqUfo4aAQu56TNv7/Ltz6emAOQAEsrZrt7uGlI=
github.com/securego/gosec/v2 v2.19.0 h1:gl5xMkOI0/E6Hxx0XCY2XujA3V7SNSefA8sC+3f1gnk=
github.com/securego/gosec/v2 v2.19.0/go.mod h1:hOkDcHz9J/XIgIlPDXalxjeVYsHxoWUc5zJSHxcB8YM=
github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c h1:W65qqJCIOVP4jpqPQ0YvHYKwcMEMVWIzWC5iNQQfBTU=
github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c/go.mod h1:/PevMnwAxekIXwN8qQyfc5gl2NlkB3CQlkizAbOkeBs=
github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk=
@@ -551,6 +657,8 @@ github.com/sourcegraph/go-diff v0.7.0 h1:9uLlrd5T46OXs5qpp8L/MTltk0zikUGi0sNNyCp
github.com/sourcegraph/go-diff v0.7.0/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs=
github.com/spf13/afero v1.8.2 h1:xehSyVa0YnHWsJ49JFljMpg1HX19V6NDZ1fkm1Xznbo=
github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo=
github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8=
github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY=
github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU=
github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA=
@@ -572,6 +680,8 @@ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
github.com/stretchr/testify v1.1.4/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
@@ -586,6 +696,8 @@ github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs=
github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0=
github.com/t-yuki/gocover-cobertura v0.0.0-20180217150009-aaee18c8195c h1:+aPplBwWcHBo6q9xrfWdMrT9o4kltkmmvpemgIjep/8=
@@ -598,6 +710,8 @@ github.com/tenntenn/modver v1.0.1/go.mod h1:bePIyQPb7UeioSRkw3Q0XeMhYZSMx9B8ePqg
github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3/go.mod h1:ON8b8w4BN/kE1EOhwT0o+d62W65a6aPw1nouo9LMgyY=
github.com/tetafro/godot v1.4.11 h1:BVoBIqAf/2QdbFmSwAWnaIqDivZdOV0ZRwEm6jivLKw=
github.com/tetafro/godot v1.4.11/go.mod h1:LR3CJpxDVGlYOWn3ZZg1PgNZdTUvzsZWu8xaEohUpn8=
github.com/tetafro/godot v1.4.16 h1:4ChfhveiNLk4NveAZ9Pu2AN8QZ2nkUGFuadM9lrr5D0=
github.com/tetafro/godot v1.4.16/go.mod h1:2oVxTBSftRTh4+MVfUaUXR6bn2GDXCaMcOG4Dk3rfio=
github.com/timakin/bodyclose v0.0.0-20221125081123-e39cf3fc478e h1:MV6KaVu/hzByHP0UvJ4HcMGE/8a6A4Rggc/0wx2AvJo=
github.com/timakin/bodyclose v0.0.0-20221125081123-e39cf3fc478e/go.mod h1:27bSVNWSBOHm+qRp1T9qzaIpsWEP6TbUnei/43HK+PQ=
github.com/timakin/bodyclose v0.0.0-20230421092635-574207250966 h1:quvGphlmUVU+nhpFa4gg4yJyTRJ13reZMDHrKwYw53M=
@@ -610,22 +724,34 @@ github.com/tomarrell/wrapcheck/v2 v2.8.0 h1:qDzbir0xmoE+aNxGCPrn+rUSxAX+nG6vREgb
github.com/tomarrell/wrapcheck/v2 v2.8.0/go.mod h1:ao7l5p0aOlUNJKI0qVwB4Yjlqutd0IvAB9Rdwyilxvg=
github.com/tomarrell/wrapcheck/v2 v2.8.1 h1:HxSqDSN0sAt0yJYsrcYVoEeyM4aI9yAm3KQpIXDJRhQ=
github.com/tomarrell/wrapcheck/v2 v2.8.1/go.mod h1:/n2Q3NZ4XFT50ho6Hbxg+RV1uyo2Uow/Vdm9NQcl5SE=
github.com/tomarrell/wrapcheck/v2 v2.8.3 h1:5ov+Cbhlgi7s/a42BprYoxsr73CbdMUTzE3bRDFASUs=
github.com/tomarrell/wrapcheck/v2 v2.8.3/go.mod h1:g9vNIyhb5/9TQgumxQyOEqDHsmGYcGsVMOx/xGkqdMo=
github.com/tommy-muehle/go-mnd/v2 v2.5.1 h1:NowYhSdyE/1zwK9QCLeRb6USWdoif80Ie+v+yU8u1Zw=
github.com/tommy-muehle/go-mnd/v2 v2.5.1/go.mod h1:WsUAkMJMYww6l/ufffCD3m+P7LEvr8TnZn9lwVDlgzw=
github.com/ultraware/funlen v0.0.3 h1:5ylVWm8wsNwH5aWo9438pwvsK0QiqVuUrt9bn7S/iLA=
github.com/ultraware/funlen v0.0.3/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA=
github.com/ultraware/funlen v0.1.0 h1:BuqclbkY6pO+cvxoq7OsktIXZpgBSkYTQtmwhAK81vI=
github.com/ultraware/funlen v0.1.0/go.mod h1:XJqmOQja6DpxarLj6Jj1U7JuoS8PvL4nEqDaQhy22p4=
github.com/ultraware/whitespace v0.0.5 h1:hh+/cpIcopyMYbZNVov9iSxvJU3OYQg78Sfaqzi/CzI=
github.com/ultraware/whitespace v0.0.5/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA=
github.com/ultraware/whitespace v0.1.0 h1:O1HKYoh0kIeqE8sFqZf1o0qbORXUCOQFrlaQyZsczZw=
github.com/ultraware/whitespace v0.1.0/go.mod h1:/se4r3beMFNmewJ4Xmz0nMQ941GJt+qmSHGP9emHYe0=
github.com/uudashr/gocognit v1.0.6 h1:2Cgi6MweCsdB6kpcVQp7EW4U23iBFQWfTXiWlyp842Y=
github.com/uudashr/gocognit v1.0.6/go.mod h1:nAIUuVBnYU7pcninia3BHOvQkpQCeO76Uscky5BOwcY=
github.com/uudashr/gocognit v1.1.2 h1:l6BAEKJqQH2UpKAPKdMfZf5kE4W/2xk8pfU1OVLvniI=
github.com/uudashr/gocognit v1.1.2/go.mod h1:aAVdLURqcanke8h3vg35BC++eseDm66Z7KmchI5et4k=
github.com/xen0n/gosmopolitan v1.2.1 h1:3pttnTuFumELBRSh+KQs1zcz4fN6Zy7aB0xlnQSn1Iw=
github.com/xen0n/gosmopolitan v1.2.1/go.mod h1:JsHq/Brs1o050OOdmzHeOr0N7OtlnKRAGAsElF8xBQA=
github.com/xen0n/gosmopolitan v1.2.2 h1:/p2KTnMzwRexIW8GlKawsTWOxn7UHA+jCMF/V8HHtvU=
github.com/xen0n/gosmopolitan v1.2.2/go.mod h1:7XX7Mj61uLYrj0qmeN0zi7XDon9JRAEhYQqAPLVNTeg=
github.com/yagipy/maintidx v1.0.0 h1:h5NvIsCz+nRDapQ0exNv4aJ0yXSI0420omVANTv3GJM=
github.com/yagipy/maintidx v1.0.0/go.mod h1:0qNf/I/CCZXSMhsRsrEPDZ+DkekpKLXAJfsTACwgXLk=
github.com/yeya24/promlinter v0.2.0 h1:xFKDQ82orCU5jQujdaD8stOHiv8UN68BSdn2a8u8Y3o=
github.com/yeya24/promlinter v0.2.0/go.mod h1:u54lkmBOZrpEbQQ6gox2zWKKLKu2SGe+2KOiextY+IA=
github.com/ykadowak/zerologlint v0.1.2 h1:Um4P5RMmelfjQqQJKtE8ZW+dLZrXrENeIzWWKw800U4=
github.com/ykadowak/zerologlint v0.1.2/go.mod h1:KaUskqF3e/v59oPmdq1U1DnKcuHokl2/K1U4pmIELKg=
github.com/ykadowak/zerologlint v0.1.5 h1:Gy/fMz1dFQN9JZTPjv1hxEk+sRWm05row04Yoolgdiw=
github.com/ykadowak/zerologlint v0.1.5/go.mod h1:KaUskqF3e/v59oPmdq1U1DnKcuHokl2/K1U4pmIELKg=
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
@@ -635,6 +761,12 @@ github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
gitlab.com/bosi/decorder v0.2.3 h1:gX4/RgK16ijY8V+BRQHAySfQAb354T7/xQpDB2n10P0=
gitlab.com/bosi/decorder v0.2.3/go.mod h1:9K1RB5+VPNQYtXtTDAzd2OEftsZb1oV0IrJrzChSdGE=
gitlab.com/bosi/decorder v0.4.1 h1:VdsdfxhstabyhZovHafFw+9eJ6eU0d2CkFNJcZz/NU4=
gitlab.com/bosi/decorder v0.4.1/go.mod h1:jecSqWUew6Yle1pCr2eLWTensJMmsxHsBwt+PVbkAqA=
go-simpler.org/musttag v0.9.0 h1:Dzt6/tyP9ONr5g9h9P3cnYWCxeBFRkd0uJL/w+1Mxos=
go-simpler.org/musttag v0.9.0/go.mod h1:gA9nThnalvNSKpEoyp3Ko4/vCX2xTpqKoUtNqXOnVR4=
go-simpler.org/sloglint v0.5.0 h1:2YCcd+YMuYpuqthCgubcF5lBSjb6berc5VMOYUHKrpY=
go-simpler.org/sloglint v0.5.0/go.mod h1:EUknX5s8iXqf18KQxKnaBHUPVriiPnOrPjjJcsaTcSQ=
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
@@ -645,6 +777,8 @@ go.tmz.dev/musttag v0.7.0 h1:QfytzjTWGXZmChoX0L++7uQN+yRCPfyFm+whsM+lfGc=
go.tmz.dev/musttag v0.7.0/go.mod h1:oTFPvgOkJmp5kYL02S8+jrH0eLrBIl57rzWeA26zDEM=
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
go.uber.org/automaxprocs v1.5.3 h1:kWazyxZUrS3Gs4qUpbwo5kEIMGe/DAvi5Z4tl2NW4j8=
go.uber.org/automaxprocs v1.5.3/go.mod h1:eRbA25aqJrxAbsLO0xy5jVwPt7FQnRgjW+efnwa1WM0=
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
go.uber.org/zap v1.17.0 h1:MTjgFu6ZLKvY6Pvaqk97GlxNBuMpV4Hy/3P6tRGlI2U=
@@ -675,11 +809,15 @@ golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e h1:+WEEuIdZHnUeJJmEUjyYC2gfU
golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e/go.mod h1:Kr81I6Kryrl9sr8s2FK3vxD90NdsKWRuOIl2O4CvYbA=
golang.org/x/exp v0.0.0-20230510235704-dd950f8aeaea h1:vLCWI/yYrdEHyN2JzIzPO3aaQJHQdp89IZBA/+azVC4=
golang.org/x/exp v0.0.0-20230510235704-dd950f8aeaea/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w=
golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc h1:ao2WRsKSzW6KuUY9IWPwWahcHCgR0s52IfwutMfEbdM=
golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc/go.mod h1:iRJReGqOEeBhDZGkGbynYwcHlctCvnjTYIamk7uXpHI=
golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9 h1:6WHiuFL9FNjg8RljAaT7FNUuKDbvMqS1i5cr2OE2sLQ=
golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
golang.org/x/exp/typeparams v0.0.0-20230224173230-c95f2b4c22f2 h1:J74nGeMgeFnYQJN59eFwh06jX/V8g0lB7LWpjSLxtgU=
golang.org/x/exp/typeparams v0.0.0-20230224173230-c95f2b4c22f2/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
golang.org/x/exp/typeparams v0.0.0-20240314144324-c7f7c6466f7f h1:phY1HzDcf18Aq9A8KkmRtY9WvOFIxN8wgfvy6Zm1DV8=
golang.org/x/exp/typeparams v0.0.0-20240314144324-c7f7c6466f7f/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
@@ -715,6 +853,8 @@ golang.org/x/mod v0.9.0 h1:KENHtAZL2y3NLMYZeHY9DW8HW8V+kQyJsY/V9JlKvCs=
golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk=
golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic=
golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -783,6 +923,8 @@ golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.2.0 h1:PUR+T4wwASmuSTYdKjYHI5TD22Wy5ogLU5qZCOLxBrI=
golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -847,6 +989,8 @@ golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
@@ -870,6 +1014,8 @@ golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE=
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -954,6 +1100,8 @@ golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4=
golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s=
golang.org/x/tools v0.9.3 h1:Gn1I8+64MsuTb/HpH+LmQtNas23LhUVr3rYZ0eKuaMM=
golang.org/x/tools v0.9.3/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc=
golang.org/x/tools v0.19.0 h1:tfGCXNR1OsFG+sVdLAitlpjAvD/I6dHDKnYrpEZUHkw=
golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -1050,6 +1198,8 @@ google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp0
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw=
google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
@@ -1080,16 +1230,22 @@ honnef.co/go/tools v0.4.2 h1:6qXr+R5w+ktL5UkwEbPp+fEvfyoMPche6GkOpGHZcLc=
honnef.co/go/tools v0.4.2/go.mod h1:36ZgoUOrqOk1GxwHhyryEkq8FQWkUO2xGuSMhUCcdvA=
honnef.co/go/tools v0.4.3 h1:o/n5/K5gXqk8Gozvs2cnL0F2S1/g1vcGCAx2vETjITw=
honnef.co/go/tools v0.4.3/go.mod h1:36ZgoUOrqOk1GxwHhyryEkq8FQWkUO2xGuSMhUCcdvA=
honnef.co/go/tools v0.4.7 h1:9MDAWxMoSnB6QoSqiVr7P5mtkT9pOc1kSxchzPCnqJs=
honnef.co/go/tools v0.4.7/go.mod h1:+rnGS1THNh8zMwnd2oVOTL9QF6vmfyG6ZXBULae2uc0=
mvdan.cc/gofumpt v0.4.0 h1:JVf4NN1mIpHogBj7ABpgOyZc65/UUOkKQFkoURsz4MM=
mvdan.cc/gofumpt v0.4.0/go.mod h1:PljLOHDeZqgS8opHRKLzp2It2VBuSdteAgqUfzMTxlQ=
mvdan.cc/gofumpt v0.5.0 h1:0EQ+Z56k8tXjj/6TQD25BFNKQXpCvT0rnansIc7Ug5E=
mvdan.cc/gofumpt v0.5.0/go.mod h1:HBeVDtMKRZpXyxFciAirzdKklDlGu8aAy1wEbH5Y9js=
mvdan.cc/gofumpt v0.6.0 h1:G3QvahNDmpD+Aek/bNOLrFR2XC6ZAdo62dZu65gmwGo=
mvdan.cc/gofumpt v0.6.0/go.mod h1:4L0wf+kgIPZtcCWXynNS2e6bhmj73umwnuXSZarixzA=
mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed h1:WX1yoOaKQfddO/mLzdV4wptyWgoH/6hwLs7QHTixo0I=
mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc=
mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b h1:DxJ5nJdkhDlLok9K6qO+5290kphDJbHOQO1DFFFTeBo=
mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4=
mvdan.cc/unparam v0.0.0-20221223090309-7455f1af531d h1:3rvTIIM22r9pvXk+q3swxUQAQOxksVMGK7sml4nG57w=
mvdan.cc/unparam v0.0.0-20221223090309-7455f1af531d/go.mod h1:IeHQjmn6TOD+e4Z3RFiZMMsLVL+A96Nvptar8Fj71is=
mvdan.cc/unparam v0.0.0-20240104100049-c549a3470d14 h1:zCr3iRRgdk5eIikZNDphGcM6KGVTx3Yu+/Uu9Es254w=
mvdan.cc/unparam v0.0.0-20240104100049-c549a3470d14/go.mod h1:ZzZjEpJDOmx8TdVU6umamY3Xy0UAQUI2DHbf05USVbI=
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=

View File

@@ -1,4 +1,4 @@
# Auto generated binary variables helper managed by https://github.com/bwplotka/bingo v0.9. DO NOT EDIT.
# Auto generated binary variables helper managed by https://github.com/bwplotka/bingo v0.8. DO NOT EDIT.
# All tools are designed to be build inside $GOBIN.
# Those variables will work only until 'bingo get' was invoked, or if tools were installed via Makefile's Variables.mk.
GOBIN=${GOBIN:=$(go env GOBIN)}
@@ -14,7 +14,7 @@ CUE="${GOBIN}/cue-v0.5.0"
DRONE="${GOBIN}/drone-v1.5.0"
GOLANGCI_LINT="${GOBIN}/golangci-lint-v1.53.3"
GOLANGCI_LINT="${GOBIN}/golangci-lint-v1.57.1"
JB="${GOBIN}/jb-v0.5.1"
@@ -22,5 +22,3 @@ LEFTHOOK="${GOBIN}/lefthook-v1.4.8"
SWAGGER="${GOBIN}/swagger-v0.30.2"
WIRE="${GOBIN}/wire-v0.6.0"

View File

@@ -1,5 +0,0 @@
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
go 1.16
require github.com/google/wire v0.6.0 // cmd/wire

View File

@@ -25,7 +25,7 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- commands:
- ./bin/build verify-drone
@@ -76,14 +76,14 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- commands:
- go install github.com/bazelbuild/buildtools/buildifier@latest
- buildifier --lint=warn -mode=check -r .
depends_on:
- compile-build-cmd
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: lint-starlark
trigger:
event:
@@ -323,7 +323,7 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-cue
- commands:
- '# It is required that generated jsonnet is committed and in sync with its inputs.'
@@ -332,14 +332,14 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-jsonnet
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-jsonnet
- commands:
- apk add --update make
- make gen-go
depends_on:
- verify-gen-cue
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: wire-install
- commands:
- apk add --update build-base shared-mime-info shared-mime-info-lang
@@ -347,7 +347,7 @@ steps:
-timeout=5m
depends_on:
- wire-install
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: test-backend
- commands:
- apk add --update build-base
@@ -356,7 +356,7 @@ steps:
| grep -o '\(.*\)/' | sort -u)
depends_on:
- wire-install
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: test-backend-integration
trigger:
event:
@@ -408,7 +408,7 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- commands:
- apk add --update curl jq bash
@@ -435,7 +435,7 @@ steps:
- apk add --update make
- make gen-go
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: wire-install
- commands:
- apk add --update make build-base
@@ -444,16 +444,16 @@ steps:
- wire-install
environment:
CGO_ENABLED: "1"
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: lint-backend
- commands:
- go run scripts/modowners/modowners.go check go.mod
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: validate-modfile
- commands:
- apk add --update make
- make swagger-validate
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: validate-openapi-spec
trigger:
event:
@@ -463,6 +463,7 @@ trigger:
- docs/**
- '*.md'
include:
- .golangci.toml
- Makefile
- pkg/**
- packaging/**
@@ -511,7 +512,7 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- commands:
- '# It is required that code generated from Thema/CUE be committed and in sync
@@ -521,7 +522,7 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-cue
- commands:
- '# It is required that generated jsonnet is committed and in sync with its inputs.'
@@ -530,14 +531,14 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-jsonnet
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-jsonnet
- commands:
- apk add --update make
- make gen-go
depends_on:
- verify-gen-cue
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: wire-install
- commands:
- apk add --update g++ make python3 && ln -sf /usr/bin/python3 /usr/bin/python
@@ -571,7 +572,7 @@ steps:
from_secret: drone_token
- commands:
- /src/grafana-build artifacts -a targz:grafana:linux/amd64 -a targz:grafana:linux/arm64
-a targz:grafana:linux/arm/v7 --go-version=1.21.8 --yarn-cache=$$YARN_CACHE_FOLDER
-a targz:grafana:linux/arm/v7 --go-version=1.21.10 --yarn-cache=$$YARN_CACHE_FOLDER
--build-id=$$DRONE_BUILD_NUMBER --grafana-dir=$$PWD > packages.txt
depends_on:
- yarn-install
@@ -774,7 +775,7 @@ steps:
- /src/grafana-build artifacts -a docker:grafana:linux/amd64 -a docker:grafana:linux/amd64:ubuntu
-a docker:grafana:linux/arm64 -a docker:grafana:linux/arm64:ubuntu -a docker:grafana:linux/arm/v7
-a docker:grafana:linux/arm/v7:ubuntu --yarn-cache=$$YARN_CACHE_FOLDER --build-id=$$DRONE_BUILD_NUMBER
--go-version=1.21.8 --ubuntu-base=ubuntu:22.04 --alpine-base=alpine:3.19.1 --tag-format='{{
--go-version=1.21.10 --ubuntu-base=ubuntu:22.04 --alpine-base=alpine:3.19.1 --tag-format='{{
.version_base }}-{{ .buildID }}-{{ .arch }}' --grafana-dir=$$PWD --ubuntu-tag-format='{{
.version_base }}-{{ .buildID }}-ubuntu-{{ .arch }}' > docker.txt
- find ./dist -name '*docker*.tar.gz' -type f | xargs -n1 docker load -i
@@ -918,7 +919,7 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- commands:
- echo $DRONE_RUNNER_NAME
@@ -932,7 +933,7 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-cue
- commands:
- '# It is required that generated jsonnet is committed and in sync with its inputs.'
@@ -941,14 +942,14 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-jsonnet
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-jsonnet
- commands:
- apk add --update make
- make gen-go
depends_on:
- verify-gen-cue
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: wire-install
- commands:
- dockerize -wait tcp://postgres:5432 -timeout 120s
@@ -969,7 +970,7 @@ steps:
GRAFANA_TEST_DB: postgres
PGPASSWORD: grafanatest
POSTGRES_HOST: postgres
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: postgres-integration-tests
- commands:
- dockerize -wait tcp://mysql57:3306 -timeout 120s
@@ -990,7 +991,7 @@ steps:
environment:
GRAFANA_TEST_DB: mysql
MYSQL_HOST: mysql57
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: mysql-5.7-integration-tests
- commands:
- dockerize -wait tcp://mysql80:3306 -timeout 120s
@@ -1011,7 +1012,7 @@ steps:
environment:
GRAFANA_TEST_DB: mysql
MYSQL_HOST: mysql80
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: mysql-8.0-integration-tests
- commands:
- dockerize -wait tcp://redis:6379 -timeout 120s
@@ -1027,7 +1028,7 @@ steps:
- wait-for-redis
environment:
REDIS_URL: redis://redis:6379/0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: redis-integration-tests
- commands:
- dockerize -wait tcp://memcached:11211 -timeout 120s
@@ -1043,7 +1044,7 @@ steps:
- wait-for-memcached
environment:
MEMCACHED_HOSTS: memcached:11211
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: memcached-integration-tests
- commands:
- dockerize -wait tcp://mimir_backend:8080 -timeout 120s
@@ -1059,7 +1060,7 @@ steps:
environment:
AM_TENANT_ID: test
AM_URL: http://mimir_backend:8080
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: remote-alertmanager-integration-tests
trigger:
event:
@@ -1148,7 +1149,7 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-cue
trigger:
event:
@@ -1189,7 +1190,7 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- commands:
- apt-get update -yq && apt-get install shellcheck
@@ -1261,7 +1262,7 @@ steps:
environment:
GITHUB_TOKEN:
from_secret: github_token
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: swagger-gen
trigger:
event:
@@ -1357,7 +1358,7 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- commands:
- '# It is required that code generated from Thema/CUE be committed and in sync
@@ -1368,7 +1369,7 @@ steps:
- CODEGEN_VERIFY=1 make gen-cue
depends_on:
- clone-enterprise
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-cue
- commands:
- '# It is required that generated jsonnet is committed and in sync with its inputs.'
@@ -1378,14 +1379,14 @@ steps:
- CODEGEN_VERIFY=1 make gen-jsonnet
depends_on:
- clone-enterprise
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-jsonnet
- commands:
- apk add --update make
- make gen-go
depends_on:
- verify-gen-cue
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: wire-install
- commands:
- apk add --update build-base
@@ -1393,7 +1394,7 @@ steps:
- go test -v -run=^$ -benchmem -timeout=1h -count=8 -bench=. ${GO_PACKAGES}
depends_on:
- wire-install
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: sqlite-benchmark-integration-tests
- commands:
- apk add --update build-base
@@ -1405,7 +1406,7 @@ steps:
GRAFANA_TEST_DB: postgres
PGPASSWORD: grafanatest
POSTGRES_HOST: postgres
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: postgres-benchmark-integration-tests
- commands:
- apk add --update build-base
@@ -1416,7 +1417,7 @@ steps:
environment:
GRAFANA_TEST_DB: mysql
MYSQL_HOST: mysql57
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: mysql-5.7-benchmark-integration-tests
- commands:
- apk add --update build-base
@@ -1427,7 +1428,7 @@ steps:
environment:
GRAFANA_TEST_DB: mysql
MYSQL_HOST: mysql80
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: mysql-8.0-benchmark-integration-tests
trigger:
event:
@@ -1506,7 +1507,7 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-cue
trigger:
branch: main
@@ -1683,7 +1684,7 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-cue
- commands:
- '# It is required that generated jsonnet is committed and in sync with its inputs.'
@@ -1692,14 +1693,14 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-jsonnet
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-jsonnet
- commands:
- apk add --update make
- make gen-go
depends_on:
- verify-gen-cue
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: wire-install
- commands:
- apk add --update build-base shared-mime-info shared-mime-info-lang
@@ -1707,7 +1708,7 @@ steps:
-timeout=5m
depends_on:
- wire-install
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: test-backend
- commands:
- apk add --update build-base
@@ -1716,7 +1717,7 @@ steps:
| grep -o '\(.*\)/' | sort -u)
depends_on:
- wire-install
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: test-backend-integration
trigger:
branch: main
@@ -1761,13 +1762,13 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- commands:
- apk add --update make
- make gen-go
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: wire-install
- commands:
- apk add --update make build-base
@@ -1776,16 +1777,16 @@ steps:
- wire-install
environment:
CGO_ENABLED: "1"
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: lint-backend
- commands:
- go run scripts/modowners/modowners.go check go.mod
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: validate-modfile
- commands:
- apk add --update make
- make swagger-validate
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: validate-openapi-spec
- commands:
- ./bin/build verify-drone
@@ -1842,7 +1843,7 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- commands:
- '# It is required that code generated from Thema/CUE be committed and in sync
@@ -1852,7 +1853,7 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-cue
- commands:
- '# It is required that generated jsonnet is committed and in sync with its inputs.'
@@ -1861,14 +1862,14 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-jsonnet
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-jsonnet
- commands:
- apk add --update make
- make gen-go
depends_on:
- verify-gen-cue
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: wire-install
- commands:
- apk add --update g++ make python3 && ln -sf /usr/bin/python3 /usr/bin/python
@@ -1901,7 +1902,7 @@ steps:
name: build-frontend-packages
- commands:
- /src/grafana-build artifacts -a targz:grafana:linux/amd64 -a targz:grafana:linux/arm64
-a targz:grafana:linux/arm/v7 --go-version=1.21.8 --yarn-cache=$$YARN_CACHE_FOLDER
-a targz:grafana:linux/arm/v7 --go-version=1.21.10 --yarn-cache=$$YARN_CACHE_FOLDER
--build-id=$$DRONE_BUILD_NUMBER --grafana-dir=$$PWD > packages.txt
depends_on:
- update-package-json-version
@@ -2140,7 +2141,7 @@ steps:
- /src/grafana-build artifacts -a docker:grafana:linux/amd64 -a docker:grafana:linux/amd64:ubuntu
-a docker:grafana:linux/arm64 -a docker:grafana:linux/arm64:ubuntu -a docker:grafana:linux/arm/v7
-a docker:grafana:linux/arm/v7:ubuntu --yarn-cache=$$YARN_CACHE_FOLDER --build-id=$$DRONE_BUILD_NUMBER
--go-version=1.21.8 --ubuntu-base=ubuntu:22.04 --alpine-base=alpine:3.19.1 --tag-format='{{
--go-version=1.21.10 --ubuntu-base=ubuntu:22.04 --alpine-base=alpine:3.19.1 --tag-format='{{
.version_base }}-{{ .buildID }}-{{ .arch }}' --grafana-dir=$$PWD --ubuntu-tag-format='{{
.version_base }}-{{ .buildID }}-ubuntu-{{ .arch }}' > docker.txt
- find ./dist -name '*docker*.tar.gz' -type f | xargs -n1 docker load -i
@@ -2346,7 +2347,7 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- commands:
- echo $DRONE_RUNNER_NAME
@@ -2360,7 +2361,7 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-cue
- commands:
- '# It is required that generated jsonnet is committed and in sync with its inputs.'
@@ -2369,14 +2370,14 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-jsonnet
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-jsonnet
- commands:
- apk add --update make
- make gen-go
depends_on:
- verify-gen-cue
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: wire-install
- commands:
- dockerize -wait tcp://postgres:5432 -timeout 120s
@@ -2397,7 +2398,7 @@ steps:
GRAFANA_TEST_DB: postgres
PGPASSWORD: grafanatest
POSTGRES_HOST: postgres
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: postgres-integration-tests
- commands:
- dockerize -wait tcp://mysql57:3306 -timeout 120s
@@ -2418,7 +2419,7 @@ steps:
environment:
GRAFANA_TEST_DB: mysql
MYSQL_HOST: mysql57
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: mysql-5.7-integration-tests
- commands:
- dockerize -wait tcp://mysql80:3306 -timeout 120s
@@ -2439,7 +2440,7 @@ steps:
environment:
GRAFANA_TEST_DB: mysql
MYSQL_HOST: mysql80
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: mysql-8.0-integration-tests
- commands:
- dockerize -wait tcp://redis:6379 -timeout 120s
@@ -2455,7 +2456,7 @@ steps:
- wait-for-redis
environment:
REDIS_URL: redis://redis:6379/0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: redis-integration-tests
- commands:
- dockerize -wait tcp://memcached:11211 -timeout 120s
@@ -2471,7 +2472,7 @@ steps:
- wait-for-memcached
environment:
MEMCACHED_HOSTS: memcached:11211
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: memcached-integration-tests
- commands:
- dockerize -wait tcp://mimir_backend:8080 -timeout 120s
@@ -2487,7 +2488,7 @@ steps:
environment:
AM_TENANT_ID: test
AM_URL: http://mimir_backend:8080
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: remote-alertmanager-integration-tests
trigger:
branch: main
@@ -2680,7 +2681,7 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- commands:
- ./bin/build artifacts docker fetch --edition oss
@@ -2777,7 +2778,7 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- commands:
- ./bin/build artifacts packages --tag $${DRONE_TAG} --src-bucket $${PRERELEASE_BUCKET}
@@ -2847,7 +2848,7 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- commands:
- apk add --update g++ make python3 && ln -sf /usr/bin/python3 /usr/bin/python
@@ -2914,7 +2915,7 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- depends_on:
- compile-build-cmd
@@ -3021,7 +3022,7 @@ steps:
from_secret: gcp_key_base64
GITHUB_TOKEN:
from_secret: github_token
GO_VERSION: 1.21.8
GO_VERSION: 1.21.10
GPG_PASSPHRASE:
from_secret: packages_gpg_passphrase
GPG_PRIVATE_KEY:
@@ -3079,13 +3080,13 @@ steps:
depends_on: []
environment:
CGO_ENABLED: 0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: compile-build-cmd
- commands:
- ./bin/build whatsnew-checker
depends_on:
- compile-build-cmd
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: whats-new-checker
trigger:
event:
@@ -3188,7 +3189,7 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-cue
- commands:
- '# It is required that generated jsonnet is committed and in sync with its inputs.'
@@ -3197,14 +3198,14 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-jsonnet
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-jsonnet
- commands:
- apk add --update make
- make gen-go
depends_on:
- verify-gen-cue
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: wire-install
- commands:
- apk add --update build-base shared-mime-info shared-mime-info-lang
@@ -3212,7 +3213,7 @@ steps:
-timeout=5m
depends_on:
- wire-install
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: test-backend
- commands:
- apk add --update build-base
@@ -3221,7 +3222,7 @@ steps:
| grep -o '\(.*\)/' | sort -u)
depends_on:
- wire-install
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: test-backend-integration
trigger:
event:
@@ -3278,7 +3279,7 @@ steps:
from_secret: gcp_key_base64
GITHUB_TOKEN:
from_secret: github_token
GO_VERSION: 1.21.8
GO_VERSION: 1.21.10
GPG_PASSPHRASE:
from_secret: packages_gpg_passphrase
GPG_PRIVATE_KEY:
@@ -3461,7 +3462,7 @@ steps:
from_secret: gcp_key_base64
GITHUB_TOKEN:
from_secret: github_token
GO_VERSION: 1.21.8
GO_VERSION: 1.21.10
GPG_PASSPHRASE:
from_secret: packages_gpg_passphrase
GPG_PRIVATE_KEY:
@@ -3611,7 +3612,7 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-cue
- commands:
- '# It is required that generated jsonnet is committed and in sync with its inputs.'
@@ -3620,14 +3621,14 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-jsonnet
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-jsonnet
- commands:
- apk add --update make
- make gen-go
depends_on:
- verify-gen-cue
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: wire-install
- commands:
- apk add --update build-base shared-mime-info shared-mime-info-lang
@@ -3635,7 +3636,7 @@ steps:
-timeout=5m
depends_on:
- wire-install
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: test-backend
- commands:
- apk add --update build-base
@@ -3644,7 +3645,7 @@ steps:
| grep -o '\(.*\)/' | sort -u)
depends_on:
- wire-install
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: test-backend-integration
trigger:
cron:
@@ -3699,7 +3700,7 @@ steps:
from_secret: gcp_key_base64
GITHUB_TOKEN:
from_secret: github_token
GO_VERSION: 1.21.8
GO_VERSION: 1.21.10
GPG_PASSPHRASE:
from_secret: packages_gpg_passphrase
GPG_PRIVATE_KEY:
@@ -3846,7 +3847,7 @@ steps:
from_secret: gcp_key_base64
GITHUB_TOKEN:
from_secret: github_token
GO_VERSION: 1.21.8
GO_VERSION: 1.21.10
GPG_PASSPHRASE:
from_secret: packages_gpg_passphrase
GPG_PRIVATE_KEY:
@@ -3955,7 +3956,7 @@ steps:
from_secret: gcp_key_base64
GITHUB_TOKEN:
from_secret: github_token
GO_VERSION: 1.21.8
GO_VERSION: 1.21.10
GPG_PASSPHRASE:
from_secret: packages_gpg_passphrase
GPG_PRIVATE_KEY:
@@ -4045,20 +4046,20 @@ steps:
- commands: []
depends_on:
- clone
image: golang:1.21.8-windowsservercore-1809
image: golang:1.21.10-windowsservercore-1809
name: windows-init
- commands:
- go install github.com/google/wire/cmd/wire@v0.5.0
- wire gen -tags oss ./pkg/server
depends_on:
- windows-init
image: golang:1.21.8-windowsservercore-1809
image: golang:1.21.10-windowsservercore-1809
name: wire-install
- commands:
- go test -tags requires_buildifer -short -covermode=atomic -timeout=5m ./pkg/...
depends_on:
- wire-install
image: golang:1.21.8-windowsservercore-1809
image: golang:1.21.10-windowsservercore-1809
name: test-backend
trigger:
event:
@@ -4151,7 +4152,7 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-cue
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-cue
- commands:
- '# It is required that generated jsonnet is committed and in sync with its inputs.'
@@ -4160,14 +4161,14 @@ steps:
- apk add --update make
- CODEGEN_VERIFY=1 make gen-jsonnet
depends_on: []
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: verify-gen-jsonnet
- commands:
- apk add --update make
- make gen-go
depends_on:
- verify-gen-cue
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: wire-install
- commands:
- dockerize -wait tcp://postgres:5432 -timeout 120s
@@ -4188,7 +4189,7 @@ steps:
GRAFANA_TEST_DB: postgres
PGPASSWORD: grafanatest
POSTGRES_HOST: postgres
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: postgres-integration-tests
- commands:
- dockerize -wait tcp://mysql57:3306 -timeout 120s
@@ -4209,7 +4210,7 @@ steps:
environment:
GRAFANA_TEST_DB: mysql
MYSQL_HOST: mysql57
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: mysql-5.7-integration-tests
- commands:
- dockerize -wait tcp://mysql80:3306 -timeout 120s
@@ -4230,7 +4231,7 @@ steps:
environment:
GRAFANA_TEST_DB: mysql
MYSQL_HOST: mysql80
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: mysql-8.0-integration-tests
- commands:
- dockerize -wait tcp://redis:6379 -timeout 120s
@@ -4246,7 +4247,7 @@ steps:
- wait-for-redis
environment:
REDIS_URL: redis://redis:6379/0
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: redis-integration-tests
- commands:
- dockerize -wait tcp://memcached:11211 -timeout 120s
@@ -4262,7 +4263,7 @@ steps:
- wait-for-memcached
environment:
MEMCACHED_HOSTS: memcached:11211
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: memcached-integration-tests
- commands:
- dockerize -wait tcp://mimir_backend:8080 -timeout 120s
@@ -4278,7 +4279,7 @@ steps:
environment:
AM_TENANT_ID: test
AM_URL: http://mimir_backend:8080
image: golang:1.21.8-alpine
image: golang:1.21.10-alpine
name: remote-alertmanager-integration-tests
trigger:
event:
@@ -4632,7 +4633,7 @@ steps:
path: /root/.docker/
- commands:
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM alpine/git:2.40.1
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM golang:1.21.8-alpine
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM golang:1.21.10-alpine
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM node:20.9.0-alpine
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM google/cloud-sdk:431.0.0
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM grafana/grafana-ci-deploy:1.3.3
@@ -4667,7 +4668,7 @@ steps:
path: /root/.docker/
- commands:
- trivy --exit-code 1 --severity HIGH,CRITICAL alpine/git:2.40.1
- trivy --exit-code 1 --severity HIGH,CRITICAL golang:1.21.8-alpine
- trivy --exit-code 1 --severity HIGH,CRITICAL golang:1.21.10-alpine
- trivy --exit-code 1 --severity HIGH,CRITICAL node:20.9.0-alpine
- trivy --exit-code 1 --severity HIGH,CRITICAL google/cloud-sdk:431.0.0
- trivy --exit-code 1 --severity HIGH,CRITICAL grafana/grafana-ci-deploy:1.3.3
@@ -4922,6 +4923,6 @@ kind: secret
name: gcr_credentials
---
kind: signature
hmac: 474420078e68f3b51a76abb99ba723671130f524ed00c42e66169c6912b6fbba
hmac: 9aca5c8de91c97ea30ac4ff4b5f5acf930a61afa727197d99b8dd4f3311fca47
...

9
.github/CODEOWNERS vendored
View File

@@ -38,11 +38,11 @@
/docs/.codespellignore @grafana/docs-tooling
/docs/sources/ @Eve832
/docs/sources/administration/ @jdbaldry @lwandz13
/docs/sources/administration/ @jdbaldry
/docs/sources/alerting/ @brendamuir
/docs/sources/dashboards/ @imatwawana
/docs/sources/datasources/ @jdbaldry
/docs/sources/explore/ @grafana/explore-squad
/docs/sources/explore/ @grafana/explore-squad @lwandz13
/docs/sources/fundamentals @chri2547
/docs/sources/getting-started/ @chri2547
/docs/sources/introduction/ @chri2547
@@ -403,6 +403,7 @@ playwright.config.ts @grafana/plugins-platform-frontend
/public/app/features/dashboard/ @grafana/dashboards-squad
/public/app/features/dashboard/components/TransformationsEditor/ @grafana/dataviz-squad
/public/app/features/dashboard-scene/ @grafana/dashboards-squad
/public/app/features/scopes/ @grafana/dashboards-squad
/public/app/features/datasources/ @grafana/plugins-platform-frontend @mikkancso
/public/app/features/dimensions/ @grafana/dataviz-squad
/public/app/features/dataframe-import/ @grafana/dataviz-squad
@@ -414,6 +415,7 @@ playwright.config.ts @grafana/plugins-platform-frontend
/public/app/features/library-panels/ @grafana/dashboards-squad
/public/app/features/logs/ @grafana/observability-logs
/public/app/features/live/ @grafana/grafana-app-platform-squad
/public/app/features/apiserver/ @grafana/grafana-app-platform-squad
/public/app/features/manage-dashboards/ @grafana/dashboards-squad
/public/app/features/notifications/ @grafana/grafana-frontend-platform
/public/app/features/org/ @grafana/grafana-frontend-platform
@@ -612,6 +614,7 @@ playwright.config.ts @grafana/plugins-platform-frontend
# Grafana Operator Experience Team
/pkg/services/caching/ @grafana/grafana-operator-experience-squad
/pkg/services/cloudmigration/ @grafana/grafana-operator-experience-squad
/pkg/services/gcom/ @grafana/grafana-operator-experience-squad
# Feature toggles
/pkg/services/featuremgmt/ @grafana/grafana-backend-services-squad
@@ -693,6 +696,8 @@ embed.go @grafana/grafana-as-code
/.github/workflows/i18n-crowdin-download.yml @grafana/grafana-frontend-platform
/.github/workflows/feature-toggle-cleanup.yml @tolzhabayev
/.github/workflows/scripts/feature-toggle-cleanup/feature-toggle-cleanup.js @tolzhabayev
/.github/workflows/pr-go-workspace-check.yml @grafana/grafana-app-platform-squad
/.github/workflows/run-scenes-e2e.yml @grafana/dashboards-squad
# Generated files not requiring owner approval
/packages/grafana-data/src/types/featureToggles.gen.ts @grafanabot

View File

@@ -16,7 +16,7 @@ jobs:
- name: Set go version
uses: actions/setup-go@v4
with:
go-version: '1.21.8'
go-version: '1.21.10'
- name: Build swagger
run: |
make -C pkg/services/ngalert/api/tooling post.json api.json

View File

@@ -58,7 +58,7 @@ jobs:
# Go is required for also updating the schema versions as part of the precommit hook:
- uses: actions/setup-go@v4
with:
go-version: '1.20'
go-version: '1.21'
- uses: actions/setup-node@v4
with:
node-version: '18'

View File

@@ -47,7 +47,7 @@ jobs:
name: Set go version
uses: actions/setup-go@v4
with:
go-version: '1.21.8'
go-version: '1.21.10'
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL

View File

@@ -7,7 +7,7 @@ jobs:
doc-validator:
runs-on: "ubuntu-latest"
container:
image: "grafana/doc-validator:v4.1.1"
image: "grafana/doc-validator:v5.0.0"
steps:
- name: "Checkout code"
uses: "actions/checkout@v4"

View File

@@ -4,7 +4,11 @@ on:
types: [created]
jobs:
config:
runs-on: "ubuntu-latest"
if: github.event.sender.type == 'User' &&
github.event.issue.pull_request &&
startsWith(github.event.comment.body, '/deploy-to-hg')
runs-on:
labels: ubuntu-latest-8-cores
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:

View File

@@ -35,7 +35,7 @@ jobs:
- name: Set go version
uses: actions/setup-go@v4
with:
go-version: '1.21.8'
go-version: '1.21.10'
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL

View File

@@ -0,0 +1,47 @@
name: "Go Workspace Check"
on:
workflow_dispatch:
pull_request:
branches: [main]
paths:
- '**/go.work'
- '**/go.work.sum'
- '**/go.mod'
- '**/go.sum'
jobs:
check:
name: Go Workspace Check
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set go version
uses: actions/setup-go@v4
with:
go-version: '1.21.10'
- name: Workspace Sync
run: go work sync
- name: Check for go mod & workspace changes
run: |
if ! git diff --exit-code --quiet; then
echo "Changes detected. Please run 'go work sync' and commit the changes."
exit 1
fi
- name: Build
run: make build-go
- name: Check for go workspace changes
run: |
if ! git diff --exit-code --quiet; then
echo "Changes detected. Please run 'make build-go' and commit the changes."
exit 1
fi

View File

@@ -36,7 +36,7 @@ jobs:
- name: "Setup Go"
uses: "actions/setup-go@v4"
with:
go-version: '1.21.8'
go-version: '1.21.10'
- name: "Verify kinds"
run: go run .github/workflows/scripts/kinds/verify-kinds.go

View File

@@ -39,7 +39,7 @@ jobs:
- name: "Setup Go"
uses: "actions/setup-go@v4"
with:
go-version: '1.21.8'
go-version: '1.21.10'
- name: "Verify kinds"
run: go run .github/workflows/scripts/kinds/verify-kinds.go

View File

@@ -28,23 +28,13 @@ jobs:
- name: "Install Actions from library"
run: "npm install --production --prefix ./actions"
- name: "Determine if there is a matching release tag"
id: "has-matching-release-tag"
uses: "./actions/has-matching-release-tag"
with:
ref_name: "${{ github.ref_name }}"
release_tag_regexp: "^v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"
release_branch_regexp: "^v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.x$"
- name: "Determine technical documentation version"
if: "steps.has-matching-release-tag.outputs.bool == 'true'"
uses: "./actions/docs-target"
id: "target"
with:
ref_name: "${{ github.ref_name }}"
- name: "Clone website-sync Action"
if: "steps.has-matching-release-tag.outputs.bool == 'true'"
# WEBSITE_SYNC_TOKEN is a fine-grained GitHub Personal Access Token that expires.
# It must be regenerated in the grafanabot GitHub account and requires a Grafana organization
# GitHub administrator to update the organization secret.
@@ -54,11 +44,10 @@ jobs:
- name: "Switch to HEAD of version branch for tags"
# Tags aren't necessarily made to the HEAD of the version branch.
# The documentation to be published is always on the HEAD of the version branch.
if: "steps.has-matching-release-tag.outputs.bool == 'true' && github.ref_type == 'tag'"
if: "github.ref_type == 'tag'"
run: "git switch --detach origin/${{ steps.target.outputs.target }}.x"
- name: "Publish to website repository (release)"
if: "steps.has-matching-release-tag.outputs.bool == 'true'"
uses: "./.github/actions/website-sync"
id: "publish-release"
with:

46
.github/workflows/run-scenes-e2e.yml vendored Normal file
View File

@@ -0,0 +1,46 @@
name: Run dashboard scenes e2e
on:
schedule:
- cron: "0 8 * * 1-5" # every day at 08:00UTC on weekdays
env:
ARCH: linux-amd64
jobs:
dashboard-scenes-e2e:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Pin Go version to mod file
uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
- run: go version
- uses: actions/setup-node@v4
with:
node-version: 20
- name: Install dependencies
run: yarn install --immutable
- name: Build grafana
run: make build
- name: Install Cypress dependencies
uses: cypress-io/github-action@v6
with:
runTests: false
- name: Run dashboard scenes e2e
run: yarn e2e:scenes
- name: "Send Slack notification"
if: ${{ failure() }}
uses: slackapi/slack-github-action@v1.26.0
with:
payload: >
{
"icon_emoji": ":this-is-fine-fire:",
"username": "Dashboard scenes e2e tests failed",
"text": "Link to run: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}",
"channel": "#grafana-dashboards-squad"
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}

View File

@@ -18,7 +18,7 @@ jobs:
- name: "Setup Go"
uses: "actions/setup-go@v4"
with:
go-version: '1.21.8'
go-version: '1.21.10'
- name: "Verify kinds"
run: go run .github/workflows/scripts/kinds/verify-kinds.go

View File

@@ -1,10 +1,6 @@
[run]
timeout = "10m"
[linters-settings.goconst]
min-len = 5
min-occurrences = 5
[linters-settings.exhaustive]
default-signifies-exhaustive = true
@@ -71,6 +67,46 @@ files = [
"**/pkg/tsdb/cloudwatch/**/*",
]
[linters-settings.depguard.rules.apiserver]
list-mode = "lax"
allow = [
"github.com/grafana/grafana/pkg/apimachinery",
"github.com/grafana/grafana/pkg/apiserver",
]
deny = [
{ pkg = "github.com/grafana/grafana/pkg", desc = "apiserver is not allowed to import grafana core" }
]
files = [
"**/pkg/apiserver/*",
"**/pkg/apiserver/**/*"
]
[linters-settings.depguard.rules.apimachinery]
list-mode = "lax"
allow = [
"github.com/grafana/grafana/pkg/apimachinery",
]
deny = [
{ pkg = "github.com/grafana/grafana/pkg", desc = "apimachinery is not allowed to import grafana core" }
]
files = [
"**/pkg/apimachinery/*",
"**/pkg/apimachinery/**/*"
]
[linters-settings.depguard.rules.promlib]
list-mode = "lax" # allow unless explicitely denied
deny = [
{ pkg = "github.com/grafana/grafana/pkg", desc = "promlib is not allowed to import grafana core" }
]
allow = [
"github.com/grafana/grafana/pkg/promlib"
]
files = [
"**/pkg/promlib/*",
"**/pkg/promlib/**/*"
]
[linters-settings.gocritic]
enabled-checks = ["ruleguard"]
[linters-settings.gocritic.settings.ruleguard]
@@ -87,7 +123,7 @@ enable = [
"dogsled",
"errcheck",
# "gochecknoinits",
"goconst",
# "goconst",
# "gocritic", # Temporarily disabled on 2022-09-09, running into weird bug "ruleguard: execution error: used Run() with an empty rule set; forgot to call Load() first?"
"goimports",
"goprintffuncname",
@@ -205,3 +241,10 @@ text = "ST1020"
[[issues.exclude-rules]]
linters = ["stylecheck"]
text = "ST1021"
# Remove this when we have go v1.22 in place
# https://stackoverflow.com/a/68247837/767660
[[issues.exclude-rules]]
linters = ["gosec"]
path = '(.+)_test\.go'
text = "G601"

View File

@@ -34,7 +34,7 @@ var dashboardSettings = [
wait: 500,
rootElement: '.main-view',
// TODO: improve the accessibility of the permission tab https://github.com/grafana/grafana/issues/77203
threshold: 11,
threshold: 5,
},
{
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge?orgId=1&editview=dashboard_json',
@@ -64,7 +64,7 @@ var config = {
url: '${HOST}/login',
wait: 500,
rootElement: '.main-view',
threshold: 13,
threshold: 0,
},
{
url: '${HOST}/login',
@@ -76,13 +76,13 @@ var config = {
"click element button[data-testid='data-testid Login button']",
"wait for element button[data-testid='data-testid Skip change password button'] to be visible",
],
threshold: 15,
threshold: 2,
rootElement: '.main-view',
},
{
url: '${HOST}/?orgId=1',
wait: 500,
threshold: 3,
threshold: 0,
},
{
url: '${HOST}/d/O6f11TZWk/panel-tests-bar-gauge',
@@ -95,7 +95,7 @@ var config = {
url: '${HOST}/?orgId=1&search=open',
wait: 500,
rootElement: '.main-view',
threshold: 3,
threshold: 0,
},
{
url: '${HOST}/alerting/list',
@@ -109,43 +109,43 @@ var config = {
url: '${HOST}/datasources',
wait: 500,
rootElement: '.main-view',
threshold: 3,
threshold: 0,
},
{
url: '${HOST}/org/users',
wait: 500,
rootElement: '.main-view',
threshold: 1,
threshold: 0,
},
{
url: '${HOST}/org/teams',
wait: 500,
rootElement: '.main-view',
threshold: 1,
threshold: 0,
},
{
url: '${HOST}/plugins',
wait: 500,
rootElement: '.main-view',
threshold: 3,
threshold: 0,
},
{
url: '${HOST}/org',
wait: 500,
rootElement: '.main-view',
threshold: 1,
threshold: 0,
},
{
url: '${HOST}/org/apikeys',
wait: 500,
rootElement: '.main-view',
threshold: 4,
threshold: 2,
},
{
url: '${HOST}/dashboards',
wait: 500,
rootElement: '.main-view',
threshold: 1,
threshold: 0,
},
],
};

15
.vscode/launch.json vendored
View File

@@ -23,6 +23,21 @@
"--secure-port=8443",
"--runtime-config=testdata.datasource.grafana.app/v0alpha1=true"]
},
{
"name": "Run API Server (query-localhost)",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${workspaceFolder}/pkg/cmd/grafana/",
"env": {},
"cwd": "${workspaceFolder}",
"args": ["apiserver",
"--secure-port=8443",
"--runtime-config=query.grafana.app/v0alpha1=true",
"--grafana.authn.signing-keys-url=http://localhost:3000/api/signing-keys/keys",
"--hg-url=http://localhost:3000",
"--hg-key=$HGAPIKEY"]
},
{
"name": "Attach to Chrome",
"port": 9222,

View File

@@ -44,9 +44,9 @@ plugins:
yarnPath: .yarn/releases/yarn-4.1.0.cjs
# Uncomment the following lines if you want to use Verdaccio local npm registry. Read more at packages/README.md
# npmScopes:
# grafana:
# npmRegistryServer: http://localhost:4873
# unsafeHttpWhitelist:
# - 'localhost'
#npmScopes:
# grafana:
# npmRegistryServer: http://localhost:4873
#
#unsafeHttpWhitelist:
# - 'localhost'

View File

@@ -1,3 +1,273 @@
<!-- 11.0.0-preview START -->
# 11.0.0-preview
### Features and enhancements
- **Alerting:** Editor role can access all provisioning API. [#85022](https://github.com/grafana/grafana/issues/85022), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **CloudWatch:** Add additional AWS/SageMaker metrics. [#85009](https://github.com/grafana/grafana/issues/85009), [@tristanburgess](https://github.com/tristanburgess)
- **SQLStore:** Enable migration locking by default. [#84983](https://github.com/grafana/grafana/issues/84983), [@papagian](https://github.com/papagian)
- **Auth:** Remove `oauth_skip_org_role_update_sync` as an option. [#84972](https://github.com/grafana/grafana/issues/84972), [@eleijonmarck](https://github.com/eleijonmarck)
- **Canvas:** Add "infinite" pan / zoom functionality. [#84968](https://github.com/grafana/grafana/issues/84968), [@nmarrs](https://github.com/nmarrs)
- **InteractiveTable:** Add expand all to column. [#84966](https://github.com/grafana/grafana/issues/84966), [@abannachGrafana](https://github.com/abannachGrafana)
- **Snapshots:** Viewers can not create a Snapshot. [#84952](https://github.com/grafana/grafana/issues/84952), [@evictorero](https://github.com/evictorero)
- **GenAI:** Autogenerate title and description for panels and dashboards. [#84933](https://github.com/grafana/grafana/issues/84933), [@ivanortegaalba](https://github.com/ivanortegaalba)
- **Canvas:** Add corner radius option. [#84873](https://github.com/grafana/grafana/issues/84873), [@drew08t](https://github.com/drew08t)
- **Alerting:** Enable simplified routing FF by default. [#84856](https://github.com/grafana/grafana/issues/84856), [@JacobsonMT](https://github.com/JacobsonMT)
- **Auth:** Enable case insensitive logins/emails by default. [#84840](https://github.com/grafana/grafana/issues/84840), [@eleijonmarck](https://github.com/eleijonmarck)
- **RBAC:** Enable annotation permission update by default. [#84787](https://github.com/grafana/grafana/issues/84787), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Azure:** Support multi-resource namespace (NetApp Volumes). [#84779](https://github.com/grafana/grafana/issues/84779), [@aangelisc](https://github.com/aangelisc)
- **Prometheus:** Default support labels value endpoint with match param when prom type and version not set. [#84778](https://github.com/grafana/grafana/issues/84778), [@bohandley](https://github.com/bohandley)
- **MSSQL:** Add Windows AD/Kerberos auth. [#84742](https://github.com/grafana/grafana/issues/84742), [@asimpson](https://github.com/asimpson)
- **Chore:** Disable angular support by default. [#84738](https://github.com/grafana/grafana/issues/84738), [@tolzhabayev](https://github.com/tolzhabayev)
- **Elasticsearch:** Remove xpack button and make includeFrozen not dependant on it. [#84734](https://github.com/grafana/grafana/issues/84734), [@ivanahuckova](https://github.com/ivanahuckova)
- **Plugins:** Enable feature toggle `pluginsDynamicAngularDetectionPatterns` by default. [#84723](https://github.com/grafana/grafana/issues/84723), [@xnyo](https://github.com/xnyo)
- **Plugins:** Enable managedPluginsInstall by default. [#84721](https://github.com/grafana/grafana/issues/84721), [@oshirohugo](https://github.com/oshirohugo)
- **Alerting:** Stop persisting silences and nflog to disk. [#84706](https://github.com/grafana/grafana/issues/84706), [@JacobsonMT](https://github.com/JacobsonMT)
- **Histogram:** Add support for stacking mode. [#84693](https://github.com/grafana/grafana/issues/84693), [@adela-almasan](https://github.com/adela-almasan)
- **Datasource:** Change query filtering. [#84656](https://github.com/grafana/grafana/issues/84656), [@sunker](https://github.com/sunker)
- **Feature toggles:** Remove redshiftAsyncQueryDataSupport and athenaAsyncQueryDataSupport feature toggles. [#84653](https://github.com/grafana/grafana/issues/84653), [@idastambuk](https://github.com/idastambuk)
- **Teams:** Display teams page to team reader if they also have the access to list team permissions. [#84650](https://github.com/grafana/grafana/issues/84650), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Plugins:** Enable feature toggle `enablePluginsTracingByDefault` by default. [#84645](https://github.com/grafana/grafana/issues/84645), [@xnyo](https://github.com/xnyo)
- **NestedFolders:** Enable nested folders by default. [#84631](https://github.com/grafana/grafana/issues/84631), [@zserge](https://github.com/zserge)
- **Canvas:** Add direction options for connections. [#84620](https://github.com/grafana/grafana/issues/84620), [@drew08t](https://github.com/drew08t)
- **CloudWatch:** Static labels should use label name. [#84611](https://github.com/grafana/grafana/issues/84611), [@iwysiu](https://github.com/iwysiu)
- **Tempo:** Deprecate old search. [#84498](https://github.com/grafana/grafana/issues/84498), [@joey-grafana](https://github.com/joey-grafana)
- **Canvas:** Support dashed connection lines. [#84496](https://github.com/grafana/grafana/issues/84496), [@Develer](https://github.com/Develer)
- **I18n:** Add Brazilian Portuguese. [#84461](https://github.com/grafana/grafana/issues/84461), [@joshhunt](https://github.com/joshhunt)
- **I18n:** Expose current UI language in @grafana/runtime config. [#84457](https://github.com/grafana/grafana/issues/84457), [@joshhunt](https://github.com/joshhunt)
- **Canvas:** Add snapping to vertex edit. [#84417](https://github.com/grafana/grafana/issues/84417), [@drew08t](https://github.com/drew08t)
- **CloudWatch Logs:** Remove toggle for cloudWatchLogsMonacoEditor. [#84414](https://github.com/grafana/grafana/issues/84414), [@iwysiu](https://github.com/iwysiu)
- **Prometheus:** Use frontend package in Prometheus DS with a feature toggle. [#84397](https://github.com/grafana/grafana/issues/84397), [@bohandley](https://github.com/bohandley)
- **Alerting:** Show error message when error is thrown after clicking create alert f…. [#84367](https://github.com/grafana/grafana/issues/84367), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Tempo:** Remove Loki tab. [#84346](https://github.com/grafana/grafana/issues/84346), [@joey-grafana](https://github.com/joey-grafana)
- **Storage:** Add support for listing resource history. [#84331](https://github.com/grafana/grafana/issues/84331), [@DanCech](https://github.com/DanCech)
- **Cloudwatch:** Remove cloudWatchWildCardDimensionValues feature toggle. [#84329](https://github.com/grafana/grafana/issues/84329), [@iwysiu](https://github.com/iwysiu)
- **Plugin Extensions:** Add prop types to component extensions. [#84295](https://github.com/grafana/grafana/issues/84295), [@leventebalogh](https://github.com/leventebalogh)
- **Canvas:** New basic elements. [#84205](https://github.com/grafana/grafana/issues/84205), [@Develer](https://github.com/Develer)
- **Tempo:** Update TraceQLStreaming feature toggle stage. [#84203](https://github.com/grafana/grafana/issues/84203), [@joey-grafana](https://github.com/joey-grafana)
- **Canvas:** Add universal data link support. [#84142](https://github.com/grafana/grafana/issues/84142), [@nmarrs](https://github.com/nmarrs)
- **Chore:** Remove repetitive words. [#84132](https://github.com/grafana/grafana/issues/84132), [@carrychair](https://github.com/carrychair)
- **Documentation:** Updated yaml for influxdb data sources. [#84119](https://github.com/grafana/grafana/issues/84119), [@ldomesjo](https://github.com/ldomesjo)
- **Queries:** Improve debug logging of metrics queries. [#84048](https://github.com/grafana/grafana/issues/84048), [@mmandrus](https://github.com/mmandrus)
- **Storage:** Support listing deleted entities. [#84043](https://github.com/grafana/grafana/issues/84043), [@DanCech](https://github.com/DanCech)
- **Explore:** Remove deprecated `query` option from `splitOpen`. [#83973](https://github.com/grafana/grafana/issues/83973), [@Elfo404](https://github.com/Elfo404)
- **Chore:** Remove deprecated ExploreQueryFieldProps. [#83972](https://github.com/grafana/grafana/issues/83972), [@Elfo404](https://github.com/Elfo404)
- **Chore:** Remove deprecated exploreId from QueryEditorProps. [#83971](https://github.com/grafana/grafana/issues/83971), [@Elfo404](https://github.com/Elfo404)
- **Alerting:** Disallow invalid rule namespace UIDs in provisioning API. [#83938](https://github.com/grafana/grafana/issues/83938), [@rwwiv](https://github.com/rwwiv)
- **Auth:** Set the default org after User login. [#83918](https://github.com/grafana/grafana/issues/83918), [@mgyongyosi](https://github.com/mgyongyosi)
- **Canvas:** Add datalink support to rectangle and ellipse elements. [#83870](https://github.com/grafana/grafana/issues/83870), [@nmarrs](https://github.com/nmarrs)
- **NodeGraph:** Edge color and stroke-dasharray support. [#83855](https://github.com/grafana/grafana/issues/83855), [@morrro01](https://github.com/morrro01)
- **InfluxDB:** Add configuration option for enabling insecure gRPC connections. [#83834](https://github.com/grafana/grafana/issues/83834), [@jmickey](https://github.com/jmickey)
- **Plugins:** Fetch instance provisioned plugins in cloud, to check full installation. [#83784](https://github.com/grafana/grafana/issues/83784), [@oshirohugo](https://github.com/oshirohugo)
- **Alerting:** Implement correct RBAC checks for creating new notification templates. [#83767](https://github.com/grafana/grafana/issues/83767), [@gillesdemey](https://github.com/gillesdemey)
- **Library panels:** Ensure all filters are visible on mobile . [#83759](https://github.com/grafana/grafana/issues/83759), [@ashharrison90](https://github.com/ashharrison90)
- **AuthProxy:** Allow disabling Auth Proxy cache. [#83755](https://github.com/grafana/grafana/issues/83755), [@Jguer](https://github.com/Jguer)
- **Switch:** Remove "transparent" prop. [#83705](https://github.com/grafana/grafana/issues/83705), [@Clarity-89](https://github.com/Clarity-89)
- **Alerting:** Allow inserting before or after existing policy. [#83704](https://github.com/grafana/grafana/issues/83704), [@gillesdemey](https://github.com/gillesdemey)
- **Chore:** Taint ArrayVector with `never` to further discourage. [#83681](https://github.com/grafana/grafana/issues/83681), [@joshhunt](https://github.com/joshhunt)
- **Alerting:** Remove legacy alerting. [#83671](https://github.com/grafana/grafana/issues/83671), [@gillesdemey](https://github.com/gillesdemey)
- **Canvas:** Add vertex control to connections. [#83653](https://github.com/grafana/grafana/issues/83653), [@drew08t](https://github.com/drew08t)
- **Alerting:** Disable legacy alerting for ever. [#83651](https://github.com/grafana/grafana/issues/83651), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Table:** Preserve filtered value state. [#83631](https://github.com/grafana/grafana/issues/83631), [@codeincarnate](https://github.com/codeincarnate)
- **Canvas:** Add ability to edit selected connections in the inline editor. [#83625](https://github.com/grafana/grafana/issues/83625), [@nmarrs](https://github.com/nmarrs)
- **Auth:** Add all settings to Azure AD SSO config UI. [#83618](https://github.com/grafana/grafana/issues/83618), [@mgyongyosi](https://github.com/mgyongyosi)
- **Cfg:** Add a setting to configure if the local file system is available. [#83616](https://github.com/grafana/grafana/issues/83616), [@mgyongyosi](https://github.com/mgyongyosi)
- **Server:** Reload TLS certs without a server restart. [#83589](https://github.com/grafana/grafana/issues/83589), [@chalapat](https://github.com/chalapat)
- **Accessibility:** Improve landmark markup. [#83576](https://github.com/grafana/grafana/issues/83576), [@tskarhed](https://github.com/tskarhed)
- **Snapshots:** Change default expiration. [#83550](https://github.com/grafana/grafana/issues/83550), [@evictorero](https://github.com/evictorero)
- **Transformations:** Add substring matcher to the 'Filter by Value' transformation. [#83548](https://github.com/grafana/grafana/issues/83548), [@timlevett](https://github.com/timlevett)
- **Folders:** Allow listing folders with write permission. [#83527](https://github.com/grafana/grafana/issues/83527), [@papagian](https://github.com/papagian)
- **Chore:** Remove React 17 peer deps. [#83524](https://github.com/grafana/grafana/issues/83524), [@ashharrison90](https://github.com/ashharrison90)
- **Alerting:** Support deleting rule groups in the provisioning API. [#83514](https://github.com/grafana/grafana/issues/83514), [@joeblubaugh](https://github.com/joeblubaugh)
- **Cloudwatch:** Bump grafana/aws-sdk-go to 0.24.0. [#83480](https://github.com/grafana/grafana/issues/83480), [@idastambuk](https://github.com/idastambuk)
- **Alerting:** Stop persisting user-defined templates to disk. [#83456](https://github.com/grafana/grafana/issues/83456), [@JacobsonMT](https://github.com/JacobsonMT)
- **Transformer:** Config from Query: set threshold colours. [#83366](https://github.com/grafana/grafana/issues/83366), [@LarsStegman](https://github.com/LarsStegman)
- **CloudWatch:** Refactor "getDimensionValuesForWildcards". [#83335](https://github.com/grafana/grafana/issues/83335), [@iwysiu](https://github.com/iwysiu)
- **CloudWatch:** Fetch externalId from settings instead of env. [#83332](https://github.com/grafana/grafana/issues/83332), [@iwysiu](https://github.com/iwysiu)
- **Tracing:** Add node graph panel suggestion. [#83311](https://github.com/grafana/grafana/issues/83311), [@joey-grafana](https://github.com/joey-grafana)
- **Canvas:** Add ability to rotate elements. [#83295](https://github.com/grafana/grafana/issues/83295), [@nmarrs](https://github.com/nmarrs)
- **Tempo:** Add support for ad-hoc filters. [#83290](https://github.com/grafana/grafana/issues/83290), [@joey-grafana](https://github.com/joey-grafana)
- **DataTrails:** Sticky controls. [#83286](https://github.com/grafana/grafana/issues/83286), [@torkelo](https://github.com/torkelo)
- **CloudWatch:** Move SessionCache onto the instance. [#83278](https://github.com/grafana/grafana/issues/83278), [@iwysiu](https://github.com/iwysiu)
- **Alerting:** Deprecate max_annotations_to_keep and max_annotation_age in [alerting] configuration section. [#83266](https://github.com/grafana/grafana/issues/83266), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Annotation query:** Render query result in alert box. [#83230](https://github.com/grafana/grafana/issues/83230), [@sunker](https://github.com/sunker)
- **Chore:** Query oauth info from a new instance. [#83229](https://github.com/grafana/grafana/issues/83229), [@linoman](https://github.com/linoman)
- **CloudWatch:** Add Firehose kms-related metrics. [#83192](https://github.com/grafana/grafana/issues/83192), [@thepalbi](https://github.com/thepalbi)
- **Chore:** Add go workspace. [#83191](https://github.com/grafana/grafana/issues/83191), [@toddtreece](https://github.com/toddtreece)
- **Accessibility:** Improve HelpModal markup. [#83171](https://github.com/grafana/grafana/issues/83171), [@tskarhed](https://github.com/tskarhed)
- **Chore:** Delete Input Datasource. [#83163](https://github.com/grafana/grafana/issues/83163), [@jackw](https://github.com/jackw)
- **Traces:** Add traces panel suggestion. [#83089](https://github.com/grafana/grafana/issues/83089), [@joey-grafana](https://github.com/joey-grafana)
- **CloudWatch:** Update AWS/EC2 metrics. [#83039](https://github.com/grafana/grafana/issues/83039), [@jangaraj](https://github.com/jangaraj)
- **CloudWatch:** Update AWS/Lambda metrics. [#83038](https://github.com/grafana/grafana/issues/83038), [@jangaraj](https://github.com/jangaraj)
- **CloudWatch:** Update AWS/ES metrics. [#83037](https://github.com/grafana/grafana/issues/83037), [@jangaraj](https://github.com/jangaraj)
- **CloudWatch:** Update AWS/AutoScaling metrics. [#83036](https://github.com/grafana/grafana/issues/83036), [@jangaraj](https://github.com/jangaraj)
- **CloudWatch:** Update AWS/Kafka metrics. [#83035](https://github.com/grafana/grafana/issues/83035), [@jangaraj](https://github.com/jangaraj)
- **Page:** Use browser native scrollbars for the main page content. [#82919](https://github.com/grafana/grafana/issues/82919), [@joshhunt](https://github.com/joshhunt)
- **Parca:** Apply template variables for labelSelector in query. [#82910](https://github.com/grafana/grafana/issues/82910), [@lzakharov](https://github.com/lzakharov)
- **Grafana/UI:** Replace Splitter with useSplitter hook and refactor PanelEdit snapping logic to useSnappingSplitter hook . [#82895](https://github.com/grafana/grafana/issues/82895), [@torkelo](https://github.com/torkelo)
- **Cloudwatch:** Add linting to restrict imports from core. [#82538](https://github.com/grafana/grafana/issues/82538), [@idastambuk](https://github.com/idastambuk)
- **Grafana/icons:** Add icons package. [#82314](https://github.com/grafana/grafana/issues/82314), [@Clarity-89](https://github.com/Clarity-89)
- **Storage:** Watch support. [#82282](https://github.com/grafana/grafana/issues/82282), [@DanCech](https://github.com/DanCech)
- **Image Rendering:** Add settings for default width, height and scale. [#82040](https://github.com/grafana/grafana/issues/82040), [@khushijain21](https://github.com/khushijain21)
- **AzureMonitor:** User authentication support. [#81918](https://github.com/grafana/grafana/issues/81918), [@aangelisc](https://github.com/aangelisc)
- **Plugins:** Disable uninstall while cloud uninstall is not completed. [#81907](https://github.com/grafana/grafana/issues/81907), [@oshirohugo](https://github.com/oshirohugo)
- **Plugins:** Disable update button when cloud install is not completed. [#81716](https://github.com/grafana/grafana/issues/81716), [@oshirohugo](https://github.com/oshirohugo)
- **Expressions:** Sql expressions with Duckdb. [#81666](https://github.com/grafana/grafana/issues/81666), [@scottlepp](https://github.com/scottlepp)
- **BarChart:** TooltipPlugin2. [#80920](https://github.com/grafana/grafana/issues/80920), [@leeoniya](https://github.com/leeoniya)
- **Grafana:** Replace magic number with a constant variable in response status. [#80132](https://github.com/grafana/grafana/issues/80132), [@rlaisqls](https://github.com/rlaisqls)
- **Alerting:** Update rule access control to explicitly check for permissions "alert.rules:read" and "folders:read". [#78289](https://github.com/grafana/grafana/issues/78289), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Update provisioning API to support regular permissions. [#77007](https://github.com/grafana/grafana/issues/77007), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Whitelabelling:** Override version in UI from config. (Enterprise)
- **Alerting:** Remove legacy alerting. (Enterprise)
- **Reporting:** Delete Deprecated Endpoint for Single Dashboard. (Enterprise)
- **Plugins:** Add endpoint to get provisioned plugins from an instance. (Enterprise)
- **Reporting:** Delete Deprecated Endpoint for Scheduling. (Enterprise)
- **Reporting:** Delete Deprecated Endpoint for Email. (Enterprise)
### Bug fixes
- **RBAC:** Fix access checks for interactions with RBAC roles in hosted Grafana. [#85520](https://github.com/grafana/grafana/issues/85520), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Keybindings:** Replace mod+h as help shortcut with ? . [#85449](https://github.com/grafana/grafana/issues/85449), [@tskarhed](https://github.com/tskarhed)
- **RBAC:** Fix slow user permission search query on MySQL. [#85410](https://github.com/grafana/grafana/issues/85410), [@gamab](https://github.com/gamab)
- **BrowseDashboards:** Add subpath to URLs on Browse Dashboards page. [#85354](https://github.com/grafana/grafana/issues/85354), [@butkovv](https://github.com/butkovv)
- **Dashboards:** Fix issue where long ad-hoc values broke UI. [#85290](https://github.com/grafana/grafana/issues/85290), [@kaydelaney](https://github.com/kaydelaney)
- **NodeGraph:** Fix possible metadata mismatch between nodes in graph. [#85261](https://github.com/grafana/grafana/issues/85261), [@aocenas](https://github.com/aocenas)
- **Alerting:** Fix receiver inheritance when provisioning a notification policy. [#85193](https://github.com/grafana/grafana/issues/85193), [@julienduchesne](https://github.com/julienduchesne)
- **AuthProxy:** Fix missing session for ldap auth proxy users. [#85136](https://github.com/grafana/grafana/issues/85136), [@Jguer](https://github.com/Jguer)
- **RBAC:** Fix slow user permission search query on MySQL. [#85058](https://github.com/grafana/grafana/issues/85058), [@gamab](https://github.com/gamab)
- **CloudMonitoring:** Only run query if filters are complete. [#85004](https://github.com/grafana/grafana/issues/85004), [@aangelisc](https://github.com/aangelisc)
- **BrowseDashboards:** Add subpath to URLs on Browse Dashboards page. [#84992](https://github.com/grafana/grafana/issues/84992), [@butkovv](https://github.com/butkovv)
- **Datasources:** Fix expressions that reference hidden queries. [#84977](https://github.com/grafana/grafana/issues/84977), [@sunker](https://github.com/sunker)
- **Canvas:** Fix crash when trying to add wind turbine element. [#84962](https://github.com/grafana/grafana/issues/84962), [@nmarrs](https://github.com/nmarrs)
- **InfluxDB:** Fix alias interpolation when it has $\_\_interval or multiple tags. [#84940](https://github.com/grafana/grafana/issues/84940), [@itsmylife](https://github.com/itsmylife)
- **Alerting:** Stop returning autogen routes for non-admin on api/v2/status. [#84864](https://github.com/grafana/grafana/issues/84864), [@JacobsonMT](https://github.com/JacobsonMT)
- **Alerting:** Fix broken panelId links. [#84839](https://github.com/grafana/grafana/issues/84839), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** External AM fix parsing basic auth with escape characters. [#84681](https://github.com/grafana/grafana/issues/84681), [@JacobsonMT](https://github.com/JacobsonMT)
- **Alerting:** Support PromQL-style matchers. [#84672](https://github.com/grafana/grafana/issues/84672), [@gillesdemey](https://github.com/gillesdemey)
- **FolderPicker:** Add permission filter to nested folder picker. [#84644](https://github.com/grafana/grafana/issues/84644), [@joshhunt](https://github.com/joshhunt)
- **RolePicker:** Don't try to fetch roles for new form. [#84630](https://github.com/grafana/grafana/issues/84630), [@kalleep](https://github.com/kalleep)
- **Pyroscope:** Fix template variable support. [#84477](https://github.com/grafana/grafana/issues/84477), [@aocenas](https://github.com/aocenas)
- **Scenes:** Fix public dashboard email sharing section. [#84467](https://github.com/grafana/grafana/issues/84467), [@juanicabanas](https://github.com/juanicabanas)
- **Alerting:** Fix AlertsFolderView not showing rules when using nested folders. [#84465](https://github.com/grafana/grafana/issues/84465), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Jaeger:** Fix flaky test. [#84441](https://github.com/grafana/grafana/issues/84441), [@fabrizio-grafana](https://github.com/fabrizio-grafana)
- **Scenes:** Fix issue with discarding unsaved changes modal in new dashboards. [#84369](https://github.com/grafana/grafana/issues/84369), [@kaydelaney](https://github.com/kaydelaney)
- **PostgreSQL:** Display correct initial value for tls mode. [#84356](https://github.com/grafana/grafana/issues/84356), [@gabor](https://github.com/gabor)
- **Cloudwatch:** Fix issue with Grafana Assume Role. [#84315](https://github.com/grafana/grafana/issues/84315), [@sarahzinger](https://github.com/sarahzinger)
- **Playlists:** Fix kiosk mode not activating when starting a playlist. [#84262](https://github.com/grafana/grafana/issues/84262), [@joshhunt](https://github.com/joshhunt)
- **Google Cloud Monitor:** Fix `res` being accessed after it becomes `nil` in `promql_query.go`. [#84223](https://github.com/grafana/grafana/issues/84223), [@adamyeats](https://github.com/adamyeats)
- **Elasticsearch:** Fix using of individual query time ranges when querying. [#84201](https://github.com/grafana/grafana/issues/84201), [@ivanahuckova](https://github.com/ivanahuckova)
- **InfluxDB:** Fix for wrong query generated with template variable and non regex operator on frontend mode. [#84175](https://github.com/grafana/grafana/issues/84175), [@wasim-nihal](https://github.com/wasim-nihal)
- **Prometheus:** Remove &lt; and &gt; from Query Builder Label Matcher operations. [#83981](https://github.com/grafana/grafana/issues/83981), [@kylebrandt](https://github.com/kylebrandt)
- **Worker:** Use CorsWorker to avoid CORS issues. [#83976](https://github.com/grafana/grafana/issues/83976), [@ivanortegaalba](https://github.com/ivanortegaalba)
- **Tempo:** Fix by operator to support multiple arguments. [#83947](https://github.com/grafana/grafana/issues/83947), [@fabrizio-grafana](https://github.com/fabrizio-grafana)
- **Plugins Catalog:** Fix plugin details page initial flickering. [#83896](https://github.com/grafana/grafana/issues/83896), [@leventebalogh](https://github.com/leventebalogh)
- **Loki:** Interpolate variables in live queries. [#83831](https://github.com/grafana/grafana/issues/83831), [@ivanahuckova](https://github.com/ivanahuckova)
- **Table Panel:** Fix condition for showing footer options. [#83801](https://github.com/grafana/grafana/issues/83801), [@codeincarnate](https://github.com/codeincarnate)
- **Alerting:** Fix bug in screenshot service using incorrect limit. [#83786](https://github.com/grafana/grafana/issues/83786), [@grobinson-grafana](https://github.com/grobinson-grafana)
- **Alerting:** Fix editing Grafana folder via alert rule editor. [#83771](https://github.com/grafana/grafana/issues/83771), [@gillesdemey](https://github.com/gillesdemey)
- **Cloudwatch:** Fix new ConfigEditor to add the custom namespace field . [#83762](https://github.com/grafana/grafana/issues/83762), [@idastambuk](https://github.com/idastambuk)
- **LDAP:** Fix LDAP users authenticated via auth proxy not being able to use LDAP active sync. [#83715](https://github.com/grafana/grafana/issues/83715), [@Jguer](https://github.com/Jguer)
- **Elasticsearch:** Fix adhoc filters not applied in frontend mode. [#83592](https://github.com/grafana/grafana/issues/83592), [@svennergr](https://github.com/svennergr)
- **RBAC:** Fix delete team permissions on team delete. [#83442](https://github.com/grafana/grafana/issues/83442), [@gamab](https://github.com/gamab)
- **Dashboards:** Fixes issue where panels would not refresh if time range updated while in panel view mode. [#83418](https://github.com/grafana/grafana/issues/83418), [@kaydelaney](https://github.com/kaydelaney)
- **AzureMonitor:** Fix mishandled resources vs workspaces. [#83184](https://github.com/grafana/grafana/issues/83184), [@adamyeats](https://github.com/adamyeats)
- **Sql:** Fix an issue with connection limits not updating when jsonData is updated. [#83175](https://github.com/grafana/grafana/issues/83175), [@jarben](https://github.com/jarben)
- **Alerting:** Use time_intervals instead of the deprecated mute_time_intervals in a…. [#83147](https://github.com/grafana/grafana/issues/83147), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **DataFrame:** Improve typing of arrayToDataFrame helper and fix null/undefined handling. [#83104](https://github.com/grafana/grafana/issues/83104), [@aocenas](https://github.com/aocenas)
- **Cloudwatch:** Fix filter button issue in VariableEditor. [#83082](https://github.com/grafana/grafana/issues/83082), [@wilguo](https://github.com/wilguo)
- **Alerting:** Fix panic in provisioning filter contacts by unknown name. [#83070](https://github.com/grafana/grafana/issues/83070), [@JacobsonMT](https://github.com/JacobsonMT)
- **Search:** Include collapsed panels in search v2. [#83047](https://github.com/grafana/grafana/issues/83047), [@suntala](https://github.com/suntala)
- **Plugins:** Fix loading modules that only export a default. [#82299](https://github.com/grafana/grafana/issues/82299), [@sd2k](https://github.com/sd2k)
- **Table:** Fix units showing in footer after reductions without units. [#82081](https://github.com/grafana/grafana/issues/82081), [@codeincarnate](https://github.com/codeincarnate)
- **AuthProxy:** Invalidate previous cached item for user when changes are made to any header. [#81445](https://github.com/grafana/grafana/issues/81445), [@klesh](https://github.com/klesh)
- **Unit:** Add SI prefix for empty unit. [#79897](https://github.com/grafana/grafana/issues/79897), [@raymalt](https://github.com/raymalt)
- **Variables:** Multi-select DataSource variables are inconsistently displayed in the Data source picker. [#76039](https://github.com/grafana/grafana/issues/76039), [@polibb](https://github.com/polibb)
- **SAML:** Better error message for saml private key type errors. (Enterprise)
- **Reporting:** Fix monthly schedule text and modify monthly schedule inputs behavior. (Enterprise)
### Breaking changes
In 9.3 we released a way to set `case_insensitive_login` to true. This enables, lowercased username, login for users signing up with Grafana, for more information read our [blog post](https://grafana.com/blog/2022/12/12/guide-to-using-the-new-grafana-cli-user-identity-conflict-tool-in-grafana-9.3/).
If you encounter any issues with users signing up, we recommend everyone to use lowercase in their login, username otherwise refer to the blog post for how to solve any of the users that can be conflicting with their login/username. Issue [#84972](https://github.com/grafana/grafana/issues/84972)
This is a breaking change for users who use uppercase in their login or emails. The users are by default now using lowercase as part of their login and emails.
Before this code change, users would be able to still log in as either `aUser@user.com` or `auser@user.com`, users are now only able to login and signup with grafana using lowercasing `auser@user.com`.
We recommend reviewing the [blog post](https://grafana.com/blog/2022/12/12/guide-to-using-the-new-grafana-cli-user-identity-conflict-tool-in-grafana-9.3/#:~:text=A%20user%20identity%20conflict%20occurs,more%20capitalized%20letters%20%E2%80%9Cgrafana_LOGIN%E2%80%9D.) about using the CLI and why this is important for us to consolidate our security efforts. Issue [#84840](https://github.com/grafana/grafana/issues/84840)
This is a breaking change for users who have restricted the default access to annotation permissions by removing annotation related actions from the Viewer or Editor basic roles. In such cases we are not able to complete the permission migration automatically, and you will see the following log in your Grafana server logs: `basic role permissions missing annotation permissions, skipping annotation permission migration`. You will also notice that dashboard and folder permissions do not appear in the user interface. Don't worry, all the permissions that you assigned are still there, they are just not being displayed.
We recommend reviewing what annotation permissions you have revoked from the basic roles (you can reference [our documentation](https://grafana.com/docs/grafana/latest/administration/roles-and-permissions/access-control/rbac-fixed-basic-role-definitions/) to see what permissions are missing). If you are fine granting them back to the basic roles, do that, then run the following data base command: `DELETE FROM migration_log WHERE migration_id="managed dashboard permissions annotation actions migration"` and restart Grafana. This will make sure that the annotation permission migration gets run again, and this time it should succeed.
If you are not willing to grant the annotation permissions back to the basic roles, please disable `annotationPermissionUpdate` feature toggle (add `annotationPermissionUpdate = false` to `[feature_toggles]` in Grafana's configuration file) and reach out to Grafana's support team. When we can learn more about your use case, we will work with you to find a solution. Issue [#84787](https://github.com/grafana/grafana/issues/84787)
Angular support is turned `off` by default starting Grafana 11, you can find all the details in a [dedicated documentation page.](https://grafana.com/docs/grafana/latest/developers/angular_deprecation/)
Issue [#84738](https://github.com/grafana/grafana/issues/84738)
The **xpack** checkbox dependency for enabling the **Include Frozen Indices** functionality has been removed, allowing direct control over frozen indices inclusion. Users should review their datasource settings to ensure the "Include Frozen Indices" option is configured as desired, particularly if xpack was previously disabled. This change aims to simplify configuration options and may affect queries if settings are not adjusted accordingly. Issue [#84734](https://github.com/grafana/grafana/issues/84734)
For data sources that extend `DataSourceWithBackend`, the `filterQuery` method is now called **before** the data source `query` method. If the `filterQuery` method assumes that some kind of query migration happens before this method is called, you now need to do the migration inside this method.
Users of data source plugins that did not previously remove hidden queries will see a change of behaviour: Before this change, clicking the `Disable query` button had no impact on the query result, but starting from Grafana 11 responses associated with hidden queries will no longer be returned to the panel. Issue [#84656](https://github.com/grafana/grafana/issues/84656)
SystemJS is no longer exported from `@grafana/runtime`. Plugin developers should instead rely on importing modules / packages using standard TS import syntax and npm/yarn for package installation.
Issue [#84561](https://github.com/grafana/grafana/issues/84561)
We've removed the Loki tab from the Tempo data source. You can still access Logs through the Loki data source or can also create a link from Tempo to Loki via our [trace to logs](https://grafana.com/docs/grafana/latest/datasources/tempo/configure-tempo-data-source/#trace-to-logs) feature. Issue [#84346](https://github.com/grafana/grafana/issues/84346)
The `query` option in `splitOpen` was deprecated in `10.1` and is now being removed. Issue [#83973](https://github.com/grafana/grafana/issues/83973)
Since https://github.com/grafana/grafana/pull/38942 (Grafana `8.2.0`) the `ExploreQueryFieldProps` type was deprecated and is now removed. Issue [#83972](https://github.com/grafana/grafana/issues/83972)
Since https://github.com/grafana/grafana/pull/38942 `exploreId` is no longer supplied to query editors in Explore. The property was deprecated in `10.3.0` and is now removed. If your query editor needs to know from which app is being rendered, you can check the `app` prop in `QueryEditorProps`. Issue [#83971](https://github.com/grafana/grafana/issues/83971)
The Vector interface that was deprecated in Grafana 10 has been further deprecated. Using it will now generate build-time Typescript errors, but remain working at runtime. If you're still using ArrayVector in your code, it should be removed immediately and replaced with plain arrays. Plugins compiled against older versions and depend on calling get/set will continue to work because the Array prototype still has a modified prototype. This will be removed in the future Issue [#83681](https://github.com/grafana/grafana/issues/83681)
In Grafana 11 the legacy alerting reaches the end-of-life. Users cannot enable it and Grafana will refuse to start if the settings are not updated to run the new Grafana Alerting. Migration from legacy alerting is not available as well. Grafana 10.4.x is the last version that offers the migration.
- If the setting `[alerting].enable` is set to `true` Grafana will not start and emit the log message with recommendations to change the configuration
- Setting `[alerting].max_annotation_age` is replaced by `[unified_alerting.state_history.annotations].max_age`
- Setting `[alerting].max_annotations_to_keep` is replaced by `[unified_alerting.state_history.annotations].max_annotations_to_keep`
- setting `[unified_alerting].execute_alerts` does not fall back to the legacy `[alerting].execute_alerts` anymore. Instead, the default value `true` is used.
- setting `[unified_alerting].evaluation_timeout` does not fall back to the legacy setting `[alerting].evaluation_timeout_seconds` in the case when it is either invalid or has the default value. Now, if the setting is invalid, it will cause Grafana to exit.
- setting `[unified_alerting].min_interval` does not fall back to the legacy setting `[alerting].min_interval_seconds` in the case when it is either invalid or has the default value. Now, if the setting is invalid, it will cause Grafana to exit. Issue [#83651](https://github.com/grafana/grafana/issues/83651)
We've removed React 17 as a peer dependency from our packages. Anyone using the new versions of these packages should ensure they've upgraded to React 18 following the upgrade steps: https://react.dev/blog/2022/03/08/react-18-upgrade-guide Issue [#83524](https://github.com/grafana/grafana/issues/83524)
We're adding a validation between the response of the ID token HD parameter and the list of allowed domains as an extra layer of security. In the event that the HD parameter doesn't match the list of allowed domains, we're denying access to Grafana.
If you set Google OAuth configuration using `api_url,` you might be using the legacy implementation of OAuth, which doesn't have the HD parameter describing the organisation the approved token comes from. This could break your login flow.
This feature can be turned off through the configuration toggle `validate_hd `. Anyone using the legacy Google OAuth configuration should turn off this validation if the ID Token response doesn't have the HD parameter. Issue [#83229](https://github.com/grafana/grafana/issues/83229)
The direct input datasource plugin has been removed in Grafana 11. It has been in alpha for 4 years and is superseded by [TestData](https://grafana.com/docs/grafana/latest/datasources/testdata/) that ships with Grafana.
Issue [#83163](https://github.com/grafana/grafana/issues/83163)
The alert rule API methods now require more permissions for users to perform changes to rules. To create a new rule or update or delete an existing one, the user must have permission to read from the folder that stores the rules (i.e. permission `folder:read` in the scope of the rule's folder) and permission to read alert rules in that folder (i.e. permission `alert.rules:read`
The standard roles already have all required permissions, and therefore, neither OSS nor Grafana Enterprise users who use the fixed roles (standard roles provided by Grafana) are affected. **Only Grafana Enterprise users who create custom roles can be affected** Issue [#78289](https://github.com/grafana/grafana/issues/78289)
The deprecated endpoint for rendering pdf of a single dashboard `GET /render/pdf/:dashboardID` and report model fields `dashboardId`, `dashboardName`, `dashboardUid`, and `templateVars` have been removed. Only new endpoint `GET /api/reports/render/pdfs` accepting `dashboards` list is support moving forward Issue [#6362](https://github.com/grafana/grafana/issues/6362)
The deprecated old schedule setting with separate fields `hour,` `minute`, `day` have been removed. Only new schedule setting with `startDate` will be supported moving forward Issue [#6329](https://github.com/grafana/grafana/issues/6329)
The deprecated `email` field to send a report via `/api/reports/email` endpoint have been removed. Only `emails` field will be supported moving forward. Issue [#6328](https://github.com/grafana/grafana/issues/6328)
### Plugin development fixes & changes
- **GrafanaUI:** Add new `EmptyState` component. [#84891](https://github.com/grafana/grafana/issues/84891), [@ashharrison90](https://github.com/ashharrison90)
- **Grafana/Runtime:** Remove SystemJS export. [#84561](https://github.com/grafana/grafana/issues/84561), [@jackw](https://github.com/jackw)
- **Grafana UI:** Add code variant to Text component. [#82318](https://github.com/grafana/grafana/issues/82318), [@tskarhed](https://github.com/tskarhed)
<!-- 11.0.0-preview END -->
<!-- 10.4.1 START -->
# 10.4.1 (2024-03-20)
@@ -400,6 +670,24 @@ Users who have InfluxDB datasource configured with SQL querying language must up
Removes `NamespaceID` from responses of all GET routes underneath the path `/api/ruler/grafana/api/v1/rules` - 3 affected endpoints. All affected routes are not in the publicly documented or `stable` marked portion of the ngalert API. This only breaks clients who are directly using the unstable portion of the API. Such clients should use `NamespaceUID` rather than `NamespaceID` to identify namespaces. Issue [#79359](https://github.com/grafana/grafana/issues/79359)
<!-- 10.3.0 END -->
<!-- 10.2.6 START -->
# 10.2.6 (2024-03-25)
### Features and enhancements
- **Postgres:** Allow disabling SNI on SSL-enabled connections. [#84258](https://github.com/grafana/grafana/issues/84258), [@papagian](https://github.com/papagian)
### Bug fixes
- **CloudMonitoring:** Only run query if filters are complete. [#85014](https://github.com/grafana/grafana/issues/85014), [@aangelisc](https://github.com/aangelisc)
- **Snapshots:** Require delete within same org (backport). [#84730](https://github.com/grafana/grafana/issues/84730), [@ryantxu](https://github.com/ryantxu)
- **Dashboard:** Fix issue where out-of-view shared query panels caused blank dependent panels. [#84195](https://github.com/grafana/grafana/issues/84195), [@kaydelaney](https://github.com/kaydelaney)
- **Dashboards:** Run shared queries even when source panel is in collapsed row. [#84166](https://github.com/grafana/grafana/issues/84166), [@kaydelaney](https://github.com/kaydelaney)
- **Prometheus:** Fix calculating rate interval when there is no interval specified. [#84082](https://github.com/grafana/grafana/issues/84082), [@itsmylife](https://github.com/itsmylife)
- **Prometheus:** Fix $\_\_rate_interval calculation. [#84063](https://github.com/grafana/grafana/issues/84063), [@tolzhabayev](https://github.com/tolzhabayev)
<!-- 10.2.6 END -->
<!-- 10.2.5 START -->
# 10.2.5 (2024-03-06)
@@ -1094,6 +1382,15 @@ Starting with 10.2, `parentRowIndex` is deprecated. It will be removed in a futu
- **Drawer:** Make content scroll by default. [#75287](https://github.com/grafana/grafana/issues/75287), [@ashharrison90](https://github.com/ashharrison90)
<!-- 10.2.0 END -->
<!-- 10.1.9 START -->
# 10.1.9 (2024-03-25)
### Bug fixes
- **Snapshots:** Require delete within same org (backport). [#84765](https://github.com/grafana/grafana/issues/84765), [@ryantxu](https://github.com/ryantxu)
<!-- 10.1.9 END -->
<!-- 10.1.8 START -->
# 10.1.8 (2024-03-06)
@@ -1613,6 +1910,15 @@ Starting with 10.0, changing the folder UID is deprecated. It will be removed in
- **Grafana/ui:** Fix margin in RadioButtonGroup option when only icon is present. [#68899](https://github.com/grafana/grafana/issues/68899), [@aocenas](https://github.com/aocenas)
<!-- 10.1.0 END -->
<!-- 10.0.13 START -->
# 10.0.13 (2024-03-25)
### Bug fixes
- **Snapshots:** Require delete within same org (backport). [#84764](https://github.com/grafana/grafana/issues/84764), [@ryantxu](https://github.com/ryantxu)
<!-- 10.0.13 END -->
<!-- 10.0.12 START -->
# 10.0.12 (2024-03-06)
@@ -2163,6 +2469,15 @@ The `database` field has been deprecated in the Elasticsearch datasource provisi
- **InteractiveTable:** Updated design and minor tweak to Correlactions page. [#66443](https://github.com/grafana/grafana/issues/66443), [@torkelo](https://github.com/torkelo)
<!-- 10.0.0-preview END -->
<!-- 9.5.18 START -->
# 9.5.18 (2024-03-25)
### Bug fixes
- **Snapshots:** Require delete within same org (backport). [#84762](https://github.com/grafana/grafana/issues/84762), [@ryantxu](https://github.com/ryantxu)
<!-- 9.5.18 END -->
<!-- 9.5.17 START -->
# 9.5.17 (2024-03-05)

View File

@@ -3,7 +3,7 @@
ARG BASE_IMAGE=alpine:3.19.1
ARG JS_IMAGE=node:20-alpine
ARG JS_PLATFORM=linux/amd64
ARG GO_IMAGE=golang:1.21.8-alpine
ARG GO_IMAGE=golang:1.21.10-alpine
ARG GO_SRC=go-builder
ARG JS_SRC=js-builder

View File

@@ -117,9 +117,9 @@ gen-feature-toggles:
go test -v ./pkg/services/featuremgmt/...; \
fi
gen-go: $(WIRE)
gen-go:
@echo "generate go files"
$(WIRE) gen -tags $(WIRE_TAGS) ./pkg/server
$(GO) run ./pkg/build/wire/cmd/wire/main.go gen -tags $(WIRE_TAGS) ./pkg/server
fix-cue: $(CUE)
@echo "formatting cue files"
@@ -178,7 +178,7 @@ test-go: test-go-unit test-go-integration
test-go-unit: ## Run unit tests for backend with flags.
@echo "test backend unit tests"
go list -f '{{.Dir}}/...' -m | xargs \
$(GO) test -short -covermode=atomic -timeout=30m
$(GO) test -short -covermode=atomic -timeout=30m
.PHONY: test-go-integration
test-go-integration: ## Run integration tests for backend with flags.
@@ -266,7 +266,7 @@ build-docker-full-ubuntu: ## Build Docker image based on Ubuntu for development.
--build-arg COMMIT_SHA=$$(git rev-parse HEAD) \
--build-arg BUILD_BRANCH=$$(git rev-parse --abbrev-ref HEAD) \
--build-arg BASE_IMAGE=ubuntu:22.04 \
--build-arg GO_IMAGE=golang:1.21.8 \
--build-arg GO_IMAGE=golang:1.21.10 \
--tag grafana/grafana$(TAG_SUFFIX):dev-ubuntu \
$(DOCKER_BUILD_ARGS)

View File

@@ -852,6 +852,8 @@ enable_login_token = false
header_name =
email_claim =
username_claim =
email_attribute_path =
username_attribute_path =
jwk_set_url =
jwk_set_file =
cache_ttl = 60m
@@ -865,7 +867,6 @@ auto_sign_up = false
url_login = false
allow_assign_grafana_admin = false
skip_org_role_sync = false
signout_redirect_url =
#################################### Auth LDAP ###########################
[auth.ldap]
@@ -1821,3 +1822,13 @@ enabled = true
[cloud_migration]
# Set to true to enable target-side migration UI
is_target = false
# Token used to send requests to grafana com
gcom_api_token = ""
# How long to wait for a request to fetch an instance to complete
fetch_instance_timeout = 5s
# How long to wait for a request to create an access policy to complete
create_access_policy_timeout = 5s
# How long to wait for a request to create to fetch an access policy to complete
fetch_access_policy_timeout = 5s
# How long to wait for a request to create to delete an access policy to complete
delete_access_policy_timeout = 5s

View File

@@ -161,7 +161,7 @@
# For "mysql" and "postgres" only. Lock the database for the migrations, default is true.
;migration_locking = true
# For "mysql" and "postgres" only if migrationLocking is set. How many seconds to wait before failing to lock the database for the migrations, default is 0.
# For "mysql" and "postgres" only. How many seconds to wait before failing to lock the database for the migrations, default is 0.
;locking_attempt_timeout_sec = 0
# For "sqlite" only. How many times to retry query in case of database is locked failures. Default is 0 (disabled).
@@ -775,6 +775,8 @@
;header_name = X-JWT-Assertion
;email_claim = sub
;username_claim = sub
;email_attribute_path = jmespath.email
;username_attribute_path = jmespath.username
;jwk_set_url = https://foo.bar/.well-known/jwks.json
;jwk_set_file = /path/to/jwks.json
;cache_ttl = 60m

View File

@@ -172,7 +172,7 @@ make test-go-integration-postgres
### Run end-to-end tests
The end to end tests in Grafana use [Cypress](https://www.cypress.io/) and [Playwright](https://playwright.dev/) to run automated scripts in a browser. Read more about our Cypress [e2e framework](/contribute/style-guides/e2e.md).
Grafana uses [Cypress](https://www.cypress.io/) to end-to-end test core features. Core plugins use [Playwright](https://playwright.dev/) to run automated end-to-end tests. You can find more information on how to add end-to-end tests to your core plugin [here](./style-guides/e2e-plugins.md)
#### Running Cypress tests

View File

@@ -22,4 +22,4 @@ The above commands use some utils scripts under [_\<repo-root>/e2e_](../../e2e)
## Test suites
All the integration tests are located at _\<repo-root>/e2e/suite\<x>/specs_. The page objects and reusable flows are in the [_\<repo-root>/packages/grafana-e2e_](../../packages/grafana-e2e) package.
All the integration tests are located at _\<repo-root>/e2e/suite\<x>/specs_.

View File

@@ -1,28 +1,35 @@
# End-to-End Tests for plugins
# end-to-end tests for plugins
Be sure that you've read the [generalized E2E document](e2e.md).
When end-to-end testing Grafana plugins, it's recommended to use the [`@grafana/plugin-e2e`](https://www.npmjs.com/package/@grafana/plugin-e2e?activeTab=readme) testing tool. `@grafana/plugin-e2e` extends [`@playwright/test`](https://playwright.dev/) capabilities with relevant fixtures, models, and expect matchers; enabling comprehensive end-to-end testing of Grafana plugins across multiple versions of Grafana. For information on how to get started with Plugin end-to-end testing and Playwright, checkout the [Get started](https://grafana.com/developers/plugin-tools/e2e-test-a-plugin/get-started) guide.
## Adding end-to-end tests for a core plugin
Playwright end-to-end tests for plugins should be added to the [`e2e/plugin-e2e`](https://github.com/grafana/grafana/tree/main/e2e/plugin-e2e) directory.
1. Add a new directory that has the name as your plugin [`here`](https://github.com/grafana/grafana/tree/main/e2e/plugin-e2e). This is where your plugin tests will be kept.
2. Playwright uses [projects](https://playwright.dev/docs/test-projects) to logically group tests together. All tests in a project share the same configuration.
In the [Playwright config file](https://github.com/grafana/grafana/blob/main/playwright.config.ts), add a new project item. Make sure the `name` and the `testDir` sub directory matches the name of the directory that contains your plugin tests.
Adding `'authenticate'` to the list of dependencies and specifying `'playwright/.auth/admin.json'` as storage state will ensure all tests in your project will start already authenticated as an admin user. If you wish to use a different role for and perhaps test RBAC for some of your tests, please refer to the plugin-e2e [documentation](https://grafana.com/developers/plugin-tools/e2e-test-a-plugin/use-authentication).
```ts
{
name: 'mysql',
testDir: path.join(testDirRoot, '/mysql'),
use: {
...devices['Desktop Chrome'],
storageState: 'playwright/.auth/admin.json',
},
dependencies: ['authenticate'],
},
```
3. Update the [CODEOWNERS](https://github.com/grafana/grafana/blob/main/.github/CODEOWNERS/#L315) file so that your team is owner of the tests in the directory you added in step 1.
## Commands
- `yarn test:e2e` will run [Grafana's E2E utility](../../packages/grafana-e2e) against an already running Grafana server.
- `yarn test:e2e:update` will run `test:e2e` but instead of asserting that screenshots match their expected fixtures, they'll be replaced with new ones.
- `yarn e2e:playwright` will run all Playwright tests. Optionally, you can provide the `--project mysql` argument to run tests in a certain project.
Your running Grafana instance can be targeted by setting the `CYPRESS_BASE_URL`, `CYPRESS_USERNAME` and `CYPRESS_PASSWORD` environment variableS:
The script above assumes you have Grafana running on `localhost:3000`. You may change this by providing environment variables.
```shell
CYPRESS_BASE_URL=https://localhost:3000 CYPRESS_USERNAME=admin CYPRESS_PASSWORD=admin yarn test:e2e
```
## Test suites
All tests are located at _\<repo-root>/cypress/integration_ by default.
## Things to test
- Add data source (if applicable)
- Add panel
- Edit panel
- Annotations (if applicable)
- Aliases (if applicable)
- Template variables
- "Explore" view
`HOST=127.0.0.1 PORT=3001 yarn e2e:playwright`

View File

@@ -1,13 +1,13 @@
# End-to-End tests
Grafana Labs uses a minimal [homegrown solution](../../packages/grafana-e2e) built on top of [Cypress](https://cypress.io) for its end-to-end (E2E) tests.
Grafana Labs uses a minimal [homegrown solution](../../e2e/utils/index.ts) built on top of [Cypress](https://cypress.io) for its end-to-end (E2E) tests.
Important notes:
- We generally store all element identifiers ([CSS selectors](https://mdn.io/docs/Web/CSS/CSS_Selectors)) within the framework for reuse and maintainability.
- We generally do not use stubs or mocks as to fully simulate a real user.
- Cypress' promises [do not behave as you'd expect](https://docs.cypress.io/guides/core-concepts/introduction-to-cypress.html#Mixing-Async-and-Sync-code).
- [Testing core Grafana](e2e-core.md) is slightly different than [testing plugins](e2e-plugins.md).
- [Testing core Grafana](e2e-core.md) is different than [testing plugins](e2e-plugins.md) - core Grafana uses Cypress whereas plugins use [Playwright test](https://playwright.dev/).
## Framework structure

View File

@@ -122,7 +122,6 @@ func main() {
waitDuration := time.Duration(waitSeconds) * time.Second
http.HandleFunc("/", func(writer http.ResponseWriter, request *http.Request) {
writer.WriteHeader(http.StatusOK)
writer.Write([]byte(landingPage))
})

View File

@@ -6,6 +6,22 @@
# [Semantic versioning](https://semver.org/) is used to help the reader identify the significance of changes.
# Changes are relevant to this script and the support docs.mk GNU Make interface.
#
# ## 6.1.0 (2024-04-22)
#
# ### Changed
#
# - Mount volumes with SELinux labels.
#
# https://docs.docker.com/storage/bind-mounts/#configure-the-selinux-label
#
# ## 6.1.0 (2024-04-22)
#
# ### Added
#
# - Pseudo project for including only website resources and no website content.
#
# Facilitates testing shortcodes and layout changes with a small documentation set instead of Grafana Cloud or the entire website.
#
# ## 6.0.1 (2024-02-28)
#
# ### Added
@@ -300,6 +316,7 @@ SOURCES_helm_charts_tempo_distributed='tempo'
SOURCES_opentelemetry='opentelemetry-docs'
SOURCES_plugins_grafana_datadog_datasource='datadog-datasource'
SOURCES_plugins_grafana_oracle_datasource='oracle-datasource'
SOURCES_resources='website'
VERSIONS_as_code='UNVERSIONED'
VERSIONS_grafana_cloud='UNVERSIONED'
@@ -311,6 +328,7 @@ VERSIONS_grafana_cloud_frontend_observability_faro_web_sdk='UNVERSIONED'
VERSIONS_opentelemetry='UNVERSIONED'
VERSIONS_plugins_grafana_datadog_datasource='latest'
VERSIONS_plugins_grafana_oracle_datasource='latest'
VERSIONS_resources='UNVERSIONED'
VERSIONS_technical_documentation='UNVERSIONED'
VERSIONS_website='UNVERSIONED'
VERSIONS_writers_toolkit='UNVERSIONED'
@@ -321,6 +339,7 @@ PATHS_helm_charts_tempo_distributed='docs/sources/helm-charts/tempo-distributed'
PATHS_mimir='docs/sources/mimir'
PATHS_plugins_grafana_datadog_datasource='docs/sources'
PATHS_plugins_grafana_oracle_datasource='docs/sources'
PATHS_resources='content'
PATHS_tempo='docs/sources/tempo'
PATHS_website='content'
@@ -584,6 +603,11 @@ POSIX_HERESTRING
proj_to_url_src_dst_ver "$(new_proj helm-charts/mimir-distributed "${_version}")"
proj_to_url_src_dst_ver "$(new_proj enterprise-metrics "${_version}")"
;;
resources)
_repo="$(repo_path website)"
echo "arbitrary^${_repo}/config^/hugo/config" "arbitrary^${_repo}/layouts^/hugo/layouts" "arbitrary^${_repo}/scripts^/hugo/scripts"
unset _repo
;;
traces)
proj_to_url_src_dst_ver "$(new_proj tempo "${_version}")"
proj_to_url_src_dst_ver "$(new_proj enterprise-traces "${_version}")"
@@ -617,7 +641,7 @@ $x
POSIX_HERESTRING
if [ -n "${url}" ]; then
if [ "${_url}" != "arbitrary" ]; then
if [ "${url}" != arbitrary ]; then
printf '\r %s\r\n' "${url}"
fi
fi
@@ -670,9 +694,9 @@ POSIX_HERESTRING
fi
_repo="$(repo_path website)"
volumes="--volume=${_repo}/config:/hugo/config"
volumes="${volumes} --volume=${_repo}/layouts:/hugo/layouts"
volumes="${volumes} --volume=${_repo}/scripts:/hugo/scripts"
volumes="--volume=${_repo}/config:/hugo/config:z"
volumes="${volumes} --volume=${_repo}/layouts:/hugo/layouts:z"
volumes="${volumes} --volume=${_repo}/scripts:/hugo/scripts:z"
fi
unset _project _repo
done
@@ -682,7 +706,7 @@ for x in ${url_src_dst_vers}; do
$x
POSIX_HERESTRING
if [ "${_url}" != "arbitrary" ]; then
if [ "${_url}" != arbitrary ]; then
if [ ! -f "${_src}/_index.md" ]; then
errr "Index file '${_src}/_index.md' does not exist."
note "Is '${_src}' the correct source directory?"
@@ -693,9 +717,9 @@ POSIX_HERESTRING
debg "Mounting '${_src}' at container path '${_dst}'"
if [ -z "${volumes}" ]; then
volumes="--volume=${_src}:${_dst}"
volumes="--volume=${_src}:${_dst}:z"
else
volumes="${volumes} --volume=${_src}:${_dst}"
volumes="${volumes} --volume=${_src}:${_dst}:z"
fi
if [ -n "${_ver}" ] && [ "${_ver}" != 'UNVERSIONED' ]; then
@@ -789,7 +813,7 @@ fi
${WEBSITE_EXEC}
EOF
chmod +x "${tempfile}"
volumes="${volumes} --volume=${tempfile}:/entrypoint"
volumes="${volumes} --volume=${tempfile}:/entrypoint:z"
readonly volumes
IFS='' read -r cmd <<EOF

View File

@@ -3,23 +3,22 @@ aliases:
- /docs/grafana/v1.1/
- /docs/grafana/v3.1/
- guides/reference/admin/
description: Open source documentation for Grafana
cascade:
TEMPO_VERSION: latest
PYROSCOPE_VERSION: latest
description: Guides, installation, and feature documentation
keywords:
- grafana
- open source
- installation
- documentation
labels:
products:
- enterprise
- oss
cascade:
TEMPO_VERSION: latest
PYROSCOPE_VERSION: latest
title: Grafana open source documentation
title: Grafana documentation
---
# Grafana open source documentation
# Grafana documentation
## Installing Grafana
@@ -82,8 +81,8 @@ title: Grafana open source documentation
<h4>Provisioning</h4>
<p>Learn how to automate your Grafana configuration.</p>
</a>
<a href="{{< relref "whatsnew/whats-new-in-v10-4/" >}}" class="nav-cards__item nav-cards__item--guide">
<h4>What's new in v10.4</h4>
<a href="{{< relref "whatsnew/whats-new-in-v11-0/" >}}" class="nav-cards__item nav-cards__item--guide">
<h4>What's new in v11.0-preview</h4>
<p>Explore the features and enhancements in the latest release.</p>
</a>

View File

@@ -17,7 +17,7 @@ Team LBAC is available in private preview on Grafana Cloud for Loki created with
## Before you begin
To be able to use Team LBAC rules, you need to enable the feature toggle `teamHTTPHeaders` on your Grafana instance. Contact support to enable the feature toggle for you.
To be able to use Team LBAC rules, you need to enable the feature toggle `teamHttpHeaders` on your Grafana instance. Contact support to enable the feature toggle for you.
- Be sure that you have the permission setup to create a loki tenant in Grafana Cloud
- Be sure that you have admin data source permissions for Grafana.

View File

@@ -28,7 +28,7 @@ RBAC provides a standardized way of granting, changing, and revoking access when
## About RBAC
Role-based access control (RBAC) provides a standardized way of granting, changing, and revoking access so that users can view and modify Grafana resources, such as users and reports.
RBAC extends Grafana basic roles that are included in Grafana OSS, and enables you more granular control of users actions.
RBAC extends Grafana basic roles that are included in Grafana OSS, and enables more granular control of users actions.
By using RBAC you can provide users with permissions that extend the permissions available with basic roles. For example, you can use RBAC to:
@@ -43,6 +43,8 @@ RBAC roles contain multiple permissions, each of which has an action and a scope
- **Action:** `datasources:read`
- **Scope:** `datasources:*`
For information on the RBAC API refer to [RBAC API](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/developers/http_api/access_control/#rbac-api).
### Basic roles
Basic roles are the standard roles that are available in Grafana OSS. If you have purchased a Grafana Enterprise license, you can still use basic roles.
@@ -78,6 +80,10 @@ For example, if you modify Viewer basic role and grant additional permission, Ed
For more information about the permissions associated with each basic role, refer to [Basic role definitions]({{< relref "./rbac-fixed-basic-role-definitions/#basic-role-assignments" >}}).
To interact with the API and view or modify basic roles permissions, refer to [the table]({{< relref "./manage-rbac-roles/#basic-role-uid-mapping" >}}) that maps basic role names to the associated UID.
{{% admonition type="note" %}}
You cannot use a service account to modify basic roles via the RBAC API. To update basic roles, you must be a Grafana administrator and use basic authentication with the request.
{{% /admonition %}}
### Fixed roles
Grafana Enterprise includes the ability for you to assign discrete fixed roles to users, teams, and service accounts. This gives you fine-grained control over user permissions than you would have with basic roles alone. These roles are called "fixed" because you cannot change or delete fixed roles. You can also create _custom_ roles of your own; see more information in the [custom roles section]({{< relref "#custom-roles" >}}) below.

View File

@@ -13,6 +13,10 @@ weight: 200
A _user_ is defined as any individual who can log in to Grafana. Each user is associated with a _role_ that includes _permissions_. Permissions determine the tasks a user can perform in the system. For example, the **Admin** role includes permissions for an administrator to create and delete users.
Watch the following video to learn how to manage users and permissions in Grafana OSS and Grafana Cloud:
{{< youtube id="59uCGJN5hPI" >}}
The following topics describe how to use permissions to control user access to data sources, dashboards, users, and teams.
{{< section >}}

View File

@@ -16,7 +16,7 @@ title: Configure Slack for Alerting
weight: 300
---
## Configure Slack for Alerting
# Configure Slack for Alerting
Use the Grafana Alerting - Slack integration to send Slack notifications when your alerts are firing.

View File

@@ -0,0 +1,95 @@
---
canonical: https://grafana.com/docs/grafana/latest/alerting/configure-notifications/manage-contact-points/integrations/configure-telegram/
description: Configure the Telegram integration to connect alerts generated by Grafana Alerting
keywords:
- grafana
- alerting
- telegram
- integration
labels:
products:
- cloud
- enterprise
- oss
menuTitle: Telegram
title: Configure Telegram for Alerting
weight: 300
---
# Configure Telegram for Alerting
Use the Grafana Alerting - Telegram integration to send [Telegram](https://telegram.org/) notifications when your alerts are firing.
## Before you begin
### Telegram bot API token and chat ID
To integrate Grafana with Telegram, you need to obtain a Telegram **bot API token** and a **chat ID** (i.e., the ID of the Telegram chat where you want to receive the alert notifications).
### Set up your Telegram bot
Create a [Telegram bot](https://core.telegram.org/bots/api). You can associate this bot to your chats and perform different actions with it, such as receiving alerts from Grafana.
To set up the bot, complete the following steps.
1. **Open the Telegram app** on your device.
1. Find the Telegram bot named **BotFather**.
1. Type or press `/newbot`.
1. Choose a name for the bot. It must end in **bot** or **\_bot**. E.g. "my_bot".
1. **Copy the API token**.
### Chat ID
Add the bot to a group chat by following the steps below. Once the bot is added to the chat, you will be able to route your alert notifications to that group.
1. In the Telegram app, **open a group or start a new one**.
1. Search and **add the bot to the group**.
1. **Interact with the bot** by sending a dummy message that starts with "`/`". E.g. `/hola @bot_name`.
{{< figure src="/media/blog/telegram-grafana-alerting/telegram-screenshot.png" alt="A screenshot that shows a message to a Telegram bot." >}}
1. To obtain the **chat ID**, send an [HTTP request](https://core.telegram.org/bots/api#getupdates) to the bot. Copy the below URL and replace `{your_bot_api_token}` with your bot API token.
```
https://api.telegram.org/bot{your_bot_api_token}/getUpdates
```
1. **Paste the URL in your browser**.
1. If the request is successful, it will return a response in JSON format.
```
...
"chat": {
"id": -4065678900,
"title": "Tony and Hello world bot",
"type": "group",
...
```
1. Copy the value of the `“id”` that appears under `“chat”`.
## Procedure
To create your Telegram integration in Grafana Alerting, complete the following steps.
1. Navigate to **Alerts & IRM** -> **Alerting** -> **Contact points**.
1. Click **+ Add contact point**.
1. Enter a contact point name.
1. From the Integration list, select Telegram.
1. In the **BOT API Token** field, copy in the bot API token.
1. In the **Chat ID** field, copy in the chat ID.
1. Click **Test** to check that your integration works.
1. Click **Save contact point**.
## Next steps
To add the contact point and integration you created to your default notification policy, complete the following steps.
1. Navigate to **Alerts & IRM** -> **Alerting** -> **Notification policies**.
1. In the **Default policy**, click the ellipsis icon (…) and then **Edit**.
1. Change the default policy to the contact point you created.
1. Click **Update default policy**.
{{<admonition type="note">}}
If you have more than one contact point, add a new child notification policy rather than edit the default one, so you can route specific alerts to Telegram.
{{</admonition>}}

View File

@@ -19,25 +19,55 @@ weight: 400
# Configure PagerDuty for Alerting
To set up PagerDuty, provide an integration key.
Use the Grafana Alerting - PagerDuty integration to receive notifications in PagerDuty when your alerts are firing.
| Setting | Description |
| --------------- | ------------------------------------------------------ |
| Integration Key | Integration key for PagerDuty |
| Severity | Level for dynamic notifications, default is `critical` |
| Custom Details | Additional details about the event |
## Before you begin
The `CustomDetails` field is an object containing arbitrary key-value pairs. The user-defined details are merged with the ones we use by default.
To set up PagerDuty for integration with Grafana Alerting, you need to create a [PagerDuty](https://www.pagerduty.com/) account. There are several set up steps to perform within PagerDuty before you set up the integration in Grafana Alerting.
Our default values for `CustomDetails` are:
### Create a Service
```go
{
"firing": `{{ template "__text_alert_list" .Alerts.Firing }}`,
"resolved": `{{ template "__text_alert_list" .Alerts.Resolved }}`,
"num_firing": `{{ .Alerts.Firing | len }}`,
"num_resolved": `{{ .Alerts.Resolved | len }}`,
}
```
In PagerDuty, a service represents a component, microservice, or infrastructure element that a team oversees, manages, and monitors.
In case of duplicate keys, the user-defined details overwrite the default ones.
1. Refer to [PagerDutys services and integrations guide](https://support.pagerduty.com/docs/services-and-integrations#create-a-service).
1. Follow steps 1 to 5 under **Create a Service**.
{{< admonition type="note" >}}
In step 5, choose **Create a service without an integration**.
{{< /admonition >}}
### Obtain a PagerDuty integration key
1. Once the service is created, click **Integrations** within the Service options.
1. Click **+ Add an integration**.
1. Select **Events API V2**.
1. Click **Add**.
1. Click the drop-down arrow to display the integration details.
1. Copy the **Integration Key**.
## Procedure
To create your PagerDuty integration in Grafana Alerting, complete the following steps.
1. Navigate to **Alerts & IRM** -> **Alerting** -> **Contact points**.
1. Click **+ Add contact point**.
1. Enter a contact point name.
F1. rom the Integration list, select **PagerDuty**.
1. In the **Integration Key** field, copy in your integration key.
1. Click **Test** to check that your integration works.
An incident should display in the Services Activity tab in PagerDuty.
1. Click **Save contact point**.
## Next steps
To add the contact point and integration you created to your default notification policy, complete the following steps.
1. Navigate to **Alerts & IRM** -> **Alerting** -> **Notification policies**.
1. In the Default policy, click the ellipsis icon (…) and then **Edit**.
1. Change the default policy to the contact point you created.
1. Click **Update default policy**.
{{< admonition type="note" >}} If you have more than one contact point, add a new notification policy rather than edit the default one, so you can route specific alerts to PagerDuty. {{< /admonition >}}

View File

@@ -24,9 +24,11 @@ title: Configure the webhook notifier for Alerting
weight: 200
---
### Configure the webhook notifier for Alerting
# Configure the webhook notifier for Alerting
Example JSON body:
The webhook notification is a simple way to send information about a state change over HTTP to a custom endpoint. Using this notification you could integrate Grafana into a system of your choosing.
## Webhook JSON payload
```json
{
@@ -98,9 +100,9 @@ Example JSON body:
}
```
### Webhook fields
## Webhook fields
## Body
### Body
| Key | Type | Description |
| ----------------- | ------------------------- | ------------------------------------------------------------------------------- |
@@ -136,18 +138,31 @@ Example JSON body:
| panelURL | string | **Will be deprecated soon** |
| imageURL | string | URL of a screenshot of a panel assigned to the rule that created this notification |
### Removed fields related to dashboards
{{< admonition type="note" >}}
Alert rules are not coupled to dashboards anymore therefore the fields related to dashboards `dashboardId` and `panelId` have been removed.
{{< /admonition >}}
Alerts are not coupled to dashboards anymore therefore the fields related to dashboards `dashboardId` and `panelId` have been removed.
## Procedure
## WeCom
To create your webhook integration in Grafana Alerting, complete the following steps:
WeCom contact points need a Webhook URL. These are obtained by setting up a WeCom robot on the corresponding group chat. To obtain a Webhook URL using the WeCom desktop Client please follow these steps:
1. Navigate to **Alerts & IRM** -> **Alerting** -> **Contact points**.
1. Click **+ Add contact point**.
1. Enter a contact point name.
1. From the Integration list, select **Webhook**.
1. In the **URL** field, copy in your Webhook URL.
1. Click **Test** to check that your integration works.
1. Click **Save contact point**.
1. Click the "..." in the top right corner of a group chat that you want your alerts to be delivered to
2. Click "Add Group Robot", select "New Robot" and give your robot a name. Click "Add Robot"
3. There should be a Webhook URL in the panel.
## Next steps
| Setting | Description |
| ------- | ------------------ |
| Url | WeCom webhook URL. |
To add the contact point and integration you created to your default notification policy, complete the following steps.
1. Navigate to **Alerts & IRM** -> **Alerting** -> **Notification policies**.
1. In the **Default policy**, click the ellipsis icon (…) and then **Edit**.
1. Change the default policy to the contact point you created.
1. Click **Update default policy**.
{{< admonition type="note" >}}
If you have more than one contact point, add a new notification policy rather than edit the default one, so you can route specific alerts to your webhook.
{{< /admonition >}}

View File

@@ -27,17 +27,14 @@ Notification templates are not tied to specific contact point integrations, such
You can use notification templates to:
- Customize the subject of an email or the title of a message.
- Add, change or remove text in notifications. For example, to select or omit certain labels, annotations and links.
- Format text in bold and italic, and add or remove line breaks.
- Customize content: Personalize the subject of an email or the title of a message. Modify text within notifications, like selecting or omitting certain labels, annotations, and links. Format text with bold and italic styles, and add or remove line breaks.
You cannot use notification templates to:
However, there are limitations. You cannot:
- Add HTML and CSS to email notifications to change their visual appearance.
- Change the design of notifications in instant messaging services such as Slack and Microsoft Teams. For example, to add or remove custom blocks with Slack Block Kit or adaptive cards with Microsoft Teams.
- Choose the number and size of images, or where in the notification images are shown.
- Customize the data in webhooks, including the fields or structure of the JSON data or send the data in other formats such as XML.
- Add or remove HTTP headers in webhooks other than those in the contact point configuration.
- Modify Visual Appearance: Add HTML and CSS to email notifications for visual changes. Alter the design of notifications in messaging services like Slack and Microsoft Teams, such as adding custom blocks or adaptive cards.
- Manage Media and Data: Adjust the number and size of images or their placement in notifications. Customize webhook data structure or format, including JSON fields or sending data in XML. Modify HTTP headers in webhooks beyond those in the contact point configuration.
## Learn more
[Using Go's templating language][using-go-templating-language]

View File

@@ -0,0 +1,220 @@
---
description: Breaking changes for Grafana v11.0-preview
keywords:
- grafana
- breaking changes
- documentation
- '11.0'
- '11.0-preview'
- release notes
labels:
products:
- cloud
- enterprise
- oss
title: Breaking changes in Grafana v11.0-preview
weight: -3
---
<!-- vale GoogleWe = NO -->
<!-- vale We = NO -->
# Breaking changes in Grafana v11.0-preview
Following are breaking changes that you should be aware of when upgrading to Grafana v11.0-preview.
For our purposes, a breaking change is any change that requires users or operators to do something. This includes:
- Changes in one part of the system that could cause other components to fail
- Deprecations or removal of a feature
- Changes to an API that could break automation
- Changes that affect some plugins or functions of Grafana
- Migrations that cant be rolled back
For each change, the provided information:
- Helps you determine if youre affected
- Describes the change or relevant background information
- Guides you in how to mitigate for the change or migrate
- Provides more learning resources
For release highlights and deprecations, refer to our [v11.0-preview Whats new](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/whatsnew/whats-new-in-v11-0/). For the specific steps we recommend when you upgrade to v11.0, check out our [Upgrade guide](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/upgrade-guide/upgrade-v11.0/).
<!--
## Feature
You must use relative references when linking to docs within the Grafana repo. Please do not use absolute URLs. For more information about relrefs, refer to [Links and references](/docs/writers-toolkit/writing-guide/references/).-->
<!-- Last copied from Google Doc March 26th 8:45pm -->
## Users and Operators
### AngularJS support is turned off by default
#### Description
In Grafana v11, support for the deprecated AngularJS framework is turned off by default for all self-managed (on-premise) and Cloud instances of Grafana. This prevents any data source or panel visualization which relies on AngularJS from being loaded, and therefore has the potential to significantly disrupt your dashboards. Support will be fully removed in the next major release of Grafana.
#### Migration/mitigation
To avoid disruption, ensure all plugins are up to date and migrate from any remaining AngularJS plugins to a React-based alternative. If a plugin relies on AngularJS, a warning icon and message will be displayed in the [plugins catalog](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/administration/plugin-management/#plugin-catalog) in Grafana and any dashboard panel where it's used. Additionally, a warning banner will appear in any impacted dashboards. A list of all impacted dashboards can also be generated using the [`detect-angular-dashboards`](https://github.com/grafana/detect-angular-dashboards) tool.
Our [documentation](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/developers/angular_deprecation/angular-plugins/) lists all known public plugins and provides migration advice when possible.
For self-managed users of Grafana and existing Grafana Cloud instances, you can temporarily re-enable support through the [configuration parameter](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/setup-grafana/configure-grafana/#angular_support_enabled), `angular_support_enabled=false`. However, AngularJS-based plugins will not receive any further updates and we strongly recommend migration as soon as possible. This configuration parameter will also be removed in the next major release after Grafana v11.
New Grafana Cloud users will be unable to request that support be added to their instance.
#### Learn more
Refer to this [blog post](https://grafana.com/blog/2024/03/11/removal-of-angularjs-support-in-grafana-what-you-need-to-know/) for more information.
### Grafana Enterprise: Anonymous devices are billed as users
#### Description
Effective starting in Grafana v11, anonymous users are counted and charged as users in Grafana Enterprise. When you upgrade to v11, anonymous users will be automatically counted as active users against your Grafana Enterprise license.
#### Migration/mitigation
Turn off anonymous access, and consider using public dashboards to allow view-only access to publicly-accessible dashboards.
#### Learn more
[Anonymous access documentation](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/setup-grafana/configure-security/configure-authentication/grafana/#anonymous-authentication)
### Legacy alerting is entirely removed
Legacy alerting has reached its end-of-life. In Grafana v11 you can no longer enable legacy alerting, and Grafana will fail to start if the settings are not updated to run the new Grafana Alerting. This also means that starting in Grafana v11, it is no longer possible to migrate from legacy alerting to our new alerting. Grafana v10.4.x is the last version that offers migration, so make sure to migrate to the new Grafana Alerting system _before_ upgrading to Grafana v11. Learn more about Grafana Alerting and the advantages of the new system in the [legacy alerting deprecation documentation](https://grafana.com/docs/grafana/v10.4/alerting/set-up/migrating-alerts/legacy-alerting-deprecation/). Learn more about migration in the [upgrade alerting documentation](https://grafana.com/docs/grafana/v10.4/alerting/set-up/migrating-alerts/).
For more details on the code removal, review the following PRs:
- [https://github.com/grafana/grafana/pull/83651](https://github.com/grafana/grafana/pull/83651)
- [https://github.com/grafana/grafana/issues/81268](https://github.com/grafana/grafana/issues/81268)
### Deprecated endpoints and fields in Reporting removed
#### Description
In Grafana v11, support for deprecated endpoints and fields in **Reporting** related to the old scheduling format, email, and dashboard is fully removed. This prevents any calls to deprecated endpoints and passing in values to deprecated fields. This feature only affects Cloud and Enterprise customers who use the API to generate reports.
#### Migration/mitigation
Ensure deprecated endpoints are updated to new corresponding endpoints and deprecated fields are removed and replaced with new corresponding fields.
#### Learn more
The [Reporting documentation](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/developers/http_api/reporting/) lists all supported endpoints and fields.
### Change custom branding public dashboard footer behavior
#### Description
In Grafana v11, custom branding public dashboard footer behavior is changed to default to the Grafana logo if no footer logo or footer text is set. There is no option to hide the public dashboard footer anymore. This feature only affects Cloud Advanced and Enterprise customers.
#### Migration/mitigation
Ensure you have a public dashboard footer logo or footer text set if you don't want to display the default Grafana footer.
#### Learn more
[Configure custom branding documentation](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/setup-grafana/configure-grafana/configure-custom-branding/#custom-branding-for-public-dashboards) for public dashboards
### Subfolders cause very rare issues with folders that have forward slashes in their names
#### Description and migration/mitigation
The upgrade to enable subfolders can cause some issues with alerts in certain cases. If you've previously set up a folder that uses a forward slash in its name, you have an alert rule in that folder, and the notification policy is set to match that folder's name, notifications will be sent to the default receiver instead of the configured receiver.
In these cases, we recommend that you take these steps before the upgrade to enable subfolders:
- Create a copy of the affected routes and rewrite the matchers for the new copy. For example, if the original matcher was `grafana_folder=MyFolder/sub-folder`, then the new route matcher will be `grafana_folder=MyFolder\/sub-folder`.
- After enabling subfolders, you can delete the old routes.
Please note that if you use file provisioning, you can upgrade and update the routes at the same time.
#### Learn more
[Subfolders announcement](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/whatsnew/whats-new-in-v11-0/#subfolders)
[Provisioning: Provision dashboards into subfolders PR](https://github.com/grafana/grafana/pull/79793)
### The Input data source is removed
The direct input data source plugin has been removed in Grafana v11. It has been in alpha for four years and is superseded by [TestData](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/datasources/testdata/), which ships with Grafana. This is a small deprecation.
Review [this PR](https://github.com/grafana/grafana/pull/83163) for details.
### Data sources: Query filtering changes
The **Disable query** button in the query editor row has caused a lot of confusion among data source developers and end-users. Until now, it has been up to data source developers to filter out any hidden queries before or after theyre executed. Starting from Grafana v11, the tooltip of this button is changed from **Disable query** to **Hide response/Show response**. Responses that are associated with hidden queries will be removed by Grafana before theyre passed to the panel.
Users of data source plugins that didn't previously remove hidden queries (before or after they were executed) will see a change of behavior as, previously, clicking the **Disable query** button had no impact on the query result. Starting from Grafana v11, responses associated with hidden queries are longer returned to the panel.
Were also moving the call to the `datasource.filterQuery` method to the query runner. This means that frontend-only data sources (or any data source that doesn't extend `DataSourceWithBackend` class) can implement this method. This streamlines data source plugin behavior, ensuring filtering works in the same way for all kinds of data source plugins.
#### Migration/mitigation
If data is missing in panels, make sure the query editor **Hide response** button is not clicked.
#### Learn more
[GitHub PR](https://github.com/grafana/grafana/pull/84656)
### Chore: Query oauth info from a new instance
We've added a validation between the response of the ID token HD parameter and the list of allowed domains as an extra layer of security. In the event that the HD parameter doesn't match the list of allowed domains, we're denying access to Grafana.
If you set Google OAuth configuration using `api_url,` you might be using the legacy implementation of OAuth, which doesn't have the HD parameter describing the organization from which the approved token comes. This could break your login flow.
You can turn off this feature through the configuration toggle `validate_hd `. Anyone using the legacy Google OAuth configuration should turn off this validation if the ID Token response doesn't have the HD parameter.
[GitHub PR](https://github.com/grafana/grafana/pull/83229)
### Changes to how the panel view URL is generated for repeated panels
#### Description
With the introduction of the Scenes library to dashboards, the URL thats generated when viewing an individual repeated panel has changed. Weve changed how these panels are referenced and what used to be `&viewPanel=panel-5` is now `&viewPanel=panel-3-clone1`.
This means that the previous URLs wont work anymore and instead you'll be redirected to the dashboard view and you'll get a _Panel not found_ error. From this point on, the dashboard will continue to work as expected.
#### Migration/mitigation
Reopen the panel in view mode and you'll get the new URL.
## Plugin developers
### React Router is deprecated
#### Description
In Grafana v11 we're marking react-router v5 as deprecated. App plugins should start migrating to use react-router v6.
#### Migration/mitigation
For a complete guide, please follow our [migration docs on the developer portal](https://grafana.com/developers/plugin-tools/migration-guides/update-from-grafana-versions/migrate-9_x-to-10_x#update-to-react-router-v6).
#### Learn more
- Grafana v9.x to v10.x [migration guide](https://grafana.com/developers/plugin-tools/migration-guides/update-from-grafana-versions/migrate-9_x-to-10_x#update-to-react-router-v6)
- Official react-router v5 to v6 [migration guide](https://reactrouter.com/en/main/upgrading/v5)
- Grafana community forum [topic](https://community.grafana.com/t/migrating-app-plugins-to-use-react-router-v6/115410)
### Chore: Taint ArrayVector with `never` to further discourage
[GitHub PR](https://github.com/grafana/grafana/pull/83681)
The Vector interface that was deprecated in Grafana v10 is further deprecated. Using it now generates build-time Typescript errors, but it remains working at runtime. If you're still using ArrayVector in your code, you should remove it immediately and replace it with plain arrays. Plugins that are compiled against older versions and depend on calling get/set will continue to work because the Array prototype still has a modified prototype. This will be removed in the future.
### Chore: Remove React 17 peer deps
[GitHub PR](https://github.com/grafana/grafana/pull/83524)
We've removed React 17 as a peer dependency from our packages. Anyone using the new versions of these packages should ensure they've upgraded to React 18 following [the upgrade steps](https://react.dev/blog/2022/03/08/react-18-upgrade-guide).
### Chore: Remove SystemJS from Grafana/Runtime
[GitHub PR](https://github.com/grafana/grafana/pull/84561)
SystemJS is no longer exported from `@grafana/runtime`. Plugin developers should instead rely on importing modules/packages using standard TS import syntax and npm/yarn for package installation.

View File

@@ -9,69 +9,63 @@ labels:
title: Dashboards
weight: 70
description: Create and manage dashboards
hero:
title: Dashboards
level: 1
width: 110
height: 110
description: >-
Dashboards allow you to query, transform, visualize, and understand your data no matter where its stored.
cards:
title_class: pt-0 lh-1
items:
- title: Build dashboards
href: ./build-dashboards/
description: Get step-by-step directions for how to create or import your first dashboard and modify dashboard settings. Learn about reusable library panels, dashboard links, annotatations, and dashboard JSON.
height: 24
- title: Manage dashboards
href: ./manage-dashboards/
description: Learn about dashboard and folder management, as well as generative AI features for dashboards.
height: 24
- title: Variables
href: ./variables/
description: Add variables to metric queries and panel titles to create interactive and dynamic dashboards.
height: 24
- title: Public dashboards
href: ./dashboard-public/
description: Make your Grafana dashboards public and share them with anyone without requiring access to your Grafana organization.
height: 24
- title: Reporting
href: ./create-reports/
description: Automatically generate and share PDF reports from your Grafana dashboards.
height: 24
- title: Sharing
href: ./share-dashboards-panels/
description: Share Grafana dashboards and panels within your organization using links, snapshots, and JSON exports.
height: 24
---
# Dashboards
{{< docs/hero-simple key="hero" >}}
A dashboard is a set of one or more [panels][] organized and arranged into one or more rows. Grafana ships with a variety of panels making it easy to construct the right queries, and customize the visualization so that you can create the perfect dashboard for your need. Each panel can interact with data from any configured Grafana [data source][].
---
Dashboard snapshots are static. Queries and expressions cannot be re-executed from snapshots. As a result, if you update any variables in your query or expression, it will not change your dashboard data.
## Overview
Before you begin, ensure that you have configured a data source. See also:
A Grafana dashboard is a set of one or more [panels][], organized and arranged into one or more rows, that provide an at-a-glance view of related information. These panels are created using components that query and transform raw data from a data source into charts, graphs, and other visualizations.
- [Use dashboards][]
- [Build dashboards][]
- [Create dashboard folders][]
- [Manage dashboards][]
- [Public dashboards][]
- [Annotations][]
- [Playlist][]
- [Reporting][]
- [Version history][]
- [Import][]
- [Export and share][]
- [JSON model][]
A data source can be an SQL database, Grafana Loki, Grafana Mimir, or a JSON-based API. It can even be a basic CSV file. Data source plugins take a query you want answered, retrieve the data from the data source, and reconcile the differences between the data model of the data source and the data model of Grafana dashboards.
Queries allow you to reduce the entirety of your data to a specific dataset, providing a more manageable visualization. Since data sources have their own distinct query languages, Grafana dashboards provide you with a query editor to accommodate these differences.
A panel is the container that displays the visualization and provides you with various controls to manipulate it. Panel options let you customize many aspects of a visualization and the options differ based on which visualization you select. When the data format in a visualization doesnt meet your requirements, you can apply a transformation that manipulates the data returned by a query.
With 150+ data source plugins, you can unify all your data sources into a single dashboard to streamline data monitoring and troubleshooting. With Grafana, you can translate, transform, and visualize data in flexible and versatile dashboards.
## Explore
{{< card-grid key="cards" type="simple" >}}
{{% docs/reference %}}
[data source]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/datasources"
[data source]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/connect-externally-hosted/data-sources"
[Reporting]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/dashboards/create-reports"
[Reporting]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/dashboards/create-reports"
[Public dashboards]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/dashboards/dashboard-public"
[Public dashboards]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/dashboards/dashboard-public"
[Version history]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/dashboards/build-dashboards/manage-version-history"
[Version history]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/dashboards/build-dashboards/manage-version-history"
[panels]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations"
[panels]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations"
[Annotations]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/dashboards/build-dashboards/annotate-visualizations"
[Annotations]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/dashboards/build-dashboards/annotate-visualizations"
[Create dashboard folders]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/dashboards/manage-dashboards#create-a-dashboard-folder"
[Create dashboard folders]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/dashboards/manage-dashboards#create-a-dashboard-folder"
[JSON model]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/dashboards/build-dashboards/view-dashboard-json-model"
[JSON model]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/dashboards/build-dashboards/view-dashboard-json-model"
[Import]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/dashboards/build-dashboards/import-dashboards"
[Import]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/dashboards/build-dashboards/import-dashboards"
[Export and share]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/dashboards/share-dashboards-panels"
[Export and share]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/dashboards/share-dashboards-panels"
[Manage dashboards]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/dashboards/manage-dashboards"
[Manage dashboards]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/dashboards/manage-dashboards"
[Build dashboards]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/dashboards/build-dashboards"
[Build dashboards]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/dashboards/build-dashboards"
[Use dashboards]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/dashboards/use-dashboards"
[Use dashboards]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/dashboards/use-dashboards"
[Playlist]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/dashboards/create-manage-playlists"
[Playlist]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/dashboards/create-manage-playlists"
[panels]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/panel-overview"
[panels]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/panel-overview"
{{% /docs/reference %}}

View File

@@ -24,6 +24,8 @@ Annotations provide a way to mark points on a visualization with rich events. Th
{{< figure src="/static/img/docs/v46/annotations.png" max-width="800px" alt="Annotated visualization with annotation context menu open" >}}
{{< docs/play title="Annotations" url="https://play.grafana.org/d/000000010/" >}}
You can annotate visualizations in three ways:
- Directly in the panel, using the [built-in annotations query](#built-in-query)
@@ -49,6 +51,10 @@ To add annotations directly in the panel:
- The dashboard must already be saved.
- The built-in query must be enabled. Learn more in [Built-in query](#built-in-query).
Watch the following video for a quick tutorial on creating annotations:
{{< youtube id="N5iOlyYyK6Q" >}}
### Add an annotation
To add an annotation, complete the following steps:

View File

@@ -69,7 +69,7 @@ This method is similar to the RED method, but it includes saturation.
- **Errors -** Rate of requests that are failing
- **Saturation -** How "full" your system is
[Here's an example from Grafana Play](https://play.grafana.org/d/000000109/the-four-golden-signals?orgId=1).
{{< docs/play title="The Four Golden Signals" url="https://play.grafana.org/d/000000109/" >}}
## Dashboard management maturity model

View File

@@ -47,6 +47,24 @@ Adjust dashboard time settings when you want to change the dashboard timezone, t
- **Now delay:** Override the `now` time by entering a time delay. Use this option to accommodate known delays in data aggregation to avoid null values.
- **Hide time picker:** Select this option if you do not want Grafana to display the time picker.
## Add tags
You can add metadata to your dashboards using tags. Tags also give you the ability to filter the list of dashboards.
Tags can be up to 50 characters long, including spaces.
To add tags to a dashboard, follow these steps:
1. On the **Dashboard settings** page, scroll down to the **Tags** section.
1. In the field, enter a new or existing tag.
If you're entering an existing tag, make sure that you spell it the same way or a new tag is created.
1. Click **Add** or press the Enter key.
1. Save the dashboard.
When you're on the **Dashboards** page, any tags you've entered show up under the **Tags** column.
## Add an annotation query
An annotation query is a query that queries for events. These events can be visualized in graphs across the dashboard as vertical lines along with a small

View File

@@ -91,7 +91,17 @@ You can publish snapshots to your local instance or to [snapshots.raintank.io](h
1. Copy the snapshot link, and share it either within your organization or publicly on the web.
If you created a snapshot by mistake, click **Delete snapshot** to remove the snapshot from your Grafana instance.
If you created a snapshot by mistake, click **Delete snapshot** in the dialog box to remove the snapshot from your Grafana instance.
#### Delete a snapshot
To delete existing snapshots, follow these steps:
1. In the primary menu, click **Dashboards**.
1. Click **Snapshots** to go to the snapshots management page.
1. Click the red **x** next to the snapshot URL that you want to delete.
The snapshot is immediately deleted. You may need to clear your browser cache or use a private or incognito browser to confirm this.
### Export a dashboard as JSON
@@ -183,7 +193,17 @@ You can optionally set an expiration time if you want the snapshot to be removed
1. Copy the snapshot link, and share it either within your organization or publicly on the web.
If you created a snapshot by mistake, click **Delete snapshot** to remove the snapshot from your Grafana instance.
If you created a snapshot by mistake, click **Delete snapshot** in the dialog box to remove the snapshot from your Grafana instance.
#### Delete a snapshot
To delete existing snapshots, follow these steps:
1. In the primary menu, click **Dashboards**.
1. Click **Snapshots** to go to the snapshots management page.
1. Click the red **x** next to the snapshot URL that you want to delete.
The snapshot is immediately deleted. You may need to clear your browser cache or use a private or incognito browser to confirm this.
### Embed panel

View File

@@ -30,7 +30,9 @@ the dashboard. These dropdowns make it easy to change the data being displayed i
{{< figure src="/static/img/docs/v50/variables_dashboard.png" alt="Variable drop-down open and two values selected" >}}
These can be especially useful for administrators who want to allow Grafana viewers to quickly adjust visualizations but do not want to give them full editing permissions. Grafana Viewers can use variables.
{{< docs/play title="Templating - Global variables and interpolation" url="https://play.grafana.org/d/HYaGDGIMk/" >}}
Variables are useful for administrators who want to allow Grafana viewers to adjust visualizations without giving them full editing permissions. Grafana viewers can use variables.
Variables and templates also allow you to single-source dashboards. If you have multiple identical data sources or servers, you can make one dashboard and use variables to change what you are viewing. This simplifies maintenance and upkeep enormously.
@@ -46,7 +48,7 @@ wmi_system_threads{instance=~"$server"}
Variable values are always synced to the URL using the syntax `var-<varname>=value`.
## Examples
## Additional Examples
Variables are listed in drop-down lists across the top of the screen. Select different variables to see how the visualizations change.
@@ -56,12 +58,9 @@ Variables can be used in titles, descriptions, text panels, and queries. Queries
The following dashboards in Grafana Play provide examples of template variables:
- [Graphite Templated Nested](https://play.grafana.org/d/000000056/templated-dynamic-dashboard?orgId=1&var-app=backend&var-server=backend_01&var-server=backend_02&var-server=backend_03&var-server=backend_04&var-interval=1h) - Uses query variables, chained query variables, an interval variable, and a repeated panel.
- [Global variables and interpolation](https://play.grafana.org/d/HYaGDGIMk/templating-global-variables-and-interpolation?orgId=1&var-Server=A%27A%22A&var-Server=BB%5CB)
- [Elasticsearch Dummy Flight Data](https://play.grafana.org/d/z8OZC66nk/elasticsearch-8-2-0-sample-flight-data?orgId=1&var-Filters=Carrier%7C%3D%7CLogstash%20Airways&var-query0=) - Uses ad hoc filters.
- [Templating, repeated panels](https://play.grafana.org/d/000000025/templating-repeated-panels?orgId=1) - Two sets of repeated panels use query variables.
- [Template Redux](https://play.grafana.org/d/p-k6QtkGz/template-redux?orgId=1) - Uses query variables, chained query variables, an interval variable, a text box variable, a custom variable, and a data source variable.
- [Nested Variables Drilldown](https://play.grafana.org/d/testdata-nested-variables-drilldown/templating-nested-variables-drilldown?orgId=1&var-datacenter=A&var-server=AA&var-server=AC&var-pod=All)
- [Templating, repeated panels](https://play.grafana.org/d/000000025/) - Using query variables to control how many panels appear.
- [Templated Dynamic Dashboard](https://play.grafana.org/d/000000056/) - Uses query variables, chained query variables, an interval variable, and a repeated panel.
- [Templating - Nested Variables Drilldown](https://play.grafana.org/d/testdata-nested-variables-drilldown/)
## Variable best practices

View File

@@ -76,14 +76,24 @@ For general information about querying in Grafana, and common options and user i
Grafana includes three special data sources:
- **Grafana:** A built-in data source that generates random walk data and can poll the [Testdata]({{< relref "./testdata/" >}}) data source. Additionally, it can list files and get other data from a Grafana installation. This can be helpful for testing visualizations and running experiments.
- **Mixed:** An abstraction that lets you query multiple data sources in the same panel.
When you select Mixed, you can then select a different data source for each new query that you add.
- The first query uses the data source that was selected before you selected **Mixed**.
- You can't change an existing query to use the **Mixed** data source.
- Grafana Play example: [Mixed data sources](https://play.grafana.org/d/000000100/mixed-datasources?orgId=1)
- **Dashboard:** A data source that uses the result set from another panel in the same dashboard. The dashboard data source can use data either directly from the selected panel or from annotations attached to the selected panel.
- Grafana Play example: [Panel as Data source](https://play.grafana.org/d/ede8zps8ndb0gc/panel-as-data-source?orgId=1)
### Grafana
A built-in data source that generates random walk data and can poll the [Testdata]({{< relref "./testdata/" >}}) data source. Additionally, it can list files and get other data from a Grafana installation. This can be helpful for testing visualizations and running experiments.
### Mixed
An abstraction that lets you query multiple data sources in the same panel. When you select Mixed, you can then select a different data source for each new query that you add.
- The first query uses the data source that was selected before you selected **Mixed**.
- You can't change an existing query to use the **Mixed** data source.
{{< docs/play title="Mixed Datasources Example" url="https://play.grafana.org/d/000000100/" >}}
### Dashboard
A data source that uses the result set from another panel in the same dashboard. The dashboard data source can use data either directly from the selected panel or from annotations attached to the selected panel.
{{< docs/play title="Panel as a Data Source" url="https://play.grafana.org/d/ede8zps8ndb0gc/" >}}
## Built-in core data sources

View File

@@ -72,7 +72,7 @@ The Grafana Assume Role also helps facilitate this. Using this role, Grafana's A
If the **Assume Role ARN** field is left empty, Grafana uses the provided credentials from the selected authentication method directly, and permissions to AWS data must be attached directly to those credentials. The **Assume Role ARN** field is optional for all authentication methods except for Grafana Assume Role.
To disable this feature, refer to the [`assume_role_enabled` documentation][configure-grafana-assume-role-enabled].
To disable this feature in open source Grafana or Grafana Enterprise, refer to the [`assume_role_enabled` documentation][configure-grafana-assume-role-enabled].
### Use an external ID
@@ -156,7 +156,8 @@ The Grafana Assume Role authentication provider lets you authenticate with AWS w
To use the Grafana Assume Role:
1. Put in a request to Customer Support to enable`awsDatasourcesTempCredentials`.
1. Grafana Cloud customers need to open a support ticket to enable the feature `awsDatasourcesTempCredentials`.
This feature is enabled by default in open source Grafana and Grafana Enterprise.
2. Once the feature is enabled, create a new CloudWatch data source (or update an existing one) and select **Grafana Assume Role** as an authentication provider.
3. In the AWS Console, create a new IAM role, and under **Trusted entity type**, select **Another AWS account** as the trusted Entity.
4. Enter Grafana's account id (displayed in the instructions box on the **Settings** tab of the CloudWatch data source configuration) and check the **Require external ID** box.

View File

@@ -27,6 +27,8 @@ Only users with the organization administrator role can add data sources.
Once you've added the Graphite data source, you can [configure it](#configure-the-data-source) so that your Grafana instance's users can create queries in its [query editor]({{< relref "./query-editor" >}}) when they [build dashboards][build-dashboards] and use [Explore][explore].
{{< docs/play title="Graphite: Sample Website Dashboard" url="https://play.grafana.org/d/000000003/" >}}
## Configure the data source
To configure basic settings for the data source, complete the following steps:

View File

@@ -55,6 +55,10 @@ Some functions like aliasByNode support an optional second argument. To add an a
To learn more, refer to [Graphite's documentation on functions](https://graphite.readthedocs.io/en/latest/functions.html).
{{% admonition type="warning" %}}
Some functions take a second argument that may be a function that returns a series. If you are adding a second argument that is a function, it is suggested to use a series reference from a second query instead of the function itself. The query editor does not currently support parsing of a second argument that is a function when switching between the query editor and the code editor.
{{% /admonition %}}
### Sort labels
If you have the same labels on multiple graphs, they are both sorted differently and use different colors.

View File

@@ -143,7 +143,7 @@ The Graphite data source supports two variable syntaxes for use in the **Query**
### Templated dashboard example
To view an example templated dashboard, refer to [Graphite Templated Dashboard](https://play.grafana.org/dashboard/db/graphite-templated-nested).
To view an example templated dashboard, refer to [Graphite Templated Nested dashboard](https://play.grafana.org/d/cvDFGseGz/graphite-templated-nested).
{{% docs/reference %}}
[add-template-variables]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/dashboards/variables/add-template-variables"

View File

@@ -87,7 +87,7 @@ When you enable the **Multi-value** or **Include all value** options, Grafana co
### Templated dashboard example
To view an example templated dashboard, refer to [InfluxDB Templated Dashboard](https://play.grafana.org/dashboard/db/influxdb-templated).
To view an example templated dashboard, refer to this [InfluxDB templated dashboard](https://play.grafana.org/d/f62a0410-5abb-4dd8-9dfc-caddfc3e2ffd/eccb2445-b0a2-5e83-8e0f-6d5ea53ad575).
{{% docs/reference %}}
[add-template-variables-chained-variables]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/dashboards/variables/add-template-variables#chained-variables"

View File

@@ -27,6 +27,8 @@ For instructions on how to add a data source to Grafana, refer to the [administr
Only users with the organization administrator role can add data sources.
Administrators can also [configure the data source via YAML](#provision-the-data-source) with Grafana's provisioning system.
{{< docs/play title="MySQL: Cities of the World Sample Data Set" url="https://play.grafana.org/d/8JOvPQr7k/" >}}
## Configure the data source
**To access the data source configuration page:**

View File

@@ -80,7 +80,7 @@ The following table describes the ways in which you can configure your trace to
| Setting name | Description |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Data source** | Defines the target data source. You can select only Loki or Splunk \[logs\] data sources. |
| **Data source** | Defines the target data source. You can select Loki or any compatible log store. |
| **Span start time shift** | Shifts the start time for the logs query, based on the span's start time. You can use time units, such as `5s`, `1m`, `3h`. To extend the time to the past, use a negative value. Default: `0`. |
| **Span end time shift** | Shifts the end time for the logs query, based on the span's end time. You can use time units. Default: `0`. |
| **Tags** | Defines the tags to use in the logs query. Default: `cluster`, `hostname`, `namespace`, `pod`, `service.name`, `service.namespace`. You can change the tag name for example to remove dots from the name if they are not allowed in the target data source. For example, map `http.status` to `http_status`. |
@@ -247,7 +247,7 @@ datasources:
queries:
- name: 'Sample query'
query: 'sum(rate(traces_spanmetrics_latency_bucket{$$__tags}[5m]))'
traceToProfiles:
tracesToProfiles:
datasourceUid: 'grafana-pyroscope-datasource'
tags: ['job', 'instance', 'pod', 'namespace']
profileTypeId: 'process_cpu:cpu:nanoseconds:cpu:nanoseconds'

View File

@@ -66,7 +66,7 @@ Content-Type: application/json
**Required permissions**
See note in the [introduction](#user-api) for an explanation.
| Action | Scope |
| ---------- | --------------- |
| users:read | global.users:\* |

View File

@@ -25,6 +25,8 @@ If you just want to explore your data and do not want to create a dashboard, the
- [Query management in Explore]({{< relref "query-management/" >}})
- [Logs integration in Explore]({{< relref "logs-integration/" >}})
- [Trace integration in Explore]({{< relref "trace-integration/" >}})
- [Explore metrics]({{< relref "explore-metrics/" >}})
- [Correlations Editor in Explore]({{< relref "correlations-editor-in-explore/" >}})
- [Inspector in Explore]({{< relref "explore-inspector/" >}})
## Start exploring

View File

@@ -0,0 +1,72 @@
---
labels:
products:
- cloud
- enterprise
- oss
title: Explore Metrics
aliases:
description: This topic describes the Explore Metrics feature
weight: 200
---
# Grafana Explore Metrics
Grafana Explore Metrics is a query-less experience for browsing **Prometheus-compatible** metrics. Quickly find related metrics with just a few simple clicks, without needing to write PromQL queries to retrieve metrics.
{{% admonition type="caution" %}}
Explore Metrics is currently in [public preview](/docs/release-life-cycle/). Grafana Labs offers limited support, and breaking changes might occur prior to the feature being made generally available.
{{% /admonition %}}
With Explore Metrics, you can:
- easily slice and dice metrics based on their labels, so you can immediately see anomalies and identify issues
- see the right visualization for your metric based on its type (gauge vs. counter, for example) without building it yourself
- surface other metrics relevant to the current metric
- “explore in a drawer” - expand a drawer over a dashboard with more content so you dont lose your place
- view a history of user steps when navigating through metrics and their filters
<!-- - easily pivot to other related telemetry, including logs or traces -->
You can access Explore Metrics either as a standalone experience or as part of Grafana dashboards.
## Standalone experience
To access Explore Metrics as a standalone experience:
1. Click the arrow next to **Explore** in the Grafana left-side menu and click **Metrics**. You are taken to an overview page that shows recent metrics, bookmarks, and the option to select a new metric exploration.
1. To get started with a new exploration, click **+ New metric exploration**.
1. Select **Prometheus** or any Prometheus-compatible data source available in the drop-down menu under **Data source**.
1. Click **+ Add label** to select a label-value pair from the drop-down menu. You can add multiple label-value pairs. A label type will appear above the selected label with a drop-down list of options from which to choose. For example, if you select the label `container` a drop-down list of available containers appears.
1. You can also search for metrics using keywords under **Search metrics** in the search bar.
1. Use the time picker to select a date and time range from the drop-down menu or use an absolute time range.
1. Click the down arrow next to the **Refresh** icon to set a refresh rate from the drop-down menu. The default is `Off`.
1. Click the **Settings** icon and toggle **Always keep selected metric graph in-view** to keep your main graph always in view on the Breakdown drill-down tab.
The **History** button in the upper left corner tracks every step navigating through metric exploration.
![show metrics explore overview](/media/metrics-explore/metrics-explore-overview.png)
### Metrics exploration
To further explore a metric, click **Select** in the upper right corner of the metric visualization.
![show select box](/media/metrics-explore/select-metric.png)
- The **Overview** tab provides a description for each metric, as well as the metric `type` and `unit` associated with the metric. It also provides a list of labels associated with the metric. Click on any label to view drill-down visualizations.
- The **Breakdown** tab depicts time series visualizations for each of the label-value pairs for the selected metric. You can further drill down on each label and click **Add to filter** to add the label/value pair into your filters. You can also change the **View** from grid to rows.
- The **Related metrics** tab depicts related metrics with relevant key words. You can repeat the drill down process for any related metric. Toggle **SHow previews** to preview visualizations.
Once you have gathered your metrics exploration data you can:
- Click the **Explore** icon on the right side to open the graph in Explore, where you can modify the query or add the graph to a dashboard or incident.
- Click the **Share** icon on the right side to copy the metric drill down URL to the clipboard so it can be shared.
- Click the **Star** icon on the right side to bookmark and save the metrics exploration.
## Dashboard experience
To access Explore Metrics via a dashboard:
1. Navigate to your dashboard.
1. Select a time series panel.
1. Click the panel menu in the upper right and select **Explore Metrics**. If there are multiple metrics, click on the one you want to explore.
1. You will see a slide out drawer with the Metrics Experience, starting with the drill down. You can access the standalone experience by clicking **Open** in the upper right.

View File

@@ -17,35 +17,55 @@ menuTitle: Panels and visualizations
title: Panels and visualizations
description: Learn about and configure panels and visualizations
weight: 80
hero:
title: Panels and visualizations
level: 1
width: 110
height: 110
description: >-
Easily collect, correlate, and visualize data so you can make informed decisions in real time.
cards:
title_class: pt-0 lh-1
items:
- title: Visualizations
href: ./visualizations/
description: Learn about all the visualizations available in Grafana, including which visualizations are ideal for different datasets and how to configure their options.
height: 24
- title: Panel overview
href: ./panel-overview/
description: Learn about the features of the panel.
height: 24
- title: Panel editor
href: ./panel-editor-overview/
description: Learn about the features of the panel editor and how to begin editing a panel.
height: 24
- title: Configure standard options
href: ./configure-standard-options/
description: Learn about configuring standard options like units, field display names, and and colors.
height: 24
- title: Query and transform data
href: ./query-transform-data/
description: Learn about querying and transforming your data to refine your visualizations.
height: 24
---
# Panels and visualizations
{{< docs/hero-simple key="hero" >}}
The _panel_ is the basic visualization building block in Grafana.
Each panel has a query editor specific to the data source selected in the panel.
The query editor allows you to build a query that returns the data you want to visualize.
---
There are a wide variety of styling and formatting options for each panel.
Panels can be dragged, dropped, and resized to rearrange them on the dashboard.
## Overview
Before you add a panel, ensure that you have configured a data source.
Panels are the basic building block in Grafana dashboards, composed of a [query][] and a visualization, a graphical representation of query results.
- For details about using data sources, refer to [Data sources][].
Visualizations provide you several different ways to present your data within a panel, depending on what best suits the data and your needs. Grafanas growing suite of visualizations, ranging from time series graphs to heatmaps to cutting-edge 3D charts, help you decode complex datasets.
- For more information about managing data sources as an administrator, refer to [Data source management][].
Panels offer a wide variety of formatting and styling options from applying colors based on field values to custom units. Each visualization also comes with options specific to it that give you further control over how your data is displayed. With Grafana panels and visualizations, you can easily get the information you need from your data and optimize performance.
{{% admonition type="note" %}}
[Data source management](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/administration/data-source-management/) is only available in [Grafana Enterprise](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/introduction/grafana-enterprise/) and [Grafana Cloud](https://grafana.com/docs/grafana-cloud/).
{{% /admonition %}}
## Explore
This section includes the following sub topics:
{{< section >}}
{{< card-grid key="cards" type="simple" >}}
{{% docs/reference %}}
[Data source management]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/administration/data-source-management"
[Data source management]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/administration/data-source-management"
[Data sources]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/datasources"
[Data sources]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/datasources"
[query]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/query-transform-data"
[query]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/query-transform-data"
{{% /docs/reference %}}

View File

@@ -26,7 +26,7 @@ weight: 80
# Configure data links
Data links allow you to provide more granular context to your links. You can create links that include the series name or even the value under the cursor. For example, if your visualization shows four servers, you can add a data link to one or two of them. You can also link panels using data links.
Data links allow you to link to other panels, dashboards, and external resources while maintaining the context of the source panel. You can create links that include the series name or even the value under the cursor. For example, if your visualization shows four servers, you can add a data link to one or two of them.
The link itself is accessible in different ways depending on the visualization. For the time series visualization you need to click a data point or line:
@@ -42,15 +42,14 @@ If there's only one data link in the visualization, clicking anywhere on the vis
You can configure data links for the following visualizations:
| | | |
| -------------------------- | ---------------------- | -------------------------------- |
| [Bar chart][bar chart] | [Geomap][geomap] | [State timeline][state timeline] |
| [Bar gauge][bar gauge] | [Heatmap][heatmap] | [Status history][status history] |
| [Candlestick][candlestick] | [Histogram][histogram] | [Table][table] |
| [Canvas][canvas] | [Pie chart][pie chart] | [Time series][time series] |
| [Gauge][gauge] | [Stat][stat] | [Trend][trend] |
<!--Also xy chart -->
| | | |
| -------------------------- | -------------------------------- | -------------------------------- |
| [Bar chart][bar chart] | [Heatmap][heatmap] | [Status history][status history] |
| [Bar gauge][bar gauge] | [Histogram][histogram] | [Table][table] |
| [Candlestick][candlestick] | [Pie chart][pie chart] | [Time series][time series] |
| [Canvas][canvas] | [Stat][stat] | [Trend][trend] |
| [Gauge][gauge] | [State timeline][state timeline] | [XY chart][xy chart] |
| [Geomap][geomap] | | |
## Data link variables
@@ -199,6 +198,9 @@ If you want to add all of the current dashboard's variables to the URL, then use
[trend]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/trend"
[trend]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/trend"
[xy chart]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/xy-chart"
[xy chart]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/xy-chart"
[Cloudwatch]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/datasources/aws-cloudwatch/query-editor#deep-link-grafana-panels-to-the-cloudwatch-console-1"
[Cloudwatch]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/connect-externally-hosted/data-sources/aws-cloudwatch/query-editor#deep-link-grafana-panels-to-the-cloudwatch-console-1"

View File

@@ -28,7 +28,7 @@ Legends are supported for the following visualizations:
- [Status history][status history]
- [Time series][time series]
- [Trend][trend]
<!-- - xy chart -->
- [XY chart][xy chart]
[Geomaps][] and [heatmaps][] also have legends, but they only provide the choice to display or not display a legend and don't support other legend options.
@@ -151,4 +151,7 @@ This feature is only supported for the following visualizations: bar chart, hist
[heatmaps]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/heatmap"
[heatmaps]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/heatmap"
[xy chart]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/xy-chart"
[xy chart]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/xy-chart"
{{% /docs/reference %}}

View File

@@ -35,15 +35,14 @@ After you've set them, your overrides appear in both the **All** and **Overrides
You can configure field overrides for the following visualizations:
| | | |
| -------------------------- | ---------------------- | -------------------------------- |
| [Bar chart][bar chart] | [Geomap][geomap] | [State timeline][state timeline] |
| [Bar gauge][bar gauge] | [Heatmap][heatmap] | [Status history][status history] |
| [Candlestick][candlestick] | [Histogram][histogram] | [Table][table] |
| [Canvas][canvas] | [Pie chart][pie chart] | [Time series][time series] |
| [Gauge][gauge] | [Stat][stat] | [Trend][trend] |
<!--Also xy chart-->
| | | |
| -------------------------- | -------------------------------- | -------------------------------- |
| [Bar chart][bar chart] | [Heatmap][heatmap] | [Status history][status history] |
| [Bar gauge][bar gauge] | [Histogram][histogram] | [Table][table] |
| [Candlestick][candlestick] | [Pie chart][pie chart] | [Time series][time series] |
| [Canvas][canvas] | [Stat][stat] | [Trend][trend] |
| [Gauge][gauge] | [State timeline][state timeline] | [XY chart][xy chart] |
| [Geomap][geomap] | | |
## Override rules
@@ -223,6 +222,9 @@ The changes you make take effect immediately.
[trend]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/trend"
[trend]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/trend"
[xy chart]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/xy-chart"
[xy chart]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/xy-chart"
[Rename by regex transformation]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/query-transform-data/transform-data#rename-by-regex"
[Rename by regex transformation]: "/docs/grafana-cloud -> /docs/grafana-cloud/visualizations/panels-visualizations/query-transform-data/transform-data#rename-by-regex"
{{% /docs/reference %}}

View File

@@ -41,7 +41,7 @@ You can configure standard options for the following visualizations:
| [Bar gauge][bar gauge] | [Histogram][histogram] | [Table][table] |
| [Candlestick][candlestick] | [Pie chart][pie chart] | [Time series][time series] |
| [Canvas][canvas] | [Stat][stat] | [Trend][trend] |
| [Gauge][gauge] | [State timeline][state timeline] | <!-- xychart --> |
| [Gauge][gauge] | [State timeline][state timeline] | [XY chart][xy chart] |
## Standard options
@@ -84,6 +84,10 @@ You can also paste a native emoji in the **Unit** drop-down and select it as a c
![A time series visualization using custom thumbs up emoji units](/media/docs/grafana/panels-visualizations/thumbsup_panel_v11.0.png)
#### Control unit scaling
By default, Grafana automatically scales the unit based on the magnitude of the value. For example, if you have values of 0.14kW and 3000kW, Grafana displays them as 140W and 3MW, respectively. You can use custom units to control this behavior by setting a prefix, suffix, or custom SI unit.
#### String units
Sometimes Grafana is too aggressive in interpreting strings and displaying them as numbers. To configure Grafana to show the original string value, select **Misc > String** in the **Unit** drop-down.
@@ -192,6 +196,9 @@ Enter what Grafana should display if the field value is empty or null. The defau
[trend]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/trend"
[trend]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/trend"
[xy chart]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/xy-chart"
[xy chart]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/xy-chart"
[variables]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/dashboards/variables"
[variables]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/dashboards/variables"

View File

@@ -38,6 +38,8 @@ You can also use thresholds to:
- Color markers in a geomap
- Color cell text or background in a table
{{< docs/play title="Threshold example" url="https://play.grafana.org/d/000000167/" >}}
## Supported visualizations
You can set thresholds in the following visualizations:

View File

@@ -23,14 +23,13 @@ When you hover your cursor over a visualization, Grafana can display tooltips th
You can configure tooltips for the following visualizations:
| | |
| -------------------------- | -------------------------------- |
| [Bar chart][bar chart] | [State timeline][state timeline] |
| [Candlestick][candlestick] | [Status history][status history] |
| [Heatmap][heatmap] | [Time series][time series] |
| [Pie chart][pie chart] | [Trend][trend] |
<!--Also xy chart -->
| | |
| -------------------------------- | -------------------------------- |
| [Bar chart][bar chart] | [Status history][status history] |
| [Candlestick][candlestick] | [Time series][time series] |
| [Heatmap][heatmap] | [Trend][trend] |
| [Pie chart][pie chart] | [XY chart][xy chart] |
| [State timeline][state timeline] | |
Some visualizations, for example [candlestick][] and [flame graph][], have tooltips, but they aren't configurable. These visualizations don't have a **Tooltip** section in the panel editor pane. [Geomaps][geomaps] provide you the option to have tooltips triggered upon click or hover under the **Map controls** options in the panel editor pane.
@@ -68,6 +67,10 @@ Set the hover proximity (in pixels) to control how close the cursor must be to a
![Adding a hover proximity limit for tooltips](/media/docs/grafana/gif-grafana-10-4-hover-proximity.gif)
### Max height
Set the maximum height of the tooltip box. The default is 600 pixels.
### Show histogram (Y axis)
For the heatmap visualization only, when you set the **Tooltip mode** to **Single**, the **Show histogram (Y axis)** option is displayed. This option controls whether or not the tooltip includes a histogram representing the y-axis.
@@ -109,6 +112,9 @@ For the heatmap visualization only, when you set the **Tooltip mode** to **Singl
[trend]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/trend"
[trend]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/trend"
[xy chart]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/xy-chart"
[xy chart]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/xy-chart"
[field override]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/configure-overrides"
[field override]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-overrides"
{{% /docs/reference %}}

View File

@@ -15,99 +15,54 @@ keywords:
- panel
- dashboard
- dynamic
- rows
- add
labels:
products:
- cloud
- enterprise
- oss
menuTitle: Panel editor overview
title: Panel editor overview
menuTitle: Panel editor
title: Panel editor
description: Learn about the features of the panel editor
weight: 20
---
# Panel editor overview
# Panel editor
In the panel editor, you can update all the elements of a visualization including the data source, queries, time range, and visualization display options.
![Panel editor](/media/docs/grafana/panels-visualizations/screenshot-panel-editor-view.png)
To add a panel in a new dashboard click **+ Add visualization** in the middle of the dashboard. To add a panel to an existing dashboard, click **Add** in the dashboard header and select **Visualization** in the drop-down:
This following sections describe the areas of the Grafana panel editor.
![Add dropdown](/media/docs/grafana/dashboards/screenshot-add-dropdown-10.0.png)
## Panel header
## Panel menu
The header section lists the dashboard in which the panel appears and the following controls:
To access the panel editor, hover over the top-right corner of any panel. Click the panel menu icon that appears and select **Edit**. The panel menu gives you access to the following actions:
- **Discard:** Discards changes you have made to the panel since you last saved the dashboard.
- **Save:** Saves changes you made to the panel.
- **Apply:** Applies changes you made and closes the panel editor, returning you to the dashboard. You'll have to save the dashboard to persist the applied changes.
- **View**: View the panel in full screen.
- **Edit**: Open the panel editor to edit panel and visualization options.
- **Share**: Share the panel as a link, embed, or library panel.
- **Explore**: Open the panel in **Explore**, where you can focus on your query.
- **Inspect**: Open the **Inspect** drawer, where you can review the panel data, stats, metadata, JSON, and query.
- **Data**: Open the **Inspect** drawer in the **Data** tab.
- **Query**: Open the **Inspect** drawer in the **Query** tab.
- **Panel JSON**: Open the **Inspect** drawer in the **JSON** tab.
- **Extensions**: Access other actions provided by installed applications, such as declaring an incident. Note that this option doesn't appear unless you have app plugins installed which contribute an [extension](https://grafana.com/developers/plugin-tools/ui-extensions/) to the panel menu.
- **More**: Access other panel actions.
- **Duplicate**: Make a copy of the panel. Duplicated panels query data separately from the original panel. You can use the special `Dashboard` data source to [share the same query results across panels][] instead.
- **Copy**: Copy the panel to the clipboard.
- **Create library panel**: Create a panel that can be imported into other dashboards.
- **Create alert**: Open the alert rule configuration page in **Alerting**, where you can [create a Grafana-managed alert] based on the panel queries.
- **Hide legend**: Hide the panel legend.
- **Get help**: Send a snapshot or panel data to Grafana Labs Technical Support.
- **Remove**: Remove the panel from the dashboard.
## Visualization preview
## Panel editor
The visualization preview section contains the following options:
This section describes the areas of the Grafana panel editor.
- **Table view:** Convert any visualization to a table so you can see the data. Table views are helpful for troubleshooting. This view only contains the raw data. It doesn't include transformations you might have applied to the data or the formatting options available in the [Table][] visualization.
- **Fill:** The visualization preview fills the available space. If you change the width of the side pane or height of the bottom pane the visualization changes to fill the available space.
- **Actual:** The visualization preview has the exact size as the size on the dashboard. If not enough space is available, the visualization scales down preserving the aspect ratio.
- **Time range controls:** **Default** is either the browser local timezone or the timezone selected at a higher level.
1. Panel header: The header section lists the dashboard in which the panel appears and the following controls:
## Data section
- **Discard:** Discards changes you have made to the panel since you last saved the dashboard.
- **Save:** Saves changes you made to the panel.
- **Apply:** Applies changes you made and closes the panel editor, returning you to the dashboard. You'll have to save the dashboard to persist the applied changes.
The data section contains tabs where you enter queries, transform your data, and create alert rules (if applicable).
1. Visualization preview: The visualization preview section contains the following options:
- **Query tab:** Select your data source and enter queries here. For more information, refer to [Add a query][]. When you create a new dashboard, you'll be prompted to select a data source before you get to the panel editor. You set or update the data source in existing dashboards using the drop-down in the **Query** tab.
- **Transform tab:** Apply data transformations. For more information, refer to [Transform data][].
- **Alert tab:** Write alert rules. For more information, refer to [the overview of Grafana Alerting][].
- **Table view:** Convert any visualization to a table so you can see the data. Table views are helpful for troubleshooting. This view only contains the raw data. It doesn't include transformations you might have applied to the data or the formatting options available in the [Table][] visualization.
- **Fill:** The visualization preview fills the available space. If you change the width of the side pane or height of the bottom pane the visualization changes to fill the available space.
- **Actual:** The visualization preview has the exact size as the size on the dashboard. If not enough space is available, the visualization scales down preserving the aspect ratio.
- **Time range controls:** **Default** is either the browser local timezone or the timezone selected at a higher level.
## Panel display options
1. Data section: The data section contains tabs where you enter queries, transform your data, and create alert rules (if applicable).
- **Query tab:** Select your data source and enter queries here. For more information, refer to [Add a query][]. When you create a new dashboard, you'll be prompted to select a data source before you get to the panel editor. You set or update the data source in existing dashboards using the drop-down in the **Query** tab.
- **Transform tab:** Apply data transformations. For more information, refer to [Transform data][].
- **Alert tab:** Write alert rules. For more information, refer to [the overview of Grafana Alerting][].
1. Panel display options: The display options section contains tabs where you configure almost every aspect of your data visualization.
## Panel inspect drawer
The inspect drawer helps you understand and troubleshoot your panels. You can view the raw data for any panel, export that data to a comma-separated values (CSV) file, view query requests, and export panel and data JSON.
To access the panel inspect drawer from the edit view, hover over any part of the panel to display the actions menu on the top right corner. Click the menu and select **Inspect**.
{{% admonition type="note" %}}
Not all panel types include all tabs. For example, dashboard list panels don't have raw data to inspect, so they don't display the Stats, Data, or Query tabs.
{{% /admonition %}}
The panel inspector consists of the following options:
1. The panel inspect drawer displays opens a drawer on the right side. Click the arrow in the upper right corner to expand or reduce the drawer pane.
1. **Data tab -** Shows the raw data returned by the query with transformations applied. Field options such as overrides and value mappings aren't applied by default.
1. **Stats tab -** Shows how long your query takes and how much it returns.
1. **JSON tab -** Allows you to view and copy the panel JSON, panel data JSON, and data frame structure JSON. This is useful if you are provisioning or administering Grafana.
1. **Query tab -** Shows you the requests to the server sent when Grafana queries the data source.
1. **Error tab -** Shows the error. Only visible when query returns error.
The display options section contains tabs where you configure almost every aspect of your data visualization.
{{% docs/reference %}}
[Table]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/table"
@@ -121,10 +76,4 @@ The panel inspector consists of the following options:
[the overview of Grafana Alerting]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/alerting"
[the overview of Grafana Alerting]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/alerting"
[share the same query results across panels]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/query-transform-data/share-query"
[share the same query results across panels]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/query-transform-data/share-query"
[create a Grafana-managed alert]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/alerting/alerting-rules/create-grafana-managed-rule#create-alerts-from-panels"
[create a Grafana-managed alert]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/create-grafana-managed-rule#create-alerts-from-panels"
{{% /docs/reference %}}

View File

@@ -0,0 +1,161 @@
---
keywords:
- transform
- query
- panel
- dashboard
- rows
- dynamic
- add
labels:
products:
- cloud
- enterprise
- oss
menuTitle: Panel overview
title: Panel overview
description: Learn about the features of the panel
weight: 15
---
# Panel overview
A Grafana panel is a visual representation of data composed of a [query][] and a [visualization][]. Within panels, you can apply [transformations][], which process the results of a query before they're passed on for visualization. You can also further customize a panel by formatting data and configuring visualization options.
Each panel has a query editor specific to the data source selected in the panel. The query editor allows you to build a query that returns the data you want to visualize.
Panels offer a wide variety of formatting and styling options, from applying colors based on field values to creating custom units. Each visualization also comes with options specific to it that give you further control over how your data is displayed. Panels can also be dragged, dropped, and resized to rearrange them on the dashboard.
To get started adding panels, ensure that you have configured a data source:
- For details about using data sources, refer to [Data sources][].
- For more information about managing data sources as an administrator, refer to [Data source management][].
{{% admonition type="note" %}}
[Data source management](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/administration/data-source-management/) is only available in [Grafana Enterprise](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/introduction/grafana-enterprise/) and [Grafana Cloud](https://grafana.com/docs/grafana-cloud/).
{{% /admonition %}}
## Panel feature overview
The panel has the following features:
<!-- The following image and descriptions highlight all panel features. -->
<!-- {{< figure src="tbd" width="700px" alt="An annotated image of a panel" >}} -->
- **Panel title** - You can create your own panel titles or have Grafana create them for you using [generative AI features][ai].
- **Links** - Add [panel links][] to other dashboards, panels, or external sites.
- **Panel menu** - In the [panel menu](#panel-menu), access actions such as **View**, **Edit**, **Inspect**, and **Remove**.
- **Tooltips** - View [tooltips][] to get more information about data points.
- **Legend** - Change series colors, y-axis and series visibility directly from the [legend][].
## Panel menu
To access the panel editor, hover over the top-right corner of any panel. Click the panel menu icon that appears and select **Edit**. The panel menu gives you access to the following actions:
- **View**: View the panel in full screen.
- **Edit**: Open the panel editor to edit panel and visualization options.
- **Share**: Share the panel as a link, embed, or library panel.
- **Explore**: Open the panel in **Explore**, where you can focus on your query.
- **Inspect**: Open the **Inspect** drawer, where you can review the panel data, stats, metadata, JSON, and query.
- **Data**: Open the **Inspect** drawer in the **Data** tab.
- **Query**: Open the **Inspect** drawer in the **Query** tab.
- **Panel JSON**: Open the **Inspect** drawer in the **JSON** tab.
- **Extensions**: Access other actions provided by installed applications, such as declaring an incident. Note that this option doesn't appear unless you have app plugins installed which contribute an [extension](https://grafana.com/developers/plugin-tools/ui-extensions/) to the panel menu.
- **More**: Access other panel actions.
- **Duplicate**: Make a copy of the panel. Duplicated panels query data separately from the original panel. You can use the special `Dashboard` data source to [share the same query results across panels][share] instead.
- **Copy**: Copy the panel to the clipboard.
- **Create library panel**: Create a panel that can be imported into other dashboards.
- **Create alert**: Open the alert rule configuration page in **Alerting**, where you can [create a Grafana-managed alert][create] based on the panel queries.
- **Hide legend**: Hide the panel legend.
- **Get help**: Send a snapshot or panel data to Grafana Labs Technical Support.
- **Remove**: Remove the panel from the dashboard.
## Keyboard shortcuts
Grafana has a number of keyboard shortcuts available specifically for panels. Press `?` on your keyboard to display all keyboard shortcuts available in your version of Grafana.
By hovering over a panel with the mouse you can use some shortcuts that will target that panel.
- `e`: Toggle panel edit view
- `v`: Toggle panel fullscreen view
- `ps`: Open Panel Share Modal
- `pd`: Duplicate Panel
- `pr`: Remove Panel
- `pl`: Toggle panel legend
## Add a panel
To add a panel in a new dashboard click **+ Add visualization** in the middle of the dashboard:
![Empty dashboard state](/media/docs/grafana/dashboards/empty-dashboard-10.2.png)
To add a panel to an existing dashboard, click **Add** in the dashboard header and select **Visualization** in the drop-down:
![Add dropdown](/media/docs/grafana/dashboards/screenshot-add-dropdown-10.0.png)
## Panel configuration
To configure panels, refer to the following subtopics:
- [Configure panel options][]
- [Configure standard options][]
- [Configure a legend][legend]
- [Configure tooltips][tooltips]
- [Configure data links][]
- [Configure value mappings][]
- [Configure thresholds][]
- [Configure field overrides][]
{{% docs/reference %}}
[query]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/query-transform-data"
[query]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/query-transform-data"
[visualization]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/visualizations"
[visualization]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations"
[transformations]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/query-transform-data/transform-data"
[transformations]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/query-transform-data/transform-data"
[Data source management]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/administration/data-source-management"
[Data source management]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA_VERSION>/administration/data-source-management"
[Data sources]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/datasources"
[Data sources]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/connect-externally-hosted/data-sources"
[ai]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/dashboards/manage-dashboards#set-up-generative-ai-features-for-dashboards"
[ai]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/dashboards/manage-dashboards#set-up-generative-ai-features-for-dashboards"
[panel links]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/dashboards/build-dashboards/manage-dashboard-links#panel-links"
[panel links]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/dashboards/build-dashboards/manage-dashboard-links#panel-links"
[tooltips]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-tooltips"
[tooltips]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-tooltips"
[legend]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-legend"
[legend]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-legend"
[share]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/query-transform-data/share-query"
[share]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/query-transform-data/share-query"
[create]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/alerting/alerting-rules/create-grafana-managed-rule#create-alerts-from-panels"
[create]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/create-grafana-managed-rule#create-alerts-from-panels"
[Configure panel options]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-panel-options"
[Configure panel options]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-panel-options"
[Configure standard options]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-standard-options"
[Configure standard options]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-standard-options"
[Configure data links]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-data-links"
[Configure data links]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-data-links"
[Configure value mappings]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-value-mappings"
[Configure value mappings]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-value-mappings"
[Configure thresholds]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-thresholds"
[Configure thresholds]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-thresholds"
[Configure field overrides]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-overrides"
[Configure field overrides]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-overrides"
{{% /docs/reference %}}

View File

@@ -190,6 +190,8 @@ Panel data source query options include:
| This week so far | `now/w` |
| Last 2 years | `now-2y/y` |
{{< docs/play title="Time range override" url="https://play.grafana.org/d/000000041/" >}}
- **Time shift:** Overrides the time range for individual panels by shifting its start and end relative to the time picker.
For example, you can shift the time range for the panel to be two hours earlier than the dashboard time picker.

View File

@@ -1165,15 +1165,17 @@ This flexible transformation simplifies the process of consolidating and summari
Use this transformation to rename parts of the query results using a regular expression and replacement pattern.
You can specify a regular expression, which is only applied to matches, along with a replacement pattern that support back references. For example, let's imagine you're visualizing CPU usage per host and you want to remove the domain name. You could set the regex to '([^.]+)..+' and the replacement pattern to '$1', 'web-01.example.com' would become 'web-01'.
You can specify a regular expression, which is only applied to matches, along with a replacement pattern that support back references. For example, let's imagine you're visualizing CPU usage per host and you want to remove the domain name. You could set the regex to '/^([^.]+).\*/' and the replacement pattern to '$1', 'web-01.example.com' would become 'web-01'.
In the following example, we are stripping the prefix from event types. In the before image, you can see everything is prefixed with 'system.'
> **Note:** The Rename by regex transformation was improved in Grafana v9.0.0 to allow global patterns of the form '/<stringToReplace>/g'. Depending on the regex match used, this may cause some transformations to behave slightly differently. You can guarantee the same behavior as before by wrapping the match string in forward slashes '(/)', e.g. '(._)' would become '/(._)/'.
{{< figure src="/static/img/docs/transformations/rename-by-regex-before-7-3.png" class="docs-image--no-shadow" max-width= "1100px" alt="A bar chart with long series names" >}}
In the following example, we are stripping the 'A-' prefix from field names. In the before image, you can see everything is prefixed with 'A-':
{{< figure src="/media/docs/grafana/panels-visualizations/screenshot-rename-by-regex-before-v11.0.png" class="docs-image--no-shadow" max-width= "1100px" alt="A time series with full series names" >}}
With the transformation applied, you can see we are left with just the remainder of the string.
{{< figure src="/static/img/docs/transformations/rename-by-regex-after-7-3.png" class="docs-image--no-shadow" max-width= "1100px" alt="A bar chart with shortened series names" >}}
{{< figure src="/media/docs/grafana/panels-visualizations/screenshot-rename-by-regex-after-v11.0.png" class="docs-image--no-shadow" max-width= "1100px" alt="A time series with shortened series names" >}}
This transformation lets you to tailor your data to meet your visualization needs, making your dashboards more informative and user-friendly.

View File

@@ -24,7 +24,7 @@ Grafana offers a variety of visualizations to support different use cases. This
{{% admonition type="note" %}}
If you are unsure which visualization to pick, Grafana can provide visualization suggestions based on the panel query. When you select a visualization, Grafana will show a preview with that visualization applied.
{{% /admonition %}}
{{< /admonition >}}
- Graphs & charts
- [Time series][] is the default and main Graph visualization.
@@ -36,6 +36,8 @@ If you are unsure which visualization to pick, Grafana can provide visualization
- [Pie chart][] is typically used where proportionality is important.
- [Candlestick][] is typically for financial data where the focus is price/data movement.
- [Gauge][] is the traditional rounded visual showing how far a single metric is from a threshold.
- [Trend][] for datasets that have a sequential, numeric x that is not time.
- [XY chart][] provides a way to visualize arbitrary x and y values in a graph.
- Stats & numbers
- [Stat][] for big stats and optional sparkline.
- [Bar gauge][] is a horizontal or vertical bar gauge.
@@ -47,9 +49,11 @@ If you are unsure which visualization to pick, Grafana can provide visualization
- [Flame graph][] is the main visualization for profiling.
- [Canvas][] allows you to explicitly place elements within static and dynamic layouts.
- [Geomap][] helps you visualize geospatial data.
- [Datagrid][] allows you to create and manipulate data, and act as data source for other panels.
- Widgets
- [Dashboard list][] can list dashboards.
- [Alert list][] can list alerts.
- [Annotations list][] can list available annotations.
- [Text][] can show markdown and html.
- [News][] can show RSS feeds.
@@ -59,7 +63,7 @@ The following video shows you how to create gauge, time series line graph, stats
## Get more
You can add more visualization types by installing panel [panel plugins](https://grafana.com/grafana/plugins/?type=panel).
You can add more visualization types by installing [panel plugins](https://grafana.com/grafana/plugins/?type=panel).
## Examples
@@ -117,19 +121,19 @@ A state timeline shows discrete state changes over time. When used with time ser
{{% docs/reference %}}
[News]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/news"
[News]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/news"
[News]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/news"
[Histogram]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/histogram"
[Histogram]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/histogram"
[Histogram]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/histogram"
[Text]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/text"
[Text]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/text"
[Text]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/text"
[Dashboard list]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/dashboard-list"
[Dashboard list]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/dashboard-list"
[Dashboard list]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/dashboard-list"
[Flame graph]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/flame-graph"
[Flame graph]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/flame-graph"
[Flame graph]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/flame-graph"
[Canvas]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/canvas"
[Canvas]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/canvas"
@@ -138,50 +142,62 @@ A state timeline shows discrete state changes over time. When used with time ser
[Geomap]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/geomap"
[Status history]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/status-history"
[Status history]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/status-history"
[Status history]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/status-history"
[Candlestick]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/candlestick"
[Candlestick]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/candlestick"
[Candlestick]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/candlestick"
[Gauge]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/gauge"
[Gauge]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/gauge"
[Gauge]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/gauge"
[Alert list]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/alert-list"
[Alert list]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/alert-list"
[Alert list]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/alert-list"
[Pie chart]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/pie-chart"
[Pie chart]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/pie-chart"
[Pie chart]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/pie-chart"
[Bar gauge]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/bar-gauge"
[Bar gauge]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/bar-gauge"
[Bar gauge]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/bar-gauge"
[Bar chart]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/bar-chart"
[Bar chart]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/bar-chart"
[Bar chart]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/bar-chart"
[Node graph]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/node-graph"
[Node graph]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/node-graph"
[Node graph]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/node-graph"
[State timeline]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/state-timeline"
[State timeline]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/state-timeline"
[State timeline]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/state-timeline"
[heatmap]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/heatmap"
[heatmap]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/heatmap"
[heatmap]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/heatmap"
[Traces]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/traces"
[Traces]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/traces"
[Traces]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/traces"
[Logs]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/logs"
[Logs]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/logs"
[Logs]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/logs"
[Heatmap]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/heatmap"
[Heatmap]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/heatmap"
[Heatmap]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/heatmap"
[Stat]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/stat"
[Stat]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/stat"
[Stat]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/stat"
[Table]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/table"
[Table]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/table"
[Table]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/table"
[Time series]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/time-series"
[Time series]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/time-series"
[Time series]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/time-series"
[Trend]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/trend"
[Trend]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/trend"
[Annotations list]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/annotations"
[Annotations list]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/annotations"
[Datagrid]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/datagrid"
[Datagrid]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/datagrid"
[XY chart]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/xy-chart"
[XY chart]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/xy-chart"
{{% /docs/reference %}}

View File

@@ -24,6 +24,8 @@ Bar charts allow you to graph categorical data.
{{< figure src="/static/img/docs/bar-chart-panel/barchart_small_example.png" max-width="1000px" caption="Bar chart" >}}
{{< docs/play title="Grafana Bar Charts and Pie Charts" url="https://play.grafana.org/d/ktMs4D6Mk/" >}}
## Supported data formats
Only one data frame is supported and it must have at least one string field that will be used as the category for an X or Y axis and one or more numerical fields.
@@ -127,15 +129,13 @@ Transparency of the gradient is calculated based on the values on the y-axis. Op
Gradient color is generated based on the hue of the line color.
{{< docs/shared lookup="visualizations/tooltip-mode.md" source="grafana" version="<GRAFANA VERSION>" >}}
## Tooltip options
{{< docs/shared lookup="visualizations/legend-mode.md" source="grafana" version="<GRAFANA VERSION>" >}}
{{< docs/shared lookup="visualizations/tooltip-options-1.md" source="grafana" version="<GRAFANA_VERSION>" >}}
### Legend calculations
## Legend options
Choose which of the [standard calculations][] to show in the legend. You can have more than one.
For more information about the legend, refer to [Configure a legend](../configure-legend/).
{{< docs/shared lookup="visualizations/legend-options-1.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Text size
@@ -189,15 +189,38 @@ Set a **Soft min** or **soft max** option for better control of Y-axis limits. B
You can set standard min/max options to define hard limits of the Y-axis. For more information, refer to [Standard options definitions][].
{{< docs/shared lookup="visualizations/multiple-y-axes.md" source="grafana" version="<GRAFANA VERSION>" leveloffset="+2" >}}
{{< docs/shared lookup="visualizations/multiple-y-axes.md" source="grafana" version="<GRAFANA_VERSION>" leveloffset="+2" >}}
## Standard options
{{< docs/shared lookup="visualizations/standard-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Data links
{{< docs/shared lookup="visualizations/datalink-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Thresholds
{{< docs/shared lookup="visualizations/thresholds-options-1.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Value mappings
{{< docs/shared lookup="visualizations/value-mappings-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Field overrides
{{< docs/shared lookup="visualizations/overrides-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
{{% docs/reference %}}
[Add a field override]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/configure-overrides#add-a-field-override"
[Add a field override]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/configure-overrides#add-a-field-override"
[Add a field override]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-overrides#add-a-field-override"
[Add a field override]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-overrides#add-a-field-override"
[standard calculations]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/query-transform-data/calculation-types"
[standard calculations]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/query-transform-data/calculation-types"
[standard calculations]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/query-transform-data/calculation-types"
[Standard options definitions]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/configure-standard-options#max"
[Standard options definitions]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/configure-standard-options#max"
[Standard options definitions]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-standard-options#max"
[Standard options definitions]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-standard-options#max"
[Configure data links]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-data-links"
[Configure data links]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-data-links"
{{% /docs/reference %}}

View File

@@ -23,7 +23,9 @@ Bar gauges simplify your data by reducing every field to a single value. You cho
This panel can show one or more bar gauges depending on how many series, rows, or columns your query returns.
{{< figure src="/static/img/docs/v66/bar_gauge_cover.png" max-width="1025px" caption="Stat panel" >}}
{{< figure src="/static/img/docs/v66/bar_gauge_cover.png" max-width="1025px" alt="Bar gauge panel" >}}
{{< docs/play title="Bar Gauge" url="https://play.grafana.org/d/vmie2cmWz/" >}}
## Value options
@@ -128,7 +130,27 @@ Automatically show y-axis scrollbar when there's a large amount of data.
This option only applies when bar size is set to manual.
{{% /admonition %}}
## Standard options
{{< docs/shared lookup="visualizations/standard-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Data links
{{< docs/shared lookup="visualizations/datalink-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Value mappings
{{< docs/shared lookup="visualizations/value-mappings-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Thresholds
{{< docs/shared lookup="visualizations/thresholds-options-2.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Field overrides
{{< docs/shared lookup="visualizations/overrides-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
{{% docs/reference %}}
[Calculation types]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/query-transform-data/calculation-types"
[Calculation types]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/query-transform-data/calculation-types"
[Calculation types]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/query-transform-data/calculation-types"
{{% /docs/reference %}}

View File

@@ -21,12 +21,55 @@ weight: 100
# Candlestick
The candlestick visualization allows you to visualize data that includes a number of consistent dimensions focused on price movement. The candlestick visualization includes an Open-High-Low-Close (OHLC) mode, as well as support for additional dimensions based on time series data.
{{< figure src="/static/img/docs/candlestick-panel/candlestick-panel-8-3.png" max-width="1200px" caption="Candlestick visualization" >}}
The candlestick visualization allows you to visualize data that includes a number of consistent dimensions focused on price movements, such as stock prices. The candlestick visualization includes an [Open-High-Low-Close (OHLC) mode](#open-high-low-close), as well as support for additional dimensions based on time series data.
Candlestick visualizations build upon the foundation of the [time series visualization][] and include many common configuration settings.
You can use a candlestick if you want to visualize, at a glance, how a price moved over time, whether it went up, down, or stayed the same, and how much it fluctuated:
{{< figure src="/static/img/docs/candlestick-panel/candlestick-panel-8-3.png" max-width="1065px" alt="A candlestick visualization" >}}
Each candlestick is represented as a rectangle, referred to as the _candlestick body_. The candlestick body displays the opening and closing prices during a time period. Green candlesticks represent when the price appreciated while the red candlesticks represent when the price depreciated. The lines sticking out the candlestick body are referred to as _wicks_ or _shadows_, which represent the highest and lowest prices during the time period.
Use a candlestick when you need to:
- Monitor and identify trends in price movements of specific assets such as stocks, currencies, or commodities.
- Analyze any volatility in the stock market.
- Provide data analysis to help with trading decisions.
## Configure a candlestick
Once youve created a [dashboard](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/dashboards/build-dashboards/create-dashboard/), the following video shows you how to configure a candlestick visualization:
{{< youtube id="IOFKBgbf3aM" >}}
{{< docs/play title="Candlestick" url="https://play.grafana.org/d/candlestick/candlestick" >}}
## Supported data formats
The candlestick visualization works best with price movement data for an asset. The data must include:
- **Timestamps** - The time at which each price movement occurred.
- **Opening price** - The price of the asset at the beginning of the time period.
- **Closing price** - The price of the asset at the end of the time period.
- **Highest price** - The highest price the asset reached during the time period.
- **Lowest price** - The lowest price the asset reached during the time period.
### Example
| Timestamps | Open | High | Low | Close |
| ------------------- | ----- | ----- | ----- | ----- |
| 2024-03-13 10:05:00 | 0.200 | 0.205 | 0.201 | 0.203 |
| 2024-03-14 10:10:10 | 0.204 | 0.205 | 0.201 | 0.200 |
| 2024-03-15 10:15:10 | 0.204 | 0.205 | 0.201 | 0.200 |
| 2024-03-16 10:20:11 | 0.203 | 0.203 | 0.202 | 0.203 |
| 2024-03-17 10:25:11 | 0.203 | 0.203 | 0.202 | 0.203 |
| 2024-03-18 10:30:12 | 0.202 | 0.202 | 0.201 | 0.201 |
The data is converted as follows:
{{< figure src="/static/img/docs/candlestick-panel/candlestick.png" max-width="1065px" alt="A candlestick visualization showing the price movements of specific asset." >}}
## Mode
The mode options allow you to toggle which dimensions are used for the visualization.
@@ -63,23 +106,43 @@ The candlestick visualization will attempt to map fields from your data to the a
The candlestick visualization legend doesn't display these values.
{{% /admonition %}}
To properly map these dimensions, the query results table from your data must include _at least_ the following columns:
- timestamp
- open
- high
- low
- close
If your data can't be mapped to these dimensions for some reason (for example, because the column names aren't the same), you can map them manually using the **Open**, **High**, **Low**, and **Close** fields under the **Candlestick** options in the panel editor:
![Open, High, Low, and Close fields in the panel editor](/media/docs/grafana/panels-visualizations/screenshot-olhc-options-10.3.png)
## Additional fields
### Additional fields
The candlestick visualization is based on the time series visualization. It can visualize additional data dimensions beyond open, high, low, close, and volume The **Include** and **Ignore** options allow it to visualize other included data such as simple moving averages, Bollinger bands and more, using the same styles and configurations available in the [time series][] visualization.
The candlestick visualization is based on the time series visualization. It can visualize additional data dimensions beyond open, high, low, close, and volume The **Include** and **Ignore** options allow it to visualize other included data such as simple moving averages, Bollinger bands and more, using the same styles and configurations available in the [time series][time series visualization] visualization.
## Standard options
{{< docs/shared lookup="visualizations/standard-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Legend options
{{< docs/shared lookup="visualizations/legend-options-1.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Tooltip options
{{< docs/shared lookup="visualizations/tooltip-options-2.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Data links
{{< docs/shared lookup="visualizations/datalink-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Thresholds
{{< docs/shared lookup="visualizations/thresholds-options-1.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Value mappings
{{< docs/shared lookup="visualizations/value-mappings-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Field overrides
{{< docs/shared lookup="visualizations/overrides-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
{{% docs/reference %}}
[time series visualization]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/time-series"
[time series visualization]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/time-series"
[time series visualization]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/visualizations/time-series"
[time series visualization]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/time-series"
{{% /docs/reference %}}

View File

@@ -87,11 +87,13 @@ To remove a connection, simply click on the connection directly and then press t
### Adjust connectors
You can adjust connectors, adding angles to them, to fit the canvas you're working in. When you move connected elements, the connector resizes to fit the space. To adjust a connector, click it to display the midpoint controls and move those as needed. To make a connector a straight line again, move the element or connector until the midpoint controls disappear.
You can adjust connectors, adding angles to them, to fit the canvas you're working in. When you move connected elements, the connector resizes to fit the space. To adjust a connector, click it to display the midpoint controls and move those as needed. To make a connector a straight line again, move the midpoint back until the midpoint controls disappear.
By default, if you move a connector so that it's almost a right angle or a straight line, the connector snaps into that angle or into a straight line. To disable this behavior, press and hold the Ctrl key while adjusting the connector.
If you move a connector so that it's almost a right angle or a straight line, the connector snaps into that angle or into a straight line.
{{< video-embed src="/media/docs/grafana/panels-visualizations/gif-canvas-connector-vertex-control-v11.0.mp4>" alt="Changing a connector from a straight line to a right angle" >}}
<!-- TODO: Use updated demo from what's new when uploaded to YouTube -->
{{< video-embed src="/media/docs/grafana/panels-visualizations/gif-canvas-connector-vertex-control-v11.0.mp4" alt="Changing a connector from a straight line to a right angle" >}}
### Style connectors
@@ -99,8 +101,6 @@ You can set the size, color, direction, and style of connections based on fixed
{{< figure src="/media/docs/grafana/screenshot-grafana-10-0-canvas-service-graph.png" max-width="750px" caption="Canvas service graph" >}}
You can also change the shape of a connection anchor to a circle or remove the anchor entirely.
## Canvas editing
### Inline editor
@@ -119,6 +119,16 @@ You can enable panning and zooming in a canvas. This allows you to both create a
{{< video-embed src="/media/docs/grafana/2024-01-05-Canvas-Pan-&-Zoom-Enablement-Video.mp4" max-width="750px" caption="Canvas pan and zoom enablement video" >}}
#### Infinite panning
You can enable infinite panning in a canvas when pan and zoom is enabled. This allows you to pan and zoom the canvas and uncover larger designs.
{{% admonition type="note" %}}
Infinite panning is an experimental feature that may not work as expected in all scenarios. For example, elements that are not top-left constrained may experience unexpected movement when panning.
{{% /admonition %}}
<!-- TODO: Add gif -->
### Context menu
The context menu lets you perform common tasks quickly and efficiently. Supported functionality includes opening / closing the inline editor, duplicating an element, deleting an element, and more.
@@ -141,7 +151,7 @@ The inline editing toggle lets you lock or unlock the canvas. When turned off th
### Data links
Canvases support [data links](https://grafana.com/docs/grafana/latest/panels-visualizations/configure-data-links/), but only for all elements except drone and button elements. You can add a data link by following these steps:
Canvases support [data links][] for all elements except drone and button elements. You can add a data link by following these steps:
1. Set an element to be tied to a field value.
1. Turn off the inline editing toggle.
@@ -152,7 +162,7 @@ Canvases support [data links](https://grafana.com/docs/grafana/latest/panels-vis
1. Hover over the element to display the data link tooltip.
1. Click on the element to be able to open the data link.
If multiple elements use the same field name, and you want to control which elements display the data link, you can create a unique field name using the [add field from calculation transform](https://grafana.com/docs/grafana/latest/panels-visualizations/query-transform-data/transform-data/#add-field-from-calculation). The alias you create in the transformation will appear as a field you can use with an element.
If multiple elements use the same field name, and you want to control which elements display the data link, you can create a unique field name using the [add field from calculation transform][]. The alias you create in the transformation will appear as a field you can use with an element.
1. In the panel editor for the canvas, click the **Transform** tab.
1. Select **Add field from calculation** from the list of transformations, or click **+ Add transformation** to display the list first.
@@ -162,3 +172,27 @@ If multiple elements use the same field name, and you want to control which elem
1. Reference the new unique field alias to create the element and field override.
{{< video-embed src="/media/docs/grafana/canvas-data-links-9-4-0.mp4" max-width="750px" caption="Data links demo" >}}
## Standard options
{{< docs/shared lookup="visualizations/standard-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Thresholds
{{< docs/shared lookup="visualizations/thresholds-options-2.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Value mappings
{{< docs/shared lookup="visualizations/value-mappings-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Field overrides
{{< docs/shared lookup="visualizations/overrides-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
{{% docs/reference %}}
[data links]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-data-links"
[data links]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-data-links"
[add field from calculation transform]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/query-transform-data/transform-data#add-field-from-calculation"
[add field from calculation transform]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/query-transform-data/transform-data#add-field-from-calculation"
{{% /docs/reference %}}

View File

@@ -19,23 +19,69 @@ weight: 100
# Flame graph
Flame graphs let you visualize profiling data. Using this visualization, the profile can be represented as a flame graph, table, or both
Flame graphs let you visualize [profiling](https://grafana.com/docs/pyroscope/latest/introduction/profiling/) data. Using this visualization, a [profile](https://grafana.com/docs/pyroscope/latest/view-and-analyze-profile-data/profiling-types/) can be represented as a [flame graph](#flame-graph-mode), [top table](#top-table-mode), or both.
![<Flame graph>](/media/docs/grafana/panels-visualizations/flamegraph/screenshot-flamegraph-10.1.png)
For example, if you want to understand which parts of a program consume the most resources, such as CPU time, memory, or I/O operations, you can use a flame graph to visualize and analyze where potential performance issues are:
## Flame graph mode
{{< figure src="/static/img/docs/flame-graph-panel/flame-graph-dark-mode.png" max-width="1025px" alt="A flame graph visualization for a system profile with both flame graph and top table mode." >}}
You can use a flame graph visualization if you need to:
- Identify any performance hotspots to find where code optimizations may be needed.
- Diagnose the root cause of any performance degradation.
- Analyze the behavior of complex systems, including distributed systems or microservices architectures.
To learn more about how Grafana Pyroscope visualizes flame graphs, refer to [Flame graphs: Visualizing performance data](https://grafana.com/docs/pyroscope/latest/view-and-analyze-profile-data/flamegraphs/).
## Configure a flame graph visualization
Once youve created a [dashboard](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/dashboards/build-dashboards/create-dashboard/), the following video shows you how to configure a flame graph visualization:
{{< youtube id="VEvK0JkPlOY" >}}
## Supported data formats
To render a flame graph, you must format the data frame data using a _nested set model_.
A nested set model ensures each item of a flame graph is encoded by its nesting level as an integer value, its metadata, and by its order in the data frame. This means that the order of items is significant and needs to be correct. The ordering is a depth-first traversal of the items in the flame graph which recreates the graph without needing variable-length values in the data frame like in a children's array.
Required fields:
| Field name | Type | Description |
| ---------- | ------ | --------------------------------------------------------------------------------------------------------------------------- |
| level | number | The nesting level of the item. In other words how many items are between this item and the top item of the flame graph. |
| value | number | The absolute or cumulative value of the item. This translates to the width of the item in the graph. |
| label | string | Label to be shown for the particular item. |
| self | number | Self value, which is usually the cumulative value of the item minus the sum of cumulative values of its immediate children. |
### Example
The following table is an example of the type of data you need for a flame graph visualization and how it should be formatted:
| level | value | self | label |
| ----- | -------- | ------ | ----------------------------------------- |
| 0 | 16.5 Bil | 16.5 K | total |
| 1 | 4.10 Bil | 4.10 k | test/pkg/agent.(\*Target).start.func1 |
| 2 | 4.10 Bil | 4.10 K | test/pkg/agent.(\*Target).start.func1 |
| 3 | 3.67 Bil | 3.67 K | test/pkg/distributor.(\*Distributor).Push |
| 4 | 1.13 Bil | 1.13 K | compress/gzip.(\*Writer).Write |
| 5 | 1.06 Bil | 1.06 K | compress/flat.(\*compressor).write |
## Modes
### Flame graph mode
A flame graph takes advantage of the hierarchical nature of profiling data. It condenses data into a format that allows you to easily see which code paths are consuming the most system resources, such as CPU time, allocated objects, or space when measuring memory. Each block in the flame graph represents a function call in a stack and its width represents its value.
![<Flame graph>](/media/docs/grafana/panels-visualizations/flamegraph/screenshot-flamegraph-10.1-flamegraph.png)
Grayed-out sections are a set of functions that represent a relatively small value and they are collapsed together into one section for performance reasons.
{{< figure src="/media/docs/grafana/panels-visualizations/flamegraph/screenshot-flamegraph-10.1-tooltip.png" max-width="500px" caption="Hover tooltip" >}}
{{< figure src="/static/img/docs/flame-graph-panel/flame-graph-mode-dark.png" max-width="650px" alt="A flame graph visualization for a system profile with flame graph mode." >}}
You can hover over a specific function to view a tooltip that shows you additional data about that function, like the function's value, percentage of total value, and the number of samples with that function.
### Drop-down actions
{{< figure src="/media/docs/grafana/panels-visualizations/flamegraph/screenshot-flamegraph-10.1-tooltip.png" max-width="650px" alt="A flame graph visualization with a hover tooltip." >}}
#### Drop-down actions
You can click a function to show a drop-down menu with additional actions:
@@ -43,29 +89,37 @@ You can click a function to show a drop-down menu with additional actions:
- Copy function name
- Sandwich view
{{< figure src="/media/docs/grafana/panels-visualizations/flamegraph/screenshot-flamegraph-10.1-dropdown.png" max-width="500px" caption="Dropdown actions" >}}
{{< figure src="/media/docs/grafana/panels-visualizations/flamegraph/screenshot-flamegraph-10.1-dropdown.png" max-width="650px" alt="A flame graph visualization with drop-down actions." >}}
#### Focus block
##### Focus block
When you click **Focus block**, the block, or function, is set to 100% of the flame graph's width and all its child functions are shown with their widths updated relative to the width of the parent function. This makes it easier to drill down into smaller parts of the flame graph.
{{< figure src="/media/docs/grafana/panels-visualizations/flamegraph/screenshot-flamegraph-10.1-focus.png" max-width="500px" caption="Focus block" >}}
{{< figure src="/media/docs/grafana/panels-visualizations/flamegraph/screenshot-flamegraph-10.1-focus.png" max-width="650px" alt="A flame graph visualization with focus block action selected." >}}
#### Copy function name
##### Copy function name
When you click **Copy function name**, the full name of the function that the block represents is copied.
#### Sandwich view
##### Sandwich view
The sandwich view allows you to show the context of the clicked function. It shows all the function's callers on the top and all the callees at the bottom. This shows the aggregated context of the function so if the function exists in multiple places in the flame graph, all the contexts are shown and aggregated in the sandwich view.
{{< figure src="/media/docs/grafana/panels-visualizations/flamegraph/screenshot-flamegraph-10.1-sandwich.png" max-width="500px" caption="Sandwich view">}}
{{< figure src="/media/docs/grafana/panels-visualizations/flamegraph/screenshot-flamegraph-10.1-sandwich.png" max-width="650px" alt="A flame graph visualization with sandwich view selected.">}}
### Status bar
#### Status bar
The status bar shows metadata about the flame graph and currently applied modifications, like what part of the graph is in focus or what function is shown in sandwich view. Click the **X** in the status bar pill to remove that modification.
![<Status bar>](/media/docs/grafana/panels-visualizations/flamegraph/screenshot-flamegraph-10.1-status.png)
{{< figure src="/media/docs/grafana/panels-visualizations/flamegraph/screenshot-flamegraph-10.1-status.png" max-width="1025px" alt="A flame graph visualization's status bar.">}}
### Top table mode
The top table shows the functions from the profile in table format. The table has three columns: symbols, self, and total. The table is sorted by self time by default, but can be reordered by total time or symbol name by clicking the column headers. Each row represents aggregated values for the given function if the function appears in multiple places in the profile.
{{< figure src="/media/docs/grafana/panels-visualizations/flamegraph/screenshot-flamegraph-10.1-table.png" max-width="650px" alt="Table view">}}
There are also action buttons on the left-most side of each row. The first button searches for the function name while second button shows the sandwich view of the function.
## Toolbar
@@ -73,7 +127,7 @@ The status bar shows metadata about the flame graph and currently applied modifi
You can use the search field to find functions with a particular name. All the functions in the flame graph that match the search will remain colored while the rest of the functions are grayed-out.
![<Searching for function name>](/media/docs/grafana/panels-visualizations/flamegraph/screenshot-flamegraph-10.1-search.png)
{{< figure src="/static/img/docs/flame-graph-panel/flame-graph-search-dark.png" max-width="1025px" alt="Searching for a function name in a flame graph visualization.">}}
### Color schema picker
@@ -88,26 +142,3 @@ Align text either to the left or to the right to show more important parts of th
### Visualization picker
You can choose to show only the flame graph, only table, or both at the same time
## Top table mode
The top table shows the functions from the profile in table format. The table has three columns: symbols, self, and total. The table is sorted by self time by default, but can be reordered by total time or symbol name by clicking the column headers. Each row represents aggregated values for the given function if the function appears in multiple places in the profile.
![Table view](/media/docs/grafana/panels-visualizations/flamegraph/screenshot-flamegraph-10.1-table.png)
There are also action buttons on the left for each row. The first button searches for the function name while second button shows the sandwich view of the function.
## Data API
In order to render the flame graph, you must format the data frame data using a [nested set model](https://en.wikipedia.org/wiki/Nested_set_model).
A nested set model ensures each item of the flame graph is encoded just by its nesting level as an integer value, its metadata, and by its order in the data frame. This means that the order of items is significant and needs to be correct. The ordering is a depth-first traversal of the items in the flame graph which recreates the graph without needing variable-length values in the data frame like in a children's array.
Required fields:
| Field name | Type | Description |
| ---------- | ------ | -------------------------------------------------------------------------------------------------------------------------- |
| level | number | The nesting level of the item. In other words how many items are between this item and the top item of the flame graph. |
| value | number | The absolute or cumulative value of the item. This translates to the width of the item in the graph. |
| label | string | Label to be shown for the particular item. |
| self | number | Self value which is usually the cumulative value of the item minus the sum of cumulative values of its immediate children. |

View File

@@ -23,6 +23,8 @@ Gauges are single-value visualizations that can repeat a gauge for every series,
{{< figure src="/static/img/docs/v66/gauge_panel_cover.png" max-width="1025px" alt="A gauge visualization">}}
{{< docs/play title="Grafana Gauge Visualization" url="https://play.grafana.org/d/KIhkVD6Gk/" >}}
## Value options
Use the following options to refine how your visualization displays the value:
@@ -103,7 +105,27 @@ Adjust the sizes of the gauge text.
- **Title -** Enter a numeric value for the gauge title size.
- **Value -** Enter a numeric value for the gauge value size.
## Standard options
{{< docs/shared lookup="visualizations/standard-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Data links
{{< docs/shared lookup="visualizations/datalink-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Value mappings
{{< docs/shared lookup="visualizations/value-mappings-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Thresholds
{{< docs/shared lookup="visualizations/thresholds-options-2.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Field overrides
{{< docs/shared lookup="visualizations/overrides-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
{{% docs/reference %}}
[Calculation types]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/query-transform-data/calculation-types"
[Calculation types]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/query-transform-data/calculation-types"
[Calculation types]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/query-transform-data/calculation-types"
{{% /docs/reference %}}

View File

@@ -44,6 +44,10 @@ Geomaps allow you to view and customize the world map using geospatial data. You
{{< figure src="/static/img/docs/geomap-panel/geomap-example-8-1-0.png" max-width="1200px" caption="Geomap panel" >}}
The following video provides beginner steps for creating geomap visualizations. You'll learn the data requirements and caveats, special customizations, preconfigured displays and much more:
{{< youtube id="HwM8AFQ7EUs" >}}
## Map View
The map view controls the initial view of the map when the dashboard loads.
@@ -597,10 +601,30 @@ Displays debug information in the upper right corner. This can be useful for deb
- **None** displays tooltips only when a data point is clicked.
- **Details** displays tooltips when a mouse pointer hovers over a data point.
{{% docs/reference %}}
[provisioning docs page]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/administration/provisioning"
[provisioning docs page]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/administration/provisioning"
## Standard options
[data format supported by the node graph visualization]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/node-graph#data-api"
[data format supported by the node graph visualization]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/node-graph#data-api"
{{< docs/shared lookup="visualizations/standard-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Data links
{{< docs/shared lookup="visualizations/datalink-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Value mappings
{{< docs/shared lookup="visualizations/value-mappings-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Thresholds
{{< docs/shared lookup="visualizations/thresholds-options-2.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Field overrides
{{< docs/shared lookup="visualizations/overrides-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
{{% docs/reference %}}
[provisioning docs page]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/administration/provisioning"
[provisioning docs page]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA_VERSION>/administration/provisioning"
[data format supported by the node graph visualization]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/visualizations/node-graph#data-api"
[data format supported by the node graph visualization]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/node-graph#data-api"
{{% /docs/reference %}}

View File

@@ -19,14 +19,52 @@ weight: 100
# Heatmap
Heatmaps allow you to view histograms over time. For more information about histograms, refer to [Introduction to histograms and heatmaps][].
Heatmaps allow you to view [histograms](https://grafana.com/docs/grafana/latest/panels-visualizations/visualizations/histogram/) over time. While histograms display the data distribution that falls in a specific value range, heatmaps allow you to identify patterns in the histogram data distribution over time. For more information about heatmaps, refer to [Introduction to histograms and heatmaps](https://grafana.com/docs/grafana/latest/fundamentals/intro-histograms/).
![A heatmap visualization](/static/img/docs/v43/heatmap_panel_cover.jpg)
For example, if you want to understand the temperature changes for the past few years, you can use a heatmap visualization to identify trends in your data:
## Calculate from data
{{< figure src="/static/img/docs/heatmap-panel/temperature_heatmap.png" max-width="1025px" alt="A heatmap visualization showing the random walk distribution over time" >}}
This setting determines if the data is already a calculated heatmap (from the data source/transformer), or one that should be
calculated in the panel.
You can use a heatmap visualization if you need to:
- Visualize a large density of your data distribution.
- Condense large amounts of data through various color schemes that are easier to interpret.
- Identify any outliers in your data distribution.
- Provide statistical analysis to see how values or trends change over time.
## Configure a heatmap visualization
Once youve created a [dashboard](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/dashboards/build-dashboards/create-dashboard/), the following video shows you how to configure a heatmap visualization:
{{< youtube id="SGWBzQ54koE" >}}
## Supported data formats
Heatmaps support time series data.
### Example
The table below is a simplified output of random walk distribution over time:
| Time | Walking (km) |
| ------------------- | ------------ |
| 2023-06-25 21:13:09 | 10 |
| 2023-08-25 21:13:10 | 8 |
| 2023-08-30 21:13:10 | 10 |
| 2023-10-08 21:13:11 | 12 |
| 2023-12-25 21:13:11 | 14 |
| 2024-01-05 21:13:12 | 13 |
| 2024-02-22 21:13:13 | 10 |
The data is converted as follows:
{{< figure src="/static/img/docs/heatmap-panel/heatmap.png" max-width="1025px" alt="A heatmap visualization showing the random walk distribution over time" >}}
## Heatmap options
### Calculate from data
This setting determines if the data is already a calculated heatmap (from the data source/transformer), or one that should be calculated in the panel.
### X Bucket
@@ -79,7 +117,7 @@ This setting configures the axis value.
When selected, the axis appears in reverse order.
{{< docs/shared lookup="visualizations/multiple-y-axes.md" source="grafana" version="<GRAFANA VERSION>" leveloffset="+2" >}}
{{< docs/shared lookup="visualizations/multiple-y-axes.md" source="grafana" version="<GRAFANA_VERSION>" leveloffset="+2" >}}
## Colors
@@ -112,19 +150,43 @@ Use these settings to refine your visualization.
### Tooltip
- **Show tooltip -** Show heatmap tooltip.
- **Show Histogram -** Show a Y-axis histogram on the tooltip. A histogram represents the distribution of the bucket values for a specific timestamp.
- **Show color scale -** Show a color scale on the tooltip. The color scale represents the mapping between bucket value and color. This option is configurable when you enable the `newVizTooltips` feature flag.
#### Tooltip mode
When you hover your cursor over the visualization, Grafana can display tooltips. Choose how tooltips behave.
- **Single -** The hover tooltip shows only a single series, the one that you are hovering over on the visualization.
- **All -** The hover tooltip shows all series in the visualization. Grafana highlights the series that you are hovering over in bold in the series list in the tooltip.
- **Hidden -** Do not display the tooltip when you interact with the visualization.
Use an override to hide individual series from the tooltip.
#### Show histogram (Y axis)
When you set the **Tooltip mode** to **Single**, this option is displayed. This option controls whether or not the tooltip includes a histogram representing the y-axis.
#### Show color scale
When you set the **Tooltip mode** to **Single**, this option is displayed. This option controls whether or not the tooltip includes the color scale that's also represented in the legend. When the color scale is included in the tooltip, it shows the hovered value on the scale:
![Heatmap with a tooltip displayed showing the hovered value reflected in the color scale](/media/docs/grafana/panels-visualizations/screenshot-heatmap-tooltip-color-scale-v11.0.png)
### Legend
Choose whether you want to display the heatmap legend on the visualization.
Choose whether you want to display the heatmap legend on the visualization by toggling the **Show legend** switch.
### Data links
{{< docs/shared lookup="visualizations/datalink-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
### Field overrides
{{< docs/shared lookup="visualizations/overrides-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
### Exemplars
Set the color used to show exemplar data.
{{% docs/reference %}}
[Introduction to histograms and heatmaps]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/fundamentals/intro-histograms"
[Introduction to histograms and heatmaps]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/fundamentals/intro-histograms"
[Introduction to histograms and heatmaps]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/fundamentals/intro-histograms"
[Introduction to histograms and heatmaps]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA_VERSION>/fundamentals/intro-histograms"
{{% /docs/reference %}}

View File

@@ -21,17 +21,67 @@ weight: 100
# Histogram
Histograms calculate the distribution of values and present them as a bar chart. The Y-axis and the height of each bar represent the count of values that fall into each bracket while the X-axis represents the value range.
Histograms calculate the distribution of values and present them as a bar chart. Each bar represents a bucket; the y-axis and the height of each bar represent the count of values that fall into each bucket, and the x-axis represents the value range.
{{< figure src="/static/img/docs/histogram-panel/histogram-example-v8-0.png" max-width="625px" caption="Bar chart example" >}}
For example, if you want to understand the distribution of people's heights, you can use a histogram visualization to identify patterns or insights in the data distribution:
{{< figure src="/static/img/docs/histogram-panel/histogram-example-v8-0.png" max-width="1025px" alt="A histogram visualization showing the distribution of people's heights" >}}
You can use a histogram visualization if you need to:
- Visualize and analyze data distributions over a specific time range to see how frequently certain values occur.
- Identify any outliers in your data distribution.
- Provide statistical analysis to help with decision-making
## Configure a histogram visualization
Once youve created a [dashboard](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/dashboards/build-dashboards/create-dashboard/), the following video shows you how to configure a histogram visualization:
{{< youtube id="QfJ480j9-KM" >}}
## Supported data formats
Histograms support time series and any table results with one or more numerical fields.
## Display options
### Examples
Use the following options to refine your visualization.
The following tables are examples of the type of data you need for a histogram visualization and how it should be formatted.
#### Time-series table
| Time | Walking (km) |
| ------------------- | ------------ |
| 2024-03-25 21:13:09 | 37.2 |
| 2024-03-25 21:13:10 | 37.1 |
| 2024-03-25 21:13:10 | 37.0 |
| 2024-03-25 21:13:11 | 37.2 |
| 2024-03-25 21:13:11 | 36.9 |
| 2024-03-25 21:13:12 | 36.7 |
| 2024-03-25 21:13:13 | 36.3 |
The data is converted as follows:
{{< figure src="/static/img/docs/histogram-panel/histogram-example-time-series.png" max-width="1025px" alt="A histogram visualization showing the random walk distribution." >}}
#### Basic numerical table
| Gender | Height (kg) | Weight (lbs) |
| ------ | ----------- | ------------ |
| Male | 73.8 | 242 |
| Male | 68.8 | 162 |
| Male | 74.1 | 213 |
| Male | 71.7 | 220 |
| Male | 69.9 | 206 |
| Male | 67.3 | 152 |
| Male | 68.8 | 184 |
The data is converted as follows:
{{< figure src="/static/img/docs/histogram-panel/histogram-example-height-weight.png" max-width="1025px" alt="A histogram visualization showing the male height and weight distribution" >}}
## Histogram options
Use the following options to refine your histogram visualization.
### Bucket size
@@ -71,16 +121,34 @@ Transparency of the gradient is calculated based on the values on the Y-axis. Th
Gradient color is generated based on the hue of the line color.
{{< docs/shared lookup="visualizations/legend-mode.md" source="grafana" version="<GRAFANA VERSION>" >}}
## Standard options
### Legend calculations
{{< docs/shared lookup="visualizations/standard-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
Choose a [standard calculations][] to show in the legend. You can select more than one.
## Legend options
{{< docs/shared lookup="visualizations/legend-options-1.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Value mappings
{{< docs/shared lookup="visualizations/value-mappings-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Thresholds
{{< docs/shared lookup="visualizations/thresholds-options-2.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Data links
{{< docs/shared lookup="visualizations/datalink-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Field overrides
{{< docs/shared lookup="visualizations/overrides-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
{{% docs/reference %}}
[color scheme]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/configure-standard-options#color-scheme"
[color scheme]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/configure-standard-options#color-scheme"
[color scheme]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-standard-options#color-scheme"
[color scheme]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-standard-options#color-scheme"
[standard calculations]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/query-transform-data/calculation-types"
[standard calculations]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/query-transform-data/calculation-types"
[standard calculations]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/query-transform-data/calculation-types"
{{% /docs/reference %}}

View File

@@ -24,12 +24,18 @@ weight: 100
The logs visualization shows log lines from data sources that support logs, such as Elastic, Influx, and Loki. Typically you would use this visualization next to a graph visualization to display the log output of a related process.
<img class="screenshot" src="/static/img/docs/v64/logs-panel.png">
{{< figure src="/static/img/docs/v64/logs-panel.png" max-width="1025px" alt="Logs panel" >}}
{{< docs/play title="Logs Panel" url="https://play.grafana.org/d/6NmftOxZz/" >}}
The logs visualization shows the result of queries that were entered in the Query tab. The results of multiple queries are merged and sorted by time. You can scroll inside the panel if the data source returns more lines than can be displayed at any one time.
To limit the number of lines rendered, you can use the **Max data points** setting in the **Query options**. If it is not set, then the data source will usually enforce a default limit.
The following video provides a walkthrough of creating a logs visualization. You'll also learn how to customize some settings and log visualization caveats:
{{< youtube id="jSSi_x-fD_8" >}}
## Log level
For logs where a **level** label is specified, we use the value of the label to determine the log level and update color accordingly. If the log doesn't have a level label specified, we try to find out if its content matches any of the supported expressions (see below for more information). The log level is always determined by the first match. In case Grafana is not able to determine a log level, it will be visualized with **unknown** log level. See [supported log levels and mappings of log level abbreviation and expressions][].
@@ -52,6 +58,7 @@ Use these settings to refine your visualization:
- **Wrap lines -** Toggle line wrapping.
- **Prettify JSON -** Set this to `true` to pretty print all JSON logs. This setting does not affect logs in any format other than JSON.
- **Enable log details -** Toggle option to see the log details view for each log row. The default setting is true.
- **Deduplication -** Hides log messages that are duplicates of others shown according to criteria such as exact match, or those that only differ by numbers such as IPs or latencies.
- **Order -** Display results in descending or ascending time order. The default is **Descending**, showing the newest logs first. Set to **Ascending** to show the oldest log lines first.
{{% docs/reference %}}

View File

@@ -21,6 +21,8 @@ weight: 100
Pie charts display reduced series, or values in a series, from one or more queries, as they relate to each other, in the form of slices of a pie. The arc length, area and central angle of a slice are all proportional to the slices value, as it relates to the sum of all values. This type of chart is best used when you want a quick comparison of a small set of values in an aesthetically pleasing form.
{{< docs/play title="Grafana Bar Charts and Pie Charts" url="https://play.grafana.org/d/ktMs4D6Mk/" >}}
## Value options
Use the following options to refine the value in your visualization.
@@ -78,38 +80,56 @@ The following example shows a pie chart with **Name** and **Percent** labels dis
![Pie chart labels](/static/img/docs/pie-chart-panel/pie-chart-labels-7-5.png)
{{< docs/shared lookup="visualizations/tooltip-mode.md" source="grafana" version="<GRAFANA VERSION>" >}}
## Standard options
{{< docs/shared lookup="visualizations/standard-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Tooltip options
{{< docs/shared lookup="visualizations/tooltip-options-1.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Legend options
Use these settings to define how the legend appears in your visualization. For more information about the legend, refer to [Configure a legend]({{< relref "../../configure-legend" >}}).
### Legend visibility
### Visibility
Use the **Visibility** switch to show or hide the legend.
Toggle the switch to turn the legend on or off.
### Legend mode
### Mode
Set the display mode of the legend:
Use these settings to define how the legend appears in your visualization.
- **List -** Displays the legend as a list. This is a default display mode of the legend.
- **Table -** Displays the legend as a table.
### Legend placement
### Placement
Choose where to display the legend.
- **Bottom -** Below the graph.
- **Right -** To the right of the graph.
### Legend values
#### Width
Control how wide the legend is when placed on the right side of the visualization. This option is only displayed if you set the legend placement to **Right**.
### Values
Select values to display in the legend. You can select more than one.
- **Percent:** The percentage of the whole.
- **Value:** The raw numerical value.
## Value mappings
{{< docs/shared lookup="visualizations/value-mappings-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Field overrides
{{< docs/shared lookup="visualizations/overrides-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
{{% docs/reference %}}
[Calculation types]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/query-transform-data/calculation-types"
[Calculation types]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/query-transform-data/calculation-types"
[Calculation types]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/query-transform-data/calculation-types"
{{% /docs/reference %}}

View File

@@ -21,24 +21,76 @@ weight: 100
# Stat
Stats show one large stat value with an optional graph sparkline. You can control the background or value color using thresholds or overrides.
{{< figure src="/static/img/docs/v66/stat_panel_dark3.png" max-width="1025px" caption="Stat visualization" >}}
{{% admonition type="note" %}}
This visualization replaces the Singlestat visualization, which was deprecated in Grafana 7.0 and removed in Grafana 8.0.
{{% /admonition %}}
A stat visualization displays your data in single values of interest&mdash;such as the latest or current value of a series&mdash;with an optional graph sparkline. A graph sparkline, which is only available in stat visualizations, is a small time-series graph shown in the background of each value in the visualization.
For example, if you're monitoring the utilization of various services, you can use a stat visualization to show their latest usage:
{{< figure src="/static/img/docs/v66/stat_panel_dark3.png" max-width="1025px" alt="A stat panel showing latest usage of various services" >}}
Use a stat visualization when you need to:
- Monitor key metrics at a glance, such as the latest health of your application, number of high priority bugs in your application, or total number of sales.
- Display aggregated data, such as the average response time of your services.
- Highlight values above your normal thresholds to quickly identify if any metrics are outside your expected range.
{{< docs/play title="Stat Visualizations in Grafana" url="https://play.grafana.org/d/Zb3f4veGk/" >}}
## Configure a stat visualization
Once you've [created a dashboard](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/dashboards/build-dashboards/create-dashboard/), the following video shows you how to configure a stat visualization:
{{< youtube id="yNRnLyVntUw" start="1048" >}}
Alternatively, refer to this blog post on [how to easily retrieve values from a range in Grafana using a stat visualization](https://grafana.com/blog/2023/10/18/how-to-easily-retrieve-values-from-a-range-in-grafana-using-a-stat-panel/).
## Supported data formats
The stat visualization supports a variety of formats for displaying data. Supported formats include:
- **Single values** - The most common format and can be numerical, strings, or boolean values.
- **Time-series data** - [Calculation types][] can be applied to your time-series data to display single values over a specified time range.
### Examples
The following tables are examples of the type of data you need for a stat visualization and how it should be formatted.
#### Single numerical values
| Number of high priority bugs |
| ---------------------------- |
| 80 |
| 52 |
| 59 |
| 40 |
The data is visualized as follows, with the last value displayed, along with a sparkline and [percentage change](#show-percent-change):
{{< figure src="/static/img/docs/stat-panel/stat_panel_single.png" max-width="1025px" alt="A stat panel showing the latest number of high priority bugs" >}}
#### Time-series data
| Time | Cellar | Living room | Porch | Bedroom | Guest room | Kitchen |
| ------------------- | ------ | ----------- | ----- | ------- | ---------- | ------- |
| 2024-03-20 06:34:40 | 12.3 | 18.3 | 18.8 | 15.9 | 9.29 | 9.61 |
| 2024-03-20 06:41:40 | 16.8 | 17.1 | 21.5 | 14.1 | 10.5 | 17.5 |
| 2024-03-20 06:48:40 | 16.7 | 18.0 | 21.0 | 9.51 | 13.6 | 20.1 |
| 2024-03-20 06:55:40 | 14.3 | 18.7 | 16.5 | 9.11 | 14.8 | 12.5 |
| 2024-03-20 07:02:40 | 12.8 | 15.2 | 21.1 | 15.6 | 7.98 | 13.0 |
The data is visualized as follows, with the mean value displayed for each room, along with the room name, sparkline, and unit of measurement:
{{< figure src="/static/img/docs/stat-panel/stat_panel_multiple.png" max-width="1025px" alt="A stat panel showing some statistics for each room in square meters" >}}
By default, a stat displays one of the following:
- Just the value for a single series or field.
- Both the value and name for multiple series or fields.
You can use the **Text mode** to control how the text is displayed.
Example screenshot:
{{< figure src="/static/img/docs/v71/stat-panel-text-modes.png" max-width="1025px" caption="Stat visualization" >}}
You can use the [**Text mode**](#text-mode) to control how the text is displayed.
## Automatic layout adjustment
@@ -137,7 +189,27 @@ Adjust the sizes of the gauge text.
- **Title -** Enter a numeric value for the gauge title size.
- **Value -** Enter a numeric value for the gauge value size.
## Standard options
{{< docs/shared lookup="visualizations/standard-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Data links
{{< docs/shared lookup="visualizations/datalink-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Value mappings
{{< docs/shared lookup="visualizations/value-mappings-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Thresholds
{{< docs/shared lookup="visualizations/thresholds-options-2.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Field overrides
{{< docs/shared lookup="visualizations/overrides-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
{{% docs/reference %}}
[Calculation types]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/query-transform-data/calculation-types"
[Calculation types]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/query-transform-data/calculation-types"
[Calculation types]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/query-transform-data/calculation-types"
{{% /docs/reference %}}

View File

@@ -23,7 +23,7 @@ A state timeline visualization displays data in a way that shows state changes o
For example, if you're monitoring the CPU usage of a server, you can use a state timeline to visualize the different states, such as “LOW,” “NORMAL,” “HIGH,” or “CRITICAL,” over time. Each state is represented by a different color and the lengths represent the duration of time that the server remained in that state:
{{< figure src="/static/img/docs/state-timeline-panel/state-timeline-panel.png" max-width="1025px" alt="A state timeline panel showing CPU usage" >}}
{{< figure src="/static/img/docs/state-timeline-panel/state-timeline-panel.png" max-width="1025px" alt="A state timeline visualization showing CPU usage" >}}
The state timeline visualization is useful when you need to monitor and analyze changes in states or statuses of various entities over time. You can use one when you need to:
@@ -33,13 +33,13 @@ The state timeline visualization is useful when you need to monitor and analyze
## Configure a state timeline
Once you have [created a dashboard](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/dashboards/build-dashboards/create-dashboard/), the following video shows you how to configure a state timeline:
{{< youtube id="a9wZHM0mdxo" >}}
{{< docs/play title="Grafana State Timeline & Status History" url="https://play.grafana.org/d/qD-rVv6Mz/6-state-timeline-and-status-history?orgId=1s" >}}
## Supported data formats
The state timeline panel works best if you have data capturing the various states of entities over time, formatted as a table. The data must include:
The state timeline visualization works best if you have data capturing the various states of entities over time, formatted as a table. The data must include:
- **Timestamps** - Indicate when each state change occurred. This could also be the start time for the state change. You can also add an optional timestamp to indicate the end time for the state change.
- **Entity name/identifier** - Represents the name of the entity you're trying to monitor.
@@ -67,7 +67,7 @@ The following tables are examples of the type of data you need for a state timel
The data is converted as follows, with the [null and empty values visualized as gaps](https://grafana.com/docs/grafana/latest/panels-visualizations/visualizations/state-timeline/#connect-null-values) in the state timeline:
{{< figure src="/static/img/docs/state-timeline-panel/state-timeline-with-null-values.png" max-width="1025px" alt="A state timeline panel with null values showing the status of two servers" >}}
{{< figure src="/static/img/docs/state-timeline-panel/state-timeline-with-null-values.png" max-width="1025px" alt="A state timeline visualization with null values showing the status of two servers" >}}
#### Two time columns without null values
@@ -82,7 +82,7 @@ The data is converted as follows, with the [null and empty values visualized as
The data is converted as follows:
{{< figure src="/static/img/docs/state-timeline-panel/state-timeline-with-two-timestamps.png" max-width="1025px" alt="A state timeline panel with two time columns showing the status of two servers" >}}
{{< figure src="/static/img/docs/state-timeline-panel/state-timeline-with-two-timestamps.png" max-width="1025px" alt="A state timeline visualization with two time columns showing the status of two servers" >}}
If your query results aren't in a table format like the preceding examples, especially for time-series data, you can apply specific [transformations](https://stackoverflow.com/questions/68887416/grafana-state-timeline-panel-with-values-states-supplied-by-label) to achieve this.
@@ -114,15 +114,9 @@ Controls line width of state regions.
Controls the opacity of state regions.
{{< docs/shared lookup="visualizations/connect-null-values.md" source="grafana" version="<GRAFANA VERSION>" >}}
{{< docs/shared lookup="visualizations/connect-null-values.md" source="grafana" version="<GRAFANA_VERSION>" >}}
{{< docs/shared lookup="visualizations/disconnect-values.md" source="grafana" version="<GRAFANA VERSION>" >}}
## Value mappings
To assign colors to boolean or string values, you can use [Value mappings][].
{{< figure src="/static/img/docs/v8/value_mappings_side_editor.png" max-width="300px" caption="Value mappings side editor" >}}
{{< docs/shared lookup="visualizations/disconnect-values.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Time series data with thresholds
@@ -130,16 +124,40 @@ The visualization can be used with time series data as well. In this case, the t
{{< figure src="/static/img/docs/v8/state_timeline_time_series.png" max-width="1025px" caption="state timeline with time series" >}}
## Standard options
{{< docs/shared lookup="visualizations/standard-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Legend options
When the legend option is enabled it can show either the value mappings or the threshold brackets. To show the value mappings in the legend, it's important that the `Color scheme` as referenced in [Color scheme][] is set to `Single color` or `Classic palette`. To see the threshold brackets in the legend set the `Color scheme` to `From thresholds`.
{{< docs/shared lookup="visualizations/legend-options-2.md" source="grafana" version="<GRAFANA_VERSION>" >}}
{{< docs/shared lookup="visualizations/legend-mode.md" source="grafana" version="<GRAFANA VERSION>" >}}
## Tooltip options
{{< docs/shared lookup="visualizations/tooltip-options-1.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Data links
{{< docs/shared lookup="visualizations/datalink-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Value mappings
{{< docs/shared lookup="visualizations/value-mappings-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
{{< figure src="/static/img/docs/v8/value_mappings_side_editor.png" max-width="300px" caption="Value mappings side editor" >}}
## Thresholds
{{< docs/shared lookup="visualizations/thresholds-options-2.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Field overrides
{{< docs/shared lookup="visualizations/overrides-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
{{% docs/reference %}}
[Color scheme]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/configure-standard-options#color-scheme"
[Color scheme]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/configure-standard-options#color-scheme"
[Color scheme]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-standard-options#color-scheme"
[Color scheme]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-standard-options#color-scheme"
[Value mappings]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/configure-value-mappings"
[Value mappings]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/configure-value-mappings"
[Value mappings]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-value-mappings"
[Value mappings]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-value-mappings"
{{% /docs/reference %}}

View File

@@ -19,15 +19,72 @@ weight: 100
# Status history
Status histories show periodic states over time. Each field or series is rendered as a horizontal row. Boxes are rendered and centered around each value.
A status history visualization displays data in a way that shows periodic states over time. In a status history, each field or series is rendered as a horizontal row, with multiple boxes showing the different statuses. This provides you with a centralized view for the status of a component or service.
{{< figure src="/static/img/docs/status-history-panel/status-history-example-v8-0.png" max-width="1025px" caption="Status history example" >}}
For example, if you're monitoring the health status of different services, you can use a status history to visualize the different statuses, such as “OK,” “WARN,” or “BAD,” over time. Each status is represented by a different color:
## Supported data
{{< figure src="/static/img/docs/status-history-panel/status-history-example-v8-0.png" max-width="1025px" alt="A status history panel showing the health status of different services" >}}
A status history works with string, boolean and numerical fields or time series. A time field is required. You can use value mappings to color strings or assign text values to numerical ranges.
{{% admonition type="note" %}}
A status history is similar to a [state timeline](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/panels-visualizations/visualizations/state-timeline/), but has different [configuration options](#status-history-options). Unlike state timelines, status histories don't merge consecutive values.
{{% /admonition %}}
## Display options
Use a status history when you need to:
- Monitor the status of a server, application, or service to know when your infrastructure is experiencing issues over time.
- Identify operational trends over time.
- Spot any recurring issues with the health of your applications.
## Configure a status history
Once you've [created a dashboard](https://grafana.com/docs/grafana/<GRAFANA_VERSION>/dashboards/build-dashboards/create-dashboard/), you can use the following state timeline video as a reference for how to configure a status history:
{{< youtube id="a9wZHM0mdxo" >}}
{{< docs/play title="Grafana State Timeline & Status History" url="https://play.grafana.org/d/qD-rVv6Mz/6-state-timeline-and-status-history?orgId=1s" >}}
## Supported data formats
The status history visualization works best if you have data capturing the various status of entities over time, formatted as a table. The data must include:
- **Timestamps** - Indicate when each status change occurred. This could also be the start time for the status change. You can also add an optional timestamp to indicate the end time for the status change.
- **Entity name/identifier** - Represents the name of the entity you're trying to monitor.
- **Status value** - Represents the state value of the entity you're monitoring. These can be string, numerical, or boolean states.
### Examples
The following tables are examples of the type of data you need for a status history visualization and how it should be formatted.
#### Single time column with null values
| Timestamps | Backend_01 | Backend_02 |
| ------------------ | ---------- | ---------- |
| 2024-02-29 8:00:00 | OK | WARN |
| 2024-02-29 8:15:00 | WARN | |
| 2024-02-29 8:18:00 | | WARN |
| 2024-02-29 8:30:00 | BAD | |
| 2024-02-29 8:36:00 | | OK |
| 2024-02-29 8:45:00 | OK | |
The data is converted as follows, with the null and empty values visualized as gaps in the status history:
{{< figure src="/static/img/docs/status-history-panel/status_history_with_null.png" max-width="1025px" alt="A status history panel with null values showing the status of two servers" >}}
#### Two time columns without null values
| Start time | End time | Backend_01 | Backend_02 |
| ------------------ | ------------------ | ---------- | ---------- |
| 2024-02-29 8:00:00 | 2024-02-29 8:15:00 | OK | OK |
| 2024-02-29 8:15:00 | 2024-02-29 8:30:00 | OK | OK |
| 2024-02-29 8:30:00 | 2024-02-29 8:45:00 | OK | OK |
| 2024-02-29 8:45:00 | 2024-02-29 9:00:00 | BAD | WARN |
| 2024-02-29 9:00:00 | 2024-02-29 9:15:00 | OK | WARN |
The data is converted as follows:
{{< figure src="/static/img/docs/status-history-panel/status_history.png" max-width="1025px" alt="A status history panel with two time columns showing the status of two servers" >}}
## Status history options
Use these options to refine the visualization.
@@ -47,29 +104,40 @@ Controls line width of state regions.
Controls the opacity of state regions.
## Value mappings
## Standard options
To assign colors to boolean or string values, use the [Value mappings][].
{{< figure src="/static/img/docs/v8/value_mappings_side_editor.png" max-width="300px" caption="Value mappings side editor" >}}
## Time series data with thresholds
The visualization can be used with time series data as well. In this case, the thresholds are used to color the boxes. You can also
use gradient color schemes to color values.
{{< figure src="/static/img/docs/v8/state_timeline_time_series.png" max-width="1025px" caption="state timeline with time series" >}}
{{< docs/shared lookup="visualizations/standard-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Legend options
When the legend option is enabled it can show either the value mappings or the threshold brackets. To show the value mappings in the legend, it's important that the `Color scheme` as referenced in [Color scheme][] is set to `Single color` or `Classic palette`. To see the threshold brackets in the legend set the `Color scheme` to `From thresholds`.
{{< docs/shared lookup="visualizations/legend-options-2.md" source="grafana" version="<GRAFANA_VERSION>" >}}
{{< docs/shared lookup="visualizations/legend-mode.md" source="grafana" version="<GRAFANA VERSION>" >}}
## Tooltip options
{{< docs/shared lookup="visualizations/tooltip-options-1.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Data links
{{< docs/shared lookup="visualizations/datalink-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Value mappings
{{< docs/shared lookup="visualizations/value-mappings-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
{{< figure src="/static/img/docs/v8/value_mappings_side_editor.png" max-width="300px" caption="Value mappings side editor" >}}
## Thresholds
{{< docs/shared lookup="visualizations/thresholds-options-2.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Field overrides
{{< docs/shared lookup="visualizations/overrides-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
{{% docs/reference %}}
[Value mappings]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/configure-value-mappings"
[Value mappings]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/configure-value-mappings"
[Value mappings]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-value-mappings"
[Value mappings]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-value-mappings"
[Color scheme]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/configure-standard-options#color-scheme"
[Color scheme]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/configure-standard-options#color-scheme"
[Color scheme]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-standard-options#color-scheme"
[Color scheme]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-standard-options#color-scheme"
{{% /docs/reference %}}

View File

@@ -35,6 +35,8 @@ The following video provides a visual walkthrough of the options you can set in
{{< youtube id="PCY7O8EJeJY" >}}
{{< docs/play title="Table Visualizations in Grafana" url="https://play.grafana.org/d/OhR1ID6Mk/" >}}
## Annotation and alert support
Annotations and alerts are not currently supported in tables.
@@ -140,6 +142,10 @@ Additionally, labels displayed alongside of the gauges can be set to be colored
{{< figure src="/static/img/docs/tables/hidden-mode.png" max-width="500px" caption="Hide Label" class="docs-image--no-shadow" >}}
### Data links
If you've configured data links, when the cell type is **Auto** mode, the cell text becomes clickable. If you change the cell type to **Data links**, the cell text reflects the titles of the configured data links. To control the application of data link text more granularly use a **Cell option > Cell type > Data links** field override.
### JSON view
Shows value formatted as code. If a value is an object the JSON view allowing browsing the JSON object will appear on hover.
@@ -232,12 +238,32 @@ The system applies the calculation to all numeric fields if you do not select a
If you want to show the number of rows in the dataset instead of the number of values in the selected fields, select the **Count** calculation and enable **Count rows**.
## Standard options
{{< docs/shared lookup="visualizations/standard-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Data links
{{< docs/shared lookup="visualizations/datalink-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Value mappings
{{< docs/shared lookup="visualizations/value-mappings-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Thresholds
{{< docs/shared lookup="visualizations/thresholds-options-2.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Field overrides
{{< docs/shared lookup="visualizations/overrides-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
{{% docs/reference %}}
[calculations]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/query-transform-data/calculation-types"
[calculations]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/query-transform-data/calculation-types"
[calculations]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/query-transform-data/calculation-types"
[Time series to table transformation]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/query-transform-data/transform-data#time-series-to-table-transform"
[Time series to table transformation]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/query-transform-data/transform-data#time-series-to-table-transform"
[Time series to table transformation]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/query-transform-data/transform-data#time-series-to-table-transform"
[Time series to table transformation]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/query-transform-data/transform-data#time-series-to-table-transform"
[Time series panel]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/visualizations/time-series"
[Time series panel]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/time-series"
@@ -245,6 +271,6 @@ If you want to show the number of rows in the dataset instead of the number of v
[color scheme]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-standard-options#color-scheme"
[color scheme]: "/docs/grafana-cloud -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-standard-options#color-scheme"
[configuration file]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/setup-grafana/configure-grafana#configuration-file-location"
[configuration file]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/setup-grafana/configure-grafana#configuration-file-location"
[configuration file]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/setup-grafana/configure-grafana#configuration-file-location"
[configuration file]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA_VERSION>/setup-grafana/configure-grafana#configuration-file-location"
{{% /docs/reference %}}

View File

@@ -23,10 +23,24 @@ weight: 100
Text visualizations enable you to directly include text or HTML in your dashboards. This can be used to add contextual information and descriptions or embed complex HTML.
For example, if you want to display important links to your dashboard, you can use a text visualization to add these links:
{{< figure src="/static/img/docs/text-panel/text-panel.png" max-width="1025px" alt="A text panel showing important links" >}}
Use a text visualization when you need to:
- Add important links or useful annotations.
- Provide instructions or guidance on how to interpret different panels, configure settings, or take specific actions based on the displayed data.
- Announce any scheduled maintenance or downtime that might impact your dashboards.
## Mode
**Mode** determines how embedded content appears.
{{< admonition type="note" >}}
To allow embedding of iframes and other websites, you need set `allow_embedding = true` in your Grafana `config.ini` or environment variables (depending on your employment).
{{< /admonition >}}
### Markdown
This option formats the content as [markdown](https://en.wikipedia.org/wiki/Markdown).

View File

@@ -38,27 +38,25 @@ weight: 10
{{< figure src="/static/img/docs/time-series-panel/time_series_small_example.png" max-width="1200px" caption="Time series" >}}
Time series visualizations are the default and primary way to visualize time series data as a graph. They can render series as lines, points, or bars. They're versatile enough to display almost any time-series data. [This public demo dashboard](https://play.grafana.org/d/000000016/1-time-series-graphs?orgId=1) contains many different examples of how a time series visualization can be configured and styled.
Time series visualizations are the default and primary way to visualize time series data as a graph. They can render series as lines, points, or bars. They're versatile enough to display almost any time-series data.
{{% admonition type="note" %}}
You can migrate from the old Graph visualization to the new time series visualization. To migrate, open the panel and click the **Migrate** button in the side pane.
{{% /admonition %}}
The following video guides you through the creation steps and common customizations of time series visualizations and is great for beginners:
{{< youtube id="RKtW87cPxsw" >}}
{{< docs/play title="Time Series Visualizations in Grafana" url="https://play.grafana.org/d/000000016/" >}}
## Tooltip options
Tooltip options control the information overlay that appears when you hover over data points in the graph.
{{< docs/shared lookup="visualizations/tooltip-mode.md" source="grafana" version="<GRAFANA VERSION>" >}}
### Hover proximity
This option controls how close your cursor must be to a data point before the tooltip appears. Values are in pixels.
{{< docs/shared lookup="visualizations/tooltip-options-2.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Legend options
Legend options control the series names and statistics that appear under or to the right of the graph.
{{< docs/shared lookup="visualizations/legend-mode.md" source="grafana" version="<GRAFANA VERSION>" >}}
{{< docs/shared lookup="visualizations/legend-options-1.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Graph styles
@@ -141,9 +139,9 @@ Set the style of the line. To change the color, use the standard [color scheme][
![Line styles examples](/static/img/docs/time-series-panel/line-styles-examples-v9.png)
{{< docs/shared lookup="visualizations/connect-null-values.md" source="grafana" version="<GRAFANA VERSION>" >}}
{{< docs/shared lookup="visualizations/connect-null-values.md" source="grafana" version="<GRAFANA_VERSION>" >}}
{{< docs/shared lookup="visualizations/disconnect-values.md" source="grafana" version="<GRAFANA VERSION>" >}}
{{< docs/shared lookup="visualizations/disconnect-values.md" source="grafana" version="<GRAFANA_VERSION>" >}}
### Stack series
@@ -260,7 +258,7 @@ Use this option to transform the series values without affecting the values show
The transform option is only available as an override.
{{% /admonition %}}
{{< docs/shared lookup="visualizations/multiple-y-axes.md" source="grafana" version="<GRAFANA VERSION>" leveloffset="+2" >}}
{{< docs/shared lookup="visualizations/multiple-y-axes.md" source="grafana" version="<GRAFANA_VERSION>" leveloffset="+2" >}}
## Color options
@@ -303,19 +301,39 @@ The following image shows a bar chart with the **Green-Yellow-Red (by value)** c
{{< figure src="/static/img/docs/time-series-panel/gradient_mode_scheme_bars.png" max-width="1200px" caption="Color scheme: Green-Yellow-Red" >}}
## Standard options
{{< docs/shared lookup="visualizations/standard-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Data links
{{< docs/shared lookup="visualizations/datalink-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Value mappings
{{< docs/shared lookup="visualizations/value-mappings-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Thresholds
{{< docs/shared lookup="visualizations/thresholds-options-1.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Field overrides
{{< docs/shared lookup="visualizations/overrides-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
{{% docs/reference %}}
[Color scheme]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/configure-standard-options#color-scheme"
[Color scheme]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/configure-standard-options#color-scheme"
[Color scheme]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-standard-options#color-scheme"
[Color scheme]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-standard-options#color-scheme"
[Add a field override]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/configure-overrides#add-a-field-override"
[Add a field override]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/configure-overrides#add-a-field-override"
[Add a field override]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-overrides#add-a-field-override"
[Add a field override]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-overrides#add-a-field-override"
[Configure standard options]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/configure-standard-options#max"
[Configure standard options]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/configure-standard-options#max"
[Configure standard options]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-standard-options#max"
[Configure standard options]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-standard-options#max"
[color scheme]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/configure-standard-options#color-scheme"
[color scheme]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/configure-standard-options#color-scheme"
[color scheme]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-standard-options#color-scheme"
[color scheme]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-standard-options#color-scheme"
[Configure field overrides]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/configure-overrides"
[Configure field overrides]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/configure-overrides"
[Configure field overrides]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-overrides"
[Configure field overrides]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-overrides"
{{% /docs/reference %}}

View File

@@ -38,7 +38,35 @@ For example, you could represent engine power and torque versus speed where spee
{{< figure src="/media/docs/grafana/screenshot-grafana-10-0-trend-panel-new-colors.png" max-width="750px" caption="Trend engine power and torque curves" >}}
## Standard options
{{< docs/shared lookup="visualizations/standard-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Legend options
{{< docs/shared lookup="visualizations/legend-options-1.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Tooltip options
{{< docs/shared lookup="visualizations/tooltip-options-2.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Data links
{{< docs/shared lookup="visualizations/datalink-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Thresholds
{{< docs/shared lookup="visualizations/thresholds-options-1.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Value mappings
{{< docs/shared lookup="visualizations/value-mappings-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Field overrides
{{< docs/shared lookup="visualizations/overrides-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
{{% docs/reference %}}
[Time series visualization]: "/docs/grafana/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/time-series"
[Time series visualization]: "/docs/grafana-cloud/ -> /docs/grafana/<GRAFANA VERSION>/panels-visualizations/visualizations/time-series"
[Time series visualization]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/visualizations/time-series"
[Time series visualization]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/visualizations/time-series"
{{% /docs/reference %}}

View File

@@ -0,0 +1,282 @@
---
canonical: https://grafana.com/docs/grafana/latest/panels-visualizations/visualizations/xy-chart/
keywords:
- grafana
- chart
- xy chart
- documentation
- guide
- graph
labels:
products:
- cloud
- enterprise
- oss
description: Configure options for Grafana's xy chart
title: XY chart
weight: 100
---
# XY chart
XY charts provide a way to visualize arbitrary x and y values in a graph so that you can easily show the relationship between two variables. XY charts are typically used to create scatter plots. You can also use them to create bubble charts where field values determine the size of each bubble:
![An xy chart showing height weight distribution](/media/docs/grafana/panels-visualizations/screenshot-xy-charts-v11.0.png)
## Supported data formats
You can use any type of tabular data with at least two numeric fields in an xy chart. This type of visualization doesn't require time data.
## XY chart options
### Series mapping
Set how series data is mapped in the chart.
- [Auto](#auto-series-mapping-options) - Automatically generates series from all available data frames (or datasets). You can filter to select only one frame.
- [Manual](#manual-series-mapping-options) - Explicitly define the series by selecting from available data frames.
Depending on your series mapping selection, the **Frame**, **X-field**, and **Y-field** options differ. The [Auto](#auto-series-mapping-options) and [Manual](#manual-series-mapping-options) series mapping sections describe these different options.
#### Auto series mapping options
When you select **Auto** as your series mapping mode, the following options are preconfigured, but you can also define them yourself:
- [Frame](#frame)
- [X-field](#x-field)
- [Y-field](#y-field)
##### Frame
By default, an xy chart displays all data frames. You can filter to select only one frame.
##### X-field
Select which field or fields x represents. By default, this is the first number field in each data frame. For example, you enter the following CSV content:
| a | b | c |
| --- | --- | --- |
| 0 | 0 | 0 |
| 1 | 1 | 9 |
| 2 | 2 | 4 |
In the resulting chart, the x-field is generated from the values in column "a" unless you define it differently.
##### Y-field
After the x-field is set, by default, all the remaining number fields in the data frame are designated as the y-fields. You can use this option to explicitly choose which fields to use for y.
The series of the chart are generated from the y-fields. To make changes to a series in an xy chart, make [overrides][Configure field overrides] to the y-field.
{{< admonition type=note >}}
Any field you use in the [Size field](#size-field) or [Color field](#color-field) doesn't generate a series.
{{< /admonition >}}
You can also use [overrides][Configure field overrides] to exclude y-fields individually. To do so, add an override with the following properties for each y-field you want removed:
- Override type: **Fields with name**
- Override property: **Series > Hide in area**
- Area: **Viz**
#### Manual series mapping options
When you select **Manual** as your series mode, you can add, edit, and delete series. To manage a series, click the **Series** field; to rename the series, click the series name.
In **Manual** mode, you must set the following options:
- **Frame** - Select your data frame or dataset. You can add as many frames as you want.
- **X-field** - Select which field x represents.
- **Y-field** - Select which field y represents.
### Size field
Use this option to set which field's values control the size of the points in the chart. This value is relative to the min and max of all the values in the data frame.
When you select this option, you can then set the [Min point size](#minmax-point-size) and [Max point size](#minmax-point-size) options.
### Color field
Use this option to set which field's values control the color of the points in the chart. To use the color value options under the **Standard options**, you must set this field.
Typically, this option is used when you only have one series displayed in the chart.
### Show
Set how values are represented in the visualization.
- **Points** - Display values as points. When you select this option, the [Point size](#point-size) option is also displayed.
- **Lines** - Add a line between values. When you select this option, the [Line style](#line-style) and [Line width](#line-width) options are also displayed.
- **Both** - Display both points and lines.
### Point size
Set the size of all points in the chart, from one to one hundred pixels in diameter. The default size is five pixels. You can set an [override][Configure field overrides] to set the pixel size by series (y-field).
### Min/Max point size
Use these options to control the minimum or maximum point size when you've set the **Size field** option. You can [override][Configure field overrides] these options for specific series.
### Line style
Set the style of the line. To change the color, use the standard [Color scheme][] field option.
![Line style option](/static/img/docs/time-series-panel/line-style-option-v9.png)
- **Solid:** Display a solid line. This is the default setting.
- **Dash:** Display a dashed line. When you choose this option, a drop-down list is displayed where you can select the length and gap setting for the line dashes. By default, the length and gap are set to `10, 10`.
- **Dots:** Display dotted lines. When you choose this option, a drop-down list is displayed where you can select dot spacing. By default, the dot spacing is set to `0, 10` (the first number represents dot length, which is always zero).
### Line width
Set the width of the lines in pixels.
## Tooltip options
Tooltip options control the information overlay that appears when you hover over data points in the visualization.
### Tooltip mode
When you hover your cursor over the visualization, Grafana can display tooltips. Choose how tooltips behave.
- **Single -** The hover tooltip shows only a single series, the one that you are hovering over on the visualization.
- **Hidden -** Do not display the tooltip when you interact with the visualization.
Use an override to hide individual series from the tooltip.
### Max height
Set the maximum height of the tooltip box. The default is 600 pixels.
## Legend options
{{< docs/shared lookup="visualizations/legend-options-1.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Axis options
Options under the axis category change how the x- and y-axes are rendered. Some options don't take effect until you click outside of the field option box you are editing. You can also or press `Enter`.
### Placement (y-axis)
Select the placement of the y-axis.
- **Auto:** Automatically assigns the y-axis to the series. When there are two or more series with different units, Grafana assigns the left axis to the first unit and the right axis to the units that follow.
- **Left:** Display all y-axes on the left side.
- **Right:** Display all y-axes on the right side.
- **Hidden:** Hide all axes.
To selectively hide axes, [Add a field override][] that targets specific fields.
### Label
Set a y-axis text label. If you have more than one y-axis, then you can assign different labels using an override.
### Width
Set a fixed width of the axis. By default, Grafana dynamically calculates the width of an axis.
By setting the width of the axis, data with different axes types can share the same display proportions. This setting makes it easier for you to compare more than one graphs worth of data because the axes are not shifted or stretched within visual proximity to each other.
### Show grid lines
Set the axis grid line visibility.
- **Auto:** Automatically show grid lines based on the density of the data.
- **On:** Always show grid lines.
- **Off:** Never show grid lines.
### Color
Set the color of the axis.
- **Text:** Set the color based on theme text color.
- **Series:** Set the color based on the series color.
### Show border
Set the axis border visibility.
### Scale
Set the y-axis values scale.
- **Linear:** Divides the scale into equal parts.
- **Logarithmic:** Use a logarithmic scale. When you select this option, a list appears for you to choose a binary (base 2) or common (base 10) logarithmic scale.
- **Symlog:** Use a symmetrical logarithmic scale. When you select this option, a list appears for you to choose a binary (base 2) or common (base 10) logarithmic scale. The linear threshold option allows you to set the threshold at which the scale changes from linear to logarithmic.
### Centered zero
Set the y-axis to be centered on zero.
### Soft min and soft max
Set a **Soft min** or **soft max** option for better control of y-axis limits. By default, Grafana sets the range for the y-axis automatically based on the dataset.
**Soft min** and **soft max** settings can prevent small variations in the data from being magnified when it's mostly flat. In contrast, hard min and max values help prevent obscuring useful detail in the data by clipping intermittent spikes past a specific point.
To define hard limits of the y-axis, set standard min/max options. For more information, refer to [Configure standard options][].
![Label example](/static/img/docs/time-series-panel/axis-soft-min-max-7-4.png)
### Transform
Use this option to transform the series values without affecting the values shown in the tooltip, context menu, or legend.
- **Negative Y transform:** Flip the results to negative values on the Y axis.
- **Constant:** Show the first value as a constant line.
{{% admonition type="note" %}}
The transform option is only available as an override.
{{% /admonition %}}
{{< docs/shared lookup="visualizations/multiple-y-axes.md" source="grafana" version="<GRAFANA_VERSION>" leveloffset="+2" >}}
## Standard options
**Standard options** in the panel editor pane let you change how field data is displayed in your visualizations. When you set a standard option, the change is applied to all fields or series. For more granular control over the display of fields, refer to [Configure field overrides][].
You can customize the following standard options:
- **Field min/max** - Enable **Field min/max** to have Grafana calculate the min or max of each field individually, based on the minimum or maximum value of the field.
- **Color scheme** - Set single or multiple colors for your entire visualization.
To learn more, refer to [Configure standard options][].
## Data links
{{< docs/shared lookup="visualizations/datalink-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Field overrides
{{< docs/shared lookup="visualizations/overrides-options.md" source="grafana" version="<GRAFANA_VERSION>" >}}
## Other visualization options
### Panel options
Learn about [panel options][] that you can set for a visualization.
{{% docs/reference %}}
[Color scheme]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-standard-options#color-scheme"
[Color scheme]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-standard-options#color-scheme"
[Add a field override]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-overrides#add-a-field-override"
[Add a field override]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-overrides#add-a-field-override"
[Configure standard options]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-standard-options#max"
[Configure standard options]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-standard-options#max"
[color scheme]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-standard-options#color-scheme"
[color scheme]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-standard-options#color-scheme"
[Configure field overrides]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-overrides"
[Configure field overrides]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-overrides"
[panel options]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-panel-options"
[panel options]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-panel-options"
[standard options]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-standard-options"
[standard options]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-standard-options"
[data links]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/panels-visualizations/configure-data-links"
[data links]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/visualizations/panels-visualizations/configure-data-links"
{{% /docs/reference %}}

View File

@@ -378,7 +378,7 @@ Set to `false` to disable database locking during the migrations. Default is tru
### locking_attempt_timeout_sec
For "mysql", if the `migrationLocking` feature toggle is set, specify the time (in seconds) to wait before failing to lock the database for the migrations. Default is 0.
For "mysql" and "postgres" only. Specify the time (in seconds) to wait before failing to lock the database for the migrations. Default is 0.
### log_queries
@@ -1652,6 +1652,11 @@ For more information about screenshots, refer to [Images in notifications]({{< r
Enable screenshots in notifications. This option requires a remote HTTP image rendering service. Please see `[rendering]` for further configuration options.
### capture_timeout
The timeout for capturing screenshots. If a screenshot cannot be captured within the timeout then the notification is sent without a screenshot.
The maximum duration is 30 seconds. This timeout should be less than the minimum Interval of all Evaluation Groups to avoid back pressure on alert rule evaluation.
### max_concurrent_screenshots
The maximum number of screenshots that can be taken at the same time. This option is different from `concurrent_render_request_limit` as `max_concurrent_screenshots` sets the number of concurrent screenshots that can be taken at the same time for all firing alerts where as concurrent_render_request_limit sets the total number of concurrent screenshots across all Grafana services.

View File

@@ -26,6 +26,7 @@ Some features are enabled by default. You can disable these feature by setting t
| `featureHighlights` | Highlight Grafana Enterprise features | |
| `correlations` | Correlations page | |
| `exploreContentOutline` | Content outline sidebar | Yes |
| `returnToPrevious` | Enables the return to previous context functionality | Yes |
| `cloudWatchCrossAccountQuerying` | Enables cross-account querying in CloudWatch datasources | Yes |
| `nestedFolders` | Enable folder nesting | Yes |
| `nestedFolderPicker` | Enables the new folder picker to work with nested folders. Requires the nestedFolders feature toggle | Yes |
@@ -54,6 +55,7 @@ Some features are enabled by default. You can disable these feature by setting t
| `lokiStructuredMetadata` | Enables the loki data source to request structured metadata from the Loki server | Yes |
| `managedPluginsInstall` | Install managed plugins directly from plugins catalog | Yes |
| `annotationPermissionUpdate` | Change the way annotation permissions work by scoping them to folders and dashboards. | Yes |
| `exploreMetrics` | Enables the new Explore Metrics core app | Yes |
| `alertingSimplifiedRouting` | Enables users to easily configure alert notifications by specifying a contact point directly when editing or creating an alert rule | Yes |
| `logRowsPopoverMenu` | Enable filtering menu displayed when text of a log line is selected | Yes |
| `lokiQueryHints` | Enables query hints for Loki | Yes |
@@ -75,7 +77,6 @@ Some features are enabled by default. You can disable these feature by setting t
| `autoMigrateXYChartPanel` | Migrate old XYChart panel to new XYChart2 model |
| `disableAngular` | Dynamic flag to disable angular at runtime. The preferred method is to set `angular_support_enabled` to `false` in the [security] settings, which allows you to change the state at runtime. |
| `newVizTooltips` | New visualizations tooltips UX |
| `returnToPrevious` | Enables the return to previous context functionality |
| `grpcServer` | Run the GRPC server |
| `accessControlOnCall` | Access control primitives for OnCall |
| `alertingNoNormalState` | Stop maintaining state of alerts that are not firing |
@@ -173,6 +174,7 @@ Experimental features might be changed or removed without prior notice.
| `nodeGraphDotLayout` | Changed the layout algorithm for the node graph |
| `kubernetesAggregator` | Enable grafana aggregator |
| `expressionParser` | Enable new expression parser |
| `usePrometheusFrontendPackage` | Use the @grafana/prometheus frontend package in core Prometheus. |
## Development feature toggles

View File

@@ -49,7 +49,7 @@ To enable the Azure AD OAuth2, register your application with Azure AD.
1. Click **Certificates & secrets**, then add a new entry under **Client secrets** with the following configuration.
- Description: Grafana OAuth
- Expires: Never
- Expires: Select an expiration period
1. Click **Add** then copy the key value. This is the OAuth client secret.

View File

@@ -516,3 +516,42 @@ To set up generic OAuth2 authentication with OneLogin, follow these steps:
team_ids =
allowed_organizations =
```
### Set up OAuth2 with Dex
To set up generic OAuth2 authentication with [Dex IdP](https://dexidp.io/), follow these
steps:
1. Add Grafana as a client in the Dex config YAML file:
```yaml
staticClients:
- id: <client id>
name: Grafana
secret: <client secret>
redirectURIs:
- 'https://<grafana domain>/login/generic_oauth'
```
{{% admonition type="note" %}}
Unlike many other OAuth2 providers, Dex doesn't provide `<client secret>`.
Instead, a secret can be generated with for example `openssl rand -hex 20`.
{{% /admonition %}}
2. Update the `[auth.generic_oauth]` section of the Grafana configuration:
```bash
[auth.generic_oauth]
name = Dex
enabled = true
client_id = <client id>
client_secret = <client secret>
scopes = openid email profile groups offline_access
auth_url = https://<dex base uri>/auth
token_url = https://<dex base uri>/token
api_url = https://<dex base uri>/userinfo
```
`<dex base uri>` corresponds to the `issuer: ` configuration in Dex (e.g. the Dex
domain possibly including a path such as e.g. `/dex`). The `offline_access` scope is
needed when using [refresh tokens]({{< relref "#configure-a-refresh-token" >}}).

View File

@@ -62,6 +62,32 @@ email_claim = sub
If `auto_sign_up` is enabled, then the `sub` claim is used as the "external Auth ID". The `name` claim is used as the user's full name if it is present.
Additionally, if the login username or the email claims are nested inside the JWT structure, you can specify the path to the attributes using the `username_attribute_path` and `email_attribute_path` configuration options using the JMESPath syntax.
JWT structure example.
```json
{
"user": {
"UID": "1234567890",
"name": "John Doe",
"username": "johndoe",
"emails": ["personal@email.com", "professional@email.com"]
}
}
```
```ini
# [auth.jwt]
# ...
# Specify a nested attribute to use as a username to sign in.
username_attribute_path = user.username # user's login is johndoe
# Specify a nested attribute to use as an email to sign in.
email_attribute_path = user.emails[1] # user's email is professional@email.com
```
## Iframe Embedding
If you want to embed Grafana in an iframe while maintaining user identity and role checks,

View File

@@ -18,7 +18,7 @@ weight: 1000
# Set up image rendering
Grafana supports automatic rendering of panels as PNG images. This allows Grafana to automatically generate images of your panels to include in alert notifications, [PDF export]({{< relref "../../dashboards/create-reports#export-dashboard-as-pdf" >}}), and [Reporting]({{< relref "../../dashboards/create-reports" >}}). PDF Export and Reporting are available only in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise" >}}).
Grafana supports automatic rendering of panels as PNG images. This allows Grafana to automatically generate images of your panels to include in alert notifications, [PDF export]({{< relref "../../dashboards/create-reports#export-dashboard-as-pdf" >}}), and [Reporting]({{< relref "../../dashboards/create-reports" >}}). PDF Export and Reporting are available only in [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise" >}}) and [Grafana Cloud](/docs/grafana-cloud/).
> **Note:** Image rendering of dashboards is not supported at this time.

Some files were not shown because too many files have changed in this diff Show More