Compare commits

..

1166 Commits

Author SHA1 Message Date
Torkel Ödegaard
3696958632 SectionNav: Remove root section right margin (#65507) 2023-03-29 10:51:56 +02:00
Kyle Cunningham
d8ac2e97a0 SQL Engine: Revert session changes (#64594)
Revert session changes
2023-03-29 15:04:28 +07:00
Abdul
aedcbf2a4f Explore: Make DataSourcePicker visible on small screens (#65149)
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2023-03-29 02:26:37 +01:00
Leon Sorokin
8fb64cbefd ErrorView: Better detection of no-data responses (#65477) 2023-03-28 17:55:13 -05:00
Leon Sorokin
6f4232bee3 HeatMap: Sort y buckets when all bucket names are numeric (#65322) 2023-03-28 17:16:24 -05:00
Tim Levett
1e098d2a4c (chore) update team name from partnerships to operator experience (#65494) 2023-03-28 16:46:56 -05:00
Serge Zaitsev
46605a3791 Chore: Fix authinfo api after result field removal (#65487)
fix authinfo api after result field removal
2023-03-28 23:12:57 +03:00
Isabel
1d38d03d09 docs: panel header updates (#65073)
* updated all text related to panel actions menu

* removed to do notes and updated intro text for panel inspect

* added screenshot

* added indents

* replaced panel links image and updated intro text

* added missed panel header related updates

* updated panel editor overview image

* chunked out steps per review feedback
2023-03-28 15:04:17 -05:00
Piotr Jamróz
ae3be459f0 Docs: Clean up Explore documentation (#64908)
* Remove the info about custom Prometheus Query Editor as it's not relevant since #60020

* Update basic Explore documentation

* Change graphs and tables to visualizations as Explore supports different types of visualization

* Make clear "Starred" refers to a tab

* Update how to select start/end date for query history

* Remove Prometheus specific section as it's no longer relevant. Prometheus query editor is documented in https://grafana.com/docs/grafana/latest/datasources/prometheus/query-editor/#metrics-browser

* Add informational log level (added in #30942)

* Use more direct language

* Fix a link

* Make headers more consistent

* Minor tweaks

* Update docs/sources/explore/explore-inspector.md

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

* Do not enumerate bullet points

* Fix incorrect header type

* Update tracing headers

* Link to more info about Mixed data source

* Use "data source" instead of "datasource"

* Fix tracing headers

* Fix more log headers

* Update docs/sources/explore/explore-inspector.md

Co-authored-by: J Stickler <julie.stickler@grafana.com>

---------

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
Co-authored-by: J Stickler <julie.stickler@grafana.com>
2023-03-28 21:53:17 +02:00
Isabel
4b29b1d741 docs: fix enhanced ldap alias (#65478)
fixed alias
2023-03-28 14:26:08 -05:00
Isabel
0d3e0e7cc4 docs: update elasticsearch grafana play link (#65280) 2023-03-28 13:52:19 -05:00
Serge Zaitsev
a38f230d37 Chore: Remove result fields from login (#65136)
* remove result fields from login

* fix tests

* fix tests

* another shadowing
2023-03-28 20:32:21 +02:00
Christopher Moyer
3b37135b5b Docs/updates install landing page (#64809)
* copy edit

* copy edits plus some restructuring

* Apply suggestions from code review

Co-authored-by: Dan Cech <dcech@grafana.com>

---------

Co-authored-by: Dan Cech <dcech@grafana.com>
2023-03-28 13:30:36 -05:00
Torkel Ödegaard
b7b608418d Templating: Introduce macros to simplify and optimize some scopedVars (#65317)
* Templating: Introduce macros to simplify and optimize some scopedVars

* Fixing tests

* fix test

* minor fix

* refactoring so macros work with formatting

* remove breaking change and keep current inconsistency

* Rename valueIndex to rowIndex

* Minor fixes

* Added test dashboard

* Added tags to dashboard

* Update

* Added test to check it returns match

* Update

* Fixed dashboard

* fix
2023-03-28 19:22:34 +02:00
mallettjared
2b73f8cfd5 Remove redundant content or delete this page entirely (#65446)
* Remove redundant content or delete this page entirely

The top of the page has redundant content pitching Grafana Cloud.

"You can also configure the MS SQL Server data source on a Grafana Cloud instance without having to host Grafana yourself."  Which is directly under the highlighted area explaining the same thing.  The same content is floating in the right side of all the pages as well.  

Removed "> **Note:** You must install Grafana 5.1+ in order to use the integrated MS SQL data source."   

Wait, why does this page exist if the data source page has the relevant updated content?  https://grafana.com/docs/grafana/latest/datasources/mssql/

* makes prettier

---------

Co-authored-by: Chris Moyer <chris.moyer@grafana.com>
2023-03-28 12:06:42 -05:00
Kristian Bremberg
420aeb3bec Sanitize: do not escape forward slash (#65416) 2023-03-28 12:42:53 -04:00
Polina Boneva
09ff5ab522 Dashboard: Empty dashboard page adapt font size to design (#65466)
adapt fontsizes to design
2023-03-28 19:34:41 +03:00
ismail simsek
0aee7338ad InfluxDB: Fix sending retention policy with InfluxQL queries (#63820)
* Send retention policy if that is specified

* Define the type

* Update default retention policy name

* Update unit tests

* fix unit tests

* fix unit tests again

* Load retention policies at first

* Fix tests

* Fix Editor tests

* Remove unused code

* A simpler approach

* Even simpler

* Even simpler
2023-03-28 19:20:15 +03:00
Torkel Ödegaard
273e05a9a2 MegaMenu: Fixes mega menu showing scroll indicator when it shouldn't (#65452)
* MegaMenu: Fixes mega menu showing scroll indicator when it shouldn't

* fixing css
2023-03-28 17:47:49 +02:00
Ivana Huckova
aa23758a96 Prometheus: Use $__rate_interval for rate queries generated by metric browser (#65386)
Prometheus: Fix using of rate interval for query from metric browser
2023-03-28 16:36:09 +02:00
Gareth Dawson
1f77c8c777 Loki: update height of conflicting filters (#65451)
* fix height of elements

* Update public/app/plugins/datasource/prometheus/querybuilder/shared/OperationEditor.tsx

Co-authored-by: Matias Chomicki <matyax@gmail.com>

* run prittier to pass drone

---------

Co-authored-by: Matias Chomicki <matyax@gmail.com>
2023-03-28 15:32:16 +01:00
Horst Gutmann
4ab3bd6f7e CI: Allow overwriting of existing GitHub release assets (#65127)
* CI: Allow overwriting of existing GitHub release assets

This closes #63698

* Use c for *cli.Context in publishgithub.go
2023-03-28 09:19:46 -05:00
Piotr Jamróz
b11186f946 Templating: Optionally save interpolated expressions when replacing variables in a string (#65411)
* Testing a refactor

* update

* Update interface, test interoplations map

* Refactoring

* Add more explicit comment about new behavior

* Update packages/grafana-runtime/src/services/templateSrv.ts

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>

---------

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-03-28 16:19:27 +02:00
Gábor Farkas
0cff917f2a Elasticsearch: Removed reference to obsolete esVersion value (#65415)
* elastic: removed reference to obsolete esVersion value

* removed unused code

* cleaned up tests
2023-03-28 17:04:56 +03:00
Alexander Weaver
de1637afe5 Alerting: Add alert instance labels to Loki log lines in addition to stream labels (#65403)
Add instance labels to log line
2023-03-28 08:57:51 -05:00
Alexander Weaver
dd04757fc9 Alerting: Add "backend" label to state history writes metrics (#65395)
* Add backend label to state history writes metrics

* Update test expectations
2023-03-28 08:49:51 -05:00
Andrew Hackmann
f0ddf900c0 cloud monitor is returning floats and we are trying to parse as strings (#65407) 2023-03-28 13:47:28 +00:00
Eric Leijonmarck
c8252f9987 Team sync: Fix apply query string instead of param (#65433)
* fix: apply query string instead of param

* Update public/app/features/teams/state/actions.ts
2023-03-28 14:40:51 +01:00
Laura Benz
2c978fb0f0 refactor: add return value for logsSample (#65357)
* refactor: add return value for logsSample

* refactor: modify test for new use case
2023-03-28 15:36:47 +02:00
Gilles De Mey
f68fd83951 Alerting: Use displayNameFromDS if available in preview (#65342) 2023-03-28 13:58:21 +02:00
Serge Zaitsev
b2ab57d14b Chore: Remove result field from notifications (#65170)
* remove result field from notifications

* fix test
2023-03-28 13:44:15 +02:00
Grafana I18n Bot
352967f092 I18n: Crowdin sync (#65437)
* New translations grafana.json (French)

* New translations grafana.json (Spanish)

* New translations grafana.json (German)

* New translations grafana.json (Chinese Simplified)
2023-03-28 12:25:07 +01:00
Emil Tullstedt
b210a39cb7 Dashboards: Evaluate provisioned dashboard titles in a backwards compatible way (#65184) 2023-03-28 13:24:19 +02:00
Sven Grossmann
3335d46c5f Theme: Fix wrong code segment in theme.md (#62488)
* fix wrong markdown

* fix prettier
2023-03-28 12:18:50 +01:00
Gilles De Mey
ed82f961dd Email: Mark HTML comments as "safe" in email templates (#64546) 2023-03-28 13:05:21 +02:00
Laura Fernández
48f5825499 DateTimePicker: Can now select time correctly (#65428) 2023-03-28 12:45:56 +02:00
Polina Boneva
221c5efedc Dashboard: Empty/No Panels dashboard with a new design (#65161)
* Empty Dashboard state has its own CTA items and its own separate box to choose a library panel to create

* show empty dashboard screen if no panels

* start page for empty dashboard

* add feature flag for empty dashboard redesign

* only show empty dashboard redesign if FF
2023-03-28 12:42:23 +03:00
Giuseppe Guerra
a89202eab2 Plugins: Improve instrumentation by adding metrics and tracing (#61035)
* WIP: Plugins tracing

* Trace ID middleware

* Add prometheus metrics and tracing to plugins updater

* Add TODOs

* Add instrumented http client

* Add tracing to grafana update checker

* Goimports

* Moved plugins tracing to middleware

* goimports, fix tests

* Removed X-Trace-Id header

* Fix comment in NewTracingHeaderMiddleware

* Add metrics to instrumented http client

* Add instrumented http client options

* Removed unused function

* Switch to contextual logger

* Refactoring, fix tests

* Moved InstrumentedHTTPClient and PrometheusMetrics to their own package

* Tracing middleware: handle errors

* Report span status codes when recording errors

* Add tests for tracing middleware

* Moved fakeSpan and fakeTracer to pkg/infra/tracing

* Add TestHTTPClientTracing

* Lint

* Changes after PR review

* Tests: Made "ended" in FakeSpan private, allow calling End only once

* Testing: panic in FakeSpan if span already ended

* Refactoring: Simplify Grafana updater checks

* Refactoring: Simplify plugins updater error checks and logs

* Fix wrong call to checkForUpdates -> instrumentedCheckForUpdates

* Tests: Fix wrong call to checkForUpdates -> instrumentedCheckForUpdates

* Log update checks duration, use Info log level for check succeeded logs

* Add plugin context span attributes in tracing_middleware

* Refactor prometheus metrics as httpclient middleware

* Fix call to ProvidePluginsService in plugins_test.go

* Propagate context to update checker outgoing http requests

* Plugin client tracing middleware: Removed operation name in status

* Fix tests

* Goimports tracing_middleware.go

* Goimports

* Fix imports

* Changed span name to plugins client middleware

* Add span name assertion in TestTracingMiddleware

* Removed Prometheus metrics middleware from grafana and plugins updatechecker

* Add span attributes for ds name, type, uid, panel and dashboard ids

* Fix http header reading in tracing middlewares

* Use contexthandler.FromContext, add X-Query-Group-Id

* Add test for RunStream

* Fix imports

* Changes from PR review

* TestTracingMiddleware: Changed assert to require for didPanic assertion

* Lint

* Fix imports
2023-03-28 11:01:06 +02:00
Serge Zaitsev
0beb768427 Chore: Remove result fields from ngalert (#65410)
* remove result fields from ngalert

* remove duplicate imports
2023-03-28 10:34:35 +02:00
Alexa V
42b58fbca6 [Panel Header - Fullstory]: Make sure new menu's are findable in fullstory (#65167) 2023-03-28 10:20:35 +02:00
Gábor Farkas
d73fdcfc11 Elasticsearch: Detect Elasticsearch version (#63341)
* elasticsearch: detect database version

* more test-friendly code
2023-03-28 06:59:39 +00:00
Joan López de la Franca Beltran
f9abd8608e Docs: Add 'tenant_id' for Loki clients (Auditing & Analytics) (#63098)
* Docs: Add 'tenant_id' for Loki clients (Auditing & Analytics)

* Apply suggestions from code review

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>
2023-03-27 22:44:16 +02:00
Yuri Tseretyan
ec4152c7e5 Alerting: Remove dependency on secrets in definitions package (#65391) 2023-03-27 16:35:54 -04:00
Isabel
c94760e844 docs: nav updates for administration & licensing (#65400)
* navigation related updates text only

* fixed styling
2023-03-27 13:04:27 -07:00
Dave Henderson
c0b5d2dfaa Tracing: Support multiple OTel propagators (#61199)
* tracing: Support multiple OTel propagators

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* tracing: add TraceIDString method to fix up tests

This method will be useful elsewhere if we want to log the trace ID.

* improve propagation docs

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* doc style fix

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* Use tracing.TraceIDFromContext instead of adding TraceIDString method

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

---------

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
Co-authored-by: Bryan Boreham <bjboreham@gmail.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-03-27 14:56:24 -04:00
Adela Almasan
a8adfe83b5 Canvas: Update metric value text for no data (#65372) 2023-03-27 12:26:34 -05:00
Torkel Ödegaard
f43ef18732 Revert "Explore: Show log line if there is an interpolated link" (#65315)
Revert "Explore: Show log line if there is an interpolated link (#62926)"

This reverts commit aa857e2a4f.
2023-03-27 19:19:42 +02:00
Adela Almasan
21ede347cb Canvas: Remove deleted connections from source (#65321) 2023-03-27 19:51:56 +03:00
Will Browne
1387fec51d Plugins: Markdown fetch retry with lowercase (#65384)
* retry with lowercase

* undo incorrect err check

* re-add defer to close file

* fix test
2023-03-27 19:44:06 +03:00
Ashley Harrison
a37a80bc56 Chore: update codeowners with new team name (#65385)
update codeowners with new team name
2023-03-27 19:35:23 +03:00
Stephanie Hingtgen
fb5a7acc73 Plugins: Add cloudwatch support with the secure socks proxy (#65303)
* Plugins: enable secure socks proxy on cloudwatch with workaround
2023-03-27 10:00:37 -06:00
Yuri Tseretyan
52a0f59706 Alerting: introduce AlertQuery in definitions package (#63825)
* copy AlertQuery from ngmodels to the definition package
* replaces usages of ngmodels.AlertQuery in API models
* create a converter between models of AlertQuery
---------

Co-authored-by: Alex Moreno <alexander.moreno@grafana.com>
2023-03-27 11:55:13 -04:00
Ryan McKinley
36e8ca7f13 Dashboards: Unify angular auto-migration code (#63915) 2023-03-27 18:11:45 +03:00
Ashley Harrison
f948482386 Navigation: Sanitize homeUrl (#65293)
sanitize homeUrl
2023-03-27 15:27:52 +01:00
Ivana Huckova
f3da91f53f Elasticsearch: Run Explore queries trough data source backend (#65339)
Elasticsearch: Execute Explore queries trough backend
2023-03-27 15:52:27 +02:00
David Radcliffe
cb68b1e0d1 Dashboard: Add value format for requests per minute (#62258)
add requests/min as value format option
2023-03-27 16:37:40 +03:00
Sonia Aguilar
54d7e95be1 Alerting: Fix wrong text in step4 (#65279)
* Fix wrong text in step4

* Add link to documentation for annotations in grafana alerts and cloud alerts
2023-03-27 15:28:20 +02:00
Mihaela
2ac7d0455c Limit issue-add-to-parent-project to only epics (#65260) 2023-03-27 12:59:04 +01:00
Bryan Boreham
7731a4d6af Tracing: Add more detail to HTTP Outgoing Request (#64757)
Add more detail to HTTP Outgoing Request.
As events rather than sub-spans, to save cluttering the view.
2023-03-27 13:04:43 +02:00
Dimitris Sotirakis
89d642e001 CI: Cleanup unnecessary grabpl dependencies (#65330)
* Remove unnecessary grabpl dependencies

* Revert test-frontend change
2023-03-27 12:55:45 +02:00
Bryan Boreham
f4a5f91496 Database: Don't sleep 10ms before every request (#64832)
Previously every DB operation would wait 10ms before even trying.
Now we try first, and defer creating the ticker until we need it.
2023-03-27 11:17:05 +02:00
Will Browne
31d6416157 Plugins: Migrate licensing and access control to pkg/services/pluginsintegration package (#65258)
* migrate licensing + access control

* update package name
2023-03-27 11:15:37 +02:00
Dimitris Sotirakis
3b00d2c273 CI: Remove grabpl dependency from publish-packages steps (#65329)
Remove grabpl dependency from publish packages
2023-03-27 11:03:49 +03:00
Dominik Prokop
2d7965402e Templating: Allow percent encoding of variable with custom all (#65266)
* Templating: Allow percent encoding of variable with custom all

* Test fix
2023-03-27 00:35:41 -07:00
ismail simsek
3cfb7ac0dd Chore: Remove expr imports (#64543)
* Remove expr imports

* Add comment
2023-03-23 21:55:54 +01:00
Isabel
a5c5db3e91 docs: nav updates for alerting (#65300)
* navigation related updates - text only

* navigation related updates

* navigation related text updates

* navigation related text updates

* navigation related text and image updates
2023-03-23 13:26:16 -07:00
Kevin Yu
0871b6aea9 CloudWatch Logs: Fix to make log queries use a relative time if available (#65236) 2023-03-23 13:11:12 -07:00
Grot (@grafanabot)
a02a28f229 Changelog: Updated changelog for 9.4.7 (#65292) 2023-03-23 17:41:49 +00:00
Andres Martinez Gotor
10adb1ff66 Chore: Split usagestats service (#65191) 2023-03-23 19:19:19 +02:00
Ivana Huckova
9ba38b760a Elasticsearch: Unify adhoc variables processing (#65274) 2023-03-23 17:46:33 +01:00
ismail simsek
ff83367e6e Security: Fixes for CVE-2023-1410 (#65278)
Remove rst2html dependency
2023-03-23 17:34:05 +01:00
Eric Leijonmarck
211ae2855b Docs: add featuretoggle introduction for onlyExternalOrgRoleSync in org roles management (#65264)
* docs: add featuretoggle introduction

* update to point to the setting instead

* Update docs/sources/administration/user-management/manage-org-users/index.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* update text

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-03-23 18:27:57 +02:00
Piotr Erdanowski
d5dacf5cd5 Cloudwatch: Add MeteredIOBytes metric for EFS (#64793) 2023-03-23 12:14:32 -04:00
Ryan McKinley
5870439026 Angular: Add feature toggle to disable angular at runtime (#65245) 2023-03-23 17:43:45 +02:00
lwandz13
0975e53fc0 Docs/updates amazon cloudwatch (#64987)
* updated AWS to Amazon in the index file

* edited query editor index file -AWS with Amazon
2023-03-23 08:43:21 -07:00
Guilherme Caulada
ac03c0efed Docker: Allow docker-build-full to work for BSD and GNU based systems (#65216)
* Replace tmp folder for tar stdin on build-docker-full

* Fix building linux/arm64 images using the Dockerfile
   Introduces JS_PLATFORM variable with linux/amd64 as default to allow building node packages.

* Revert unintended white line changes on Dockerfile
2023-03-23 12:03:25 -03:00
Gilles De Mey
409bd33a8f Alerting: Paginate result previews (#65257)
Co-authored-by: konrad147 <konradlalik@gmail.com>
Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
2023-03-23 15:17:33 +01:00
Karl Persson
382b24742a Auth: Add feature flag to move token rotation to client (#65060)
* FeatureToggle: Add toggle to use a new way of rotating tokens

* API: Add endpoints to perform token rotation, one endpoint for api request and one endpoint for redirectsd

* Auth: Aling not authorized handling between auth middleware and access
control middleware

* API: add utility function to get redirect for login

* API: Handle token rotation redirect for login page

* Frontend: Add job scheduling for token rotation and make call to token rotation as fallback in retry request

* ContextHandler: Prevent in-request rotation if feature flag is enabled and check if token needs to be rotated

* AuthN: Prevent in-request rotation if feature flag is enabled and check if token needs to be rotated

* Cookies: Add option NotHttpOnly

* AuthToken: Add helper function to get next rotation time and another function to check if token need to be rotated

* AuthN: Add function to delete session cookie and set expiry cookie

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2023-03-23 14:39:04 +01:00
Josh Hunt
d13488a435 NestedFolders: Show nested folders in Browse folder view (#63746)
* dirty dirty code for showing nested folders in folder view

refactor to NestedFolderItem

Update dashboard grid view to new types

update tests

REBASE OUT OF THIS BRANCH - joshhunt/star-by-uid merged into this

Squashed commit of the following:

commit d0f046ccd3
Author: joshhunt <josh@trtr.co>
Date:   Wed Feb 8 18:35:56 2023 +0000

    undo async

commit abe2777a1f
Author: joshhunt <josh@trtr.co>
Date:   Wed Feb 8 18:34:11 2023 +0000

    Dashboards: Star dashboards by UID

add type for dashboard search dto

clean DashboardSearchItem type

simplify DashboardSearchHit type

remove unused properties from DashboardSearchHit

make uid non-optional

rename + move NestedFolderItem type to DashboardViewItem

clean up

* wip

* fix checkbox selection of nested folders

* show folder's parent correctly

* Add dashboard result kind

* don't render folder empty view in SearchView

* call nested folders api only if feature flag enabled

* remove unused import

* un-rename variable to reduce PR diff

* fix typo in comment

* fix order of pseudoFolders

* Fix General folder not showing in browse

* rename folder view tests

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-03-23 13:28:45 +00:00
Grot (@grafanabot)
da97139489 Changelog: Updated changelog for 9.4.7 (#65268) 2023-03-23 14:21:36 +01:00
Domas
3301275dc0 Logging: Report error boundary errors to Faro (#65164) 2023-03-23 14:30:00 +02:00
annelaurefroment
7b7e417629 Updating documentation on alerting HA (#65064) 2023-03-23 11:34:38 +00:00
Torkel Ödegaard
647f693e59 Scenes: Update to latest scenes package and remove editing stuff (#65222)
* Update to latest scenes and remove editing stuff

* fixing test
2023-03-23 10:31:25 +01:00
Andrej Ocenas
d10ce5a122 TraceView: Don't require preferredVisualisationType to render (#64920) 2023-03-23 10:27:34 +01:00
Martin Beentjes
0464aebc8e Docs: Use correct function in labels and annotations docs (#65032)
Use correct function in labels and annotations docs
2023-03-23 10:10:49 +01:00
Ivana Huckova
66e4b12032 Elasticsearch: Fix using of interval value in histogram (#65201)
* Elasticsearch: Remove GetMinInterval method that is not used anymore

* Elasticsearch: Fix using of interval value in histogram

* Revert "Elasticsearch: Remove GetMinInterval method that is not used anymore"

This reverts commit a157003902.
2023-03-23 09:36:50 +01:00
Ivana Huckova
e8bb894a02 Elasticsearch: Remove GetMinInterval method that is not used anymore (#65203) 2023-03-23 09:36:37 +01:00
Ryan McKinley
baf5a1d141 Angular: Rename autoMigrateGraphPanels feature flag to autoMigrateOldPanels (#65243) 2023-03-22 21:02:36 -07:00
Ryan McKinley
7835aacc8f Schema: Remove exclusion for timeseries and update imports (#65242) 2023-03-23 02:14:54 +02:00
Serge Zaitsev
51fdf37faa Chore: Remove result field from loginattempt (#65117)
remove result field from loginattempt
2023-03-22 21:25:29 +01:00
Serge Zaitsev
e1d99365c1 Chore: Remove result fields from thumbs (#65096)
remove result fields from thumbs
2023-03-22 21:25:07 +01:00
Jeff Levin
d561920147 Context: add better error message when it panics loading a template (#65219)
add better error message about building frontend assets when the web server panics loading a template
2023-03-22 11:40:00 -08:00
Piotr Jamróz
b033fe8d73 Glue: Split correlations editor into 3 steps (#64818)
* Create simple Wizard for Correlations editor

* Allow using custom navigation in the wizard

* Update types

* Add more info

* Add comments

* Update comments

* Remove main info box to avoid having too many info boxes

* Fix CorrelationsPage.test.tsx

* Add Wizard test

* Simplify Correlations wizard

* Make expected typing error more explicit

* Don't use meaningless defaults
2023-03-22 20:20:45 +01:00
Ryan McKinley
732f3da33f Transformers: Support adding the row index using calculate field transformer (#65148) 2023-03-22 11:10:22 -07:00
Ryan McKinley
f96637b5fc Live: Remove (alpha) ability to configure live pipelines (#65138) 2023-03-22 20:09:44 +02:00
Torkel Ödegaard
b2fb7a162a Table: Fixes issue with pagination summary causing scrollbar (#65189)
* Table: Fixes pagination rows counter not causing scrollbar

* remove unused style
2023-03-22 18:57:05 +01:00
Torkel Ödegaard
cd490ba0be DataLinks: Fixes interpolation (formatting) of __all_variables and __url_time_range (#65162)
* DataLinks: Fixes interpolation (formatting) of __all_variables and __url_time_range

* simplify if statement
2023-03-22 18:56:18 +01:00
Tania
0409cfd116 Docs: Add Default column to generated schema docs (#64550)
Docs: Add  column to generated schema docs
2023-03-22 18:42:28 +01:00
Eric Leijonmarck
3cd952b8ba Auth: Fix orgrole picker disabled if isSynced user (#64033)
* fix: disable orgrolepicker if externaluser is synced

* add disable to role picker

* just took me 2 hours to center the icon

* wip

* fix: check externallySyncedUser for API call

* remove check from store

* add: tests

* refactor authproxy and made tests run

* add: feature toggle

* set feature toggle for tests

* add: IsProviderEnabled

* refactor: featuretoggle name

* IsProviderEnabled tests

* add specific tests for isProviderEnabled

* fix: org_user tests

* add: owner to featuretoggle

* add missing authlabels

* remove fmt

* feature toggle

* change config

* add test for a different authmodule

* test refactor

* gen feature toggle again

* fix basic auth user able to change the org role

* test for basic auth role

* make err.base to error

* lowered lvl of log and input mesg
2023-03-22 17:41:59 +00:00
Christopher Moyer
13af5afaf3 docs: Updates installation instruction for Debian/Ubuntu (#64232)
* draft changes

* Apply suggestions from code review

Co-authored-by: Dan Cech <dcech@grafana.com>

* reworks debian/ubuntu instructions, updates start server topic

* Apply suggestions from code review

Co-authored-by: Dan Cech <dcech@grafana.com>

* incorporates feedback; restructures to align with writers toolkit guidelines

* Apply suggestions from code review

Co-authored-by: Dan Cech <dcech@grafana.com>

* tweaks structure of server topic; renames directory, corrects relrefs

* corrects spelling

* Apply suggestions from code review

Co-authored-by: Dan Cech <dcech@grafana.com>

* removed web parameter

* removes unnecessary word

* incorporates feedback from internal reviewer

* updates alias

* updates alias

* adjust alias

---------

Co-authored-by: Dan Cech <dcech@grafana.com>
2023-03-22 12:41:17 -05:00
Virginia Cepeda
b90aed4fd7 Alerting: Improve showing nextEvaluationDate for rules (#65205)
* Improve showing nextEvaluationDate for rules

Co-Authored-By: Konrad Lalik <konradlalik@gmail.com>

* Improve imports and comments

---------

Co-authored-by: Konrad Lalik <konradlalik@gmail.com>
2023-03-22 14:02:08 -03:00
Horst Gutmann
ccd1815819 Chore: update latest.json to 9.4.7 (#65211) 2023-03-22 17:00:42 +00:00
Matias Chomicki
9874a2d48b Loki Logs sample: use the selected time range in sample request (#65126)
Logs sample: use the selected time range in sample request

There are parts of the query, such as label values, that could only be present during the current selected time interval. If we request using a time range other than the selected one, we are not providing builder suggestions based on the same data that the user is seeing.
2023-03-22 18:56:40 +02:00
Ivana Huckova
ae0f9fc44f Elasticsearch: Fix processing of response with multiple group by for alerting (#65165)
* Elasticsearch: Fix processing of response with multiple group by on backend

* Remove unused param from createFields

* Switch comments
2023-03-22 18:53:09 +02:00
Grot (@grafanabot)
adcdf190bb Changelog: Updated changelog for 9.4.7 (#65208) 2023-03-22 17:44:56 +01:00
Grot (@grafanabot)
f0c716a447 Changelog: Updated changelog for 9.3.11 (#65204) 2023-03-22 17:34:22 +01:00
Grot (@grafanabot)
a907e042f9 Changelog: Updated changelog for 9.2.15 (#65196)
* Changelog: Updated changelog for 9.2.15

* Update CHANGELOG.md

---------

Co-authored-by: Horst Gutmann <horst.gutmann@grafana.com>
2023-03-22 17:21:27 +01:00
Torkel Ödegaard
a3de3c9dde Table: Fixes table panel gauge alignment (#64994)
* Table: Fixes tables guage alignment issues

* Removed console.log

* Fixing
2023-03-22 17:08:41 +01:00
Grot (@grafanabot)
09e3faaa4c Changelog: Updated changelog for 8.5.22 (#65192) 2023-03-22 17:04:36 +01:00
Dimitris Sotirakis
d0be9610f0 CD: Remove fetch-images dependency from AWS marketplace automation (#65173)
* Remove fetch-images dependency

* Fix starlark link
2023-03-22 17:35:57 +02:00
Virginia Cepeda
43bbe567e7 Alerting: Support filtering rules by multiple datasources (#64355)
* Support having a datasources array in the rules filter

* Fix tests

* Display a MultiplePicker for filtering datasources

* Fix tests

* Refactor as MultipleDataSourcePicker as FC

* Make select box wider

* Remove FC from component definition

* Display ds options in groups based on whether they manage/don't manage rules

* Change dropdown texts and add help info
2023-03-22 12:02:56 -03:00
Selene
b3d0c39f08 Chore: Update times in dashboards (#65179)
Update times in dashboards
2023-03-22 15:57:44 +01:00
Ryan McKinley
01a5d5042d Units: Format currency with negative before the symbol (#65152) 2023-03-22 07:54:54 -07:00
Joao Silva
14607e78d1 Admin: Change permissions to /admin page so org admins don't get redirected (#65098) 2023-03-22 15:35:17 +01:00
Kyle Cunningham
bf687fff45 SQL Datasources: Prevent Call Stack Overflows with Large Numbers of Values for Variable (#64937)
* Push values with every map call to avoid hitting the maximum call stack size.

* Add test and refactor to for of

* Use native fill instead of lodash

---------

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2023-03-22 14:50:54 +01:00
juanicabanas
5435ae25f7 PublicDashboards: Frontend tracking events (#64854) 2023-03-22 10:49:34 -03:00
Eric Leijonmarck
0673c1a4ea API keys: Add migration path for API and terraform to Docs (#64436)
* docs: update migration path for API and terraform

* updates topic

* update

* update permissions

* updates before you begin prereqs

* update permissions section

* Update docs/sources/administration/api-keys/index.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/administration/api-keys/index.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/administration/api-keys/index.md

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>

* Update docs/sources/administration/api-keys/index.md

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>

* Update docs/sources/administration/api-keys/index.md

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>

* Update docs/sources/administration/api-keys/index.md

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>

* change based on revie

* Update docs/sources/administration/api-keys/index.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/administration/api-keys/index.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* formatting

---------

Co-authored-by: Chris Moyer <chris.moyer@grafana.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>
2023-03-22 13:09:53 +00:00
ismail simsek
1328878ace Expressions: More robust expression check (#65006)
More robust expression check
2023-03-22 14:02:20 +01:00
Kristina
aa857e2a4f Explore: Show log line if there is an interpolated link (#62926)
* bring in source from database

* bring in transformations from database

* add regex transformations to scopevar

* Consolidate types, add better example, cleanup

* Add var only if match

* Change ScopedVar to not require text, do not leak transformation-made variables between links

* Add mappings and start implementing logfmt

* Add mappings and start implementing logfmt

* Remove mappings, turn off global regex

* Add example yaml and omit transformations if empty

* Fix the yaml

* Add logfmt transformation

* Cleanup transformations and yaml

* add transformation field to FE types and use it, safeStringify logfmt values

* Add tests, only safe stringify if non-string, fix bug with safe stringify where it would return empty string with false value

* Add test for transformation field

* Do not add null transformations object

* Add provisioning (to be removed) and show log lines with links

* Only display links if change to query was made

* Break out transformation logic, add tests to backend code

* Fix lint errors I understand 😅

* Fix the backend lint error

* Remove unnecessary code and mark new Transformations object as internal

* Add support for named capture groups

* Remove type assertion

* Remove variable name from transformation

* Add test for overriding regexes

* Add back variable name field, but change to mapValue

* fix go api test

* Change transformation types to enum, add better provisioning checks for bad type name and format

* Change transformation types to enum, add better provisioning checks for bad type name and format

* Check for expression with regex transformations

* Remove isInterpolated variable, add option to always use format function

* Add template variable check to links

* Use new functions

* Filter log line at render, remove extra createSpanLink imports

* Add scrollable to long log messages

* Remove test that is no longer accurate

* Remove test correlation

* Add tests, fix duplicate key issue

* WIP: show log line links key/value pairs

* Some not great style changes

* Change LogDetailsRow for better multi value formatting

* Cleanup

* Add additional information around variable regex, implement PR feedback

* Display name with fieldPath if applicable

* Add variables with fieldPaths to test

* Count empty string as undefined variable

* Add better commented version of function, fix tests by removing new variable

* Modify when links show

* Remove sample yaml

* If a link has no variables, set value to field name, and some formatting issues

* Add comments and change variable names to be more clear, add back logic where needed, add test coverage for new scenario

* Fix formatting of replaceInVariableRegex comment

* Remove changes from Grafana-data, move logic into explore

* Rename function and property to match similar format

* Move types to type files and consolidate definitions, rename functions, change field definitions to accept arrays of keys/values, move function to parser, hide actions on multi key/value rows

* Add tests to logParser’s new function
2023-03-22 08:01:04 -05:00
Virginia Cepeda
a1fc515c88 Alerting: Enable preview for recording rules (#63260)
* Create RecordingRuleEditor component

It reuses QueryEditor and propagates a few properties to allow to filter the visible datasources and customize what's shown in the editor header

* Set recording rules queries as a new state prop

Otherwise it would get mixed up with the alert rules queries when switching back and forth from this option. This also allows me to initialize these queries with the right datasource

* Show CloudRulesSourcePicker only for Loki/Mimir rules

As now we use the query editor for recording rules which already includes a datasource picker within

* Fix lint and tests

* Fix saving a recording rule

* Show expression when editing the recording rule

* Show query editor back for cloud rules

* Fix duplicated import

* Tweak after rebase

* Remove ts-ignore

* Refactor to use queries state instead of recordingRuleQueries

* Refacrtor RecordingRuleEditor to use ds QueryEditor

* Revert extra properties previously added to QueryEditor components

* Remove console.log

* Fix saving/editing a recording rule

* Fix tests

* Add margin to vizwrapper component
2023-03-22 09:21:15 -03:00
brendamuir
e243db6e6b Docs: fixes intro title (#65174)
fixes intro title
2023-03-22 12:53:40 +01:00
Gábor Farkas
6559971c02 devenv: elastic: remove unnecessary console logging (#65160) 2023-03-22 11:50:45 +01:00
Uladzimir Dzmitračkoŭ
67daa90651 GrafanaUI: change active tab styles to prevent layout shift (#64126) 2023-03-22 11:49:50 +01:00
Arve Knudsen
f7ee42d871 Prometheus: Reduce memory allocations in QueryData.processExemplars (#63373)
* tsdb/prometheus/querydata: Reduce memory allocations in QueryData.processExemplars

---------

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2023-03-22 10:59:39 +01:00
Gábor Farkas
6d5242e54c elasticsearch: backend: better timestamp parsing (#64681)
* elasticsearch: backend: better timestamp parsing

* refactor
2023-03-22 09:52:55 +01:00
Joey
b1a7e1d33d Tempo: Update service graph view and docs (#64875)
Update service graph view and docs
2023-03-22 08:37:44 +00:00
Ivana Huckova
0740d4e911 Elasticsearch: Fix top metrics with terms in backend (#65063)
* Elasticsearch: Fix top metrics with terms in backend

* Refactor to remove cyclomatic complexity
2023-03-22 09:36:43 +01:00
Gabriel MABILLE
895d4cc60b Prometheus Metrics: Add missing stat_total_teams metric (#65133)
* Prometheus Metrics: Add missing stat_total_teams metric
2023-03-22 09:14:43 +01:00
Jack Baldry
8941ca813c Add @imatwawana to CODEOWNERS for her area of responsibility (#64963)
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2023-03-22 07:41:02 +00:00
mikkancso
4e3e58656e Connections: Turn on feature toggle by default (#64885)
* turn on dataConnectionsConsole by default

* change connection feature state to stable

* generate feature toggle files

* increase error threshold for pa11y
2023-03-22 08:25:35 +01:00
Alexander Weaver
07368dec74 Alerting: Fix attachment of external labels to Loki state history log streams (#65140)
Fix attachment of external labels, add tests
2023-03-21 18:00:59 -05:00
Kristina
702ec59cc4 Add quota setting for correlations (#65076)
* Add quota setting for correlations

* Fix linter
2023-03-21 15:27:25 -05:00
Alexander Weaver
bf54f2672e Alerting: Switch to snappy-compressed-protobuf for outgoing push requests to Loki (#65077)
* Encode with snappy, always

* JSON encoder type

* Headers

* Copy labels formatter from promtail

* Implement snappy-proto encoding

* Create encoder interface, test both encoders, choose snappy-proto by default

* Make encoder configurable at the LokiCfg level

* Export both encoders

* Touch up comment and tests

* Drop unnecessary conversions after move to plain strings to appease linter
2023-03-21 13:38:42 -05:00
Ryan McKinley
83e9558cdd Transformers: move long to wide logic into existing transformer (#64474) 2023-03-21 11:35:47 -07:00
Isabel
0efa8c5ce1 docs: nav updates for user, role, team management (#64965)
* text nav updates

* navigation related updates

* used Connections instead of Administration workflow for add data source steps

* wording edit

* updated data source permissions section

* Apply suggestions from code review and wording edit

* empty commit to trigger linting

* change to trigger linting
2023-03-21 10:45:50 -07:00
Alexander Weaver
cc7e5ce62e Alerting: Fix ambiguous handling of equals in labels when bucketing Loki state history streams (#65013)
* Use JSON instead of data.Labels string format as label repr

* Drop debug log line
2023-03-21 12:33:27 -05:00
Andre Pereira
bfb0dde4a8 Tempo: Search using TraceQL improvements (#64616)
* Added scope to filter

* Intrinsic fields don't have scope

* Consistent plus button placement next to the last tag. Changed All Scopes to "unscoped"

* Added validation to duration fields

* Disable options load when dropdown is opened

* Use focused list of operators when all values are of type string or int/float

* Fixed and added tests

* Fix another test

* Better way to prevent duplicate and redundant backend requests when a filter updates
2023-03-21 15:59:16 +00:00
Matias Chomicki
6093e45178 Loki Query Chunking: Refactor naming conventions and reorganize code (#65056)
* Rename splitting files to chunking

* Rename time chunking functions

* Move response functions to response utils

* Remove some blank spaces

* Add an extra test case for frame refIds and names
2023-03-21 15:54:18 +00:00
Gilles De Mey
1b3e6d65ae grafana-ui: cache ellipsis-h (#65017) 2023-03-21 16:27:13 +01:00
Christopher Moyer
d67ad9efc4 docs: updates windows/mac install topics (#64740)
* updates windows/mac install topics

* corrects typo

* Apply suggestions from code review

Co-authored-by: Dan Cech <dcech@grafana.com>

* tweaks

---------

Co-authored-by: Dan Cech <dcech@grafana.com>
2023-03-21 10:24:19 -05:00
David Harris
fc761ad69f chore: minor update to feature request description (#65112)
minor update to feature request description

Slight change just to make the description read more naturally.
2023-03-21 14:46:59 +00:00
Alexander Weaver
e39d7f44c9 Alerting: Elide requests to Loki if nothing should be recorded (#65011)
Exit early if no log streams or annotations
2023-03-21 09:30:56 -05:00
Ryan McKinley
a0d440fb03 Dashboards: Show copy menu item to editors (regardless of dashboard edit state) (#64826) 2023-03-21 07:15:45 -07:00
Victor Marin
24ecc7d0dc Fix x-value being formatted as time when not necessary (#65095) 2023-03-21 16:03:34 +02:00
Karl Persson
d2b19c167b AuthN: Change error returned when sign up is disabled for provider (#65110) 2023-03-21 15:36:53 +02:00
Gábor Farkas
335bcd1e4e elasticsearch: more robust field order (#65102) 2023-03-21 12:44:10 +00:00
Will Browne
23e3ac0ac9 Plugins: Improve client instrumentation by adding cancelled status and logging errors (#65099)
add cancelled status and log err
2023-03-21 13:42:57 +01:00
brendamuir
89c65e22d3 Docs: fix numbering and rename topic (#65093)
* Docs: fix numbering and rename topic

* fixes typo

* removes full stops

* deletes :
2023-03-21 13:37:00 +01:00
Andres Martinez Gotor
8fbf009cbd CODEOWNERS: Clarify grafana-ui/components (#65086) 2023-03-21 13:34:31 +01:00
Serge Zaitsev
743d66396a Chore: Remove result field from API keys commands and queries (#65055)
* Chore: remove result field from api keys

* fix shadowing

* actually shadowing was all right
2023-03-21 13:26:33 +01:00
Tobias Skarhed
590b07539f Core: Update components to have standard radii (#65065)
* Update core border radii

* Add non-default border-radius on some grafana-ui items
2023-03-21 12:24:50 +01:00
Konrad Lalik
d8e32cc929 Alerting: Prometheus-compatible Alertmanager timings editor (#64526)
* Change Alertmanager timings editor

* Update timing inputs for default policy editor

* Switch prom duration inputs in notification policy form

* Fix a11y issues

* Fix validation

* Add timings forms tests

* Fix default policy form and add more tests

* Add notification policy form tests

* Add todo item

* Remove unused code

* Use default timings object to fill placeholder values
2023-03-21 12:12:25 +01:00
Dan Cech
cc5211119b switch from github.com/gofrs/uuid to github.com/google/uuid (#65016)
* switch from github.com/gofrs/uuid to github.com/google/uuid

* add golangci rule to prevent inadvertent reintroduction
2023-03-21 06:31:29 -04:00
Christy O'Reilly
a7bb87d15d Chore: Refactor to introduce VARIABLE_PREFIX constant (#62980)
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2023-03-21 10:46:18 +01:00
Selene
1328a32a31 Chore: Fix times in schemas (#64906)
* Fix times in schemas

* Fix frontend lints
2023-03-21 10:42:19 +01:00
Ashley Harrison
9ca01cc070 Notifications: Enable display of trace ID by default (#64884)
enable tracing by default
2023-03-21 09:35:21 +00:00
Giuseppe Guerra
41b0c17aae Docs: Add documentation on how to debug backend plugins (#64814)
* Docs: Add documentation on how to debug backend plugins

* Changes from PR reviews

* PR review changes
2023-03-21 10:03:18 +01:00
Torkel Ödegaard
395890c357 Prometheus/Loki: Run query explicitly instead of onblur in panel edit (#64815)
* Prometheus: Run query explicitly instead of onblur in panel edit, and highlight Run qqueries when query changed

* Update loki to do the same

* Cleanup unused prop

* Remove test
2023-03-21 07:55:34 +01:00
Serge Zaitsev
126c4a106e Chore: Remove result field from remaining datasources queries (#65054)
remove result field from datasources
2023-03-20 19:18:21 +01:00
Isabel
70116dc65f docs: nav updates for various admin topics (#64988)
* navigation related updates

* fix typos

* removed manual navigation to home section and updated intro text for changing default dashboard
2023-03-20 10:43:22 -07:00
Jev Forsberg
93bcc3b26c Stat Panel: Add an option for a non-gradient/solid background (#65052)
* baldm0mma/statNoGrad/ add no gradient option

* baldm0mma/statsNoGrad/ update migration and tests

* baldm0mma/statsNoGrad/ update suggestions module

* baldm0mma/statsNoGrad/ update bigValueLayout test

* baldm0mma/statNoGrad/ remove unused comment

* baldm0mma/statNoGrad/ revert to background

* baldm0mma/statNoGrad/ update enum values
2023-03-20 11:13:27 -06:00
Usman Ahmad
ccfe09d20e Information about SQLite limitations (#64990)
* Update _index.md

I am creating this PR to add more content about the SQLite (the default database for Grafana) limitations. SQLite is fine for small environments but not suitable when monitoring many Dashboards and sending lots of alerts frequently.

For e.g. this issue is just from this week and then got followed up by 3-4 more similar issues (all related to SQLite and are linked with this issue)

Closes #64664 

By adding more information, will have less frequency of such issues reported by users.

Also, once this PR get submitted, will also create a new PR about the possible workaround to not get the error message "database locked" while using SQLite.

* Update docs/sources/setup-grafana/installation/_index.md

Thank you. Also, can you please add this link to the High Availablity text as hyperlink.

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/setup-grafana/installation/_index.md

* Update docs/sources/setup-grafana/installation/_index.md

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-03-20 11:53:49 -05:00
Ryan McKinley
91a4b8b529 Chore: remove dashboardsFromStorage (#65058) 2023-03-20 18:36:49 +02:00
Mitch Seaman
fbb0dcb0ca Add DoD review tasks to pr template (#64726)
* add dod review tasks to pr template

* remove big-feature content
2023-03-20 10:36:22 -06:00
SeamusGrafana
661e44ae6d [Docs] - Add Warning about Version Downgrade and Alerting to Grafana … (#64896)
* [Docs] - Add Warning about Version Downgrade and Alerting to Grafana v9.4 Upgrade Instructions

Add Warning about Version Downgrade and Alerting to Grafana v9.4 Upgrade Instructions

* Update docs/sources/upgrade-guide/upgrade-v9.4/index.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/upgrade-guide/upgrade-v9.4/index.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* makes prettier

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Chris Moyer <chris.moyer@grafana.com>
2023-03-20 18:05:07 +02:00
Artur Wierzbicki
4274b9414f Chore: remove querylibrary feature toggle (#65021)
* chore: remove querylibrary

* chore: remove querylibrary

* chore: remove querylibrary
2023-03-20 20:00:14 +04:00
Sven Grossmann
68551ac9ca Loki: Add lokiQueryChunkingOption feature flag (#65057)
* add `lokiQueryChunkingOption` feature flag

* be safe and also rely on `config.featureToggles.lokiQuerySplitting`

* renamed to `lokiQuerySplittingConfig`

* fix typo
2023-03-20 16:51:36 +01:00
Torkel Ödegaard
c00c0a283e TablePanel: Switch to radio buttons for some cell options (#65000)
* TablePanel: Switch to radio buttons for the cell option

* Fixes issue with no default mode handling for colored background
2023-03-20 16:37:58 +01:00
Ivana Huckova
a416235e8f Elasticsearch: Fix processing of percentiles on backend (#64540)
* Elasticsearch: Fix processing of percentiles on backend

* Remove redundant logic as we do this in addMetricValue

* Refactor for less cyclomatic complexity

* Remove changes in createFieldsFromPropKeys
2023-03-20 16:32:19 +01:00
Shirley
972e611f76 CloudWatch Logs: Revert "Queries in an expression should run synchronously (#64443)" (#65036)
Revert "CloudWatch Logs: Queries in an expression should run synchronously (#64443)"

This reverts commit 74436d31de.
2023-03-20 15:54:30 +01:00
Torkel Ödegaard
6f73777d59 SectionNav: Make section toggle not take up horizontal space (#64898) 2023-03-20 15:43:05 +01:00
Tobias Skarhed
1332b0d844 Grafana UI: Change border-radius to common 2px (#64502)
* Change border-radius to common 2px

* Add new radius options

* Deprecate radiusBorder function
2023-03-20 15:39:30 +01:00
Jack Westbrook
489500b5a7 Toolkit: Minor bump Webpack (#64957)
chore(toolkit): bump webpack to silence dependabot
2023-03-20 15:37:55 +01:00
Ludovic Viaud
07be0643f0 Instrument transformations (#64960)
* Instrument transformations

* Fix any

* Fix any

* Fix unit test
2023-03-20 15:30:07 +01:00
Gábor Farkas
e1321f8721 elasticsearch: more tests (#64971)
* elasticsearch: more tests

* fix issue with uppercase refID on linux

---------

Co-authored-by: Todd Treece <todd.treece@grafana.com>
2023-03-20 15:50:26 +02:00
Will Browne
ee2dd62a1f Plugins: Refactor loader + finder to support multiple sourcing methods (#64735)
* it's cdn time

* tidy body closing

* auto signed

* fix close

* update log name

* remove comments
2023-03-20 14:35:49 +01:00
Brendan O'Handley
eba2c7b522 Prometheus: Metric encyclopedia, return results in table format (#64851)
* add table results to metric encyclopedia

* remove extra tests

* add class to top align text in td elements

* add secondary style to use metric button and remove unused styles

* Prometheus: Make metrics encyclopedia more responsive for smaller screens (#64909)

* improvements

* remove comments

* feat: exclude all mertics with no metadata

* remove comment

* convert from InlineSwitch to Switch components

* fix bug, enter a fuzzy search sentence, switch to fullMetaSearch, perform fuzzysearch function

---------

Co-authored-by: Gareth Dawson <gareth.dawson@grafana.com>
2023-03-20 09:21:19 -04:00
Torkel Ödegaard
18385bfb0e Revert "Stat: Add ability to remove default single-color background gradient" (#65002)
Revert "Stat: Add ability to remove default single-color background gradient (#64353)"

This reverts commit de901560d7.
2023-03-20 14:17:51 +01:00
Domas
ff49683673 Tempo: Set default limit if none is provided for traceql queries (#65039)
add default limit to tempo datasource traceql searches
2023-03-20 14:47:23 +02:00
linoman
b3243486e8 Fix empty value for expiry date (#64893) 2023-03-20 13:32:20 +01:00
Ieva
7860ca6c3d RBAC: protect folder creation and moving (#64636)
* protect moving folders to a subfolder and creating folders in a subfolder

* folder update endpoint isn't used for folder parent update

* lint

* move permission check logic to services, fix tests

* linting
2023-03-20 11:04:22 +00:00
Sven Grossmann
7a17a8f02d QueryStats: Fix comparison of relative and absolute timeranges (#65035)
* add missing fix of relative timeranges

* add doc
2023-03-20 11:35:03 +01:00
Torkel Ödegaard
5c9898a860 Scenes: SceneApp example in core (#64686)
* Scenes: Progress on demo app

* Argh

* Fixing breadcrumbs

* Added spacer

* Conditional scene objects

* Quick and dirty test for drilldown link via panel title

* Changed the toggle

* Add url state syncing for most links

* Add url state syncing for most links

* Fix instance in url params

* Quick and dirty tabs on the handler page

* fixing breadcrumbs

* Hide footer

* Updates

* new table styles

* Update table cell link styles

* Added search box

* Scene app demo: dynamic data link (#60398)

* Dynamically build data links

* Add field override tests

* Updates

* Updated

* Updates

* before nesting routing

* Something is working

* Caching and nested routes working

* Simplify model

* Use app components from grafana/scenes

* Make the monitoring app work with section nav

* Fixing

* Update scenes

* Remove unused route

* Updates

* remove file

* Update scenes version and use new features

* Remove semicolon

* removed unused thing

* Add refresh pickers

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2023-03-20 11:15:42 +01:00
Torkel Ödegaard
769b4598d7 Router: Fix broken link interception and router navigation (#65023)
* Router: Fix broken link interception and router navigation

* replace with instanceof Element
2023-03-20 10:54:10 +01:00
Dimitris Sotirakis
4a80233bed CI: Update grabpl to 3.0.30 (#65028)
Update grabpl
2023-03-20 11:46:17 +02:00
Levente Balogh
788e4a7f19 Extensions: Simplify the configure() function (#64958)
refactor: stop passing the extension to the `configure()` function
2023-03-20 10:41:15 +01:00
Jack Westbrook
46cba5f993 Fix: Grafana/e2e openPanelMenuExtension flow (#64974)
fix(e2e): update openPanelMenuExtension to open extensions menu
2023-03-20 10:18:05 +01:00
Sven Grossmann
6ae373b8c7 QueryStats: Fix comparison of timeranges (#65025)
* fix timerange comparison

* remove import
2023-03-20 10:04:41 +01:00
Andre Pereira
67fe282f7e Flame Graph: Fix Copy Function Name (#64970)
Fix getting the function name when clicking the Copy Function Name context menu item of the flame graph
2023-03-20 08:57:03 +00:00
Sofia Papagiannaki
4ee0be6fdf Chore: Add function for detecting if the SQL driver supported CTEs (#64441)
* Add interface method for detecting if the SQL driver supported CTEs

* Update nested folder store to call RecursiveQueriesAreSupported()
2023-03-20 10:27:08 +02:00
Gilles De Mey
fd6e97d52d Alerting: Inherit new policy grouping from parent (#64956) 2023-03-20 07:58:23 +01:00
Horst Gutmann
2897ee37bf Update CODEOWNERship for grafana-delivery team (#64973) 2023-03-20 07:55:07 +01:00
Gilles De Mey
59bc66f0ef Alerting: Normalize border-radius usage (#64613) 2023-03-20 07:54:50 +01:00
Alexa V
5bbdc62044 Storybook: Add MDX PanelChrome documentation (#64916) 2023-03-20 06:48:41 +01:00
ismail simsek
8438716bf5 Use standard border-radius as 2px (#64534) 2023-03-19 20:59:51 +01:00
ismail simsek
ae07bf7ce5 Influxdb: Response parser performance improvement (#64776)
* Influxdb response parser allocation improvements

* More improvements

* more improvements

* embed file

* use json-iterator

* rename

* use encoding/json
2023-03-17 20:45:13 +01:00
Alexander Weaver
40c5713cbd Vendor errors.Join from Go standard library to avoid version incompatibilities (#64985)
Vendor errors.Join from std lib
2023-03-17 14:07:58 -05:00
Alexander Weaver
a31672fa40 Alerting: Create new state history "fanout" backend that dispatches to multiple other backends at once (#64774)
* Rename RecordStatesAsync to Record

* Rename QueryStates to Query

* Implement fanout writes

* Implement primary queries

* Simplify error joining

* Add test for query path

* Add tests for writes and error propagation

* Allow fanout backend to be configured

* Touch up log messages and config validation

* Consistent documentation for all backend structs

* Parse and normalize backend names more consistently against an enum

* Touch-ups to documentation

* Improve clarity around multi-record blocking

* Keep primary and secondaries more distinct

* Rename fanout backend to multiple backend

* Simplify config keys for multi backend mode
2023-03-17 12:41:18 -05:00
Ezequiel Victorero
e01a3e0ea5 PublicDashboards: Added grafana special datasources to supported list (#64930) 2023-03-17 13:14:24 -03:00
Isabel
529ffe61e7 docs: nav updates for get started and setup (#64931)
* nav updates

* nav related updates

* updated steps

* fixed wording
2023-03-17 09:12:40 -07:00
Andreas Christou
edc47964b6 AzureMonitor: Increase wait for credentials to be ready in E2E test (#64969)
Increase wait for credentials to be ready
2023-03-17 11:07:08 -05:00
Serge Zaitsev
2d30f33ad8 Chore: Unite wire graphs for cli and server (#61143)
* Chore: unite wire graphs for cli and server

* remove cli wire once again

* try to fix runner wire injection

* unify runner initialisation
2023-03-17 16:36:39 +01:00
Sofia Papagiannaki
f5cb8c660e SQLStore: Fix setting query tries for integration tests (#64944)
* SQLStore: Pass testinfra database configuration to the test database

* Add test

* Bypass gocyclo check for initTestDB
2023-03-17 17:31:03 +02:00
Sven Grossmann
7261c6f7cd DataSourceWithBackend: Add queryGroupId to find correlated/related queries (#64587)
* add `correlationId` to queries

* trace correlation id in backend

* add correlation id to loki's span

* add correlation id to query chunks

* fix test

* fix DataSourceWithBackend test

* change to `queryGroupId`

* remove empty line

* fix test in `DataSourceWithBackend`
2023-03-17 15:48:13 +01:00
Sven Grossmann
6f83a45e1b Logs: Fix variant of Download logs button (#64962)
fix button variant
2023-03-17 16:31:32 +02:00
Ryan McKinley
747b729743 Tabs: Avoid whitespace wrapping (#64824) 2023-03-17 06:51:29 -07:00
Ryan McKinley
b39039eadd DataLinks: Default to percentEncoding (#64841) 2023-03-17 06:51:06 -07:00
Ryan McKinley
7d1ebe6b75 Scenes: improve createVizPanelFromPanelModel helper (#64918) 2023-03-17 06:50:37 -07:00
Alexander Weaver
9bcf8819d3 Alerting: Handful of small adjustments to log levels and parameters (#64572)
Calculate duration earlier in scheduler
2023-03-17 12:15:49 +00:00
Stephanie Hingtgen
ae38501675 Plugins: add UI toggle for additional datasources for secure socks proxy (#64934) 2023-03-17 06:15:20 -06:00
gotjosh
02a8f62021 Alerting: Fix stats that display alert count when using unified alerting (#64852)
* Alerting: Fix stats when using unified alerting
2023-03-17 11:19:18 +00:00
Ashley Harrison
f4c62a5c5d Navigation: handle case when there is no alerting node at all (#64941)
* handle case when there is no alerting node at all

* update backend tests
2023-03-17 11:08:36 +00:00
Sofia Papagiannaki
41843464d1 SQLStore: Fix SQLite error propagation if query retries are disabled (#64904)
* SQLStore: Add test when query retrying is disabled

* Fix condition

* Add test cases for sqlite3.ErrLocked
2023-03-17 12:57:13 +02:00
Jack Westbrook
595518ec12 Plugin Extensions: Move PanelMenu links into extensions submenu (#64599)
* feat(pluginextensions): move panel menu links into an extensions submenu

* refactor(pluginextensions): move extensions submenu above more... submenu

* test(panelmenu): fix failing tests after moving extensions out of more

* fix: fix rebase issues

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2023-03-17 11:09:23 +01:00
Sven Grossmann
15804234d6 QueryHistory: Fix filter strings being regular escaped (#64879)
* fix wrong regex escape in query history

* fix import

* disable regexescape on `RichHistoryStarredTab`
2023-03-17 10:21:58 +01:00
gotjosh
406431df4e Alerting: QoL improvements to the unified alerting multi-replica devenv (#64907) 2023-03-17 07:14:31 +00:00
Ludovic Viaud
e22e12455d Revert "Fix xss in Graphite functions tooltip (#64925)" (#64933)
This reverts commit a896feb346.
2023-03-16 21:37:48 +01:00
Ludovic Viaud
a896feb346 Fix xss in Graphite functions tooltip (#64925) 2023-03-16 21:15:18 +01:00
Gareth Dawson
c16280a4e8 Loki: Improve the display of loki query stats (#63623)
* fix: refresh query stats on timerange change

* partial fix: request stats update on type in code mode

* complete fix: request stats update on type in code mode

* fix: update failing tests and props

* refactor: pass only essential query string to getQueryStats

* refactor: remove unused variables

* test: fix datasource.getTimeRange is not a function

* refactor: use lodash debounce instead of setTimeout

* refactor: add suggestions from code review

* test: shouldUpdateStats and makeStatsRequest

* refactor: use more appropriate variable names

* refactor: make setQueryStats required instead of optional

* refactor: move setQueryStats into LokiQueryEditor

* fix: add missing props to LokiQueryField

* revert changes

* refactor: use inversion of control to request stats

* refactor: remove unnecessary code
2023-03-16 18:50:42 +00:00
Ezequiel Victorero
8f0a9729f0 PublicDashboards: Allow hidden queries execution (#64858) 2023-03-16 15:39:17 -03:00
Ashley Harrison
54dd8943ca Navigation: Correctly create Alerts and incidents section when using legacy alerting (#64924)
check for legacy alerting node as well
2023-03-16 17:55:23 +00:00
Kristian Bremberg
27e2b037ae Chore: Use DOMPurify to sanitize strings rather than js-xss (#62787)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-03-16 19:13:34 +02:00
Jo
0e565a2e6c ServiceAccounts: Collect usage stat for service account forced expiry (#64833)
collect usage stat for service account forced expiry
2023-03-16 16:36:31 +01:00
Jo
7784782512 AuthN: Add password and login form stats (#64868)
* add password and login form stats

* fix method handler

* fix viewers can edit test
2023-03-16 16:34:43 +01:00
Sven Grossmann
40014f1454 Loki: Add option to define chunk duration per query (#64834)
* add query option to configure chunk ranges

* remove `isValidDuration` check

* Update public/app/plugins/datasource/loki/querybuilder/components/LokiQueryBuilderOptions.tsx

Co-authored-by: Matias Chomicki <matyax@gmail.com>

* change to `chunkDuration`
added tests

* no need to call `toString`

---------

Co-authored-by: Matias Chomicki <matyax@gmail.com>
2023-03-16 16:30:12 +01:00
Ryan McKinley
2578774188 Chore: Avoid explicit React.FunctionComponent<Props> when possible (round 3) (#64839) 2023-03-16 16:56:26 +02:00
George Robinson
0b506b4ccc Alerting: Update github.com/grafana/alerting (#64882) 2023-03-16 13:59:35 +00:00
Andrej Ocenas
998b035d52 Phlare: Fix panic on empty pprof profile (#64888) 2023-03-16 14:02:56 +01:00
Alexa V
fef0ee913c Panel Header: Add CancelQuery option to panel header (#64796)
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2023-03-16 13:56:58 +01:00
Stephanie Hingtgen
10db808ea1 Plugins: Add sql support for the secure socks proxy (#64630) 2023-03-16 06:54:19 -06:00
Jack Baldry
68e38aad6a Fix broken link in "Publish a plugin" page and lint the page with doc-validator (#64881)
* Use one sentence per line for better line based diffing

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

* Add missing and required description front matter

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

* Fix heading hierarchy

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

* Fix doc-validator linting errors

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

* Add doc-validator make target

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

* Fix nested lists

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

---------

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2023-03-16 12:14:55 +00:00
Sven Grossmann
652e7334c8 Loki: Remove unnecessary type extension (#64883)
remove unnecessary type extension
2023-03-16 11:28:40 +01:00
Ashley Harrison
b19f7bb653 Chore: update more unit tests to work with react 18 (#64812)
update more unit tests to work with react 18
2023-03-16 10:00:39 +00:00
Jo
6b6cf5f4b7 Cfg: Move ViewersCanEdit into cfg (#64876)
move ViewersCanEdit into cfg
2023-03-16 10:54:01 +01:00
Ashley Harrison
7fd7c6ed78 Chore: Better typings in @grafana/ui needed for react 18 (#64828)
* type changes needed for react 18

* pass empty props as generic

* move eslint ignore to correct line
2023-03-16 09:42:51 +00:00
Ieva
f966045129 Search: Improvements for starred dashboard search (#64758)
* improvements for starred dashboard search

* fix workflows for the case when no dashboards are starred

* PR feedback (don't query DB if starred dashboards and requested but no starred IDs are found) and linting

* return empty list not null in case of no starred dashboards

* return empty list not null in case of no starred dashboards pt 2

* return empty list not null in case of no starred dashboards pt 3
2023-03-16 09:20:07 +00:00
Marcus Andersson
8617ad688d Plugins: Added e2e flow for triggering panel menu UI extensions (#64855)
Added e2e flow for clicking a panel menu extension item.
2023-03-16 09:57:53 +01:00
Levente Balogh
1c6357637d FE Style Guide: Update component definition (#64869)
* chore: update our FE styleguide related to React.FC

* fix: typo
2023-03-16 09:57:29 +01:00
Joey
596e5b43d9 Jaeger and Zipkin: Config & docs upgrade (#64250)
* Jaeger and Zipkin upgrades docs and condig

* Update text

* Update docs/sources/datasources/jaeger/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/datasources/jaeger/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/datasources/jaeger/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/datasources/jaeger/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/datasources/jaeger/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/datasources/jaeger/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/datasources/jaeger/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/datasources/jaeger/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/datasources/jaeger/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/datasources/tempo/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/datasources/tempo/query-editor/index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/datasources/tempo/query-editor/index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/datasources/zipkin/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/datasources/zipkin/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/datasources/zipkin/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Minor text formatting updates

* yarn prettier:write

* Update docs/sources/datasources/zipkin/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

---------

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
2023-03-16 08:49:40 +00:00
Torkel Ödegaard
07305c72bf DashboardScene: Add mapping for hoverHeader and displayMode to DashboardsLoader (#64870)
Dashboard scene fixes
2023-03-16 09:19:50 +01:00
Gábor Farkas
5d8ec2756e loki: query chunking: better error handling (#64811)
* loki: query chunking: better error handling

* better comment text

Co-authored-by: Matias Chomicki <matyax@gmail.com>

* better comment text

Co-authored-by: Matias Chomicki <matyax@gmail.com>

* changed merge approach

* simplified code

* fixed test

* removed forgotten code

---------

Co-authored-by: Matias Chomicki <matyax@gmail.com>
2023-03-16 08:54:32 +01:00
Jo
ccbf200c4a SupportBundles: Add OAuth bundle collectors (#64810)
* wip

* add oauth support bundles

* add specific configs for generic oauth and azureAD

* add doc entry

* optimize struct packing

* Update pkg/login/social/azuread_oauth.go

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>

* nit update

---------

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2023-03-16 09:46:25 +02:00
Carl Bergquist
6d5688ed94 remotecache: set secret service on encryptionstorage (#64849)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2023-03-15 20:19:35 +01:00
Todd Treece
c1f1cb8524 Chore: Remove apiserver from devenv sources (#64847) 2023-03-15 14:46:35 -04:00
Gareth Dawson
95048fc681 Prometheus: Metric encyclopedia modal redesign (#64816)
* feat: metric encyclopedia modal redesign

* test: update failing tests

* refactor: add suggestions from pr review

* test: fix failing test
2023-03-15 18:28:26 +00:00
Christopher Moyer
59a62353dd Docs: adds intro to prometheus (#64352)
* adds topic content

* adjusts weights

* Update docs/sources/fundamentals/intro-to-prometheus/index.md

Co-authored-by: Fiona Artiaga <89225282+GrafanaWriter@users.noreply.github.com>

* Update docs/sources/fundamentals/intro-to-prometheus/index.md

* Apply suggestions from code review

Co-authored-by: Fiona Artiaga <89225282+GrafanaWriter@users.noreply.github.com>
Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

* Update docs/sources/fundamentals/intro-to-prometheus/index.md

* Apply suggestions from code review

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

* Apply suggestions from code review

* adds sentence about agent

* reworks prometheus as deployment section based on feedback

---------

Co-authored-by: Fiona Artiaga <89225282+GrafanaWriter@users.noreply.github.com>
Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
2023-03-15 12:37:09 -05:00
ismail simsek
0823672fce Influxdb: Re-introduce backend migration feature toggle (#64829)
* Revert "Influxdb: Remove backend migration feature toggle (#61308)"

This reverts commit 67c02f66

* Put feature toggle back
2023-03-15 18:12:16 +01:00
Jack Baldry
ebb54aea8d Fix website build errors both for Grafana and content mounted in Grafana Cloud (#64794)
* Fix reference to Grafana CLI

- Make relref for relative permalink
- Use relative path for unambiguous resolution

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

* Fix alerting relref anchor format

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

* Avoid ambiguous relref lookups by forcing relative resolution

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

* Remove reference to non-existent shared page

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

* Fix links broken in Grafana Cloud using absolute relrefs

By resolving the relref absolutely, it refers to the same location
regardless of mounted directory.

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

* Remove trailing slash for bundle independent resolution

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

* Fix typo

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

* For now, avoid Hugo checking cross repository /docs/grafana-cloud link

The path is unlikely to change in the short term and this makes CI
completely green for now.

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

* No need to specify path for in page anchors

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

* Fix prose

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

---------

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-03-15 17:06:31 +00:00
Kristin Laemmert
8745d7ef1b extract kindsys to external library (#64562)
* extract kindsys

* reinstate kindsys report

This may end up living somewhere else (or not! who knows!), but the important part is that I don't get rid of it right now :)

I hate the package layout (kindsysreport/codegen) for the main function and will take pretty much any alternative suggestion, but we can change also change it later.

Note that the generated report.json is in a different location - anything using this (ops something) needs to be updated.

* kindsysreport in codeowners
2023-03-15 12:04:28 -04:00
Ezequiel Victorero
3f5acf346d PublicDashboards: Query collapsed panels inside rows (#64779) 2023-03-15 12:44:17 -03:00
Ryan McKinley
4f13e78d11 Chore: Avoid explicit React.FC<Props> when possible (round 2) (#64749) 2023-03-15 16:56:09 +02:00
Karl Persson
1a16636692 Routes: Always add rbac component to route if enabled (#64817) 2023-03-15 16:52:52 +02:00
Alexa V
bc5400d8f5 Panel Header: Add an "untitled" placeholder, and change the dragging icon in the hover header (#64700)
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2023-03-15 14:28:52 +01:00
Ivana Huckova
a996344e14 Loki: Add autocomplete updates for improved suggestions (#64744)
* Loki: Add autocomplete updates for improved suggestions

* Use trimEnd for trailing pipeline

* Update public/app/plugins/datasource/loki/components/monaco-query-field/monaco-completion-provider/completions.ts

Co-authored-by: Matias Chomicki <matyax@gmail.com>

* Fix unused imports

---------

Co-authored-by: Matias Chomicki <matyax@gmail.com>
2023-03-15 14:26:46 +01:00
Süleyman Barış Eser
34828f6c50 Storybook: Remove unused sizes from RadioButtonGroup story (#64716) 2023-03-15 12:51:28 +01:00
Ashley Harrison
e0e6165f70 Chore: adjust more unit tests to work with react 18 (#64759)
adjust unit tests to work with react 18
2023-03-15 10:12:13 +00:00
Artur Wierzbicki
b6f77bdfdb Chore: provide authn.Service rather than *authnimpl.Service (#64792)
chore: provide `authn.Service` rather than `*authnimpl.Service` (#64792)
2023-03-15 03:04:11 -07:00
Ivana Huckova
96fc0b814e Elasticsearch: Fix using of datetime format for time field (#64676)
* Elasticsearch: Fix using of datetime format for time field

* Use convertFieldType to convert time field for better performance
2023-03-15 10:47:48 +01:00
Lokeswaran Aruljothi
d2fa019d78 Auth: Show user sync external Authentication status (#62721)
* Fix #56189 add auth source for users synced via external authentication

* update change role display logic based on user authentication method

* fix display for licensed ac

---------

Co-authored-by: Lokeswaran Aruljothi <74011196+a-loke@users.noreply.github.com>
2023-03-15 10:31:15 +01:00
ying-jeanne
6974f4340b NestedFolders: Fix nested folder deletion (#63572)
---------

Co-authored-by: suntala <arati.rana@grafana.com>
Co-authored-by: ying-jeanne <ying-jeanne@users.noreply.github.com>
Co-authored-by: jeanne0731 <jeanne0731@users.noreply.github.com>
2023-03-15 09:51:37 +01:00
Torkel Ödegaard
ec003d502b Scenes: Update to 0.19 and update transformations scenario (#64789)
* Scene: Transformations update

* Update
2023-03-15 09:29:42 +01:00
Konrad Lalik
51974c54d7 Alerting: Fix UI toggles and search input synchronization (#64751)
* Fix UI toggles and search input synchronization

* Fix lint
2023-03-15 09:17:50 +01:00
Yuri Tseretyan
4583fe58f3 Chore: Update Grafana to use Alertmanager v0.25.1-0.20230308154952-78fedf89728b (#64778) 2023-03-14 18:59:25 -04:00
Yuri Tseretyan
85a954cd81 Alerting: Update scheduler to get updates only from database (#64635)
* stop using the scheduler's Update and Delete methods all communication must be via the database
* update scheduler's registry to calculate diff before re-setting the cache
* update fetcher to return the diff generated by registry
* update processTick to update rule eval routine if the rule was updated and it is not going to be evaluated at this tick.
* remove references to the scheduler from api package
* remove unused methods in the scheduler
2023-03-14 18:02:51 -04:00
Melori Arellano
10c809a00a DOCS: Update to add transform steps for canvas data links (#64770)
* Update to add transform steps for data links

https://github.com/grafana/grafana/pull/64456 was merged and I have one more edit

* style fixes

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

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

* empty commit to force linting

* ran prettier

---------

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
2023-03-14 16:40:03 -05:00
Virginia Cepeda
6b95b3f8aa Alerting: Display last & next rule eval date plus eval duration (#64767)
* Display last & next rule eval date plus eval duration

* Show next evaluation date in a humanized format

Full date still visible on hover

* Only show next evaluation column is group has an interval
2023-03-14 17:52:55 -03:00
Michael Mandrus
95aa9b374a Docs: Fix example port shown in [caching.redis] configuration (#64769)
fix example port found in docs to match the actual redis default
2023-03-14 15:48:38 -05:00
Brendan O'Handley
2e4b134743 Prometheus: Feedback link for metric encyclopedia plus performance improvements (#64576)
* add filtered results

* add feedback link

* correctly debounce fuzzy search thank you leon

* reduce calls to filterMetrics()in letter search

* clean up the alphabet type

* bug fix, filter type should be subtractive

* each filter is don;t explicitly, subtracting from the results of each

* Revert "each filter is don;t explicitly, subtracting from the results of each"

This reverts commit 5648788451.

* each filter is filtered explicitly, one after the other, subtracting from the results of each
2023-03-14 16:36:24 -04:00
Kevin Minehart
dfee4249e8 Packaging: Dockerfile copy local folder (#64766)
Dockerfile copy local folder
2023-03-14 14:44:11 -05:00
Ryan McKinley
6751a93d49 FeatureToggles: remove open type declaration (#64645) 2023-03-14 19:47:32 +02:00
Ashley Harrison
85e5326040 Chore: Adjust unit tests so they work with react 18 (#64698)
tweak unit tests so they work with react 18
2023-03-14 17:24:04 +00:00
Connor Lindsey
c29b6c07dc [Explore] Fix lint error by updating field overrides tests (#64754)
Fix type error in fieldOverrides.test.ts
2023-03-14 10:40:02 -06:00
Aaron Godin
4d789827e9 docs: grammar and readability for "Configure authentication" page (#64709)
docs: grammar and readability for configure-authentication/_index.md
2023-03-14 10:50:49 -05:00
Jack Baldry
dca5adeb98 Increase coverage of 'Grafana Cloud' labels (#64646)
* Add 'Grafana Cloud' label to content

All pages are applicable to both 'Open source' and 'Grafana Cloud'

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

* Add 'Grafana Cloud' label to administration content with some exceptions

- Enterprise licensing is 'Open source' and 'Enterprise'.
- 'Manage Organizations', 'Provision Grafana', and 'Stats and License' are 'Open source' only.

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

* Remove OSS from enterprise-licensing content

* Apply suggestions from code review

---------

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2023-03-14 15:49:22 +00:00
Marcus Andersson
8127ec5bfd Plugins: Fixed issue for plugin extensions in link validator (#64739)
fixed issue in validateLink.
2023-03-14 16:44:12 +01:00
Connor Lindsey
1e7c27e636 Explore: Add range option to internal data links (#64063)
* Add range option to internal data links

* Add test for internal link time range
2023-03-14 09:12:46 -06:00
Gareth Dawson
7562a8e472 Prometheus: add x icon to selected metrics (#64738)
fix: add `x` icon to selected metric
2023-03-14 15:09:06 +00:00
Jev Forsberg
de901560d7 Stat: Add ability to remove default single-color background gradient (#64353)
* baldm0mma/feature/solidOption/ update cue and ts types

* baldm0mma/feature/solidOption/ update data structures

* baldm0mma/feature/solidOption/ vizrepeater investigation

* baldm0mma/feature/solidOption/ add buildGradientBackground

* baldm0mma/feature/solidOption/ remove conlogs from fieldDisplay.ts

* baldm0mma/feature/solidOption/ rem destruct in fielddisplay.ts

* baldm0mma/feature/solidOption/ rem conlogs from bivaluelayout.tsx

* baldm0mma/feature/solidOption/ rem conlogs in visrepeater

* baldm0mma/feature/solidOption/ rem conlogs from statpanel.tsx

* baldm0mma/feature/solidOption/ add annotations in BigValue.tsx

* baldm0mma/feature/solidOption/ update cue

* baldm0mma/feature/solidOption/ remove unused anno

* baldm0mma/feature/solidOption/ update with toggle conditinal

* Update module.tsx

update anno

* baldm0mma/feature/solidOption/ update annos

* baldm0mma/feature/solidOption/ undo change

* baldm0mma/featurew/solidOption/ add anno for boolean toggle in stat module

* baldm0mma/featurew/solidOption/ update anno in BigValue.tsx for hasGradient

* baldm0mma/featurew/solidOption/ updart default logic in bigValueLayout.tsx
2023-03-14 08:59:54 -06:00
Andrej Ocenas
23e0f85ef9 Flamegraph: Fix rendering on contextMenu click and improve rendering perf (#64742) 2023-03-14 15:41:27 +01:00
Ryan McKinley
d710507bc5 Chore: Avoid explicit React.FC<Props> when possible (#64722) 2023-03-14 16:38:21 +02:00
Ivan Ortega Alba
cde1b5b162 PanelHeader: Add analytics for non-menu items (#64729) 2023-03-14 14:17:14 +01:00
juanicabanas
5e46ea17b4 PublicDashboards: Request view access page selectors (#64718) 2023-03-14 09:46:08 -03:00
Gareth Dawson
d72c39c587 Loki: Add descriptions to query builder operations (#64046)
* feat: add descriptions to query builder operations

* refactor: add suggestion from review

* fix: update width of label operator seelct
2023-03-14 12:14:32 +00:00
dependabot[bot]
165ca93ea5 Bump actions/cache from 3.0.11 to 3.3.1 (#64721)
Bumps [actions/cache](https://github.com/actions/cache) from 3.0.11 to 3.3.1.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.0.11...v3.3.1)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-14 11:03:20 +01:00
Giordano Ricci
bda1a91e80 Chore: fix EmptyStateNoDatasource flaky test (#64520)
Chore: fix EmptyStateNoDatasourceflaky test
2023-03-14 10:03:04 +00:00
Ashley Harrison
53186c14a4 Chore: Improve some types (#64675)
* some type fixes

* few more

* more type fixes

* fix the majority of (window as any) calls

* don't make new variable for event

* few more

* MOAR
2023-03-14 09:51:44 +00:00
Jo
aade4b0bd2 AnonymousService: Test tagging service (#64708)
* add anonymous tagging tests

* lint
2023-03-14 10:47:34 +01:00
Sonia Aguilar
2f95171a45 Fix flacky test in RulelList.test.tsx (#64725) 2023-03-14 09:45:27 +01:00
Alexander Weaver
faef3a8258 Alerting: Log error but don't fail initialization if state history connection test fails (#64699)
Don't return init error if ping fails, add tests
2023-03-13 15:54:46 -05:00
Isabella Siu
74436d31de CloudWatch Logs: Queries in an expression should run synchronously (#64443) 2023-03-13 13:31:46 -04:00
Ivan Ortega Alba
fc8a753892 PanelChrome: Do not show menu when panel is embedded (#64549) 2023-03-13 17:47:52 +01:00
Karl Persson
634955c3f2 OAuth: Add tls_skip_verify_insecure to defaults.ini (#64679)
OAuth: add tls_skip_verify_insecure to defaults.ini
2023-03-13 16:26:05 +01:00
Ryan McKinley
fa740a8bcf Chore: Remove panel inspect Actions hack (#64643)
remove actions tab hook
2023-03-13 08:07:36 -07:00
Ryan McKinley
6720690615 FeatureToggles: generate a csv file for easy auditing (#64647)
Co-authored-by: Artur Wierzbicki <artur.wierzbicki@grafana.com>
2023-03-13 08:07:12 -07:00
Leon Sorokin
855de98133 TimeSeries: fix & optimize time string parsing (#64640) 2023-03-13 09:59:40 -05:00
Jo
8bb10f87e9 Auth: Update authentik devenv and add oauth (#64691)
update authentik devenv and add oauth
2023-03-13 15:13:16 +01:00
Marco Schaefer
d8a497ee6e chore: upgrade faro-core and faro-web-sdk to 1.0.2 (#64407)
With v1.0.2 Faro explicitly closes fetch requests.
This fixes an issue were (headless) chrome browser
still considers those requests as open  which lead to timeouts.
2023-03-13 15:56:10 +02:00
Artur Wierzbicki
08f2791b22 Chore: assign owner for prometheusAzureOverrideAudience (#64620)
assign the last owner
2023-03-13 16:56:55 +04:00
Kristina
c363a81806 Dashboards: Filter out expressions when going to Explore (#64654)
* Filter out expressions when going from dashboard to explore

* Move expression UID constant to types
2023-03-13 07:53:19 -05:00
Ashley Harrison
caf98101e7 Navigation: Remove duplicate header on user invite page (#64677)
remove duplicated header in old navigation
2023-03-13 11:45:07 +00:00
Andrej Ocenas
6647217208 Phlare: Use enum config to send deduplicated func and filenames (#64435) 2023-03-13 11:06:04 +01:00
Torkel Ödegaard
5275a203aa TopNav: Wrap TopSearchBar in memo to prevent unnecessary re-renders (#64667) 2023-03-13 10:57:55 +01:00
Matias Chomicki
5ffb28989e Range splitting: remove hardcoded chunk limit (#64625)
* Range splitting: allow splits larger than 30 days while keeping the fail safe

* Remove limit

* Fix test

* Remove unnecessary try/catch

* Remove unused export
2023-03-13 05:33:01 -04:00
Ashley Harrison
3a1862f37f TimeSeries: fix time comparer not comparing date strings properly (#64622)
* fix time comparer not comparing times properly

* move isDateTime last as it's probably the most expensive check
2023-03-13 09:31:27 +00:00
Ivana Huckova
d6eea0c7b5 Elasticsearch: Fix histogram fields to be filterale when processed trough backend (#64514)
* Elasticsearch: Fix histogram fields to be filterale when processed trough backend

* Simplify test and reuse logic
2023-03-13 10:11:18 +01:00
Torkel Ödegaard
abbae80b5e TablePanel: Default cell height should be small (#64611)
* TablePanel: Default cell height should be small

* Component default
2023-03-13 08:12:46 +01:00
Gilles De Mey
e555b4e93e Alerting: Fix home page typo (#64506) 2023-03-12 02:03:48 +01:00
Ryan McKinley
d5a9a0cea0 Chore: remove comments feature (#64644) 2023-03-11 04:28:12 -08:00
Leon Sorokin
18e3e0ca8d FieldMatchers: Add match by value (reducer) (#64477)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-03-10 17:17:29 -06:00
Kevin Yu
75f89e67af Cloudwatch Logs: Fix log group names not interpolating with multiple variables (#64567)
* Cloudwatch Logs: Fix log group names not interpolating with multiple variables

* fix test
2023-03-10 11:00:35 -08:00
Jack Baldry
72e50431df Update page labels to better reflect contents (#64606)
* Set correct products labels on Grafana Cloud and Enterprise pages

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

* Add cloud label to all alerting docs

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

---------

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2023-03-10 17:23:03 +00:00
owensmallwood
7b0b9a9d43 Pubdash: Adds docs for pubdash email sharing feature (#64563)
Adds docs for pubdash email sharing
2023-03-10 10:45:20 -06:00
Timur Olzhabayev
f9b9041ad8 Docs: Minor wording changes for plugin signing docs (#64615)
Minor wording changes
2023-03-10 17:33:28 +01:00
Brendan O'Handley
50ef183208 InfluxDB: Fix type assertion panics for interface conversion: interface {} is nil (#64556)
* fix type assertions

* fix chk

* add nil and fix tests

* add test for null bool and strings in the JSON response to be parsed as nil in Go

* reduce complexity

* reduce complexity

* reduce complexity again

* switch case for valTypes
2023-03-10 11:11:00 -05:00
Gábor Farkas
f76d634ac6 devenv: loki: generate timestamps with various precision (#64509) 2023-03-10 15:09:59 +00:00
Timur Olzhabayev
9ca53d9596 Docs: Changes to angular deprecation announcement (#63928)
Adjusting the content to reflect latest discussions. This page can now be used as reference for all things about angular deprecation.
2023-03-10 07:09:07 -08:00
Sven Grossmann
7cde6acbef LogContext: Fix height of upper group when using logsContextDatasourceUi (#64602)
fix wrong height being set
2023-03-10 15:59:53 +01:00
juanicabanas
222ad02176 PublicDashboards: Enable creation when dashboard has template variables (#64560) 2023-03-10 11:45:38 -03:00
Zoltán Bedi
5ea4a29556 Chore: Fix renovate warning (#64610) 2023-03-10 15:21:20 +01:00
Andreas Christou
a814357d6d FalconLogScale: Traces to logs support (#64174)
* Humio traces to logs support

* Update tag formatting

* Add tests for humio

* Correct naming
2023-03-10 14:17:17 +00:00
Andres Martinez Gotor
80e8ac640e Docs: Update plugin.json docs and schema (#64297) 2023-03-10 15:07:35 +01:00
renovate[bot]
3b2e3d5540 Update dependency glob to v9.2.1 (#64604)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-10 14:46:53 +01:00
renovate[bot]
faf19f3bf5 Update dependency webpack to v5.76.0 (#64605)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-10 14:44:49 +01:00
Torkel Ödegaard
73ce20ab48 Table Panel: Add ability to use text color for value or hide value in gauge cell (#61477)
* BarGauge: New value options

* Fix typings for cell options, add new value mode option for bar gauge cells

* Add BarGauge panel option, tests, and update test dashboard

* Updated

* Added default

* Goodbye trusty console.log

* Update

* Merge changes from main

* Update docs

* Add valuemode doc changes

* Update gdev dashboard

* Update valueMode symbol name to valueDisplayMode

* Use Enums as Opposed to literals, don't calculate values when hidden

* Remove double import

* Fix tests

* One more test fix

* Remove erroneous targets field, fix type of maxDataPoints

* Strip nulls and add index field to Thresholds

* Gen cue

* remove bad targets again

* Fixes

---------

Co-authored-by: Kyle Cunningham <kyle@codeincarnate.com>
Co-authored-by: sam boyer <sdboyer@grafana.com>
2023-03-10 14:41:46 +01:00
Dominik Prokop
0a4d9f01e8 Chore: Use latest version of scenes (#64609) 2023-03-10 05:40:38 -08:00
William Assis
a05cb1e78e Frontend: Fix broken links in /plugins when pathname has a trailing slash (#64348)
Fix broken links in /plugins when pathname has a trailing slash
2023-03-10 14:18:12 +01:00
Joey
2f55911fa3 Fix: Top table rendering and update docs (#64497)
Fix flame graph in test data and update docs
2023-03-10 13:04:51 +00:00
renovate[bot]
a8f201f8ab Update dependency rimraf to v4.4.0 (#64601)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-10 14:00:25 +01:00
Carl Bergquist
eb507dca89 Remotecache: rename setbytearray/getbytearray to set/get and remove codec (#64470)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2023-03-10 13:57:29 +01:00
Virginia Cepeda
93b32eec4b Alerting: fix users call 403 by calling /user instead of /users/{id} (#64544)
Fetch user data with calling /user endpoint

This avoids a permission error we were getting by calling /users/{id}
2023-03-10 09:56:01 -03:00
Levente Balogh
79152969f3 Extensions: Expose an enum for available placements (#64586)
* feat: expose an enum type for extension placements

* fix: export the enum properly
2023-03-10 13:55:38 +01:00
Domas
548a5054ad Table: Introduce sparkline cell type (#63182) 2023-03-10 14:41:06 +02:00
Ashley Harrison
c955c20670 Chore: assign ownership of tracing feature flag to user essentials (#64598)
assign ownership of tracing feature flag to user essentials
2023-03-10 07:15:41 -05:00
Sven Grossmann
b46771cbfe Loki: Always fetch for new label keys in the QueryBuilder (#64597)
* always fetch new labels

* remove refreshLogLabels
2023-03-10 13:13:51 +01:00
Ivan Ortega Alba
f1a17d54cd PanelHeader: Add analytics (#64533) 2023-03-10 12:56:41 +01:00
Leon Sorokin
14251db9ba Chore: uFuzzy 1.0.6 (#64575) 2023-03-10 04:49:02 -07:00
Torkel Ödegaard
3ff380f40f Alerting: Minor style fix for home page (#64585)
* Minor fix for home alerting page

* Minor border fix

* Remove outline
2023-03-10 11:25:35 +00:00
Torkel Ödegaard
af5ee9c66d PanelChrome: Fixes title max width, and make make menu more prominent (#64492)
* PanelChrome: Fixes title max width, and make make menu more prominent

* Add fix for wrapping timeshift
2023-03-10 12:25:25 +01:00
Sonia Aguilar
4c8855ed2d Alerting: Fix contact point name being URL-encoded in the title (#64590)
Fix contact point name being encoded in the title text
2023-03-10 06:20:28 -05:00
Andre Pereira
1667ea118f Trace View: Copy Trace ID action button (#64416)
* Added button to trace view to copy trace ID

* Added dummy Export button
2023-03-10 11:11:53 +00:00
Sven Grossmann
6cbc956b5c LogContext: Fix border radius to be consistent (#64589)
fix border radius in LogRowContext
2023-03-10 09:58:29 +01:00
Santiago
d21d498142 Docs: Remove Alertmanager configuration rollback from What's New (#64564)
* Docs: Remove Alertmanager configuration rollback from What's New

* Trigger Build

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2023-03-10 09:35:39 +01:00
juanicabanas
a134b47e01 PublicDashboards: Show email sharing feature depending on featureEnabled flag (#64555) 2023-03-09 16:58:29 -03:00
Agnès Toulet
f9b5dbb473 Codegen: fix jenny_eachmajor.go (#64287)
Update jenny_eachmajor.go
2023-03-09 18:24:03 +01:00
juanicabanas
4d0e309d4e PublicDashboards: New method created to get access through Request access page when its paused (#64451) 2023-03-09 14:17:54 -03:00
Karl Persson
8ef2afda87 ContextHandler: Always initiate permission map on signed in user (#64541) 2023-03-09 18:08:56 +01:00
Ieva
ed11c32c1d Support bundles: fix user collector permissions and format collector output (#64531)
* fix user collector permissions and format collector output

* lint
2023-03-09 11:43:18 -05:00
Ashley Harrison
3336327306 Navigation: Fix Home logo always going to /login (#62658)
* only redirect to /login when anonymous access is disabled

* only search for dashboards when not logged in if anon access is enabled

* fix go logic

* add unit tests
2023-03-09 16:42:45 +00:00
Gilles De Mey
cd6d6d1daf Deps: bump react-enable to v3.1 (#64501) 2023-03-09 17:24:47 +01:00
Ivana Huckova
424e33146c Elasticsearch: Reintroduce log tests from frontend (#64521)
* Elasticsearch: Reintroduce log tests from frontend

* Fix linting
2023-03-09 11:20:36 -05:00
Tania
6f67529a0a Docs: Add a note on uploading report branding logos (#64532)
* Docs: Add a note on uploading report branding logos

* Fix wording
2023-03-09 16:47:50 +01:00
Konrad Lalik
5179a830ef Alerting: Add fuzzy search to alert list view (#63931)
* Add basic fuzzy search

* Add fuzzy search to rule name, group and namespace filters

* Add tests

* Apply sort order when filtering

* Filter rules on Enter instead of onChange

* Add minor rule stats performance improvements

* Fix tests

* Remove unused code, add ufuzzy inline docs

* Use form submit to set query string, add debounce docs
2023-03-09 16:24:32 +01:00
Yahima Duarte
e8c131eb6f GrafanaUI: Implement new component Toggletip (#64459) 2023-03-09 16:12:38 +01:00
Polina Boneva
0b1ad0a879 Query Editor: Internal context to actions (#64518)
loadedDataSourceIdentifier is not always loaded, but always queried; comment adds understanding to a specific use case
2023-03-09 16:43:13 +02:00
Eric Leijonmarck
17537b033d API keys: Add last_used_at and docs changes for migration (#64293)
* feat: last_used_at for apikeys

* add: docs and copy changes

* refactor: use br correctly

* remove docs

* removed more docs
2023-03-09 14:16:42 +00:00
kay delaney
4c0571be3a Scenes: Add textbox var to scenes demo (#64313)
* Scenes: Add textbox var to scenes demo

* Upgrade scenes version

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2023-03-09 06:09:15 -08:00
Dimitris Sotirakis
29b3f3fbf4 CI: Add PrereleaseBucket field in versions.go (#64519)
Add PrereleaseBucket in versions.go
2023-03-09 16:00:38 +02:00
Ivana Huckova
46ab9e9252 Logs: Fix border radius to be consistent (#64510) 2023-03-09 14:11:44 +01:00
Horst Gutmann
4b241804b4 CI: Move some build settings (#64491)
* Move some build settings to Vault

* CI: Remove reference to DOWNSTREAM_REPO as it isn't used
2023-03-09 14:07:42 +01:00
Kyle Cunningham
09f71a6901 MySql Datasource: Improve Tooltips and Documentation (#64122)
* Add tooltips to Skip TLS and TLS Auth

* Update docs with provisioning examples
2023-03-09 19:50:07 +07:00
João Vieira
9f551400c3 OpenTSDB: suggest_tagv receives prefix on input change (#64475)
replace Select with AsyncSelect on tagv search
2023-03-09 07:45:16 -05:00
Ivana Huckova
bd0fa79542 Elasticsearch: Add log highlight processing on backend (#63924)
* Elasticsearch: Add highlight for logs

* Fix running of queries trough backend only when shouldRunTroughBackend

* Fix incorrect json in test string

* Address feedback

* Keep order of words same
2023-03-09 13:34:53 +01:00
Jean-Philippe Quéméner
cb8e01214d Revert "Alerting: Update Prometheus Alertmanager (#64434)" (#64503)
This reverts commit 5a4ebe3a67.
2023-03-09 13:32:07 +01:00
Ida Štambuk
1c8ad04f8d Cloudwatch: Add expression field to interpolate variables in Metrics Code Builder (#64288) 2023-03-09 13:24:48 +01:00
Gábor Farkas
3cbeace0ca logs: dedup strategy: fixed order (#64404) 2023-03-09 13:01:49 +01:00
Polina Boneva
ff6d601428 Chore: Assign grafanaDashboardsSquad as owners to some feature flags (#64489)
* assign grafanaDashboardsSquad as owners to some feature flags
2023-03-09 13:09:19 +02:00
Jean-Philippe Quéméner
fb5ed0b0b3 Alerting: fix flaky cache test (#64499) 2023-03-09 06:08:05 -05:00
Levente Balogh
36b1104949 EventBus: Expose from app.ts (#64137)
refactor: expose the event bus from the app.ts
2023-03-09 11:57:20 +01:00
Sven Grossmann
976568a337 Loki: Fix labels in LabelBrowser being wrongly cached (#64482)
* remove label cache from label browser

* fix spelling

Co-authored-by: Gareth Dawson <gareth.dawson@grafana.com>

---------

Co-authored-by: Gareth Dawson <gareth.dawson@grafana.com>
2023-03-09 11:36:07 +01:00
ismail simsek
68b588b912 Prometheus schematization (#63878)
* Schematize prometheus

* revert changes

* close response body

* Update report.json

* Update pkg/tsdb/prometheus/models/query.go

Co-authored-by: sam boyer <sdboyer@grafana.com>

* Use without pointers

* remove unused

* Specify query format

* Rename

* Clean up schema

* Update public/app/plugins/datasource/prometheus/dataquery.cue

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

* Update pkg/tsdb/prometheus/models/query.go

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

* Clean up tests

* Update public/app/plugins/datasource/prometheus/dataquery.cue

Co-authored-by: sam boyer <sdboyer@grafana.com>

* make gen-cue

* Add comments

* Make linter happy

* Remove editormode override

* Update

---------

Co-authored-by: sam boyer <sdboyer@grafana.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-03-09 11:26:15 +01:00
Sven Grossmann
473013e3f5 Loki: Add error handling to CallResource (#64439)
* surface loki error message for `CallResource`

* use `data.Message` instead or `errorMessage`

* change struct coming from Loki

* remove whitespace
2023-03-09 11:12:33 +01:00
George Robinson
1898e76dd6 Docs: Last iteration on docs for images in notifications (#64392)
This commit includes some minor rephrasing to the Requirements and
Limitations of the Images in notification feature.
2023-03-09 09:59:25 +00:00
Ryan McKinley
5f7bc54fba OptionsUI: Enabled settings on the color picker (#64483) 2023-03-09 04:53:18 -05:00
Nathan Marrs
9f08d05498 Codeowners: Update dataviz panel ownership to share load with BI squad (#64469)
* Update codeowners file to transfer ownership of a few panels while dataviz is forming

* Update kindsys report

---------

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2023-03-09 04:25:16 -05:00
Torkel Ödegaard
fb55dd5df6 PanelChrome: Improve error state design (#63776)
* PanelChrome: Improve error state design

* Simplify logic for hoverHeader

* padding for the title only for the title, not the whole header

* Review fixes

* missed saving file

---------

Co-authored-by: polinaboneva <polina.boneva@grafana.com>
2023-03-09 10:06:25 +01:00
Jo
4ee389676e RemoteCache: Cleanup infra remote cache (#64381)
* add warning on Count

* add usagestats service

* fix typo

* remove unused glog

* remote cache stats collect

* add encrypt usage stat

* rename handler

* Update pkg/infra/remotecache/remotecache.go

Co-authored-by: Dan Cech <dcech@grafana.com>

* Update pkg/infra/remotecache/remotecache_test.go

---------

Co-authored-by: Dan Cech <dcech@grafana.com>
2023-03-09 09:26:13 +01:00
Laura Benz
0bd1ae99df Laura/standardise border radius in explore (#64338)
* refactor: remove border radius in ExploreGraph

* refactor: remove border radius in NoData

* refactor: remove border radius in TracePageSearchBar

* refactor: replace border radius in TracePageSearchBar and TraceViewContainer
2023-03-09 09:24:45 +01:00
brendamuir
14208c4c42 Docs: Updates default template link (#64485)
Updates default template link
2023-03-09 09:18:36 +01:00
Artur Wierzbicki
f23c8e5cd1 Chore: move sessionId from Live service (#64465)
* remove sessionid from live

* remove sessionid from live

* use uuid rather than math.random
2023-03-09 10:01:44 +04:00
Ryan McKinley
4b94c7e5d2 Schema: Remove key from root DataQuery type (#64467) 2023-03-08 16:52:31 -05:00
owensmallwood
1a5a280c86 Pubdash: Email sharing handle dashboard deleted (#64247)
dashboard service calls pubdash service when dashboard deleted
2023-03-08 14:54:35 -06:00
Melori Arellano
154fa2dd00 Docs: Update canvas panel data links section with additional steps (#64456)
* Update index.md

Add additional steps to the Data Links section needed to associate a field value with a data link. A dashboard data link (previously referenced) displays for all elements.

* Fix linting issues

---------

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2023-03-08 12:15:11 -08:00
Ryan McKinley
42e7ec9fe4 Chore: cleanup dashboard service names (#64442) 2023-03-08 14:37:45 -05:00
Stephanie Hingtgen
39a4634ae9 Plugins: Fix bug with copying grafanaData (#64446) 2023-03-08 11:21:01 -07:00
Artur Wierzbicki
fbe3bdc8f5 Chore: feature toggle ownership for aws plugins, observability metrics squad and backend platform (#64448)
aws plugins, backend platform
2023-03-08 13:12:22 -05:00
juanicabanas
2ddf105257 PublicDashboards: Not available page wording modifications (#64413) 2023-03-08 14:52:51 -03:00
MichaIng
a40f95e8a6 Packaging: Start Grafana service after InfluxDB (#64090)
as done with other database services, supported as Grafana data sources.

Signed-off-by: MichaIng <micha@dietpi.com>
2023-03-08 12:47:11 -05:00
lean.dev
0b0140b761 Licensing: Send the app url to plugin (#64258) 2023-03-08 14:44:04 -03:00
Andre Pereira
4625958aea Trace View: Removed part of flaky test (#64445)
Removed part of flaky test on Trace View
2023-03-08 12:41:03 -05:00
gotjosh
5a4ebe3a67 Alerting: Update Prometheus Alertmanager (#64434)
This includes a fix to duplicate notification under certain conditions, the details can be found at: https://github.com/grafana/prometheus-alertmanager/pull/30
2023-03-08 18:34:17 +01:00
Artur Wierzbicki
3e89ffa2e6 Chore: assign feature flag ownership for GaaS (#64420)
* ownership for GaaS

* fix tests

* merge
2023-03-08 12:25:12 -05:00
Brendan O'Handley
74ed7ead16 FeatureFlags: Add "O11y-metrics" as Owner for metrics feature flags (#64438)
add o11y-metrics as Owner for metrics feature flags
2023-03-08 11:51:42 -05:00
Ryan McKinley
5f2fecfda7 Dashboards: Avoid adding unused revision property (#64362) 2023-03-08 08:26:38 -08:00
Levente Balogh
a186f036dd Chore: Assign ownership to the Connections feature (#64427)
* chore: assign the plugins platform team as the owner for the data-connections feature

* chore: remove the toggle from the list of unassigned features
2023-03-08 11:23:20 -05:00
Gilles De Mey
6827f97b78 Docs: update the current documentation on notification policies (#64316)
Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
2023-03-08 17:18:17 +01:00
Ashley Harrison
11bc66a0e8 Chore: use React.PropsWithChildren to explicitly define the children prop (#64433)
* use React.PropsWithChildren to explicitly define the children prop

* fix ThemeDemo as well

* provide empty generics
2023-03-08 16:12:54 +00:00
Carl Bergquist
7c55dbf37d Remotecache: Migrates get/set calls to use bytearrays and remove get/set functions (#63525)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2023-03-08 17:08:57 +01:00
Yuri Tseretyan
a5133d61b5 Code: Ownership for alerting feature toggles (#64426)
* add alerting squad as an owner of some feature flags

* remove flags from owneless

---------

Co-authored-by: Artur Wierzbicki <artur.wierzbicki@grafana.com>
2023-03-08 11:03:06 -05:00
Tania
f0529430ff Chore: Assign ownership for as-code feature flags (#64424)
Chore: Add owners for as-code feature toggles
2023-03-08 10:38:52 -05:00
mikkancso
06f4cc0880 Admin/Plugins: Set category filter in connections link (#64393)
set category filter in connections link
2023-03-08 16:28:53 +01:00
Andres Martinez Gotor
15aae5e8a9 Panel: Show multiple errors info in the inspector (#64340) 2023-03-08 16:11:38 +01:00
Matias Chomicki
3292cb86ae Log Details: Display all field options and remove "show more" (#64334)
* Log details: stop hiding field options

* back to iconbutton

---------

Co-authored-by: Sven Grossmann <svennergr@gmail.com>
2023-03-08 16:08:32 +01:00
Joey
5ba2ca83d5 Assign Traces & Profiling feature flags to team (#64406) 2023-03-08 14:54:42 +00:00
Levente Balogh
d44dc0f100 Plugins: Allow command extensions to open modals (#64029)
feat: make it possible to open modals from commands
2023-03-08 15:44:48 +01:00
Jev Forsberg
09341a0cd6 TablePanel: fix footer bug; no footer calculated values after "hidden" column override (#64269)
* baldm0mma/bug/tableFooter/ first commit

* baldm0mma/bug/tableFooter/ investigation annotations

* baldm0mma/bug/tableFooter/ solution

* baldm0mma/bug/tableFooter/ rem conlogs in footerrow.txs

* baldm0mma/bug/tableFooter/ rem conlogs in tablepanel.tsx

* baldm0mma/bug/tableFooter/ rem conlgs in table.tsx

* baldm0mma/bug/tableFooter/ rem conlogs in utils.ts

* baldm0mma/bug/tableFooter/ reset return in footerRow.tsx

* baldm0mma/bug/tableFooter/ rem unused anno in table.tsx

* baldm0mma/bug/tableFooter/ rem unsed annos in utils.ts

* baldm0mma/bug/tableFooter/ add addMissingColumnIndex

* baldm0mma/bug/tableFooter/ add annos

* baldm0mma/bug/tableFooter/ add annos

* baldm0mma/bug/tableFooter/ / add annos

* baldm0mma/bug/tableFooterFix/ update annos

* baldm0mma/bug/tableFooterFix/ update spelling in utils

* baldm0mma/bug/tableFooterFix/ rem unused condition in utils.ts

* baldm0mma/bug/tableFooterFix/ update anno in utils.ts

* Wrap comments and fix misspelling.

* baldm0mma/bug/tableFooterFix/ add TSDoc

* baldm0mma/bug/tableFooterFix/ update annotations in utils.ts

---------

Co-authored-by: Kyle Cunningham <kyle@codeincarnate.com>
2023-03-08 06:57:01 -07:00
Isabella Siu
af9a0dbe39 CloudWatch Logs: Fix interpolation of scoped variables in queryString (#64267) 2023-03-08 08:56:44 -05:00
Joey
ee38bbe030 Phlare: Allow variables in labelSelector (in query) (#64324)
applyTemplateVariables and tests
2023-03-08 13:29:28 +00:00
Marcus Andersson
b63c56903d Plugins: Extend panel menu with commands from plugins (#63802)
* feat(plugins): introduce dashboard panel menu placement for adding menu items

* test: add test for getPanelMenu()

* added an unique identifier for each extension.

* added context to getPluginExtensions.

* wip

* Wip

* wiwip

* Wip

* feat: WWWIIIIPPPP 🧨

* Wip

* Renamed some of the types to align a bit better.

* added limit to how many extensions a plugin can register per placement.

* decreased number of items to 2

* will trim the lenght of titles to max 25 chars.

* wrapping configure function with error handling.

* added error handling for all scenarios.

* moved extension menu items to the bottom of the more sub menu.

* added tests for configuring the title.

* minor refactorings.

* changed so you need to specify the full path in package.json.

* wip

* removed unused type.

* big refactor to make things simpler and to centralize all configure error/validation handling.

* added missing import.

* fixed failing tests.

* fixed tests.

* revert(extensions): remove static extensions config in favour of registering via AppPlugin APIs

* removed the compose that didn't work for some reason.

* added tests just to verify that validation and error handling is tied together in configuration function.

* adding some more values to the context.

* draft validation.

* added missing tests for getPanelMenu.

* added more tests.

* refactor(extensions): move logic for validating extension link config to function

* Fixed ts errors.

* Started to add structure for supporting commands.

* fixed tests.

* adding commands to the registry

* tests: group test cases in describe blocks

* tests: add a little bit more refactoring to the tests

* tests: add a test case for checking correct placements

* feat: first version of the command handler

* feat: register panel menu items with commands

* refactor: make the 'configure' function not optional on `PluginExtensionRegistryItem`

* Wip

* Wip

* Wip

* added test to verify the default configure function.

* added some more tests to verify that commands have the proper error handling for its configure function.

* tests: fix TS errors in tests

* tests: add auxiliary functions

* refactor: small refactoring in tests

* refactor: refactoring tests for registryFactory

* refactor: refactoring tests for registryFactory

* refactor: refactoring tests for registryFactory

* refactor: refactoring tests for registryFactory

* refactor: refactoring tests for registryFactory

* refactor: refactoring tests for registryFactory

* refactor: refactoring tests for registryFactory

* refactor: refactoring tests for registryFactory

* draft of wrapping command handler with error handling.

* refactor: refactoring tests for registryFactory

* added test for edge case.

* replaced the registry item with a configure function.

* renamed the configure function type.

* refactoring of the registryfactory.

* added tests for handler error handling.

* fixed issue with assert function.

* added comment about the limited type.

* Update public/app/features/plugins/extensions/errorHandling.test.ts

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Update public/app/features/plugins/extensions/errorHandling.test.ts

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Update public/app/features/plugins/extensions/errorHandling.test.ts

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* added missing tests.

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2023-03-08 14:23:29 +01:00
Gábor Farkas
7aca818aae feature flags: assign flags to observability-logs squad (#64380) 2023-03-08 07:42:47 -05:00
Misi
6543259a7d Auth: Add SyncPermissions post auth hook (#64205)
* Add SyncPermissionsFromDB post auth hook

* Delete FromDB prefix

* Align tests

* Fixes

* Change SyncPermissionsHook prio
2023-03-08 13:35:54 +01:00
Ivana Huckova
aa123e0d50 Elasticsearch: Fix where name of frame is set (#64233)
* Elasticsearch: Use displayName field for naming

* Change solution to frame.Name to be backward compatible

* Fix snapshot tests

* Use Time and Value for time and value fields

* Use variables from grafana-plugin-sdk-go for name
2023-03-08 13:32:01 +01:00
Ivana Huckova
1cb39b3523 Elasticsearch: Fix some of the tests duplicated from frontend (#64320) 2023-03-08 13:31:50 +01:00
George Robinson
0c8876c3a2 Alerting: Return errors when expanding templates (#63662)
This commit changes the state package so that errors encountered while
expanding templates for custom labels and annotations are returned
from the function. This is not used at present, but will be used in the
future as we look at how to offer better feedback to users who don't
have access to logs, for example our customers who use Hosted Grafana.
2023-03-08 12:25:02 +00:00
Ashley Harrison
986a1c2a1b Chore: group uLibrary updates in renovate, revert uplot update for now (#64386)
* group uLibrary updates in renovate, revert uplot update for now

* fix json
2023-03-08 11:48:51 +00:00
Piotr Jamróz
8ad9e70ef0 Feature Toggles: Assign ownership of Explore Squad's feature toggles (#64382) 2023-03-08 12:45:45 +01:00
Dominik Prokop
e4d591fc01 OptionsPicker: Correctly highlight template variable value when filtering (#63495)
* VariablePicker: Correctly highlight items when filtering

* Change interactions for selecting values in variable options picker

* Review
2023-03-08 03:36:06 -08:00
Ieva
1d1f58f0ed Service accounts: fix usage of errutil errors and convert more errors to errutil (#64299)
* fix usage of errutil errors and convert more errors to errutil

* fix tests
2023-03-08 11:32:09 +00:00
kay delaney
312117bdfe DatasourceVariables: Update query editor when switching datasources from picker (#62617) 2023-03-08 11:24:29 +00:00
Alex Khomenko
4c30403904 Elastic Search: Fix BasePipelineMetricAggregation schema type (#64335)
* Fix type

* Tweak BaseBucketAggregation type

* Remove comment
2023-03-08 13:12:44 +02:00
Sven Grossmann
42c32504be Logs: Add millisecond to timestamp in log line (#64372)
* add milliseconds to logrow

* adjust tests to also have milliseconds
2023-03-08 11:39:56 +01:00
Andrej Ocenas
c7a1216cf6 TraceView: Add key and url escaping of json tag values (#64331) 2023-03-08 11:20:08 +01:00
Tania
b093439b2e Chore: Add codeowners for encryption feature toggle (#64384)
Chore: Add codeowners for encryption feature toggle
2023-03-08 11:14:37 +01:00
renovate[bot]
523f675dd8 Update Monthly patch updates (#64323)
* Update Monthly patch updates

* don't update dangerously-set-html-content

* run prettier

* fix types

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-03-08 09:38:06 +00:00
Jack Westbrook
a317e48de8 Bug: Fix support for Node 18 in grafana/e2e package (#63446)
* fix(e2e): replace resolve-as-bin for node 18 support

* chore(yarn): refresh lock file
2023-03-08 10:17:26 +01:00
Jack Baldry
96956d8252 Trigger PR commands on labeled events (#64377)
This should enable adding PRs to organization project boards similar
to with issues.

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2023-03-08 09:00:58 +00:00
Karl Persson
ee608c2582 Chore: Set authnz squad as owner of our feature toggles (#64373)
FeatureToggles: Set authnz squad as owner of our feature toggles
2023-03-08 09:49:02 +01:00
Sofia Papagiannaki
43095d84e4 Snapshots: Fix deleting snapshot with non existent dashboard ID (#64345)
* Add test for deleting snapshot for non existent dashboard

* Add test for failure to fetch guardian other than ErrDashboardNotFound

* Fix dashboard snapshot delete
2023-03-08 10:12:02 +02:00
Timur Olzhabayev
05191d083d Chore: Adding backend platform squad owned feature toggles (#64351)
Adding backend platform squad owned feature toggles
2023-03-08 06:57:50 +01:00
Kevin Yu
70f600db10 Cloudwatch Logs: Make mixed type fields fallback to being strings (#63981)
* Cloudwatch Logs: make mixed type fields fallback to being strings

* addressing pr comments
2023-03-07 14:35:19 -08:00
Ezequiel Victorero
1a5ab1b308 PublicDashboards: Remove dev mode for share by email toggle (#64330)
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-03-07 16:42:24 -03:00
Brendan O'Handley
9b6e531549 Prometheus: Metric encyclopedia (#63423)
* add metric encyclopedia feature toggle and component

* remove unused button

* move file, add test file

* add tests

* add pagination and tests

* test with 10,000,000 metrics

* remove unused import

* add filter by type

* search alphabetically and add switch to exclude metrics with no metadata

* add suggested functions and filter for functions

* allow user to select variables in encyclopedia

* fix style and tests

* add fuzzy search by either metric name or all metadata

* if missing metadata, remove metadata fuzzy search option, exclude metadata, and filter by type

* add encyclopedia feature tracking

* indicate that metrics are filtered by labels

* handle metric singular or plural

* add tooltips and fix language

* add filtering tests

* change 'search' to 'browse'

* remove functions filter and tests as not part of work flow

* add m.e. button and selected metric is a tag

* fix hanging search and update styles, padding, labels, and groupings

* small performance improvements

* fix tests

* add backend metrics query option

* add loading spinner for start load and backend search

* autofocus search input

* Update docs/sources/setup-grafana/configure-grafana/feature-toggles/index.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* run prettier

* run prettier

* fix text for feature toggle

* for license check since https://cla-assistant.io/check/grafana/grafana?pullRequest=<PR#> is not working

* fixing tests

* fix feature toggle docs

* fix feature toggle

* fix feature toggle

* add owner to feature toggle

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-03-07 13:41:05 -05:00
Will Browne
94f39e69a3 Plugins: Migrate plugincontext, adapters and pluginsettings to pkg/services/pluginsintegration package (#64154)
* migrate plugincontext, adapter and pluginsettings

* add to CODEOWNERS

* fix imports

* fix CODEOWNERS

* take pluginsettings

* migrate wire stuff
2023-03-07 11:22:30 -05:00
Artur Wierzbicki
13650f3dc0 Code: codeownership for feature toggles (#64266)
* ownership for feature toggles v2

* add traceqlSearch

* MT -> app platform

* assign publicdashboards

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-03-07 20:04:20 +04:00
Ryan McKinley
1c2e3993f6 Chore: update debug and dns dev dependencies (#64279)
update yarn lock
2023-03-07 07:54:46 -08:00
Ryan McKinley
bb9ae04bd8 Chore: cleanup entity api from CodeQL scan (#64277)
cleanup
2023-03-07 07:54:25 -08:00
Will Browne
68df83c86d Plugins: Add Plugin FS abstraction (#63734)
* unexport pluginDir from dto

* first pass

* tidy

* naming + add mutex

* add dupe checking

* fix func typo

* interface + move logic from renderer

* remote finder

* remote signing

* fix tests

* tidy up

* tidy markdown logic

* split changes

* fix tests

* slim interface down

* fix status code

* tidy exec path func

* fixup

* undo changes

* remove unused func

* remove unused func

* fix goimports

* fetch remotely

* simultaneous support

* fix linter

* use var

* add exception for gosec warning

* fixup

* fix tests

* tidy

* rework cfg pattern

* simplify

* PR feedback

* fix dupe field

* remove g304 nolint

* apply PR feedback

* remove unnecessary gosec nolint

* fix finder loop and update comment

* fix map alloc

* fix test

* remove commented code
2023-03-07 16:47:02 +01:00
Ryan McKinley
380138f57b Chore: update yarn lock in loadtest environment (#64278)
* update yarn lock

* remove loadtest-ts

---------

Co-authored-by: Artur Wierzbicki <artur.wierzbicki@grafana.com>
2023-03-07 07:36:17 -08:00
Ieva
1b6b5dd7e9 AuthN: use the default login icon if no icon is specified (#64327)
use the default login icon if empty string passed in
2023-03-07 10:14:36 -05:00
Miguel Alexandre
3b2d5bca3e Docs: Include OTLP in the tracing references (#56806) 2023-03-07 16:13:59 +01:00
Ashley Harrison
0c0d63b830 Build: enable caching in eslint plugin (#64325)
enable caching in eslint plugin
2023-03-07 14:53:50 +00:00
Alexander Weaver
4a1c18abf6 Alerting: Fix intermittency when seeding database in rule store tests (#64322)
Force unique IDs when seeding database
2023-03-07 09:40:55 -05:00
Christopher Moyer
a31e18f6e3 docs: removes doc that has moved to the cloud repo (#64153)
removes doc that has moved to the cloud repo
2023-03-07 08:36:48 -06:00
Joao Silva
e5f6c80379 Stat Panel: Fix issue with clipping text values (#64300) 2023-03-07 15:29:01 +01:00
Dan Cech
9276f11388 Chore: Add stat for remote cache config (#64276)
* add stat for remote cache config
2023-03-07 09:24:04 -05:00
Timur Olzhabayev
20b79b41eb Feat: Changing link destination for get more plugins (#63517)
* Changing link destination for get more plugins

* Changing codeowners to plugins platform frontend

* Remove unused variable
2023-03-07 15:16:27 +01:00
Piotr Jamróz
a7238ba933 Explore: Support mixed data sources for supplementary query (#63036)
* Consolidate logs volume logic (full range and limited)

* Fix showing limited histogram message

* Test passing meta data to logs volume provider

* Improve readability

* Clean up types

* Add basic support for multiple log volumes

* Move the comment back to the right place

* Improve readability

* Clean up the logic to support Logs Samples

* Update docs

* Sort log volumes

* Provide title to logs volume panel

* Move logs volume cache to the provider factory

* Add helper functions

* Reuse only if queries are the same

* Fix alphabetical sorting

* Move caching out of the provider

* Support errors and loading state

* Remove unused code

* Consolidate supplementary query utils

* Add tests for supplementaryQueries

* Update tests

* Simplify logs volume extra info

* Update tests

* Remove comment

* Update tests

* Fix hiding the histogram for hidden queries

* Simplify loading message

* Update tests

* Wait for full fallback histogram to load before showing it

* Fix a typo

* Add feedback comments

* Move feedback comments to github

* Do not filter out hidden queries as they may be used as references in other queries

* Group log volume by refId

* Support showing fallback histograms per query to avoid duplicates

* Improve type-checking

* Fix supplementaryQueries.test.ts

* Fix logsModel.test.ts

* Fix loading fallback results

* Fix unit tests

* WIP

* Update deprecated styles

* Simplify test

* Simplify rendering zoom info

* Update deprecated styles

* Simplify getLogsVolumeDataSourceInfo

* Simplify isLogsVolumeLimited()

* Simplify rendering zoom info
2023-03-07 15:00:11 +01:00
renovate[bot]
b2d7bea78b Update visx to v3 (#64315)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-07 13:27:26 +00:00
juanicabanas
498d7ae914 PublicDashboards: Email validation on submit (#64238) 2023-03-07 10:14:31 -03:00
renovate[bot]
e5870aa4f1 Update dependency webpack-cli to v5 (#64311)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-07 13:05:16 +00:00
renovate[bot]
c5cbcdb420 Update dependency react-calendar to v4 (#64310)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-07 13:02:45 +00:00
renovate[bot]
8930ad2046 Update dependency fork-ts-checker-webpack-plugin to v8 (#64309)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-07 13:00:55 +00:00
Ivana Huckova
07ab12c07d Elasticsearch: Rename time series query to es data query (#64225) 2023-03-07 13:57:24 +01:00
Ivana Huckova
3bd7217aa2 Elasticsearch: Remove _source field when processing raw data on backend (#64119)
* Elasticsearch: Remove _source field when processing raw data on backend

* Update snapshot test
2023-03-07 13:56:34 +01:00
Matias Chomicki
ede3e9e5c4 Range Splitting: Process instant queries as an independent query group (#64049)
* Query splitting: enable instant queries

* Range splitting: send instant queries as another request group

* Range splitting: increase grouped splitted requests stability

We were defaulting to the `0` index as the first group for the next request batch, but there was no guarantee that the group `0` had a `.partition` entry for `requestN-1`. Now we find the first defined and use that index as the next starting group.

* Range splitting: update unit test
2023-03-07 07:44:13 -05:00
Alex Khomenko
8999de4313 Cloudwatch: Use generated TS types (#63166)
* Add veneer

* Fix queries

* Remove redundant type

* Fix todos

* Sync and fix some todos

* Revert unrelated changes

* Revert unrelated changes[2]

* Revert unrelated changes[3]
2023-03-07 14:39:52 +02:00
Matias Chomicki
69d3ae8ec1 Range Splitting: ignore empty queries from splitting and fix result resetting (#64053)
Range splitting: ignore empty queries from splitting
2023-03-07 13:09:55 +01:00
Matias Chomicki
accef84ca5 Range splitting: Call subscriber.next only when there are new results to report (#64171) 2023-03-07 13:05:40 +01:00
renovate[bot]
dd12cdec4d Update dependency eslint-plugin-jsdoc to v40 (#64301)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-07 11:55:55 +00:00
renovate[bot]
981f6fb6cf Update dependency eslint-webpack-plugin to v4 (#64302)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-07 11:53:52 +00:00
Marcus Andersson
5c13d8eefd Plugins: make sure we expose all available field color modes (#64289)
expose all available field color modes via fieldcolormodeid enum.
2023-03-07 12:44:45 +01:00
Ashley Harrison
5b8c2f494d Chore: convert VariableOptions to use emotion instead of scss (#64135)
convert VariableOptions to use emotion instead of scss
2023-03-07 11:13:57 +00:00
Jack Baldry
7211422850 Add to Docs squad project when PRs are labelled with type/docs (#64285)
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2023-03-07 10:53:03 +00:00
George Robinson
9d9421154e Docs: Update Images in notifications docs to be more readable and instructive (#64227) 2023-03-07 10:52:33 +00:00
renovate[bot]
29982eb194 Update dependency stylelint to v15 (#64282)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-07 10:42:49 +00:00
renovate[bot]
f579a63f8e Update dependency msw to v1 (#64281)
* Update dependency msw to v1

* Fix breaking change

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2023-03-07 11:17:38 +01:00
Ivana Huckova
7b01668729 Logs sample: Fix scrolling for unwrapped log lines (#64163)
Fix scrolling for logs sample
2023-03-07 11:08:50 +01:00
Pepe Fagoaga
fa0f640d6a SQL Engine: Handle one session to connect the DB (#63246)
fix(postgresql): Handle one session to the DB
2023-03-07 10:33:59 +01:00
renovate[bot]
5fdf1f4862 Update dependency jest-junit to v15 (#64280)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-07 09:33:39 +00:00
Andrej Ocenas
58eb25e47d Phlare: Refactor the pprof transform (#64028) 2023-03-07 10:26:51 +01:00
Karl Persson
872d2d1e1c AuthN: Login error handling (#64239)
* Social: Fix type so it appears in error responses

* AuthN: construct errutil.Error from social.Error

* login: Check for errutil.Error and use public message

* Login: redirectURLWithErrorCookie for authn errors

Co-authored-by: Jo <joao.guerreiro@grafana.com>
2023-03-07 09:57:25 +01:00
Andres Martinez Gotor
c67bb07968 Docs: sync plugin JSON info in the different files (first part) (#63750) 2023-03-07 09:14:51 +01:00
juanicabanas
bceb1bb96d PublicDashboards: Change disabled label in Audit Table (#64260) 2023-03-06 19:06:34 -03:00
Todd Treece
27d961d712 Chore: Update CODEOWNERS for app platform squad (#64268)
Co-authored-by: Michael Mandrus <41969079+mmandrus@users.noreply.github.com>
2023-03-06 16:50:09 -05:00
Isabella Siu
4f3d64e8b7 CloudWatch: Make deeplinks work for us-gov and china regions (#64080) 2023-03-06 16:00:59 -05:00
Isabel
e7cd629e79 Revert "add manual prebuilt dashboards CTA banner" (#64264)
Revert "add manual prebuilt dashboards CTA banner (#64072)"

This reverts commit 976db3f53f.
2023-03-06 12:16:42 -08:00
juanicabanas
10476043ea PublicDashboards: Reshare public dashboard to recipient API call (#64178) 2023-03-06 16:09:19 -03:00
Todd Treece
e217854c24 Chore: Add initial support for deployment modes (#63992)
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2023-03-06 14:06:52 -05:00
Andre Pereira
3ebc604bb7 Trace View: Sticky trace view header (#64236)
* Sticky trace view header. Remove title from trace view container.

* Set background color of header as primary

* Remove search bar from trace view in dashboards when toggle is enabled
2023-03-06 19:04:51 +00:00
Will Browne
88666f9bbd Plugins: Fix Cache-Control header response for public/plugins/* assets API (#64051)
* fix caching

* fixeroo

* simplify

* undo changes

* fix test
2023-03-06 12:42:18 -05:00
Galen Kistler
b9ebd5757a TimeSeries: Fix overflowing exemplar modals causing content shifts (#64037)
*  fix overflowing exemplar modals causing content shifts
2023-03-06 11:34:37 -06:00
George Robinson
ed71012ced Alerting: Fix Classic Conditions $values variable (#64243)
This commit fixes a bug in the $values variable in notification
templates when using Classic Conditions. Since Classic Conditions
are not multi-dimensional, the values of each series that exceeded
the condition should be available as a RefID and offset. For example,
B0, B1, etc. However, this bug meant that instead just a single
condition would be printed as B, not B0.
2023-03-06 12:08:00 -05:00
Alexander Weaver
19d01dff91 Alerting: Expose Prometheus metrics for persisting state history (#63157)
* Create historian metrics and dependency inject

* Record counter for total number of state transitions logged

* Track write failures

* Track current number of active write goroutines

* Record histogram of how long it takes to write history data

* Don't copy the registerer

* Adjust naming of write failures metric

* Introduce WritesTotal to complement WritesFailedTotal

* Measure TransitionsFailedTotal to complement TransitionsTotal

* Rename all to state_history

* Remove redundant Total suffix

* Increment totals all the time, not just on success

* Drop ActiveWriteGoroutines

* Drop PersistDuration in favor of WriteDuration

* Drop unused gauge

* Make writes and writesFailed per org

* Add metric indicating backend and a spot for future metadata

* Drop _batch_ from names and update help

* Add metric for bytes written

* Better pairing of total + failure metric updates

* Few tweaks to wording and naming

* Record info metric during composition

* Create fakeRequester and simple happy path test using it

* Blocking test for the full historian and test for happy path metrics

* Add tests for failure case metrics

* Smoke test for full annotation persistence

* Create test for metrics on annotation persistence, both happy and failing paths

* Address linter complaints

* More linter complaints

* Remove unnecessary whitespace

* Consistency improvements to help texts

* Update tests to match new descs
2023-03-06 10:40:37 -06:00
gotjosh
5422f7cf56 Alerting: Add metrics for active receiver and integrations (#64050)
* Alerting: Add metrics for active receiver and integrations

Introduces metrics that allows us to track the number of configured receivers and integration in the Alertmanager for all orgs.

As a bonus, I realised that the alert reception metrics where not being exported nor collected. This does that too.
2023-03-06 16:37:07 +00:00
Andre Pereira
fd37ff29b5 Tempo: New Search UI using TraceQL (#63808)
* WIP of creating new components to support the Search tab using TraceQL

* Search fields now require an ID. Added duration fields to new Search UI

* Distinguish static from dynamic fields. Added dynamic tags input

* Moved new search behind traceqlSearch feature flag. Added handling of different types of values to accurately wrap them in quotes when generating query.

* Hold search state in TempoQuery to leverage state in URL. Moved types to schema file

* Use a read only monaco editor to render a syntax highlighted generated query. Added tooltip to duration. Added query options section

* Support multiple values using the regex operator and multi input

* Delete dynamic filters

* Automatically select the regex op when multiple values are selected. Revert to previous operator when only one value is selected

* Added tests for SearchField component

* Added tests for the TraceQLSearch component

* Added tests for function that generates the query

* Fix merge conflicts

* Update test

* Replace Search tab when traceqlSearch feature flag is enabled. Limit operators for both name fields to =,!=,=~

* Disable clear button for values

* Changed delete and add buttons to AccessoryButton. Added descriptions to operators

* Remove duplicate test

* Added a prismjs grammar for traceql. Replaced read only query editor with syntax highlighted query. Removed spaces between tag operator and value when generating query.

* Fix support for custom values when isMulti is enabled in Select

* Use toOption function
2023-03-06 16:31:08 +00:00
Sven Grossmann
5db0d14606 LokiContextUi: Add loading indicator (#64167)
add loading indicator to LokiContextUi
2023-03-06 17:25:04 +01:00
Karl Persson
66ef5325d1 AuthN: add metrics for login and authentication (#63783)
* AuthN: Add metrics
2023-03-06 17:07:57 +01:00
Joey
b6eb324139 Tempo: Config and doc updates (#64017)
* Config and doc upgrades

* Update docs/sources/datasources/tempo/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/datasources/tempo/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/datasources/tempo/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/datasources/tempo/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/datasources/tempo/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/datasources/tempo/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update tags text

* Use service graph as a proper noun

* Update docs/sources/datasources/tempo/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/datasources/tempo/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/datasources/tempo/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Update docs/sources/datasources/tempo/_index.md

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>

* Yarn prettier

---------

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
2023-03-06 16:03:29 +00:00
Gilles De Mey
282d021c53 Revert "Alerting: Fix alert form broken coming from panel (#64148)" (#64240) 2023-03-06 16:31:03 +01:00
Gilles De Mey
4e81aab60a Alerting: Fix queries not being previewed in detail view (#64198) 2023-03-06 15:46:55 +01:00
Gilles De Mey
f36c431442 Alerting: Disable "Declare Incident" button for open-source editions (#64204) 2023-03-06 15:46:40 +01:00
Jo
45fde4235b Deps: Replace go-jose v2 with go-jose v3 (#64228)
replace go-jose v2 with go-jose v3
2023-03-06 15:12:51 +01:00
Jo
05275cc9a4 SAML: Replace is not necessary anymore (#64222)
replace is not necessary anymore
2023-03-06 14:42:51 +01:00
Karl Persson
4ede9fc7a4 AuthN: User sync info clean up (#64217)
* AuthN: handle case where auth_info exists but not the user
2023-03-06 14:17:48 +01:00
Jack Westbrook
f82c57f281 Fix: Prevent freezing dashboard time range (#64212)
fix(extensions): create new object to prevent freezing dashboard time range
2023-03-06 13:43:03 +01:00
Ivana Huckova
7353299495 Elasticsearch: Fix using of correct size for log and document queries on backend (#64155)
* Elasticsearch: Fix using of correct size for log and document queries

* Fix linting
2023-03-06 13:41:45 +01:00
Matt Dodson
0099b23291 Docs, update for american English spelling (#63331)
Docs, update for american english
2023-03-06 06:39:56 -06:00
Ivana Huckova
50cf024fef Elasticsearch: Uncomment FIXME parts of test in TestRefIdMatching (#64156) 2023-03-06 13:35:00 +01:00
Alexander Zobnin
2eb4ca3827 FileUpload: Fix showFileName option (#64202)
* FileUpload: Fix showFileName option

* Fix tests
2023-03-06 12:25:48 +01:00
Sofia Papagiannaki
e41311e8be Library elements: Add MySQL migration for increasing the column size (#63856)
* Library elements: Add MySQL migration for increasing column size
2023-03-06 12:13:30 +01:00
Dominik Prokop
7948e3b20d Transformations: Add support for custom transformation operators in transformDataFrame (#64208) 2023-03-06 03:09:26 -08:00
Uladzimir Dzmitračkoŭ
88231c7cb8 GrafanaUI: reset ConfirmModal disabled state on re-open (#63452) 2023-03-06 11:52:28 +01:00
Giordano Ricci
24a4a24a89 Explore: Avoid changing queries twice when importing a query in mixed mode (#63804)
* Explore: avoid changing queries twice when importing a query in mixed mode

* move logic to thunk

* add tests

* improve tests
2023-03-06 10:40:39 +00:00
Serge Zaitsev
0bdb105df2 Chore: Remove xorcare/pointer dependency (#63900)
* Chore: remove pointer dependency

* fix type casts

* deprecate xorcare/pointer library in linter

* rooky mistake
2023-03-06 05:23:15 -05:00
Torkel Ödegaard
30c6ac49ba Table: Fixes logic for when adhoc filters are shown (#63642) 2023-03-06 11:14:55 +01:00
Torkel Ödegaard
95bd79ef4b Scene: Set maxDataPoints for dashboard scene query runners (#63772) 2023-03-06 11:00:47 +01:00
Torkel Ödegaard
4bf23b7f5f PanelData: move preProcessPanelData to @grafana/data (#63743) 2023-03-06 10:59:47 +01:00
Eric Leijonmarck
15fb7e99d9 Login: Fix sanitize input for signin url (#64203)
fix: sanitize input for signin
2023-03-06 09:54:30 +00:00
Timur Olzhabayev
43e281271b Docs: Adding angular support deprecation to our plugin submission FAQ (#64006)
Adding angular support deprecation to our faq
2023-03-06 09:53:09 +01:00
Victor Marin
211a999a2a Fix scenario where tooltip shows wrong value (#64025)
* Fix scenario where tooltip shows wrong value

* refactor
2023-03-06 10:20:44 +02:00
Sonia Aguilar
a669b72641 Alerting: Fix alert form broken coming from panel (#64148)
Fix alert form broken coming from panel
2023-03-06 09:06:24 +01:00
Sofia Papagiannaki
fde96c91c1 Chore: Differentiate the ErrOrgNotFound error messages (#64131)
* Better org not found error messages
2023-03-06 09:57:46 +02:00
Drew Slobodnjak
1aadafe7d8 Geomap: Fix route layer zoom behavior (#63409)
* Geomap: Fix Zoom Bug

* Add handling for case where no segments created

* Simplify segment checks and pull logic into utils

* Rename pixel variables

* Roll back change to raw data response json
2023-03-03 16:06:14 -08:00
chrisharbro
adc8000b72 update data source permissions instructions to match modern UI (#63405)
* update data source permissions instructions to match modern UI

* Apply suggestions from code review

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-03-03 16:20:44 -06:00
chrisharbro
b136d0dfcf Clarify that LDAP will create Grafana users by default when they log in for the first time (#63391)
* Clarify that enabling LDAP will create users by default when they log in

This proposed change to the doc was requested by a user in support ticket `79860`, as it was not clear to them that the OOTB behavior was for user accounts to be provisioned automatically in Grafana when signing in for the first time via LDAP.

* Update docs/sources/setup-grafana/configure-security/configure-authentication/ldap/index.md

Thanks!

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* fix boolean

Woops, `true` should be `false`

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-03-03 16:20:08 -06:00
Ryan McKinley
b7d8589588 FieldType: Add enum type and include it in testdata scenarios (#64059) 2023-03-03 13:37:56 -08:00
Brendan O'Handley
aed020d9b5 Influxdb: Fix missing columns with raw query (#64058)
* add selected columns to table when select object is not in query model because of rawQuery

* handle * and SHOW raw queries

* handle metricFindQuery

* Update public/app/plugins/datasource/influxdb/response_parser.ts

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>

* Update public/app/plugins/datasource/influxdb/response_parser.ts

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>

* Update public/app/plugins/datasource/influxdb/response_parser.ts

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>

---------

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2023-03-03 13:28:58 -05:00
renovate[bot]
9dc9e614d6 Update dependency rimraf to v4 (#64150)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-03 12:08:01 -05:00
renovate[bot]
0dd6ae5688 Update dependency wait-on to v7 (#64152)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-03 17:01:39 +00:00
renovate[bot]
ec8bd7691f Update dependency sinon to v15 (#64151)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-03 17:00:18 +00:00
Tania
40ba848bf5 Codegen: Render disjunctions in docs (#63590)
* Codegen: Render disjunctions in docs

* Fix references

* Regenerate docs
2023-03-03 17:48:25 +01:00
Eric Leijonmarck
ad4b053231 API keys: Remove state hideAPIkeys and refactor interface to IsDisabled (#64018)
* remove state and refactor interface to IsDisabled

* update docs and span

* Update pkg/services/apikey/apikey.go

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>

---------

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
2023-03-03 16:12:34 +00:00
Sofia Papagiannaki
e6e8351ee9 Chore: Remove CreateUserForTests() (#64125)
* Chore: Remove CreateUserForTests

* Apply suggestion from code review
2023-03-03 11:01:23 -05:00
Ieva
a52999a886 Access Control: revert to using folder store from the scope resolvers (#64132)
* revert to using folder store from the resolvers

* fixing tests after revert

* api test fixes

---------

Co-authored-by: Kristin Laemmert <mildwonkey@users.noreply.github.com>
2023-03-03 10:56:33 -05:00
Kristin Laemmert
dbb72f2c6e fix: create temp user no longer sets ID to 0 for all users (#64149)
* fix: create temp user no longer sets ID to 0 for all users

The xorm tag added to the tempuser ID field caused xorm to create all temp users with ID 0. Removing that tag allows xorm to set the ID based on the database result instead. I also added a test which was failing before this.

Fixes #63995
2023-03-03 10:50:54 -05:00
Sven Grossmann
2076282064 Logs: Log samples not being ordered correctly (#64097)
* fix log samples being unsorted and multiple results when chunking

* use `SortDirection` enum

* changed to `sortDataFrame` to support other datasources than loki

* update tests

* change capitalization
2023-03-03 16:02:14 +01:00
Ashley Harrison
d61bcdf4ca Chore: Pass signed user_hash to Intercom via Rudderstack (#63921)
* move analytics identifiers to backend

* implement hash function

* grab secret from env

* expose and retrieve intercom secret from config

* concat email with appUrl to ensure uniqueness

* revert to just using email

* Revert "revert to just using email"

This reverts commit 8f10f9b1bc.

* add docstring
2023-03-03 14:39:53 +00:00
George Robinson
fed59b1d43 Docs: Meta-monitoring docs for Grafana and Mimir (#63752)
* Docs: (WIP) Meta-monitoring docs for Grafana and Mimir

* Update metrics for Grafana Managed Alerts

* Fix spelling mistake

* Add docs for Alertamanager, including high-availability mode

* Comment undefined metrics

---------

Co-authored-by: Armand Grillet <2117580+armandgrillet@users.noreply.github.com>
2023-03-03 15:34:02 +01:00
Isabella Siu
59ac0a03fe CloudWatch: Add account support to variable queries (#63822)
Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
2023-03-03 09:26:14 -05:00
Virginia Cepeda
33f66e6350 Alerting: Show paused status in rules group accordion (#64068)
* Show paused status in group accordion

* Fix linting

* display number of paused alerts within normal label
2023-03-03 11:13:55 -03:00
Timur Olzhabayev
92ee03db78 Docs: Pinning to latest for grafana plugin tools (#64140)
Pinning to latest for grafana plugin tools
2023-03-03 15:07:35 +01:00
Gilles De Mey
3468804ff5 Alerting: Allow downloading alert rules from subpath (#64136) 2023-03-03 14:34:06 +01:00
Giordano Ricci
4a7fbea7a4 Correlations: Fix flaky integration tests (#64004)
* Correlations: Fix flaky integration tests

* set explore-squad as correlations tests code owners
2023-03-03 13:23:46 +00:00
Karl Persson
f258adadbf AuthN: add utility functions for different type of login responses (#64133)
* AuthN: add utility functions to handle response and redirect after
successful login

* API: Reuse utility functions for logins if authnService flag is enabled
2023-03-03 14:17:09 +01:00
juanicabanas
c59682fad6 PublicDashboards: Paused or deleted public dashboard screen (#63970) 2023-03-03 10:12:29 -03:00
Jo
92f47e72e1 Authn: Add missing jwt auth stat (#64127)
add missing jwt auth stat
2023-03-03 13:39:08 +01:00
Sonia Aguilar
9765c98b3d Alerting: Fix UI crashing when selecting custom grouping in alert panel (#64124)
Fix UI crashing when selecting custom grouping in alert panel
2023-03-03 06:59:36 -05:00
jcolladokuri
c840f6fb9d adds link for credit on ARG dashboard (#63352)
* adds link for credit on ARG dashboard

* Update public/app/plugins/datasource/azuremonitor/dashboards/arg.json

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>

---------

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-03-03 11:07:30 +00:00
Gábor Farkas
192308aac7 loki: query splitting: better stats (#64105) 2023-03-03 04:58:28 -05:00
Andriy
ab512fcf88 docs: Prevent internal docs on setting up plugin spellcheck from appearing on public website (#64113) 2023-03-03 10:50:08 +01:00
Dimitris Sotirakis
b42fd92fad Docker Build: Use tonistiigi/binfmt image for cross compilation (#64108)
* Change docker image used for cross-compilation

* Replace fmt.Println with log.Println

* Add specific tag for docker image
2023-03-03 10:44:54 +01:00
Matias Chomicki
b731540939 Log Components: Optimize style computing and re-renders in Row, Details, and Context (#63728)
* Log Details: grab parsed styles from parent

* Log Details Row: better memoization of style parsing

* Log Context: less re-renders

* Log Row Styles: memoize

* Log Row: use class method instead of anonymous function
2023-03-03 10:19:48 +01:00
李国忠
9521b0d2d2 Explore: Fix vector(5) syntax error in loki log explore (#63994)
* [fix] loki log explore : fix vector(5) err

* changelog

* changelog fmt

* rollback change log

* fix test and pretty fmt

* Update package.json

update lezer-logql depedency to 0.1.2

* Update package.json

fix conflict

➤ YN0000: │  "@grafana/monaco-logql@npm:^0.0.6":
➤ YN0000: │ @@ -21988,9 +21987,9 @@
➤ YN0000: │      "@grafana/experimental": 1.1.0
➤ YN0000: │      "@grafana/faro-core": 1.0.0-beta2
➤ YN0000: │      "@grafana/faro-web-sdk": 1.0.0-beta2
➤ YN0000: │      "@grafana/google-sdk": 0.0.4
➤ YN0028: │ -    "@grafana/lezer-logql": 0.1.1
➤ YN0028: │ +    "@grafana/lezer-logql": 0.1.2
➤ YN0000: │      "@grafana/monaco-logql": ^0.0.6
➤ YN0000: │      "@grafana/runtime": "workspace:*"
➤ YN0000: │      "@grafana/scenes": ^0.0.14
➤ YN0000: │      "@grafana/schema": "workspace:*"

* Upgrade lezer-logql

* fix logql test

---------

Co-authored-by: Matias Chomicki <matyax@gmail.com>
2023-03-03 10:09:34 +01:00
Gábor Farkas
fdc4973b77 loki: query chunking: consider refId when merging frames (#64103) 2023-03-03 10:06:25 +01:00
Eric Leijonmarck
76bc288d67 Service accounts: Remove revertapikeys endpoint (#64020)
* remove revertapikeys endpoints

* remove unused method
2023-03-03 09:03:06 +00:00
Horst Gutmann
fe33d14f71 Chore: update latest.json to 9.4.3 (#64104) 2023-03-03 09:21:54 +01:00
Jan-Otto Kröpke
c323a7cb13 Login: Allow custom name and icon for social providers (#63297) 2023-03-03 09:17:43 +01:00
Grot (@grafanabot)
a7a658ed1b Changelog: Updated changelog for 9.4.3 (#64099) 2023-03-03 09:07:23 +01:00
Alexander Weaver
8ea71d37c2 SQLStore: Enable clientFoundRows for MySQL connections (#64070)
Enable clientFoundRows for MySQL connections
2023-03-02 16:31:01 -06:00
juanicabanas
528dc28657 PublicDashboards: Add recipient uid to recipient list (#64076)
uid added for recipients
2023-03-02 17:15:56 -05:00
Isabel
976db3f53f add manual prebuilt dashboards CTA banner (#64072)
Adds manual CTA banner to this page so it can be indexed for SEO purposes. Current banner is being managed by our CTA tracking tool, which is not being indexed.
2023-03-02 13:04:59 -08:00
chrisharbro
5a21b743b3 Add known limitation regarding identical timestamps (#63508)
* Add known limitation regarding identical timestamps 

Making it clear that expressions operating on multiple queries requires identical timestamps in order to work correctly.

Also, it seems slightly misleading to say that expressions are primarily used by Grafana Alerting, recommending that we change to slightly softer language since it is fairly common practice to use expressions for non-alerting use cases.

* fix linting

ran prettier for linting
2023-03-02 13:03:22 -08:00
Isabel
56dcf1619f docs: fix formatting public dashboards (#64069)
* fix formatting public dashboards 

Fix formatting of headings and change bullet lists to numbered lists where the items are steps

* fix "click on" wording

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>

---------

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
2023-03-02 12:29:49 -08:00
Yuri Tseretyan
e760f22402 Alerting: Use background context for maintenance function (#64065) 2023-03-02 14:19:52 -05:00
matt abrams
e9ed76722d GHActions: add issue type to each query (#63972)
add issue type to each query
2023-03-02 09:00:30 -10:00
Ezequiel Victorero
4cc0399ee5 PublicDashboards: add recipient uid to recipient list (#63982) 2023-03-02 15:20:24 -03:00
Ryan McKinley
68fa7316fa Chore: Update grafana-plugin-sdk-go (#63990) 2023-03-02 09:11:01 -08:00
Adam Simpson
3498785184 AzureMonitor: Fix query variable migration (#63991)
* AzureMonitor: Fix query variable migration

Somehow the query object becomes "unwriteable" post 9.4. To workaround
this I clone the query object before doing any migrations which removes
the immutability and allows the migrations to function as they did.

Fixes #63943

* refactor deepClone out to keep object the same
2023-03-02 16:27:27 +00:00
Timur Olzhabayev
0b2dfaa710 Feat: Linking to plugin details page rather than externally for new datasources (#63499)
Changed links to help enterprise users install plugins directly via internal grafana catalog instead of linking out to grafana.com
2023-03-02 17:08:40 +01:00
Sonia Aguilar
9e1ea8c990 Alerting: Avoid printing [object][Object] in error message (#64023)
Avoid printing [object][Object] in error message
2023-03-02 10:48:44 -05:00
Emil Tullstedt
10ee900beb Errors: Remove direct dependencies on github.com/pkg/errors (#64026)
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2023-03-02 16:28:10 +01:00
Jack Westbrook
8c8f584b41 Plugins: Extend panel menu with links from plugins (#63089)
* feat(plugins): introduce dashboard panel menu placement for adding menu items

* test: add test for getPanelMenu()

* added an unique identifier for each extension.

* added context to getPluginExtensions.

* wip

* Wip

* wiwip

* Wip

* feat: WWWIIIIPPPP 🧨

* Wip

* Renamed some of the types to align a bit better.

* added limit to how many extensions a plugin can register per placement.

* decreased number of items to 2

* will trim the lenght of titles to max 25 chars.

* wrapping configure function with error handling.

* added error handling for all scenarios.

* moved extension menu items to the bottom of the more sub menu.

* added tests for configuring the title.

* minor refactorings.

* changed so you need to specify the full path in package.json.

* wip

* removed unused type.

* big refactor to make things simpler and to centralize all configure error/validation handling.

* added missing import.

* fixed failing tests.

* fixed tests.

* revert(extensions): remove static extensions config in favour of registering via AppPlugin APIs

* removed the compose that didn't work for some reason.

* added tests just to verify that validation and error handling is tied together in configuration function.

* adding some more values to the context.

* draft validation.

* added missing tests for getPanelMenu.

* added more tests.

* refactor(extensions): move logic for validating extension link config to function

* Fixed ts errors.

* Update packages/grafana-data/src/types/app.ts

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Update packages/grafana-runtime/src/services/pluginExtensions/extensions.test.ts

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* refactor(extensions): rename limiter -> pluginPlacementCount

* refactor(getpanelmenu): remove redundant continue statement

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2023-03-02 15:42:00 +01:00
Ludovic Viaud
5bd2fac9c8 InfluxDB: Update InfluxQL querybuilder to qualify identifiers (#62230) 2023-03-02 15:05:24 +01:00
Kristin Laemmert
bb798e24f3 chore(services): replace dependencies on dashboard store with dashboard service (#63937)
* chore(services): replace dependencies on dashboard store with dashboard service

This continues the backend service/store split by replacing dashboard store dependencies with service dependencies. the folder service remains the single exception for now; otherwise we'd have a dependency cycle between the folder and dashboard services. I have some ideas for that, but I'll take care of all the easy parts first.

While doing this, I identified and removed a number of unused arguments from the following functions:

NewFolderNameScopeResolver
NewFolderIDScopeResolver
NewFolderUIDScopeResolver
NewDashboardIDScopeResolver
NewDashboardUIDScopeResolver
resolveDashboardScope

I have a small enterprise PR to support this commit.

* lingering fmt
2023-03-02 08:09:57 -05:00
renovate[bot]
a227f69bed Update dependency glob to v9 (#64016)
* Update dependency glob to v9

* update usage of glob

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-03-02 12:59:34 +00:00
Gilles De Mey
5412f8d414 Alerting: New notification policies view (#61952) 2023-03-02 13:49:38 +01:00
renovate[bot]
494176d122 Remove dependency fs-extra to v11 (#64015)
* Update dependency fs-extra to v11

* remove fs-extra since it's only used in toolkit

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-03-02 12:17:22 +00:00
Torkel Ödegaard
27070c252d ErrorHandling: Fixes issues with bad error messages (#63775) 2023-03-02 13:09:58 +01:00
renovate[bot]
a2bd98488d Update dependency eventemitter3 to v5 (#64014)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-02 11:58:40 +00:00
Sofia Papagiannaki
89569be3a6 SQLStore: Fix wrong usage of xorm's insert functions in tests (#63850)
* SQLStore: Fix InsertId

* Prefs: Fix Insert return value

* Fix tests

* Add guidelines
2023-03-02 13:01:36 +02:00
Joao Silva
afd5f41780 StatPanel: Fix issue where sparkline chart was not being shown on resize (#63942) 2023-03-02 12:00:40 +01:00
renovate[bot]
9e2e569708 Update dependency @types/uuid to v9 (#63957)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-03-02 05:43:11 -05:00
Horst Gutmann
2732c844bd Chore: update latest.json to 9.4.2 (#64005) 2023-03-02 05:36:17 -05:00
Andres Martinez Gotor
c84cfd2b3f Plugin query API: Handle multiple errors (#63553) 2023-03-02 11:25:50 +01:00
beateguia
b211ec0a1d Docs [Search] update _index.md by replacing dashboardPreviews for panelTitleSearch feature toggle (#63268) 2023-03-02 11:16:50 +01:00
Grot (@grafanabot)
ae90f73b78 Changelog: Updated changelog for 9.4.2 (#64000) 2023-03-02 04:49:00 -05:00
Joey
adcebcaf8c Flame graph: Add context menu (#62705)
* Context menu

* Flame graph context menu improvements

* Move context menu state into flame graph

* Simplify logic

* Add test and rename to ContextMenuData
2023-03-02 09:47:56 +00:00
Matias Chomicki
40ac0fa14b Query Splitting: Add support for multiple queries (#63663)
* Range splitting: group metric and logs queries

* Range splitting: intercalate logs and metric queries when > 1 queries

* Range splitting: fix possibly undefined error and remove console log

* Range splitting: update test imports

* Range splitting: add unit tests for multiple queries

* Query splitting: use lodash partition function

* Chore: rename variable

* Chore: attempt to improve readability
2023-03-02 10:32:45 +01:00
Jack Baldry
f3e08a3560 Fix redirect from /setup-grafana/upgrade-grafana/ to /upgrade-guide/ (#63914)
Additionally fix redirect from `/installation/upgrading/` to
`/setup-grafana/upgrade-grafana/`.

The alias proposed in
https://github.com/grafana/grafana/pull/62402#discussion_r1090526464
was incorrect. It used the `../installation/upgrading/` alias as
reference but I did not check the redirect. As this page itself has
moved from `/setup-grafana/upgrade-grafana/` to `/upgrade-guide/` the
relative alias needed updating also.

To verify that this alias is working as expected:

1. Checkout this branch.
2. Run `make docs`
3. Browse to
http://localhost:3002/docs/grafana/latest/setup-grafana/upgrade-grafana/
4. Verify that you have been redirected to
http://localhost:3002/docs/grafana/latest/upgrade-guide/
5. Browse to
http://localhost:3002/docs/grafana/latest/installation/upgrading/
6. Verify that you have been redirected to
http://localhost:3002/docs/grafana/latest/upgrade-guide/

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2023-03-02 09:08:27 +00:00
Ivana Huckova
adda7819e9 Elasticsearch: Implement processing of raw document query results in backend (#63932) 2023-03-02 09:50:54 +01:00
Andres Martinez Gotor
dc6d0a2bdb Nav: Handle app plugin installation/uninstallation (#63706) 2023-03-02 09:50:01 +01:00
Ryan McKinley
a4fc8b9fca Transformations: Support time format when converting time to strings (#63826) 2023-03-01 20:00:53 -08:00
matt abrams
bc1c54ca17 GHActions: add token to publish changelog on forum (#63294)
add API token for forum
2023-03-01 15:30:01 -10:00
Leon Sorokin
9314fe1056 BarChart: Only apply radius to topmost bar segment when stacking (#63906) 2023-03-01 17:17:55 -06:00
Fábio Silva
afc9925dbf Alerting: Fix invalid duration that causes Grafana to crash (#63753)
* Alerting: fix invalid alert duration

* Return empty string from intervalToAbbreviatedDurationString

* Alerting: add tests for invalid duration

* tests intervalToAbbreviatedDurationString

* Alerting: add missing isAfter import 

* durationutils.ts
2023-03-01 11:45:41 -10:00
Jev Forsberg
9160f608b4 TextFormatting/chore: update and add test coverage to the value formatting (#63975)
baldm0mma/chore/updateFormattingTests/ update and add tests to formatting module
2023-03-01 13:54:59 -07:00
Grot (@grafanabot)
682a186676 Changelog: Updated changelog for 9.4.0 (#63978)
* Changelog: Updated changelog for 9.4.0

* Revert release date manually

---------

Co-authored-by: Michael Mandrus <41969079+mmandrus@users.noreply.github.com>
2023-03-01 15:28:33 -05:00
Ezequiel Victorero
8bd4e2cb25 Reqcontext: Use err status code instead of always fallback (#63974) 2023-03-01 17:11:16 -03:00
Andrej Ocenas
1fb2e7bba9 ContextMenu: Fix padding and show border based on items (#63948) 2023-03-01 20:14:28 +01:00
Ryan McKinley
fcffedbbf9 Search: Include panel_type in query (#63229) 2023-03-01 11:13:09 -08:00
Kristin Laemmert
157c270ad3 chore: remove export service POC from main (#63945)
* chore: remove export service POC from main

This is a POC and we'll see it, or something like it, again!

* remove frontend changes

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-03-01 12:42:53 -05:00
George Robinson
030f6c948f Alerting: Fix migration pauses all alert rules on PostgreSQL (#63951)
This commit fixes a serious bug in Grafana 9.4.1 where on upgrade
a migration would pause all existing alert rules and change the
default value of the column to true.
2023-03-01 17:32:29 +00:00
Leon Sorokin
5510fdc3ce TimeSeries: Ignore invalid, user-defined log-y-axis min/max limits (#59758) 2023-03-01 09:16:54 -08:00
Ashley Harrison
4f01d55a3c Profile: Fix session table overflowing page layout in mobile (#63858)
handle table overflowing in mobile layout
2023-03-01 17:08:04 +00:00
Alex Moreno
a05bf41ff9 Alerting: Fix boolean default in migration from false to 0 (#63952)
Fix boolean default in migration from false to 0
2023-03-01 16:58:30 +00:00
Victor Marin
c4048fc826 Regen cue after conflicting heatmap/table migrations (#63956) 2023-03-01 11:54:10 -05:00
Ieva
3fb1894739 Service accounts: Creation logic simplification (#63884)
* SA creation improvements

* PR feedback - put salt and rand back in and remove an unneeded line:
2023-03-01 16:31:20 +00:00
Ashley Harrison
a534119c44 Command Palette: Sign out link now works correctly (#63742)
* pass target to command palette urls so sign out link works correctly

* improve types
2023-03-01 15:59:32 +00:00
Ryan McKinley
22aa09d392 DashboardStore: Provide an interface directly rather than pointer receiver (#63910) 2023-03-01 07:52:16 -08:00
Victor Marin
a91e0a49c9 Migrate table to cue model (#61852)
* WIP table cue model

* WIP table types migration

* refactor

* WIP table cue

* docs

* veneer fix, docs

* docs
2023-03-01 17:48:36 +02:00
Victor Marin
e1bc3fad83 Heatmap: Migrate to CUE (#62173)
* IP migrate heatmap to cue

* WIP

* refactor

* change usages and refactor panelcfg

* CR modifications and docs

* refactor, enable heatmap cue generation, overwrite enum values in types.ts

* small refactor

* refactor types.ts

* cr modifications

* docs
2023-03-01 17:47:21 +02:00
Ryan McKinley
763b0fa4d5 Select: Show icon in the grafana/ui Select component (#63827) 2023-03-01 07:41:41 -08:00
Eric Leijonmarck
9d6ab92e39 Service accounts: Remove Add API keys buttons and remove one state of migrating for API keys tab (#63411)
* add: hide apikeys tab on start

* make use of store method

* added hiding of apikeys tab for new org creation

* missing err check

* removed unused files

* implemennted fake to make tests run

* move check for globalHideApikeys from org to admin

* refactor to remove the fake

* removed unused method calls for interface

* Update pkg/services/serviceaccounts/manager/service.go

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>

* Update pkg/services/serviceaccounts/manager/service.go

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>

* remove the checkglobal method

* removed duplicate global set const

* add count of apikeys for performance

* remove apikeys adding in UI

* added back deleted file

* added comment on component

* changed wording and copy for hiding and migrating service accounts

* refactor: remove migrationstatus in front/backend

This removes the migrationstatus state from the UI in favor of only
looking at the number of API keys to determine what to show to the user.
This simplifies the logic and makes less calls to the backend with each
page load. This was called both on the API keys page and the Service
accounts page.

- removes the state of migrationstatus from the UI
- removes the backend call
- removes the backend endpoint for migrationstatus

* Update pkg/services/apikey/apikeyimpl/xorm_store.go

Co-authored-by: Karl Persson <kalle.persson@grafana.com>

* changes the contet to also be primary

* change id of version for footer component

---------

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2023-03-01 15:34:53 +00:00
Ashley Harrison
8e9ccfc66e Navigation: Fix broken layout at 544px (#63793)
* ensure media queries transition properly

* fix unit tests
2023-03-01 15:31:32 +00:00
Andrej Ocenas
78b39bb282 NodeGraph: Support icons for nodes (#60989) 2023-03-01 16:02:33 +01:00
Sonia Aguilar
fa35ed8141 Fix wrong texts in titles when cloning templates (#63930) 2023-03-01 09:37:00 -05:00
Sofia Papagiannaki
8aae7be4e5 API: Enable serving Swagger UI by default and add docs and guidelines (#63489)
* Enable serving Swagger UI by default

It used to be served behind the `swaggerUi` feature toggle.

* Remove `swaggerUi` feature toggle

* Add docs and guidelines for updating swagger

* Apply suggestions from code review

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2023-03-01 16:36:37 +02:00
Joey
fbd049a094 Profiling: Enable flame graph & Phlare/Parca data sources for all users (#63488)
* Remove flame graph toggle

* Remove beta badge from panel

* Update expectedListResp.json

* Update flame graph container to only show if there is data
2023-03-01 11:32:39 +00:00
Ivana Huckova
d258c8ef8a Elasticsearch: Implement processing of logs query results in backend (#63647)
* Elasticsearch: Add processing of logs query to backend

* Add and fix tests

* Add snapshot tests

* Fix test in ES client

* Small updates, remove redundant logic

* Refactor setPreferredVisType to improve readability
2023-03-01 05:50:56 -05:00
renovate[bot]
8ac92aab19 Update dependency @testing-library/dom to v9 (#63908)
ignore testing-library/dom updates until react 18

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-03-01 05:38:13 -05:00
Oscar Kilhed
dc1600ff14 DataSourcePicker: Add new style of data source picker. (#63736)
* MVP of a new datasource picker

* Add datasource select history, naming DatasourceSelect -> DataSourceDrawer

* refactor cards

* Cleanup and fixing sort order for recents

* add feature flag

* fix feature flag name and use it

* Highlight selected

* Move new ds picker to core

* Restore original datasource picker

* Remove unused property

* update yarn.lock

* Rename folder, update codeowners

* add test for util functions

* Remove es-lint exception

* Change feature toggle description

* remove unnecessary if

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>

* Make test a bit more clear

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>

* Clean up api, filter once and before maps, minor code cleanup

* Fix prettier issue

---------

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2023-03-01 11:26:19 +01:00
Ashley Harrison
27635e6f7b Command Palette: Display dashboard location (#63807)
* show folder for dashboard, adjust how ancestors are displayed, clamp to single line

* fix keys

* better responsiveness

* use subtitle consistently

* use span instead of div
2023-03-01 09:46:46 +00:00
Georges Chaudy
b009ba6cd4 Add documentation for private data source connect using kubernetes (#63863) 2023-03-01 10:27:03 +01:00
mikkancso
913cb17eac Connections: Fix minor issues around Your connections/Data sources page (#63801)
* Connections: redirects to data sources

If Data sources page is the only child of Your connections, then the
NavLandingPage doesn't really make sense.

* DataSourcesList: do not show add button twice

If there are no data sources configured, then the DataSourcesList page
shows a large CTA to add a data source. Therefore, the add new data
source button in the header is redundant, let's remove it from there
in this case.

* DataSources: redirect to Connections after delete

The primary place of the DataSourceList page is under Connections,
provided that the `dataConnectionsConsole` feature is turned on.
Therefore, let's redirect there after deleting a data source.
2023-03-01 08:23:08 +01:00
Selene
e1350a905f Chore: Update thema and cuesty v0.1.6 (#63629)
* Update thema and cuesty

* Update thema version

* Update thema again

* update thema

---------

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2023-03-01 00:23:57 -05:00
Kim Nylander
ac5dbf2632 [DOC] Change APM dashboard to Service Graph view (#63818)
* Change APM dashboard to Service View graph

* Apply suggestions from code review

* Update docs/sources/explore/trace-integration.md

* Update docs/sources/explore/trace-integration.md
2023-02-28 15:33:15 -06:00
Yuri Tseretyan
5e2a661dec Alerting: update API models to user NoDataState and ExecutionErrorState from definitions instead of models (#63824) 2023-02-28 16:21:41 -05:00
Guilherme Caulada
69aba3eed3 Dockerfile: Allow building docker images locally for different editions (#63893)
* Allow to build different editions from dockerfile

* Fix missing argument on dockerfile
2023-02-28 17:18:00 -03:00
Ryan McKinley
bc2f68dc56 FieldNamePicker: support the isClearable option (#63828) 2023-02-28 11:15:30 -08:00
Sofia Papagiannaki
e643437ee6 Prometheus: Fix panic-ing when closing response body (#63895)
Prometheus: Fix panicing when closing response body
2023-02-28 13:08:01 -05:00
Grot (@grafanabot)
2141b1ea93 Changelog: Updated changelog for 9.2.13 (#63886) 2023-02-28 16:28:06 +00:00
Grot (@grafanabot)
a393124e73 Changelog: Updated changelog for 8.5.21 (#63882)
* Changelog: Updated changelog for 8.5.21

* Update CHANGELOG.md

---------

Co-authored-by: Horst Gutmann <horst.gutmann@grafana.com>
2023-02-28 17:06:16 +01:00
Joey
82bcfb4928 TraceView: Reworked header (#63105)
* Reworked header

* Remove toggle from merge

* Update test

* Update how span is retrived

* Tests

* Update tests

* Move new trace page header into its own component

* Remove tests already covered in TracePageHeader.test.tsx

* Update findHeaderTags

* Tooltip updates
2023-02-28 15:41:40 +00:00
Brendan O'Handley
16503a719b Prometheus: Handle jsonnet strings in variables.ts and fix types (#63875)
handle jsonnet strings in variables.ts and fix types
2023-02-28 10:28:37 -05:00
Serge Zaitsev
2f8ee38c5e Chore: Let wire inject prometheus.Registerer (#62195)
let wire inject prometheus.Registerer
2023-02-28 16:12:23 +01:00
Will Browne
ec82719372 Plugins: Introduce plugin package specific logger (#62204)
* refactor

* implement with infra log for now

* undo moving

* update package name

* update name

* fix tests

* update pretty signature

* update naming

* simplify

* fix typo

* delete comment

* fix import

* retrigger
2023-02-28 16:10:27 +01:00
Will Browne
ab8de1a0e3 Plugins: Add simple plugin sources service (#63814)
add simple plugin sources svc
2023-02-28 15:27:11 +01:00
Leon Sorokin
b2c0175777 TimeSeries: Fix legend and tooltip colors changing after data refreshes (#63823) 2023-02-28 08:16:27 -06:00
Uladzimir Dzmitračkoŭ
429d693a4a Navigation: reserve horizontal space for img in SectionNavItem to avoid layout shift (#63722) 2023-02-28 15:04:17 +01:00
Mitch Seaman
35629a1f07 fix terminal commands (#63719)
Fix PDC terminal commands per @chaudyg suggestion
2023-02-28 13:13:02 +00:00
zhichli
3c218d742f Datasources: Add user_agent header customization for outgoing HTTP requests (#63769) 2023-02-28 14:10:05 +01:00
Dimitris Sotirakis
177aa254c5 NPM: Stop using the folder path before the name path (#63851)
Stop using the folder path before the name path
2023-02-28 07:57:29 -05:00
Grot (@grafanabot)
a81a665f43 Changelog: Updated changelog for 9.3.8 (#63854)
* Changelog: Updated changelog for 9.3.8

* Add header for 9.3.8 release to changelog

---------

Co-authored-by: Horst Gutmann <horst.gutmann@grafana.com>
2023-02-28 13:47:16 +01:00
Karl Persson
e3cbc1f165 AuthN: Fix issue with duplicated auth connection (#63836)
AuthN: Fix issue with duplicated auth connection when user signed in
first time
2023-02-28 13:34:15 +01:00
Grot (@grafanabot)
e8d8c98723 Changelog: Updated changelog for 9.3.7 (#63853)
* Changelog: Updated changelog for 9.3.7

* Correct date for 9.3.7

---------

Co-authored-by: Horst Gutmann <horst.gutmann@grafana.com>
2023-02-28 13:25:02 +01:00
juanicabanas
4e74768530 PublicDashboards: Email sharing (#63762)
Feature for sharing a public dashboard by email
2023-02-28 09:02:23 -03:00
Sonia Aguilar
89ad81b15a Alerting: Fix width in alerts table columns on EditGroupModal (#63845)
Fix width in alerts table columns on EditGroupModal
2023-02-28 12:50:58 +01:00
Jo
7e97dbde65 LDAP: Allow setting minimum TLS version and accepted ciphers (#63646)
* update ldap library and use go module path

* add TLS min version and accepted min TLS version

* set default min ver to library default

* set default min ver to library default

* add cipher list to toml

* Update pkg/services/ldap/settings.go

Co-authored-by: Karl Persson <kalle.persson@grafana.com>

* Apply suggestions from code review

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* lint

---------

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-02-28 12:13:46 +01:00
dependabot[bot]
2ee73ad7f9 Bump leonsteinhaeuser/project-beta-automations from 1.3.0 to 2.1.0 (#63688)
Bumps [leonsteinhaeuser/project-beta-automations](https://github.com/leonsteinhaeuser/project-beta-automations) from 1.3.0 to 2.1.0.
- [Release notes](https://github.com/leonsteinhaeuser/project-beta-automations/releases)
- [Commits](https://github.com/leonsteinhaeuser/project-beta-automations/compare/v1.3.0...v2.1.0)

---
updated-dependencies:
- dependency-name: leonsteinhaeuser/project-beta-automations
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-28 12:05:51 +01:00
Horst Gutmann
24aba1a48e Chore: update latest.json to 9.4.1 (#63846)
Co-authored-by: grafanabot <bot@grafana.com>
2023-02-28 05:49:35 -05:00
Cyril Tovena
dde9b22113 Phlare: Switch to the new Pprof endpoint (#61505)
Co-authored-by: Joey Tawadrous <joey.tawadrous@grafana.com>
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2023-02-28 11:28:45 +01:00
Grot (@grafanabot)
71d64f95da Changelog: Updated changelog for 9.4.1 (#63841)
* Changelog: Updated changelog for 9.4.1

---------

Co-authored-by: Horst Gutmann <horst.gutmann@grafana.com>
2023-02-28 05:27:58 -05:00
Grot (@grafanabot)
321e4c0f99 Changelog: Updated changelog for 9.4.0 (#63838) 2023-02-28 11:15:26 +01:00
Karl Persson
bb217f7e5d AuthN: Only mark IsSignedIn if user is not anonymous (#63833)
Contexthandler: Only mark IsSignedIn if user is not anonymous
2023-02-28 11:08:56 +01:00
Sonia Aguilar
526cac60e5 Alerting: Fix AlertLabelDropdown to be case sensitive (#63787)
Fix AlertLabelDropdown to be case sensitive
2023-02-28 09:53:33 +01:00
Zoltán Bedi
e4d72df758 Docs: Change BigQuery link to Grafana's BigQuery (#63704) 2023-02-28 09:52:54 +01:00
Yuri Tseretyan
f561e71de8 Alerting: decouple api models from domain\dto models: separate Provenance status + converters (#63594)
* move conversions of domain models to api models and reverse from definition package to api package
2023-02-27 17:57:15 -05:00
owensmallwood
dc01e1ee6a PublicDashboards: Backfills share column with default value (#63407)
adds migration to backfill empty share column fields with default value of public
2023-02-27 15:54:16 -06:00
Nathan Marrs
43a9156d23 Canvas: Update gdev dashboard background image url (#63815) 2023-02-27 13:15:55 -08:00
Galen Kistler
e58bef15ac API: Cache-Control (browser caching) for datasource resources: part 2 (#63060)
* Check if header string contains "public" or "private" target values
2023-02-27 15:55:22 -05:00
Will Browne
32aa0ad272 Plugins: Remove stream handler from plugins DTO (#63812)
remove stream handler from DTO
2023-02-27 19:48:18 +01:00
Will Browne
25b3abece9 Plugins: Remove unused funcs and re-use enum types (#63813)
plugins tidy
2023-02-27 13:03:55 -05:00
Karl Persson
8484d0c4ef Settings: Remove global variables for auth settings (#63795)
* Setting: Remove global DisableLoginForm and add it to cfg

* Setting: Remove unused BasicAuthEnabled global

* Setting: Remove global OAuthAutoLogin and use from cfg

* Setting: Remove global AnonymousEnabled

* Setting: Remove global values for AuthProxy settings
2023-02-27 15:28:49 +01:00
Sonia Aguilar
a41e9b2dc7 Alerting: Create alert link from dashboard alerting panel (#63648)
* WIP

* feat: update CSS for long names

also adds broken href, to fix later

* Create correct link using CombinedRules

* Use link instead of button for alert link

* Updates from PR review

* Handle loading,haveResults and dispatched state for both promRules and rulerRules

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-02-27 15:24:58 +01:00
Hamas Shafiq
eca0a9f487 Chore: Remove the beta badge for Node Graph and Traces (#62566)
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2023-02-27 15:16:01 +01:00
Emil Tullstedt
110b05a0c0 Chore: Upgrade Go to 1.20.1 and Alpine to 3.17 (#63639) 2023-02-27 14:50:32 +01:00
Konrad Lalik
5f35995cd4 Alerting: Fix available labels in the alert panel groupby dropdown (#63573) 2023-02-27 14:48:05 +01:00
Brendan O'Handley
2372b7c626 Prometheus: Improve prometheus query variable editor (#63529)
* add prom query var editor with tests and migrations

* fix migration, now query not expr

* fix label_values migration

* remove comments

* fix label_values() variables order

* update UI and use more clear language

* fix tests

* use null coalescing operators

* allow users to query label values with label and metric if they have not set there flavor and version

* use enums instead of numbers for readability

* fix label&metrics switch

* update type in qv editor

* reuse datasource function to get all label names, getLabelNames(), prev named getTagKeys()

* use getLabelNames in the query var editor

* make label_values() variables label and metric more readable in the migration

* fix tooltip for label_values to remove API reference

* clean up tooltips and allow newlines in query_result function

* change function wording and exprType to query type/qryType for readability

* update prometheus query variable docs

* Update public/app/plugins/datasource/prometheus/components/VariableQueryEditor.tsx

Co-authored-by: Galen Kistler <109082771+gtk-grafana@users.noreply.github.com>

* handle jsonnet grafana as code variables

---------

Co-authored-by: Galen Kistler <109082771+gtk-grafana@users.noreply.github.com>
2023-02-27 08:38:05 -05:00
Brendan O'Handley
79c9ab1952 Dataplane: Support timeSeriesLong without transform (#62732)
* support timeSeriesLong without transform

* move timeserieslong transform to the right spot

* add review suggestions for using types and moving options inline

* handle frames with different field names

* remove extra options
2023-02-27 08:37:19 -05:00
Virginia Cepeda
2eba37b95b Alerting: Prevent resetting the form on evaluation group interval change (#63763)
Prevent resetting the form on evaluateEvery change
2023-02-27 09:54:34 -03:00
Jack Westbrook
9079de068e Revert "Update dependency rollup to v3 (#58252)" (#63790)
This reverts commit a97e9a1e17.
2023-02-27 07:01:24 -05:00
Alex Khomenko
5ad074ff2c Logs Panel: Generate types from schema (#63716) 2023-02-27 13:56:35 +02:00
Matias Chomicki
d56896cf72 Range splitting: Omit instant queries from splitting (#63705)
Range splitting: omit instant queries from splitting
2023-02-27 11:09:46 +01:00
Jo
3b22955ebb Orgs: Remove auto assign globals (#63754)
* remove auto assign globals

* add missing gitignore entries
2023-02-27 10:23:38 +01:00
Kyle Cunningham
c6331c7c10 Chore: Update codeowners to remove barchart from BI squad (#63566)
* Update codeowners to remove barchart from BI squad
* Update kindsys report
2023-02-27 04:06:31 -05:00
Laura Benz
c83e02ce02 Laura/refactor/move tests for handling datasource states (#63638)
refactor: move tests to a new file and clean up original file
2023-02-27 09:29:46 +01:00
Andreas Christou
0a7474ac5c Bump coverage versions (#63755)
- Includes a fix to ensure only ts/tsx files have coverage generated
2023-02-24 13:20:16 -05:00
Adam Simpson
3672e44c1c CloudMonitoring: Fix crash when inspecting data for MQL queries (#63747)
CloudMonitoring: Fix missing Field name

This happened for MQL queries that used an [aggregate function][1], e.g.
`sum`.

[1]: https://cloud.google.com/monitoring/mql/reference#aggr-function-group
2023-02-24 18:09:10 +00:00
Jo
c8db771939 Users: Fix org user always getting org id = 1 on auto assign false (#63708)
* fix org user always getting org id = 1 on auto assign false

* make tests explicit

* use correct cfg in service accounts

* fix api tests

* fix database test of ac

* fix InsertOrgUser returning affected rows as orgID
2023-02-24 18:08:44 +01:00
Andreas Christou
823aaaeb7c AzureMonitor: Fix template variables in ARG subscription field (#63731)
Add support for template variables in sub field
2023-02-24 16:37:09 +00:00
Jev Forsberg
7e6ed3bfcc Chore: Add chore issue template (#63195)
* baldm0mma/chore/addChoreTemplate/ add chore template

* baldm0mma/chore/addChoreTemplate/ update language

* baldm0mma/chore/addChoreTemplate/ update language

* baldm0mma/chore/addChoreTemplate/ update file name

* baldm0mma/chore/addChoreTemplate/ update about description

* baldm0mma/chore/addChoreTemplate/ remove environment deets
2023-02-24 09:34:58 -07:00
juanicabanas
9df4a39195 PublicDashboards: Configuration modal redesign (#63211)
Configuration modal redesign

---------

Co-authored-by: kay delaney <kay@grafana.com>
2023-02-24 12:36:29 -03:00
Jo
af987ae636 SupportBundles: Add bundle encryption based on age (#62501)
* add bundle encryption based on age

* undo changes to grafana-data

* sort deps

* test bundle creation and encryption

* use whitespace separator

* add support bundle config documentation

* Update docs/sources/troubleshooting/support-bundles/index.md

* Apply suggestions from code review

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>

* touch up docs

* extract encrypt

* Update docs/sources/troubleshooting/support-bundles/index.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Update docs/sources/troubleshooting/support-bundles/index.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

---------

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-02-24 09:24:44 -06:00
Giuseppe Guerra
966bcd3545 Plugins: Fix plugins CDN not working when plugins are not in domain's root path (#63202)
* Plugins CDN: Add support for different CDN root path

* Plugins CDN: Make frontendsettings return the correct CDN base path

* Update comments

* Fix version detection

* Undo frontend changes

* Fix system.js asset path construction

* fix(plugins): translate all plugin css asset paths loaded via cdn

* refactor(plugins): rename extractPluginNameVersionFromUrl and add comments

* Fix typo in comment

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>

* Hardcode CDN URL structure

/{id}/{version}/public/plugins/{id}/{assetPath} is not required anymore in the cdn url template config

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2023-02-24 14:28:13 +01:00
Sven Grossmann
b3c0e7e977 TestData: Fix bug when selecting "Log" streaming (#63190)
* fix wrong fields getting populated

* fix bug not being able to select another streaming type

* add correct arg type

* remove unused import
2023-02-24 14:13:56 +01:00
Konrad Lalik
6e39b7403d Alerting: Improve Alertmanager data source docs (#63611)
Improve Alertmanager data source docs
2023-02-24 13:48:58 +01:00
Sonia Aguilar
b42f973a7a Alerting: Fix changing datasource and creating new query not using defaults. (#63092)
* Set default query when changing data source or adding new alert query

* Set default query when creating new alert rule

* Set fefault query for cloud and recording rules

* Create hook for getting defaults in AlertRuleForm

* fixing tests

* Use conditionals with 'if' for more clarity and rename lazy to async

* Add loading indicator for default queries

* Fix tests

* Make newModel a sync method and fix tests error

* Use useAsync instead of useEffect for an async call
2023-02-24 13:43:54 +01:00
Gilles De Mey
09fdbb69ec Alerting: Adds visual component for feature toggles (#63621) 2023-02-24 13:29:30 +01:00
Josh Hunt
91d2df59fc CommandPalette: Remove topnav command palette feature flag (#63620)
* CommandPalette: Remove topnav command palette feature flag

* Restore search shortcuts if topnav isnt enabled

* fix unused imports
2023-02-24 07:14:53 -05:00
Josh Hunt
09e523eef2 Update internationalization.md (#63668) 2023-02-24 11:52:23 +00:00
Giordano Ricci
c136ad1f16 Datasource Onboarding: Prevent flickering of onboarding page after first load (#63360)
* Datasource Onboarding: Prevent flickering of onboarding page after first load

* add loading state to loadDatasources & refactor

* fix test

* avoid loading state when loading datasources on add

* fix test

* add explainer on why fetching datasources is needed
2023-02-24 11:48:30 +00:00
Will Browne
200d2ad249 Plugins: Invalidate plugin context app settings cache post update (#63279)
invalid plugin settings
2023-02-24 12:13:22 +01:00
Ashley Harrison
19d1a46f30 A11y: remove onClick from collapsed text (#62495)
remove onClick from collapsedText
2023-02-24 10:36:04 +00:00
Karl Persson
2a7fc3983b AuthN: cleanup logs (#63652)
* AuthN: clean up logs
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2023-02-24 11:26:55 +01:00
renovate[bot]
9cae3f43ed Update opentelemetry-js monorepo (#63636)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-24 10:05:31 +00:00
Laura Fernández
2f3ecbdee3 Docs: Command Palette documentation (#63217) 2023-02-24 10:21:33 +01:00
Andres Martinez Gotor
d91613448d Docs: Update developers > plugin > authentication documentation (#63257)
---------

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2023-02-24 09:56:30 +01:00
Torkel Ödegaard
d5b4a1288a Scenes: Updates to variables demo (#63511)
* Scenes: Updates to variables demo to include a collapsable scene to test scenario of part of scene containing a query runnner being inactive while a variable changes value

* Table: Fixes logic for when adhoc filters are shown

* Scene: Variables minor style fix

* rever unrelated change

* Update version

* Update
2023-02-24 09:30:15 +01:00
Ivan Ortega Alba
14e29451cf Loki ds: Interpolation breaks in Loki queries when no scoped vars (#63694) 2023-02-24 00:18:08 -08:00
Gábor Farkas
6cee0cdbad elastic: remove most of xpack (#63460)
elasticsearch: do not show the xpack toggle in datasource config
2023-02-24 07:24:31 +00:00
kay delaney
36e474d109 PanelHeaderMenu: Use UI/Menu component (#63040) 2023-02-24 04:23:56 +00:00
Alexander Weaver
e77621649d Alerting: Instrument outgoing state history requests using weaveworks/common (#63600)
* Loki backend and client depend on a requester

* Instrument all requests to loki using weaveworks TimedClient

* Construct collector in metrics package
2023-02-23 17:52:02 -06:00
Ivan Ortega Alba
ca4cd85504 InfluxDB ds: Query variable breaks trying to interpolate __interval (#63682) 2023-02-23 20:30:20 +01:00
Yuri Tseretyan
98e1aeaebd Alerting: Fix client to external Alertmanager to correctly build URL for Mimir Alertmanager (#63676) 2023-02-23 13:55:26 -05:00
Joseph Perez
dd5b115164 Docs: Fix of typo and delete of unnecessary sentence in 'Sign a plugin' doc (#63538)
* Typo fix, minor edit

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

* Prettier fixes

Signed-off-by: Joe Perez <joseph.perez@grafana.com>

---------

Signed-off-by: Joe Perez <joseph.perez@grafana.com>
2023-02-23 12:29:34 -06:00
zsrv
5687d23b52 Docs: Disambiguate auto_assign_org_role configuration option descriptions (#61827) 2023-02-23 18:20:43 +00:00
zsrv
0481c12bd5 Docs: Update old default values for configuration options (#61826) 2023-02-23 17:57:20 +00:00
zsrv
22f51602ba Docs: Update default value for geomaps enable_custom_baselayers option (#61880)
Docs: Update default value for geomaps disable_custom_baselayers option

The `disable_custom_baselayers` configuration option name and default
value were inverted in commit e604e69d93,
but the update to the description in the documentation was missed.
2023-02-23 17:41:21 +00:00
Drew Slobodnjak
5cb0ee11e1 Geomap: Update documentation for 9.4 (#63281)
* Geomap: Update documentation for 9.4

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

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

---------

Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-02-23 09:39:27 -08:00
ismail simsek
ffed779879 InfluxDB: Fix getting empty response when querying fields with retention policy (#63669)
Revert "InfluxDB: Send retention policy with InfluxQL queries if its been specified. (#62149)"

This reverts commit a5a85e0398.
2023-02-23 12:20:20 -05:00
Isabel
a0a2181e5a fix link to explore with logs and headings (#63665)
fixed links and eadings
2023-02-23 17:17:51 +00:00
Josh Hunt
63ae343ba9 Docs: Clarify command palette changes are not behind feature flag (#63576) 2023-02-23 16:57:42 +00:00
Isabella Siu
22537bec2e CloudWatch Logs: Fix query editor freezing (#63661) 2023-02-23 11:50:48 -05:00
Torkel Ödegaard
2023203045 SectionNav: Simplify section toggle styling (#63653) 2023-02-23 17:03:00 +01:00
Josh Hunt
0c36b247af Chore: Refactor Search/Folder view types into DashboardViewItem (#63162)
* Chore: Refactor Search/Folder view types into DashboardViewItem

* uid is not optional in api

* rename queryResultToNestedFolderItem function

* Fix error from locationInfo being empty

* change queryResultToViewItem to take view instead

* Fix sortMeta fields not showing on search cards

* Show correct parent for panel search results
2023-02-23 15:52:54 +00:00
Ashley Harrison
a48793b542 Accessibility: Make row actions keyboard accessible (#63367)
make row actions keyboard accessible
2023-02-23 15:20:59 +00:00
Torkel Ödegaard
85c81ae080 Scenes: Variables minor style fix for spacing & margin (#63643)
* Table: Fixes logic for when adhoc filters are shown

* Scene: Variables minor style fix

* rever unrelated change
2023-02-23 06:41:43 -08:00
Mitch Seaman
06d7619282 Docs: Add Private Data Source Connect docs (#63469)
* Add PDC docs

Add documentation for private data source connect, available in Cloud Pro and Advanced in closed preview

* Move PDC ssh key generation task

* edits throughout

* move image to media folder

---------

Co-authored-by: Chris Moyer <chris.moyer@grafana.com>
2023-02-23 14:24:54 +00:00
Jack Westbrook
2281abaf37 Revert: Babel removal and runtime update (#63641)
* Revert "Update babel monorepo to v7.21.0 (#63532)"

This reverts commit 3d974fc716.

* Revert "Chore: Remove babel deps and config (#62461)"

This reverts commit 21a988a659.
2023-02-23 09:22:35 -05:00
Emil Tullstedt
3abaf32cf2 Chore: Upgrade golangci-lint to v1.51.2 (#63630)
Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2023-02-23 15:10:03 +01:00
kay delaney
c769a6281e data/scaledUnits: Handle size === undefined more gracefully (#63218) 2023-02-23 13:23:33 +00:00
Ethan
71b7c62021 Snyk Workflow add (#62902)
* Snyk Workflow add

* CODEOWNERS update

* Remove master branch name
2023-02-23 13:16:16 +00:00
Karl Persson
16b416b88b AuthN: Extract enable disabled users logic to its own hook (#63628) 2023-02-23 13:06:06 +01:00
renovate[bot]
1406feb03c Update dependency webpack-bundle-analyzer to v4.8.0 (#63626)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-23 11:47:01 +00:00
Alex Moreno
f60dc4441f Alerting: Add status label to GroupRules metric (#63454)
* Add status label to GroupRules metric

* Add state (active and paused) label to GrouRules

* Add active/paused metrics tests
2023-02-23 12:38:27 +01:00
Paul Dee
f3714099e7 spell fix (#63588) 2023-02-23 12:36:27 +01:00
renovate[bot]
85b86d7a61 Update dependency webpack to v5.75.0 (#63624)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-23 12:29:33 +01:00
Karl Persson
ddaf145d71 AuthN: Fix user sync with multiple client (#63615)
* AuthN: Fix user sync to handle auth connections to multiple providers
2023-02-23 12:23:51 +01:00
renovate[bot]
3d974fc716 Update babel monorepo to v7.21.0 (#63532)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-23 11:16:25 +00:00
Jack Westbrook
21a988a659 Chore: Remove babel deps and config (#62461)
* chore: remove unused frontend build deps babel and ts-loader

* chore(babel): delete redundant config file and remove ref in pr-commands

* chore: clean up references to babel.config.js
2023-02-23 11:59:05 +01:00
Laura Benz
df6572b53f Laura/refactor/move tests for running queries (#63581)
* refactor: move tests to a new file and clean up original file

* refactor: restructure test

* refactor: remove linting error

* refactor: change wording in test description
2023-02-23 11:51:51 +01:00
Josh Hunt
54aaaf169f Internationalization: Mark up more of Dashboard Variables and Browse/Search Dashboards (#63518)
* Extract dirty translations from main

* Translate some variable phrases

* Translate nav bar

* Translate search/browse

* Fix header returning null

* Translate search results type

* fix test
2023-02-23 10:46:07 +00:00
renovate[bot]
0abbfbcc59 Update dependency storybook-dark-mode to v2.1.1 (#63617)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-23 10:39:51 +00:00
renovate[bot]
98596c36ad Update dependency lru-cache to v7.17.0 (#63602)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-23 10:13:54 +00:00
Ashley Harrison
f6e92da402 Navigation: Add plugin upgrade guide to docs (#63449)
* initial attempt at plugin upgrade guide

* fix link

* small tweaks based on feedback

* add basic skeleton for tabs documentation
2023-02-23 10:12:35 +00:00
renovate[bot]
2c860ec3b9 Update dependency rudder-sdk-js to v2.25.0 (#63533)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-23 10:10:52 +00:00
Ashley Harrison
4a2695349d Chore: more ts test fixes (#63438)
* replace anys in tests

* more test fixes

* clean up any's in tests
2023-02-23 10:07:44 +00:00
Ashley Harrison
bcaf4dc0b1 TimeRangeInput: Fix positioning of dropdown menu (#63472)
fix TimeRangeInput positioning
2023-02-23 09:53:32 +00:00
George Robinson
c9497dc533 Docs: Improved docs for templating labels and annotations (#63539) 2023-02-23 08:51:46 +00:00
Karl Persson
057d9c45fa AuthN: Add in-memory cache for oauth token refresh hook (#63569)
* OAuthSyncHook: Add in-memory cache so we don't have to perform the check on every request

Co-authored-by: Jo <joao.guerreiro@grafana.com>
2023-02-23 09:36:21 +01:00
Jev Forsberg
f94b957333 Stat panel: Update out-of-date README (#63160)
* baldm0mma/chore/updateREADME/ update the readme for the statpanel

* baldm0mma/chore/updateREADME/ annos

* baldm0mma/chore/updateREADME/ update info with copy from docs

* baldm0mma/chore/updateREADME/ update caps

* baldm0mma/chore/updateREADME/ rem letter

* baldm0mma/chore/updateREADME/ update language

* baldm0mma/chore/updateREADME/ update spelling
2023-02-22 14:12:00 -07:00
Kyle Cunningham
356e2e1933 MSSQL Datasource: Revert functions within macros change (#63592)
* Revert functions within macros change
* Add tests for function and macro for mssql
* Remove macro support tests

---------

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2023-02-22 22:02:05 +01:00
Adela Almasan
05a9946b18 Geomap: Improve tooltip url for photos layer (#63487) 2023-02-22 20:00:06 +02:00
George Robinson
18fec707fd Docs: Fix numbering in templating docs (#63577) 2023-02-22 17:36:00 +00:00
Jack Baldry
e013366db3 Update technical documentation CODEOWNERS to reflect areas of responsibility (#63550)
* Reorder documentation section to be first by depth, then alphabetically

This matches the organization described in the top of the CODEOWNERS
file.

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

* Update technical documentation CODEOWNERS to reflect areas of responsibility

@Eve832 is responsible for all docs not owned by another technical
writer.

@Eve832 and @GrafanaWriter are responsible for Administration, Data
sources, Explore, and Release notes.

@Eve and the plugins teams are responsible for developer plugins documentation.

@brendamuir is responsible for all alerting documentation.

@chri2547 is responsible for Fundamentals, Getting started,
Introduction, Setup Grafana, Upgrade guide, and What's new.

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

* Add explicit code ownership for /devenv/README.md

This was lost when the README.md pattern was made more strict.

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

* Add @josmperez to plugins reviews

---------

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2023-02-22 16:36:20 +00:00
Abdul
5ec8e370f7 Expressions: Add tests for the QueryEditorRows and QueryGroup components (#63394)
* add QueryGroup onAddQueryClick and onExpressionClick tests

* add test's for the query group component

- new query/expression should be expanded
- adds query/expression onclick

* add open data source help modal test

* add disabled expression test

* add query editor rows test

* rm unused attributes, rm renderScenario required override
2023-02-22 17:26:41 +02:00
Mitch Seaman
33277fccde Docs: fix typo in 9.4 what's new (#63545)
provides -> providers
2023-02-22 09:02:57 -06:00
Ivana Huckova
a1c0feab7d Loki: Remove comment (#63565)
Remove comment
2023-02-22 14:57:18 +01:00
Isabella Siu
b674cad09e CloudWatch: Add AWS/IotSiteWise namespace and metrics (#63534) 2023-02-22 08:55:18 -05:00
ismail simsek
3d75dbc31e Prometheus: Handle annotation query with empty fields (#63560)
Handle annotation query with empty fields
2023-02-22 14:47:50 +01:00
Gábor Farkas
f925a989d3 elasticsearch: metrics rate and top_metrics do not need xpack (#63457) 2023-02-22 14:36:15 +01:00
Jo
635a456fa4 Authn: Add separate context for session tagging (#63561)
add context
2023-02-22 14:31:08 +01:00
Emil Tullstedt
c72d18f5e6 Revert "Chore: Upgrade Go to 1.20.1 and Alpine to 3.17 (#63506)" (#63567)
This reverts commit 747ddf7b33.
2023-02-22 08:14:26 -05:00
renovate[bot]
a97e9a1e17 Update dependency rollup to v3 (#58252)
* Update dependency rollup to v3

* build(rollup): update all rollup related deps to latest version

* chore(runtime): update peerDeps to match other package semver ranges

* chore(yarn): refresh lock file

* refactor(packages): migrate to esm for rollup@3 configs

* build(packages): remove unused rollup dependencies

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2023-02-22 14:10:07 +01:00
Kristina
06dfe2156f Explore: Add transformations to correlation data links (#61799)
* bring in source from database

* bring in transformations from database

* add regex transformations to scopevar

* Consolidate types, add better example, cleanup

* Add var only if match

* Change ScopedVar to not require text, do not leak transformation-made variables between links

* Add mappings and start implementing logfmt

* Add mappings and start implementing logfmt

* Remove mappings, turn off global regex

* Add example yaml and omit transformations if empty

* Fix the yaml

* Add logfmt transformation

* Cleanup transformations and yaml

* add transformation field to FE types and use it, safeStringify logfmt values

* Add tests, only safe stringify if non-string, fix bug with safe stringify where it would return empty string with false value

* Add test for transformation field

* Do not add null transformations object

* Break out transformation logic, add tests to backend code

* Fix lint errors I understand 😅

* Fix the backend lint error

* Remove unnecessary code and mark new Transformations object as internal

* Add support for named capture groups

* Remove type assertion

* Remove variable name from transformation

* Add test for overriding regexes

* Add back variable name field, but change to mapValue

* fix go api test

* Change transformation types to enum, add better provisioning checks for bad type name and format

* Check for expression with regex transformations
2023-02-22 06:53:03 -06:00
Torkel Ödegaard
f64b7fe8a7 Page: Remove footer from new page layout (#63455)
* Page: Option to hide footer, enabled by default for PluginPage

* Remove footer from new page layout
2023-02-22 13:30:57 +01:00
Ivana Huckova
89b3663a23 Elasticsearch: Add processing for raw data to backend (#63208)
* WIP

* WIP

* Refactor

* Add tests

* Cleanup

* Fix whitespace

* Fix test and lint

* In snapshot tests update counter to be number

* Add boolean value for snapshot testing

* Update pkg/tsdb/elasticsearch/response_parser.go

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>

* Update pkg/tsdb/elasticsearch/response_parser.go

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>

* Use generic to reuse logic when creating fields

* Use nullable fields

* Fix lint

* WIP (#63272)

wip

* Fix snapshot test after we changed field types to nullable

---------

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2023-02-22 13:28:43 +01:00
Konrad Lalik
0a73ac36ad Alerting: Add dashboard and panel links to rule and instance annotations (#63243)
* Add dashboard and panel links in rule and instance annotations

* Use clean annotations in RuleViewer
2023-02-22 13:17:13 +01:00
Jack Baldry
5f5f51b3bf Add --init to all podman invocations to ensure ^C works on MacOS (#61745)
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2023-02-22 10:54:35 +00:00
Emil Tullstedt
747ddf7b33 Chore: Upgrade Go to 1.20.1 and Alpine to 3.17 (#63506) 2023-02-22 11:53:06 +01:00
George Robinson
740bcf64ce Docs: Delete old templating notifications docs page (#63547) 2023-02-22 10:12:29 +00:00
Gareth Dawson
c5ed9391b6 Loki: Display error with label filter conflicts (#63109)
* feat: add logic to check for conflicting operator

* feat: display error if there is a conflict

* feat: check if label filter conflicts with other filters

* fix: remove capitalisation from "no data"

* test: add tests for isConflictingFilter function

* feat(labels): add validation for label matchers

* test(labels): add tests for isConflictingSelector

* refactor(labels): add suggestions from code review

* test(labels): add case for labels without op

* refactor(operations): add suggestions from code review

* feat(operations): display tooltip when you have conflicts

* fix: remove unused props from test

* fix: remove old test

* fix(labels): error message now displays in the correct location

* fix(operations): operations can be dragged, even with error

* fix: remove unused vars

* fix: failing tests

* fix(operations): hide error message whilst dragging

* refactor: use more appropriate variable naming

* refactor: add suggestions from code review

* perf: use array.some instead of array.find
2023-02-22 09:56:20 +00:00
Shirley
3a57304ef0 CloudWatch: Remove error for multi-value variable in logs runner (#63522)
Remove error for multi template variable in CW logs runner
2023-02-22 10:35:39 +01:00
Karl Persson
207a55be66 AuthN: add flag for org roles sync (#63507)
* AuthN: Add flag to control org role syncs

* JWT: Only sync org roles if the skip flag for jwt is false

* LDAP: Only sync org role if skip flag for ldap is false

* OAuth: Skip org roles sync if no roles were provided by upstream service

* Grafana: Set SyncOrgRoles to true for authentication through proxy with grafana as backend
2023-02-22 10:27:48 +01:00
Jo
1e84d5d93c Authn: Add caching for anon service (#63521)
add local cache to protect multiple writes to DB cache
2023-02-22 09:59:28 +01:00
Andres Martinez Gotor
45e478182b grafana-cli: update plugins ls command (#63492) 2023-02-22 09:24:13 +01:00
Gábor Farkas
b069fd81b2 loki: query splitting: more robust check (#63542) 2023-02-22 09:16:05 +01:00
Adela Almasan
3949706182 Geomap: Release night / day layer (#63435) 2023-02-22 07:39:39 +02:00
Adela Almasan
2240484935 Geomap: Fix default opacity for layers (#63426) 2023-02-21 20:55:07 +02:00
Andreas Christou
20591cc42b CloudMonitor: Fix query migration (#63491)
* Update query and set required fields for explore queries

* Update test case

- Validate onChange is called with the new query
2023-02-21 11:21:20 -05:00
George Robinson
f93a9c794d Alerting: Fix incorrect comment in eval.go (#63510)
This commit fixes an incorrect comment in the Result struct in eval.go
that I had written some time ago. The comment now documents the
actual behaviour and content of this field.
2023-02-21 15:42:04 +00:00
MichaIng
71e5024d7a Packaging: Stop and disable service on DEB package removal (#59580)
* Stop and disable service on DEB package removal

The condition for this code to run applies on package removal only, not on upgrade or reinstall which generally invoke the prerm script as well.

Currently the service keeps running after package removal, failing at some point due to missing files. And if enabled, the attempted service start on every boot is doomed to fail.

If the invoke-rc.d command exists, it can be assumed that update-rc.d exists as well, as both are part of the same init-system-helpers package in dpkg distro repositories.

If neither systemd, nor the init system helper package is installed, the service is not tried to be disabled, since we cannot know a safe method to do so.

Compared to the postinst script, "set -e" is skipped here, since we do not run any command which is allowed to fail the whole package removal.

Signed-off-by: MichaIng <micha@dietpi.com>

* Add postrm script to package build

Signed-off-by: MichaIng <micha@dietpi.com>

* Remove redundant check

Co-authored-by: Dan Cech <dan@aussiedan.com>

---------

Signed-off-by: MichaIng <micha@dietpi.com>
Co-authored-by: Dan Cech <dan@aussiedan.com>
2023-02-21 10:40:38 -05:00
Jo
ff78103a24 Authn: Anon session service (#63052)
* add anon sessions package

* add usage stat fn

* implement count for cache

* add anonservice to authn broker

* lint

* add tests for remote cache count

* move anon service to services

* wrap tagging in goroutine

* make func used
2023-02-21 16:21:18 +01:00
bla2ej
56c8661929 Alerting: Get alert rules on faults (#61248) (#63051)
* Alerting: get alert rules on faults (#61248)

Two functions used to fetch alert rules from DB are updated:
- GetAlertRulesForScheduling
- ListAlertRules
Rows are scanned one by one so good ones are returned.
Common Error is logged with indication how many
rules failed on deserialization.

Resolved: #61248

* updates from review comments
2023-02-21 08:54:20 -06:00
Torkel Ödegaard
6fd547881a Page: Remove page shadow and replace with panel border (#63453) 2023-02-21 15:42:37 +01:00
Kyle Brandt
52ed297ed5 Backend: Use latest plugin-sdk-go v0.149.1 (#63498)
Use latest github.com/grafana/grafana-plugin-sdk-go which includes changes to the TypeVersion property (always present in JSON).

Also included is squtil changes: SQL util - allow using the database scan type for converters
2023-02-21 09:06:15 -05:00
Jack Baldry
e2af8aa53b Create full directory path for testing docs (#62004)
* Create full directory path for testing docs

The previous command was useless as the old image already had the
/hugo/content/docs/grafana directory. The old image also had the
/hugo/content/docs/grafana/latest directory but the new image does
not.

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

* Modify a documentation file to to trigger docs PR tests

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

* Sentence case description

Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>

---------

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Ursula Kallio <ursula.kallio@grafana.com>
2023-02-21 13:41:39 +00:00
Selene
7ace44c8b5 Chore: Update oapi-codegen library (#62962)
* Update oapi library and thema

* Use fork commit to fix elasticsearch and cloudwatch generators

* Update thema

* Fixes

* Update thema with last fixes

* Sync

* Fix test

* Update thema and schemas

* Update thema
2023-02-21 12:34:24 +01:00
Karl Persson
5ca8ea40c1 AuthN: Cleanup authn package (#63456)
* AuthN: Update comments for ClientParams

* AuthN: Update flag name from SyncTeamMembers to SyncTeams

* UserSync: rename function and fix order of parameters so it is correct

* UserSync: Fix so we skip check if no authModule or authID is passed

* UserSync: move quota check to create user function

* UserSync: Move FetchSyncedUserHook to UserSync

* UserSync: Move last seen user hook to user sync service

* ApiKey: Implement last seen hook as a client hook instead
2023-02-21 11:21:34 +01:00
Emil Tullstedt
0caacb3333 Cookies: Provide a mechanism for per user control over cookies (#61566) 2023-02-21 11:19:07 +01:00
Karl Persson
5eaaf9b9b7 RBAC: Rewrite search and plugin list rbac test (#63483)
* API: rewrite rbac tests for search

* API: rewrite rbac tests for listing plugins

* API: remove unused rbac test setup code
2023-02-21 11:13:35 +01:00
Carlos Juan Gómez Peñalver
984e293d60 many-to-one requires explicit grouping (#58174)
The current query results in a many-to-one relationship which requires explicit grouping see more details here
https://github.com/portefaix/portefaix-hub/pull/306

https://prometheus.io/docs/prometheus/latest/querying/operators/#many-to-one-and-one-to-many-vector-matches
2023-02-21 11:00:48 +01:00
Andres Martinez Gotor
5ce884e92a Docs: Fix typos for 'Build a data source' tutorial (#63448) 2023-02-21 09:26:14 +01:00
Horst Gutmann
4b5d8b1002 Release: Update versions in package to 9.5.0-pre (#63450) 2023-02-21 08:38:51 +01:00
George Robinson
85457156e3 Docs: Remove duplicate docs on images in notifications (#63474) 2023-02-20 12:58:04 -05:00
George Robinson
0e9201c522 Docs: Uploading images from disk supported in Slack (#63443) 2023-02-20 17:39:10 +00:00
George Robinson
92248fe977 Docs: Upload images from disk supported in Telegram (#63442) 2023-02-20 18:33:19 +01:00
ismail simsek
80292d3d1e Prometheus: Fix missing abs operation to query builder (#63139)
Add abs operator to prometheus query builder
2023-02-20 15:49:59 +01:00
Andres Martinez Gotor
0ab9ac5750 Docs: Reference auth docs in backend-plugin tutorial (#63451) 2023-02-20 15:42:43 +01:00
George Robinson
9f2fb3fa27 Alerting: Add filter and remove funcs for custom labels and annotations (#63437)
This commit adds filterLabels, filterLabelsRe, removeLabels, and
removeLabelsRe functions to templates for custom labels and annotations.
It allows for use cases such as removing all private labels.
2023-02-20 14:40:26 +00:00
Simon
f9f80cff89 Update navigationAppConfig to use new k6 plugin id (#63002) 2023-02-20 15:29:23 +01:00
Gábor Farkas
8f7b980c95 Loki: query splitting: handle stats (#63436)
* loki: query splitting: handle stats

* update tests
2023-02-20 13:55:56 +00:00
Guilherme Caulada
6e7187a042 E2E: Add necessary components and pages for oem-suite (#63216)
Add necessary components and pages for oem-suite
2023-02-20 09:55:12 -03:00
George Robinson
c637a5543e Alerting: Rename caps to captures as cap is a reserved word (#63432) 2023-02-20 10:08:36 +00:00
George Robinson
aacf9da969 Alerting: Change Data to use Labels instead of map[string]string (#63431)
This commit changes the Data struct in template.go to use Labels
instead of map[string]string. It changes how labels are printed
when using {{ .Labels }} from map[foo:bar bar:baz] to
foo=bar, bar=baz.
2023-02-20 10:08:23 +00:00
George Robinson
005f5ca1df Alerting: Fix confusing comment about screenshots in default.ini and docs (#63346) 2023-02-20 09:59:45 +00:00
renovate[bot]
b4d607dcae Update dependency tslib to v2.5.0 (#63425)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-20 09:43:05 +00:00
George Robinson
0a01391ebe Alerting: Small readability improvements to template.go (#63422)
* Alerting: Small readability improvements to template.go

* Fix lint
2023-02-20 09:24:11 +00:00
Gilles De Mey
c30f3a617b Alerting: adds tests for expression utils (#63421) 2023-02-20 08:53:06 +01:00
Konrad Lalik
69b2aade1b Alerting: Make the folder field read-only on the eval group modal (#62935)
* Make the folder field read-only on the eval group modal

* Code cleanup

* Use useCombinedRuleNamespace to simplify groups fetching

* Fix groups filtering and label

* Revert go test changes, add folder button title

* Revert go changes

* Remove folder link when no url provided, fix messages

* Fix tests

* Fix lint
2023-02-20 08:47:50 +01:00
renovate[bot]
937b8419c3 Update dependency tinycolor2 to v1.6.0 (#63418)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-19 12:15:40 +00:00
renovate[bot]
3751758474 Update dependency selecto to v1.22.0 (#63415)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-19 12:11:30 +00:00
renovate[bot]
afda3d6728 Update dependency @types/node to v18.14.0 (#63414)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-19 11:59:02 +00:00
renovate[bot]
00cec6deec Update dependency sass-loader to v13.2.0 (#63404)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-19 11:57:47 +00:00
Eric Leijonmarck
c1c0daa13d Service accounts: Fix err message suppressed (#63406)
fix: err message suppresed fix
2023-02-18 11:17:02 +00:00
renovate[bot]
0119608217 Update dependency ol to v7.2.2 (#62275)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-02-17 18:14:13 -08:00
Gábor Farkas
7a8f1ab566 loki: query splitting: stricter types (#63387) 2023-02-17 19:43:08 +01:00
renovate[bot]
bf494be633 Update dependency sass to v1.58.2 (#63403)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-17 15:08:27 +00:00
renovate[bot]
e9ed4e6e1f Update dependency rxjs to v7.8.0 (#63399)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-17 14:43:06 +00:00
renovate[bot]
7e98e18f96 Update dependency lru-cache to v7.16.0 (#63398)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-17 14:41:37 +00:00
Matias Chomicki
a0bea04a02 Range splitting: Read errors from the received response and report them (#63368) 2023-02-16 12:39:26 -05:00
George Robinson
0659134793 Alerting: Better printing of labels (#63348)
This commit changes how labels are printed in templates for custom
annotations and labels from map[foo:bar bar:baz] to foo=bar, bar=baz.
Labels are comma separated, and sorted in increasing order.
2023-02-16 12:04:15 -05:00
George Robinson
9e86916d48 Alerting: Move templating to template package (#63347)
This commit moves templating from the state package to a sub-package
called template. This sub-package will be the logical package for
future ease-of-use improvements to templating custom annotations
and labels.
2023-02-16 17:16:36 +01:00
renovate[bot]
0c99730c20 Update dependency rudder-sdk-js to v2.24.0 (#63377)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-16 13:20:52 +01:00
renovate[bot]
99c7f53f54 Update dependency @cypress/webpack-preprocessor to v5.17.0 (#63376)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-16 13:18:43 +01:00
Matias Chomicki
0240f4eb45 Loki Range Splitting: Create a new instance for the initial frame (#63361)
* Range splitting: create a new instance of the initial frame

* Chore: rename variable
2023-02-16 12:55:31 +01:00
renovate[bot]
99316f1fb6 Update dependency react-virtual to v2.10.4 (#63351)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-15 08:26:16 +01:00
renovate[bot]
f9934059c8 Update dependency core-js to v3.28.0 (#63350)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-15 08:20:44 +01:00
Ashley Harrison
f8d89eff56 Chore: fix type errors in tests (#63270)
* fix any's in tests

* fix more any's in tests

* more test type fixes

* fixing any's in tests part 3

* more test type fixes

* fixing test any's p5

* some tidy up

* fix template_srv
2023-02-14 16:46:42 +01:00
Julien Duchesne
4b0faf1c9e Playlist docs: Remove orgId (#63298)
Playlist: Remove `orgId`

That attribute is not returned by the API
2023-02-14 13:42:56 +01:00
Renato Monteiro
563a4bce3b Metrics: Update comment to mention folders instead of dashboards (#63312) 2023-02-14 06:33:37 +01:00
Eric Leijonmarck
06aec31b55 Auth: Docs add what needs to happen to change oauth_skip_org_role_update_sync (#63203)
* docs: add what needs to happen to change

* refactor docs

* Update docs/sources/setup-grafana/configure-grafana/_index.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-02-13 22:02:36 -05:00
Gábor Farkas
0ee9d11a91 loki: query splitting: better canceling (#63315)
loki: query splitting: better cancelling
2023-02-13 17:52:30 +01:00
renovate[bot]
222e02fc18 Update dependency react-select to v5.7.0 (#63293)
* Update dependency react-select to v5.7.0

* add new mock

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-02-13 10:53:12 +01:00
renovate[bot]
b4490e0c6b Update dependency eslint to v8.34.0 (#63292)
* Update dependency eslint to v8.34.0

* update sdk

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-02-13 09:12:15 +01:00
Matias Chomicki
84fdb7f908 Loki Range Splitting: Calculate dynamic maxLines per target based on the current response state (#63248)
* Range splitting: update maxLines for logs queries

* Range splitting: add unit tests for dynamic limit requesting
2023-02-13 07:59:20 +01:00
Ryan McKinley
985c61d700 Dashboard: remove unused submenuEnabled property (#63289)
remove submenu property
2023-02-12 18:10:29 +01:00
Jo
554dc9b97d Authn: Fix password client fallthrough (#63244)
* fix password client fallthrough

* fix grafana client String
2023-02-12 13:42:47 +00:00
Ryan McKinley
6ca9e5b440 Schema: fix dashboard revision docs (#63284) 2023-02-11 15:25:03 -08:00
Alexander Weaver
958fb2c50a Alerting: Unify structs in Loki client and make them more consistent with Prometheus (#63055)
* Use existing row struct instead of [2]string, add deserialization helper

* Replace Stream struct with stream struct which is exactly the same

* Drop unused status field

* Don't export queryRes and queryData

* Tests for custom marshalling

* Rename row fields to T and V for consistency with prometheus samples

* Rename row to sample
2023-02-11 05:17:44 -06:00
Ieva
229f8b6e6d Support bundles: small UX improvements (#63277)
support bundle ux improvements
2023-02-11 08:31:03 +00:00
Jo
d4cfbd9fd3 LDAP: Move LDAP globals to Config (#63255)
* structure dtos and private methods

* add basic LDAP service

* use LDAP service in ldap debug API

* lower non fatal error

* remove unused globals

* wip

* remove final globals

* fix tests to use cfg enabled

* restructure errors

* remove logger from globals

* use ldap service in authn

* use ldap service in context handler

* fix failed tests

* fix ldap middleware provides

* fix provides in auth_test.go
2023-02-10 19:01:55 +01:00
Ezequiel Victorero
8520a8614c PublicDashboards: add recipients to the public dashboards retrieval (#63149) 2023-02-10 15:01:26 -03:00
matt abrams
91dd5b0e0d Chore: add new GH action to codeowners file (#63230)
* add new action to codeowners file

* switch owner to team
2023-02-10 07:39:23 -10:00
Brendan O'Handley
879f980084 Revert "Prometheus Datasource: Improve Prom query variable editor" (#63278)
Revert "Prometheus Datasource: Improve Prom query variable editor (#58292)"

This reverts commit eedcd7d5b1.
2023-02-10 12:31:16 -05:00
matt abrams
7295573e2e GHActions: move new 'opened' action to separate workflow (#63228)
* add new scenario to config

* make workflow run on opened issues

* revert-dont run on opened

* action for newly opened issues

* move new action config

* remove opened from commands

* change name

* Update .github/workflows/issue-opened.yml

ty!

Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>

* make comment clearer

---------

Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
2023-02-10 07:27:28 -10:00
Matias Chomicki
8cd3d1bfda Loki Range splitting: Ignore hidden queries (#63250)
Range splitting: ignore hidden queries
2023-02-10 18:19:17 +01:00
Ieva
b3f9b62592 Support bundles: improve plugin collector (#63273)
improve plugin collector
2023-02-10 17:04:34 +00:00
Sven Grossmann
3f144924d1 Loki: Do not chunk when refid contains do-not-chunk (#63276)
add ref-id to not chunk requests
2023-02-10 18:00:49 +01:00
Dimitris Sotirakis
24c60486f6 Chore: Bump alpine version to 3.17.1 (#63252)
Bump alpine version to 3.17.1
2023-02-10 14:54:35 +00:00
Timur Olzhabayev
5dc781b72e Remove opened type 2023-02-10 15:52:24 +01:00
Sven Grossmann
0bd326d846 LogsVolume: Make log volume work with chunking (#63181)
* aggregate logs volume on streaming

* enable log volume queries to be split

* add streaming indicator

* added tests

* also chunk logs queries

* change extraInfo back to undefined
2023-02-10 14:43:41 +01:00
Jimmie Han
37baae3699 build: fix corss build (#61121)
* build: fix corss build

* fix lint
2023-02-10 07:42:29 -06:00
Sven Grossmann
00edc1c6b1 Loki Context UI: Do not disable last label (#62866)
* improved text

* prevent all labels removed

* use `structuredClone` instead of lodash

* update test

* get `structuredClone` in test?

* fix using structuredClone
2023-02-10 14:23:17 +01:00
Tania
f0333ac41f Codegen: Render constraints in generated docs (#63196)
* Add constraints rendering

* Generate docs

* Fix constraint format

* Add type alias

* Compare numbers as strings

* fixup! Compare numbers as strings

* Add missing return
2023-02-10 06:40:50 -05:00
Torkel Ödegaard
7f6a1c06a6 Menu: Do not auto focus first item (#63078) 2023-02-10 12:06:41 +01:00
Gábor Farkas
27d70819cc loki: query splitting: split logs queries (#63091)
* loki: calculate logs-chunk-boundaries

* renamed function
2023-02-10 12:01:33 +01:00
Jack Westbrook
685afdef37 Chore: Update nanoid to >= 3.1.31 (#63215)
* chore(npm): update nanoid to >= 3.1.31

* empty commit
2023-02-10 11:58:05 +01:00
Jack Westbrook
a4898fdac4 Chore: Update Terser 5 to >= 5.14.2 (#63214)
chore(npm): update terser 5 to >= 5.14.2
2023-02-10 11:57:39 +01:00
Joao Silva
862d3f2630 Storybook: Fix order of buttons on modal story (#63188) 2023-02-10 11:23:20 +01:00
Jack Westbrook
17f6b1f95c Chore: Bump grunt to 1.5.3 (#63209)
chore(emails): bump grunt to stop dependabot complaining
2023-02-10 11:18:20 +01:00
Jack Westbrook
55c74e326c Chore: Bump sideway/formula module to 3.0.1 (#63189)
chore(npm): bump sideway/formula module to 3.0.1
2023-02-10 11:13:53 +01:00
Konrad Lalik
53a8998c85 Alerting: a11y improvements (#63072) 2023-02-10 10:23:40 +01:00
Jo
c70571c536 SupportBundles: Replace feature toggle with enabled (#63241)
replace feature toggle with enabled
2023-02-10 10:12:04 +01:00
Torkel Ödegaard
ed626427de PanelChrome: Make loading animation speed the same across panels (#62997)
Revert devenv dashboard change
2023-02-10 10:03:39 +01:00
Gábor Farkas
117bff6459 loki: devenv: improved fake data generator (#63237) 2023-02-10 03:43:42 -05:00
Brendan O'Handley
eedcd7d5b1 Prometheus Datasource: Improve Prom query variable editor (#58292)
* add prom query var editor with tests and migrations

* fix migration, now query not expr

* fix label_values migration

* remove comments

* fix label_values() variables order

* update UI and use more clear language

* fix tests

* use null coalescing operators

* allow users to query label values with label and metric if they have not set there flavor and version

* use enums instead of numbers for readability

* fix label&metrics switch

* update type in qv editor

* reuse datasource function to get all label names, getLabelNames(), prev named getTagKeys()

* use getLabelNames in the query var editor

* make label_values() variables label and metric more readable in the migration

* fix tooltip for label_values to remove API reference

* clean up tooltips and allow newlines in query_result function

* change function wording and exprType to query type/qryType for readability

* update prometheus query variable docs

* Update public/app/plugins/datasource/prometheus/components/VariableQueryEditor.tsx

Co-authored-by: Galen Kistler <109082771+gtk-grafana@users.noreply.github.com>

---------

Co-authored-by: Galen Kistler <109082771+gtk-grafana@users.noreply.github.com>
2023-02-09 15:35:36 -05:00
George Robinson
1f984409a2 Alerting: Fix a bug taking screenshots with Dashboard UID (#63220)
This commit fixes a bug where Grafana would fail to take a screenshot if
the same Dashboard UID was present across two or more different orgs.
2023-02-09 15:23:01 -05:00
Zoltán Bedi
204818e793 Chore: Set up codeowner file for dataviz squad (#63200)
* Chore: Move code to dataviz team

* Change kindsys report.json

* Also change stat, bargauge and gauge

* Change edge to dataviz
2023-02-09 21:02:41 +01:00
matt abrams
99fe0e6741 GHActions: Issues: Add action that makes org members add a label (#63158)
* add new scenario to config

* make workflow run on opened issues
2023-02-09 09:23:04 -10:00
Ezequiel Victorero
c19f156a96 PublicDashboards: use share type (#63059) 2023-02-09 15:44:09 -03:00
Ryan McKinley
0018c8e9c1 K8S: cleanup and consolidate feature toggles (#63212) 2023-02-09 09:54:00 -08:00
Matias Chomicki
94241f6676 Loki Query Splitting: Split queries into sub-queries with smaller time interval (#62767)
* Range splitting: range splitting function

* Range splitting: experiment with 1 hour splits

* Range splitting: reorganize code

* Range splitting: improve code readability and meaning

* Range splitting: add partition limit to prevent infinite loops

* Range splitting: add error handling

* Range splitting: disable for logs queries

* Range splitting: support any arbitrary time splitting + respect original from/to in the partition

* Chore: remove console logs

* Chore: delete unused import

* Range splitting: actually send requests in sequence

* Range splitting: do not split when > 1 query

* Range splitting: combine frames

* Chore: rename function

* split in reverse

* polished reversing

* keep reference to the right frame in the result

* Range splitting: change request state to Streaming

* Range splitting: fix moving only 1 unit of time instead of the provided one

* Chore: change default parameter to timeShift = 1

* Range splitting: do not split for range queqries

* Range splitting: add initial support for log queries

* Range splitting: do not use MutableDataFrame

It has bad performance and it's not required

* Chore: remove unused export

* Query Splitting: move to module

* loki: split: fix off-by-one error (#62966)

loki: split: fix off-by-one loop

* Range splitting: disable for logs volume queries

* Range splitting: combine any number of fields, not just hardcoded 2

* Range splitting: optimize frame-combining function

* Range splitting: further optimize

* Range splitting: combine frame length

* Range splitting: combine stats

* Range splitting: combine stats without assuming the same order

* Query splitting: catch and raise errors

* Range splitting: create feature flag

* Range splitting: implement feature flag

* Range splitting: add unit test for datasource query

* Range splitting: add basic test for runPartitionedQuery

* Range splitting: add unit test for resultLimitReached

* Range splitting: test frame merging

* Chore: fix unit test

---------

Co-authored-by: Sven Grossmann <svennergr@gmail.com>
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2023-02-09 12:27:02 -05:00
Joey Tawadrous
1bc43f5faa TraceView: Remove unnecessary code from header (#63114)
* Remove unecessary code

* Update tests

* Remove import

* Remove unused import
2023-02-09 16:57:57 +00:00
Shirley
32b96a586f CloudWatch: Add deprecation tooltip to Alias field (#63115)
* CloudWatch: Add deprecation tooltip to Alias field

* Add target blank

* Add noopener noreferrer
2023-02-09 17:50:29 +01:00
Ashley Harrison
36c090416a Command palette: Enable folder searching (#62663)
search folders as well as dashboards in the command palette
2023-02-09 16:31:05 +00:00
Jack Westbrook
d3bc39be8f Chore: Bump minimatch to >3.0.4 (#63191)
chore(npm): bump minimatch to >3.0.4
2023-02-09 17:29:53 +01:00
Steve Simpson
4d1a2c3370 Alerting: Move rule_groups_rules metric from State to Scheduler. (#63144)
The `rule_groups_rules` metric is currently defined and computed by `State`.
It makes more sense for this metric to be computed off of the configured rule
set, not based on the rule evaluation state. There could be an edge condition
where a rule does not have a state yet, and so is uncounted.

Additionally, we would like this metric (and others), to have a `rule_group`
label, and this is much easier to achieve if the metric is produced from the
`Scheduler` package.
2023-02-09 17:05:19 +01:00
Ashutosh Kumar Shaw
90f8959d3c CloudWatch Logs: Update default timeout to 30m (#63155) 2023-02-09 10:52:32 -05:00
Christopher Moyer
52cc6a8651 docs: adds what's new video (#63206)
adds what's new video
2023-02-09 09:52:03 -06:00
Jo
7862ae8abf SupportBundles: Add LDAP bundle collector (#63128)
* fix non-cfg fields used in ldap

* fix non-cfg fields

* add ldap support bundle

* add note on match

* add censoring and docs
2023-02-09 16:31:31 +01:00
Eric Leijonmarck
e42eaeb175 Auth: Docs revamp of skip org role section (#63081)
* docs: revamp of skip org role section

* fix: removed todo

* Update docs/sources/setup-grafana/configure-grafana/_index.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Revamp docs with LION

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>

* modifiable

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: gamab <gabi.mabs@gmail.com>
2023-02-09 15:00:21 +00:00
suntala
49b3027049 Chore: Remove Result field from datasources (#63048)
* Remove Result field from AddDataSourceCommand
* Remove DatasourcesPermissionFilterQuery Result
* Remove GetDataSourceQuery Result
* Remove GetDataSourcesByTypeQuery Result
* Remove GetDataSourcesQuery Result
* Remove GetDefaultDataSourceQuery Result
* Remove UpdateDataSourceCommand Result
2023-02-09 15:49:44 +01:00
Oscar Kilhed
8048a66e90 Dashboard: Add a feature that creates a table panel when a spreadsheet file is dropped on the dashboard. (#62688)
* drag files to dashboard

* use file name as panel title

* add file size limitation, file type limitation and error handling

* Refactor file parsing for code sharing

move accepted types and max size to file-import constants
show which file types are allowed in file type error

* update codeowners

* Adjust max size to 1mb
2023-02-09 15:16:17 +01:00
linoman
33de1926fc SupportBundle: Add count for each support bundle created (#63125)
* Export `StatsCount` function

* Add new statKV each time a bundle is created

* Export bundle count

---------

Co-authored-by: Jo <joao.guerreiro@grafana.com>
2023-02-09 14:54:21 +01:00
Andres Martinez Gotor
a33e316f40 Provisioning: Parse boolean and numeric values from environment variables (#63085) 2023-02-09 14:45:32 +01:00
Alex Khomenko
d660e3acb9 Geomap: Update to panelcfg (#63169)
* Geomap: Update to panelcfg

* Generate geomappanelcfg docs

---------

Co-authored-by: Tania B <yalyna.ts@gmail.com>
2023-02-09 14:38:06 +02:00
Ieva
4570131fe5 Folders: simplify guardian permissions checks (#63183)
simplify code
2023-02-09 07:19:08 -05:00
Josh Hunt
58f3f00bd5 Dashboards: Star dashboards by UID (#63134)
* Dashboards: Star dashboards by UID

* undo async
2023-02-09 10:24:46 +00:00
Andres Martinez Gotor
00b692c0f9 Chore: Validate batch query refIds (#63018) 2023-02-09 10:11:16 +01:00
Ashley Harrison
2a34293689 Chore: more type fixes (#62952)
* fix some more any/type assertions

* more any/type assertion fixes

* implement review comments
2023-02-09 09:03:13 +00:00
Victor Marin
62b078e4e4 Fix MSSQL queries failing because of bad interpolation (#63167)
fix failing mssql queries
2023-02-09 10:09:52 +02:00
Ryan McKinley
804bd08f11 Chore: remove unused feature flag showFeatureFlagsInUI (#62908) 2023-02-08 19:01:34 -05:00
Nathan Marrs
c8ee2f9d9e Docs: Update canvas docs for 9.4 (#62923)
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-02-08 17:11:25 -05:00
Christopher Moyer
bc93f45e9d docs: comments out video (#63150)
comments out video
2023-02-08 15:40:52 -05:00
Eric Leijonmarck
91b5337600 Auth: Refactoring of frontend skipOrgRoleSync logic to backend (#62921)
* WIP

* refactor: add function in login for externSynced

* refactor: make function to make ExternalSyncedInfo

- adds tests
- refactors strings into consts

* remove: console.log

* remove: unnessecary comment

* added exhaustive tests

* refactor: labelname

* removed unused code

* missspelling

* refactor: based on review comments

* add: comment to functions about authinfo behavior

* Update pkg/services/login/authinfo.go

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>

* Update pkg/services/login/authinfo.go

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>

* fix: tests

---------

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2023-02-08 20:11:46 +00:00
Christopher Moyer
b405874166 docs: fixes video link in what's new 9.4 (#63145)
fixes video link
2023-02-08 13:46:13 -06:00
Isabel
72ca7fe7fe fix broken envelope encryption link (#63135) 2023-02-08 11:22:42 -08:00
Santiago
f43993d43f Docs: Fix redaction error in notification policies docs (#63112)
fix redaction error in notification policies docs
2023-02-08 16:18:49 -03:00
Christopher Moyer
4dba927b3a What's New in v9.4 (#59614)
* What's New in v9.4

* moves alert email templating to v9.4 release

* Add whats new for SAT (#61151)

* Add whats new for SAT

* Logs: Add logdetails redesign to "whats new" (#61361)

* update whats new

* update text and add image

* change `logline` to `log line`

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

* add: skip org role sync

* add note about oncall rbac to whats new 9.4 docs

* Loki Datasource: Add query validation to What's new (#62012)

Loki Datasource: add query validation to what's new

* Add note about SAML auto login (#61926)

* Add note about SAML auto login

* Apply suggestions from code review

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* run prettier

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* What's New: Add image for the Loki Query Validation feature (#62358)

* What's new 9.4: add image for Loki query validation

* What's new 9.4: update image path

* Docs: Add logs sample to whats new in 9.4 (#62354)

* Add logs sample to whats new in 9.4

* Update path to image

* Update docs/sources/whatsnew/whats-new-in-v9-4.md

Co-authored-by: Matias Chomicki <matyax@gmail.com>

---------

Co-authored-by: Matias Chomicki <matyax@gmail.com>

* Add datasource connection page to whatsnew

* Update datasource connection whats new 9.4

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

* Update datasource connection whats-new-in-v9-4.md

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

* Update whats-new-in-v9-4.md

Enterprise features add on

* Added command palette, navigation

* Update whats-new-in-v9-4.md

* Update whats-new-in-v9-4.md

* enterprise updates

* add panel header redesign content

* Adds alerting content to whats new

* Fix typo

Nav navigation -> New Navigation

* adds image to pause alerts

* Updated cmd palette screenshot

* Update docs/sources/whatsnew/whats-new-in-v9-4.md

* Update docs/sources/whatsnew/whats-new-in-v9-4.md

* adds alerting screenshots

* reorder and begin adding availability

Re-ordered updates into groups, and added availability descriptions to the first few updates.

* Updated command palette availability

* fix capitalization

* copy edit

* add before you upgrade section

* add docs relref links

* makes prettier

* added before you begin boilerplate

* Add Enterprise Datasource updates / highlights

* Add what's new section on updates to the canvas panel

* Update canvas demo vid src to correct location

* Canvas: add small shoutout for new server element in whats new

* copy edit final contributions

---------

Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
Co-authored-by: Joey Orlando <joseph.t.orlando@gmail.com>
Co-authored-by: Matias Chomicki <matyax@gmail.com>
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
Co-authored-by: natellium <natalia.bernarte@grafana.com>
Co-authored-by: Natalia Bernarte Oses <74534993+natellium@users.noreply.github.com>
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Fabrizia Rossano <117294258+frossano-grafana@users.noreply.github.com>
Co-authored-by: Zsofia <zsofia.komaromi@gmail.com>
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>
Co-authored-by: Mitchel Seaman <mitchel.seaman@gmail.com>
Co-authored-by: josiahg <jay@grafana.com>
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2023-02-08 13:11:31 -06:00
Alyssa Bull
ac9639daf8 CloudMonitor: Add missing logger to TimeSeriesQuery (#63110) 2023-02-08 10:33:56 -07:00
Selene
5fe3548691 RemoteCache: Fix null pointer exception in redis cache (#63094)
Fix null pointer exception in redis cache
2023-02-08 17:08:56 +01:00
Jack Westbrook
3716d9841d Chore: Resolve trim to 0.0.3 (#63015)
chore(npm): add resolution for trim to squash dependabot alert
2023-02-08 16:30:22 +01:00
Ashley Harrison
fc2f7f90f8 Navigation: add a link to starred dashboards in the megamenu (#62685)
add a link to starred dashboards in the megamenu
2023-02-08 15:18:13 +00:00
Sofia Papagiannaki
225c8dbba7 Chore: Fix fetching the General folder when nested folders is set and improve error handling (#62951)
* Nested folders: Modify Get() not to fail fetching the General folder

* Add test
2023-02-08 17:16:53 +02:00
Ashley Harrison
4181acec72 A11y: ignore rule since there's a button handling keyboard interaction (#62856)
ignore a11y rule since there's a button handling keyboard interaction
2023-02-08 14:29:30 +00:00
Christopher Moyer
a7ae05285c Docs: incorporates feedback from PR #62402 (#63065)
incorporates feedback from original PR
2023-02-08 08:23:32 -06:00
Ashley Harrison
6a720f96f7 A11y: ignore rule since keyboard interaction is already handled (#62850)
* Revert "Accessibility: Remove unnecessary onClick from title element (#59696)"

This reverts commit f19b07c0bc.

* ignore eslint rule
2023-02-08 14:17:15 +00:00
Joan López de la Franca Beltran
a0b563f596 Docs: Auditing non-JSON requests/responses (#63066)
Docs: Don't emit error logs when auditing non-JSON request/response
2023-02-08 14:57:19 +01:00
Marcus Andersson
ace4175e26 Plugin: Skip preloading disabled app plugins (#63083)
will not preload app plugins that is disabled.
2023-02-08 14:41:49 +01:00
Josh Hunt
504eabbe80 Navigation: Ensure command palette is correctly translated (#61103)
* Navigation: Translate nav tree in store

* Remove usage of getNavTitle

* properly translate children

* add pubdash translation

* remove extraneous calls to translation in PageHeader

* empty commit

* correctly allow subtitle to be overrwitten (thank you tests!)

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-02-08 13:15:37 +00:00
linoman
bc67edbff8 Fix RolePicker component offset when it has too many roles (#62857)
Fix role picker offset with too many roles
2023-02-08 12:09:27 +01:00
Tania
25756b49a3 Codegen: Remove duplicated sections from generated docs (#62965)
* Remove duplicated sections

* Regenerate docs

* Refactor schema.sections func (#63079)

* Refactor schema.sections func

* Small refactors

---------

Co-authored-by: Joan López de la Franca Beltran <5459617+joanlopez@users.noreply.github.com>
2023-02-08 06:07:00 -05:00
Horst Gutmann
470be140dc CI: Do not clone repo in artifact-page step (#63077) 2023-02-08 11:57:33 +01:00
Marcus Andersson
f46f8bdd3a Plugins: Renamed parts of the UI extension APIs (#63070)
* Renamed target -> id and href -> path after feedback.

* fixed type issues in test page.

* chore(pluginschemajson): update extensions props target -> id

* this is the final.

* fixed typings...again...

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2023-02-08 05:33:28 -05:00
Carl Bergquist
b88206d98f Cache: Refactor cache clients to use byte array (#62930)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2023-02-08 10:30:20 +01:00
Horst Gutmann
2804acd264 CI: Running Redis integration tests without grabpl (#63028)
This restores some changes from
https://github.com/grafana/grafana/pull/61920 that were accidentally
deleted.
2023-02-08 10:02:03 +01:00
Jo
6322fce725 LDAP: Move to single package cluster (#63035)
* move multildap to ldap package

* move LDAP api and tests to ldap package

* register background service

* lint
2023-02-08 09:32:59 +01:00
Todd Treece
dea108a8b9 DevEnv: Add k8s apiserver (#63031)
Adds kind to bingo dependencies, and makes it available via `make devenv sources=apiserver`.
2023-02-07 20:34:05 -05:00
Galen Kistler
79b750a4b2 Prometheus: Table format throwing error on empty result (#63053)
* fix bug in prometheus table view which is throwing error when a query returns no results
2023-02-07 14:58:08 -06:00
Josh Hunt
09637caade Chore: Remove search_srv (#62964)
* Chore: Remove Search Service

* use getSortOptions from grafana searcher

* wip

* fix library panels search tests
2023-02-07 15:28:07 -05:00
Alexander Weaver
f80bf11782 Alerting: Make time range query parameters not required when querying Loki (#62985)
* Make from and to not required

* Move default range calculation up to loki.go
2023-02-07 14:26:43 -06:00
Kristin Laemmert
42be0e106f fix(dashboard version service): add DashboardUID to query and responses (#60800)
* fix(dashboard version service): add DashboardUID to query and responses

The DashboardUID was not populated in the response from Get and ListDashboardVersions. This adds the DashboardUID to the Get query (it was already in List) and populated the DashboardUID in the returned DashboardVersionDTOs.
2023-02-07 12:27:38 -05:00
Conor Evans
a5786bb9cf CloudWatch: Add Cloudfront Function metrics (#62990)
feat: add Cloudfront Function metrics to NamespaceMetricsMap

Signed-off-by: Conor Evans <coevans@tcd.ie>
2023-02-07 17:30:36 +01:00
Ieva
078639abcd RBAC: add folder UID scope resolver (#62695)
* add folder uid scope resolver

* undo guardian change, move it to a separate PR

* fix test + linting
2023-02-07 16:27:20 +00:00
Marcus Andersson
1cfd3f81fb Plugins: Support for link extensions (#61663)
* added extensions to plugin.json and exposing it via frontend settings.

* added extensions to the plugin.json schema.

* changing the extensions in frontend settings to a map instead of an array.

* wip

* feat(pluginregistry): begin wiring up registry

* feat(pluginextensions): prevent duplicate links and clean up

* added test case for link extensions.

* added tests and implemented the getPluginLink function.

* wip

* feat(pluginextensions): expose plugin extension registry

* fix(pluginextensions): appease the typescript gods post rename

* renamed file and will throw error if trying to call setExtensionsRegistry if trying to call it twice.

* added reafactorings.

* fixed failing test.

* minor refactorings to make sure we only include extensions if the app is enabled.

* fixed some nits.

* Update public/app/features/plugins/extensions/registry.test.ts

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Update packages/grafana-runtime/src/services/pluginExtensions/registry.ts

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Update packages/grafana-runtime/src/services/pluginExtensions/registry.ts

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Update public/app/features/plugins/extensions/registry.test.ts

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* Moved types for extensions from data to runtime.

* added a small example on how you could consume link extensions.

* renamed after feedback from levi.

* updated the plugindef.cue.

* using the generated plugin def.

* added tests for apps and extensions.

* fixed linting issues.

* wip

* wip

* wip

* wip

* test(extensions): fix up failing tests

* feat(extensions): freeze registry extension arrays, include type in registry items

* added restrictions in the pugindef cue schema.

* wip

* added required fields.

* added key to uniquely identify each item.

* test(pluginextensions): align tests with implementation

* chore(schema): refresh reference.md

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2023-02-07 17:20:05 +01:00
Gareth Dawson
8a94688114 Logs: Rename dedup to deduplication (#62944)
* fix: rename dedup with deduplication

* docs: update documentation

* fix: update names
2023-02-07 16:17:10 +00:00
Josh Hunt
5564b93e2f CommandPalette: Move quick add actions to top level (#62900)
* Move quick actions to top level

* Change quick action verb to "Create"

* create to 'new'

* fix comment

* update translations

* undo changing alerting
2023-02-07 16:10:43 +00:00
ismail simsek
8684fa75c7 Remove explicit user agent definition (#63019) 2023-02-07 07:49:20 -08:00
Ieva
b5ef9628e8 Folders: set org ID when converting from dash to a folder (#63045)
set org ID when converting from dash to a folder
2023-02-07 15:43:21 +00:00
Eric Leijonmarck
7019287f88 Auth: Add deprecation notice for oauth_skip_org_role_update_sync (#62712)
* add: deprecaation notice for overall setting

* add: deprecation notice for configuration files

* chore: update docs with deprecation notice

* refactor: change to note the new setting instead

* Update pkg/setting/setting.go

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>

* refactor: based on review comments

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2023-02-07 15:28:40 +00:00
Jack Baldry
ba9bdf3455 Update publishing workflows to use organization secret (#63001)
The new tokens are managed centrally and have a longer expiry.
Administrators of the grafanabot account will be
notified of the pending expiry and the secret can be rotated centrally
without the need for a repository administrator to update their
secrets.

The existing repository secrets can safely be removed. The tokens for
those secrets will be removed by the end of this week.

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2023-02-07 15:13:47 +00:00
Jack Baldry
c012bb2b2e Use more portable output redirection (#62686)
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2023-02-07 15:10:16 +00:00
Jack Baldry
3133e6c689 Use organization ISSUE_COMMANDS_TOKEN with reduced scope (#62446)
The GH_BOT_ACCESS_TOKEN has permissions beyond those required for
addToProject and other API commands that the issue_commands workflow uses.

The new token is set at an organization level so it does not require
repository administrators to rotate the token. It also has the minimal
classic PAT permissions to facilitate the workflow.

It has expiry but that expiry is reported via email to the engineering
organization and the IT Helpdesk have permissions to regenerate the
token when expiration is imminent.

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2023-02-07 15:08:40 +00:00
Andres Martinez Gotor
c4909a6c2b Docs: fix typo (#63032) 2023-02-07 15:51:18 +01:00
Emil Tullstedt
4fd7743b81 Docs: Update backend contribution guidelines (#63034) 2023-02-07 15:44:56 +01:00
Jack Westbrook
06dc965610 Chore: Bump decode-uri-component to latest (#63014)
chore(npm): bump decode-uri-component to latest
2023-02-07 15:38:38 +01:00
Jack Westbrook
c3af43ae1f Chore: Update json5 to 2.2.3 (#63033)
chore(npm): update more json5 deps to latest
2023-02-07 15:22:22 +01:00
Jack Westbrook
1e68273609 Chore: Update ua-parser-js to latest (#63016)
chore(npm): update ua-parser-js to latest
2023-02-07 15:08:18 +01:00
Jack Westbrook
b9f6976950 Chore: Bump JSON5 to latest versions (#63009)
chore(npm): bump json5 to latest versions
2023-02-07 15:05:26 +01:00
Santiago
955c7b13ea Alerting: Change error log to warning and apply correct format when updating historic config (#62973)
* change error to warning, apply correct format

* Update pkg/services/ngalert/store/alertmanager.go

Co-authored-by: George Robinson <george.robinson@grafana.com>

* different wording and data

---------

Co-authored-by: George Robinson <george.robinson@grafana.com>
2023-02-07 11:04:05 -03:00
Zoltán Bedi
b0213a4877 KVStore: Include database field in migration (#62790) 2023-02-07 14:54:22 +01:00
Jack Westbrook
6ad5f955b2 Chore: Bump http-cache-semantics to 4.1.1 (#62959)
chore(npm): bump http-cache-semantics to 4.1.1
2023-02-07 14:51:20 +01:00
kay delaney
f970745941 UI/MenuItem: Add support for shortcut labels (#62878)
* UI/MenuItem: Add support for shortcut labels

* Adjust spacing
2023-02-07 13:41:38 +00:00
Jack Westbrook
8dd75f6c1f Chore: Bump qs (#62958)
chore(npm): bump qs
2023-02-07 14:36:17 +01:00
Piotr Jamróz
999c836753 Explore: Consolidate logs volume logic (full range and limited) (#61995)
* Consolidate logs volume logic (full range and limited)

* Fix showing limited histogram message

* Test passing meta data to logs volume provider

* Improve readability

* Clean up types

* Move the comment back to the right place

* Improve readability
2023-02-07 14:32:06 +01:00
Jack Westbrook
b4d2eae759 Chore: Bump simple-git to 3.16.0 (#62948)
chore(npm): bump simple-git to 3.16.0
2023-02-07 14:21:47 +01:00
Josh Hunt
c9773e55b2 Search: Switch to list view when filtering by tags (#63004)
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-02-07 12:05:00 +00:00
renovate[bot]
955e49cfba Update dependency eslint-plugin-jsdoc to v39.8.0 (#63013)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-02-07 11:53:14 +00:00
renovate[bot]
ee52dbaefe Update dependency @types/node to v18.13.0 (#63012)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-02-07 11:52:58 +00:00
Carl Bergquist
2a29a07465 Plugins: Add optional logger for plugin requests sent to backend plugins (#62981)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2023-02-07 12:49:16 +01:00
Josh Hunt
7384ec0c3d Chore: Update Parca data query docs (#63011) 2023-02-07 11:39:22 +00:00
Marcus Efraimsson
a2f8dd7f1f Docs: Fix 404 links in build a plugin page (#63006) 2023-02-07 12:01:44 +01:00
Maxime Brunet
1b58248569 Toolkit: Support Node 18 (#62979)
Chore: Bump eslint-plugin-jsdoc to 39.6.2
2023-02-07 11:56:40 +01:00
renovate[bot]
3927b6f77c Update Yarn to v3.4.1 (#62894)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-07 10:42:28 +00:00
Jack Westbrook
13b38a3cc4 Chore: Bump Storybook to 6.5.16 (#62950)
chore(storybook): bump to 6.5.16
2023-02-07 11:11:07 +01:00
Robert Horvath
0fcc864bbb Docs: Add Schema maturity docs (#61963)
* Docs: Add Schema maturity docs

* Remove 'which category' section from maturity.md

Co-authored-by: sam boyer <sdboyer@grafana.com>

* Remove Maturity process guides from maturity.md

Co-authored-by: sam boyer <sdboyer@grafana.com>

* Remove Defaults and Field optionality from maturity.md

Co-authored-by: sam boyer <sdboyer@grafana.com>

* Remove MaybeRemove section from maturity.md

Co-authored-by: sam boyer <sdboyer@grafana.com>

* Remove Milestone 3 and 4 from maturity.md

Co-authored-by: sam boyer <sdboyer@grafana.com>

* Rearrange schema maturity docs

* Regenerate schema docs after merge with main

* Update Maturity docs headers, keep single h1

* Update wording in Schema docs

Co-authored-by: Tania <yalyna.ts@gmail.com>

* Regenerate docs after merge with main

---------

Co-authored-by: sam boyer <sdboyer@grafana.com>
Co-authored-by: Tania <yalyna.ts@gmail.com>
2023-02-07 11:02:05 +01:00
Joey Tawadrous
121260e0dd Parca: Use data query schema (#62840)
* Parca data query schema

* Remove groupBy
2023-02-07 09:56:21 +00:00
Jo
f6d856f082 SupportBundles: Add support bundle documentation (#61855)
* add support bundle page

* Update docs/sources/troubleshooting/support-bundles/index.md

* Update docs/sources/troubleshooting/support-bundles/index.md

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>

* copy edit

* Update docs/sources/troubleshooting/support-bundles/index.md

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

---------

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
Co-authored-by: Chris Moyer <chris.moyer@grafana.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-02-07 04:39:47 -05:00
Ashley Harrison
3a8f2bb726 Chore: ignore a11y rule since there's a button handling keyboard interaction (#62853)
ignore a11y rules since there's a button handling keyboard interaction anyway
2023-02-07 09:25:25 +00:00
Carl Bergquist
9d66b18b9c Instrumentation: removes option to return uname as header (#62929)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2023-02-07 10:04:20 +01:00
Torkel Ödegaard
39537043ec AppChrome: Reduce re-renders for identical pageNavs (#62483)
* AppChrome: Reduce re-renders for identical pageNavs

* Update

* removed log
2023-02-07 08:01:22 +01:00
Ryan McKinley
b1e58eb47e Chore: Replace short UID generation with more standard UUIDs (#62731) 2023-02-06 20:44:37 -05:00
Christopher Moyer
ee2e294b4e docs: upgrade guide refactor organizes releases into their own pages; moves upgrade guide to the root (#62402)
* organizes releases into their own pages; moves upgrade guide to the root

* adds and removes aliases

* Update docs/sources/upgrade-guide/upgrade-v8.0/index.md

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

* Update docs/sources/upgrade-guide/upgrade-v8.0/index.md

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

* Update docs/sources/upgrade-guide/upgrade-v8.0/index.md

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

* Update docs/sources/upgrade-guide/upgrade-v9.3/index.md

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

* Update docs/sources/shared/upgrade/upgrade-common-tasks.md

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

* Update docs/sources/shared/upgrade/upgrade-common-tasks.md

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

* Update docs/sources/shared/upgrade/upgrade-common-tasks.md

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

* corrects relrefs

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2023-02-06 22:01:30 +00:00
Ryan McKinley
5343255de8 Chore: Timeseries cleanup avoid React.FC (#62984)
timeseries FC
2023-02-06 13:53:56 -08:00
Carl Bergquist
dc64c9d1d0 featureflag: removes unused feature flag (#62983)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2023-02-06 16:01:04 -05:00
Ieva
49ccae7489 RBAC: cascaded nested folder permissions for search v2 (#62608)
* fetch inherited folder scopes for search v2

* fix error and don't fetch parents for the general folder

* remove feature toggle check and lower log level
2023-02-06 17:38:15 +00:00
Eric Leijonmarck
161ff6d310 Auth: Add test for oauth okta skip org role sync (#62547)
* add tests to oauth okta

* refactor: tests to make them work with the new structure

* add: three tests for okta oauth provider
2023-02-06 17:17:03 +00:00
Jack Baldry
4037e5e325 Add canonical URL to all HTTP API docs (#62957)
Facilitates mounting these docs in the Grafana Cloud documentation set
without affecting SEO.

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2023-02-06 17:14:36 +00:00
Jo
f9163351fd Support bundles: Refactor registry into separate service (#62945)
* add bundle registry service to avoid dependency cycles

* move user support bundle collector to user service

* move usage stat bundle implementation to usage stats

* add info for background service

* fix remaining imports

* whitespace
2023-02-06 17:50:03 +01:00
Isabel
09943407e4 docs: fix broken annotations link (#62834)
* docs: fix broken annotations link

Link to annotations section is broken because the section was never added. A placeholder for it was removed on this commit, but the link wasn't. This seems like the best place to point to.

* fix relref formatting

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* removed TODOs from tables

* prettier linting

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-02-06 10:48:42 -06:00
Jo
14a78b58e9 Authn: Stat registration (#62934)
* reorganize auth usage stats

* usage stat privilege elevators

* stat count of modified role

* cfg related info

* add authn anon client

* kv store

* ensure anon enabled is collected even if client is not registered

* fix usage stats test
2023-02-06 17:23:53 +01:00
Gareth Dawson
ac942d5e72 Loki: Add placeholder to the loki query editor (#62773)
* fix: add placeholder to loki query editor

* fix: use original placeholder

* refactor: extract set placeholder into seperate function

* fix: use correct monaco types

* revert: unwanted change from merge
2023-02-06 15:38:19 +00:00
Christopher Moyer
cf272186fb Docs: corrects typo (#62954)
corrects typo
2023-02-06 09:35:13 -06:00
Dimitris Sotirakis
e5c48ac945 CI: Remove variants arg from package step (#62858)
* Remove variants arg from package step

# Conflicts:
#	.drone.yml

* Fix starlark lint

* Default to releaseModeConfig.Variants

* Check for empty variants arg
2023-02-06 17:15:42 +02:00
Gilles De Mey
7824900b87 Alerting: fix "policy" typo (#62953) 2023-02-06 15:27:37 +01:00
Zoltán Bedi
d103c58539 MSSQL/Postgres: List views in table dropdown as well (#62867)
* MSSQL: Query views for table dropdown

* Postgres: Query views for table dropdown
2023-02-06 15:16:32 +01:00
Levente Balogh
fc6a4eee61 Datasources: Add optional tracking for datasources list viewed (#62949)
chore: add optional tracking for datasources list viewed
2023-02-06 14:57:55 +01:00
Carl Bergquist
64c2032c2b Auth: removes temporary cache of user session token (#62730)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2023-02-06 13:51:12 +01:00
Karl Persson
9311085e5a AuthN: support sync cache for proxy client (#62874)
* AuthN: Add cache support for auth proxy to skip sync

* AuthN: Change proxy auth hook to be a client hook

* AuthN: fix cache key

* fix test

* lint
2023-02-06 13:30:05 +01:00
Carl Bergquist
791b1001af remote cache: new function to get/set cache items as byte arrays (#62916)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2023-02-06 13:08:03 +01:00
Levente Balogh
e3512ddd7e Datasources: Fix tracking event name (#62940)
fix: fix typo in event name
2023-02-06 12:15:44 +01:00
Sofia Papagiannaki
ee2878f189 Chore: Fix logging message in folder service (#62939) 2023-02-06 13:11:32 +02:00
Levente Balogh
f815c690d7 Connections: Fix redirection when creating new DS (#62938)
fix: redirect to connections when creating a new DS from the catalog
2023-02-06 11:24:04 +01:00
Matias Chomicki
57369915f5 Loki Query Editor: Make Monaco the default editor (#62247)
* feat(loki-editor): remove slate and make Monaco the default editor

* feat(loki-editor): remove unsupported usages of onBlur

* feat(loki-editor): remove monaco feature flag

* Chore: remove unused import
2023-02-06 11:18:01 +01:00
Josh Hunt
4d268cbcdb NestedFolders: use guardian.NewByUID to check folder permissions (#62864) 2023-02-06 10:14:22 +00:00
Andres Martinez Gotor
9893408af9 Refactor: Use data source UID rather than ID (#62781) 2023-02-06 11:12:44 +01:00
renovate[bot]
8f96fe5ae9 Update dependency eslint to v8.33.0 (#62913)
* Update dependency eslint to v8.33.0

* update eslint sdk as well

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-02-06 05:02:19 -05:00
Andres Martinez Gotor
32e6af966f Prometheus: Refactor. Use data source UID rather than the deprecated ID (#62795) 2023-02-06 11:02:02 +01:00
Alexander Zobnin
5205cfb11c SAML: Update library (fix single logout) (#62880)
* SAML: update library (fix single logout)

* Run go mod tidy
2023-02-06 09:14:36 +01:00
Ryan McKinley
39116b9c11 Chore: Remove previews crawler UI (and feature flag) (#62906) 2023-02-03 16:45:10 -05:00
Alexander Weaver
0efb84617e Alerting: Create benchmarking test for state.ProcessEvalResults (#62041)
* Create benchmark for ProcessEvalResults

* Simplify the test
2023-02-03 15:38:08 -06:00
Ryan McKinley
72790b0614 Live: Remove dev code that would save config and messages in SQL (#62912) 2023-02-03 16:21:48 -05:00
Alex Khomenko
84a6671911 Cloudwatch: generate types (#61770)
* New pfs impl

* Reached codegen parity with old system

* Update all models.cue inputs

* Rename all models.cue files

* Remove unused prefixfs

* Changes Queries->DataQuery schema interface

* Recodegen

* All tests passing, nearly good now

* Add SchemaInterface to kindsys props

* Add pascal name deriver

* Relocate plugin cue files again

* Clarify use of injected fields

* Remove unnecessary aliasing

* Move DataQuery into mudball

* Allow forcing ExpandReferences on go type generation

* Move DataQuery def into kindsys, add generator to copy it to common

* Fix copy generator to replace package name correctly

* Setup Cloudwatch data query schema

* Add go file

* Re-generate types

* Re-generate types

* Add missing files

* Re-generate docs

* Add MetricStat

* Add CloudWatchAnnotationQuery

* Remove DataQuery extension

* Fixes

* Sync with main

* Update report

---------

Co-authored-by: sam boyer <sdboyer@grafana.com>
2023-02-03 15:27:48 -05:00
Christopher Moyer
ebe54629e7 Docs: removes Grafana Cloud CTA (#62827)
removes Grafana Cloud CTA
2023-02-03 12:36:46 -06:00
Brendan O'Handley
061e6d556f Dataplane: Add typeVersion to data frame metadata (#61824) 2023-02-03 09:54:26 -08:00
Ivana Huckova
20ec54f1f9 Elasticsearch: Use generated types in data source (#62753)
* Use generated types in frontend

* Export missing MetricAggregationWithMeta

* Remove not needed changes

* Update

* Fix lint

* Update comments
2023-02-03 12:04:12 -05:00
Drew Slobodnjak
bbb572e73f Canvas: Improve anchor UX (#62409)
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2023-02-03 12:02:37 -05:00
Drew Slobodnjak
43ce077133 Canvas: Update server element design (#62832) 2023-02-03 08:59:29 -08:00
Drew Slobodnjak
db953c9a9c Canvas: Support color themes for arrows (#62829) 2023-02-03 08:50:36 -08:00
Yuri Tseretyan
f066e8cdcd Alerting: Update to alerting 20230203015918-0e4e2675d7aa (after refactoring) (#62823)
* add alerting prefix to some packages from alerting that have similar names in prometheus alertmanager
2023-02-03 11:36:49 -05:00
Sonia Aguilar
46cbcc813b Alerting: Fix default_template.go link in docs (#62885)
Fix default_template.go link in docs
2023-02-03 17:27:13 +01:00
idafurjes
982939111b Rename Id to ID for annotation models (#62886)
* Rename Id to ID for annotation models

* Add xorm tags

* Rename Id to ID for API key models

* Add xorm tags
2023-02-03 17:23:09 +01:00
Michael Mandrus
a0602a2a78 Chore: Update docs readme on adding images (#62892)
* Update images guidelines section of readme

* Update README.md
2023-02-03 11:10:41 -05:00
Andreas Christou
d7f7cd1e61 Schema: Initial Azure Monitor query schema (#62018)
* Initial schema

- Add types based off of current frontend

* Rename and field-level comments

* Update report and regenerate files

* Rename frontend Azure folder

- Doing this for consistency and to ensure code-generation works
- Update betterer results due to file renames

* Remove default and add back enum vals that I deleted

* Set workspace prop as optional

* Replace template variable types

* Connect frontend query types

- Keep properties optional for now to avoid major changes
- Rename AzureMetricResource
- Correctly use ResultFormat

* Add TSVeneer decorator

* Update schema

* Update type

* Update CODEOWNERS

* Fix gen-cue issue

* Fix backend test

* Fix e2e test

* Update code coverage

* Remove references to old Azure Monitor path

* Review

* Regen files
2023-02-03 16:06:54 +00:00
Michael Mandrus
57ac59c7f6 Docs: Add documentation for new enterprise caching enhancement (per-panel TTL) (#62838)
* add documentation for new per-panel caching TTL feature

* update image url, use figure
2023-02-03 10:29:49 -05:00
Victor Marin
9fc3b360a4 MSSQL: Add support for macro function calls (#62742)
* MSSQL: Add support for macro function calls

* Add tests
2023-02-03 17:23:46 +02:00
Torkel Ödegaard
0ae118d3ed Page: Fixes plugins chromeless bug (#62879) 2023-02-03 16:14:42 +01:00
idafurjes
00d954320f Chore: rename Id to ID in alert notification models (#62868) 2023-02-03 15:46:55 +01:00
Jev Forsberg
2e98f5063b Table: Add row number column option (#62256)
* baldm0mma/addRowNumbers/ add showRowNums to panel cue

* baldm0mma/addRowNumbers/ add panel option for sowing row numbers

* baldm0mma/addRowNumbers/ update typing for showRowNums

* baldm0mma/addRowNumbers/ add buildFieldsForOptionalRowNums

* baldm0mma/addRowNumbers/ update addOptionalNumbersRowToTable

* baldm0mma/addRowNumbers/ adjust display method to return numeric and text values

* baldm0mma/ chaneg prop name to match

* baldm0mma/addRowNumbers/ update boolean swicth path

* baldm0mma/addRowNumbers/ move function

* baldm0mma/addRowNumbers/ add getToggleHiddenProps

* baldm0mma/addRowNumbers/ remove addNumbersRowToTable second arg

* baldm0mma/addRowNumbers/ add updateInitialState

* baldm0mma/addRowNumbers/ update getInitialState reducer with initialShowRowNumbers arg

* baldm0mma/addRowNumbers/ add useEffect for RowNumberColumn toggling

* baldm0mma/addRowNums/ bootleg fix

* baldm0mma/addRowNumbers/ export OPTIONAL_ROW_NUMBER_COLUMN_WIDTH

* baldm0mma/addRowNumbers/ add annos for readability

* baldm0mma/addRowNumbers/ remove superfluous annos

* baldm0mma/addRowNumbers/ add a few logs

* baldm0mma/addRowNumbers/ update annos

* baldm0mma/addRowNumbers/ update which footer row displays reducer type

* baldm0mma/addRowNumbers/ abstract away defaultRowNumberColumnFieldData

* baldm0mma/addRowNumbers/ update annos in utils.tsx

* baldm0mma/addRowNumbers/ update annos for defaultRowNumberColumnFieldData

* baldm0mma/addRowNumbers/ mark unused args with underscore

* baldm0mma/addRowNumbers/ add annos to addRowNumbersFieldToData

* baldm0mma/addRowNumbers/ update utils file type

* baldm0mma/addRowNumbers/ remove console.logs

* baldm0mma/addRowNumbers/ update file type

* baldm0mma/addRowNumbers/ update annos in utils

* baldm0mma/addRowNumbers/ remove superfluous footerGroups object

* baldm0mma/addRowNumbers/ add annos for tests

* baldm0mma/addRowNumbers/ add annos for self

* baldm0mma/addRowNumbers/ add tests to table.test.tsx

* baldm0mma/addRowNumbers/ update tests in utils.test

* baldm0mma/addRowNumbers/ update annos and tests

* baldm0mma/addRowNumbers/ remove console.logs

* baldm0mma/addRowNumbers/ update utils file ext

* baldm0mma/addRowNumbers/ update anno in table.tsx

* baldm0mma/addRowNumbers/ update annos in table.tsx

* baldm0mma/addRowNumbers/ rem error annos

* baldm0mma/addRowNumbers/ revert footerCell

* baldm0mma/addRowNumbers/ revert tests

* baldm0mma/addRowNumbers/ skip tests

* baldm0mma/addRowNumbers/ revert table isCountRowSet

* baldm0mma/addRowNumbers/ remove cloneDeep

* baldm0mma/addRowNumbers/ update filterFields

* baldm0mma/addRowNumbers/ skip tests

* Refactor count rows

* baldm0mma/addRowNumbers/ rem test skips

* baldm0mma/addRowNumbers/ update with annos

* baldm0mma/addRowNumbers/ skip timeing out test

* baldm0mma/addRowNumbers/ static row numbering and test updates

* baldm0mma/addRowNumbers/ remove dupe

---------

Co-authored-by: Victor Marin <victor.marin@grafana.com>
2023-02-03 07:00:29 -07:00
Joe Blubaugh
41dc88bd25 Adds a description field to plugin.json's pages:role field (#62439)
* Adds a description field to plugin.json's pages:role field

There's no description of what a page object's "role" setting does. It
controls whether a page will appear in the navigation menu for a user
with a given role.

* Update plugindef.cue with comments to match documentation.

* make gen-cue
2023-02-03 14:50:24 +01:00
Ashley Harrison
c819e95687 Navigation: move Connections plugin to be just after apps (#62801)
move connections plugin to be just after apps
2023-02-03 13:48:06 +00:00
Josh Hunt
f8809eef59 Search: Fix not being able to clear sort value (#62557)
* user essentials mob! 🔱

lastFile:public/app/features/search/state/SearchStateManager.ts

* user essentials mob! 🔱

lastFile:public/app/features/search/page/components/ActionRow.tsx

* user essentials mob! 🔱

* remove searchSort state from localStorage when cleared

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Joao Silva <joao.silva@grafana.com>
2023-02-03 13:44:57 +00:00
Jo
12d192d80e AccessControl: Clear user permission cache for update org user role (#62745)
* clear user permission cache for update org user role

* check enabled state of ac
2023-02-03 08:37:41 -05:00
Karl Persson
6840cc11ff AuthN: add support for client specific hooks (#62863)
* AuthN: Add HookClient interface

* AuthN: Check if client implement authn.HookClient and call the hook if
it does

* AuthN: Convert refresh token hook into a client hook
2023-02-03 14:35:17 +01:00
Karl Persson
180a587f70 AuthN: fetch final state of signed in user (#62854)
* AuthN: add a hook we can use to fetch final state of user
2023-02-03 14:14:38 +01:00
Jack Westbrook
29212c9a3f Chore: Update generated schema files (#62862)
* chore(schema): update generated files

* empty commit
2023-02-03 07:41:46 -05:00
Kyle Brandt
09b6b8d435 Backend: Use sdk version 0.148.0 (#62822)
https://github.com/grafana/grafana-plugin-sdk-go/releases/tag/v0.148.0
2023-02-03 13:29:17 +01:00
Steve Simpson
36f3071d66 Alerting: Remove dskit replace directive. (#62851)
The replace directive can be removed now that grafana/dskit#258 is merged.
2023-02-03 12:34:54 +01:00
Jack Westbrook
5815a37f47 Debug Panel: Introduce schema types (#62094)
* feat(debugpanel): schematizing debug panel plugin

* delete old types and update imports to new generated schema

* update to experimental

* derived counters, fix options key name

* num to int

* chore(debugpanel): update ts imports post type rename

* chore(kindsys): refresh report.json

* migrate UpdateCounters back to runtime

* merge with main

---------

Co-authored-by: Will Browne <will.browne@grafana.com>
Co-authored-by: sam boyer <sdboyer@grafana.com>
2023-02-03 11:57:04 +01:00
Eric Leijonmarck
ed18a249b8 Refactor: move displayname logic from backend to frontend (#62845)
* remove fallback from backend

* add: displayname logic to frontend

* Update public/app/core/components/RolePicker/utils.ts

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>

* add: fetchTeamRoles and return earlier

* refactor: change to const

---------

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
2023-02-03 10:39:44 +00:00
Gabriel Goller
8b017f5aa4 Added pageZoomLevel option to image renderer setup documentation (#59472)
* Added pageZoomLevel option to image renderer setup

* Update _index.md

* Update docs/sources/setup-grafana/image-rendering/_index.md

* chore: prettier run in docs

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-02-03 10:19:29 +01:00
Levente Balogh
b32c1022c5 Datasources: Add more optional UI tracking (#62785)
* chore: add more optional UI tracking for datasources

* tests: fix the tests by wrapping them in a router
2023-02-03 09:47:42 +01:00
Karl Persson
ad068ed533 AuthN: Use BasicAuth from http request (#62792)
AuthN: use BasicAuth from http request
2023-02-03 09:11:53 +01:00
Levente Balogh
48e0ab2142 Plugins: Case-sensitive routes for standalone pages (#62779)
* feat: extend the RouteDescription witha `sensitive` property

* feat: use case-sensitive routes for custom plugin standalone pages

* fix: hcheck for `/a/` instead of `/a`
2023-02-03 09:01:34 +01:00
Levente Balogh
cf650c9349 Connections: Fix route-guards (#62771)
* fix: use case-sensitive routes for Connections

The reason to do this is to have the backend route-guards work properly.
(The backend route guards are case-sensitive, thus if the FE would serve
the case-insensitive version, then the backend route guards could be bypassed.)

* tests: update the tests
2023-02-03 09:00:30 +01:00
Levente Balogh
de97ac7128 Datasources: Rename a UI tracking event property (#62788)
refactor: rename the the `editLink` property to `path`
2023-02-03 09:00:04 +01:00
Michael Mandrus
7391793504 Query Caching: Add per-panel query caching TTL (#61968)
* *Create Caching Config interface and OSS impl
*Create front-end facing DS Cache config
*Populate Caching Config on Datasource DTO
*Update OSS wire deps

* fix unit test

* handle query caching TTL override on the frontend

* Make sure the override works with pubdash

* move caching config to the right place in the ds info

* move caching config logic to enterprise index hook

* move queryCachingTTL to pubdash query payload

* Remove  from metadata (not needed)

* rename struct and add comment

* remove invalid wire dependency

* manual revert of 395c74b

* fix frontend test

* fix backend test

* fix tests for real this time

* truly fix frontend test

* fix back end unit test for real
2023-02-02 23:39:54 -05:00
Alexander Weaver
9eeea8f5ea Alerting: Add label query parameters to state history endpoint (#62831)
* Allow equality-only matching of arbitrary labels via query params

* Pre-initialize map
2023-02-02 16:52:08 -06:00
Brendan O'Handley
70c1850888 OpenTSDB: Allow metric autocomplete to use suggest api on every input (#62045)
* allow metric autocomplete by suggest api

* debounce sugggest metrics

* debounce sugggest metrics with debounce-promise

* commit for tests
2023-02-02 17:46:22 -05:00
Jean-Philippe Quéméner
1694a35e0c Alerting: implement loki query for alert state history (#61992)
* Alerting: implement loki query for alert state history

* extract selector building

* add unit tests for selector creation

* backup

* give selectors their own type

* build dataframe

* add some tests

* small changes after manual testing

* use struct client

* golint

* more golint

* Make RuleUID optional for Loki implementation

* Drop initial assumption that we only have one series

* Pare down to three columns, fix timestamp overflows, improve failure cases in loki responses

* Embed structred log lines in the dataframe as objects rather than json strings

* Include state history label filter

* Remove dead code

---------

Co-authored-by: Alex Weaver <weaver.alex.d@gmail.com>
2023-02-02 16:31:51 -06:00
George Robinson
f49efa6e27 Alerting: Pause dash alerts on migration (#62798)
* Alerting: Pause dash alerts on migration
2023-02-02 16:49:05 -05:00
Kyle Brandt
27d429e3b1 API: Permit Cache-Control (browser caching) for datasource resources (#62033)
* Start work on allowing certain resources to pass through Cache-Control headers.
---------

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2023-02-02 20:34:55 +00:00
Matthew Jacobson
f9ec16e74f Alerting: Fix template validation in provisioning api (#62530)
* Alerting: Fix template validation in provisioning api

Fix issue where provisioning API accepts a malformed template having extra
text outside of definition block and template name matching definition name.
2023-02-02 15:26:39 -05:00
Agnès Toulet
121e384fab kindsys: Fix CUE code generation on Windows (#62812)
* fix Windows paths

* fix remaining paths issues

* clean up multiple use of Dir()

* fix headers in generated files
2023-02-02 15:06:55 -05:00
Christopher Moyer
060e0a4d18 Docs: corrects incorrect redirect and fixes link (#62815)
corrects incorrect redirect and fixes link
2023-02-02 13:42:21 -06:00
Gilles De Mey
c3cd4a720f Alerting: Adds a default value to the last_applied column (#62818) 2023-02-02 19:35:28 +00:00
Alexander Weaver
647f73ddc5 Alerting: Add static label to all state history entries (#62817)
* Add static label to all state history entries

* Separate label and value visually
2023-02-02 13:25:26 -06:00
kay delaney
40ec4ef5b8 PanelChrome: Implement hover header (#61774)
Closes #59078

Co-authored-by: polinaboneva <polina.boneva@grafana.com>
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
2023-02-02 17:53:18 +00:00
Santiago
ba731f7865 Alerting: Mark AM configuration as applied (#61330)
* Mark AM configuration as applied

* add missing checks, make linter happy

* fix deadlock, mark as valid on save and on load

* mark configurations only if needed

* check error after applyConfig()

* code review comments

* code review changes

* more code review changes

* clean HistoricConfigFromAlertConfig function
2023-02-02 14:45:17 -03:00
Alexander Weaver
6ad1cfef38 Alerting: Add endpoint for querying state history (#62166)
* Define endpoint and generate

* Wire up and register endpoint

* Cleanup, define authorization

* Forgot the leading slash

* Wire up query and SignedInUser

* Wire up timerange query params

* Add todo for label queries

* Drop comment

* Update path to rules subtree
2023-02-02 11:34:00 -06:00
Sergey Kostrukov
2f218ab928 Azure: Update Grafana Azure SDK and middleware (#62050)
* Update middleware

* Update Grafana Azure SDK

* Client options to client builder

* Fix tests

* maputil from SDK
2023-02-02 16:58:10 +00:00
Alexander Weaver
9fa28c11c5 Alerting: Usability adjustments to Loki representation of state history values (#62643)
* Extract label merge, add test file

* Extract error/NoData to first class fields, remove a layer from values

* Include dashUID and panelID as line-level fields

* Drop unnecessary object receiver

* Add tests for stream building

* Drop NoData field from log lines
2023-02-02 10:54:10 -06:00
Ashley Harrison
5795553353 Navigation: Fix command palette toggle removal (#62809)
command palette is always here
2023-02-02 16:32:34 +00:00
brendamuir
d19803a0f0 Alerting docs: updates to alert rules docs for 9.4 (#62744)
* Alerting docs: updates to alert rules docs for 9.4

* Adds updates to oncall contact point and pause alerts

* Adds view read-only query update 9.4
2023-02-02 16:31:03 +00:00
idafurjes
23c27cffb3 Chore: Rename Id to ID in alerting models (#62777)
* Chore: Rename Id to ID in alerting models

* Add xorm tags for datasource

* Add xorm tag for uid
2023-02-02 17:22:43 +01:00
Gábor Farkas
48a374f50b loki: implement schema for loki query (#62114)
* loki: implement schema for loki query

* removed forgotten code

* better types

* adjust cue-maturity-level

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* sync docs to schema change

* removed forgotten go code

* updated schema docs

Co-authored-by: J Stickler <julie.stickler@grafana.com>

* updated schema docs

Co-authored-by: J Stickler <julie.stickler@grafana.com>

* update schema docs

Co-authored-by: J Stickler <julie.stickler@grafana.com>

* update schema docs

Co-authored-by: J Stickler <julie.stickler@grafana.com>

* updated schema docs

Co-authored-by: J Stickler <julie.stickler@grafana.com>

* updated schema docs

* add documentation to the resolution field

* move direction-field to schema

* loki: cue: moved deprecated fields to the bottom

---------

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: J Stickler <julie.stickler@grafana.com>
2023-02-02 16:18:30 +00:00
Sonia Aguilar
753c84f825 Alerting: Pass yaml as a query param in export request (#62751)
* Set YAML as default value for exporting alert rules

* use YAML format for rule list export

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>

* lint

* Add new format query param to swagger+docs

* Fix broken test

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
Co-authored-by: Matt Jacobson <matthew.jacobson@grafana.com>
2023-02-02 16:10:02 +00:00
Andrej Ocenas
99a16d27c1 Tempo: Trace to logs update image (#62796) 2023-02-02 16:52:34 +01:00
Andre Pereira
60f2433a0f Tempo: TraceQL syntax highlighting improvements (#62349)
* Better syntax highlighting for durations, floats and right-hand-side tags

* Remove hex rule in TraceQL syntax highlighting
2023-02-02 15:48:29 +00:00
Ida Štambuk
ec01e6d6b2 Query Panels: Pass on loading state (#62545) 2023-02-02 16:48:13 +01:00
Andre Pereira
b78af0b0f0 Tempo: Inject status and status.code for tags autocomplete (#62794)
* Tempo: Inject status for v2 and status.code for v1 in the tags list for autocomplete

* Small comment fix
2023-02-02 15:43:28 +00:00
Karl Persson
ce5e067d28 ContextHandler: add all configured auth header to context (#62775)
* ContextHandler: Always store list of possible auth headers in context
and remove individual calls
2023-02-02 16:25:46 +01:00
Joan López de la Franca Beltran
19ed9181e1 Kindsys: Extend DocsJenny with support for 'allOf' (#62558)
* Kindsys: Extend DocsJenny with support for 'allOf'

* Update generated docs

* Multiple refinements

* Minor fixes

* Undo undesired changes

* Fix

* Fix linter complains

---------

Co-authored-by: Tania B <yalyna.ts@gmail.com>
2023-02-02 16:12:31 +01:00
Leon Sorokin
4d564f8b0a Chore: uFuzzy 1.0.2 (#62276)
Co-authored-by: joshhunt <josh@trtr.co>
2023-02-02 09:09:48 -06:00
Andrej Ocenas
1aae808723 Tempo: Update docs for trace to logs functionality (#62338) 2023-02-02 16:06:11 +01:00
Ashley Harrison
5e7e026c0c Navigation: Remove commandPalette feature toggle (#62698)
* remove command palette feature toggle

* undo irrelevant AppChrome changes

* update toggle description
2023-02-02 14:44:21 +00:00
Andres Martinez Gotor
68862ce3e8 Plugins: Prefer to use the data source UID when querying (#62776) 2023-02-02 15:43:07 +01:00
Karl Persson
1204d607a5 RBAC: Rewrite org users rbac tests (#62469)
* API: refactor legacy org users access control tests
2023-02-02 15:33:25 +01:00
Jev Forsberg
1092c2b383 bug: adjust table footer height calculations (#62734)
* baldm0mma/bug-62410/ remove function incorrectly calculating table height

* baldm0mma/bug-62410/ base extended row on basic footer height, and not header height
2023-02-02 07:32:32 -07:00
Sofia Papagiannaki
4eaff63eda SQLStore: Fix folder migration for MySQL < 5.7 (#62521)
* Nested folders: Do not skip integration tests

* SQLStore: Fix folder migration

It reduces the length of the title column to be equal with the respective
dashboard column.
2023-02-02 16:21:25 +02:00
Emil Tullstedt
10d66405a4 Chore: Remove redundant codegen step from .bra.tom (#62764) 2023-02-02 14:53:54 +01:00
Steve Simpson
c44e9f6b71 Alerting: Add metrics around notification delivery. (#62778)
This change exposes more metrics from the embedded Alertmanager, which are
valuable for troubleshooting Alertmanager operation particularly in HA setups.

```
grafana_alerting_notifications_total
grafana_alerting_notifications_failed_total
grafana_alerting_notification_requests_total
grafana_alerting_notification_requests_failed_total
grafana_alerting_notification_latency_seconds
grafana_alerting_nflog_gc_duration_seconds
grafana_alerting_nflog_snapshot_duration_seconds
grafana_alerting_nflog_snapshot_size_bytes
grafana_alerting_nflog_queries_total
grafana_alerting_nflog_query_errors_total
grafana_alerting_nflog_query_duration_seconds
grafana_alerting_nflog_gossip_messages_propagated_total
grafana_alerting_dispatcher_aggregation_groups
grafana_alerting_dispatcher_alert_processing_duration_seconds
```

Note that `alertmanager_dispatcher_aggregation_group_limit_reached_total` is
explicitly not exposed, as the group limit metrics are not enabled.
2023-02-02 14:44:20 +01:00
Misi
7c1d9769ca Auth: Rotate token patch (#62676)
* Use singleflight.Group

* Align tests

* Cleanup
2023-02-02 14:36:16 +01:00
Tania
3c01ae2c9e Docs: Render map type fields in generated docs (#62022)
* Render map type in docs

* Generate

* Clenaup rendering properties

* Minor updates

* Update maps rendering
2023-02-02 13:02:29 +01:00
Sonia Aguilar
517e614661 Alerting: Set YAML as default value for exporting alert rules (#62760)
Set YAML as default value for exporting alert rules
2023-02-02 11:38:27 +00:00
Horst Gutmann
312ea59e6d CI: Allow other modules to register build sub-commands (#62741)
* Allow other modules to register build sub-commands

* CI: Fix retries on artifacts-page clone

* Fix linting errors

* Fix golint issues

* Update to grabpl 3.0.21
2023-02-02 11:35:43 +00:00
Sofia Papagiannaki
29d3e696f0 Swagger: Fix circular reference (#62673)
* Swagger: Fix circular reference

* gitignore intermediate swagger file

* Update specs

* Do not generate specs when building the backend
2023-02-02 13:18:04 +02:00
Sofia Papagiannaki
adaf82ffb7 Nested Folder: Fix for SQLite not to overwrite the parent on restarts (#62709)
Nested Folder: Fix for SQLite not to overwrite the arent on restarts
2023-02-02 12:06:51 +02:00
Karl Persson
d395901e80 AuthN: Expose RegisterClient and add client name for saml (#62604)
* AuthN: add RegisterClient to service interface

* AuthN: Add client name for saml
2023-02-02 10:09:52 +01:00
Torkel Ödegaard
b8e7ef48d0 AppChrome: Unify logic for chromeless pages that should not have NavBar, CommandPalette, Search etc (#62281)
* Keybindings: No global keybindings on chromeless pages

* simplify condition

* Refactoring

* Align name and file

* Move logic into AppChrome

* minor fix

* Update Page.tsx

* Fixing test

* Fixed tests

* More fixes

* Fixed more tests

* Fixing final test

* Fixed search in old nav
2023-02-02 09:53:06 +01:00
Timur Olzhabayev
ce50168b70 Fix: Save and test error message does not persist across datasource instance settings anymore 2023-02-02 09:50:12 +01:00
Serge Zaitsev
b1c98f7119 Chore: Remove result field from alert commands and queries (#62714)
* remove result field from alert notification commands and queries

* fix a few more tests

* ok, linter

* remove alert result fields

* fix api calls

* et tu, linter
2023-02-02 09:41:05 +01:00
Gábor Farkas
d9fd807375 Elasticsearch: Fix consistent label order in alerting (#62497)
elasticsearch: backend: sort label-values
2023-02-02 09:03:18 +01:00
Ivana Huckova
ccfa9a4ef0 Elasticsearch: Implement schema for query (#62147)
* Elasticsearch: Implement schema for query

* Comment out types I am not sure how to do

* Manually fix typing for PipelineMetricAggregationWithMultipleBucketPaths and BasePipelineMetricAggregation

* Import types to types.ts to have single source of truth

* Cleanup, reorder

* Remove unnecesary Schema.

* Fix test

* Refactor
2023-02-02 09:01:02 +01:00
Ryan McKinley
4a8763d7b6 Heatmap: Support heatmap rows with non-timeseries X axis (#60929)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2023-02-01 15:16:34 -08:00
Ryan McKinley
d4f4a83574 FeatureToggles: Add dev only feature toggle for apiserver (#62726) 2023-02-01 20:28:19 +00:00
Kevin Minehart
ba6500576b CI: include ver_mode arg in the integration_test_pipeline in main. (#62723)
include ver_mode arg in PRs
2023-02-01 15:27:57 -05:00
Alexander Weaver
fcecf4d3cb Alerting: Refactor away a layer of indirection around the goroutine in Loki state history (#62644)
Inline recordStreamsAsync in loki backend
2023-02-01 11:57:29 -06:00
Isabel
1225e8d6d8 docs: fix broken elasticsearch metrics play link (#62715)
fix broken elastic search play link
2023-02-01 11:55:22 -06:00
Isabella Siu
1f09508d8c Cloudwatch: Fix log group variable interpolation (#62640) 2023-02-01 12:26:54 -05:00
Ryan McKinley
e70d623f90 Schemas: Generate CRDs for core kinds (#62641)
Co-authored-by: sam boyer <sdboyer@grafana.com>
2023-02-01 09:08:26 -08:00
renovate[bot]
b95eda045a Update dependency eslint-plugin-react to v7.32.1 (#62128)
* Update dependency eslint-plugin-react to v7.32.1

* don't mutate state

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-02-01 17:02:59 +00:00
Kevin Minehart
3cbaa58b1b CI: Replace enterprise check (#62359)
* Add steps in the pipeline for cloning enterprise when running PR tests.
* Removed enterprise-check from the github action workflows, and removed it from the codeowners file.
2023-02-01 16:55:49 +00:00
brendamuir
9d07b77532 Alerting docs: adds declare incident (#62681)
* Alerting docs: adds declare incident

* adds alert detail view option
2023-02-01 16:55:40 +00:00
Joao Silva
3ea7ca0993 Search: Fix alignment of checkbox in folder view (#62678) 2023-02-01 17:36:28 +01:00
idafurjes
2c50c44d89 Chore: Move library elements models to library elements service (#62507)
* Chore: Move library elements models to library elements service

* Fix stat import

* Fix faulty error assignment
2023-02-01 17:32:05 +01:00
Eric Leijonmarck
8ff19bd901 Auth: Add Generic oauth skip org role sync setting (#62418)
* add: generic oauth skip org role sync

* add: docs

* add: backend login skip sync

* fix: docs typo

* add: tests

* remove public key

* fix markdown for generic oauth

* add: generic oauth to the configuration

* refactor: change debug to warn
2023-02-01 16:27:53 +00:00
Giordano Ricci
6b6b733229 Explore: Fix graph not updating when changing config (#62473)
* Explore: Fix graph not updating when changing config

* move useStructureRev to a seprate hook and add specific tests
2023-02-01 16:23:02 +00:00
Jack Baldry
13c4ee1da0 Fix URL of docs preview (#62704)
Latest is used for consistency with CI

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2023-02-01 16:16:26 +00:00
Andre Pereira
5e1506dea0 Tempo: Remove tempoApmTable feature flag (#62499)
Remove tempoApmTable feature flag
2023-02-01 15:56:34 +00:00
Will Browne
317f044e70 Plugins: Ensure proxy route bodies are valid JSON (#61771)
ensure proxy route bodies are valid JSON
2023-02-01 16:37:08 +01:00
Ashley Harrison
0a780d978e Navigation: wrap dashboard settings actions in ToolbarButtonRow for responsiveness (#62475)
wrap dashboard actions in toolbarbuttonrow for responsiveness
2023-02-01 15:08:09 +00:00
Gilles De Mey
26866953c1 Alerting: hide "silence" button for external AM setups (#62133) 2023-02-01 15:51:05 +01:00
Julien Duchesne
a190e03133 Remove code to publish to RPM and deb repos (#61786)
This was replaced here: https://github.com/grafana/grafana/pull/53553 and it's no longer used
2023-02-01 09:39:33 -05:00
Timur Olzhabayev
61c2c12489 Switching app-platform-core to cloud-app-platform-squad (#62689) 2023-02-01 14:36:17 +00:00
Will Browne
2f2046eff7 Plugins: Require body is closed on test cleanup (#62668)
require body is closed on cleanup
2023-02-01 15:28:25 +01:00
Matias Chomicki
c139768e3b Logs Panel: Refactor style generation to improve rendering performance (#62599)
* Log row: move level styles to its own provider

* Log row message: remove unnecessary extra param from styles

* Log rows: parse and pass styles to children

* Log row: receive parsed styles props from parent

* Log details: receive styles from parent

* Revert "Log details: receive styles from parent"

This reverts commit 8487482a6f4fdcf5e26896182c5ad3982774eea2.

* Log row message: receive styles from parent

* Chore: remove unnecessary comment

* Log level styles: move common styles out of getLogLevelStyles

* Chore: fix TimeZone deprecated import

* Log Details: inverse ternary operator for readability

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>

* Log Details: inverse ternary operator for readability

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>

* Chore: apply prettier formatting

---------

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2023-02-01 14:28:10 +00:00
Gareth Dawson
42f8f5a9ea Loki: Fix label filter expression treating int as string (#62496)
* fix: label filter expression treats int as string

* refactor: labelFilterRenderer

* test: add tests to labelFilterRenderer

* refactor: use backticks based on the operator not the value

* test: labelFilterRenderer uses the correct value type based on the operator

* test: use it.every rather than having multiple repetitive tests
2023-02-01 14:13:08 +00:00
Sofia Papagiannaki
f143b0a5b2 Chore: Move folder store interface, implementation and test under pkg/services/folder (#62586)
* Chore: Move folder store into folder service package

* Split folder and dashboard store implementations
2023-02-01 15:43:21 +02:00
Sonia Aguilar
151e57df70 Alerting: Add Copy action to templates table (#62135)
* Add duplicate action to templates table

Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com>

* Move duplicate icon, and remove provenance when rendering TemplateForm

* Create generic generateCopiedName method to avoid duplication and use it also in the CloneRuleEditor

* Use 'Copy' for duplicating templates and cloning alert rules

* Improve updating the template content with new unique define values when copying

Co-authored-by: Konrad Lalik <konradlalik@gmail.com>

* Fix typo

---------

Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com>
Co-authored-by: Konrad Lalik <konradlalik@gmail.com>
2023-02-01 14:14:10 +01:00
renovate[bot]
4c8c243c6e Update dependency comlink to v4.4.0 (#62628)
* Update dependency comlink to v4.4.0

* explicitly mark the error as unknown

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-02-01 13:04:55 +00:00
Ashley Harrison
8d7e7693f2 Command palette: section styling tweaks (#62671)
section styling tweaks
2023-02-01 13:04:38 +00:00
Gilles De Mey
faa920437c Alerting: Add support for "normal" as state filter in rule search (#62630) 2023-02-01 13:32:06 +01:00
Alex Moreno
53945afedf Alerting: Allow alert rule pausing from API (#62326)
* Add is_paused attr to the POST alert rule group endpoint

* Add is_paused to alerting API POST alert rule group

* Fixed tests

* Add is_paused to alerting gettable endpoints

* Fix integration tests

* Alerting: allow to pause existing rules (#62401)

* Display Pause Rule switch in Editing Rule form

* add isPaused property to form interface and dto

* map isPaused prop with is_paused value from DTO

Also update test snapshots

* Append '(Paused)' text on alert list state column when appropriate

* Change Switch styles according to discussion with UX

Also adding a tooltip with info what this means

* Adjust styles

* Fix alignment and isPaused type definition

Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>

* Fix test

* Fix test

* Fix RuleList test

---------

Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>

* wip

* Fix tests and add comments to clarify AlertRuleWithOptionals

* Fix one more test

* Fix tests

* Fix typo in comment

* Fix alert rule(s) cannot be paused via API

* Add integration tests for alerting api pausing flow

* Remove duplicated integration test

---------

Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com>
Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
Co-authored-by: George Robinson <george.robinson@grafana.com>
2023-02-01 13:15:03 +01:00
Sonia Aguilar
c0865c863d Alerting: Show 'start typing' message in evaluation group folder in case of empty options. (#62611)
Show start typing message in evaluation group folder in case of empty options
2023-02-01 12:20:57 +01:00
renovate[bot]
ec74e05fc5 Update dependency @rushstack/node-core-library to v3.54.0 (#62552)
* Update dependency @rushstack/node-core-library to v3.54.0

* do we even need this anymore?

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-02-01 11:19:10 +00:00
Ashley Harrison
b6aedaa57d Chore: improve some types (#62363)
* improve some types

* more tidy up

* better error message handling + update tests

* undo store changes
2023-02-01 10:50:34 +00:00
Yaelle Chaudy
414bcd0a78 Annotations: Fix keyboard a11y in Annotation list (#57022)
* Fixed keyboard a11y in Annotation list

* prettier

* removed blue
2023-02-01 11:49:13 +01:00
Ivana Huckova
b9bbb4e1fb SplitOpen: Update API to accept multiple queries (#62245)
* SplitOpen: Update API to accept multiple queries

* Explore: Deprecate query in SplitOpenOptions and add queries

* Use queries in log samples

* Fix test
2023-02-01 11:34:25 +01:00
Giordano Ricci
c66ab3a9e4 QueryHistory: Improve handling of mixed datasource entries (#62214)
* QueryHistory: Improve handling of mixed datasource entries

* remove todo

* remove todo

* fix comment submit test

* disable running queries if at least one doesn't have a datasource

* remove unnecessary code

* add tests for diabled buttons state
2023-02-01 10:11:17 +00:00
Levente Balogh
f985f02584 Plugins: Track plugin install and uninstall events (#62300)
* chore: track plugin install and uninstall events

* chore: pass the type of the plugin to the tracking as well
2023-02-01 10:58:25 +01:00
Torkel Ödegaard
533c8e4b7a PanelChrome: Adds display mode to support transparent option (#62647)
* PanelChrome: Add transparent displayMode

* Remove comment

* Fixes to storybook and new example

* no background on TitleItem

---------

Co-authored-by: polinaboneva <polina.boneva@grafana.com>
2023-02-01 10:57:43 +01:00
Torkel Ödegaard
2d90a01f6a Scenes: Wrapping flex layout demo scene (#62540)
* Scenes: Adding a demo dashboard with wrapping flex layout

* Updates

* Update version
2023-02-01 10:56:58 +01:00
Dimitris Sotirakis
1a5b54cff3 CI: Replace grafana/grafana-oss with grafana-oss when publishing to dockerhub repo (#62651)
Replace grafana/grafana-oss with grafana-oss
2023-02-01 09:53:42 +00:00
Joey Tawadrous
f3c5e85559 Phlare: Use data query schema (#62112)
* Create cue file and gen ts/go types

* Use generated schema in ts/go

* Run make den-cue to update report

* Manually extend Phlare query

* Updates

* Add default queryType

* Run make gen-cue to Update report.json
2023-02-01 09:29:25 +00:00
sam boyer
30b4205521 Kindsys: Replace DefForGen with kindsys.Kind (#62642)
* Kindsys: Replace DeclForGen with kindsys.Kind

DeclForGen was always unnecessary - it just wasn't obvious on initial
implementation, when we were focused on generating unique types for each
core kind. This removes it, considerably simplifying interactions with
kindsys - virtually everything now just relies on kindsys.Kind and its
derived interfaces.

* Removed unused jenny

* Rename params in jennies
2023-01-31 19:40:15 -05:00
Ryan McKinley
0f0a53fbbb Schemas: Add description to kinds metadata (#62638)
* add description to kinds

* omit empty
2023-01-31 17:54:22 -05:00
Alexander Weaver
03f3fbec0d Alerting: Fix handling of special floating-point cases when writing observed values to annotations (#61074)
* Fix json serialization of state values

* Simplify two of the tests

* Fix linter complaint

* Don't return error if we fail to look up dashboard, just log it and move on

* Address linter complaint
2023-01-31 15:27:51 -06:00
tonypowa
5a1317fb8d github: update the /duplicate slash command action (#62585)
updated action
2023-01-31 10:57:51 -10:00
Drew Slobodnjak
cf6952a963 Geomap: Ensure options work while in table view (#62632) 2023-01-31 12:24:13 -08:00
gotjosh
55e7cf1aed Alerting: Introduce Metric Aggregation starting with Silences (#62512)
* Alerting: Introduce Metric Aggregation starting with Silences
---------

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2023-01-31 19:54:38 +00:00
Josh Hunt
138575cbe9 Config: Refactor frontend settings to struct (#61990)
* Config: Make frontend settings a struct rather than map

remove frontend settings to setting package

remove frontend settings struct to dtos package

rearrange structs to avoid cycles

rename getFrontendSettings fn

omitempty

fix login test

fix middleware test

* wip some enterprise types

* cleanup, moved structs from enterprise

* ci
2023-01-31 19:14:15 +00:00
gotjosh
178f290f0c Update dskit to the latest main (#62616)
* Update dskit to the latest main

* Break free from a cortex depedency
2023-01-31 19:05:49 +00:00
ismail simsek
49258b135a Prometheus: Refactor error handling logic (#62254)
* Refactor error handling logic
- Enable query inspector to show error information
- Update naming

* Change fetch method return signature

* update the snapshot

* Revert "update the snapshot"

This reverts commit 28b26ce426.
2023-01-31 19:26:45 +01:00
Ryan McKinley
4186871390 Transforms: Fix schema definition (#62619) 2023-01-31 18:03:08 +00:00
ismail simsek
91221bc436 Expressions: Fixes the issue showing expressions editor (#62510)
* Use suggested value for uid

* update the snapshot

* use __expr__

* replace all -100 with __expr__

* update snapshot

* more changes

* revert redundant change

* Use expr.DatasourceUID where it's possible

* generate files
2023-01-31 18:50:10 +01:00
Jack Baldry
fdb1a47ca2 Use requires_buildifier build tag to avoid needing buildifier locally (#62597)
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2023-01-31 17:43:07 +00:00
Ieva
6ae0ea80f6 RBAC: extend IsInherited method to work for nested folders (#62498)
* extend IsInherited function to work for nested folders

* add tests

* update tests and logic

* process inherited permissions seprately to correctly grey them out in the frontend
2023-01-31 17:38:03 +00:00
Zoltán Bedi
62c30dea4d MySQL: Quote identifiers that include special characters (#61135)
* SQL: toRawSQL required and escape table

* Fix autocomplete for MySQL

* Change the way we escape for builder

* Rework escape ident to be smart instead

* Fix A11y for alias

* Add first e2e test

* Add test for code editor

* Add doc

* Review comments

* Move functions to sqlUtil
2023-01-31 18:16:28 +01:00
Ryan McKinley
bba80b6c7a Transformations: Selectively apply transformation to queries (#61735) 2023-01-31 17:06:06 +00:00
Will Browne
e7bfc4e749 TestData: Remove references to TestData "DB" (#62603)
* remove refs testdatadb

* fix trailing semi-colon

* remove pluginName completely
2023-01-31 16:40:00 +00:00
Torkel Ödegaard
c0f0c3d485 TopNav: Fix right padding on signin link (#62537)
* TopNav: Fix right padding on signin link

* revert yarn lock

* Update package.json

* Update
2023-01-31 17:22:36 +01:00
renovate[bot]
1dc986f9e1 Update Moveable (#62551)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-31 15:40:44 +00:00
Horst Gutmann
addfd1b5cf Add missing PRs to 9.4.0-beta1 changelog (#62596) 2023-01-31 16:18:43 +01:00
Jo
99155c75e6 SupportBundles: Add URL in troubleshoot panels to support bundles (#62477)
* add link

* add link

* update text

* update access

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-01-31 16:12:20 +01:00
ying-jeanne
6d4e8ec4d6 [xorm] Remove unused functions from engine (#62590)
remove unuseful functions from engine
2023-01-31 14:43:35 +00:00
George Robinson
0dacb11a12 Alerting: Validate that tags are 100 characters or less (#62335)
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-01-31 14:19:44 +00:00
Hamas Shafiq
c3b476e1dc Tempo: Fix span name being dropped from the query (#62257) 2023-01-31 14:11:29 +00:00
Ashley Harrison
029253d5f6 Navigation: add event tracking for dashboard save as events (#62568)
* add event tracking for dashboard save as events

* emit a grafana_dashboard_copied event instead
2023-01-31 13:54:24 +00:00
ismail simsek
65fbbc06fd InfluxDB: Move database information into jsondata (#62308)
* Use dbName in jsonData instead of database

* Use dbName in instead of database

* Remove database fields and define dbName instead

* Fix tests

* set database field as empty string
2023-01-31 14:38:02 +01:00
Ashley Harrison
77a186879d Navigation: add event tracking for navigation elements (#62563)
add user tracking for navigation elements
2023-01-31 13:03:31 +00:00
Andreas Christou
f77853f91e AzureMonitor: Fix dimension migration (#62485)
Remove unneeded properties post migration
2023-01-31 12:36:21 +00:00
Andres Martinez Gotor
13f8ea2656 Azure Monitor: Return query error for metrics (#62570) 2023-01-31 13:28:35 +01:00
Ieva
a46d62cf48 RBAC: only set basic role permissions for folders without parents (#62486)
only set basic role permissions for folders without parents
2023-01-31 12:13:26 +00:00
Andres Martinez Gotor
a0c3dcb8c6 Azure Monitor: Fix selection when using a search term (#62562) 2023-01-31 12:54:16 +01:00
Yasir Ekinci
c41f97029e Plugins: Fix circular reference in customOptions leading to MarshalJSON errors (#62328)
* Plugins: test ds.JsonData.MarshalJSON()

* CustomOptions: copy to avoid cyclic marshal
2023-01-31 12:35:36 +01:00
Andre Pereira
850d5141cf Tempo: DataQuery type as a schema (#62119)
* Tempo data query wip

* Replace TempoQuery with new type from schema

* Added some documentation for each DataQuery field

* Change limit type from number to int64

* Use TempoDataQuery instead of local model in the backend

* Update report.json
2023-01-31 11:29:50 +00:00
Sofia Papagiannaki
f8bd13ffad Chore: Regenerate swagger and openapi specifications (#62561) 2023-01-31 11:00:45 +00:00
Dimitris Sotirakis
ef7716d6b3 Chore: Update latest.json to 9.4.0-beta1 (#62556)
Chore: update latest.json to 9.4.0-beta1
2023-01-31 11:48:43 +01:00
Emil Tullstedt
b1151dd118 Login: Fix panic when UpsertUser is called without ReqContext (#62539) 2023-01-31 11:16:23 +01:00
idafurjes
cbc10f9c5d Chore: Delete password and search from models package (#62482)
* Chore: Delete password and search from models package

* Rename model to AdminCreateUserResponse
2023-01-31 11:04:55 +01:00
Grot (@grafanabot)
60575041a5 Changelog: Updated changelog for 9.4.0-beta1 (#62553) 2023-01-31 12:04:06 +02:00
sam boyer
dbe2f0c8f6 Kindsys: Replace "Declaration" with "Definition" (#62515)
* s/Declaration/Definition/g

* s/DeclForGen/DefForGen/g

* Rename some local vars
2023-01-31 09:50:08 +00:00
Polina Boneva
d48a8fd227 PanelChrome: Styling issues (#62466)
* all panel icons are 16x16 in size; allow ToolbarButton to have its icon size set from outside;

* use TitleItem for streaming too, so that the style of focus-visible is the same

* allow menu icon to be visible when panel is focused

* remove some styling of title icons in panel header

* panel alert notices are too big

* PanelHeaderNotice: Fix styling issue with background and hover when
feature toggle is not enable

---------

Co-authored-by: Alexandra Vargas <alexa1866@gmail.com>
2023-01-31 11:39:15 +02:00
Marcus Efraimsson
6c02c7079f Plugins: Update migration guide for 9.4/forwarded headers (#62505)
Update plugin migration guide in regards to v9.4 and forwarding 
of headers in grafana-plugin-sdk-go.
2023-01-31 10:33:30 +01:00
Ashley Harrison
fd2641a542 Navigation: Sign in button now works correctly when served under a sub path (#62504)
make sure getUrlForPartial always includes the basePath + unit tests
2023-01-31 09:27:40 +00:00
Laura Benz
439dd062da Explore: Add unit tests for addQueryRow() and generateEmptyQuery() (#60977)
* feat: add condition

* refactor: clea up

* refactor: remove changes and add my solution as comment

* feat: add test

* refactor: test preparation

* refactor: finish test prep and remove planned changed from addQueryRow()

* refactor: finish first test

* refactor: add required props after removing any (not complete)

* refactor: replace props and clean up

* refactor: add another test

* refactor: extend tests with datasourceInstance

* refactor: add test for mixed ds enabled

* refactor: remove typescript errors

* feat: add first attempt of a test for generateEmptyQuery()

* feat: setup first test for generateEmptyQuery()

* refactor: remove typescript errors

* feat: add another test for generateEmptyQuery()

* refactor: add some assertions

* refactor: restructure tests

* refactor: remove doubled code

* refactor: remove typescript errors

* refactor: remove mocking mistake and add test

* refactor: remove mocking mistakes

* refactor: repair mock for feature toggle

* refactor: clean up

* refactor: changes from code review
2023-01-31 10:13:08 +01:00
suntala
51bef166c2 Chore: Remove Result field from serviceaccounts, ualert (#62476)
* Chore: Remove Result field from serviceaccounts
* Chore: Remove Result field from ualert
2023-01-31 09:51:55 +01:00
Andres Martinez Gotor
d3897b612f Azure Monitor: Docs update for multiple resources (#62454) 2023-01-31 09:51:05 +01:00
Adela Almasan
58c9618160 Canvas: Update connection info on element rename (#62532) 2023-01-30 22:36:57 -06:00
Alexander Weaver
e7ace4ed62 Alerting: Allow separate read and write path URLs for Loki state history (#62268)
Extract config parsing and add tests
2023-01-30 16:30:05 -06:00
Michael Mandrus
8dab3bf36c SMTP: Update email templates to include populated <title> tag (#61430)
* add .TemplateData property to data in order to populate template <title> tags with the compiled subject value

* update all templates

* re-enable integration test and update implementation to check changes

* chore: fmt

* add HiddenSubject template func and update text templates

* slight performance improvement, only execute subject template once

* update template I missed

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-01-30 16:56:23 -05:00
Adela Almasan
a92c081a33 Canvas: Connections positioning ux improvements (#62516) 2023-01-30 15:50:10 -06:00
Drew Slobodnjak
bf2cf76cad Geomap: Maintain consistent control styling (#62518)
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2023-01-30 13:11:58 -08:00
Alexander Weaver
b4682fe3cb Alerting: Configurable externalLabels for Loki state history (#62404)
* Add config option for external labels

* Remove redundant nilcheck
2023-01-30 14:24:45 -06:00
Artur Wierzbicki
c8e7e7ccf1 Chore: skip flakey FS API tests (#62087)
skip flakey tests
2023-01-30 21:01:59 +01:00
Jev Forsberg
c6f4eb4282 chore: remove unused css prop (#62350)
balm0mma/remUnusedCss/ remove unused css prop
2023-01-30 11:33:20 -07:00
Andre Miras
a7c4872bcd Alerting: Clarify PagerDuty integrationKey format (#62463)
**What is this feature?**

Simply a documentation update.

**Why do we need this feature?**

Clarify the doc, so people don't waste time integrating the wrong key,
e.g. #8979, #9036, https://community.librenms.org/t/19013

**Who is this feature for?**

Developers doing a PagerDuty integration.
2023-01-30 18:23:33 +00:00
Andreas Christou
3ac97dd396 TemplateVariables: Fix custom variable function support (#62509)
Validate query values
2023-01-30 17:49:16 +00:00
Horst Gutmann
f23be415c5 CI: Add artifacts publish build command (#62445)
* CI: Add `artifacts publish` build command

* Lint release.star
2023-01-30 16:24:10 +00:00
Andres Martinez Gotor
6d230d95eb Azure Monitor: Enable multiple resource queries (#62467) 2023-01-30 17:19:03 +01:00
Ashley Harrison
14dd1be244 Chore: update copy-webpack-plugin and remove from renovate ignore list (#62459)
update copy-webpack-plugin and remove from renovate ignore list
2023-01-30 16:01:44 +00:00
Ida Štambuk
f1a2a76897 Datasources: Use getDefaultQuery in annotations editors (#61870)
+ Add Cloudwatch default annotation
2023-01-30 16:45:03 +01:00
Kristina
b6f477ae03 Consider y coord when determining bottom collision (#62403) 2023-01-30 09:40:36 -06:00
Alex Moreno
7a465f42a6 Alerting: Allow pausing alerts from provisioning (#62263)
* Allow pausing alerts from provisioning

* Update swagger

* Add IsPaused to provision export endpoints

* Add pause field in sample.yml

* Add exception for reset state in first loop iteration of scheduler if rule is paused

* Update provision definition and swagger docs

* Fix provisioning export tests

* Suggestion: Simplify if condition

* Add more context to a comment
2023-01-30 16:29:05 +01:00
Gilles De Mey
702fd0f9e8 Docs: Update wording / text and copy (#61868)
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2023-01-30 15:26:21 +00:00
Konrad Lalik
7b47beef2f Alerting: Add Rule UID and Clone button to the rule details page (#62321) 2023-01-30 16:02:01 +01:00
Serge Zaitsev
427db55204 Chore: Fix goimports order in RelEng packages (#62481)
fix goimports order
2023-01-30 15:53:38 +01:00
Ieva
ee3d742c7d RBAC: inherit folder permissions when resolving managed permissions (#62244)
* add nested folder scope inheritance to managed permission services

* add a more specific erorr

* remove circular dependencies

* use errutil for returning erorr

* fix tests

* fix tests

* define a new error in ac package
2023-01-30 14:19:42 +00:00
idafurjes
3bda112c5f Chore: Move search model from models package to search service (#62215)
* Chore: Move search model from models package to search service

* Remove unused imports

* Cleanup after merge
2023-01-30 15:17:53 +01:00
Joey Tawadrous
780f43a33d Flame graph: Add metadata above flame graph (#61921)
* Remove percentTitle

* Flame graph metadata

* Remove comment

* Update test

* Update metadata
2023-01-30 14:02:26 +00:00
Ashley Harrison
f19b07c0bc Accessibility: Remove unnecessary onClick from title element (#59696)
* remove unnecessary onClick from title element

* associate icon label with title + fix unit tests

* remove cursor: pointer;

* remove link color from title as it's no longer clickable

* remove useless aria-label

* stop incorrectly marking title as a ReactNode - it's just a string
2023-01-30 13:32:16 +00:00
renovate[bot]
8593ca245a Update dependency react-awesome-query-builder to v5.4.0 (#62342)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-01-30 13:29:47 +00:00
Jack Baldry
66b54e2dbd Replace ambiguous relrefs with partial URIs to prevent 404s (#62468)
* Replace ambiguous relrefs with partial URIs to prevent 404s

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

* Fix local builds that depend on latest content

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

* Fix broken relref

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

---------

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2023-01-30 12:48:12 +00:00
Ashley Harrison
d9d103a2bf Chore: remove node-fetch from dep + ignore list (#62455)
remove node-fetch from dep + ignore list
2023-01-30 11:47:32 +00:00
Karl Persson
efeb0daec6 AuthN: Add oauth clients and perform oauth authentication with authn.Service (#62072)
* AuthN: Update signature of redirect client and RedirectURL function

* OAuth: use authn.Service to perform oauth authentication and login if feature toggle is enabled

* AuthN: register oauth clients

* AuthN: set auth module metadata

* AuthN: add logs for failed login attempts

* AuthN: Don't use enable disabled setting

* OAuth: only run hooks when authnService feature toggle is disabled

* OAuth: Add function to handle oauth errors from authn.Service
2023-01-30 12:45:04 +01:00
3580 changed files with 96705 additions and 79784 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -22,23 +22,12 @@ function countUndocumentedStories() {
});
}
async function findEslintConfigFiles(): Promise<string[]> {
return new Promise((resolve, reject) => {
glob('**/.eslintrc', (err, files) => {
if (err) {
reject(err);
}
resolve(files);
});
});
}
function countEslintErrors() {
return new BettererFileTest(async (filePaths, fileTestResult, resolver) => {
const { baseDirectory } = resolver;
const cli = new ESLint({ cwd: baseDirectory });
const eslintConfigFiles = await findEslintConfigFiles();
const eslintConfigFiles = await glob('**/.eslintrc');
const eslintConfigMainPaths = eslintConfigFiles.map((file) => path.resolve(path.dirname(file)));
const baseRules: Partial<Linter.RulesRecord> = {

View File

@@ -1,4 +1,4 @@
# Auto generated binary variables helper managed by https://github.com/bwplotka/bingo v0.7. 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 $(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.50.1
GOLANGCI_LINT := $(GOBIN)/golangci-lint-v1.51.2
$(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.50.1"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=golangci-lint.mod -o=$(GOBIN)/golangci-lint-v1.50.1 "github.com/golangci/golangci-lint/cmd/golangci-lint"
@echo "(re)installing $(GOBIN)/golangci-lint-v1.51.2"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=golangci-lint.mod -o=$(GOBIN)/golangci-lint-v1.51.2 "github.com/golangci/golangci-lint/cmd/golangci-lint"
JB := $(GOBIN)/jb-v0.5.1
$(JB): $(BINGO_DIR)/jb.mod

View File

@@ -1,5 +1,5 @@
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
go 1.19
go 1.20
require github.com/golangci/golangci-lint v1.50.1 // cmd/golangci-lint
require github.com/golangci/golangci-lint v1.51.2 // cmd/golangci-lint

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
# Auto generated binary variables helper managed by https://github.com/bwplotka/bingo v0.7. 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-beta.2"
DRONE="${GOBIN}/drone-v1.5.0"
GOLANGCI_LINT="${GOBIN}/golangci-lint-v1.50.1"
GOLANGCI_LINT="${GOBIN}/golangci-lint-v1.51.2"
JB="${GOBIN}/jb-v0.5.1"

View File

@@ -1,8 +1,7 @@
[run]
init_cmds = [
["make", "gen-go"],
["make", "gen-jsonnet"],
["GO_BUILD_DEV=1", "make", "build-go"],
["make", "gen-jsonnet"],
["./bin/grafana", "server", "-packaging=dev", "cfg:app_mode=development"]
]
watch_all = true
@@ -17,8 +16,7 @@ watch_exts = [".go", ".ini", ".toml", ".template.html"]
ignore_files = [".*_gen.go"]
build_delay = 1500
cmds = [
["make", "gen-go"],
["make", "gen-jsonnet"],
["GO_BUILD_DEV=1", "make", "build-go"],
["make", "gen-jsonnet"],
["./bin/grafana", "server", "-packaging=dev", "cfg:app_mode=development"]
]

File diff suppressed because it is too large Load Diff

334
.github/CODEOWNERS vendored
View File

@@ -12,41 +12,45 @@
# This should make it easy to add new rules without breaking existing ones.
# Documentation
/docs/ @grafana/docs-grafana
/contribute/ @grafana/docs-grafana
/docs/sources/developers/plugins/ @grafana/docs-grafana @grafana/plugins-platform-frontend @grafana/plugins-platform-backend
/docs/sources/developers/plugins/backend/ @grafana/docs-grafana @grafana/plugins-platform-backend
/.changelog-archive @grafana/docs-grafana
CHANGELOG.md @grafana/docs-grafana
CODE_OF_CONDUCT.md @grafana/docs-grafana
CONTRIBUTING.md @grafana/docs-grafana
GOVERNANCE.md @RichiH
HALL_OF_FAME.md @grafana/docs-grafana
ISSUE_TRIAGE.md @grafana/grafana-community-support
LICENSE @torkelo
LICENSING.md @torkelo
MAINTAINERS.md @RichiH
NOTICE.md @torkelo
README.md @grafana/docs-grafana
ROADMAP.md @torkelo
SECURITY.md @grafana/security-team
SUPPORT.md @torkelo
UPGRADING_DEPENDENCIES.md @grafana/docs-grafana
WORKFLOW.md @torkelo
/CHANGELOG.md @grafana/docs-grafana
/CODE_OF_CONDUCT.md @grafana/docs-grafana
/CONTRIBUTING.md @grafana/docs-grafana
/GOVERNANCE.md @RichiH
/HALL_OF_FAME.md @grafana/docs-grafana
/ISSUE_TRIAGE.md @grafana/grafana-community-support
/LICENSE @torkelo
/LICENSING.md @torkelo
/MAINTAINERS.md @RichiH
/NOTICE.md @torkelo
/README.md @grafana/docs-grafana
/ROADMAP.md @torkelo
/SECURITY.md @grafana/security-team
/SUPPORT.md @torkelo
/UPGRADING_DEPENDENCIES.md @grafana/docs-grafana
/WORKFLOW.md @torkelo
/contribute/ @grafana/docs-grafana
/devenv/README.md @grafana/docs-grafana
# Set up, dashboards/visualization, best practices: Chris Moyer
# Alerting: Brenda Muir
/docs/sources/administration/ @Eve832 @GrafanaWriter
/docs/sources/alerting/ @brendamuir
/docs/sources/dashboards/ @chri2547
/docs/sources/datasources/ @Eve832 @GrafanaWriter
/docs/sources/explore/ @Eve832 @GrafanaWriter
/docs/sources/getting-started/ @chri2547
/docs/sources/old-alerting/ @brendamuir
/docs/sources/release-notes/ @Eve832 @GrafanaWriter
/docs/sources/setup-grafana/ @chri2547
/docs/sources/whatsnew/ @Eve832 @GrafanaWriter
# Technical documentation
/docs/ @Eve832 @jdbaldry
/docs/sources/ @Eve832
/docs/sources/administration/ @Eve832 @GrafanaWriter
/docs/sources/alerting/ @brendamuir
/docs/sources/dashboards/ @imatwawana
/docs/sources/datasources/ @Eve832 @GrafanaWriter
/docs/sources/explore/ @Eve832 @GrafanaWriter
/docs/sources/fundamentals @chri2547
/docs/sources/getting-started/ @chri2547
/docs/sources/introduction/ @chri2547
/docs/sources/old-alerting/ @brendamuir
/docs/sources/panels-visualizations/ @imatwawana
/docs/sources/release-notes/ @Eve832 @GrafanaWriter
/docs/sources/setup-grafana/ @chri2547
/docs/sources/upgrade-guide/ @chri2547 @imatwawana
/docs/sources/whatsnew/ @chri2547 @imatwawana
/docs/sources/developers/plugins/ @Eve832 @josmperez @grafana/plugins-platform-frontend @grafana/plugins-platform-backend
/docs/sources/developers/plugins/backend/ @Eve832 @grafana/plugins-platform-backend
# Backend code
/go.mod @grafana/backend-platform
@@ -79,6 +83,7 @@ WORKFLOW.md @torkelo
/pkg/infra/metrics/ @grafana/backend-platform
/pkg/infra/network/ @grafana/backend-platform
/pkg/infra/process/ @grafana/backend-platform
/pkg/infra/proxy/ @grafana/hosted-grafana-team
/pkg/infra/remotecache/ @grafana/backend-platform
/pkg/infra/serverlock/ @grafana/backend-platform
/pkg/infra/slugify/ @grafana/backend-platform
@@ -91,7 +96,6 @@ WORKFLOW.md @torkelo
/pkg/services/annotations/ @grafana/backend-platform
/pkg/services/apikey/ @grafana/backend-platform
/pkg/services/cleanup/ @grafana/backend-platform
/pkg/services/comments/ @grafana/backend-platform
/pkg/services/contexthandler/ @grafana/backend-platform
/pkg/services/correlations/ @grafana/backend-platform
/pkg/services/dashboardimport/ @grafana/backend-platform
@@ -109,7 +113,6 @@ WORKFLOW.md @torkelo
/pkg/services/org/ @grafana/backend-platform
/pkg/services/playlist/ @grafana/backend-platform
/pkg/services/plugindashboards/ @grafana/backend-platform
/pkg/services/pluginsettings/ @grafana/backend-platform
/pkg/services/preference/ @grafana/backend-platform
/pkg/services/provisioning/ @grafana/backend-platform
/pkg/services/publicdashboards/ @grafana/dashboards-squad
@@ -133,6 +136,7 @@ WORKFLOW.md @torkelo
/pkg/services/validations/ @grafana/backend-platform
/pkg/setting/ @grafana/backend-platform
/pkg/tests/ @grafana/backend-platform
/pkg/tests/api/correlations/ @grafana/explore-squad
/pkg/tsdb/grafanads/ @grafana/backend-platform
/pkg/tsdb/intervalv2/ @grafana/backend-platform
/pkg/tsdb/legacydata/ @grafana/backend-platform
@@ -155,9 +159,6 @@ WORKFLOW.md @torkelo
/devenv/docker/blocks/loki* @grafana/observability-logs
/devenv/docker/blocks/elastic* @grafana/observability-logs
# Performance tests
/devenv/docker/loadtest-ts/ @grafana/multitenancy-squad
/devenv/bulk-dashboards/ @grafana/dashboards-squad
/devenv/bulk_alerting_dashboards/ @grafana/alerting-squad-backend
/devenv/create_docker_compose.sh @grafana/backend-platform
@@ -206,7 +207,7 @@ WORKFLOW.md @torkelo
/devenv/docker/ha_test/ @grafana/backend-platform
/devenv/docker/loadtest/ @grafana/backend-platform
/devenv/docker/rpmtest/ @grafana/backend-platform
/devenv/jsonnet/ @grafana/grafana-edge-squad
/devenv/jsonnet/ @grafana/dataviz-squad
/devenv/local-npm/ @grafana/frontend-ops
/devenv/vscode/ @grafana/frontend-ops
/devenv/setup.sh @grafana/backend-platform
@@ -219,14 +220,14 @@ WORKFLOW.md @torkelo
# Continuous Integration
.drone.yml @grafana/grafana-release-eng
.drone.star @grafana/grafana-release-eng
/scripts/drone/ @grafana/grafana-release-eng
/pkg/build/ @grafana/grafana-release-eng
/.dockerignore @grafana/grafana-release-eng
/Dockerfile @grafana/grafana-release-eng
/Makefile @grafana/grafana-release-eng
/scripts/build/ @grafana/grafana-release-eng
.drone.yml @grafana/grafana-delivery
.drone.star @grafana/grafana-delivery
/scripts/drone/ @grafana/grafana-delivery
/pkg/build/ @grafana/grafana-delivery
/.dockerignore @grafana/grafana-delivery
/Dockerfile @grafana/grafana-delivery
/Makefile @grafana/grafana-delivery
/scripts/build/ @grafana/grafana-delivery
# OSS Plugin Partnerships backend code
/pkg/tsdb/cloudwatch/ @grafana/aws-plugins
@@ -252,14 +253,14 @@ WORKFLOW.md @torkelo
/pkg/services/sqlstore/migrations/ @grafana/backend-platform @grafana/hosted-grafana-team
*_mig.go @grafana/backend-platform @grafana/hosted-grafana-team
# Grafana multitenancy
/pkg/services/live/ @grafana/multitenancy-squad
/pkg/services/searchV2/ @grafana/multitenancy-squad
/pkg/services/store/ @grafana/multitenancy-squad
/pkg/services/querylibrary/ @grafana/multitenancy-squad
/pkg/services/export/ @grafana/multitenancy-squad
/pkg/infra/filestorage/ @grafana/multitenancy-squad
/pkg/util/converter/ @grafana/multitenancy-squad
# Grafana app platform
/pkg/services/live/ @grafana/grafana-app-platform-squad
/pkg/services/searchV2/ @grafana/grafana-app-platform-squad
/pkg/services/store/ @grafana/grafana-app-platform-squad
/pkg/infra/filestorage/ @grafana/grafana-app-platform-squad
/pkg/util/converter/ @grafana/grafana-app-platform-squad
/pkg/modules/ @grafana/grafana-app-platform-squad
/pkg/kindsysreport/ @grafana/grafana-app-platform-squad
# Alerting
/pkg/services/ngalert/ @grafana/alerting-squad-backend
@@ -269,8 +270,8 @@ WORKFLOW.md @torkelo
/public/app/features/alerting/ @grafana/alerting-squad-frontend
# Library Services
/pkg/services/libraryelements/ @grafana/user-essentials
/pkg/services/librarypanels/ @grafana/user-essentials
/pkg/services/libraryelements/ @grafana/grafana-frontend-platform
/pkg/services/librarypanels/ @grafana/grafana-frontend-platform
# Plugins
/pkg/api/pluginproxy/ @grafana/plugins-platform-backend
@@ -281,30 +282,32 @@ WORKFLOW.md @torkelo
/pkg/services/pluginsintegration/ @grafana/plugins-platform-backend
/pkg/plugins/pfs/ @grafana/plugins-platform-backend @grafana/grafana-as-code
/pkg/tsdb/testdatasource/ @grafana/plugins-platform-backend
/pkg/services/pluginsintegration/pluginsettings/ @grafana/plugins-platform-backend
# Dashboard previews / crawler (behind feature flag)
/pkg/services/thumbs/ @grafana/multitenancy-squad
/pkg/services/thumbs/ @grafana/grafana-app-platform-squad
# Backend code docs
/contribute/backend/ @grafana/backend-platform
/crowdin.yml @grafana/user-essentials
/public/locales/ @grafana/user-essentials
/public/app/core/internationalization/ @grafana/user-essentials
/e2e/ @grafana/user-essentials
/crowdin.yml @grafana/grafana-frontend-platform
/public/locales/ @grafana/grafana-frontend-platform
/public/app/core/internationalization/ @grafana/grafana-frontend-platform
/e2e/ @grafana/grafana-frontend-platform
/e2e/cloud-plugins-suite/ @grafana/partner-plugins
/packages/ @grafana/user-essentials @grafana/plugins-platform-frontend @grafana/grafana-bi-squad
/packages/grafana-e2e-selectors/ @grafana/user-essentials
/packages/grafana-e2e/ @grafana/user-essentials
/packages/ @grafana/grafana-frontend-platform @grafana/plugins-platform-frontend @grafana/dataviz-squad
/packages/grafana-e2e-selectors/ @grafana/grafana-frontend-platform
/packages/grafana-e2e/ @grafana/grafana-frontend-platform
/packages/grafana-toolkit/ @grafana/plugins-platform-frontend
/packages/grafana-ui/.storybook/ @grafana/plugins-platform-frontend
/packages/grafana-ui/src/components/DateTimePickers/ @grafana/user-essentials
/packages/grafana-ui/src/components/GraphNG/ @grafana/grafana-bi-squad
/packages/grafana-ui/src/components/ @grafana/grafana-frontend-platform
/packages/grafana-ui/src/components/DateTimePickers/ @grafana/grafana-frontend-platform
/packages/grafana-ui/src/components/GraphNG/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/Logs/ @grafana/observability-logs
/packages/grafana-ui/src/components/Table/ @grafana/grafana-bi-squad
/packages/grafana-ui/src/components/TimeSeries/ @grafana/grafana-bi-squad
/packages/grafana-ui/src/components/uPlot/ @grafana/grafana-bi-squad
/packages/grafana-ui/src/components/TimeSeries/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/uPlot/ @grafana/dataviz-squad
/packages/grafana-ui/src/utils/storybook/ @grafana/plugins-platform-frontend
/packages/grafana-data/src/**/*logs* @grafana/observability-logs
/plugins-bundled/ @grafana/plugins-platform-frontend
@@ -324,7 +327,7 @@ tsconfig.json @grafana/frontend-ops
/.yarn @grafana/frontend-ops
/.yarnrc.yml @grafana/frontend-ops
/yarn.lock @grafana/frontend-ops
/.linguirc @grafana/user-essentials
/.linguirc @grafana/grafana-frontend-platform
/babel.config.json @grafana/frontend-ops
lerna.json @grafana/frontend-ops
/.prettierrc.js @grafana/frontend-ops
@@ -338,99 +341,99 @@ lerna.json @grafana/frontend-ops
# public folder
/public/app/core/ @grafana/user-essentials
/public/app/core/components/TimePicker/ @grafana/user-essentials
/public/app/core/components/Layers/ @grafana/grafana-edge-squad
/public/app/features/all.ts @grafana/user-essentials
/public/app/core/ @grafana/grafana-frontend-platform
/public/app/core/components/TimePicker/ @grafana/grafana-frontend-platform
/public/app/core/components/Layers/ @grafana/dataviz-squad
/public/app/features/all.ts @grafana/grafana-frontend-platform
/public/app/features/admin/ @grafana/grafana-authnz-team
/public/app/features/annotations/ @grafana/user-essentials
/public/app/features/api-keys/ @grafana/user-essentials
/public/app/features/canvas/ @grafana/grafana-edge-squad
/public/app/features/commandPalette/ @grafana/user-essentials
/public/app/features/comments/ @grafana/grafana-edge-squad
/public/app/features/annotations/ @grafana/grafana-frontend-platform
/public/app/features/api-keys/ @grafana/grafana-frontend-platform
/public/app/features/canvas/ @grafana/dataviz-squad
/public/app/features/commandPalette/ @grafana/grafana-frontend-platform
/public/app/features/connections/ @grafana/plugins-platform-frontend
/public/app/features/correlations/ @grafana/explore-squad
/public/app/features/dashboard/ @grafana/dashboards-squad
/public/app/features/datasources/ @grafana/user-essentials
/public/app/features/dimensions/ @grafana/grafana-edge-squad
/public/app/features/datasources/ @grafana/plugins-platform-frontend
/public/app/features/dimensions/ @grafana/dataviz-squad
/public/app/features/dataframe-import/ @grafana/grafana-bi-squad
/public/app/features/datasource-drawer/ @grafana/grafana-bi-squad
/public/app/features/explore/ @grafana/explore-squad
/public/app/features/expressions/ @grafana/observability-metrics
/public/app/features/folders/ @grafana/user-essentials
/public/app/features/inspector/ @grafana/user-essentials
/public/app/features/invites/ @grafana/user-essentials
/public/app/features/geo/ @grafana/grafana-edge-squad
/public/app/features/library-panels/ @grafana/user-essentials
/public/app/features/folders/ @grafana/grafana-frontend-platform
/public/app/features/inspector/ @grafana/grafana-frontend-platform
/public/app/features/invites/ @grafana/grafana-frontend-platform
/public/app/features/geo/ @grafana/dataviz-squad
/public/app/features/library-panels/ @grafana/grafana-frontend-platform
/public/app/features/logs/ @grafana/observability-logs
/public/app/features/live/ @grafana/multitenancy-squad
/public/app/features/live/ @grafana/grafana-app-platform-squad
/public/app/features/manage-dashboards/ @grafana/dashboards-squad
/public/app/features/notifications/ @grafana/user-essentials
/public/app/features/org/ @grafana/user-essentials
/public/app/features/panel/ @grafana/user-essentials
/public/app/features/notifications/ @grafana/grafana-frontend-platform
/public/app/features/org/ @grafana/grafana-frontend-platform
/public/app/features/panel/ @grafana/grafana-frontend-platform
/public/app/features/playlist/ @grafana/dashboards-squad
/public/app/features/plugins/ @grafana/plugins-platform-frontend
/public/app/features/profile/ @grafana/user-essentials
/public/app/features/profile/ @grafana/grafana-frontend-platform
/public/app/features/runtime/ @ryantxu
/public/app/features/query/ @grafana/dashboards-squad
/public/app/features/query-library/ @grafana/grafana-edge-squad
/public/app/features/sandbox/ @grafana/user-essentials
/public/app/features/sandbox/ @grafana/grafana-frontend-platform
/public/app/features/scenes/ @grafana/dashboards-squad
/public/app/features/search/ @grafana/user-essentials
/public/app/features/search/ @grafana/grafana-frontend-platform
/public/app/features/serviceaccounts/ @grafana/grafana-authnz-team
/public/app/features/storage/ @grafana/multitenancy-squad
/public/app/features/storage/ @grafana/grafana-app-platform-squad
/public/app/features/teams/ @grafana/grafana-authnz-team
/public/app/features/templating/ @grafana/dashboards-squad
/public/app/features/transformers/ @grafana/grafana-edge-squad
/public/app/features/transformers/ @grafana/dataviz-squad
/public/app/features/users/ @grafana/grafana-authnz-team
/public/app/features/variables/ @grafana/dashboards-squad
/public/app/plugins/panel/alertGroups/ @grafana/alerting-squad-frontend
/public/app/plugins/panel/alertlist/ @grafana/alerting-squad-frontend
/public/app/plugins/panel/annolist/ @grafana/user-essentials
/public/app/plugins/panel/barchart/ @grafana/grafana-bi-squad
/public/app/plugins/panel/bargauge/ @grafana/user-essentials
/public/app/plugins/panel/dashlist/ @grafana/user-essentials
/public/app/plugins/panel/annolist/ @grafana/grafana-frontend-platform
/public/app/plugins/panel/barchart/ @grafana/dataviz-squad
/public/app/plugins/panel/bargauge/ @grafana/grafana-bi-squad
/public/app/plugins/panel/dashlist/ @grafana/grafana-frontend-platform
/public/app/plugins/panel/debug/ @ryantxu
/public/app/plugins/panel/gauge/ @grafana/user-essentials
/public/app/plugins/panel/gettingstarted/ @grafana/user-essentials
/public/app/plugins/panel/graph/ @grafana/user-essentials
/public/app/plugins/panel/heatmap/ @grafana/grafana-bi-squad
/public/app/plugins/panel/histogram/ @grafana/grafana-bi-squad
/public/app/plugins/panel/gauge/ @grafana/grafana-bi-squad
/public/app/plugins/panel/gettingstarted/ @grafana/grafana-frontend-platform
/public/app/plugins/panel/graph/ @grafana/dataviz-squad
/public/app/plugins/panel/heatmap/ @grafana/dataviz-squad
/public/app/plugins/panel/histogram/ @grafana/dataviz-squad
/public/app/plugins/panel/logs/ @grafana/observability-logs
/public/app/plugins/panel/nodeGraph/ @grafana/observability-traces-and-profiling
/public/app/plugins/panel/traces/ @grafana/observability-traces-and-profiling
/public/app/plugins/panel/flamegraph/ @grafana/observability-traces-and-profiling
/public/app/plugins/panel/piechart/ @grafana/grafana-bi-squad
/public/app/plugins/panel/state-timeline/ @grafana/grafana-bi-squad
/public/app/plugins/panel/status-history/ @grafana/grafana-bi-squad
/public/app/plugins/panel/state-timeline/ @grafana/dataviz-squad
/public/app/plugins/panel/status-history/ @grafana/dataviz-squad
/public/app/plugins/panel/table/ @grafana/grafana-bi-squad
/public/app/plugins/panel/table-old/ @grafana/grafana-bi-squad
/public/app/plugins/panel/timeseries/ @grafana/grafana-bi-squad
/public/app/plugins/panel/geomap/ @grafana/grafana-edge-squad
/public/app/plugins/panel/canvas/ @grafana/grafana-edge-squad
/public/app/plugins/panel/candlestick/ @grafana/grafana-edge-squad
/public/app/plugins/panel/icon/ @grafana/grafana-edge-squad
/public/app/plugins/panel/live/ @grafana/multitenancy-squad
/public/app/plugins/panel/news/ @grafana/user-essentials
/public/app/plugins/panel/stat/ @grafana/user-essentials
/public/app/plugins/panel/text/ @grafana/user-essentials
/public/app/plugins/panel/welcome/ @grafana/user-essentials
/public/app/plugins/panel/xychart/ @grafana/grafana-bi-squad
/public/app/plugins/panel/timeseries/ @grafana/dataviz-squad
/public/app/plugins/panel/geomap/ @grafana/dataviz-squad
/public/app/plugins/panel/canvas/ @grafana/dataviz-squad
/public/app/plugins/panel/candlestick/ @grafana/dataviz-squad
/public/app/plugins/panel/icon/ @grafana/dataviz-squad
/public/app/plugins/panel/live/ @grafana/grafana-app-platform-squad
/public/app/plugins/panel/news/ @grafana/grafana-frontend-platform
/public/app/plugins/panel/stat/ @grafana/grafana-bi-squad
/public/app/plugins/panel/text/ @grafana/grafana-frontend-platform
/public/app/plugins/panel/welcome/ @grafana/grafana-frontend-platform
/public/app/plugins/panel/xychart/ @grafana/dataviz-squad
/public/app/plugins/sdk.ts @grafana/plugins-platform-frontend
/public/app/polyfills/old-mediaquerylist.ts @grafana/user-essentials
/public/app/routes/ @grafana/user-essentials
/public/app/store/ @grafana/user-essentials
/public/app/types/ @grafana/user-essentials
/public/app/polyfills/old-mediaquerylist.ts @grafana/grafana-frontend-platform
/public/app/routes/ @grafana/grafana-frontend-platform
/public/app/store/ @grafana/grafana-frontend-platform
/public/app/types/ @grafana/grafana-frontend-platform
/public/dashboards/ @grafana/dashboards-squad
/public/fonts/ @grafana/alerting-squad-frontend
/public/emails/ @grafana/user-essentials
/public/emails/ @grafana/grafana-frontend-platform
/public/gazetteer/ @ryantxu
/public/img/ @grafana/user-essentials
/public/lib/ @grafana/user-essentials
/public/img/ @grafana/grafana-frontend-platform
/public/lib/ @grafana/grafana-frontend-platform
/public/maps/ @ryantxu
/public/robots.txt @grafana/frontend-ops
/public/sass/ @grafana/user-essentials
/public/test/ @grafana/user-essentials
/public/testdata/ @grafana/user-essentials
/public/views/ @grafana/user-essentials
/public/sass/ @grafana/grafana-frontend-platform
/public/test/ @grafana/grafana-frontend-platform
/public/testdata/ @grafana/grafana-frontend-platform
/public/views/ @grafana/grafana-frontend-platform
/public/app/features/explore/Logs.tsx @grafana/observability-logs
/public/app/features/explore/LogsContainer.tsx @grafana/observability-logs
@@ -438,44 +441,43 @@ lerna.json @grafana/frontend-ops
/public/app/features/explore/TraceView/ @grafana/observability-traces-and-profiling
/public/api-merged.json @grafana/backend-platform
/public/api-spec.json @grafana/backend-platform
/public/openapi3.json @grafana/backend-platform
/public/app/angular/ @torkelo
/public/app/app.ts @grafana/frontend-ops
/public/app/dev.ts @grafana/frontend-ops
/public/app/index.ts @grafana/frontend-ops
/public/app/AppWrapper.tsx @grafana/frontend-ops
/public/app/partials/ @grafana/user-essentials
/public/app/partials/ @grafana/grafana-frontend-platform
/scripts/benchmark-access-control.sh @grafana/grafana-authnz-team
/scripts/check-breaking-changes.sh @grafana/plugins-platform-frontend
/scripts/ci-* @grafana/grafana-release-eng
/scripts/circle-* @grafana/grafana-release-eng
/scripts/ci-frontend-metrics.sh @grafana/user-essentials @grafana/plugins-platform-frontend @grafana/grafana-bi-squad
/scripts/cli/ @grafana/user-essentials
/scripts/ci-* @grafana/grafana-delivery
/scripts/circle-* @grafana/grafana-delivery
/scripts/ci-frontend-metrics.sh @grafana/grafana-frontend-platform @grafana/plugins-platform-frontend @grafana/grafana-bi-squad
/scripts/cli/ @grafana/grafana-frontend-platform
/scripts/clean-git-or-error.sh @grafana/grafana-as-code
/scripts/grafana-server/ @grafana/user-essentials
/scripts/helpers/ @grafana/grafana-release-eng
/scripts/grafana-server/ @grafana/grafana-frontend-platform
/scripts/helpers/ @grafana/grafana-delivery
/scripts/import_many_dashboards.sh @torkelo
/scripts/mixin-check.sh @bergquist
/scripts/openapi3/ @grafana/grafana-partnerships-team
/scripts/openapi3/ @grafana/grafana-operator-experience-squad
/scripts/prepare-packagejson.js @grafana/frontend-ops
/scripts/protobuf-check.sh @grafana/plugins-platform-backend
/scripts/stripnulls.sh @grafana/grafana-as-code
/scripts/tag_release.sh @grafana/grafana-release-eng
/scripts/trigger_docker_build.sh @grafana/grafana-release-eng
/scripts/trigger_grafana_packer.sh @grafana/grafana-release-eng
/scripts/trigger_windows_build.sh @grafana/grafana-release-eng
/scripts/validate-devenv-dashboards.sh @grafana/grafana-release-eng
/scripts/verify-repo-update/ @grafana/grafana-release-eng
/scripts/tag_release.sh @grafana/grafana-delivery
/scripts/trigger_docker_build.sh @grafana/grafana-delivery
/scripts/trigger_grafana_packer.sh @grafana/grafana-delivery
/scripts/trigger_windows_build.sh @grafana/grafana-delivery
/scripts/validate-devenv-dashboards.sh @grafana/grafana-delivery
/scripts/verify-repo-update/ @grafana/grafana-delivery
/scripts/webpack/ @grafana/frontend-ops
/scripts/generate-a11y-report.sh @grafana/user-essentials
.pa11yci.conf.js @grafana/user-essentials
.pa11yci-pr.conf.js @grafana/user-essentials
/scripts/generate-a11y-report.sh @grafana/grafana-frontend-platform
.pa11yci.conf.js @grafana/grafana-frontend-platform
.pa11yci-pr.conf.js @grafana/grafana-frontend-platform
.betterer.results @joshhunt
.betterer.ts @joshhunt
@@ -489,9 +491,9 @@ lerna.json @grafana/frontend-ops
/public/app/plugins/datasource/dashboard/ @grafana/dashboards-squad
/public/app/plugins/datasource/cloudwatch/ @grafana/aws-plugins
/public/app/plugins/datasource/elasticsearch/ @grafana/observability-logs
/public/app/plugins/datasource/grafana/ @grafana/user-essentials
/public/app/plugins/datasource/grafana/ @grafana/grafana-frontend-platform
/public/app/plugins/datasource/testdata/ @grafana/plugins-platform-frontend
/public/app/plugins/datasource/grafana-azure-monitor-datasource/ @grafana/partner-plugins
/public/app/plugins/datasource/azuremonitor/ @grafana/partner-plugins
/public/app/plugins/datasource/graphite/ @grafana/observability-metrics
/public/app/plugins/datasource/influxdb/ @grafana/observability-metrics
/public/app/plugins/datasource/jaeger/ @grafana/observability-traces-and-profiling
@@ -518,26 +520,26 @@ lerna.json @grafana/frontend-ops
# Grafana authentication and authorization
/pkg/login/ @grafana/grafana-authnz-team
/pkg/services/accesscontrol/ @grafana/grafana-authnz-team
/pkg/services/anonymous/ @grafana/grafana-authnz-team
/pkg/services/auth/ @grafana/grafana-authnz-team
/pkg/services/authn/ @grafana/grafana-authnz-team
/pkg/services/dashboards/accesscontrol.go @grafana/grafana-authnz-team
/pkg/services/datasources/permissions/ @grafana/grafana-authnz-team
/pkg/services/guardian/ @grafana/grafana-authnz-team
/pkg/services/ldap/ @grafana/grafana-authnz-team
/pkg/services/login/ @grafana/grafana-authnz-team
/pkg/services/multildap/ @grafana/grafana-authnz-team
/pkg/services/oauthtoken/ @grafana/grafana-authnz-team
/pkg/services/teamguardian/ @grafana/grafana-authnz-team
/pkg/services/serviceaccounts/ @grafana/grafana-authnz-team
/pkg/services/loginattempt/ @grafana/grafana-authnz-team
/pkg/services/authn/ @grafana/grafana-authnz-team
/pkg/services/oauthtoken/ @grafana/grafana-authnz-team
/pkg/services/serviceaccounts/ @grafana/grafana-authnz-team
/pkg/services/teamguardian/ @grafana/grafana-authnz-team
# Support bundles
/public/app/features/support-bundles/ @grafana/grafana-authnz-team
/pkg/services/supportbundles/ @grafana/grafana-authnz-team
# Grafana Partnerships Team
/pkg/infra/httpclient/httpclientprovider/sigv4_middleware.go @grafana/grafana-partnerships-team
/pkg/infra/httpclient/httpclientprovider/sigv4_middleware_test.go @grafana/grafana-partnerships-team
# Grafana Operator Experience Team
/pkg/infra/httpclient/httpclientprovider/sigv4_middleware.go @grafana/grafana-operator-experience-squad
/pkg/infra/httpclient/httpclientprovider/sigv4_middleware_test.go @grafana/grafana-operator-experience-squad
# Kind definitions
/kinds/dashboard @grafana/dashboards-squad
@@ -549,8 +551,6 @@ embed.go @grafana/grafana-as-code
/pkg/cuectx/ @grafana/grafana-as-code
/pkg/registry/ @grafana/grafana-as-code
/pkg/codegen/ @grafana/grafana-as-code
/pkg/kindsys/ @grafana/grafana-as-code
/pkg/kindsys/kindcat_custom.cue @grafana/apps-platform-core
/pkg/kinds/*/*_gen.go @grafana/grafana-as-code
/pkg/registry/corekind/ @grafana/grafana-as-code
/public/app/plugins/*gen.go @grafana/grafana-as-code
@@ -563,24 +563,25 @@ embed.go @grafana/grafana-as-code
/.github/bot.md @torkelo
/.github/commands.json @torkelo
/.github/dependabot.yml @grafana/frontend-ops
/.github/issue-opened.json @grafana/grafana-community-support
/.github/metrics-collector.json @torkelo
/.github/pr-checks.json @marefr
/.github/pr-commands.json @marefr
/.github/renovate.json5 @grafana/frontend-ops
/.github/teams.yml @armandgrillet
/.github/workflows/backport.yml @grafana/grafana-release-eng
/.github/workflows/bump-version.yml @grafana/grafana-release-eng
/.github/workflows/close-milestone.yml @grafana/grafana-release-eng
/.github/workflows/backport.yml @grafana/grafana-delivery
/.github/workflows/bump-version.yml @grafana/grafana-delivery
/.github/workflows/close-milestone.yml @grafana/grafana-delivery
/.github/workflows/cloud-data-sources-code-coverage.yml @grafana/partner-plugins @grafana/aws-plugins
/.github/workflows/codeowners-validator.yml @tolzhabayev
/.github/workflows/codeql-analysis.yml @DanCech
/.github/workflows/commands.yml @torkelo
/.github/workflows/detect-breaking-changes-* @grafana/plugins-platform-frontend
/.github/workflows/doc-validator.yml @grafana/docs-grafana
/.github/workflows/enterprise-pr-check.yml @grafana/grafana-release-eng
/.github/workflows/epic-add-to-platform-ux-parent-project.yml @meanmina
/.github/workflows/github-release.yml @torkelo
/.github/workflows/issue-labeled.yml @armandgrillet
/.github/workflows/issue-opened.yml @grafana/grafana-community-support
/.github/workflows/metrics-collector.yml @torkelo
/.github/workflows/milestone.yml @marefr
/.github/workflows/ox-code-coverage.yml @grafana/explore-squad
@@ -592,12 +593,13 @@ embed.go @grafana/grafana-as-code
/.github/workflows/pr-commands.yml @marefr
/.github/workflows/publish-technical-documentation-next.yml @grafana/docs-grafana
/.github/workflows/publish-technical-documentation-release.yml @grafana/docs-grafana
/.github/workflows/remove-milestone.yml @grafana/user-essentials
/.github/workflows/remove-milestone.yml @grafana/grafana-frontend-platform
/.github/workflows/sbom-report.yml @grafana/security-team
/.github/workflows/scripts/json-file-to-job-output.js @grafana/plugins-platform-frontend
/.github/workflows/scripts/pr-get-job-link.js @grafana/plugins-platform-frontend
/.github/workflows/stale.yml @grafana/user-essentials
/.github/workflows/update-changelog.yml @grafana/grafana-release-eng
/.github/workflows/stale.yml @grafana/grafana-frontend-platform
/.github/workflows/update-changelog.yml @grafana/grafana-delivery
/.github/workflows/snyk.yml @grafana/security-team
# Conf

17
.github/ISSUE_TEMPLATE/5-chore.md vendored Normal file
View File

@@ -0,0 +1,17 @@
---
name: Chore
about: Create an issue for a chore needing completion
labels: 'type: chore'
---
<!--
Please use this template to create your chore issue. You can use this template if you spot an out-of-date README, discover a misspelling, or happen upon a deeply nested 7-layer for-loop that could be better handled another way. Please use this template for your non-bug related fixes/updates/refactors.
- Questions should be posted to: https://community.grafana.com
- Use query inspector to troubleshoot issues: https://bit.ly/2XNF6YS
- How to record and attach gif: https://bit.ly/2Mi8T6K
-->
**What is the chore?**:
**Is there anything else we need to know?**:

View File

@@ -2,7 +2,7 @@ blank_issues_enabled: false
contact_links:
- name: Feature Request
url: https://github.com/grafana/grafana/discussions/new
about: Discuss ideas for new features of changes
about: Discuss ideas for new features or enhancements
- name: Questions & Help
url: https://community.grafana.com
about: Please ask and answer questions here.

View File

@@ -42,5 +42,11 @@ Usage: "Fixes #<issue number>", or "Fixes (paste link of issue)"
Fixes #
**Special notes for your reviewer**:
**Special notes for your reviewer:**
Please check that:
- [ ] It works as expected from a user's perspective.
- [ ] If this is a pre-GA feature, it is behind a feature toggle.
- [ ] The docs are updated, and if this is a [notable improvement](https://grafana.com/docs/writers-toolkit/writing-guide/contribute-release-notes/#how-to-determine-if-content-belongs-in-a-whats-new-document), it's added to our [What's New](https://grafana.com/docs/writers-toolkit/writing-guide/contribute-release-notes/) doc.
- [ ] There are no known compatibility issues with older supported versions of Grafana, or plugins.
- [ ] It passes the [Hosted Grafana feature readiness review](https://docs.google.com/document/d/1QL9Ly8KnXzpb6ISbg49pTODRO5mhA5tkkfIZVX6pqQU/edit) for observability, scalability, performance, and security.

View File

@@ -11,7 +11,7 @@
"type":"comment",
"name":"duplicate",
"allowUsers":[],
"action":"updateLabels",
"action":"close",
"addLabel":"type/duplicate"
},
{
@@ -221,10 +221,10 @@
},
{
"type": "label",
"name": "team/grafana-partners",
"name": "team/operator-experience",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/87"
"url": "https://github.com/orgs/grafana/projects/336"
}
},
{

9
.github/issue-opened.json vendored Normal file
View File

@@ -0,0 +1,9 @@
[
{
"type": "author",
"memberOf": { "org": "grafana" },
"noLabels": true,
"addLabel": "internal",
"comment": " please add one or more appropriate labels. Here are some tips:\r\n\r\n- if you are making an issue, TODO, or reminder for yourself or your team, please add one label that best describes the product or feature area. Please also add the issue to your project board. :rocket:\r\n\r\n- if you are making an issue for any other reason (docs typo, you found a bug, etc), please add at least one label that best describes the product or feature that you are discussing (e.g. `area/alerting`, `datasource/loki`, `type/docs`, `type/bug`, etc). [Our issue triage](https://github.com/grafana/grafana/blob/main/ISSUE_TRIAGE.md#3-categorizing-an-issue) doc also provides additional guidance on labeling. :rocket:\r\n\r\n Thank you! :heart:"
}
]

View File

@@ -2,23 +2,23 @@
"queries": [
{
"name": "type_bug",
"query": "label:\"type/bug\" is:open"
"query": "label:\"type/bug\" is:issue is:open"
},
{
"name": "type_docs",
"query": "label:\"type/docs\" is:open"
"query": "label:\"type/docs\" is:issue is:open"
},
{
"name": "needs_investigation",
"query": "label:\"needs investigation\" is:open"
"query": "label:\"needs investigation\" is:issue is:open"
},
{
"name": "needs_more_info",
"query": "label:\"needs more info\" is:open"
"query": "label:\"needs more info\" is:issue is:open"
},
{
"name": "triage_needs_confirmation",
"query": "label:\"triage/needs-confirmation\" is:open"
"query": "label:\"triage/needs-confirmation\" is:issue is:open"
},
{
"name": "unlabeled",
@@ -26,7 +26,7 @@
},
{
"name": "open_prs",
"query": "is:open is:pr"
"query": "is:open is:pull-request"
}
]
}

View File

@@ -83,7 +83,7 @@
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/grafana-azure-monitor-datasource/**/*", "pkg/tsdb/azuremonitor/**/*"],
"matches": [ "public/app/plugins/datasource/azuremonitor/**/*", "pkg/tsdb/azuremonitor/**/*"],
"action": "updateLabel",
"addLabel": "datasource/Azure"
},
@@ -190,5 +190,13 @@
"ignoreList": ["renovate[bot]","dependabot[bot]"],
"action": "updateLabel",
"addLabel": "pr/external"
},
{
"type":"label",
"name":"type/docs",
"action":"addToProject",
"addToProject":{
"url":"https://github.com/orgs/grafana/projects/69"
}
}
]

View File

@@ -10,12 +10,10 @@
"history", // we should bump this together with react-router-dom
"@mdx-js/react", // storybook peer-depends on its 1.x version, we should upgrade this when we upgrade storybook
"monaco-editor", // due to us exposing this via @grafana/ui/CodeEditor's props bumping can break plugins
"node-fetch", // we should bump this once we move to esm modules
"react-hook-form", // due to us exposing these hooks via @grafana/ui form components bumping can break plugins
"react-redux", // react-beautiful-dnd depends on react-redux 7.x, we need to update that one first
"react-router-dom", // we should bump this together with history
"systemjs",
"copy-webpack-plugin", // try to upgrade with newer yarn release. Not working with 3.1.1
"ts-loader", // we should remove ts-loader and use babel-loader instead
"ora", // we should bump this once we move to esm modules
@@ -26,6 +24,7 @@
"@sentry/utils",
// dep updates blocked by React 18
"@testing-library/dom",
"@testing-library/react",
"@types/react",
"@types/react-dom",
@@ -84,7 +83,15 @@
"matchPackagePrefixes": [
"@visx/"
]
}
},
{
"groupName": "uLibraries",
"matchPackageNames": [
"@leeoniya/ufuzzy",
"uplot"
],
"reviewers": ["leeoniya"],
},
],
"pin": {
"enabled": false

View File

@@ -5,7 +5,7 @@ on:
- 'pkg/tsdb/azuremonitor/**'
- 'pkg/tsdb/cloudwatch/**'
- 'pkg/tsdb/cloudmonitoring/**'
- 'public/app/plugins/datasource/grafana-azure-monitor-datasource/**'
- 'public/app/plugins/datasource/azuremonitor/**'
- 'public/app/plugins/datasource/cloudwatch/**'
- 'public/app/plugins/datasource/cloud-monitoring/**'
branches-ignore:
@@ -14,7 +14,7 @@ on:
jobs:
workflow-call:
uses: grafana/code-coverage/.github/workflows/code-coverage.yml@v0.1.17
uses: grafana/code-coverage/.github/workflows/code-coverage.yml@v0.1.18
with:
frontend-path-regexp: public\/app\/plugins\/datasource\/(grafana-azure-monitor-datasource|cloud-monitoring|cloudwatch)
frontend-path-regexp: public\/app\/plugins\/datasource\/(azuremonitor|cloud-monitoring|cloudwatch)
backend-path-regexp: pkg\/tsdb\/(azuremonitor|cloudmonitoring|cloudwatch)

View File

@@ -22,5 +22,5 @@ jobs:
uses: ./actions/commands
with:
metricsWriteAPIKey: ${{secrets.GRAFANA_MISC_STATS_API_KEY}}
token: ${{secrets.GH_BOT_ACCESS_TOKEN}}
token: ${{secrets.ISSUE_COMMANDS_TOKEN}}
configPath: commands

View File

@@ -31,7 +31,7 @@ jobs:
run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT
- name: Restore yarn cache
uses: actions/cache@v3.0.11
uses: actions/cache@v3.3.1
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
@@ -79,7 +79,7 @@ jobs:
run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT
- name: Restore yarn cache
uses: actions/cache@v3.0.11
uses: actions/cache@v3.3.1
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}

View File

@@ -1,26 +0,0 @@
name: Enterprise PR check
on:
pull_request:
branches:
- main
- 'v[0-9]+.[0-9]+.x'
jobs:
dispatch:
runs-on: ubuntu-latest
steps:
- name: Checkout Actions
uses: actions/checkout@v2
with:
repository: "grafana/grafana-github-actions"
path: ./actions
ref: main
- name: Install Actions
run: npm install --production --prefix ./actions
- name: Repository Dispatch
uses: ./actions/repository-dispatch
with:
token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
repository: grafana/grafana-enterprise
event_type: oss-pull-request
client_payload:
'{"source_sha": "${{ github.event.pull_request.head.sha }}", "source_branch": "${{ github.head_ref }}", "target_branch": "${{ github.base_ref }}", "pr_number": "${{ github.event.number }}"}'

View File

@@ -19,6 +19,7 @@ concurrency:
group: issue-add-to-parent-project-${{ github.event.number }}
jobs:
main:
if: contains(github.event.issue.labels.*.name, 'type/epic')
runs-on: ubuntu-latest
steps:
- name: Check if issue is in child or parent projects

View File

@@ -39,7 +39,7 @@ jobs:
- name: "Add to GitHub board"
if: ${{ env.BOARD != 'null' }}
uses: leonsteinhaeuser/project-beta-automations@v1.3.0
uses: leonsteinhaeuser/project-beta-automations@v2.1.0
with:
project_id: ${{ env.BOARD }}
organization: grafana

28
.github/workflows/issue-opened.yml vendored Normal file
View File

@@ -0,0 +1,28 @@
name: Run commands when issues are opened
on:
issues:
types: [opened]
concurrency:
group: issue-opened-${{ github.event.issue.number }}
jobs:
main:
runs-on: ubuntu-latest
steps:
- name: Checkout Actions
uses: actions/checkout@v3
with:
repository: "grafana/grafana-github-actions"
path: ./actions
ref: main
- name: Install Actions
run: npm install --production --prefix ./actions
# give issue-openers a chance to add labels after submit
- name: Sleep for 2 minutes
run: sleep 2m
shell: bash
- name: Run Commands
uses: ./actions/commands
with:
metricsWriteAPIKey: ${{secrets.GRAFANA_MISC_STATS_API_KEY}}
token: ${{secrets.ISSUE_COMMANDS_TOKEN}}
configPath: "issue-opened"

View File

@@ -15,7 +15,7 @@ on:
jobs:
workflow-call:
uses: grafana/code-coverage/.github/workflows/code-coverage.yml@v0.1.17
uses: grafana/code-coverage/.github/workflows/code-coverage.yml@v0.1.18
with:
frontend-path-regexp: public\/app\/features\/(explore|correlations)|public\/app\/plugins\/datasource\/(loki|elasticsearch)
backend-path-regexp: pkg\/services\/(queryhistory)|pkg\/tsdb\/(loki|elasticsearch)

View File

@@ -2,6 +2,7 @@ name: PR automation
on:
pull_request_target:
types:
- labeled
- opened
- synchronize
concurrency:

View File

@@ -16,9 +16,11 @@ jobs:
uses: "actions/checkout@v3"
- name: "Clone website-sync Action"
# WEBSITE_SYNC_GRAFANA is a fine-grained GitHub Personal Access Token that expires.
# It must be updated in the grafanabot GitHub account.
run: "git clone --single-branch --no-tags --depth 1 -b master https://grafanabot:${{ secrets.WEBSITE_SYNC_GRAFANA }}@github.com/grafana/website-sync ./.github/actions/website-sync"
# 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.
# The IT helpdesk can update the organization secret.
run: "git clone --single-branch --no-tags --depth 1 -b master https://grafanabot:${{ secrets.WEBSITE_SYNC_TOKEN }}@github.com/grafana/website-sync ./.github/actions/website-sync"
- name: "Publish to website repository (next)"
uses: "./.github/actions/website-sync"
@@ -27,8 +29,10 @@ jobs:
repository: "grafana/website"
branch: "master"
host: "github.com"
# PUBLISH_TO_WEBSITE_GRAFANA is a fine-grained GitHub Personal Access Token that expires.
# It must be updated in the grafanabot GitHub account.
github_pat: "grafanabot:${{ secrets.PUBLISH_TO_WEBSITE_GRAFANA }}"
# PUBLISH_TO_WEBSITE_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.
# The IT helpdesk can update the organization secret.
github_pat: "grafanabot:${{ secrets.PUBLISH_TO_WEBSITE_TOKEN }}"
source_folder: "docs/sources"
target_folder: "content/docs/grafana/next"

View File

@@ -45,9 +45,11 @@ jobs:
- name: "Clone website-sync Action"
if: "steps.has-matching-release-tag.outputs.bool == 'true'"
# WEBSITE_SYNC_GRAFANA is a fine-grained GitHub Personal Access Token that expires.
# It must be updated in the grafanabot GitHub account.
run: "git clone --single-branch --no-tags --depth 1 -b master https://grafanabot:${{ secrets.WEBSITE_SYNC_GRAFANA }}@github.com/grafana/website-sync ./.github/actions/website-sync"
# 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.
# The IT helpdesk can update the organization secret.
run: "git clone --single-branch --no-tags --depth 1 -b master https://grafanabot:${{ secrets.WEBSITE_SYNC_TOKEN }}@github.com/grafana/website-sync ./.github/actions/website-sync"
- name: "Publish to website repository (release)"
if: "steps.has-matching-release-tag.outputs.bool == 'true'"
@@ -57,8 +59,10 @@ jobs:
repository: "grafana/website"
branch: "master"
host: "github.com"
# PUBLISH_TO_WEBSITE_GRAFANA is a fine-grained GitHub Personal Access Token that expires.
# It must be updated in the grafanabot GitHub account.
github_pat: "grafanabot:${{ secrets.PUBLISH_TO_WEBSITE_GRAFANA }}"
# PUBLISH_TO_WEBSITE_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.
# The IT helpdesk can update the organization secret.
github_pat: "grafanabot:${{ secrets.PUBLISH_TO_WEBSITE_TOKEN }}"
source_folder: "docs/sources"
target_folder: "content/docs/grafana/${{ steps.target.outputs.target }}"

14
.github/workflows/snyk.yml vendored Normal file
View File

@@ -0,0 +1,14 @@
name: Snyk Monitor Scanning
on:
release:
types: [published]
push:
branches:
- 'main'
workflow_dispatch:
jobs:
snyk-scan-ci:
uses: 'grafana/security-github-actions/.github/workflows/snyk_monitor.yml@main'
secrets:
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}

View File

@@ -22,3 +22,4 @@ jobs:
with:
token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
metricsWriteAPIKey: ${{ secrets.GRAFANA_MISC_STATS_API_KEY }}
grafanabotForumKey: ${{ secrets.GRAFANABOT_FORUM_KEY }}

7
.gitignore vendored
View File

@@ -79,6 +79,8 @@ public/css/*.min.css
/devenv/docker-compose.override.yaml
/devenv/.env
/devenv/docker/blocks/tempo/tempo-data/
/devenv/docker/ha-test-unified-alerting/logs/webhook/dumps/
/devenv/docker/ha-test-unified-alerting/logs/webhook/webhook-listener.log
conf/custom.ini
/conf/provisioning/**/custom.yaml
@@ -94,6 +96,8 @@ profile.cov
/pkg/cmd/grafana-server/grafana-server
/pkg/cmd/grafana-server/debug
/pkg/extensions/*
/pkg/build/cmd/artifactspage.go
/pkg/build/cmd/artifactspage.tmpl.html
/pkg/server/wireexts_enterprise.go
/pkg/cmd/grafana-cli/runner/wireexts_enterprise.go
!/pkg/extensions/main.go
@@ -181,6 +185,9 @@ public/locales/_build/
public/locales/*/*.js
public/locales/*/grafana_old.json
# Auto-generated swagger intermediate file
public/api-spec.json
deployment_tools_config.json
.betterer.cache

View File

@@ -20,6 +20,9 @@ packages = ["io/ioutil"]
[[linters-settings.depguard.packages-with-error-message]]
"io/ioutil" = "Deprecated: As of Go 1.16, the same functionality is now provided by package io or package os, and those implementations should be preferred in new code. See the specific function documentation for details."
"gopkg.in/yaml.v2" = "Grafana packages are not allowed to depend on gopkg.in/yaml.v2 as gopkg.in/yaml.v3 is now available"
"github.com/pkg/errors" = "Deprecated: Go 1.13 supports the functionality provided by pkg/errors in the standard library."
"github.com/xorcare/pointer" = "Use pkg/util.Pointer instead, which is a generic one-liner alternative"
"github.com/gofrs/uuid" = "Use github.com/google/uuid instead, which we already depend on."
[linters-settings.gocritic]
enabled-checks = ["ruleguard"]
@@ -57,7 +60,6 @@ enable = [
"typecheck",
"asciicheck",
"errorlint",
"sqlclosecheck",
"revive",
]

View File

@@ -107,7 +107,7 @@ var config = {
url: '${HOST}/datasources',
wait: 500,
rootElement: '.main-view',
threshold: 1,
threshold: 3,
},
{
url: '${HOST}/org/users',
@@ -125,7 +125,7 @@ var config = {
url: '${HOST}/plugins',
wait: 500,
rootElement: '.main-view',
threshold: 1,
threshold: 3,
},
{
url: '${HOST}/org',

View File

@@ -27,7 +27,6 @@ theme.light.generated.json
theme.dark.generated.json
# Generated Swagger API specs
public/api-spec.json
public/api-merged.json
public/openapi3.json

File diff suppressed because one or more lines are too long

873
.yarn/releases/yarn-3.4.1.cjs vendored Executable file

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,6 @@
{
"name": "eslint",
"version": "8.32.0-sdk",
"version": "8.34.0-sdk",
"main": "./lib/api.js",
"type": "commonjs"
}

View File

@@ -2,5 +2,5 @@
# Manual changes might be lost!
integrations:
- vim
- vscode
- vim

View File

@@ -3,33 +3,33 @@ enableTelemetry: false
nodeLinker: pnp
packageExtensions:
'@storybook/addon-docs@6.5.12':
'@storybook/addon-docs@6.5.16':
peerDependencies:
'@babel/core': ^7.0.0
'@storybook/manager-webpack5': 6.5.12
'@storybook/manager-webpack5': 6.5.16
'webpack': 5.74.0
'@storybook/addon-essentials@6.5.12':
'@storybook/addon-essentials@6.5.16':
peerDependencies:
'@storybook/components': 6.5.12
'@storybook/core-events': 6.5.12
'@storybook/manager-webpack5': 6.5.12
'@storybook/theming': 6.5.12
'@storybook/core-server@6.5.12':
'@storybook/components': 6.5.16
'@storybook/core-events': 6.5.16
'@storybook/manager-webpack5': 6.5.16
'@storybook/theming': 6.5.16
'@storybook/core-server@6.5.16':
peerDependencies:
'@babel/core': ^7.0.0
'@storybook/core@6.5.12':
'@storybook/core@6.5.16':
peerDependencies:
'@babel/core': ^7.0.0
'@storybook/manager-webpack5': 6.5.12
'@storybook/csf-tools@6.5.12':
'@storybook/manager-webpack5': 6.5.16
'@storybook/csf-tools@6.5.16':
peerDependencies:
'@babel/core': ^7.0.0
'@storybook/mdx2-csf@0.0.3':
dependencies:
'@babel/types': ^7.14.8
'@storybook/react@6.5.12':
'@storybook/react@6.5.16':
peerDependencies:
'@storybook/manager-webpack5': 6.5.12
'@storybook/manager-webpack5': 6.5.16
doctrine@3.0.0:
dependencies:
assert: 2.0.0
@@ -59,7 +59,7 @@ plugins:
- path: .yarn/plugins/@yarnpkg/plugin-outdated.cjs
spec: 'https://mskelton.dev/yarn-outdated/v2'
yarnPath: .yarn/releases/yarn-3.3.0.cjs
yarnPath: .yarn/releases/yarn-3.4.1.cjs
# Uncomment the following lines if you want to use Verdaccio local npm registry. Read more at packages/README.md
# npmScopes:
# grafana:

View File

@@ -1,3 +1,401 @@
<!-- 9.4.7 START -->
# 9.4.7 (2023-03-16)
### Bug fixes
- **Alerting:** Update scheduler to receive rule updates only from database. [#64780](https://github.com/grafana/grafana/pull/64780), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Influxdb:** Re-introduce backend migration feature toggle. [#64842](https://github.com/grafana/grafana/pull/64842), [@itsmylife](https://github.com/itsmylife)
- **Security:** Fixes for CVE-2023-1410. [#65278](https://github.com/grafana/grafana/pull/65278), [@itsmylife](https://github.com/itsmylife)
### Breaking changes
The InfluxDB backend migration feature toggle (influxdbBackendMigration) has been reintroduced in this version as issues were discovered with backend processing of InfluxDB data. Unless this feature toggle is enabled, all InfluxDB data will be parsed in the frontend. This frontend processing is the default behavior.
In Grafana 9.4.4, InfluxDB data parsing started to be handled in the backend. If you have upgraded to 9.4.4 and then added new transformations on InfluxDB data, those panels will fail to render. To resolve this either:
- Remove the affected panel and re-create it
- Edit the `time` field as `Time` in `panel.json` or `dashboard.json` Issue [#64842](https://github.com/grafana/grafana/issues/64842)
<!-- 9.4.7 END -->
<!-- 9.4.3 START -->
# 9.4.3 (2023-03-02)
### Bug fixes
- **Alerting:** Use background context for maintenance function. [#64065](https://github.com/grafana/grafana/pull/64065), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Report Settings:** Fix URL validation. (Enterprise)
<!-- 9.4.3 END -->
<!-- 9.4.2 START -->
# 9.4.2 (2023-03-02)
### Bug fixes
- **Alerting:** Fix boolean default in migration from false to 0. [#63952](https://github.com/grafana/grafana/pull/63952), [@alexmobo](https://github.com/alexmobo)
<!-- 9.4.2 END -->
<!-- 9.4.1 START -->
# 9.4.1 (2023-02-28)
<!-- 9.4.1 END -->
<!-- 9.4.0 START -->
# 9.4.0 (2023-02-28)
### Features and enhancements
- **Alerting:** Add endpoint for querying state history. [#62166](https://github.com/grafana/grafana/pull/62166), [@alexweav](https://github.com/alexweav)
- **Alerting:** Add label query parameters to state history endpoint. [#62831](https://github.com/grafana/grafana/pull/62831), [@alexweav](https://github.com/alexweav)
- **Alerting:** Add static label to all state history entries. [#62817](https://github.com/grafana/grafana/pull/62817), [@alexweav](https://github.com/alexweav)
- **Alerting:** Mark AM configuration as applied. [#61330](https://github.com/grafana/grafana/pull/61330), [@santihernandezc](https://github.com/santihernandezc)
- **Azure Monitor:** Enable multiple resource queries. [#62467](https://github.com/grafana/grafana/pull/62467), [@andresmgot](https://github.com/andresmgot)
- **InfluxDB:** Move database information into jsondata. [#62308](https://github.com/grafana/grafana/pull/62308), [@itsmylife](https://github.com/itsmylife)
- **Query Caching:** Add per-panel query caching TTL. [#61968](https://github.com/grafana/grafana/pull/61968), [@mmandrus](https://github.com/mmandrus)
- **Table:** Add row number column option. [#62256](https://github.com/grafana/grafana/pull/62256), [@baldm0mma](https://github.com/baldm0mma)
- **Tempo:** Remove tempoApmTable feature flag. [#62499](https://github.com/grafana/grafana/pull/62499), [@adrapereira](https://github.com/adrapereira)
- **Transformations:** Selectively apply transformation to queries. [#61735](https://github.com/grafana/grafana/pull/61735), [@ryantxu](https://github.com/ryantxu)
### Bug fixes
- **AccessControl:** Clear user permission cache for update org user role. [#62745](https://github.com/grafana/grafana/pull/62745), [@Jguer](https://github.com/Jguer)
- **Alerting:** Fix handling of special floating-point cases when writing observed values to annotations. [#61074](https://github.com/grafana/grafana/pull/61074), [@alexweav](https://github.com/alexweav)
- **Auth:** Rotate token patch. [#62676](https://github.com/grafana/grafana/pull/62676), [@mgyongyosi](https://github.com/mgyongyosi)
- **ContextMenu:** Consider y coord when determining bottom collision. [#62403](https://github.com/grafana/grafana/pull/62403), [@gelicia](https://github.com/gelicia)
- **Elasticsearch:** Fix consistent label order in alerting. [#62497](https://github.com/grafana/grafana/pull/62497), [@gabor](https://github.com/gabor)
- **Explore:** Fix graph not updating when changing config. [#62473](https://github.com/grafana/grafana/pull/62473), [@Elfo404](https://github.com/Elfo404)
- **Heatmap:** Support heatmap rows with non-timeseries X axis. [#60929](https://github.com/grafana/grafana/pull/60929), [@ryantxu](https://github.com/ryantxu)
- **Login:** Fix panic when a user is upserted by a background process. [#62539](https://github.com/grafana/grafana/pull/62539), [@sakjur](https://github.com/sakjur)
- **MSSQL:** Add support for macro function calls. [#62742](https://github.com/grafana/grafana/pull/62742), [@mdvictor](https://github.com/mdvictor)
- **MySQL:** Quote identifiers that include special characters. [#61135](https://github.com/grafana/grafana/pull/61135), [@zoltanbedi](https://github.com/zoltanbedi)
- **Navigation:** Sign in button now works correctly when served under a sub path. [#62504](https://github.com/grafana/grafana/pull/62504), [@ashharrison90](https://github.com/ashharrison90)
- **Nested Folder:** Fix for SQLite not to overwrite the parent on restarts. [#62709](https://github.com/grafana/grafana/pull/62709), [@papagian](https://github.com/papagian)
- **PanelChrome:** Adds display mode to support transparent option. [#62647](https://github.com/grafana/grafana/pull/62647), [@torkelo](https://github.com/torkelo)
- **Plugins:** Case-sensitive routes for standalone pages. [#62779](https://github.com/grafana/grafana/pull/62779), [@leventebalogh](https://github.com/leventebalogh)
- **Plugins:** Prefer to use the data source UID when querying. [#62776](https://github.com/grafana/grafana/pull/62776), [@andresmgot](https://github.com/andresmgot)
- **SQLStore:** Fix folder migration for MySQL < 5.7. [#62521](https://github.com/grafana/grafana/pull/62521), [@papagian](https://github.com/papagian)
- **Search:** Fix not being able to clear sort value. [#62557](https://github.com/grafana/grafana/pull/62557), [@joshhunt](https://github.com/joshhunt)
- **Tempo:** Fix span name being dropped from the query. [#62257](https://github.com/grafana/grafana/pull/62257), [@CrypticSignal](https://github.com/CrypticSignal)
### Plugin development fixes & changes
- **PanelChrome:** Implement hover header. [#61774](https://github.com/grafana/grafana/pull/61774), [@kaydelaney](https://github.com/kaydelaney)
<!-- 9.4.0 END -->
<!-- 9.4.0-beta1 START -->
# 9.4.0-beta1 (2023-01-30)
### Features and enhancements
- **API:** Change how Cache-Control and related headers are set. [#62021](https://github.com/grafana/grafana/pull/62021), [@kylebrandt](https://github.com/kylebrandt)
- **AccessControl:** Add high availability support to access control seeder. (Enterprise)
- **Accessibility:** Make QueryEditorHelp examples keyboard interactive. [#59355](https://github.com/grafana/grafana/pull/59355), [@idastambuk](https://github.com/idastambuk)
- **Admin:** Combine org and admin user pages. [#59365](https://github.com/grafana/grafana/pull/59365), [@Clarity-89](https://github.com/Clarity-89)
- **Admin:** Remove navigation subheaders. [#61344](https://github.com/grafana/grafana/pull/61344), [@Clarity-89](https://github.com/Clarity-89)
- **AlertGroups:** Generate models.gen.ts from models.cue. [#61227](https://github.com/grafana/grafana/pull/61227), [@Clarity-89](https://github.com/Clarity-89)
- **Alerting:** Access query details of provisioned alerts. [#59626](https://github.com/grafana/grafana/pull/59626), [@konrad147](https://github.com/konrad147)
- **Alerting:** Add alert rule cloning action. [#59200](https://github.com/grafana/grafana/pull/59200), [@konrad147](https://github.com/konrad147)
- **Alerting:** Add dashboard and panel picker to the rule form. [#58304](https://github.com/grafana/grafana/pull/58304), [@konrad147](https://github.com/konrad147)
- **Alerting:** Add discord as a possible receiver in cloud rules. [#59366](https://github.com/grafana/grafana/pull/59366), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Alerting:** Add export button for exporting all alert rules in alert list view. [#62416](https://github.com/grafana/grafana/pull/62416), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Alerting:** Add header X-Grafana-Org-Id to evaluation requests. [#58972](https://github.com/grafana/grafana/pull/58972), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Add landing page. [#59050](https://github.com/grafana/grafana/pull/59050), [@konrad147](https://github.com/konrad147)
- **Alerting:** Add maxdatapoints in alert rule form. [#61904](https://github.com/grafana/grafana/pull/61904), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Alerting:** Add provisioning endpoint to fetch all rules. [#59989](https://github.com/grafana/grafana/pull/59989), [@alexweav](https://github.com/alexweav)
- **Alerting:** Add support for settings parse_mode and disable_notifications to Telegram receiver. [#60198](https://github.com/grafana/grafana/pull/60198), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Add support for tracing to alerting scheduler. [#61057](https://github.com/grafana/grafana/pull/61057), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Adds evaluation interval to group view. [#59974](https://github.com/grafana/grafana/pull/59974), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Alert rules search improvements. [#61398](https://github.com/grafana/grafana/pull/61398), [@konrad147](https://github.com/konrad147)
- **Alerting:** Allow state history to be disabled through configuration. [#61006](https://github.com/grafana/grafana/pull/61006), [@alexweav](https://github.com/alexweav)
- **Alerting:** Bump Prometheus Alertmanager to v0.25. [#60764](https://github.com/grafana/grafana/pull/60764), [@santihernandezc](https://github.com/santihernandezc)
- **Alerting:** Choose a previous valid AM configuration in case of error. [#58472](https://github.com/grafana/grafana/pull/58472), [@santihernandezc](https://github.com/santihernandezc)
- **Alerting:** Create endpoints for exporting in provisioning file format. [#58623](https://github.com/grafana/grafana/pull/58623), [@JacobsonMT](https://github.com/JacobsonMT)
- **Alerting:** Declare incident from a firing alert. [#61178](https://github.com/grafana/grafana/pull/61178), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Do not maintain Normal state. [#56336](https://github.com/grafana/grafana/pull/56336), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Improve UI for making more clear that evaluation interval belongs to the group. [#56397](https://github.com/grafana/grafana/pull/56397), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Alerting:** Improve legacy migration to include send reminder & frequency. [#60275](https://github.com/grafana/grafana/pull/60275), [@JacobsonMT](https://github.com/JacobsonMT)
- **Alerting:** PagerDuty receiver to let user configure fields Source, Client and Client URL. [#59895](https://github.com/grafana/grafana/pull/59895), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Recognise & change UI for OnCall notification policy + contact point. [#60259](https://github.com/grafana/grafana/pull/60259), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Alerting:** Rename contact point type to receiver in the user interface. [#59589](https://github.com/grafana/grafana/pull/59589), [@grobinson-grafana](https://github.com/grobinson-grafana)
- **Alerting:** Rule evaluator to get cached data source info. [#61305](https://github.com/grafana/grafana/pull/61305), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Support customizable timeout for screenshots. [#60981](https://github.com/grafana/grafana/pull/60981), [@grobinson-grafana](https://github.com/grobinson-grafana)
- **Alerting:** UI changes required to support v3 and Auth in Kafka Contact Point. [#61123](https://github.com/grafana/grafana/pull/61123), [@MohammadGhazanfar](https://github.com/MohammadGhazanfar)
- **Alerting:** Update Alerting and Alertmanager to v0.25.1. [#61233](https://github.com/grafana/grafana/pull/61233), [@grobinson-grafana](https://github.com/grobinson-grafana)
- **Alerting:** Upload images to Slack via files.upload. [#59163](https://github.com/grafana/grafana/pull/59163), [@grobinson-grafana](https://github.com/grobinson-grafana)
- **Auditing/Usage Insights:** Loki support for multi-tenancy. (Enterprise)
- **Auth forwarding:** Pass tokens without refresh. [#61634](https://github.com/grafana/grafana/pull/61634), [@Jguer](https://github.com/Jguer)
- **Auth:** Add expiry date for service accounts access tokens. [#58885](https://github.com/grafana/grafana/pull/58885), [@linoman](https://github.com/linoman)
- **Auth:** Add plugin roles to RolePicker. [#59667](https://github.com/grafana/grafana/pull/59667), [@linoman](https://github.com/linoman)
- **Auth:** Add skip_org_role_sync for AzureAD OAuth. [#60322](https://github.com/grafana/grafana/pull/60322), [@eleijonmarck](https://github.com/eleijonmarck)
- **Auth:** Add skip_org_role_sync for Okta. [#62106](https://github.com/grafana/grafana/pull/62106), [@eleijonmarck](https://github.com/eleijonmarck)
- **Auth:** Add skip_org_role_sync setting for GrafanaCom. [#60553](https://github.com/grafana/grafana/pull/60553), [@eleijonmarck](https://github.com/eleijonmarck)
- **Auth:** Add skip_org_role_sync setting for github. [#61673](https://github.com/grafana/grafana/pull/61673), [@eleijonmarck](https://github.com/eleijonmarck)
- **Auth:** Add skip_org_role_sync setting to OAuth integration Google. [#61572](https://github.com/grafana/grafana/pull/61572), [@eleijonmarck](https://github.com/eleijonmarck)
- **Auth:** Add skip_org_role_sync to GitLab OAuth. [#62055](https://github.com/grafana/grafana/pull/62055), [@eleijonmarck](https://github.com/eleijonmarck)
- **Auth:** Add sub claim check to JWT Auth pre-checks. [#61417](https://github.com/grafana/grafana/pull/61417), [@mgyongyosi](https://github.com/mgyongyosi)
- **Auth:** Disable team sync for JWT Authentication. [#62191](https://github.com/grafana/grafana/pull/62191), [@eleijonmarck](https://github.com/eleijonmarck)
- **Auth:** Display id Provider label in orgs/users view. [#58033](https://github.com/grafana/grafana/pull/58033), [@linoman](https://github.com/linoman)
- **Auth:** Implement skip org role sync for jwt. [#61647](https://github.com/grafana/grafana/pull/61647), [@linoman](https://github.com/linoman)
- **Auth:** Log a more useful msg if no OAuth provider configured. [#56722](https://github.com/grafana/grafana/pull/56722), [@someone-stole-my-name](https://github.com/someone-stole-my-name)
- **Auth:** Set service account access token limit on expiry dates. [#56467](https://github.com/grafana/grafana/pull/56467), [@linoman](https://github.com/linoman)
- **Azure Monitor:** Add variable function to list regions. [#62297](https://github.com/grafana/grafana/pull/62297), [@andresmgot](https://github.com/andresmgot)
- **Backend:** Consistently use context RemoteAddr function to determine remote address. [#60201](https://github.com/grafana/grafana/pull/60201), [@DanCech](https://github.com/DanCech)
- **BarChart:** Highlight bars option for easier interaction. [#60530](https://github.com/grafana/grafana/pull/60530), [@mdvictor](https://github.com/mdvictor)
- **BarChartPanel:** Custom tooltips. [#60148](https://github.com/grafana/grafana/pull/60148), [@mdvictor](https://github.com/mdvictor)
- **Canvas:** Add server element. [#61104](https://github.com/grafana/grafana/pull/61104), [@drew08t](https://github.com/drew08t)
- **Canvas:** Add support for basic arrows. [#57561](https://github.com/grafana/grafana/pull/57561), [@nmarrs](https://github.com/nmarrs)
- **Canvas:** Add tooltip for data links. [#61648](https://github.com/grafana/grafana/pull/61648), [@adela-almasan](https://github.com/adela-almasan)
- **Canvas:** Improve placement when adding an element via context menu. [#61071](https://github.com/grafana/grafana/pull/61071), [@adela-almasan](https://github.com/adela-almasan)
- **Canvas:** Update context menu actions for multiple elements selected. [#61108](https://github.com/grafana/grafana/pull/61108), [@adela-almasan](https://github.com/adela-almasan)
- **Canvas:** Update element(s) selection after action. [#61204](https://github.com/grafana/grafana/pull/61204), [@adela-almasan](https://github.com/adela-almasan)
- **Chore:** Add deprecation warnings for Sentry. [#60165](https://github.com/grafana/grafana/pull/60165), [@domasx2](https://github.com/domasx2)
- **CloudMonitor:** Improve detail of MQL series labels. [#59747](https://github.com/grafana/grafana/pull/59747), [@aangelisc](https://github.com/aangelisc)
- **CloudWatch Logs:** Set default logs query and disable button when empty. [#61956](https://github.com/grafana/grafana/pull/61956), [@iwysiu](https://github.com/iwysiu)
- **CloudWatch:** Add CloudWatchSynthetics dimension. [#60832](https://github.com/grafana/grafana/pull/60832), [@jangaraj](https://github.com/jangaraj)
- **CloudWatch:** Add MaxProvisionedTableReadCapacityUtilization AWS/DynamoDB metric name. [#60829](https://github.com/grafana/grafana/pull/60829), [@jangaraj](https://github.com/jangaraj)
- **CloudWatch:** Add RDS dimension. [#61027](https://github.com/grafana/grafana/pull/61027), [@jangaraj](https://github.com/jangaraj)
- **CloudWatch:** Add macro for resolving period in SEARCH expressions. [#60435](https://github.com/grafana/grafana/pull/60435), [@sunker](https://github.com/sunker)
- **Cloudwatch:** Add feedback labels to log groups selector. [#60619](https://github.com/grafana/grafana/pull/60619), [@sunker](https://github.com/sunker)
- **Cloudwatch:** Add run query button. [#60089](https://github.com/grafana/grafana/pull/60089), [@sunker](https://github.com/sunker)
- **Cloudwatch:** Add support for template variables in new log group picker. [#61243](https://github.com/grafana/grafana/pull/61243), [@sunker](https://github.com/sunker)
- **Cloudwatch:** Define and use getDefaultquery instead of calling onChange on mount. [#60221](https://github.com/grafana/grafana/pull/60221), [@idastambuk](https://github.com/idastambuk)
- **Cloudwatch:** Refactor log group model. [#60873](https://github.com/grafana/grafana/pull/60873), [@sunker](https://github.com/sunker)
- **Cloudwatch:** Set CloudwatchCrossAccountQuery feature to stable. [#62348](https://github.com/grafana/grafana/pull/62348), [@sarahzinger](https://github.com/sarahzinger)
- **Cloudwatch:** Use new log group picker also for non cross-account queries. [#60913](https://github.com/grafana/grafana/pull/60913), [@sunker](https://github.com/sunker)
- **CommandPalette:** Improve section header styling. [#61584](https://github.com/grafana/grafana/pull/61584), [@joshhunt](https://github.com/joshhunt)
- **CommandPalette:** Minor usability improvements. [#61567](https://github.com/grafana/grafana/pull/61567), [@joshhunt](https://github.com/joshhunt)
- **CommandPalette:** Search for dashboards using API. [#61090](https://github.com/grafana/grafana/pull/61090), [@joshhunt](https://github.com/joshhunt)
- **Config:** Support JSON list syntax. [#61288](https://github.com/grafana/grafana/pull/61288), [@alexanderzobnin](https://github.com/alexanderzobnin)
- **DataLinks:** Allow providing a dynamic data link builder. [#60452](https://github.com/grafana/grafana/pull/60452), [@dprokop](https://github.com/dprokop)
- **DataProxy:** Populate X-Grafana-Referer header. [#60040](https://github.com/grafana/grafana/pull/60040), [@neilfordyce](https://github.com/neilfordyce)
- **Database:** Adds support for enable/disable SQLite Write-Ahead Logging (WAL) via configuration. [#58268](https://github.com/grafana/grafana/pull/58268), [@marefr](https://github.com/marefr)
- **Dataplane:** Deprecate timeseries-many in favor of timeseries-multi. [#59070](https://github.com/grafana/grafana/pull/59070), [@bohandley](https://github.com/bohandley)
- **Datasource settings:** Add deprecation notice for database field. [#58647](https://github.com/grafana/grafana/pull/58647), [@zoltanbedi](https://github.com/zoltanbedi)
- **Datasources:** Add support for getDetDefaultQuery in variable editor. [#62026](https://github.com/grafana/grafana/pull/62026), [@idastambuk](https://github.com/idastambuk)
- **Devenv:** OpenLDAP-Mac improvements. [#60229](https://github.com/grafana/grafana/pull/60229), [@mgyongyosi](https://github.com/mgyongyosi)
- **Docs:** Rename Message templates to Notification templates. [#59477](https://github.com/grafana/grafana/pull/59477), [@grobinson-grafana](https://github.com/grobinson-grafana)
- **Docs:** Unified Alerting is now compatible with AWS Aurora. [#61001](https://github.com/grafana/grafana/pull/61001), [@alexweav](https://github.com/alexweav)
- **Elastic:** Remove experimental tag from v8.0+. [#61359](https://github.com/grafana/grafana/pull/61359), [@gwdawson](https://github.com/gwdawson)
- **Elasticsearch:** Deprecate raw document mode. [#62236](https://github.com/grafana/grafana/pull/62236), [@gabor](https://github.com/gabor)
- **Elasticsearch:** Support nested aggregation. [#62301](https://github.com/grafana/grafana/pull/62301), [@gabor](https://github.com/gabor)
- **Email:** Use MJML email template. (Enterprise)
- **Email:** Use MJML email templates. [#57751](https://github.com/grafana/grafana/pull/57751), [@gillesdemey](https://github.com/gillesdemey)
- **Explore:** Add feature to open log sample in split view. [#62097](https://github.com/grafana/grafana/pull/62097), [@ivanahuckova](https://github.com/ivanahuckova)
- **Explore:** Enable resize of split pane. [#58683](https://github.com/grafana/grafana/pull/58683), [@gelicia](https://github.com/gelicia)
- **Explore:** Implement logs sample in Explore. [#61864](https://github.com/grafana/grafana/pull/61864), [@ivanahuckova](https://github.com/ivanahuckova)
- **Explore:** Keyboard shortcut to go to explore. [#61837](https://github.com/grafana/grafana/pull/61837), [@torkelo](https://github.com/torkelo)
- **Explore:** Notify when compact URL is used. [#58684](https://github.com/grafana/grafana/pull/58684), [@gelicia](https://github.com/gelicia)
- **Explore:** Use Datasource Onboarding page when visiting without any datasource set up. [#60399](https://github.com/grafana/grafana/pull/60399), [@Elfo404](https://github.com/Elfo404)
- **FileDropzone:** Format the file size limit in the error message when the max file size is exceeded (1000 => 1 kB). [#62290](https://github.com/grafana/grafana/pull/62290), [@oscarkilhed](https://github.com/oscarkilhed)
- **Flame graph:** Search with uFuzzy. [#61748](https://github.com/grafana/grafana/pull/61748), [@joey-grafana](https://github.com/joey-grafana)
- **GRPC Server:** Add query service. [#55781](https://github.com/grafana/grafana/pull/55781), [@toddtreece](https://github.com/toddtreece)
- **Geomap panel:** Generate types. [#61636](https://github.com/grafana/grafana/pull/61636), [@Clarity-89](https://github.com/Clarity-89)
- **Geomap:** Add color gradients to route layer. [#59062](https://github.com/grafana/grafana/pull/59062), [@drew08t](https://github.com/drew08t)
- **Glue:** Validate target query in correlations page. [#57245](https://github.com/grafana/grafana/pull/57245), [@L-M-K-B](https://github.com/L-M-K-B)
- **Heatmap:** Remove legacy angular based implementation. [#59249](https://github.com/grafana/grafana/pull/59249), [@ryantxu](https://github.com/ryantxu)
- **InfluxDB:** Send retention policy with InfluxQL queries if its been specified. [#62149](https://github.com/grafana/grafana/pull/62149), [@brettbuddin](https://github.com/brettbuddin)
- **Influxdb:** Remove backend migration feature toggle. [#61308](https://github.com/grafana/grafana/pull/61308), [@itsmylife](https://github.com/itsmylife)
- **Internationalization:** Translate page headers and Search dashboard actions. [#60727](https://github.com/grafana/grafana/pull/60727), [@TaitChan](https://github.com/TaitChan)
- **LDAP:** Make LDAP attribute mapping case-insensitive. [#58992](https://github.com/grafana/grafana/pull/58992), [@markkrj](https://github.com/markkrj)
- **LoginAttempts:** Reset attempts on successfull password reset. [#59215](https://github.com/grafana/grafana/pull/59215), [@kalleep](https://github.com/kalleep)
- **Logs Panel:** Add support for keyboard interactions with log lines. [#60561](https://github.com/grafana/grafana/pull/60561), [@matyax](https://github.com/matyax)
- **Logs:** Add possibility to download logs in JSON format. [#61394](https://github.com/grafana/grafana/pull/61394), [@svennergr](https://github.com/svennergr)
- **Logs:** Make `no logs found` text more visible in Explore. [#61651](https://github.com/grafana/grafana/pull/61651), [@svennergr](https://github.com/svennergr)
- **Logs:** Unify detected fields and labels in Log Details. [#60448](https://github.com/grafana/grafana/pull/60448), [@svennergr](https://github.com/svennergr)
- **Loki Autocomplete:** Suggest only possible labels for unwrap. [#61411](https://github.com/grafana/grafana/pull/61411), [@matyax](https://github.com/matyax)
- **Loki Editor Autocomplete:** Suggest unique history items. [#60262](https://github.com/grafana/grafana/pull/60262), [@matyax](https://github.com/matyax)
- **Loki Query Editor:** Add support to display query parsing errors to users. [#59427](https://github.com/grafana/grafana/pull/59427), [@matyax](https://github.com/matyax)
- **Loki Query Editor:** Autocompletion and suggestions improvements (unwrap, parser, extracted labels). [#59103](https://github.com/grafana/grafana/pull/59103), [@matyax](https://github.com/matyax)
- **Loki Query Editor:** Update history items with successive queries. [#60327](https://github.com/grafana/grafana/pull/60327), [@matyax](https://github.com/matyax)
- **Loki:** Add format explanation to regex operations. [#60518](https://github.com/grafana/grafana/pull/60518), [@gwdawson](https://github.com/gwdawson)
- **Loki:** Add hints for query filters. [#60293](https://github.com/grafana/grafana/pull/60293), [@gwdawson](https://github.com/gwdawson)
- **Loki:** Add improvements to loki label browser. [#59387](https://github.com/grafana/grafana/pull/59387), [@gwdawson](https://github.com/gwdawson)
- **Loki:** Change format of query builder hints. [#60228](https://github.com/grafana/grafana/pull/60228), [@gwdawson](https://github.com/gwdawson)
- **Loki:** Make label browser accessible in query builder. [#58525](https://github.com/grafana/grafana/pull/58525), [@gwdawson](https://github.com/gwdawson)
- **Loki:** Push support for multi-tenancy mode. [#60866](https://github.com/grafana/grafana/pull/60866), [@joanlopez](https://github.com/joanlopez)
- **Loki:** Remove raw query toggle. [#59125](https://github.com/grafana/grafana/pull/59125), [@gwdawson](https://github.com/gwdawson)
- **Loki:** Rename "explain" toggle to "explain query". [#61150](https://github.com/grafana/grafana/pull/61150), [@gwdawson](https://github.com/gwdawson)
- **Loki:** Set custom width for modals in the loki query editor. [#59714](https://github.com/grafana/grafana/pull/59714), [@gwdawson](https://github.com/gwdawson)
- **Loki:** Show configured log line limit. [#61291](https://github.com/grafana/grafana/pull/61291), [@gwdawson](https://github.com/gwdawson)
- **Loki:** Show query size approximation. [#62109](https://github.com/grafana/grafana/pull/62109), [@gwdawson](https://github.com/gwdawson)
- **Middleware:** Add Custom Headers to HTTP responses. [#59018](https://github.com/grafana/grafana/pull/59018), [@jcalisto](https://github.com/jcalisto)
- **Navigation:** Open command palette from search box. [#61667](https://github.com/grafana/grafana/pull/61667), [@joshhunt](https://github.com/joshhunt)
- **NodeGraph:** Allow usage with single dataframe. [#58448](https://github.com/grafana/grafana/pull/58448), [@aocenas](https://github.com/aocenas)
- **OAuth:** Support pagination for GitHub orgs. [#58648](https://github.com/grafana/grafana/pull/58648), [@sdague](https://github.com/sdague)
- **PanelChrome:** Allow panel to be dragged if set as draggable from the outside. [#61698](https://github.com/grafana/grafana/pull/61698), [@axelavargas](https://github.com/axelavargas)
- **PanelChrome:** Refactor and refine items next to title. [#60514](https://github.com/grafana/grafana/pull/60514), [@axelavargas](https://github.com/axelavargas)
- **PanelRenderer:** Interpolate variables in applyFieldOverrides. [#59844](https://github.com/grafana/grafana/pull/59844), [@connorlindsey](https://github.com/connorlindsey)
- **Performance:** Preallocate slices. [#61580](https://github.com/grafana/grafana/pull/61580), [@peakle](https://github.com/peakle)
- **Phlare:** Reset flame graph after query is run. [#59609](https://github.com/grafana/grafana/pull/59609), [@joey-grafana](https://github.com/joey-grafana)
- **Phlare:** Transition from LogQL/PromQL to Phlare should keep the query. [#60217](https://github.com/grafana/grafana/pull/60217), [@joey-grafana](https://github.com/joey-grafana)
- **Plugins:** Add file permission error check when attempting to verify plugin signature. [#61860](https://github.com/grafana/grafana/pull/61860), [@wbrowne](https://github.com/wbrowne)
- **Plugins:** Automatically forward plugin request HTTP headers in outgoing HTTP requests. [#60417](https://github.com/grafana/grafana/pull/60417), [@marefr](https://github.com/marefr)
- **Plugins:** Forward user header (X-Grafana-User) in backend plugin requests. [#58646](https://github.com/grafana/grafana/pull/58646), [@marefr](https://github.com/marefr)
- **Plugins:** Pass through dashboard/contextual HTTP headers to plugins/datasources. [#60301](https://github.com/grafana/grafana/pull/60301), [@GiedriusS](https://github.com/GiedriusS)
- **Plugins:** Refactor forward of cookies, OAuth token and header modifications by introducing client middlewares. [#58132](https://github.com/grafana/grafana/pull/58132), [@marefr](https://github.com/marefr)
- **Plugins:** Remove connection/hop-by-hop request/response headers for call resource. [#60077](https://github.com/grafana/grafana/pull/60077), [@marefr](https://github.com/marefr)
- **Plugins:** Unsigned chromium file should not invalidate signature for Renderer plugin. [#59104](https://github.com/grafana/grafana/pull/59104), [@wbrowne](https://github.com/wbrowne)
- **Preferences:** Add pagination to org configuration page. [#60896](https://github.com/grafana/grafana/pull/60896), [@alexanderzobnin](https://github.com/alexanderzobnin)
- **Preferences:** Add theme preference to match system theme. [#61986](https://github.com/grafana/grafana/pull/61986), [@joshhunt](https://github.com/joshhunt)
- **Prometheus:** Kickstart your query, formerly query patterns. [#60718](https://github.com/grafana/grafana/pull/60718), [@bohandley](https://github.com/bohandley)
- **Prometheus:** New instant query results view in Explore. [#60479](https://github.com/grafana/grafana/pull/60479), [@gtk-grafana](https://github.com/gtk-grafana)
- **Prometheus:** Remove buffered client and feature toggle related to it. [#59898](https://github.com/grafana/grafana/pull/59898), [@itsmylife](https://github.com/itsmylife)
- **Public Dashboards:** Time range for public dashboard in NavToolbar. [#60689](https://github.com/grafana/grafana/pull/60689), [@juanicabanas](https://github.com/juanicabanas)
- **PublicDashboards:** A unique page for public dashboards. [#60744](https://github.com/grafana/grafana/pull/60744), [@juanicabanas](https://github.com/juanicabanas)
- **PublicDashboards:** Add react-hook-form for Public Dashboard modal. [#60249](https://github.com/grafana/grafana/pull/60249), [@juanicabanas](https://github.com/juanicabanas)
- **PublicDashboards:** Add share column to public dashboards table. [#61102](https://github.com/grafana/grafana/pull/61102), [@owensmallwood](https://github.com/owensmallwood)
- **PublicDashboards:** Adds middleware for email sharing. (Enterprise)
- **PublicDashboards:** Adds tables and models for email sharing. (Enterprise)
- **PublicDashboards:** Checkboxes list refactor. [#61947](https://github.com/grafana/grafana/pull/61947), [@juanicabanas](https://github.com/juanicabanas)
- **PublicDashboards:** Create API for sharing by email. (Enterprise)
- **PublicDashboards:** Enterprise service skeleton for public dashboards with feature flag. (Enterprise)
- **PublicDashboards:** Modal warns when using unsupported datasources. [#58926](https://github.com/grafana/grafana/pull/58926), [@owensmallwood](https://github.com/owensmallwood)
- **PublicDashboards:** Page to request access to protected pubdash. (Enterprise)
- **PublicDashboards:** Remove unnecessary css style in Audit Table. [#60546](https://github.com/grafana/grafana/pull/60546), [@juanicabanas](https://github.com/juanicabanas)
- **PublicDashboards:** Revert Time range setting added. [#60698](https://github.com/grafana/grafana/pull/60698), [@juanicabanas](https://github.com/juanicabanas)
- **PublicDashboards:** Time range conditionally shown. [#60425](https://github.com/grafana/grafana/pull/60425), [@juanicabanas](https://github.com/juanicabanas)
- **PublicDashboards:** Time range setting added. [#60487](https://github.com/grafana/grafana/pull/60487), [@juanicabanas](https://github.com/juanicabanas)
- **PublicDashboards:** Time range settings. [#61585](https://github.com/grafana/grafana/pull/61585), [@juanicabanas](https://github.com/juanicabanas)
- **PublicDashboards:** Time range switch added. [#60257](https://github.com/grafana/grafana/pull/60257), [@juanicabanas](https://github.com/juanicabanas)
- **PublicDashboards:** Time range wording changed. [#60473](https://github.com/grafana/grafana/pull/60473), [@juanicabanas](https://github.com/juanicabanas)
- **RBAC:** Add an endpoint to search through assignments. (Enterprise)
- **RBAC:** Add config option to reset basic roles on start up. [#59598](https://github.com/grafana/grafana/pull/59598), [@gamab](https://github.com/gamab)
- **RBAC:** Add config option to reset basic roles on start up. (Enterprise)
- **RBAC:** Add permission to get usage report preview. [#61570](https://github.com/grafana/grafana/pull/61570), [@alexanderzobnin](https://github.com/alexanderzobnin)
- **RBAC:** Permission check performance improvements for the new search. [#60729](https://github.com/grafana/grafana/pull/60729), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **RBAC:** Register plugin permissions's action and its accepted scopes. (Enterprise)
- **RBAC:** Runtime plugin role registration and update. (Enterprise)
- **Report Settings:** Add UI to upload logo files. (Enterprise)
- **Reporting:** Allow to upload report branding images. (Enterprise)
- **RolePicker:** Align groupHeader to the list items horizontally. [#61060](https://github.com/grafana/grafana/pull/61060), [@mgyongyosi](https://github.com/mgyongyosi)
- **SAML:** Support auto login. [#61685](https://github.com/grafana/grafana/pull/61685), [@alexanderzobnin](https://github.com/alexanderzobnin)
- **SMTP:** Update SMTP TemplatesPatterns to do an 'or' filter instead of 'and'. [#61421](https://github.com/grafana/grafana/pull/61421), [@mmandrus](https://github.com/mmandrus)
- **SQL Datasources:** Move database setting to jsonData. [#58649](https://github.com/grafana/grafana/pull/58649), [@zoltanbedi](https://github.com/zoltanbedi)
- **SQL Datasources:** Use health check for config test. [#59867](https://github.com/grafana/grafana/pull/59867), [@zoltanbedi](https://github.com/zoltanbedi)
- **SQL:** Return no data response when no rows returned. [#59121](https://github.com/grafana/grafana/pull/59121), [@zoltanbedi](https://github.com/zoltanbedi)
- **Search:** Remember sorting preference between visits. [#62248](https://github.com/grafana/grafana/pull/62248), [@joshhunt](https://github.com/joshhunt)
- **Segment:** Individual segments are now keyboard accessible. [#60555](https://github.com/grafana/grafana/pull/60555), [@ashharrison90](https://github.com/ashharrison90)
- **Server:** Switch from separate server & cli to a unified grafana binary. [#58286](https://github.com/grafana/grafana/pull/58286), [@DanCech](https://github.com/DanCech)
- **SharePDF:** Add zoom select. (Enterprise)
- **Slugify:** Replace gosimple/slug with a simple function. [#59517](https://github.com/grafana/grafana/pull/59517), [@ryantxu](https://github.com/ryantxu)
- **Snapshots:** Add snapshot enable config. [#61587](https://github.com/grafana/grafana/pull/61587), [@leandro-deveikis](https://github.com/leandro-deveikis)
- **Table Panel:** Refactor Cell Options to Allow for Options per Cell Type. [#59363](https://github.com/grafana/grafana/pull/59363), [@codeincarnate](https://github.com/codeincarnate)
- **Table panel:** Use link elements instead of div elements with on click events to aid with keyboard accessibility. [#59393](https://github.com/grafana/grafana/pull/59393), [@oscarkilhed](https://github.com/oscarkilhed)
- **TablePanel:** Improve and align table styles with the rest of Grafana. [#60365](https://github.com/grafana/grafana/pull/60365), [@torkelo](https://github.com/torkelo)
- **Teams:** Support paginating and filtering more then 1000 teams. [#58761](https://github.com/grafana/grafana/pull/58761), [@kalleep](https://github.com/kalleep)
- **Teams:** Use generated TS types. [#60618](https://github.com/grafana/grafana/pull/60618), [@Clarity-89](https://github.com/Clarity-89)
- **Tempo:** Trace to logs custom query with interpolation. [#61702](https://github.com/grafana/grafana/pull/61702), [@aocenas](https://github.com/aocenas)
- **Tempo:** Update column width for Loki search. [#61924](https://github.com/grafana/grafana/pull/61924), [@joey-grafana](https://github.com/joey-grafana)
- **Tempo:** Update docs and default Tempo metrics query. [#62185](https://github.com/grafana/grafana/pull/62185), [@joey-grafana](https://github.com/joey-grafana)
- **TestDatasource:** Add scenario for generating trace data. [#59299](https://github.com/grafana/grafana/pull/59299), [@aocenas](https://github.com/aocenas)
- **TextPanel:** Refactor to functional component. [#60885](https://github.com/grafana/grafana/pull/60885), [@ryantxu](https://github.com/ryantxu)
- **Theme:** Use `Inter` font by default. [#59544](https://github.com/grafana/grafana/pull/59544), [@ashharrison90](https://github.com/ashharrison90)
- **Trace View:** Disallow a span colour that is the same or looks similar to previous colour. [#58146](https://github.com/grafana/grafana/pull/58146), [@joey-grafana](https://github.com/joey-grafana)
- **Tracing:** Add keyboard accessibility to SpanDetailRow. [#59412](https://github.com/grafana/grafana/pull/59412), [@joey-grafana](https://github.com/joey-grafana)
- **Transformations:** Add context parameter to transformDataFrame and operators. [#60694](https://github.com/grafana/grafana/pull/60694), [@torkelo](https://github.com/torkelo)
- **Transformations:** Extract JSON Paths. [#59400](https://github.com/grafana/grafana/pull/59400), [@NiklasCi](https://github.com/NiklasCi)
- **Transformations:** Grouping to matrix empty value option. [#55591](https://github.com/grafana/grafana/pull/55591), [@hugo082](https://github.com/hugo082)
- **UsageInsights:** Record events for Explore queries. [#59931](https://github.com/grafana/grafana/pull/59931), [@daniellee](https://github.com/daniellee)
- **Variables:** Support for colons in time variables custom format. [#61404](https://github.com/grafana/grafana/pull/61404), [@yesoreyeram](https://github.com/yesoreyeram)
### Bug fixes
- **Alerting:** Fix ConditionsCmd No Data for "has no value". [#58634](https://github.com/grafana/grafana/pull/58634), [@grobinson-grafana](https://github.com/grobinson-grafana)
- **Alerting:** Fix evaluation timeout. [#61303](https://github.com/grafana/grafana/pull/61303), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Redo refactoring from reverted fix in #56812. [#61051](https://github.com/grafana/grafana/pull/61051), [@grobinson-grafana](https://github.com/grobinson-grafana)
- **Alerting:** Set Dashboard and Panel IDs on rule group replacement. [#60374](https://github.com/grafana/grafana/pull/60374), [@alexmobo](https://github.com/alexmobo)
- **Alerting:** Store alertmanager configuration history in a separate table in the database. [#60197](https://github.com/grafana/grafana/pull/60197), [@alexweav](https://github.com/alexweav)
- **Azure Monitor:** Fix health check for empty default subscription. [#60569](https://github.com/grafana/grafana/pull/60569), [@andresmgot](https://github.com/andresmgot)
- **Barchart:** Fix erroneous tooltip value. [#61455](https://github.com/grafana/grafana/pull/61455), [@mdvictor](https://github.com/mdvictor)
- **Candlestick:** Fix showing hidden legend values. [#60971](https://github.com/grafana/grafana/pull/60971), [@zoltanbedi](https://github.com/zoltanbedi)
- **CloudWatch:** Fix logs insights deeplink. [#59906](https://github.com/grafana/grafana/pull/59906), [@fridgepoet](https://github.com/fridgepoet)
- **Cloudmonitor:** Refactor query builder. [#61410](https://github.com/grafana/grafana/pull/61410), [@aangelisc](https://github.com/aangelisc)
- **Command Palette:** Links now work when grafana is served under a subpath. [#60033](https://github.com/grafana/grafana/pull/60033), [@ashharrison90](https://github.com/ashharrison90)
- **CommandPalette:** Fix long dashboard names freezing the browser. [#61278](https://github.com/grafana/grafana/pull/61278), [@joshhunt](https://github.com/joshhunt)
- **DataFrame:** Add explicit histogram frame type. [#61195](https://github.com/grafana/grafana/pull/61195), [@leeoniya](https://github.com/leeoniya)
- **Dropdown:** Make escape close a dropdown. [#62098](https://github.com/grafana/grafana/pull/62098), [@ashharrison90](https://github.com/ashharrison90)
- **Explore:** Fix a11y issue with show all series button in Graph. [#58943](https://github.com/grafana/grafana/pull/58943), [@Elfo404](https://github.com/Elfo404)
- **Explore:** Fixes explore page height and margin issues. [#59865](https://github.com/grafana/grafana/pull/59865), [@torkelo](https://github.com/torkelo)
- **Explore:** Re-initialize graph when number of series to show changes. [#60499](https://github.com/grafana/grafana/pull/60499), [@Elfo404](https://github.com/Elfo404)
- **Fix:** Unlocking the UI for AuthProxy users. [#59507](https://github.com/grafana/grafana/pull/59507), [@gamab](https://github.com/gamab)
- **GrafanaUI:** Checkbox description fix. [#61929](https://github.com/grafana/grafana/pull/61929), [@juanicabanas](https://github.com/juanicabanas)
- **LDAP:** Disable user in case it has been removed from LDAP directory. [#60231](https://github.com/grafana/grafana/pull/60231), [@mgyongyosi](https://github.com/mgyongyosi)
- **LibraryPanels:** Fix issue where viewer with folder edit permissions could not update library panel. [#58420](https://github.com/grafana/grafana/pull/58420), [@kaydelaney](https://github.com/kaydelaney)
- **Loki Query Builder:** Fix bug parsing range params. [#61678](https://github.com/grafana/grafana/pull/61678), [@matyax](https://github.com/matyax)
- **MultiSelect:** Fix `actionMeta` not available in `onChange` callback. [#62339](https://github.com/grafana/grafana/pull/62339), [@svennergr](https://github.com/svennergr)
- **Navigation:** Fix finding the active nav item for plugins. [#62123](https://github.com/grafana/grafana/pull/62123), [@leventebalogh](https://github.com/leventebalogh)
- **PanelChrome:** Allow hovering on description when status error is visible. [#61757](https://github.com/grafana/grafana/pull/61757), [@ivanortegaalba](https://github.com/ivanortegaalba)
- **PanelEditor:** Fixes issue where panel edit would show the panel plugin options of the previous edit panel. [#59861](https://github.com/grafana/grafana/pull/59861), [@torkelo](https://github.com/torkelo)
- **PublicDashboards:** Footer alignment fix for Firefox browser. [#62108](https://github.com/grafana/grafana/pull/62108), [@juanicabanas](https://github.com/juanicabanas)
- **PublicDashboards:** Footer position fix. [#61954](https://github.com/grafana/grafana/pull/61954), [@juanicabanas](https://github.com/juanicabanas)
- **RBAC:** Fix DeleteUserPermissions not being called on Upsert org sync. [#60531](https://github.com/grafana/grafana/pull/60531), [@Jguer](https://github.com/Jguer)
- **RBAC:** Handle edge case where there is duplicated acl entries for a role on a single dashboard. [#58079](https://github.com/grafana/grafana/pull/58079), [@kalleep](https://github.com/kalleep)
- **Resource Query Cache:** Do not store 207 status codes. (Enterprise)
- **SAML:** Do not register SAML support bundle collector when SAML is disabled. (Enterprise)
- **SSE:** Fix math expression to support NoData results. [#61721](https://github.com/grafana/grafana/pull/61721), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Security:** Fix XSS in runbook URL. [#59540](https://github.com/grafana/grafana/pull/59540), [@dsotirakis](https://github.com/dsotirakis)
- **TimeSeries:** Better y-axis ticks for IEC units. [#59984](https://github.com/grafana/grafana/pull/59984), [@leeoniya](https://github.com/leeoniya)
- **TimeSeries:** Fix rendering when zooming to time ranges between datapoints. [#59444](https://github.com/grafana/grafana/pull/59444), [@leeoniya](https://github.com/leeoniya)
- **TimeSeries:** Fix y-axis Yes/No and On/Off boolean units. [#61207](https://github.com/grafana/grafana/pull/61207), [@leeoniya](https://github.com/leeoniya)
- **Traces:** Fix for multiple $\_\_tags in trace to metrics. [#59641](https://github.com/grafana/grafana/pull/59641), [@joey-grafana](https://github.com/joey-grafana)
- **Variables:** Allow user to filter values in dropdown using white space. [#60622](https://github.com/grafana/grafana/pull/60622), [@yusuf-multhan](https://github.com/yusuf-multhan)
### Breaking changes
Removes the non-functional feature toggle `influxdbBackendMigration`. InfluxDB is working %100 with server access mode. You can keep using your dashboards, and data sources as you have been using. This won't affect them. If you are upgrading from older versions of Grafana please be sure to check your dashboard config and check for warnings. Issue [#61308](https://github.com/grafana/grafana/issues/61308)
Removes support for "detected fields" in the details of a log line, however all supported interactions (filter, statistics, visibility) are now supported for all fields. If you are using Loki you can get those fields back by using a parser operation like `logfmt` or `json`.
Issue [#60448](https://github.com/grafana/grafana/issues/60448)
### Deprecations
In the elasticsearch data source, the "Raw document" display mode is deprecated. We recommend using the "Raw Data" mode instead. Issue [#62236](https://github.com/grafana/grafana/issues/62236)
Sentry frontend logging provider will be removed with next major version. Issue [#60165](https://github.com/grafana/grafana/issues/60165)
### Plugin development fixes & changes
- **FileDropzone:** Display max file size. [#62334](https://github.com/grafana/grafana/pull/62334), [@oscarkilhed](https://github.com/oscarkilhed)
- **Chore:** Bump d3-color to 3.1.0. [#61609](https://github.com/grafana/grafana/pull/61609), [@jackw](https://github.com/jackw)
- **UI/Alert:** Infer the `role` property based on the `severity`. [#61242](https://github.com/grafana/grafana/pull/61242), [@leventebalogh](https://github.com/leventebalogh)
- **PanelChrome:** Menu is wrapped in a render prop for full outside control. [#60537](https://github.com/grafana/grafana/pull/60537), [@polibb](https://github.com/polibb)
- **Toolkit:** Deprecate all plugin related commands. [#60290](https://github.com/grafana/grafana/pull/60290), [@academo](https://github.com/academo)
- **Grafana UI:** Add experimental InteractiveTable component. [#58223](https://github.com/grafana/grafana/pull/58223), [@Elfo404](https://github.com/Elfo404)
<!-- 9.3.11 START -->
# 9.3.11 (2023-03-22)
### Bug fixes
- **Alerting:** Update scheduler to receive rule updates only from database. [#64662](https://github.com/grafana/grafana/pull/64662), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Chore:** Update Grafana to use Alertmanager v0.25.1-0.20230308154952-78fedf89728b. [#64784](https://github.com/grafana/grafana/pull/64784), [@yuri-tceretian](https://github.com/yuri-tceretian)
<!-- 9.3.11 END -->
<!-- 9.3.8 START -->
# 9.3.8 (2023-02-28)
<!-- 9.3.8 END -->
<!-- 9.3.7 START -->
# 9.3.7 (2023-02-28)
### Bug fixes
- **Alerting:** Validate that tags are 100 characters or less. [#62335](https://github.com/grafana/grafana/pull/62335), [@grobinson-grafana](https://github.com/grobinson-grafana)
- **Expressions:** Fixes the issue showing expressions editor. [#62510](https://github.com/grafana/grafana/pull/62510), [@itsmylife](https://github.com/itsmylife)
- **Logs:** Fix stats not being updated when log results change. [#62317](https://github.com/grafana/grafana/pull/62317), [@svennergr](https://github.com/svennergr)
- **Plugins:** Fix circular reference in customOptions leading to MarshalJSON errors. [#62328](https://github.com/grafana/grafana/pull/62328), [@yoziru](https://github.com/yoziru)
- **Time Series Panel:** Fix legend text selection in Firefox. [#60809](https://github.com/grafana/grafana/pull/60809), [@codeincarnate](https://github.com/codeincarnate)
<!-- 9.3.7 END -->
<!-- 9.4.0-beta1 END -->
<!-- 9.3.6 START -->
# 9.3.6 (2023-01-26)
@@ -324,6 +722,16 @@ The following functions and classes related to logs are deprecated in the `grafa
- **Toolkit:** Deprecate `component:create` command. [#56086](https://github.com/grafana/grafana/pull/56086), [@academo](https://github.com/academo)
- **Toolkit:** Remove changelog command. [#56073](https://github.com/grafana/grafana/pull/56073), [@gitstart](https://github.com/gitstart)
<!-- 9.2.15 START -->
# 9.2.15 (2023-03-22)
<!-- 9.2.15 END -->
<!-- 9.2.13 START -->
<!-- 9.2.13 END -->
<!-- 9.2.10 START -->
# 9.2.10 (2023-01-24)
@@ -2006,6 +2414,18 @@ In the Loki data source, for consistency and performance reasons, we changed how
The dependency to [grafana/aws-sdk](https://github.com/grafana/grafana-aws-sdk-react) is moved from [grafana/ui](https://github.com/grafana/grafana/blob/main/packages/grafana-ui/package.json) to the plugin. This means that any plugin that use SIGV4 auth need to pass a SIGV4 editor component as a prop to the `DataSourceHttpSettings` component. Issue [#43559](https://github.com/grafana/grafana/issues/43559)
<!-- 8.5.22 START -->
# 8.5.22 (2023-03-22)
<!-- 8.5.22 END -->
<!-- 8.5.21 START -->
# 8.5.21 (2023-02-28)
<!-- 8.5.21 END -->
<!-- 8.5.20 START -->
# 8.5.20 (2023-01-25)

View File

@@ -1,13 +1,14 @@
# syntax=docker/dockerfile:1
ARG BASE_IMAGE=alpine:3.15
ARG JS_IMAGE=node:18-alpine3.15
ARG GO_IMAGE=golang:1.19.4-alpine3.17
ARG BASE_IMAGE=alpine:3.17
ARG JS_IMAGE=node:18-alpine3.17
ARG JS_PLATFORM=linux/amd64
ARG GO_IMAGE=golang:1.20.1-alpine3.17
ARG GO_SRC=go-builder
ARG JS_SRC=js-builder
FROM ${JS_IMAGE} as js-builder
FROM --platform=${JS_PLATFORM} ${JS_IMAGE} as js-builder
ENV NODE_OPTIONS=--max_old_space_size=8000
@@ -18,7 +19,7 @@ COPY .yarn .yarn
COPY packages packages
COPY plugins-bundled plugins-bundled
RUN yarn install
RUN yarn install --immutable
COPY tsconfig.json .eslintrc .editorconfig .browserslistrc .prettierrc.js babel.config.json .linguirc ./
COPY public public
@@ -30,6 +31,10 @@ RUN yarn build
FROM ${GO_IMAGE} as go-builder
ARG GO_BUILD_TAGS="oss"
ARG WIRE_TAGS="oss"
ARG BINGO="true"
# Install build dependencies
RUN if grep -i -q alpine /etc/issue; then \
apk add --no-cache gcc g++ make; \
@@ -40,22 +45,25 @@ WORKDIR /tmp/grafana
COPY go.* ./
COPY .bingo .bingo
RUN go mod download && \
go install github.com/bwplotka/bingo@latest && \
bingo get
RUN go mod download
RUN if [[ "$BINGO" = "true" ]]; then \
go install github.com/bwplotka/bingo@latest && \
bingo get -v; \
fi
COPY embed.go Makefile build.go package.json ./
COPY cue.mod cue.mod
COPY kinds kinds
COPY local local
COPY packages/grafana-schema packages/grafana-schema
COPY public/app/plugins public/app/plugins
COPY public/api-spec.json public/api-spec.json
COPY public/api-merged.json public/api-merged.json
COPY pkg pkg
COPY scripts scripts
COPY conf conf
COPY .github .github
RUN make build-go
RUN make build-go GO_BUILD_TAGS=${GO_BUILD_TAGS} WIRE_TAGS=${WIRE_TAGS}
FROM ${BASE_IMAGE} as tgz-builder
@@ -106,11 +114,12 @@ RUN if grep -i -q alpine /etc/issue; then \
# glibc support for alpine x86_64 only
RUN if grep -i -q alpine /etc/issue && [ `arch` = "x86_64" ]; then \
wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub && \
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.35-r0/glibc-2.35-r0.apk \
-O /tmp/glibc-2.35-r0.apk && \
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.35-r0/glibc-bin-2.35-r0.apk \
-O /tmp/glibc-bin-2.35-r0.apk && \
apk add --no-cache --allow-untrusted /tmp/glibc-2.35-r0.apk /tmp/glibc-bin-2.35-r0.apk && \
apk add --force-overwrite --no-cache /tmp/glibc-2.35-r0.apk /tmp/glibc-bin-2.35-r0.apk && \
rm -f /lib64/ld-linux-x86-64.so.2 && \
ln -s /usr/glibc-compat/lib64/ld-linux-x86-64.so.2 /lib64/ld-linux-x86-64.so.2 && \
rm -f /tmp/glibc-2.35-r0.apk && \

View File

@@ -16,6 +16,8 @@ GO_BUILD_FLAGS += $(if $(GO_BUILD_DEV),-dev)
GO_BUILD_FLAGS += $(if $(GO_BUILD_DEV),-dev)
GO_BUILD_FLAGS += $(if $(GO_BUILD_TAGS),-build-tags=$(GO_BUILD_TAGS))
targets := $(shell echo '$(sources)' | tr "," " ")
all: deps build
##@ Dependencies
@@ -49,6 +51,7 @@ $(SPEC_TARGET): $(SWAGGER) ## Generate API Swagger specification
-x "github.com/prometheus/alertmanager" \
-i pkg/api/swagger_tags.json \
--exclude-tag=alpha
go run pkg/services/ngalert/api/tooling/cmd/clean-swagger/main.go -if $@ -of $@
swagger-api-spec: gen-go $(SPEC_TARGET) $(MERGED_SPEC_TARGET) validate-api-spec
@@ -56,7 +59,7 @@ validate-api-spec: $(MERGED_SPEC_TARGET) $(SWAGGER) ## Validate API spec
$(SWAGGER) validate $(<)
clean-api-spec:
rm $(SPEC_TARGET) $(MERGED_SPEC_TARGET) $(OAPI_SPEC_TARGET)
rm -f $(SPEC_TARGET) $(MERGED_SPEC_TARGET) $(OAPI_SPEC_TARGET)
##@ OpenAPI 3
OAPI_SPEC_TARGET = public/openapi3.json
@@ -74,7 +77,7 @@ gen-cue: ## Do all CUE/Thema code generation
gen-go: $(WIRE) gen-cue
@echo "generate go files"
$(WIRE) gen -tags $(WIRE_TAGS) ./pkg/server ./pkg/cmd/grafana-cli/runner
$(WIRE) gen -tags $(WIRE_TAGS) ./pkg/server
fix-cue: $(CUE)
@echo "formatting cue files"
@@ -84,7 +87,7 @@ fix-cue: $(CUE)
gen-jsonnet:
go generate ./devenv/jsonnet
build-go: $(MERGED_SPEC_TARGET) gen-go ## Build all Go binaries.
build-go: gen-go ## Build all Go binaries.
@echo "build go files"
$(GO) run build.go $(GO_BUILD_FLAGS) build
@@ -162,19 +165,32 @@ shellcheck: $(SH_FILES) ## Run checks for shell scripts.
##@ Docker
TAG_SUFFIX=$(if $(WIRE_TAGS)!=oss,-$(WIRE_TAGS))
PLATFORM=linux/amd64
build-docker-full: ## Build Docker image for development.
@echo "build docker container"
DOCKER_BUILDKIT=1 \
docker build \
--tag grafana/grafana:dev .
tar -ch . | \
docker buildx build - \
--platform $(PLATFORM) \
--build-arg BINGO=false \
--build-arg GO_BUILD_TAGS=$(GO_BUILD_TAGS) \
--build-arg WIRE_TAGS=$(WIRE_TAGS) \
--tag grafana/grafana$(TAG_SUFFIX):dev \
$(DOCKER_BUILD_ARGS)
build-docker-full-ubuntu: ## Build Docker image based on Ubuntu for development.
@echo "build docker container"
DOCKER_BUILDKIT=1 \
docker build \
tar -ch . | \
docker buildx build - \
--platform $(PLATFORM) \
--build-arg BINGO=false \
--build-arg GO_BUILD_TAGS=$(GO_BUILD_TAGS) \
--build-arg WIRE_TAGS=$(WIRE_TAGS) \
--build-arg BASE_IMAGE=ubuntu:20.04 \
--build-arg GO_IMAGE=golang:1.19.4 \
--tag grafana/grafana:dev-ubuntu .
--build-arg GO_IMAGE=golang:1.20.1 \
--tag grafana/grafana$(TAG_SUFFIX):dev-ubuntu \
$(DOCKER_BUILD_ARGS)
##@ Services
@@ -185,8 +201,6 @@ devenv:
@printf 'You have to define sources for this command \nexample: make devenv sources=postgres,openldap\n'
else
devenv: devenv-down ## Start optional services, e.g. postgres, prometheus, and elasticsearch.
$(eval targets := $(shell echo '$(sources)' | tr "," " "))
@cd devenv; \
./create_docker_compose.sh $(targets) || \
(rm -rf {docker-compose.yaml,conf.tmp,.env}; exit 1)

View File

@@ -213,6 +213,9 @@ response_limit = 0
# Limits the number of rows that Grafana will process from SQL data sources.
row_limit = 1000000
# Sets a custom value for the `User-Agent` header for outgoing data proxy requests. If empty, the default value is `Grafana/<BuildVersion>` (for example `Grafana/9.0.0`).
user_agent =
#################################### Analytics ###########################
[analytics]
# Server reporting, sends usage counters to stats.grafana.org every 24 hours.
@@ -262,6 +265,9 @@ rudderstack_sdk_url =
# Rudderstack Config url, optional, used by Rudderstack SDK to fetch source config
rudderstack_config_url =
# Intercom secret, optional, used to hash user_id before passing to Intercom via Rudderstack
intercom_secret =
# Application Insights connection string. Specify an URL string to enable this feature.
application_insights_connection_string =
@@ -487,6 +493,7 @@ oauth_auto_login = false
oauth_state_cookie_max_age = 600
# Skip forced assignment of OrgID 1 or 'auto_assign_org_id' for social logins
# Deprecated, use skip_org_role_sync option for specific provider instead.
oauth_skip_org_role_update_sync = false
# limit of api_key seconds to live before expiration
@@ -517,6 +524,8 @@ hide_version = false
#################################### GitHub Auth #########################
[auth.github]
name = GitHub
icon = github
enabled = false
allow_sign_up = true
auto_login = false
@@ -532,9 +541,12 @@ allowed_organizations =
role_attribute_path =
role_attribute_strict = false
allow_assign_grafana_admin = false
tls_skip_verify_insecure = false
#################################### GitLab Auth #########################
[auth.gitlab]
name = GitLab
icon = gitlab
enabled = false
allow_sign_up = true
auto_login = false
@@ -550,9 +562,12 @@ role_attribute_path =
role_attribute_strict = false
allow_assign_grafana_admin = false
skip_org_role_sync = false
tls_skip_verify_insecure = false
#################################### Google Auth #########################
[auth.google]
name = Google
icon = google
enabled = false
allow_sign_up = true
auto_login = false
@@ -565,6 +580,7 @@ api_url = https://www.googleapis.com/oauth2/v1/userinfo
allowed_domains =
hosted_domain =
skip_org_role_sync = false
tls_skip_verify_insecure = false
#################################### Grafana.com Auth ####################
# legacy key names (so they work in env variables)
@@ -577,6 +593,8 @@ scopes = user:email
allowed_organizations =
[auth.grafana_com]
name = Grafana.com
icon = grafana
enabled = false
allow_sign_up = true
auto_login = false
@@ -588,7 +606,8 @@ skip_org_role_sync = false
#################################### Azure AD OAuth #######################
[auth.azuread]
name = Azure AD
name = Microsoft
icon = microsoft
enabled = false
allow_sign_up = true
auto_login = false
@@ -602,6 +621,7 @@ allowed_groups =
role_attribute_strict = false
allow_assign_grafana_admin = false
force_use_graph_api = false
tls_skip_verify_insecure = false
#################################### Okta OAuth #######################
[auth.okta]
@@ -622,6 +642,7 @@ role_attribute_path =
role_attribute_strict = false
allow_assign_grafana_admin = false
skip_org_role_sync = false
tls_skip_verify_insecure = false
#################################### Generic OAuth #######################
[auth.generic_oauth]
@@ -657,6 +678,7 @@ tls_client_ca =
use_pkce = false
auth_style =
allow_assign_grafana_admin = false
skip_org_role_sync = false
#################################### Basic Auth ##########################
[auth.basic]
@@ -898,6 +920,9 @@ global_alert_rule = -1
# global limit of files uploaded to the SQL DB
global_file = 1000
# global limit of correlations
global_correlations = -1
#################################### Unified Alerting ####################
[unified_alerting]
# Enable the Unified Alerting sub-system and interface. When enabled we'll migrate all of your alert rules and notification channels to the new system. New alert rules will be created and your notification channels will be converted into an Alertmanager configuration. Previous data is preserved to enable backwards compatibility but new data is removed when switching. When this configuration section and flag are not defined, the state is defined at runtime. See the documentation for more details.
@@ -954,7 +979,8 @@ max_attempts = 3
min_interval = 10s
[unified_alerting.screenshots]
# Enable screenshots in notifications. This option requires the Grafana Image Renderer plugin.
# Enable screenshots in notifications. You must have either installed the Grafana image rendering
# plugin, or set up Grafana to use a remote rendering service.
# For more information on configuration options, refer to [rendering].
capture = false
@@ -1217,6 +1243,8 @@ plugin_admin_external_manage_enabled = false
plugin_catalog_url = https://grafana.com/grafana/plugins/
# Enter a comma-separated list of plugin identifiers to hide in the plugin catalog.
plugin_catalog_hidden_plugins =
# Log all backend requests for core and external plugins.
log_backend_requests = false
#################################### Grafana Live ##########################################
[live]
@@ -1372,6 +1400,14 @@ max_crawl_duration =
# This setting should be expressed as a duration. Examples: 10s (seconds), 1m (minutes).
scheduler_interval =
#################################### Support Bundles #####################################
[support_bundles]
# Enable support bundle creation (default: true)
enabled = true
# Only server admins can generate and view support bundles (default: true)
server_admin_only = true
# If set, bundles will be encrypted with the provided public keys separated by whitespace
public_keys = ""
#################################### Storage ################################################

View File

@@ -11,6 +11,11 @@ port = 389
use_ssl = false
# If set to true, use LDAP with STARTTLS instead of LDAPS
start_tls = false
# The value of an accepted TLS cipher. By default, this value is empty. Example value: ["TLS_AES_256_GCM_SHA384"])
# For a complete list of supported ciphers and TLS versions, refer to: https://go.dev/src/crypto/tls/cipher_suites.go
tls_ciphers = []
# This is the minimum TLS version allowed. By default, this value is empty. Accepted values are: TLS1.1, TLS1.2, TLS1.3.
min_tls_version = ""
# set to true if you want to skip ssl cert validation
ssl_skip_verify = false
# set to the path to your root CA certificate or leave unset to use system defaults

View File

@@ -220,6 +220,9 @@
# Limits the number of rows that Grafana will process from SQL data sources.
;row_limit = 1000000
# Sets a custom value for the `User-Agent` header for outgoing data proxy requests. If empty, the default value is `Grafana/<BuildVersion>` (for example `Grafana/9.0.0`).
;user_agent =
#################################### Analytics ####################################
[analytics]
# Server reporting, sends usage counters to stats.grafana.org every 24 hours.
@@ -269,6 +272,9 @@
# Rudderstack Config url, optional, used by Rudderstack SDK to fetch source config
;rudderstack_config_url =
# Intercom secret, optional, used to hash user_id before passing to Intercom via Rudderstack
;intercom_secret =
# Controls if the UI contains any links to user feedback forms
;feedback_links_enabled = true
@@ -413,7 +419,7 @@
# Set this value to automatically add new users to the provided organization (if auto_assign_org above is set to true)
;auto_assign_org_id = 1
# Default role new users will be automatically assigned (if disabled above is set to true)
# Default role new users will be automatically assigned (if auto_assign_org above is set to true)
;auto_assign_org_role = Viewer
# Require email validation before sign up completes
@@ -488,6 +494,7 @@
;oauth_state_cookie_max_age = 600
# Skip forced assignment of OrgID 1 or 'auto_assign_org_id' for social logins
# Deprecated, use skip_org_role_sync option for specific provider instead.
;oauth_skip_org_role_update_sync = false
# limit of api_key seconds to live before expiration
@@ -521,6 +528,8 @@
#################################### GitHub Auth ##########################
[auth.github]
;name = GitHub
;icon = github
;enabled = false
;allow_sign_up = true
;auto_login = false
@@ -539,6 +548,8 @@
#################################### GitLab Auth #########################
[auth.gitlab]
;name = GitLab
;icon = gitlab
;enabled = false
;allow_sign_up = true
;auto_login = false
@@ -557,6 +568,8 @@
#################################### Google Auth ##########################
[auth.google]
;name = Google
;icon = google
;enabled = false
;allow_sign_up = true
;auto_login = false
@@ -572,6 +585,8 @@
#################################### Grafana.com Auth ####################
[auth.grafana_com]
;name = Grafana.com
;icon = grafana
;enabled = false
;allow_sign_up = true
;auto_login = false
@@ -583,7 +598,8 @@
#################################### Azure AD OAuth #######################
[auth.azuread]
;name = Azure AD
;name = Microsoft
;icon = microsoft
;enabled = false
;allow_sign_up = true
;auto_login = false
@@ -888,6 +904,9 @@
# global limit of alerts
;global_alert_rule = -1
# global limit of correlations
; global_correlations = -1
#################################### Unified Alerting ####################
[unified_alerting]
#Enable the Unified Alerting sub-system and interface. When enabled we'll migrate all of your alert rules and notification channels to the new system. New alert rules will be created and your notification channels will be converted into an Alertmanager configuration. Previous data is preserved to enable backwards compatibility but new data is removed.```
@@ -1176,6 +1195,8 @@
;plugin_catalog_url = https://grafana.com/grafana/plugins/
# Enter a comma-separated list of plugin identifiers to hide in the plugin catalog.
;plugin_catalog_hidden_plugins =
# Log all backend requests for core and external plugins.
;log_backend_requests = false
#################################### Grafana Live ##########################################
[live]
@@ -1260,6 +1281,14 @@
;grpc_host =
;grpc_port =
[support_bundles]
# Enable support bundle creation (default: true)
#enabled = true
# Only server admins can generate and view support bundles (default: true)
#server_admin_only = true
# If set, bundles will be encrypted with the provided public keys separated by whitespace
#public_keys = ""
[enterprise]
# Path to a valid Grafana Enterprise license.jwt file
;license_path =

View File

@@ -1,98 +1,24 @@
# Backend
This document gives an overview of the directory structure, and ongoing refactorings.
First read the [backend style guide](/contribute/backend/style-guide.md)
to get a sense for how we work to ensure that the Grafana codebase is
consistent and accessible. The rest of the backend contributor
documentation is more relevant to reviewers and contributors looking to
make larger changes.
For more information on developing for the backend:
For anyone reviewing code for Grafana's backend, a basic understanding
of content of the following files is expected:
- [Backend style guide](/contribute/backend/style-guide.md)
- [Architecture](/contribute/architecture)
- [Currently recommended practices](/contribute/backend/recommended-practices.md)
- [Services](/contribute/backend/services.md)
- [Communication](/contribute/backend/communication.md)
- [Database](/contribute/backend/database.md)
- [HTTP API](/pkg/api/README.md)
## Central folders of Grafana's backend
| folder | description |
| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| /pkg/api | HTTP handlers and routing. Almost all handler funcs are global which is something we would like to improve in the future. Handlers should be associated with a struct that refers to all dependencies. |
| /pkg/cmd | The binaries that we build: grafana-server and grafana-cli. |
| /pkg/components | A mix of third-party packages and packages we have implemented ourselves. Includes our packages that have out-grown the util package and don't naturally belong somewhere else. |
| /pkg/infra | Packages in infra should be packages that are used in multiple places in Grafana without knowing anything about the Grafana domain. |
| /pkg/services | Packages in services are responsible for persisting domain objects and manage the relationship between domain objects. Services should communicate with each other using DI when possible. Most of Grafana's codebase still relies on global state for this. Any new features going forward should use DI. |
| /pkg/tsdb | All backend implementations of the data sources in Grafana. Used by both Grafana's frontend and alerting. |
| /pkg/util | Small helper functions that are used in multiple parts of the codebase. Many functions are placed directly in the util folders which is something we want to avoid. Its better to give the util function a more descriptive package name. Ex `errutil`. |
## Central components of Grafana's backend
| package | description |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| /pkg/bus | The bus is described in more details under [Communication](/contribute/backend/communication.md) |
| /pkg/models | This is where we keep our domain model. This package should not depend on any package outside standard library. It does contain some references within Grafana but that is something we should avoid going forward. |
| /pkg/registry | Package for managing services. |
| /pkg/services/alerting | Grafana's alerting services. The alerting engine runs in a separate goroutine and shouldn't depend on anything else within Grafana. |
| /pkg/services/sqlstore | Currently where the database logic resides. |
| /pkg/setting | Anything related to Grafana global configuration should be dealt with in this package. |
Reviewers who review large changes should additionally make a habit out
of familiarizing themselves with the content of
[/contribute/backend](/contribute/backend) from time to time.
## Dependency management
Refer to [UPGRADING_DEPENDENCIES.md](https://github.com/grafana/grafana/blob/main/UPGRADING_DEPENDENCIES.md).
## Ongoing refactoring
These issues are not something we want to address all at once but something we will improve incrementally. Since Grafana is released at a regular schedule the preferred approach is to do this in batches. Not only is it easier to review, but it also reduces the risk of conflicts when cherry-picking fixes from main to release branches. Please try to submit changes that span multiple locations at the end of the release cycle. We prefer to wait until the end because we make fewer patch releases at the end of the release cycle, so there are fewer opportunities for complications.
### Global state
Global state makes testing and debugging software harder and it's something we want to avoid when possible. Unfortunately, there is quite a lot of global state in Grafana.
We want to migrate away from this by using the `inject` package to wire up all dependencies either in `pkg/cmd/grafana-server/main.go` or self-registering using `registry.RegisterService` ex https://github.com/grafana/grafana/blob/main/pkg/services/cleanup/cleanup.go#L25.
### Limit the use of the init() function
Only use the init() function to register services/implementations.
### Settings refactoring
The plan is to move all settings to from package level vars in settings package to the [setting.Cfg](https://github.com/grafana/grafana/blob/df917663e6f358a076ed3daa9b199412e95c11f4/pkg/setting/setting.go#L210) struct. To access the settings, services and components can inject this setting.Cfg struct:
[Cfg struct](https://github.com/grafana/grafana/blob/df917663e6f358a076ed3daa9b199412e95c11f4/pkg/setting/setting.go#L210)
[Injection example](https://github.com/grafana/grafana/blob/df917663e6f358a076ed3daa9b199412e95c11f4/pkg/services/cleanup/cleanup.go#L20)
### Reduce the use of GoConvey
We want to migrate away from using GoConvey. Instead, we want to use stdlib testing, because it's the most common approach in the Go community and we think it will be easier for new contributors. Read more about how we want to write tests in the [style guide](/contribute/backend/style-guide.md).
### Refactor SqlStore
The `sqlstore` handlers all use a global xorm engine variable. Refactor them to use the `SqlStore` instance.
### Avoid global HTTP handler functions
Refactor HTTP handlers so that the handler methods are on the HttpServer instance or a more detailed handler struct. E.g (AuthHandler). This ensures they get access to HttpServer service dependencies (and Cfg object) and can avoid global state.
### Date comparison
Store newly introduced date columns in the database as epochs if they require date comparison. This permits a unified approach for comparing dates against all the supported databases instead of handling dates differently for each database. Also, by comparing epochs, we no longer need error pruning transformations to and from other time zones.
### Avoid use of the simplejson package
Use of the `simplejson` package (`pkg/components/simplejson`) in place of types (Go structs) results in code that is difficult to maintain. Instead, create types for objects and use the Go standard library's [`encoding/json`](https://golang.org/pkg/encoding/json/) package.
### Provisionable\*
All new features that require state should be possible to configure using config files. For example:
- [Data sources](https://github.com/grafana/grafana/tree/main/pkg/services/provisioning/datasources)
- [Alert notifiers](https://github.com/grafana/grafana/tree/main/pkg/services/provisioning/notifiers)
- [Dashboards](https://github.com/grafana/grafana/tree/main/pkg/services/provisioning/dashboards)
Today its only possible to provision data sources and dashboards but this is something we want to support all over Grafana.
### Use context.Context "everywhere"
The package [context](https://golang.org/pkg/context/) should be used and propagated through all the layers of the code. For example the `context.Context` of an incoming API request should be propagated to any other layers being used such as the bus, service and database layers. Utility functions/methods normally doesn't need `context.Context` To follow best practices, any function/method that receives a context.Context argument should receive it as its first argument.
To be able to solve certain problems and/or implement and support certain features making sure that `context.Context` is passed down through all layers of the code is vital. Being able to provide contextual information for the full life-cycle of an API request allows us to use contextual logging, provide contextual information about the authenticated user, create multiple spans for a distributed trace of service calls and database queries etc.
Code should use `context.TODO` when it's unclear which Context to use or it is not yet available (because the surrounding function has not yet been extended to accept a `context.Context` argument).
More details in [Services](/contribute/backend/services.md), [Communication](/contribute/backend/communication.md) and [Database](/contribute/backend/database.md).
[Original design doc](https://docs.google.com/document/d/1ebUhUVXU8FlShezsN-C64T0dOoo-DaC9_r-c8gB2XEU/edit#).

View File

@@ -1,6 +1,7 @@
# Communication
Grafana uses a _bus_ to pass messages between different parts of the application. All communication over the bus happens synchronously.
Grafana use dependency injection and method calls on Go interfaces to
communicate between different parts of the backend.
## Commands and queries

View File

@@ -0,0 +1,169 @@
# Currently recommended practices
We occasionally identify patterns that are either useful or harmful that
we'll want to introduce or remove from the codebase. When the complexity
or importance of introducing or removing such a pattern is sufficiently
high, we'll document it here to provide an addressable local
'currently recommended practice'. By collecting these practices in a
single place, we're able to reference them and make it easier to have a
shared understanding of how to write idiomatic code for the Grafana
backend.
Large-scale refactoring based on a new recommended practice is a
delicate matter, and most of the time it's better to introduce the new
way incrementally over multiple releases and over time to balance the
want to introduce new useful patterns and the need to keep Grafana
stable. It's also easier to review and revert smaller chunks of changes,
reducing the risk of complications.
| State | Description |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| Proposed | The practice has been proposed and been positively received by the Grafana team. Following the proposal is a discretionary choice for developers. |
| Ongoing, active | The practice is actively being worked on. New code should adhere to the practice where at all possible. |
| Ongoing, passive | There is no immediate active work on refactoring old code. New code should adhere to the practice where at all possible. |
| Completed | The work has been done and there is no, or negligible, legacy code left that need refactoring. New code must adhere to the practice. |
| Abandoned | The practice has no longer any active ongoing work and new code don't need to comply with the practice described. |
## 1 - Idiomatic Grafana code should be idiomatic Go code
**Status:** Ongoing, passive.
It'll be easier for contributors to start contributing to Grafana if our
code is easily understandable. When there isn't a more specific Grafana
recommended practice, we recommend following the practices as put forth
by the Go project for development of Go code or the Go compiler itself
when applicable.
The first resource we recommend everyone developing Grafana's backend to
skim is "[Effective Go](https://golang.org/doc/effective_go.html)",
which isn't updated to reflect more recent changes since Go was
initially released but remain a good source for understanding the
general differences between Go and other languages.
Secondly, the guidelines for [Code Review Comments](https://github.com/golang/go/wiki/CodeReviewComments)
for the Go compiler can mostly be applied directly to the Grafana
codebase. There are idiosyncrasies in Grafana such as interfaces living
closer to its declaration than to its users for services and don't
enforce documentation of public declarations (prioritize high coverage
of documentation aimed at end-users over documenting internals in the
backend).
- [Effective Go](https://golang.org/doc/effective_go.html)
- [Code Review Comments](https://github.com/golang/go/wiki/CodeReviewComments)
## 100 - Global state
**State:** Ongoing, passive.
Global state makes testing and debugging software harder, and it's something we want to avoid when possible. Unfortunately, there is quite a lot of global state in Grafana.
We want to migrate away from this by using
[Wire](https://github.com/google/wire) and dependency injection to pack
## 101 - Limit the use of the init() function
**State:** Ongoing, passive.
Only use the init() function to register services/implementations.
## 102 - Settings refactoring
**State:** Ongoing, passive.
The plan is to move all settings to from package level vars in settings package to the [setting.Cfg](https://github.com/grafana/grafana/blob/df917663e6f358a076ed3daa9b199412e95c11f4/pkg/setting/setting.go#L210) struct. To access the settings, services and components can inject this setting.Cfg struct:
- [Cfg struct](https://github.com/grafana/grafana/blob/df917663e6f358a076ed3daa9b199412e95c11f4/pkg/setting/setting.go#L210)
- [Injection example](https://github.com/grafana/grafana/blob/c9773e55b234b7637ea97b671161cd856a1d3d69/pkg/services/cleanup/cleanup.go#L34)
## 103 - Reduce the use of GoConvey
**State:** Completed.
We want to migrate away from using GoConvey. Instead, we want to use
stdlib testing with [testify](https://github.com/stretchr/testify),
because it's the most common approach in the Go community, and we think
it will be easier for new contributors. Read more about how we want to
write tests in the [style guide](/contribute/backend/style-guide.md).
## 104 - Refactor SqlStore
**State:** Completed.
The `sqlstore` handlers all use a global xorm engine variable. Refactor them to use the `SqlStore` instance.
## 105 - Avoid global HTTP handler functions
**State:** Ongoing, passive.
Refactor HTTP handlers so that the handler methods are on the HttpServer instance or a more detailed handler struct. E.g (AuthHandler). This ensures they get access to HttpServer service dependencies (and Cfg object) and can avoid global state.
## 106 - Date comparison
**State:** Ongoing, passive.
Store newly introduced date columns in the database as epoch based
integers (i.e. unix timestamps) if they require date comparison. This
permits a unified approach for comparing dates against all the supported
databases instead of handling dates differently for each database. Also,
by comparing epoch based integers, we no longer need error pruning
transformations to and from other time zones.
## 107 - Avoid use of the simplejson package
**State:** Ongoing, passive
Use of the `simplejson` package (`pkg/components/simplejson`) in place
of types (Go structs) results in code that is difficult to maintain.
Instead, create types for objects and use the Go standard library's
[`encoding/json`](https://golang.org/pkg/encoding/json/) package.
## 108 - Provisionable\*
**State:** Abandoned: Grafana's file based refactoring is limited to work natively only on on-premise installations of Grafana. We're looking at enhancing the use of the API to enable provisioning for all Grafana instances.
All new features that require state should be possible to configure using config files. For example:
- [Data sources](https://github.com/grafana/grafana/tree/main/pkg/services/provisioning/datasources)
- [Alert notifiers](https://github.com/grafana/grafana/tree/main/pkg/services/provisioning/notifiers)
- [Dashboards](https://github.com/grafana/grafana/tree/main/pkg/services/provisioning/dashboards)
Today it's only possible to provision data sources and dashboards but this is something we want to support all over Grafana.
### 109 - Use context.Context "everywhere"
**State:** Completed.
The package [context](https://golang.org/pkg/context/) should be used
and propagated through all the layers of the code. For example the
`context.Context` of an incoming API request should be propagated to any
other layers being used such as the bus, service and database layers.
Utility functions/methods normally doesn't need `context.Context`.
To follow Go best practices, any function/method that receives a
[`context.Context` argument should receive it as its first parameter](https://github.com/golang/go/wiki/CodeReviewComments#contexts).
To be able to solve certain problems and/or implement and support
certain features making sure that `context.Context` is passed down
through all layers of the code is vital. Being able to provide
contextual information for the full life-cycle of an API request allows
us to use contextual logging, provide contextual information about the
authenticated user, create multiple spans for a distributed trace of
service calls and database queries etc.
Code should use `context.TODO` when it's unclear which Context to use,
or it is not yet available (because the surrounding function has not yet
been extended to accept a `context.Context` argument).
More details in [Services](/contribute/backend/services.md), [Communication](/contribute/backend/communication.md) and [Database](/contribute/backend/database.md).
[Original design doc](https://docs.google.com/document/d/1ebUhUVXU8FlShezsN-C64T0dOoo-DaC9_r-c8gB2XEU/edit#).
## 110 - Move API error handling to service layer
**State:** Ongoing, passive.
All errors returned from Grafana's services should carry a status and
the information necessary to provide a structured end-user facing
message that the frontend can display and internationalize for
end-users.
More details in [Errors](/contribute/backend/errors.md).

View File

@@ -10,19 +10,12 @@ Unless stated otherwise, use the guidelines listed in the following articles:
## Linting and formatting
To ensure consistency across the Go codebase, we require all code to pass a number of linter checks.
To ensure consistency across the Go codebase, we require all code to
pass a number of linter checks.
We use the standard following linters:
- [gofmt](https://golang.org/cmd/gofmt/)
- [golint](https://github.com/golang/lint)
- [go vet](https://golang.org/cmd/vet/)
In addition to the standard linters, we also use:
- [revive](https://revive.run/) with a [custom config](https://github.com/grafana/grafana/blob/main/conf/revive.toml)
- [GolangCI-Lint](https://github.com/golangci/golangci-lint)
- [gosec](https://github.com/securego/gosec)
We use [GolangCI-Lint](https://github.com/golangci/golangci-lint) with a
custom configuration [.golangci.toml](/.golangci.toml) to run these
checks.
To run all linters, use the `lint-go` Makefile target:
@@ -36,10 +29,6 @@ We value clean and readable code, that is loosely coupled and covered by unit te
Tests must use the standard library, `testing`. For assertions, prefer using [testify](https://github.com/stretchr/testify).
The majority of our tests uses [GoConvey](http://goconvey.co/) but that's something we want to avoid going forward.
In the `sqlstore` package we do database operations in tests and while some might say that's not suited for unit tests. We think they are fast enough and provide a lot of value.
### Integration Tests
We run unit and integration tests separately, to help keep our CI pipeline running smoothly and provide a better developer experience.
@@ -55,7 +44,8 @@ func TestIntegrationFoo(t *testing.T) {
}
```
If you do not follow this convention, your integration test may be run twice or not run at all.
> Warning
> If you do not follow this convention, your integration test may be run twice or not run at all.
### Assertions
@@ -72,8 +62,7 @@ code, plus lets you run each test case in isolation when debugging. Don't use `t
### Cleanup
Use [`t.Cleanup`](https://golang.org/pkg/testing/#T.Cleanup) to clean up resources in tests. It's a less fragile choice than `defer`, since it's independent of which
function you call it in. It will always execute after the test is over in reverse call order (last `t.Cleanup` first, same as `defer`).
Use [`t.Cleanup`](https://golang.org/pkg/testing/#T.Cleanup) to clean up resources in tests. It's a preferable to `defer`, as it can be called from helper functions. It will always execute after the test is over in reverse call order (last `t.Cleanup` first, same as `defer`).
### Mock
@@ -201,11 +190,14 @@ for context.
If a column, or column combination, should be unique, add a corresponding uniqueness constraint through a migration.
### Usage of XORM Session.Insert() and Session.InsertOne()
The [Session.Insert()](https://pkg.go.dev/github.com/go-xorm/xorm#Session.Insert) and [Session.InsertOne()](https://pkg.go.dev/github.com/go-xorm/xorm#Session.InsertOne) are poorly documented and return the number of affected rows contrary to a common mistake that they return the newly introduced primary key. Therefore, contributors should be extra cautious when using them.
The same applies for the respective [Engine.Insert()](https://pkg.go.dev/github.com/go-xorm/xorm#Engine.Insert) and [Engine.InsertOne()](https://pkg.go.dev/github.com/go-xorm/xorm#Engine.InsertOne)
## JSON
The simplejson package is used a lot throughout the backend codebase, but it's legacy, so if at all possible
avoid using it in new code. Use [json-iterator](https://github.com/json-iterator/go) instead, which is a more performant
drop-in alternative to the standard [encoding/json](https://golang.org/pkg/encoding/json/) package. While encoding/json
is a fine choice, profiling shows that json-iterator may be 3-4 times more efficient for encoding. We haven't profiled
its parsing performance yet, but according to json-iterator's own benchmarks, it appears even more superior in this
department.
The simplejson package is used a lot throughout the backend codebase,
but it's legacy, so if at all possible avoid using it in new code.
Use [encoding/json](https://golang.org/pkg/encoding/json/) instead.

View File

@@ -0,0 +1,82 @@
# Support bundles
Support bundles are a way to collect all the information needed to debug a problem.
They are generated from the support bundle menu in the UI under the Help section.
The support bundle is an archive that contains one file per collector selected by
the user.
Collectors are functions in the backend that collect information about the service they are running in.
Services can register collectors during their initialization.
## Adding a new support bundle collector
To add a new support bundle collector, you need to follow these steps,
we'll use the usage stats service as an example:
1. Import the support bundles registry in the service's `ProvideService` function:
```go
type UsageStats struct {
...
}
func ProvideService(
...
bundleRegistry supportbundles.Service, // Bundle registry
) (*UsageStats, error)
```
2. `make gen-go` will then be able to wire the registry to the service.
3. Implement the collector
```go
func (uss *UsageStats) supportBundleCollector() supportbundles.Collector {
return supportbundles.Collector{
UID: "usage-stats", // unique ID for the collector
DisplayName: "Usage statistics", // display name for the collector in the UI
Description: "Usage statistics of the Grafana instance", // description for the collector in the UI
IncludedByDefault: false, // whether the collector is included by default in the support bundle and can't be deselected. Most times you want this to be false.
Default: false, // whether the collector is selected by default in the support bundle. User can still deselect it.
// Function that will actually collect the file during the support bundle generation.
Fn: func(ctx context.Context) (*supportbundles.SupportItem, error) {
// Add your service's logic to collect the information you need
// In this example we are collecting the usage stats and marshalling them to JSON
// This helps us get information about the usage of the Grafana instance
report, err := uss.GetUsageReport(context.Background())
if err != nil {
return nil, err
}
data, err := json.Marshal(report)
if err != nil {
return nil, err
}
return &supportbundles.SupportItem{
// filename of the file in the archive
// can be any extension. (most common is .json and .md)
Filename: "usage-stats.json",
FileBytes: data, // []byte of the file
}, nil
},
}
}
```
4. Register the collector in the service's `ProvideService` function:
```go
func ProvideService(
...
) (*UsageStats, error) {
s := &UsageStats{
// ...
}
bundleRegistry.RegisterSupportItemCollector(s.supportBundleCollector())
return s, nil
}
```

View File

@@ -4,7 +4,7 @@ Grafana uses the [i18next](https://www.i18next.com/) framework for managing tran
## tl;dr
**Please note:** We do not currently accept contributions for translations. Please do not submit pull requests for grafana.json files - they will be rejected.
**Please note:** We do not currently accept contributions for translations. Please do not submit pull requests translating grafana.json files - they will be rejected. We do accept contributions to mark up phrases for translation.
- Use `<Trans i18nKey="search-results.panel-link">Go to {{ pageTitle }}</Trans>` in code to add a translatable phrase
- Translations are stored in JSON files in `public/locales/{locale}/grafana.json`

View File

@@ -353,12 +353,26 @@ static defaultProps: Partial<Props> = { ... }
### How to declare functional components
We recommend using named regular functions when creating a new react functional component.
We prefer using function declarations over function expressions when creating a new react functional component.
```typescript
// bad
export const Component = (props: Props) => { ... }
// bad
export const Component: React.FC<Props> = (props) => { ... }
// good
export function Component(props: Props) { ... }
```
Some interesting readings on the topic:
- [Create React App: Remove React.FC from typescript template](https://github.com/facebook/create-react-app/pull/8177)
- [Kent C. Dodds: How to write a React Component in Typescript](https://kentcdodds.com/blog/how-to-write-a-react-component-in-typescript)
- [Kent C. Dodds: Function forms](https://kentcdodds.com/blog/function-forms)
- [Sam Hendrickx: Why you probably shouldn't use React.FC?](https://medium.com/raccoons-group/why-you-probably-shouldnt-use-react-fc-to-type-your-react-components-37ca1243dd13)
## State management
- Don't mutate state in reducers or thunks.

View File

@@ -13,12 +13,12 @@ To access the theme in your styles, use the `useStyles` hook. It provides basic
> Please remember to put `getStyles` function at the end of the file!
```tsx
import React, { FC } from 'react';
import React from 'react';
import { GrafanaTheme2 } from '@grafana/data';
import { useStyles2 } from '@grafana/ui';
import { css } from '@emotion/css';
const Foo: FC<FooProps> = () => {
const Foo = (props: FooProps) => {
const styles = useStyles2(getStyles);
// Use styles with classNames
@@ -48,7 +48,7 @@ interface ComponentAProps {
isActive: boolean;
}
const ComponentA: React.FC<ComponentAProps> = ({ isActive }) => {
const ComponentA = ({ isActive }: ComponentAProps) => {
const theme = useTheme();
const styles = useStyles2(theme);

View File

@@ -29,11 +29,12 @@ function Foo(props: FooProps) {
const styles = useStyles2(getStyles);
// Use styles with className
}
```
const getStyles = (theme: GrafanaTheme2) => css({
padding: theme.spacing(1,2)
});
const getStyles = (theme: GrafanaTheme2) =>
css({
padding: theme.spacing(1, 2),
});
```
#### Get the theme object

View File

@@ -76,11 +76,12 @@ datasources:
- name: gdev-influxdb1-influxql
type: influxdb
access: proxy
database: site
user: grafana
url: http://localhost:8087
secureJsonData:
password: grafana
jsonData:
dbName: site
- name: gdev-influxdb-flux
type: influxdb
@@ -98,9 +99,9 @@ datasources:
- name: gdev-influxdb-influxql
type: influxdb
access: proxy
database: mybucket
url: http://localhost:8086
jsonData:
dbName: mybucket
httpHeaderName1: "Authorization"
secureJsonData:
httpHeaderValue1: "Token mytoken"
@@ -131,7 +132,6 @@ datasources:
timeField: "@timestamp"
logLevelField: level
logMessageField: line
esVersion: 8.1.4
- name: gdev-elasticsearch-filebeat
type: elasticsearch
@@ -141,7 +141,6 @@ datasources:
jsonData:
interval: Daily
timeField: "@timestamp"
esVersion: 8.1.4
timeInterval: "10s"
logMessageField: message
logLevelField: fields.level
@@ -154,7 +153,6 @@ datasources:
jsonData:
interval: Daily
timeField: "@timestamp"
esVersion: 8.1.4
timeInterval: "10s"
- name: gdev-mysql

View File

@@ -32,11 +32,12 @@ datasources:
- name: gdev-influxdb1-influxql
type: influxdb
access: proxy
database: site
user: grafana
url: http://influxdb1:8086
secureJsonData:
password: grafana
jsonData:
dbName: site
- name: gdev-influxdb-flux
type: influxdb
@@ -52,9 +53,9 @@ datasources:
- name: gdev-influxdb-influxql
type: influxdb
access: proxy
database: mybucket
url: http://influxdb:8086
jsonData:
dbName: mybucket
httpHeaderName1: "Authorization"
secureJsonData:
httpHeaderValue1: "Token mytoken"
@@ -75,7 +76,6 @@ datasources:
jsonData:
interval: Daily
timeField: "@timestamp"
esVersion: 8.1.4
- name: gdev-elasticsearch-filebeat
type: elasticsearch
@@ -85,7 +85,6 @@ datasources:
jsonData:
interval: Daily
timeField: "@timestamp"
esVersion: 8.1.4
timeInterval: "10s"
logMessageField: message
logLevelField: fields.level
@@ -98,7 +97,6 @@ datasources:
jsonData:
interval: Daily
timeField: "@timestamp"
esVersion: 8.1.4
timeInterval: "10s"
- name: gdev-mysql

View File

@@ -1629,7 +1629,6 @@
}
],
"refresh": false,
"revision": 8,
"schemaVersion": 16,
"style": "dark",
"tags": ["gdev", "panel-tests"],

View File

@@ -1775,6 +1775,10 @@
"text": "ops/min (opm)",
"value": "opm"
},
{
"text": "requests/min (rpm)",
"value": "reqpm"
},
{
"text": "reads/min (rpm)",
"value": "rpm"

View File

@@ -0,0 +1,871 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": 1267,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"gridPos": {
"h": 3,
"w": 24,
"x": 0,
"y": 0
},
"id": 8,
"options": {
"code": {
"language": "plaintext",
"showLineNumbers": false,
"showMiniMap": false
},
"content": "* `__all_variables`=${__all_variables}\n* `__url_time_range`=${__url_time_range}",
"mode": "markdown"
},
"pluginVersion": "9.5.0-pre",
"title": "Panel Title",
"type": "text"
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"align": "auto",
"cellOptions": {
"type": "auto"
},
"inspect": false
},
"links": [
{
"targetBlank": true,
"title": "value=${__value.raw}&time=${__value.time}&__value:percentencode=${__value:percentencode}&text=${__value.text}",
"url": "value=${__value.raw}&time=${__value.time}justvalue=${__value:percentencode}&text=${__value.text}"
}
],
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
},
"unit": "percent"
},
"overrides": []
},
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 3
},
"id": 2,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true,
"showRowNums": false
},
"pluginVersion": "9.5.0-pre",
"title": "DataLink: with __value.raw=&__value.time=&__value:percentencode=",
"type": "table"
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"links": [
{
"targetBlank": true,
"title": "Value link",
"url": "value=${__value.raw}"
}
],
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 3
},
"id": 3,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "9.5.0-pre",
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A",
"scenarioId": "random_walk",
"seriesCount": 5
}
],
"title": "Stat panel with __value.raw ",
"type": "stat"
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "continuous-GrYlRd"
},
"links": [
{
"title": "${__value.raw}",
"url": "${__value.raw}"
}
],
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 10
},
"id": 6,
"options": {
"displayMode": "basic",
"minVizHeight": 10,
"minVizWidth": 0,
"orientation": "horizontal",
"reduceOptions": {
"calcs": [],
"fields": "",
"values": true
},
"showUnfilled": true,
"valueMode": "color"
},
"pluginVersion": "9.5.0-pre",
"targets": [
{
"csvFileName": "browser_marketshare.csv",
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A",
"scenarioId": "csv_file"
}
],
"title": "data link __value.raw",
"transformations": [
{
"id": "limit",
"options": {
"limitField": 5
}
}
],
"type": "bargauge"
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"description": "Since this is using getFrameDisplayName it works kind badly (especially with testdata) and only returns the `Series (refId)`. \n\nSo this should show:\n* Series (Query1)\n* Series (Query2)",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"displayName": "${__series.name}",
"links": [
{
"targetBlank": true,
"title": "Value link",
"url": "value=${__calc}"
}
],
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 10
},
"id": 12,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "9.5.0-pre",
"targets": [
{
"alias": "",
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "Query1",
"scenarioId": "random_walk",
"seriesCount": 1
},
{
"alias": "",
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"hide": false,
"refId": "Query2",
"scenarioId": "random_walk",
"seriesCount": 1
}
],
"title": "${series.name} in display name",
"type": "stat"
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"align": "auto",
"cellOptions": {
"type": "auto"
},
"inspect": false
},
"links": [
{
"title": "__data.refId=${__data.refId}&__data.fields[0]=${__data.fields[0]}&cluster=${__field.labels.cluster}",
"url": "refId=${__data.refId}&__data.fields[0]=${__data.fields[0]}&cluster=${__field.labels.cluster}"
}
],
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
},
"unit": "percent"
},
"overrides": []
},
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 17
},
"id": 11,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true,
"showRowNums": false
},
"pluginVersion": "9.5.0-pre",
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"labels": "cluster=US",
"refId": "A",
"scenarioId": "random_walk"
}
],
"title": "DataLink: refId=${__data.refId}&__data.fields[0]=${__data.fields[0]}&cluster=${__field.labels.cluster}",
"type": "table"
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"links": [
{
"title": "${__value.raw}",
"url": "${__value.raw}"
}
],
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 17
},
"id": 10,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"alias": "10,20,30,40",
"csvContent": "Time, value, test\n\"2023-03-24T17:12:12.347Z\", 10,hello\n\"2023-03-24T17:22:12.347Z\", 20,asd\n\"2023-03-24T17:32:12.347Z\", 30,asd2\n\"2023-03-24T17:42:12.347Z\", 40,as34\n",
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A",
"scenarioId": "csv_content"
},
{
"alias": "5,6,7",
"csvContent": "Time, value, test\n\"2023-03-24T17:12:12.347Z\", 5,hello\n\"2023-03-24T17:22:12.347Z\", 6,asd\n\"2023-03-24T17:42:12.347Z\", 7,as34\n",
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "B",
"scenarioId": "csv_content"
}
],
"title": "Data links with ${__value.raw}",
"transformations": [
{
"id": "joinByField",
"options": {}
}
],
"type": "timeseries"
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"align": "auto",
"cellOptions": {
"type": "auto"
},
"inspect": false
},
"links": [
{
"title": "__field.name=${__field.name}&__field.labels.cluster=${__field.labels.cluster}",
"url": "__field.name=${__field.name}&__field.labels.cluster=${__field.labels.cluster}"
}
],
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
},
"unit": "percent"
},
"overrides": []
},
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 24
},
"id": 13,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true,
"showRowNums": false
},
"pluginVersion": "9.5.0-pre",
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"labels": "cluster=US",
"refId": "A",
"scenarioId": "random_walk"
}
],
"title": "DataLink: __field.name=&__field.labels.cluster",
"type": "table"
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"description": "The stat display names should be \n* Stockholm = Bad\n* New York = Good \n",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"displayName": "$__cell_0 = $__cell_2",
"links": [],
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 24
},
"id": 14,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": true
},
"textMode": "auto"
},
"pluginVersion": "9.5.0-pre",
"targets": [
{
"alias": "",
"csvContent": "name, value, name2\nStockholm, 10, Good\nNew York, 15, Bad",
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A",
"scenarioId": "csv_content"
}
],
"title": "DisplayName with __cell_0 = __cell_2",
"type": "stat"
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"description": "The stat display names should be \n* Stockholm = Bad\n* New York = Good \n",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"align": "auto",
"cellOptions": {
"type": "auto"
},
"inspect": false
},
"displayName": "${__field.name}",
"links": [
{
"targetBlank": true,
"title": "Value link",
"url": "value=${__calc}"
}
],
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 31
},
"id": 15,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true,
"showRowNums": false
},
"pluginVersion": "9.5.0-pre",
"targets": [
{
"alias": "",
"csvContent": "name, value, name2\nStockholm, 10, Good\nNew York, 15, Bad",
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A",
"scenarioId": "csv_content"
}
],
"title": "DisplayName: __field.name",
"type": "table"
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"description": "The stat display names should be \n* Stockholm = Bad\n* New York = Good \n",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"displayName": "${__data.fields[0]} = ${__data.fields[2]}",
"links": [
{
"targetBlank": true,
"title": "__data.fields[0] = ${__data.fields[0]} = __value.raw = ${__value.raw}",
"url": "__data.fields[0] = ${__data.fields[0]} = __value.raw = ${__value.raw}"
}
],
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 31
},
"id": 16,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": true
},
"textMode": "auto"
},
"pluginVersion": "9.5.0-pre",
"targets": [
{
"alias": "",
"csvContent": "name, value, name2\nStockholm, 10, Good\nNew York, 15, Bad",
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A",
"scenarioId": "csv_content"
}
],
"title": "$__data.fields[0] = $__data.fields[2] with datalinks",
"type": "stat"
}
],
"refresh": "",
"schemaVersion": 38,
"style": "dark",
"tags": ["gdev", "templating"],
"templating": {
"list": [
{
"current": {
"selected": false,
"text": "A",
"value": "A"
},
"hide": 0,
"includeAll": false,
"multi": false,
"name": "customVar",
"options": [
{
"selected": true,
"text": "A",
"value": "A"
},
{
"selected": false,
"text": "B",
"value": "B"
},
{
"selected": false,
"text": "C",
"value": "C"
}
],
"query": "A,B,C",
"queryValue": "",
"skipUrlSync": false,
"type": "custom"
}
]
},
"time": {
"from": "2023-03-24T17:12:12.347Z",
"to": "2023-03-24T17:42:12.347Z"
},
"timepicker": {},
"timezone": "",
"title": "Templating - Macros",
"uid": "e7c29343-6d1e-4167-9c13-803fe5be8c46",
"version": 48,
"weekStart": ""
}

View File

@@ -0,0 +1,585 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [
{
"asDropdown": false,
"icon": "dashboard",
"includeVars": false,
"keepTime": false,
"tags": [],
"targetBlank": true,
"title": "Auto migrate (TRUE)",
"tooltip": "",
"type": "link",
"url": "/d/cdd412c4/?__feature.autoMigrateOldPanels=true"
},
{
"asDropdown": false,
"icon": "external link",
"includeVars": false,
"keepTime": false,
"tags": [],
"targetBlank": true,
"title": "Auto migrate (FALSE)",
"tooltip": "",
"type": "link",
"url": "/d/cdd412c4/?__feature.autoMigrateOldPanels=false"
},
{
"asDropdown": false,
"icon": "dashboard",
"includeVars": false,
"keepTime": false,
"tags": [],
"targetBlank": true,
"title": "Disable angular (TRUE)",
"tooltip": "",
"type": "link",
"url": "/d/cdd412c4/?__feature.disableAngular=true"
},
{
"asDropdown": false,
"icon": "external link",
"includeVars": false,
"keepTime": false,
"tags": [],
"targetBlank": true,
"title": "Disable angular (FALSE)",
"tooltip": "",
"type": "link",
"url": "/d/cdd412c4/?__feature.disableAngular=false"
}
],
"liveNow": false,
"panels": [
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 11,
"w": 16,
"x": 0,
"y": 0
},
"hiddenSeries": false,
"id": 4,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"nullPointMode": "null",
"options": {
"alertThreshold": true,
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"percentage": false,
"pluginVersion": "9.5.0-pre",
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A",
"scenarioId": "random_walk",
"seriesCount": 3
}
],
"thresholds": [],
"timeRegions": [],
"title": "Flot graph",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "timeseries",
"xaxis": {
"mode": "time",
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"logBase": 1,
"show": true
},
{
"format": "short",
"logBase": 1,
"show": true
}
],
"yaxis": {
"align": false
}
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"gridPos": {
"h": 11,
"w": 8,
"x": 16,
"y": 0
},
"id": 6,
"options": {
"code": {
"language": "plaintext",
"showLineNumbers": false,
"showMiniMap": false
},
"content": "# Graph panel >> Timeseries panel\n\nKnown issues:\n* hiding null/empty series\n* time regions",
"mode": "markdown"
},
"pluginVersion": "9.5.0-pre",
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A"
}
],
"title": "Status + Notes",
"type": "text"
},
{
"columns": [],
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"fontSize": "100%",
"gridPos": {
"h": 10,
"w": 16,
"x": 0,
"y": 11
},
"id": 2,
"options": {
"cellHeight": "sm",
"footer": {
"countRows": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true,
"showRowNums": false
},
"pluginVersion": "9.5.0-pre",
"showHeader": true,
"sort": {
"col": 0,
"desc": true
},
"styles": [
{
"alias": "Time",
"align": "auto",
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"pattern": "Time",
"type": "date"
},
{
"alias": "",
"align": "right",
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
"type": "number",
"unit": "short"
}
],
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A",
"scenarioId": "random_walk_table"
}
],
"title": "Table (old)",
"transform": "table",
"transformations": [
{
"id": "merge",
"options": {
"reducers": []
}
}
],
"type": "table-old"
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"gridPos": {
"h": 10,
"w": 8,
"x": 16,
"y": 11
},
"id": 7,
"options": {
"code": {
"language": "plaintext",
"showLineNumbers": false,
"showMiniMap": false
},
"content": "# Table (old) >> Table\n\nKnown issues:\n* wrapping text\n* style changes",
"mode": "markdown"
},
"pluginVersion": "9.5.0-pre",
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A"
}
],
"title": "Status + Notes",
"type": "text"
},
{
"colorBackground": false,
"colorValue": true,
"colors": [
"#299c46",
"rgba(237, 129, 40, 0.89)",
"#d44a3a"
],
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"format": "areaF2",
"gauge": {
"maxValue": 100,
"minValue": 0,
"show": false,
"thresholdLabels": false,
"thresholdMarkers": true
},
"gridPos": {
"h": 8,
"w": 8,
"x": 0,
"y": 21
},
"id": 9,
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"postfix": "b",
"postfixFontSize": "50%",
"prefix": "a",
"prefixFontSize": "50%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": false,
"lineColor": "rgb(31, 120, 193)",
"show": true
},
"tableColumn": "",
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A"
}
],
"thresholds": "",
"title": "grafana-singlestat-panel",
"type": "grafana-singlestat-panel",
"valueFontSize": "80%",
"valueMaps": [
{
"op": "=",
"text": "N/A",
"value": "null"
}
],
"valueName": "avg"
},
{
"colorBackground": false,
"colorValue": true,
"colors": [
"#299c46",
"#73BF69",
"#d44a3a"
],
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"format": "ms",
"gauge": {
"maxValue": 100,
"minValue": 0,
"show": false,
"thresholdLabels": false,
"thresholdMarkers": true
},
"gridPos": {
"h": 8,
"w": 8,
"x": 8,
"y": 21
},
"id": 23,
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"pluginVersion": "6.2.0-pre",
"postfix": "",
"postfixFontSize": "50%",
"prefix": "p95",
"prefixFontSize": "80%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": false,
"lineColor": "rgb(31, 120, 193)",
"show": true
},
"tableColumn": "",
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A"
}
],
"thresholds": "",
"title": "singlestat (old, internal. Migrated if schema < 28)",
"type": "singlestat",
"valueFontSize": "120%",
"valueMaps": [
{
"op": "=",
"text": "N/A",
"value": "null"
}
],
"valueName": "avg"
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"gridPos": {
"h": 8,
"w": 8,
"x": 16,
"y": 21
},
"id": 10,
"options": {
"code": {
"language": "plaintext",
"showLineNumbers": false,
"showMiniMap": false
},
"content": "# Singlestat >> Stat\n\nKnown issues:\n* limited options",
"mode": "markdown"
},
"pluginVersion": "9.5.0-pre",
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A"
}
],
"title": "Status + Notes",
"type": "text"
}
],
"refresh": "",
"schemaVersion": 34,
"style": "dark",
"tags": [
"gdev",
"migrations",
"angular"
],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Devenv - Panel migrations",
"uid": "cdd412c4",
"version": 6,
"weekStart": ""
}

File diff suppressed because it is too large Load Diff

View File

@@ -108,7 +108,7 @@
"fixed": "transparent"
},
"image": {
"fixed": "https://grafana-plugin-resources.s3.us-west-2.amazonaws.com/ryan/landscape_2x.jpg"
"fixed": "https://dl.grafana.com/files/temp/ryan/landscape_2x.jpg"
},
"size": "original"
},

View File

@@ -1629,7 +1629,6 @@
}
],
"refresh": false,
"revision": 8,
"schemaVersion": 16,
"style": "dark",
"tags": ["gdev", "panel-tests", "graph"],

View File

@@ -305,7 +305,6 @@
"type": "heatmap"
}
],
"revision": 1,
"schemaVersion": 37,
"style": "dark",
"tags": [],

View File

@@ -748,7 +748,6 @@
"type": "histogram"
}
],
"revision": 1,
"schemaVersion": 37,
"style": "dark",
"tags": [

View File

@@ -2866,6 +2866,10 @@
"text": "ops/min (opm)",
"value": "opm"
},
{
"text": "requests/min (rpm)",
"value": "reqpm"
},
{
"text": "reads/min (rpm)",
"value": "rpm"

View File

@@ -430,7 +430,6 @@
}
],
"refresh": false,
"revision": 8,
"schemaVersion": 16,
"style": "dark",
"tags": ["gdev", "panel-tests"],

View File

@@ -3,7 +3,10 @@
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"datasource": {
"type": "datasource",
"uid": "grafana"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
@@ -13,12 +16,16 @@
]
},
"editable": true,
"gnetId": null,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": null,
"datasource": {
"type": "datasource",
"uid": "grafana"
},
"gridPos": {
"h": 1,
"w": 24,
@@ -26,11 +33,23 @@
"y": 0
},
"id": 7,
"targets": [
{
"datasource": {
"type": "datasource",
"uid": "grafana"
},
"refId": "A"
}
],
"title": "Cell styles",
"type": "row"
},
{
"datasource": "gdev-testdata",
"datasource": {
"type": "testdata",
"uid": "gdev-testdata"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -38,16 +57,19 @@
},
"custom": {
"align": "center",
"displayMode": "color-background",
"filterable": false
"cellOptions": {
"mode": "gradient",
"type": "color-background"
},
"filterable": false,
"inspect": false
},
"mappings": [],
"thresholds": {
"mode": "percentage",
"steps": [
{
"color": "green",
"value": null
"color": "green"
},
{
"color": "blue",
@@ -124,7 +146,17 @@
},
"id": 4,
"options": {
"cellHeight": "md",
"footer": {
"countRows": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true,
"showRowNums": false,
"sortBy": [
{
"desc": true,
@@ -132,17 +164,19 @@
}
]
},
"pluginVersion": "",
"pluginVersion": "9.5.0-pre",
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "gdev-testdata"
},
"refId": "A",
"scenarioId": "random_walk",
"seriesCount": 15,
"stringInput": ""
}
],
"timeFrom": null,
"timeShift": null,
"title": "Colored background",
"transformations": [
{
@@ -159,23 +193,29 @@
"type": "table"
},
{
"datasource": "gdev-testdata",
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"align": null,
"filterable": false
"align": "center",
"cellOptions": {
"type": "auto"
},
"filterable": false,
"inspect": false
},
"mappings": [],
"thresholds": {
"mode": "percentage",
"steps": [
{
"color": "orange",
"value": null
"color": "orange"
},
{
"color": "red",
@@ -188,60 +228,51 @@
{
"matcher": {
"id": "byName",
"options": "A"
"options": "Basic "
},
"properties": [
{
"id": "custom.displayMode",
"value": "gradient-gauge"
"id": "custom.cellOptions",
"value": {
"mode": "basic",
"type": "gauge"
}
},
{
"id": "custom.inspect",
"value": false
}
]
},
{
"matcher": {
"id": "byName",
"options": "Info"
"options": "Gradient text color value"
},
"properties": [
{
"id": "custom.width",
"value": 92
"id": "custom.cellOptions",
"value": {
"mode": "gradient",
"type": "gauge",
"valueMode": "text"
}
}
]
},
{
"matcher": {
"id": "byName",
"options": "Min"
"options": "LCD hidden value"
},
"properties": [
{
"id": "custom.width",
"value": 76
}
]
},
{
"matcher": {
"id": "byName",
"options": "Max"
},
"properties": [
{
"id": "custom.width",
"value": 89
}
]
},
{
"matcher": {
"id": "byName",
"options": "Time"
},
"properties": [
{
"id": "custom.width",
"value": 165
"id": "custom.cellOptions",
"value": {
"mode": "lcd",
"type": "gauge",
"valueMode": "hidden"
}
}
]
}
@@ -249,13 +280,22 @@
},
"gridPos": {
"h": 16,
"w": 8,
"w": 17,
"x": 7,
"y": 1
},
"id": 2,
"options": {
"footer": {
"countRows": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true,
"showRowNums": false,
"sortBy": [
{
"desc": false,
@@ -263,22 +303,25 @@
}
]
},
"pluginVersion": "",
"pluginVersion": "9.5.0-pre",
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A",
"scenarioId": "random_walk_table",
"stringInput": ""
}
],
"timeFrom": null,
"timeShift": null,
"title": "Bar gauge cells",
"transformations": [
{
"id": "organize",
"options": {
"excludeByName": {
"Info": true,
"Time": true
},
"indexByName": {
@@ -288,35 +331,43 @@
"Time": 0,
"Value": 4
},
"renameByName": {}
"renameByName": {
"A": "LCD hidden value",
"Max": "Gradient text color value",
"Min": "Basic "
}
}
}
],
"type": "table"
},
{
"datasource": "gdev-testdata",
"description": "",
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"align": null,
"filterable": false
"align": "auto",
"cellOptions": {
"type": "auto"
},
"inspect": false
},
"mappings": [],
"thresholds": {
"mode": "percentage",
"mode": "absolute",
"steps": [
{
"color": "blue",
"value": null
"color": "green"
},
{
"color": "green",
"value": 50
"color": "red",
"value": 80
}
]
}
@@ -325,82 +376,329 @@
{
"matcher": {
"id": "byName",
"options": "A"
"options": "rate"
},
"properties": [
{
"id": "custom.displayMode",
"value": "lcd-gauge"
"id": "custom.cellOptions",
"value": {
"fillOpacity": 29,
"gradientMode": "opacity",
"lineWidth": 1,
"type": "sparkline"
}
},
{
"id": "custom.align",
"value": "center"
"id": "color",
"value": {
"mode": "continuous-GrYlRd"
}
}
]
},
{
"matcher": {
"id": "byName",
"options": "cluster"
},
"properties": [
{
"id": "custom.width",
"value": 120
}
]
},
{
"matcher": {
"id": "byName",
"options": "service"
},
"properties": [
{
"id": "custom.width",
"value": 120
}
]
}
]
},
"gridPos": {
"h": 16,
"h": 7,
"w": 9,
"x": 15,
"y": 1
"x": 0,
"y": 17
},
"id": 5,
"id": 14,
"maxDataPoints": 50,
"options": {
"cellHeight": "md",
"footer": {
"countRows": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true,
"showRowNums": false,
"sortBy": []
},
"pluginVersion": "",
"pluginVersion": "9.5.0-pre",
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "gdev-testdata"
},
"labels": "cluster=eu,service=checkout",
"min": 0.1,
"refId": "A",
"scenarioId": "random_walk_table",
"stringInput": ""
"scenarioId": "random_walk",
"seriesCount": 3
}
],
"timeFrom": null,
"timeShift": null,
"title": "Retro LCD cell",
"title": "Sparkline cell",
"transformations": [
{
"id": "timeSeriesTable",
"options": {}
},
{
"id": "organize",
"options": {
"excludeByName": {
"Info": false,
"Max": true,
"Min": true,
"Time": false
},
"indexByName": {
"Info": 1,
"Max": 3,
"Min": 2,
"Time": 0,
"Value": 4
},
"renameByName": {}
"excludeByName": {},
"indexByName": {},
"renameByName": {
"Trend": "rate"
}
}
}
],
"type": "table"
},
{
"collapsed": false,
"datasource": "gdev-testdata",
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"align": "auto",
"cellOptions": {
"type": "auto"
},
"inspect": false
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "rate"
},
"properties": [
{
"id": "custom.cellOptions",
"value": {
"drawStyle": "bars",
"fillOpacity": 100,
"gradientMode": "hue",
"lineWidth": 0,
"showPoints": "auto",
"type": "sparkline"
}
},
{
"id": "color",
"value": {
"mode": "continuous-GrYlRd"
}
},
{
"id": "color",
"value": {
"fixedColor": "red",
"mode": "fixed"
}
}
]
},
{
"matcher": {
"id": "byName",
"options": "latency"
},
"properties": [
{
"id": "custom.cellOptions",
"value": {
"fillOpacity": 40,
"gradientMode": "opacity",
"lineInterpolation": "stepBefore",
"lineWidth": 1,
"type": "sparkline"
}
},
{
"id": "color",
"value": {
"fixedColor": "purple",
"mode": "fixed"
}
}
]
},
{
"matcher": {
"id": "byName",
"options": "service"
},
"properties": [
{
"id": "custom.width",
"value": 120
}
]
},
{
"matcher": {
"id": "byName",
"options": "cluster"
},
"properties": [
{
"id": "custom.width",
"value": 120
}
]
}
]
},
"gridPos": {
"h": 7,
"w": 15,
"x": 9,
"y": 17
},
"id": 15,
"maxDataPoints": 30,
"options": {
"cellHeight": "md",
"footer": {
"countRows": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true,
"showRowNums": false
},
"pluginVersion": "9.5.0-pre",
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "gdev-testdata"
},
"labels": "cluster=eu,service=checkout",
"min": 0.1,
"refId": "A",
"scenarioId": "random_walk",
"seriesCount": 3
},
{
"datasource": {
"type": "testdata",
"uid": "gdev-testdata"
},
"hide": false,
"labels": "cluster=eu,service=checkout",
"min": 0.1,
"refId": "B",
"scenarioId": "random_walk",
"seriesCount": 3
}
],
"title": "Multiple sparkline cells per row",
"transformations": [
{
"id": "timeSeriesTable",
"options": {}
},
{
"id": "joinByField",
"options": {
"byField": "service",
"mode": "outer"
}
},
{
"id": "organize",
"options": {
"excludeByName": {
"cluster 2": true
},
"indexByName": {},
"renameByName": {
"Trend": "rate",
"Trend #A": "rate",
"Trend #B": "latency",
"cluster 1": "cluster"
}
}
}
],
"type": "table"
},
{
"datasource": {
"type": "testdata",
"uid": "gdev-testdata"
},
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 17
"y": 24
},
"id": 9,
"panels": [],
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "gdev-testdata"
},
"refId": "A"
}
],
"title": "Data links",
"type": "row"
},
{
"datasource": "gdev-testdata",
"datasource": {
"type": "testdata",
"uid": "gdev-testdata"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -408,8 +706,11 @@
},
"custom": {
"align": "center",
"displayMode": "color-text",
"filterable": false
"cellOptions": {
"type": "color-text"
},
"filterable": false,
"inspect": false
},
"decimals": 2,
"mappings": [],
@@ -417,8 +718,7 @@
"mode": "percentage",
"steps": [
{
"color": "green",
"value": null
"color": "green"
},
{
"color": "blue",
@@ -444,8 +744,7 @@
},
"properties": [
{
"id": "custom.align",
"value": null
"id": "custom.align"
}
]
},
@@ -472,17 +771,30 @@
"h": 8,
"w": 12,
"x": 0,
"y": 18
"y": 25
},
"id": 3,
"maxDataPoints": "10",
"options": {
"showHeader": true
"cellHeight": "md",
"footer": {
"countRows": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": true,
"showRowNums": false
},
"pluginVersion": "",
"pluginVersion": "9.5.0-pre",
"targets": [
{
"alias": "S1",
"datasource": {
"type": "testdata",
"uid": "gdev-testdata"
},
"labels": "server=A",
"refId": "A",
"scenarioId": "random_walk",
@@ -491,6 +803,10 @@
},
{
"alias": "S2",
"datasource": {
"type": "testdata",
"uid": "gdev-testdata"
},
"labels": "server=B",
"refId": "B",
"scenarioId": "random_walk",
@@ -499,6 +815,10 @@
},
{
"alias": "S3",
"datasource": {
"type": "testdata",
"uid": "gdev-testdata"
},
"labels": "server=C",
"refId": "C",
"scenarioId": "random_walk",
@@ -506,8 +826,6 @@
"stringInput": ""
}
],
"timeFrom": null,
"timeShift": null,
"title": "Data link with labels and numeric value",
"transformations": [
{
@@ -518,7 +836,10 @@
"type": "table"
},
{
"datasource": "gdev-testdata",
"datasource": {
"type": "testdata",
"uid": "gdev-testdata"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -526,16 +847,18 @@
},
"custom": {
"align": "center",
"displayMode": "auto",
"filterable": false
"cellOptions": {
"type": "auto"
},
"filterable": false,
"inspect": false
},
"mappings": [],
"thresholds": {
"mode": "percentage",
"steps": [
{
"color": "green",
"value": null
"color": "green"
},
{
"color": "blue",
@@ -559,11 +882,21 @@
"h": 8,
"w": 5,
"x": 12,
"y": 18
"y": 25
},
"id": 10,
"options": {
"cellHeight": "md",
"footer": {
"countRows": false,
"fields": "",
"reducer": [
"sum"
],
"show": false
},
"showHeader": false,
"showRowNums": false,
"sortBy": [
{
"desc": true,
@@ -571,17 +904,19 @@
}
]
},
"pluginVersion": "",
"pluginVersion": "9.5.0-pre",
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "gdev-testdata"
},
"refId": "A",
"scenarioId": "random_walk_table",
"seriesCount": 5,
"stringInput": ""
}
],
"timeFrom": null,
"timeShift": null,
"title": "No header",
"transformations": [
{
@@ -606,7 +941,10 @@
"type": "table"
},
{
"datasource": "gdev-testdata",
"datasource": {
"type": "testdata",
"uid": "gdev-testdata"
},
"fieldConfig": {
"defaults": {
"color": {
@@ -614,15 +952,17 @@
},
"custom": {
"align": "auto",
"displayMode": "auto"
"cellOptions": {
"type": "auto"
},
"inspect": false
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": 0
"color": "green"
},
{
"color": "red",
@@ -637,25 +977,39 @@
"h": 8,
"w": 12,
"x": 0,
"y": 26
"y": 33
},
"id": 12,
"options": {
"cellHeight": "md",
"footer": {
"show": true,
"countRows": false,
"fields": "",
"reducer": [
"sum"
]
],
"show": true
},
"showHeader": true
"showHeader": true,
"showRowNums": false
},
"pluginVersion": "",
"pluginVersion": "9.5.0-pre",
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "gdev-testdata"
},
"refId": "A"
}
],
"title": "Footer",
"type": "table"
}
],
"schemaVersion": 27,
"refresh": "",
"revision": 1,
"schemaVersion": 38,
"style": "dark",
"tags": [
"gdev",
@@ -684,5 +1038,6 @@
"timezone": "",
"title": "Panel Tests - React Table",
"uid": "U_bZIMRMk",
"version": 6
"version": 7,
"weekStart": ""
}

View File

@@ -736,7 +736,6 @@
}
],
"refresh": false,
"revision": 1,
"schemaVersion": 38,
"style": "dark",
"tags": [

View File

@@ -1156,11 +1156,194 @@
],
"title": "Boolean On/Off",
"type": "timeseries"
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"log": 2,
"type": "log"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"max": 150,
"min": 0,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 7,
"w": 8,
"x": 0,
"y": 31
},
"id": 16,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "1,20,90.5,30,5,0"
}
],
"title": "Ignore invalid min/max opts when log scale",
"type": "timeseries"
},
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"log": 2,
"type": "symlog"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"max": 200,
"min": -15,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 7,
"w": 8,
"x": 8,
"y": 31
},
"id": 17,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"datasource": {
"type": "testdata",
"uid": "PD8C576611E62080A"
},
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "1,20,90.5,30,5,0"
}
],
"title": "Neg min opt with symlog scale",
"type": "timeseries"
}
],
"refresh": false,
"revision": 1,
"schemaVersion": 37,
"refresh": "",
"schemaVersion": 38,
"style": "dark",
"tags": [
"gdev",
@@ -1191,6 +1374,6 @@
"timezone": "",
"title": "Panel Tests - Graph NG - Y axis ticks",
"uid": "29Yjn62Gk",
"version": 1,
"version": 13,
"weekStart": ""
}

View File

@@ -8,7 +8,7 @@ Useful for testing a second implementation
- [x] LDAP
- [x] SAML
- [ ] OAuth
- [x] OAuth
## Deployment
@@ -71,6 +71,23 @@ allow_idp_initiated = true
org_mapping = admin:1:Admin, editor:1:Editor, viewer:1:Viewer
```
# OAuth Setup
```ini
[auth.generic_oauth]
name = authentik
enabled = true
client_id = 43e8d2746fe2e508325a23cdf816d6ddd12e94f1
client_secret = e50440f14a010fd69dfed85bc6c071653f22c73e2c6c8d7ba96a936937d92040936b7e5a4bcc1bf40d5cf1dc019b1db327a1a00e2183c53471fb7530d4a09d7e
scopes = openid email profile
auth_url = http://localhost:9000/application/o/authorize/
token_url = http://localhost:9000/application/o/token/
api_url = http://localhost:9000/application/o/userinfo/
role_attribute_path = contains(groups[*], 'admin') && 'Admin' || contains(groups[*], 'editor') && 'Editor' || 'Viewer'
[auth]
signout_redirect_url = http://localhost:9000/application/o/grafana-oidc/end-session/
```
## Available users and groups

File diff suppressed because it is too large Load Diff

View File

@@ -39,7 +39,7 @@
- "authentik:authentik"
authentik:
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2022.12.1}
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2023.2.3}
restart: unless-stopped
container_name: authentik
command: server

View File

@@ -53,7 +53,6 @@ async function elasticSendLogItem(timestamp, item) {
const url = new URL(ELASTIC_BASE_URL);
url.pathname = `/logs-${timestampText}/_doc`;
await jsonRequest(item, 'POST', url, 201);
console.log(`posted to ${url.toString()}`);
}
async function elasticSetupIndexTemplate() {

View File

@@ -1,3 +1,3 @@
FROM node:16-alpine
FROM node:18-alpine
COPY data.js /home/node/data.js

View File

@@ -47,10 +47,7 @@ async function sleep(duration) {
});
}
async function lokiSendLogLine(timestampMs, line, tags) {
// we keep nanosecond-timestamp in a string because
// as a number it would be too large
const timestampNs = `${timestampMs}000000`;
async function lokiSendLogLine(timestampNs, line, tags) {
const data = {
streams: [
{
@@ -113,21 +110,60 @@ function logFmtLine(item) {
return parts.join(' ');
}
const SLEEP_ANGLE_STEP = Math.PI / 200;
let sleepAngle = 0;
function getNextSineWaveSleepDuration() {
sleepAngle += SLEEP_ANGLE_STEP;
return Math.trunc(1000 * Math.abs(Math.sin(sleepAngle)));
const DAYS = 7;
const POINTS_PER_DAY = 1000;
// it's important to have good "delays" between
// log-line-timestamps, because the "density" of log-lines
// is what gives the loki metric queries shape.
function calculateDelays(pointsCount) {
const delays = [];
for(let i=0;i<pointsCount; i+=1) {
const delay = Math.random();
delays.push(delay);
}
// now, i want to normalize the delays-array, so that the sum of
// all it's items adds up to `1`.
const allDelays = delays.reduce((acc, current) => acc + current, 0);
for(let i=0;i<delays.length; i++) {
delays[i] = delays[i] / allDelays
}
return delays;
}
async function main() {
for (let step = 0; step < 300; step++) {
await sleep(getNextSineWaveSleepDuration());
const timestampMs = new Date().getTime();
const item = getRandomLogItem(step + 1)
lokiSendLogLine(timestampMs, JSON.stringify(item), {place:'moon', source: 'data', instance: 'server\\1', job: '"grafana/data"'});
lokiSendLogLine(timestampMs, logFmtLine(item), {place:'luna', source: 'data', instance: 'server\\2', job: '"grafana/data"'});
function getRandomNanosecPart() {
// we want to have cases with milliseconds-only, with microsec and nanosec.
const mode = Math.random();
if (mode < 0.333) {
// only milisec precision
return '000000';
}
if (mode < 0.666) {
// microsec precision
return Math.trunc(Math.random()*1000).toString().padStart(3, '0') + '000'
}
// nanosec precision
return Math.trunc(Math.random()*1000000).toString().padStart(6, '0')
}
async function main() {
const delays = calculateDelays(DAYS * POINTS_PER_DAY);
const timeRange = DAYS * 24 * 60 * 60 * 1000;
let timestampMs = new Date().getTime() - timeRange;
for(let i =0; i < delays.length; i++ ) { // i cannot do a forEach because of the `await` inside
const delay = delays[i];
timestampMs += Math.trunc(delay * timeRange);
const timestampNs = `${timestampMs}${getRandomNanosecPart()}`;
const item = getRandomLogItem(i + 1)
await lokiSendLogLine(timestampNs, JSON.stringify(item), {place:'moon', source: 'data', instance: 'server\\1', job: '"grafana/data"'});
await lokiSendLogLine(timestampNs, logFmtLine(item), {place:'luna', source: 'data', instance: 'server\\2', job: '"grafana/data"'});
};
}
// when running in docker, we catch the needed stop-signal, to shutdown fast

View File

@@ -3,5 +3,4 @@ This devenv docker-compose.yaml will allow you to;
- view traces
- upload/download trace JSON files
- view service graphs
- view the APM table
- search traces via Loki

View File

@@ -0,0 +1,12 @@
FROM golang:1.19
ADD webhook-listener.go /go/src/webhook/webhook-listener.go
WORKDIR /go/src/webhook
RUN mkdir /tmp/logs
RUN go build -o /bin webhook-listener.go
ENV PORT 8080
ENTRYPOINT [ "/bin/webhook-listener" ]

View File

@@ -32,7 +32,7 @@ services:
environment:
- VIRTUAL_HOST=prometheus.loc
ports:
- 909
- 9090
nginx-proxy:
image: jwilder/nginx-proxy
ports:
@@ -43,48 +43,53 @@ services:
db:
condition: service_healthy
grafana1:
image: grafana/grafana:dev
volumes:
- ./grafana/provisioning/:/etc/grafana/provisioning/
environment:
- VIRTUAL_HOST=grafana.loc
- GF_FEATURE_TOGGLES_ENABLE=ngalert
- GF_UNIFIED_ALERTING_HA_PEERS=ha-test-unified-alerting_grafana2_1:9094,ha-test-unified-alerting_grafana1_1:9094
- GF_SERVER_ROOT_URL=http://grafana.loc
- GF_DATABASE_NAME=grafana
- GF_DATABASE_USER=grafana
- GF_DATABASE_PASSWORD=password
- GF_DATABASE_TYPE=mysql
- GF_DATABASE_HOST=db:3306
- GF_DATABASE_MAX_OPEN_CONN=300
- GF_SESSION_PROVIDER=mysql
- GF_SESSION_PROVIDER_CONFIG=grafana:password@tcp(db:3306)/grafana?allowNativePasswords=true
extends:
file: ./grafana-service.yml
service: grafana
ports:
- 3010:3000
depends_on:
db:
condition: service_healthy
grafana2:
image: grafana/grafana:dev
volumes:
- ./grafana/provisioning/:/etc/grafana/provisioning/
environment:
- VIRTUAL_HOST=grafana.loc
- GF_FEATURE_TOGGLES_ENABLE=ngalert
- GF_UNIFIED_ALERTING_HA_PEERS=ha-test-unified-alerting_grafana2_1:9094,ha-test-unified-alerting_grafana1_1:9094
- GF_SERVER_ROOT_URL=http://grafana.loc
- GF_DATABASE_NAME=grafana
- GF_DATABASE_USER=grafana
- GF_DATABASE_PASSWORD=password
- GF_DATABASE_TYPE=mysql
- GF_DATABASE_HOST=db:3306
- GF_DATABASE_MAX_OPEN_CONN=300
- GF_SESSION_PROVIDER=mysql
- GF_SESSION_PROVIDER_CONFIG=grafana:password@tcp(db:3306)/grafana?allowNativePasswords=true
extends:
file: ./grafana-service.yml
service: grafana
ports:
- 3020:3000
depends_on:
db:
condition: service_healthy
grafana1:
condition: service_healthy
grafana3:
extends:
file: ./grafana-service.yml
service: grafana
ports:
- 3030:3000
depends_on:
db:
condition: service_healthy
grafana2:
condition: service_healthy
grafana4:
extends:
file: ./grafana-service.yml
service: grafana
ports:
- 3040:3000
depends_on:
db:
condition: service_healthy
grafana3:
condition: service_healthy
webhook:
image: webhook-receiver
build:
context: .
dockerfile: Dockerfile
ports:
- "18081:8080"
volumes:
- "./logs/webhook:/tmp/logs:rw"

View File

@@ -0,0 +1,23 @@
services:
grafana:
image: grafana/grafana-dev:3a22eba17f23b18faa27436ab2f9c3ea977b550b
volumes:
- ./grafana/provisioning/:/etc/grafana/provisioning/
environment:
- VIRTUAL_HOST=grafana.loc
- GF_FEATURE_TOGGLES_ENABLE=ngalert
- GF_UNIFIED_ALERTING_HA_PEERS=ha-test-unified-alerting-grafana2-1:9094,ha-test-unified-alerting-grafana1-1:9094,ha-test-unified-alerting-grafana3-1:9094,ha-test-unified-alerting-grafana4-1:9094
- GF_SERVER_ROOT_URL=http://grafana.loc
- GF_DATABASE_NAME=grafana
- GF_DATABASE_USER=grafana
- GF_DATABASE_PASSWORD=password
- GF_DATABASE_TYPE=mysql
- GF_DATABASE_HOST=db:3306
- GF_DATABASE_MAX_OPEN_CONN=300
- GF_SESSION_PROVIDER=mysql
- GF_SESSION_PROVIDER_CONFIG=grafana:password@tcp(db:3306)/grafana?allowNativePasswords=true
healthcheck:
test: timeout 10s bash -c ':> /dev/tcp/127.0.0.1/3000' || exit 1
interval: 5s
timeout: 15s
retries: 3

View File

@@ -0,0 +1,181 @@
package main
import (
"encoding/json"
"flag"
"fmt"
"io/ioutil"
"log"
"net/http"
"os"
"path"
"path/filepath"
"sync"
"time"
)
var (
fingerprints = make(Fingerprints)
mu sync.Mutex
waitSeconds int
logFile bool
logFileName = filepath.Join(os.TempDir(), "/logs/webhook-listener.log")
dumpDir = filepath.Join(os.TempDir(), "/logs/dumps")
)
type Alert struct {
Fingerprint string `json:"fingerprint"`
StartsAt time.Time `json:"startsAt"`
Status string `json:"status"`
}
type Data struct {
Receiver string `json:"receiver"`
Status string `json:"status"`
Alerts []Alert `json:"alerts"`
}
// Fingerprints keeps track of the number of alerts received
// by fingerprint and StartsAt time.
type Fingerprints map[string]map[time.Time]tracker
type tracker struct {
Updates int `json:"updates"`
Statuses []string `json:"statuses"`
}
func updateFingerprints(v Data) {
mu.Lock()
defer mu.Unlock()
for _, alert := range v.Alerts {
m, ok := fingerprints[alert.Fingerprint]
if !ok {
m = make(map[time.Time]tracker)
}
t, ok := m[alert.StartsAt]
if !ok {
t = tracker{
Updates: 0,
Statuses: []string{},
}
}
t.Updates += 1
t.Statuses = append(t.Statuses, alert.Status)
m[alert.StartsAt] = t
fingerprints[alert.Fingerprint] = m
}
}
func parseFlags() {
flag.BoolVar(&logFile, "log-file", true, "Whether to log to file")
flag.IntVar(&waitSeconds, "wait-seconds", 0, "The number of seconds to wait before sending an HTTP response")
flag.Parse()
}
func saveDump(data []byte) {
if !logFile {
return
}
if len(data) == 0 {
fmt.Println("empty dump - not saving")
return
}
ts := time.Now().UnixNano()
name := path.Join(dumpDir, fmt.Sprintf("%d.json", ts))
for i := 1; i <= 1000; i++ {
if _, err := os.Stat(name); os.IsNotExist(err) {
break
}
name = path.Join(dumpDir, fmt.Sprintf("%d_%04d.json", ts, i))
}
log.Printf("saving dump to %s", name)
err := os.WriteFile(name, data, os.ModePerm)
if err != nil {
log.Printf("cannot save to file %s: %s\n", name, err)
}
}
func main() {
parseFlags()
_, err := os.Stat(dumpDir)
if os.IsNotExist(err) {
err = os.MkdirAll(dumpDir, os.ModePerm)
if err != nil {
log.Panicf("can't create directory '%s'", dumpDir)
}
}
if logFile {
//create your file with desired read/write permissions
f, err := os.OpenFile(logFileName, os.O_WRONLY|os.O_CREATE|os.O_APPEND, os.ModePerm)
if err != nil {
log.Fatal(err)
}
defer f.Close()
log.SetOutput(f)
}
waitDuration := time.Duration(waitSeconds) * time.Second
http.HandleFunc("/", func(writer http.ResponseWriter, request *http.Request) {
writer.WriteHeader(http.StatusOK)
writer.Write([]byte(landingPage))
})
http.HandleFunc("/listen", func(w http.ResponseWriter, r *http.Request) {
log.Printf("got submission from: %s\n", r.RemoteAddr)
b, err := ioutil.ReadAll(r.Body)
if err != nil {
log.Println(err)
w.WriteHeader(http.StatusBadRequest)
return
}
saveDump(b)
v := Data{}
if err := json.Unmarshal(b, &v); err != nil {
log.Println(err)
w.WriteHeader(http.StatusBadRequest)
return
}
fmt.Printf("receiver: %s, status: %s\n", v.Receiver, v.Status)
updateFingerprints(v)
<-time.After(waitDuration)
})
http.HandleFunc("/fingerprints", func(w http.ResponseWriter, r *http.Request) {
b, err := func() ([]byte, error) {
mu.Lock()
defer mu.Unlock()
return json.Marshal(fingerprints)
}()
if err != nil {
log.Println(err)
w.WriteHeader(http.StatusInternalServerError)
return
}
w.Header().Add("Content-Type", "application/json")
w.Write(b)
})
log.Println("Listening")
log.Printf("Wait Duration %v\n", waitDuration)
http.ListenAndServe("0.0.0.0:8080", nil)
}
const landingPage = `
<!doctype html>
<html>
<head>
<title>Webhook listener</title>
</head>
<body>
<h1>Webhook Listener<h1>
<p> For setup, please point your webhook configuration to the "/listen" endpoint. </p>
<p> For debugging, please use the "/fingerprints" endpoint. </p>
</body>
</html>
`

View File

@@ -1,10 +0,0 @@
{
"presets": [
"@babel/env",
"@babel/typescript"
],
"plugins": [
"@babel/proposal-class-properties",
"@babel/proposal-object-rest-spread"
]
}

View File

@@ -1,3 +0,0 @@
scripts/tmp
dist/
.yarn

View File

@@ -1,14 +0,0 @@
# Grafana load tests written in typescript - EXPERIMENTAL
Runs load tests written in typescript and checks Grafana's performance using [k6](https://k6.io/)
This is **experimental** - please consider adding new tests to devenv/docker/loadtest while we are testing the typescript approach!
# How to run
```
yarn install
GRPC_TOKEN={REPLACE_WITH_SERVICE_ACCOUNT_ADMIN_TOKEN} ./run.sh test=object-store-test grpcAddress=127.0.0.1:10000 execution=local
```

View File

@@ -1,28 +0,0 @@
{
"private": true,
"license": "Apache-2.0",
"name": "@grafana/perf-tests",
"version": "9.4.0-pre",
"devDependencies": {
"@babel/core": "7.19.6",
"@babel/plugin-proposal-class-properties": "7.18.6",
"@babel/plugin-proposal-object-rest-spread": "7.19.4",
"@babel/preset-env": "7.19.4",
"@babel/preset-typescript": "7.18.6",
"@types/k6": "0.41.0",
"@types/shortid": "0.0.29",
"@types/webpack": "5.28.0",
"babel-loader": "9.1.0",
"shortid": "2.2.16",
"ts-node": "10.9.1",
"typescript": "4.8.4",
"webpack": "5.74.0",
"webpack-cli": "4.10.0",
"webpack-glob-entries": "1.0.1"
},
"scripts": {
"build": "webpack",
"prepare-testdata": "yarn run prepare-testdata:object-store-test",
"prepare-testdata:object-store-test": "ts-node scripts/prepareDashboardFileNames.ts ../../dev-dashboards ./scripts/tmp/filenames.json"
}
}

View File

@@ -1,64 +0,0 @@
#!/usr/bin/env bash
if ((BASH_VERSINFO[0] < 4)); then
echo "Bash ver >= 4 is needed to run this script"
echo "Please upgrade your bash - run 'brew install bash' if you use Homebrew on MacOS"
exit 1;
fi
declare -A cfg=(
[grpcToken]=$GRPC_TOKEN
[grpcAddress]="127.0.0.1:10000"
[execution]="local"
[test]="object-store-test"
[k6CloudToken]=$K6_CLOUD_TOKEN
)
for ARGUMENT in "$@"
do
KEY=$(echo $ARGUMENT | cut -f1 -d=)
KEY_LENGTH=${#KEY}
VALUE="${ARGUMENT:$KEY_LENGTH+1}"
cfg["$KEY"]="$VALUE"
done
function usage() {
echo "$0 grpcAddress= grpcToken= execution= k6CloudToken= test=
- 'grpcAddress' is the address of Grafana gRPC server. 127.0.0.1:10000 is the default.
- 'grpcToken' is the service account admin token used for Grafana gRPC server authentication.
- 'execution' is the test execution mode; one of 'local', 'cloud-output', 'cloud'. 'local' is the default.
- 'k6CloudToken' is the k6 cloud token required for 'cloud-output' and 'cloud' execution modes.
- 'test' is the filepath of the test to execute relative to ./src, without the extension. example 'object-store-test'"
exit 0
}
if [ "${cfg[grpcToken]}" == "" ]; then
usage
fi
if [ "${cfg[execution]}" == "cloud" ]; then
echo "cloud execution mode is not yet implemented"
exit 0
elif [ "${cfg[execution]}" == "cloud-output" ]; then
if [ "${cfg[k6CloudToken]}" == "" ]; then
usage
fi
elif [ "${cfg[execution]}" != "local" ]; then
usage
fi
yarn run build
yarn run prepare-testdata
TEST_PATH="./dist/${cfg[test]}.js"
echo "$(date '+%Y-%m-%d %H:%M:%S'): Executing test ${TEST_PATH} in ${cfg[execution]} mode"
if [ "${cfg[execution]}" == "cloud-output" ]; then
GRPC_TOKEN="${cfg[grpcToken]}" GRPC_ADDRESS="${cfg[grpcAddress]}" K6_CLOUD_TOKEN="${cfg[k6CloudToken]}" k6 run --out cloud "$TEST_PATH"
elif [ "${cfg[execution]}" == "local" ]; then
GRPC_TOKEN="${cfg[grpcToken]}" GRPC_ADDRESS="${cfg[grpcAddress]}" k6 run "$TEST_PATH"
fi

View File

@@ -1,24 +0,0 @@
import { readdirSync, writeFileSync, mkdirSync } from 'fs';
import { dirname, resolve } from 'path';
const args = process.argv.slice(2);
if (args.length !== 2) {
throw new Error('expected dev dashboards dir and the output file path');
}
const devDashboardsDir = args[0];
const outputFilePath = args[1];
const getFiles = (dirPath: string, ext?: string): string[] =>
readdirSync(dirPath, { withFileTypes: true })
.flatMap((dirEntry) => {
const res = resolve(dirPath, dirEntry.name);
return dirEntry.isDirectory() ? getFiles(res) : res;
})
.filter((path) => (ext?.length ? path.endsWith(ext) : true));
const files = getFiles(devDashboardsDir, '.json');
mkdirSync(dirname(outputFilePath), { recursive: true });
writeFileSync(outputFilePath, JSON.stringify(files, null, 2));

View File

@@ -1,116 +0,0 @@
const testDash = {
annotations: { list: [] },
editable: true,
fiscalYearStartMonth: 0,
graphTooltip: 0,
id: 100,
links: [],
liveNow: false,
panels: [
{
datasource: {
type: 'testdata',
uid: 'testdata',
},
fieldConfig: {
defaults: {
color: {
mode: 'thresholds',
},
custom: {
align: 'auto',
displayMode: 'auto',
inspect: false,
},
mappings: [],
thresholds: {
mode: 'absolute',
steps: [
{
color: 'green',
value: null,
},
{
color: 'red',
value: 80,
},
],
},
},
overrides: [],
},
gridPos: {
h: 9,
w: 12,
x: 0,
y: 0,
},
id: 2,
options: {
footer: {
fields: '',
reducer: ['sum'],
show: false,
},
showHeader: true,
},
pluginVersion: '9.4.0-pre',
targets: [
{
csvContent: '',
datasource: {
type: 'testdata',
uid: 'PD8C576611E62080A',
},
refId: 'A',
scenarioId: 'csv_content',
},
],
title: 'Panel Title',
type: 'table',
},
],
schemaVersion: 37,
style: 'dark',
tags: [],
templating: {
list: [],
},
time: {
from: 'now-6h',
to: 'now',
},
timepicker: {},
timezone: '',
title: 'New dashboard',
uid: '5v6e5VH4z',
version: 1,
weekStart: '',
} as const;
const getCsvContent = (lengthInKb: number): string => {
const lines: string[] = ['id,name'];
for (let i = 0; i < lengthInKb; i++) {
const prefix = `${i},`;
lines.push(prefix + 'a'.repeat(1024 - prefix.length));
}
return lines.join('\n');
};
export const prepareDashboard = (lengthInKb: number): Record<string, unknown> => {
const firstPanel = testDash.panels[0];
return {
...testDash,
panels: [
{
...firstPanel,
targets: [
{
...firstPanel.targets[0],
csvContent: getCsvContent(lengthInKb),
},
],
},
],
};
};

View File

@@ -1,214 +0,0 @@
import { check } from 'k6';
import { b64encode } from 'k6/encoding';
import grpc from 'k6/net/grpc';
import { Object } from './prepare-data';
enum GRPCMethods {
ServerHealth = 'grpc.health.v1.Health/Check',
ObjectWrite = 'object.ObjectStore/Write',
ObjectDelete = 'object.ObjectStore/Delete',
ObjectRead = 'object.ObjectStore/Read',
}
export class GRPCObjectStoreClient {
private connected = false;
constructor(private client: grpc.Client, private grpcAddress: string, private grpcToken: string) {}
connect = () => {
if (!this.connected) {
this.client.connect(this.grpcAddress, { plaintext: true, reflect: true });
this.connected = true;
}
};
grpcRequestParams = () => {
return {
metadata: {
authorization: `Bearer ${this.grpcToken}`,
},
};
};
healthCheck = (): boolean => {
this.connect();
const response = this.client.invoke(GRPCMethods.ServerHealth, {});
return check(response, {
'server is healthy': (r) => {
const statusOK = r && r.status === grpc.StatusOK;
if (!statusOK) {
return false;
}
const body = r.message;
// @ts-ignore
return 'status' in body && body.status === 'SERVING';
},
});
};
deleteObject = (uid: string, kind: string, _?: {}) => {
this.connect();
const response = this.client.invoke(
GRPCMethods.ObjectDelete,
{
kind: kind,
UID: uid,
},
this.grpcRequestParams()
);
check(response, {
'object was deleted': (r) => {
const statusOK = r && r.status === grpc.StatusOK;
if (!statusOK) {
return false;
}
if (!isDeleteObjectResponse(r.message)) {
console.log(
JSON.stringify({
type: 'invalid_delete_response',
uid: uid,
kind: kind,
resp: r,
})
);
return false;
}
return true;
},
});
};
readObject = (uid: string, kind: string, _?: {}) => {
this.connect();
const response = this.client.invoke(
GRPCMethods.ObjectRead,
{
kind: kind,
UID: uid,
with_body: true,
with_summary: true,
},
this.grpcRequestParams()
);
check(response, {
'object exists': (r) => {
const statusOK = r && r.status === grpc.StatusOK;
if (!statusOK) {
return false;
}
const respBody = r.message;
if (!isReadObjectResponse(respBody)) {
console.log(
JSON.stringify({
type: 'invalid_read_response',
uid: uid,
kind: kind,
resp: r,
})
);
return false;
}
return typeof respBody.object.body === 'string';
},
});
};
writeObject = (object: Object, opts?: { randomizeData?: boolean; checkCreatedOrUpdated?: boolean }) => {
this.connect();
const data = opts?.randomizeData
? {
...object.data,
__random: `${Date.now() - Math.random()}`,
}
: object.data;
const response = this.client.invoke(
GRPCMethods.ObjectWrite,
{
body: b64encode(JSON.stringify(data)),
comment: '',
kind: object.kind,
UID: object.uid,
},
this.grpcRequestParams()
);
const checkName = opts?.checkCreatedOrUpdated ? 'object was created or updated' : 'object was created';
check(response, {
[checkName]: (r) => {
const statusOK = r && r.status === grpc.StatusOK;
if (!statusOK) {
return false;
}
const respBody = r.message;
if (!isWriteObjectResponse(respBody)) {
console.log(
JSON.stringify({
type: 'invalid_write_response',
uid: object.uid,
kind: object.kind,
resp: r,
})
);
return false;
}
return opts?.checkCreatedOrUpdated
? respBody.status === WriteObjectResponseStatus.UPDATED ||
respBody.status === WriteObjectResponseStatus.CREATED
: respBody.status === WriteObjectResponseStatus.CREATED;
},
});
};
}
type DeleteObjectResponse = {
OK: boolean;
};
const isDeleteObjectResponse = (resp: object): resp is DeleteObjectResponse => {
return resp.hasOwnProperty('OK');
};
enum WriteObjectResponseStatus {
CREATED = 'CREATED',
UPDATED = 'UPDATED',
}
type WriteObjectResponse = {
status: WriteObjectResponseStatus;
};
const isWriteObjectResponse = (resp: object): resp is WriteObjectResponse => {
return resp.hasOwnProperty('status');
};
type ReadObjectResponse = {
object: {
UID: string;
kind: string;
body: string;
};
};
const isReadObjectResponse = (resp: object): resp is ReadObjectResponse => {
if (!resp.hasOwnProperty('object')) {
return false;
}
// @ts-ignore
const object = resp.object;
return Boolean(object && typeof object === 'object' && object.hasOwnProperty('body'));
};

View File

@@ -1,145 +0,0 @@
import { SharedArray } from 'k6/data';
import execution from 'k6/execution';
import grpc from 'k6/net/grpc';
import { GRPCObjectStoreClient } from './object-store-client';
import { Data, prepareData } from './prepare-data';
const grpcToken = __ENV.GRPC_TOKEN;
const grpcAddress = __ENV.GRPC_ADDRESS;
if (typeof grpcToken !== 'string' || !grpcToken.length) {
throw new Error('GRPC_TOKEN env variable is missing');
}
if (typeof grpcAddress !== 'string' || !grpcAddress.length) {
throw new Error('GRPC_ADDRESS env variable is missing');
}
const client = new grpc.Client();
const objectStoreClient = new GRPCObjectStoreClient(client, grpcAddress, grpcToken);
const data: Data = new SharedArray('data', () => {
return [prepareData(JSON.parse(open('../scripts/tmp/filenames.json')), 50)];
})[0];
const scenarioDuration = '2m';
export const options = {
setupTimeout: '5m',
teardownTimeout: '5m',
noConnectionReuse: true,
scenarios: {
writer: {
exec: 'writer',
executor: 'constant-arrival-rate',
rate: 1,
timeUnit: '2s',
duration: scenarioDuration,
preAllocatedVUs: 1,
maxVUs: 1,
},
reader: {
exec: 'reader',
executor: 'constant-arrival-rate',
rate: 10,
timeUnit: '2s',
duration: scenarioDuration,
preAllocatedVUs: 1,
maxVUs: 10,
},
writer1mb: {
exec: 'writer1mb',
executor: 'constant-arrival-rate',
rate: 1,
timeUnit: '20s',
duration: scenarioDuration,
preAllocatedVUs: 1,
maxVUs: 5,
},
reader1mb: {
startTime: '2s',
exec: 'reader1mb',
executor: 'constant-arrival-rate',
rate: 1,
timeUnit: '1s',
duration: scenarioDuration,
preAllocatedVUs: 1,
maxVUs: 5,
},
writer4mb: {
exec: 'writer4mb',
executor: 'constant-arrival-rate',
rate: 1,
timeUnit: '30s',
duration: scenarioDuration,
preAllocatedVUs: 1,
maxVUs: 5,
},
reader4mb: {
startTime: '3s',
exec: 'reader4mb',
executor: 'constant-arrival-rate',
rate: 1,
timeUnit: '5s',
duration: scenarioDuration,
preAllocatedVUs: 1,
maxVUs: 5,
},
},
// thresholds: { http_req_duration: ['avg<100', 'p(95)<200'] },
};
export function setup() {
if (!objectStoreClient.healthCheck()) {
execution.test.abort('server should be healthy');
}
console.log('inserting base objects');
for (let i = 0; i < data.base.length; i++) {
if (i % 100 === 0) {
console.log(`inserted ${i} / ${data.base.length}`);
}
objectStoreClient.writeObject(data.base[i], { randomizeData: false, checkCreatedOrUpdated: false });
}
}
export function teardown() {
const toDelete = [...data.base, ...data.toWrite, data.size1mb, data.size4mb, data.size100kb];
console.log('deleting base objects');
for (let i = 0; i < toDelete.length; i++) {
if (i % 100 === 0) {
console.log(`deleted ${i} / ${data.base.length}`);
}
objectStoreClient.deleteObject(toDelete[i].uid, toDelete[i].kind);
}
}
export function reader() {
const item = data.base[execution.scenario.iterationInTest % data.base.length];
objectStoreClient.readObject(item.uid, item.kind);
}
export function writer() {
const item = data.toWrite[execution.scenario.iterationInTest % data.toWrite.length];
objectStoreClient.writeObject(item, { randomizeData: true, checkCreatedOrUpdated: true });
}
export function writer1mb() {
objectStoreClient.writeObject(data.size1mb, { randomizeData: true, checkCreatedOrUpdated: true });
}
export function reader1mb() {
const item = data.size1mb;
objectStoreClient.readObject(item.uid, item.kind);
}
export function writer4mb() {
objectStoreClient.writeObject(data.size4mb, { randomizeData: true, checkCreatedOrUpdated: true });
}
export function reader4mb() {
const item = data.size4mb;
objectStoreClient.readObject(item.uid, item.kind);
}

View File

@@ -1,57 +0,0 @@
import shortid from 'shortid';
import { prepareDashboard } from './get-large-dashboard';
export type Object = {
data: Record<string, unknown>;
kind: string;
uid: string;
};
export type Data = {
base: Object[]; // objects that are inserted in the test setup and removed only in the teardown
toWrite: Object[]; // objects that are inserted by scenarios and removed after a short period of time: Object;
size100kb: Object;
size1mb: Object;
size4mb: Object;
};
export const readAsObjects = (paths: string[], kind: string): Object[] => {
return paths.map((p) => ({
data: JSON.parse(open(p)),
uid: shortid.generate(),
kind,
}));
};
export const getBase = (uniqueObjects: Object[], no: number): Object[] => {
const base = new Array<Object>(no);
for (let i = 0; i < no; i++) {
const obj = uniqueObjects[Math.floor(i % uniqueObjects.length)];
base[i] = {
...obj,
uid: `${obj.uid}-${Math.floor(i / uniqueObjects.length)}`,
};
}
return base;
};
const prepareObject = (lengthInKb: number): Object => {
return {
data: prepareDashboard(lengthInKb),
kind: 'dashboard',
uid: shortid(),
};
};
export const prepareData = (dashboardFilePaths: string[], baseNumber: number): Data => {
const objects = readAsObjects(dashboardFilePaths, 'dashboard');
return {
base: getBase(objects, baseNumber),
toWrite: objects,
size100kb: prepareObject(100),
size1mb: prepareObject(1000),
size4mb: prepareObject(4000),
};
};

View File

@@ -1,26 +0,0 @@
{
"compilerOptions": {
"target": "es5",
"moduleResolution": "node",
"module": "commonjs",
"noEmit": true,
"allowJs": true,
"removeComments": false,
"strict": true,
"noImplicitAny": true,
"noImplicitThis": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"skipLibCheck": true
}
}

View File

@@ -1,37 +0,0 @@
const path = require('path');
const GlobEntries = require('webpack-glob-entries');
module.exports = {
mode: 'production',
entry: GlobEntries('./src/*test*.ts'), // Generates multiple entry for each test
output: {
path: path.join(__dirname, 'dist'),
libraryTarget: 'commonjs',
filename: '[name].js',
clean: true,
},
resolve: {
extensions: ['.ts', '.js'],
},
module: {
rules: [
{
test: /\.ts$/,
use: 'babel-loader',
exclude: /node_modules/,
},
],
},
target: 'web',
externals: /^(k6|https?\:\/\/)(\/.*)?/,
// Generate map files for compiled scripts
devtool: 'source-map',
stats: {
colors: true,
},
plugins: [],
optimization: {
// Don't minimize, as it's not used in the browser
minimize: false,
},
};

File diff suppressed because it is too large Load Diff

View File

@@ -149,6 +149,13 @@ local dashboard = grafana.dashboard;
id: 0,
}
},
dashboard.new('datadata-macros', import '../dev-dashboards/feature-templating/datadata-macros.json') +
resource.addMetadata('folder', 'dev-dashboards') +
{
spec+: {
id: 0,
}
},
dashboard.new('demo1', import '../dev-dashboards/datasource-testdata/demo1.json') +
resource.addMetadata('folder', 'dev-dashboards') +
{
@@ -373,6 +380,13 @@ local dashboard = grafana.dashboard;
id: 0,
}
},
dashboard.new('migrations', import '../dev-dashboards/migrations/migrations.json') +
resource.addMetadata('folder', 'dev-dashboards') +
{
spec+: {
id: 0,
}
},
dashboard.new('mssql_fakedata', import '../dev-dashboards/datasource-mssql/mssql_fakedata.json') +
resource.addMetadata('folder', 'dev-dashboards') +
{

View File

@@ -1,8 +1,8 @@
.PHONY: pull docs docs-quick docs-no-pull docs-test docs-local-static
PODMAN = $(shell if command -v podman &>/dev/null; then echo podman; else echo docker; fi)
PODMAN = $(shell if command -v podman >/dev/null 2>&1; then echo podman; else echo docker; fi)
IMAGE = grafana/docs-base:latest
CONTENT_PATH = /hugo/content/docs/grafana/next
CONTENT_PATH = /hugo/content/docs/grafana/latest
LOCAL_STATIC_PATH = ../../website/static
PORT = 3002:3002
@@ -10,19 +10,24 @@ pull:
$(PODMAN) pull $(IMAGE)
docs: pull
$(PODMAN) run -v $(shell pwd)/sources:$(CONTENT_PATH):Z -p $(PORT) --rm -it $(IMAGE) /bin/bash -c "make server"
$(PODMAN) run --init -v $(shell pwd)/sources:$(CONTENT_PATH):Z -p $(PORT) --rm -it $(IMAGE) make server
docs-preview: pull
$(PODMAN) run -v $(shell pwd)/sources:$(CONTENT_PATH):Z -p $(PORT) --rm -it $(IMAGE) /bin/bash -c "make server BUILD_DRAFTS=true"
$(PODMAN) run --init -v $(shell pwd)/sources:$(CONTENT_PATH):Z -p $(PORT) --rm -it $(IMAGE) make server BUILD_DRAFTS=true
docs-no-pull:
$(PODMAN) run -v $(shell pwd)/sources:$(CONTENT_PATH):Z -p $(PORT) --rm -it $(IMAGE) /bin/bash -c "make server"
$(PODMAN) run --init -v $(shell pwd)/sources:$(CONTENT_PATH):Z -p $(PORT) --rm -it $(IMAGE) make server
docs-test: pull
$(PODMAN) run -v $(shell pwd)/sources:$(CONTENT_PATH):Z --rm -it $(IMAGE) /bin/bash -c 'make prod'
$(PODMAN) run --init -v $(shell pwd)/sources:$(CONTENT_PATH):Z --rm -it $(IMAGE) make prod
# expects that you have grafana/website checked out in same path as the grafana repo.
docs-local-static: pull
if [ ! -d "$(LOCAL_STATIC_PATH)" ]; then echo "local path (website project) $(LOCAL_STATIC_PATH) not found"]; exit 1; fi
$(PODMAN) run -v $(shell pwd)/sources:$(CONTENT_PATH):Z \
$(PODMAN) run --init -v $(shell pwd)/sources:$(CONTENT_PATH):Z \
-v $(shell pwd)/$(LOCAL_STATIC_PATH):/hugo/static:Z -p $(PORT) --rm -it $(IMAGE)
.PHONY: doc-validator/%
doc-validator/%: ## Run doc-validator on a specific path. To lint the path /docs/sources/administration, run 'make doc-validator/administration'.
doc-validator/%:
$(PODMAN) run --init -v "$(shell pwd)/sources:/sources" grafana/doc-validator:latest --skip-image-validation --include=$(subst doc-validator/,,$@) ./sources /docs/grafana/latest

View File

@@ -10,7 +10,7 @@ Yarn >= 1.22.4
## Build the doc site
1. On the command line, first change to the docs folder: `cd docs`.
1. Run `make docs`. This launches a preview of the website with the current grafana docs at `http://localhost:3002/docs/grafana/next/` which will refresh automatically when changes are made to content in the `sources` directory.
1. Run `make docs`. This launches a preview of the website with the current grafana docs at `http://localhost:3002/docs/grafana/latest/` which will refresh automatically when changes are made to content in the `sources` directory.
If you have the grafana/website repo checked out in the same directory as the grafana repo, then you can run `make docs-local-static` to use local assets (such as images).
@@ -52,7 +52,7 @@ To specify different menu text from the page title, use the front matter paramet
### Add images
Images are currently hosted in the grafana/website repo.
Please see our help documentation on [Image, diagram, and screenshot guidelines](https://grafana.com/docs/writers-toolkit/writing-guide/image-guidelines/) for comprehensive information.
---

View File

@@ -3,7 +3,7 @@ aliases:
- /docs/grafana/v1.1/
- /docs/grafana/v3.1/
- guides/reference/admin/
description: Guides, Installation and Feature Documentation
description: Guides, installation, and feature documentation
keywords:
- grafana
- installation

Some files were not shown because too many files have changed in this diff Show More