Compare commits

...

1191 Commits

Author SHA1 Message Date
Grot (@grafanabot) 84203aaff8 "Release: Updated versions in package to 8.0.0-beta.1" (#34041) 2021-05-13 11:46:41 +02:00
Dominik Prokop 9826bfa786 Updates release notes and whats new link in package.json (#34039) 2021-05-13 11:37:45 +02:00
Alexander Emelin e97750b824 Live: labels column as default frame format (#33984)
* labels columns as default frame format

* update sdk

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-05-13 11:01:20 +02:00
Torkel Ödegaard 7c153e2eb4 Login: Updates login page background (#34035) 2021-05-13 10:07:21 +02:00
Torkel Ödegaard fffff70d46 MinMax: Highlight issues with skipping field overrides (#33672)
* MinMax: Highlight issues with skipping field overrides

* check global range

* more selective

* basic test

* moved into getFieldDisplayValues

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-05-13 10:06:54 +02:00
Tania B 59e8ba6773 Docs: Update enterprise reporting section with link to the dashboard option (#32491)
* Docs: Update enterprise reporting section to mention link to the dashboard

* Update the text

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>

* Update new report screenshot

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
2021-05-13 10:41:08 +03:00
Leon Sorokin 4aaf141ddb Live: streaming labels field (#34031)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-05-13 09:33:11 +02:00
Leon Sorokin 601455190e Timeline: rename modes, grid -> Periodic samples, spans -> State changes (#34033) 2021-05-13 00:04:22 -07:00
Uchechukwu Obasi 765e771a2a StatsPicker: updates story from knobs to control (#34008) 2021-05-13 09:02:44 +02:00
Uchechukwu Obasi 8f91b59640 Switch: updates story from knobs to control (#34016)
* Switch: updates story from knobs to control

* small nit fixes

* exported default storybook config as meta
2021-05-13 09:01:56 +02:00
Torkel Ödegaard 567bbdf6e6 Theme: New visualization colors model (#33973)
* Initial design for new viz colors

* added unit tests

* Progress

* Updated selected color

* Use old named color names and colors to begin with

* Updates

* Fixing tests

* Progress

* Updates

* updating

* fixing tests

* Using some named colors

* renames && fixes

* remove plural

* fixed tests
2021-05-13 07:32:13 +02:00
Ryan McKinley 17750d3cdb Chore: support empty/missing strings (#34027) 2021-05-12 16:51:20 -07:00
Arve Knudsen 7bcb938b80 Chore: Update latest.json (#33937)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-05-13 00:59:12 +02:00
Conor Evans 83abaa8bdf Quota: Do not count folders towards dashboard quota (#32519)
For dashboard quota fix so that folders are not counted as dashboards.

Fixes #31317

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2021-05-12 23:44:46 +02:00
Emil Tullstedt c2e761f28e Access control: Attach ID to error message (#33472) 2021-05-12 23:00:27 +02:00
Diana Payton 49fa711577 Docs: Add 8 0 whats new topic (#34022)
* Create whats-new-in-v8-0.md

* added content
2021-05-12 12:29:06 -07:00
Alexander Emelin a14ae53347 UseRunStream is a default behaviour (#34021) 2021-05-12 22:17:31 +03:00
Zoltán Bedi 64f31a8d6f Test: Make sure that max can't be lower than min (#34020) 2021-05-12 21:14:30 +02:00
Jack Westbrook abdceb18da Plugins: introduce marketplace app (#33869)
* add uninstall flow

* add install flow

* small cleanup

* smaller-footprint solution

* cleanup + make bp start auto

* fix interface contract

* improve naming

* accept version arg

* ensure use of shared logger

* make installer a field

* add plugin decommissioning

* add basic error checking

* fix api docs

* making initialization idempotent

* add mutex

* fix comment

* fix test

* add test for decommission

* improve existing test

* add more test coverage

* more tests

* change test func to use read lock

* refactoring + adding test asserts

* improve purging old install flow

* improve dupe checking

* change log name

* skip over dupe scanned

* make test assertion more flexible

* remove trailing line

* fix pointer receiver name

* update comment

* add context to API

* add config flag

* add base http api test + fix update functionality

* simplify existing check

* clean up test

* refactor tests based on feedback

* add single quotes to errs

* use gcmp in tests + fix logo issue

* make plugin list testing more flexible

* address feedback

* fix API test

* fix linter

* undo preallocate

* Update docs/sources/administration/configuration.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/administration/configuration.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/administration/configuration.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* fix linting issue in test

* add docs placeholder

* update install notes

* Update docs/sources/plugins/marketplace.md

Co-authored-by: Marcus Olsson <marcus.olsson@hey.com>

* update access wording

* add more placeholder docs

* add link to more info

* PR feedback - improved errors, refactor, lock fix

* improve err details

* propagate plugin version errors

* don't autostart renderer

* add H1

* fix imports

* feat(bundled-plugins): introduce marketplace-app to the repo

* chore(marketplace-app): remove backend

* feat(marketplace): nav is only visible to admins

* feat(marketplace): use gnet api

* refactor(marketplace): move styles to theme2 move card concerns to card component

* feat(marketplace): introduce loaders, clean up styles

* refactor(marketplace): wip - debugging for api endpoints

* feat(grafana-ui): introduce height prop to Layout components

* refactor(marketplace): clean up org details component

* fix(marketplace): display search results without active filters

* refactor(marketplace): use grafana api for install/uninstall

* refactor(marketplace): remove pluginDir

* feat(marketplace): clean up Library page

* fix(plugins): get panel plugins from meta for newly installed plugins

* fix(marketplace): fix multiple renders of InstallControls when installing/uninstalling plugins

* refactor(marketplace): componentise the loader

* chore(marketplace): remove unsigned plugins option

* refactor(marketplace): remove includeUnsigned from codebase

* refactor(marketplace): prefer useStyles over useTheme

* docs(marketplace): remove changelog and update readme

* Apply suggestions from code review

Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>

* refactor(marketplace): prefer module over class for api

* refactor(marketplace): move updatePlugin to api

* refactor(marketplace): add PluginMeta to api to please TS

* feat(marketplace): always include pre-release in semver check

* chore(marketplace): remove redundant arch install code. backend handles it now

* feat(marketplace): add a link to browse page if library is empty

* refactor(marketplace): replace status with isLoading boolean for hooks

* refactor(marketplace): clean up async functions in InstallControls

* fix(marketplace): setInstalled false on successful uninstall

* include marketplace in bundled plugin test

Co-authored-by: Will Browne <will.browne@grafana.com>
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: Marcus Olsson <marcus.olsson@hey.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2021-05-12 21:07:37 +02:00
Kyle Brandt 3da8db7f3f Alerting: Run table migrations regardless of feature flag and move out of service (#33996) 2021-05-12 14:39:48 -04:00
Will Browne c39d6ad97d Plugins: Enable plugin runtime install/uninstall capabilities (#33836)
* add uninstall flow

* add install flow

* small cleanup

* smaller-footprint solution

* cleanup + make bp start auto

* fix interface contract

* improve naming

* accept version arg

* ensure use of shared logger

* make installer a field

* add plugin decommissioning

* add basic error checking

* fix api docs

* making initialization idempotent

* add mutex

* fix comment

* fix test

* add test for decommission

* improve existing test

* add more test coverage

* more tests

* change test func to use read lock

* refactoring + adding test asserts

* improve purging old install flow

* improve dupe checking

* change log name

* skip over dupe scanned

* make test assertion more flexible

* remove trailing line

* fix pointer receiver name

* update comment

* add context to API

* add config flag

* add base http api test + fix update functionality

* simplify existing check

* clean up test

* refactor tests based on feedback

* add single quotes to errs

* use gcmp in tests + fix logo issue

* make plugin list testing more flexible

* address feedback

* fix API test

* fix linter

* undo preallocate

* Update docs/sources/administration/configuration.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/administration/configuration.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/administration/configuration.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* fix linting issue in test

* add docs placeholder

* update install notes

* Update docs/sources/plugins/marketplace.md

Co-authored-by: Marcus Olsson <marcus.olsson@hey.com>

* update access wording

* add more placeholder docs

* add link to more info

* PR feedback - improved errors, refactor, lock fix

* improve err details

* propagate plugin version errors

* don't autostart renderer

* add H1

* fix imports

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: Marcus Olsson <marcus.olsson@hey.com>
2021-05-12 20:05:16 +02:00
achatterjee-grafana 1fbadab600 Remove beta tag and updated Pie chart Pie chart topic title (#34019)
* Removed note about pie chart and time series panel being beta.

* Removed v2 from pie chart title.

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

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2021-05-12 19:53:42 +02:00
Oscar Kilhed 1b5f1bfe33 Fix tooltip not closing (#34001)
* Fix tooltip not closing

* make this a bit less hacky

* use a more specific element for the mouseleave event

* Make sure we limit running of effect

* Remove console log

* Probably don't need useCallback
2021-05-12 19:52:19 +02:00
Ivana Huckova ca213ce9ad Add logs navigation section (#33977) 2021-05-12 13:49:47 -04:00
Andrej Ocenas 293677a0cb Prometheus: Add custom query params for alert and exemplars queries (#32440)
* Add configuration for custom query params

* Add custom transport in prometheus

* Move custom query handling to request method

* Add encoding
2021-05-12 19:30:41 +02:00
Torkel Ödegaard 1601f12cf1 ValueMappings: UX Feedback and fixes (#34011)
* ValueMappings: UX Feedback and fixes

* minor update to texts

* Update
2021-05-12 19:26:30 +02:00
Marcus Efraimsson d1a44044e5 Chore: Upgrade grafana-plugin-sdk-go to v0.96.0 (#34010) 2021-05-12 18:16:21 +02:00
Marcus Andersson 07ef4060a3 Alerting: adding a time picker for selecting relative time. (#33689)
* adding placeholder for relative time range.

* fixed story.

* added basic structure to handle open/close of time range picker.

* removed section from TimeOptions since it isn't used any where.

* adding mapper and tests

* move relativetimepicker to its own dir

* added some simple tests.

* changed test.

* use relativetimerangeinput

* redo state management

* refactored the tests.

* replace timerange with relativetimerange

* wip

* wip

* did some refactoring.

* refactored time option formatting.

* added proper formatting and display of time range.

* add relative time description, slight refactor of height

* fixed incorrect import.

* added validator and changed formatting.

* removed unused dep.

* reverted back to internal function.

* fixed display of relative time range picker.

* fixed failing tests.

* fixed parsing issue.

* fixed position of time range picker.

* some more refactorings.

* fixed validation of really big values.

* added another test.

Co-authored-by: Peter Holmberg <peter.hlmbrg@gmail.com>
2021-05-12 17:51:31 +02:00
Alexander Emelin 2459a0ceb5 live: remove demultiplexor (#34012) 2021-05-12 18:47:03 +03:00
Ryan McKinley ca8f6addab Colors: default colors for strings and boolean (#33965) 2021-05-12 08:40:43 -07:00
Alexander Emelin 765fa675f5 live: disable gzip for ws endpoints (#34015) 2021-05-12 18:39:57 +03:00
Alex Khomenko 167bad070b Grafana-UI: Add disabled state to picker components (#34005)
* TimeRangeInput: add disabled prop

* TimeOfDayPicker: add disabled prop

* TimeZonePicker: add disabled prop

* TagsInput: add disabled prop
2021-05-12 18:33:36 +03:00
Piotr Jamróz 6200c40160 Docs: Add information about Graphite/Loki integration (#33916)
* Add information about Graphite/Loki integration

* Inline text

* Update docs/sources/datasources/graphite.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-05-12 17:31:49 +02:00
Agnès Toulet ec71919e7b Rendering: add CSV support (#33729)
* Rendering: add CSV rendering support

* Rendering: save csv files into a separate folder

* add missing field

* Renderer: get filename from renderer plugin

* apply PR suggestions

* Rendering: remove old PhantomJS error

* Rendering: separate RenderCSV and Render functions

* fix alerting test

* Rendering: fix handling error in HTTP mode

* apply PR feedback

* Update pkg/services/rendering/http_mode.go

Co-authored-by: Joan López de la Franca Beltran <joanjan14@gmail.com>

* apply PR feedback

* Update rendering metrics with type label

* Rendering: return error if not able to parse header

* Rendering: update grpc generated file

* Rendering: use context.WithTimeout to render CSV too

Co-authored-by: Joan López de la Franca Beltran <joanjan14@gmail.com>
2021-05-12 17:16:57 +02:00
Sergey Kostrukov 81ad9769fa AzureMonitor: Azure settings in Grafana server config (#33728)
* Azure cloud settings

* Fix typos

* Grouped Azure settings

* Doc fixes

* Some settings are not needed

* Updated cloud name aliases
2021-05-12 16:23:37 +02:00
Piotr Jamróz 6ac43130f2 Explore: Match queries that are longer than defined Graphite/Loki mapping (#34003) 2021-05-12 16:10:38 +02:00
Uchechukwu Obasi a7efe19167 RangeSlider: updates story from knobs to control (#33980)
* RangeSlider: updates story from knobs to control

* changed the orientation control to type Select

* removes tooltipAlwaysVisible control since it crashes the story
2021-05-12 15:09:06 +01:00
Andrej Ocenas fdd6620d0a NodeGraph: Exploration mode (#33623)
* Add exploration option to node layout

* Add hidden node count

* Add grid layout option

* Fix panning bounds calculation

* Add legend with sorting

* Allow sorting on any stats or arc value

* Fix merge

* Make sorting better

* Reset focused node on layout change

* Refactor limit hook a bit

* Disable selected layout button

* Don't show markers if only 1 node is hidden

* Move legend to the bottom

* Fix text backgrounds

* Add show in graph layout action in grid layout

* Center view on the focused node, fix perf issue when expanding big graph

* Limit the node counting

* Comment and linting fixes

* Bit of code cleanup and comments

* Add state for computing layout

* Prevent computing map with partial data

* Add rollup plugin for worker

* Add rollup plugin for worker

* Enhance data from worker

* Fix perf issues with reduce and object creation

* Improve comment

* Fix tests

* Css fixes

* Remove worker plugin

* Add comments

* Fix test

* Add test for exploration

* Add test switching to grid layout

* Apply suggestions from code review

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Remove unused plugin

* Fix function name

* Remove unused rollup plugin

* Review fixes

* Fix context menu shown on layout change

* Make buttons bigger

* Moved NodeGraph to core grafana

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2021-05-12 16:04:21 +02:00
Owen Diehl 290e00cb6f bumps am & common libs with json tag support (#33995) 2021-05-12 09:55:32 -04:00
Uchechukwu Obasi 9c498c6810 Spinner: updates story from knobs to control (#33988) 2021-05-12 14:39:28 +01:00
Julien Duchesne 368edd8ecc Enterprise changes to the Drone pipelines (#33773)
* Enterprise changes to the Drone pipelines
This is basically a no-op in this repository, except for the fact that the grafanabot personal access token will now be fetched from Vault instead of repository secrets
This will pave the way for us to fetch all secrets from Vault

* Update star files from enterprise

* Add missingn newline
2021-05-12 15:30:05 +02:00
Hugo Häggmark c1be52bed0 OrgPicker: Fixes so organisations load (#33990)
* OrgPicker: Fixes so organisations load

* Update public/app/core/components/Select/OrgPicker.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Chore: updates after PR comments

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2021-05-12 14:21:54 +02:00
Dominik Prokop baa5ceb4c0 Do not crash timeseries panel if there is no time series data in the response (#33993) 2021-05-12 14:14:39 +02:00
idafurjes f2fcf721eb 32540: Add org users with pagination (#33788)
* Add model for search org user and add handler for dispatch

* 32540_org_users_with_pagination: Add endpoint for search org users

* 32540_org_users_with_pagination: Add test for org user search handler

* 32540_org_users_with_pagination: fix indentation

* 32540_org_users_with_pagination: Remove newline

* 32540_org_users_with_pagination: Remove empty line

* 32540_org_users_with_pagination: Fix indentation

* Update pkg/api/org_users.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/api/org_users.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/models/org_user.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/api/org_users_test.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/api/org_users_test.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* 32540_org_users_with_pagination: Use hs.SQLStore.SearchOrgUsers instead of bus

* Add model for search org user and add handler for dispatch

* 32540_org_users_with_pagination: Add endpoint for search org users

* 32540_org_users_with_pagination: Add test for org user search handler

* 32540_org_users_with_pagination: fix indentation

* 32540_org_users_with_pagination: Remove newline

* 32540_org_users_with_pagination: Remove empty line

* 32540_org_users_with_pagination: Fix indentation

* Update pkg/api/org_users.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/api/org_users.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/models/org_user.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/api/org_users_test.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/api/org_users_test.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* 32540_org_users_with_pagination: Use hs.SQLStore.SearchOrgUsers instead of bus

* 32540_org_users_with_pagination: Add test for the sqlstore

* 32540_org_users_with_pagination: Fix sqlstore test

* Update pkg/api/org_users.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/api/org_users_test.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/api/org_users_test.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/services/sqlstore/org_users.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/services/sqlstore/org_users.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/services/sqlstore/org_test.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/services/sqlstore/org_test.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* 32540: Fix search org users method

* 32540: Fix sqlstore test

* 32540: Fix go-lint

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-05-12 14:10:35 +02:00
Alex Khomenko 553d3b9dbc Grafana-UI: Add className to TagsInput (#33944)
* Grafana-UI: Add className to TagsInput

* Do not add existing tags
2021-05-12 15:09:12 +03:00
Ivana Huckova 25bb290d36 Fix running of duplicite queries when clicking on Older logs button (#33992) 2021-05-12 14:08:57 +02:00
Owen Diehl 3b06f52bab Alerting/allow empty receiver (#33962)
* simplifies yaml unmarshaling: PostableApiReceiver

* allow empty receiver type

* allows name only receivers (blackhole)

* better receiver type parsing

* linting
2021-05-12 07:58:16 -04:00
Hugo Häggmark 7a55a6385c Urls: Parsing key values will not convert to numbers (#33982)
* Urls: Parsing key values will not convert to numbers

* Tests: fixes broken tests

* Tests: fixes broken test

* Tests: fixes broken test

* Chore: forcing drone to rebuild
2021-05-12 13:40:30 +02:00
Kyle Brandt a735c51202 Alerting/Chore: Backend remove def_ columns from instance (#33875)
rename def_uid and def_org_id to rule_uid and rule_org_id on the alert_instance table and drops the definition table.
2021-05-12 07:17:43 -04:00
Ivana Huckova 73335ebbcb Logs: Store queries that were run to get log results (#33971)
* Store queries that were run to get log results

* Fix typing

* Update public/app/features/explore/Logs.tsx

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

* Add changes based on feedback

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2021-05-12 12:54:15 +02:00
Uchechukwu Obasi 0992cedbf4 Slider: updates story from knobs to control (#33983) 2021-05-12 12:24:22 +02:00
David 4b0b69292e Prometheus: Metrics browser (#33847)
* [WIP] Metrics browser

* Removed unused import

* Metrics selection logic

* Remove redundant tests

All data is fetched now regardless to the current range so test for checking reloading the data on the range change are no longer relevant.

* Remove commented out code blocks

* Add issue number to todos

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2021-05-12 11:49:20 +02:00
Ganesh Vernekar 8d442c9b44 NGAlert: Fix templating and remove unwanted default templates (#33918)
Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
2021-05-12 15:13:43 +05:30
Ivana Huckova 6c532c3f1e Loki: Use data source settings for alerting queries (#33942)
* Add Tripperware

* Return TLSConfig

* Create transport outside of client
2021-05-12 11:20:16 +02:00
Uchechukwu Obasi 8c03b80490 Select: updates story from knobs to control (#33954)
* Select: updates story from knobs to control

* exported default storybook config as meta

* disables non-functional controls
2021-05-12 10:45:01 +02:00
afayngelerindbx b0094b325e Annotations: Prevent orphaned annotation tags cleanup when no annotations were cleaned (#33957)
Fixes #33948

Co-authored-by: Anatoly Fayngelerin <afayngelerin@dropbox.com>
2021-05-12 10:44:00 +02:00
kay delaney c6dd19f163 Library Panels: Fix error when changing viz of panel with multiple instances (#33915) 2021-05-12 09:42:17 +01:00
Uchechukwu Obasi 3d47bf247f SecretFormField: updates story from knobs to control (#33920)
* SecretFormField: updates story from knobs to control

* disables knobs in story
2021-05-12 08:59:21 +01:00
ying-jeanne a7ea0ca849 refactory to move trim/apply default into schema.go (#33754)
* refactory to move trim/apply default into schema.go

* fix comments

* move schema test outside of load folder
2021-05-12 15:38:00 +08:00
Josh Hunt 679001051b AzureMonitor: Revert back to editable Angular interfaces for both App Insights queries (#33943) 2021-05-12 09:32:35 +02:00
Ryan McKinley 5ef46a9428 Live: use the browser url to build websocket url, not appUrl (#33968) 2021-05-12 09:13:37 +02:00
Hugo Häggmark 69d9f427e1 LibraryPanels: removes feature toggle (#33839)
* WIP: intial structure

* Refactor: adds create library element endpoint

* Feature: adds delete library element

* wip

* Refactor: adds get api

* Refactor: adds get all api

* Refactor: adds patch api

* Refactor: changes to library_element_connection

* Refactor: add get connections api

* wip: in the middle of refactor

* wip

* Refactor: consolidating both api:s

* Refactor: points front end to library elements api

* Tests: Fixes broken test

* LibraryPanels: removes feature toggle

* Fix: fixes delete library elements in folder and adds tests

* Tests: fixes snapshot

* Refactor: adds service interfaces so they can be easily mocked

* Refactor: changes order of tabs in manage folder

* Refactor: fixes so link does not cover whole card

* Refactor: fixes index string name

* Update pkg/services/libraryelements/libraryelements.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/services/libraryelements/libraryelements_permissions_test.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/services/libraryelements/database.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Chore: changes after PR comments

* Update libraryelements.go

* Update libraryelements.go

* Chore: updates after PR comments

* Chore: trying to fix build error

* Refactor: fixed stupid mistake

* Update libraryelements.go

* Chore: tries to fix build errors

* Refactor: trying to fix MySQL key length

* Update libraryelements.go

* Update pkg/services/libraryelements/libraryelements.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/services/librarypanels/librarypanels.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Refactor: changes after PR comments

* Refactor: changes after PR comments

* Tests: fixes tests

* Refactor: renames connections to connectedDashboards

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-05-12 08:48:17 +02:00
Hugo Häggmark f61328af2d Variables: Filters out builtin variables from unknown list (#33933) 2021-05-12 09:28:24 +03:00
sam boyer 8fe7da5183 Models: Properly indicate Apache licensing of CUE files (#33960) 2021-05-11 21:44:57 -07:00
Torkel Ödegaard ff3d8ed866 Login: Minor improvement to mobile login layout (#33961) 2021-05-12 06:37:18 +02:00
Ivana Huckova 9ace76a718 Explore: Polish UI of logs navigation (#33910)
* Update UI

* Update UI, return spinner

* Add title to Scroll to top button

* Update public/app/features/explore/Logs.tsx

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

* Update public/app/features/explore/LogsNavigation.test.tsx

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

* Remove unnecessary memoization

* Update public/app/features/explore/LogsNavigationPages.tsx

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2021-05-11 22:10:45 +02:00
Dominik Prokop 2ded2aef71 BarChart: enable series toggling via legend (#33955)
* Adds support for Tooltip in BarChartPanel

* Revert some formatting

* Remove BarChart story

* BarChart: move visualization to core

* BarChart: enable series toggling via legend

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-05-11 21:40:04 +02:00
Sergey Kostrukov 24b878ca4f AzureMonitor: Credentials UI logic encapsulation (#33620)
* Convert credentials form to a functional component

* Encapsulation of Azure credentials logic

* Fix selection of subscriptions

* Load subscriptions on init and save options only if they're unsaved

* Functions for resolution of routes

* Resolve routes of all API requests

* Reset default value if not found anymore

* Fix tests

* Symbol to conceal secret
2021-05-11 20:34:41 +01:00
Torkel Ödegaard 985a4dd2b7 Modals: Fix selects in modals (#33939) 2021-05-11 21:19:25 +02:00
Torkel Ödegaard f346bafdc9 NewsPanel: Add support for showing social image before content (#33949)
* NewsPanel: Add support for showing social image before content

* Fix link and spacing

* Add wide layout
2021-05-11 21:16:36 +02:00
Alexander Emelin 95a356a840 Live: using organisation IDs throughout stack (#33714) 2021-05-11 22:03:04 +03:00
Dominik Prokop 17305ccda3 Barchart: move viz to core (#33947)
* Adds support for Tooltip in BarChartPanel

* Revert some formatting

* Remove BarChart story

* BarChart: move visualization to core

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-05-11 20:57:52 +02:00
Alexander Zobnin a015bb3a23 Access Control: Fix side menu links (#33945) 2021-05-11 21:10:07 +03:00
Emil Tullstedt 68cdbb611f Access control: Use global scope for users permissions (#33941)
Quick fix. We eventually will want to make users endpoints more aware of
the access control system.
2021-05-11 20:04:29 +02:00
Dominik Prokop bf2c45db01 BarChartPanel: Adds support for Tooltip in BarChartPanel (#33938)
* Adds support for Tooltip in BarChartPanel

* Revert some formatting

* Remove BarChart story
2021-05-11 19:24:23 +02:00
Alex Khomenko 60c32dc96a Add explicit return to GetLoginSubTitle (#33946) 2021-05-11 18:52:16 +02:00
Jack Westbrook e13f15f646 Docs: reduce number of API Extractor warnings 2021-05-11 18:47:34 +02:00
Alex Khomenko 7cd4066e9a Add public tags to ThemeContext hooks (#33940) 2021-05-11 18:24:47 +02:00
Torkel Ödegaard 6d4376c16d ValueMapping: Support for mapping text to color, boolean values, NaN and Null. Improved UI for value mapping. (#33820)
* alternative mapping editor

* alternative mapping editor

* values updating

* UI updates

* remove empty operators

* fix types

* horizontal

* New value mapping model and migration

* DataSource: show the uid in edit url, not the local id (#33818)

* update mapping model object

* Update to UI

* fixing ts issues

* Editing starting to work

* adding missing thing

* Update display processor to use color from value mapping

* Range maps now work

* Working on unit tests for modal editor

* Updated

* Adding new NullToText mapping type

* Added null to text UI

* add color from old threshold config

* Added migration for overrides, added Type column

* Added compact view model with color edit capability

* [Alerting]: store encrypted receiver secure settings (#33832)

* [Alerting]: Store secure settings encrypted

* Move encryption to the API handler

* CloudMonitoring: Migrate config editor from angular to react (#33645)

* fix broken config ctrl

* replace angular config with react config editor

* remove not used code

* add extra linebreak

* add noopener to link

* only test jwt props that we actually need

* Elasticsearch: automatically set date_histogram field based on data source configuration (#33840)

* Docs: delete from high availability docs references to removed configurations related to session storage (#33827)

* docs: delete from high availability docs references to removed configurations related to session storage

* docs: remove session storage mention and focus on the auth token implementation

* fix postgres to have precision of ms (#33853)

* Use ids for enterprise nav model items (#33854)

* Alerting: Disable dash alerting if NG enabled (#33794)

* Scuemata: Add grafana-cli cue schema validation to CI (#33798)

* Add scuemata validation in CI

* Fixes according to reviewer's comments

* Ensure http client has no timeout (#33856)

* Redact sensitive values before logging them (#33829)

* use a common way to redact sensitive values before logging them

* fix panic on missing testCase.err, simplify require checks

* fix a silly typo

* combine readConfig and buildConnectionString methods, as they are closely related

* Tempo: Search for Traces by querying Loki directly from Tempo (#33308)

* Loki query from Tempo UI

- add query type selector to tempo
- introduce linkedDatasource concept that runs queries on behalf of another datasource
- Tempo uses Loki's query field and Loki's derived fields to find a trace matcher
- Tempo uses the trace-to-logs mechanism to determine which dataource is linked

Loki data loads successfully via tempo

Extracted result transformers

Skip null values

Show trace on list id click

Query type selector

Use linked field trace regexp

* Review feedback

* Add isolation level db configuration parameter (#33830)

* add isolation level db configuration parameter

* add isolation_level to default.ini and sample.ini

* add note that only mysql supports isolation levels for now

* mention isolation_level in the documentation

* Update docs/sources/administration/configuration.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Drawer: fixes title overflowing its container (#33857)

* Timeline: move grafana/ui elements to the panel folder (#33803)

* revendor loki with new Tripperware (#33858)

* live: move connection endpoint to api scope, fixes #33861 (#33863)

* OAuth: Add support for empty scopes (#32129)

* add parameter empty_scopes to override scope parameter with empty value and thus be able to authenticate against IdPs without scopes. Issue #27503

Update docs/sources/auth/generic-oauth.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* updated check according to feedback

* Update generic-oauth.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Prometheus: Fix exemplars hover disappearing and broken link (#33866)

* Revert "Tooltip: eliminate flickering when repaint can't keep up (#33609)"

This reverts commit e159985aa2.

* Fix exemplar linking

Co-authored-by: David Kaltschmidt <david.kaltschmidt@gmail.com>

* Removed content as per MarcusE's suggestion in https://github.com/grafana/grafana/issues/33822. (#33870)

* Fixed grammar usage. (#33871)

* Explore: Wrap each panel in separate error boundary (#33868)

* New Panel: Histogram (#33752)

* Sanitize PromLink button (#33874)

* Refactor and unify option creation between new visualizations (#33867)

* Refactor and unify option creation between new visualizations

* move to grafana/ui

* move to grafana/ui

* resolve duplicate scale config

* more imports

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

* Live: do not show connection warning when on the login page (#33865)

* enforce receivers align with backend type when posting AM config (#33877)

* special values

* merge fix

* Document `hide_version` flag (#33670)

Unauthenticated users can be barred from being shown the current Grafana server version since https://github.com/grafana/grafana/pull/24919

* GraphNG: always use "x" as scaleKey for x axis (#33884)

* Timeline: add support for strings & booleans (#33882)

* Chore(deps): Bump hosted-git-info from 2.8.5 to 2.8.9 (#33886)

Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.5 to 2.8.9.
- [Release notes](https://github.com/npm/hosted-git-info/releases)
- [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md)
- [Commits](https://github.com/npm/hosted-git-info/compare/v2.8.5...v2.8.9)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* merge with torkel

* add empty special character

* Fixed centered text in special value match select

* fixed unit tests

* Updated snapshot

* Update dashboard page

* updated snapshot

* Fix more unit tests

* Fixed test

* Updates

* Added back tests

* Fixed doc issue

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>
Co-authored-by: Erik Sundell <erik.sundell@grafana.com>
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
Co-authored-by: Daniel dos Santos Pereira <danield1591998@gmail.com>
Co-authored-by: ying-jeanne <74549700+ying-jeanne@users.noreply.github.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Kyle Brandt <kyle@grafana.com>
Co-authored-by: Dimitris Sotirakis <dimitrios.sotirakis@grafana.com>
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
Co-authored-by: David <david.kaltschmidt@gmail.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: Uchechukwu Obasi <obasiuche62@gmail.com>
Co-authored-by: Owen Diehl <ow.diehl@gmail.com>
Co-authored-by: Alexander Emelin <frvzmb@gmail.com>
Co-authored-by: jvoeller <48791711+jvoeller@users.noreply.github.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
Co-authored-by: Tristan Deloche <tde@hey.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-11 17:10:23 +02:00
Josh Hunt 72c9d806fd AzureMonitor: Kusto language support (#33528)
* Add Kusto custom language to Monaco

* Load Kusto schema into monaco

* cleanup + tests

* cleanup + tests

* cleanup :)

* move monaco languages to a registry
2021-05-11 16:48:59 +02:00
Torkel Ödegaard 4fabade35c v8: Update login page design (#33923)
* Theme: Initial draft of dark login page

* update

* Updated login background

* Updates

* anim test

* Anim tweak

* Animate login box

* Updates

* Updating login page

* Improve footer readability on login page

* Fix sign up button
2021-05-11 16:34:44 +02:00
Grot (@grafanabot) b3c4b08f03 ReleaseNotes: Updated changelog and release notes for 7.5.6 (#33932)
* ReleaseNotes: Updated changelog and release notes for 7.5.6

* Update release index

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-05-11 16:04:30 +02:00
Oscar Kilhed 3741757d21 Migrate timeseries hideFrom graph->viz (#33806) (#33928)
* Migrate timeseries hideFrom graph->viz

* Remove unused test

* Adds describing comment
2021-05-11 15:53:48 +02:00
Dominik Prokop deeef321d3 Unify tooltip options across visualizations (#33892)
* Unify tooltip options across visualizations

* Update tests

* use addTooltipOptions in piechart

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2021-05-11 15:46:12 +02:00
Ben van B 752a0f3a65 [GH-33898] Add missing --no-cache to Dockerfile. (#33906) 2021-05-11 15:45:08 +02:00
Torkel Ödegaard 70d7b3fc55 FrameCompare: Name or label change is a structure change (#33911) 2021-05-11 15:41:53 +02:00
Gábor Farkas a33a5fc079 InfluxDB: InfluxQL query editor simpler "close selectboxes when clicked outside" handling (#33908) 2021-05-11 15:13:35 +02:00
Marcus Efraimsson 6c728d6a78 SQL: Use SDK sqlutil package refactor (#33758)
Upgrades grafana-plugin-sdk-go dependency to v0.94.0 to get 
the refactored sqlutil package. 

Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
2021-05-11 14:59:33 +02:00
Jack Westbrook 7df591442e Docs: fix grafana/ui docsExtract REF_NOT_FOUND errors (#33905)
* fix(grafana-ui): re-export commonOptionsBuilder namespace for api-extractor to work

* docs(grafana-ui): add docblock annotations for exported interfaces

* docs(grafana-ui): export ScaleDistribution from uplot
2021-05-11 14:45:46 +02:00
Carl Bergquist b6e6fa53fc instrumentation: prefix metrics with grafana (#33925)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2021-05-11 14:37:03 +02:00
Dimitris Sotirakis ff262ed3fb Scuemata: Simplify grafana-cli cue validation tests (#33913)
* Simplify tests

* Make PanelFieldConfig optional in missing panel scenario
2021-05-11 15:11:17 +03:00
Hugo Häggmark b55b3307c1 Variables: Clear query when data source type changes (#33924) 2021-05-11 14:09:19 +02:00
Kyle Brandt dc3e17ba5b Alerting: Change rule migration to be based on feature flag (#33792)
makes it so the feature flag can be turned on off, and the migration will be cleared and rerun. All existing NG alert rules, configuration settings, etc are removed when disabling the feature flag.
for https://github.com/grafana/alerting-squad/issues/142

Co-authored-by: Sofia Papagiannaki <sofia@grafana.com>
2021-05-11 08:08:39 -04:00
Vicky Lee ac44a679a7 align alert (#33919) 2021-05-11 12:56:48 +01:00
Marcus Olsson 10a25ba4e5 Docs: Improve plugin signing docs (#33562)
* Improve plugin signing docs

* Remove reference to root_url config
2021-05-11 13:34:56 +02:00
Zoltán Bedi 7972abc4c8 Fix cryptic css in Traceview component (#33780)
* Fix css interpolation error

* Fix console errors in tests
2021-05-11 13:19:44 +02:00
Torkel Ödegaard 74b96fb30b DataLinksModal: Update buttons to use new styling (#33912) 2021-05-11 12:41:26 +02:00
Hugo Häggmark 184242dba0 DashboardPage: Makes slug parameter optional (#33902) 2021-05-11 12:37:26 +02:00
Gábor Farkas 2633f245ba InfluxDB: Flux: Improve handling of complex response-structures (#33823) 2021-05-11 12:36:04 +02:00
Torkel Ödegaard d2a1b8fd95 TagsInput: Fix layout issue with tags input (#33907) 2021-05-11 11:43:36 +02:00
Giordano Ricci e98a8bd11b Elasticsearch: use semver strings to identify ES version (#33646)
* Elasticsearch: use proper semver strings to identify ES version

* Update BE & tests

* refactor BE tests

* refactor isValidOption check

* update test

* Update pkg/tsdb/elasticsearch/client/client.go

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>

* Update pkg/tsdb/elasticsearch/client/search_request_test.go

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>

* Remove leftover FIXME comment

* Add new test cases for new version format

* Docs: add documentation about version dropdown

* Update docs/sources/datasources/elasticsearch.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/datasources/elasticsearch.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/datasources/elasticsearch.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update provisioning documentation

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-05-11 09:44:00 +01:00
Zoltán Bedi 1a504ce673 Jaeger: Search traces (#32805)
* WIP: Search jaeger traces

* Add more customizable query params

* Fix failing test

* Fix e2e test

* Add tags input field

* Minor changes

* Fix tests

* Add docs

* Make sure linking is working

* Add tests to datasource.ts

* Apply suggestions from code review

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update Jaeger doc

* UI updates

* Address review comments

* Add new screenshots to docs

* Update placeholder text for tags

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-05-11 10:38:10 +02:00
Sofia Papagiannaki f4750fb3c8 [Alerting]: Alertmanager API apply permissions (#33843)
* [Alerting]: Alertmanager API apply permissions

* Apply suggestions from code review
2021-05-11 11:31:38 +03:00
Zoltán Bedi 46abef7800 Loki: fix label browser crashing when + typed (#33900) 2021-05-11 10:06:40 +02:00
Andrej Ocenas 7c5d3435f9 Tempo/Jaeger: Prevent error when spans are missing (#33880) 2021-05-11 09:59:06 +02:00
Piotr Jamróz 60cf0c8338 Graphite: Expand metric names for variables (#33694)
* Allow expanding metrics names in variable queries

* Simplify docs

* Update docs/sources/datasources/graphite.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/datasources/graphite.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/datasources/graphite.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/datasources/graphite.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/datasources/graphite.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/datasources/graphite.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/datasources/graphite.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Clean up docs

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-05-11 09:39:44 +02:00
Gábor Farkas 3e59ae7e56 InfluxDB: Convert the InfluxQL query editor from Angular to React (#32168)
Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2021-05-11 08:15:44 +02:00
Ryan McKinley a469fa8416 TestData: allow true and false strings as bool (#33889) 2021-05-10 22:29:46 -07:00
Hugo Häggmark f1b2c750e5 LibraryElements: Adds library elements api and tables (#33741)
* WIP: intial structure

* Refactor: adds create library element endpoint

* Feature: adds delete library element

* wip

* Refactor: adds get api

* Refactor: adds get all api

* Refactor: adds patch api

* Refactor: changes to library_element_connection

* Refactor: add get connections api

* wip: in the middle of refactor

* wip

* Refactor: consolidating both api:s

* Refactor: points front end to library elements api

* Tests: Fixes broken test

* Fix: fixes delete library elements in folder and adds tests

* Refactor: changes order of tabs in manage folder

* Refactor: fixes so link does not cover whole card

* Update pkg/services/libraryelements/libraryelements.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/services/libraryelements/libraryelements_permissions_test.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/services/libraryelements/database.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Chore: changes after PR comments

* Update libraryelements.go

* Chore: updates after PR comments

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-05-11 07:10:19 +02:00
dependabot[bot] 9b12e79f3e Chore(deps): Bump hosted-git-info from 2.8.5 to 2.8.9 (#33886)
Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.5 to 2.8.9.
- [Release notes](https://github.com/npm/hosted-git-info/releases)
- [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md)
- [Commits](https://github.com/npm/hosted-git-info/compare/v2.8.5...v2.8.9)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-10 20:41:52 -07:00
Leon Sorokin 4959c55985 Timeline: add support for strings & booleans (#33882) 2021-05-10 20:41:06 -07:00
Leon Sorokin a67fe57e56 GraphNG: always use "x" as scaleKey for x axis (#33884) 2021-05-10 20:43:44 -05:00
Tristan Deloche 2ff36fa47b Document hide_version flag (#33670)
Unauthenticated users can be barred from being shown the current Grafana server version since https://github.com/grafana/grafana/pull/24919
2021-05-10 15:13:13 -07:00
Owen Diehl e18ca8f6f2 enforce receivers align with backend type when posting AM config (#33877) 2021-05-10 16:58:41 -04:00
Ryan McKinley 81b8e6c13a Live: do not show connection warning when on the login page (#33865) 2021-05-10 22:32:45 +02:00
Oscar Kilhed fe5fc75ded Refactor and unify option creation between new visualizations (#33867)
* Refactor and unify option creation between new visualizations

* move to grafana/ui

* move to grafana/ui

* resolve duplicate scale config

* more imports

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-05-10 22:25:14 +02:00
Ivana Huckova 7b5223bf19 Sanitize PromLink button (#33874) 2021-05-10 21:07:51 +02:00
Leon Sorokin 5fd7c34420 New Panel: Histogram (#33752) 2021-05-10 14:00:59 -05:00
Andrej Ocenas a40946b6aa Explore: Wrap each panel in separate error boundary (#33868) 2021-05-10 20:25:30 +02:00
achatterjee-grafana d1c557e978 Fixed grammar usage. (#33871) 2021-05-10 19:58:46 +02:00
achatterjee-grafana 076f076961 Removed content as per MarcusE's suggestion in https://github.com/grafana/grafana/issues/33822. (#33870) 2021-05-10 13:55:00 -04:00
Zoltán Bedi 03e4bad50a Prometheus: Fix exemplars hover disappearing and broken link (#33866)
* Revert "Tooltip: eliminate flickering when repaint can't keep up (#33609)"

This reverts commit e159985aa2.

* Fix exemplar linking

Co-authored-by: David Kaltschmidt <david.kaltschmidt@gmail.com>
2021-05-10 19:54:02 +02:00
jvoeller 0d044285a9 OAuth: Add support for empty scopes (#32129)
* add parameter empty_scopes to override scope parameter with empty value and thus be able to authenticate against IdPs without scopes. Issue #27503

Update docs/sources/auth/generic-oauth.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* updated check according to feedback

* Update generic-oauth.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-05-10 13:07:30 -04:00
Alexander Emelin c610eff5cd live: move connection endpoint to api scope, fixes #33861 (#33863) 2021-05-10 19:56:02 +03:00
Owen Diehl d2676bc649 revendor loki with new Tripperware (#33858) 2021-05-10 12:46:24 -04:00
Ryan McKinley a5fda37d02 Timeline: move grafana/ui elements to the panel folder (#33803) 2021-05-10 09:34:42 -07:00
Uchechukwu Obasi 4238c6078a Drawer: fixes title overflowing its container (#33857) 2021-05-10 17:06:13 +01:00
Serge Zaitsev 7367cfc0a3 Add isolation level db configuration parameter (#33830)
* add isolation level db configuration parameter

* add isolation_level to default.ini and sample.ini

* add note that only mysql supports isolation levels for now

* mention isolation_level in the documentation

* Update docs/sources/administration/configuration.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-05-10 17:54:13 +02:00
David 59c754823f Tempo: Search for Traces by querying Loki directly from Tempo (#33308)
* Loki query from Tempo UI

- add query type selector to tempo
- introduce linkedDatasource concept that runs queries on behalf of another datasource
- Tempo uses Loki's query field and Loki's derived fields to find a trace matcher
- Tempo uses the trace-to-logs mechanism to determine which dataource is linked

Loki data loads successfully via tempo

Extracted result transformers

Skip null values

Show trace on list id click

Query type selector

Use linked field trace regexp

* Review feedback
2021-05-10 17:12:19 +02:00
Serge Zaitsev da13f88862 Redact sensitive values before logging them (#33829)
* use a common way to redact sensitive values before logging them

* fix panic on missing testCase.err, simplify require checks

* fix a silly typo

* combine readConfig and buildConnectionString methods, as they are closely related
2021-05-10 17:03:10 +02:00
Will Browne 5c13820bba Ensure http client has no timeout (#33856) 2021-05-10 16:59:33 +02:00
Dimitris Sotirakis 677b73dda5 Scuemata: Add grafana-cli cue schema validation to CI (#33798)
* Add scuemata validation in CI

* Fixes according to reviewer's comments
2021-05-10 17:54:35 +03:00
Kyle Brandt 8feeaab996 Alerting: Disable dash alerting if NG enabled (#33794) 2021-05-10 10:46:01 -04:00
Alex Khomenko 1b36656455 Use ids for enterprise nav model items (#33854) 2021-05-10 17:40:19 +03:00
ying-jeanne 0b97cdcee1 fix postgres to have precision of ms (#33853) 2021-05-10 22:22:13 +08:00
Daniel dos Santos Pereira 382fcca530 Docs: delete from high availability docs references to removed configurations related to session storage (#33827)
* docs: delete from high availability docs references to removed configurations related to session storage

* docs: remove session storage mention and focus on the auth token implementation
2021-05-10 09:43:30 -04:00
Giordano Ricci 4c83ab5610 Elasticsearch: automatically set date_histogram field based on data source configuration (#33840) 2021-05-10 14:28:47 +01:00
Erik Sundell 1a59117343 CloudMonitoring: Migrate config editor from angular to react (#33645)
* fix broken config ctrl

* replace angular config with react config editor

* remove not used code

* add extra linebreak

* add noopener to link

* only test jwt props that we actually need
2021-05-10 14:51:19 +02:00
Sofia Papagiannaki 1c58fd380f [Alerting]: store encrypted receiver secure settings (#33832)
* [Alerting]: Store secure settings encrypted

* Move encryption to the API handler
2021-05-10 15:30:42 +03:00
Dominik Prokop 9f8fa4212f GraphNG - shared cursor (#33433)
* Initial work

* WIP add cursor in debug panel

* shared cursor.sync filter

* explicit uplot events

* explicit uplot events

* uplot events

* uplot events

* depend on master uplot

* sync sync sync

* Fix merge

* Get rid of PlotSyncContext and sync tooltip positions

* make sync optional

* Improve shared tooltip positioning

* Plugins: add level and signature badges to plugin details page (#33553)

* feat(grafana-ui): badge can accept react node for text, add shield-exclamation to icons

* feat(plugins): add PluginSignatureType type

* feat(pluginpage): introduce PluginSignatureDetailsBadge. Fix sidebar icon margin

* feat(pluginlistpage): update filterinput placeholder, introduce filter by plugin type

* Variables: Removes the never refresh option (#33533)

* Variables: Removes the never refresh option

* Tests: fixes DashboardModel repeat tests

* Tests: fixs snapshots

* Tests: fixes processVariable test

* Tests: fixes DashboardModel tests

* PageLayout: Fixes max-width breakpoint so that it triggers only when there is room for margin+ (#33558)

* Alerting: Remove datasource (name) from migration (#33544)

no longer needed as of https://github.com/grafana/grafana/pull/33416
for https://github.com/grafana/alerting-squad/issues/126

* Library panels: Adds description to library panels tab (#33428)

* CodeOwners: Set owners of unified alerting migration (#33571)

* ButtonSelect: updates component with the new theme model (#33565)

* EmptySearchResult: updates component with the new theme model (#33573)

* DashboardSettings: Slight design tweak to fix page toolbar padding and align design (#33575)

* DashboardSettings: Slight design tweak to fix page toolbar padding and align design

* Fixed font weight

* Removed comment

* Update

* gitignore: Ignore files for accesscontrol provisioning (#33577)

* Alerting/metrics (#33547)

* moves alerting metrics to their own pkg

* adds grafana_alerting_alerts (by state) metric

* alerts_received_{total,invalid}

* embed alertmanager alerting struct in ng metrics & remove duplicated notification metrics (already embed alertmanager notifier metrics)

* use silence metrics from alertmanager lib

* fix - manager has metrics

* updates ngalert tests

* comment lint
Signed-off-by: Owen Diehl <ow.diehl@gmail.com>

* cleaner prom registry code

* removes ngalert global metrics

* new registry use in all tests

* ngalert metrics impl service, hack testinfra code to prevent duplicate metric registrations

* nilmetrics unexported

* Add note to Snapshot API doc to specify that user has to provide the entire dashboard model  (#33572)

* Added note as suggested by Macus E.

* Update docs/sources/http_api/snapshot.md

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>

* Alerting: backend "ng" code cleanup (#33578)

* AlertMigration: remove alert_rule UID db check (#33568)

do not believe this is needed due to uniqueness promised by shortid lib
since there is no provisioning yet. https://github.com/teris-io/shortid

* Live: persisting last message in cache for broadcast scope (#32938)

* Alerting: Load annotations from rule into State cache (#33542)

for https://github.com/grafana/alerting-squad/issues/127

* add template for dashboard url parameters  (#33549)

* Update dashboard-links.md

parameters with plain text like `var-something=value` can make confusion. 
template it to clarify .

* describe way for template link.

* AlertingMigration: Create alert_rule_version entry (#33585)

Create the alert rule version entry during the migration so it is consistent with rules created via api.
for https://github.com/grafana/alerting-squad/issues/123

* Build: Fix with cleanup call maybe? (#33590)

* add selector for code editor (#33554)

* broadcast over eventBus

* broadcasting to eventbus (but not useing it yet)

* merge master

* moved to context

* fix yarn.lock

* update snapshot

* Fix direct state mutation

* Persist location state on partial updates

* GraphNG- use getStream rather than subscribe

* Sync LegacyGraphHoverEvent with GraphNG

* Chenge plotRef signature

* use subscription

* subscription

* one fewer file

* Update types

* Remove unnecessary filtering

* Disable cursor sync when in edit mode

* GraphNG - bring back logging

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.org>
Co-authored-by: Kyle Brandt <kyle@grafana.com>
Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
Co-authored-by: Uchechukwu Obasi <obasiuche62@gmail.com>
Co-authored-by: gamab <gamab@users.noreply.github.com>
Co-authored-by: Owen Diehl <ow.diehl@gmail.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
Co-authored-by: Alexander Emelin <frvzmb@gmail.com>
Co-authored-by: Nagle Zhang <nagle.zhang@sap.com>
Co-authored-by: Erik Sundell <erik.sundell@grafana.com>
2021-05-10 14:24:23 +02:00
Rodrigo Fior Kuntzer 4fc1810cb7 CloudWatch: added Amplify Console specific metrics and dimensions (#33171) 2021-05-10 13:55:48 +02:00
Oscar Kilhed 4e7db598f5 Change look of highlighted pie slices (#33841) 2021-05-10 12:59:38 +02:00
Douglas Thrift 0af75106e9 Docs feedback: /administration/provisioning.md (#33804)
Indicate that the AWS sigV4* jsonData and secureJsonData fields are supported in the Prometheus Datasource.
2021-05-10 12:38:10 +02:00
ying-jeanne f24596748a Bump github.com/go-sql-driver/mysql from 1.5.0 to 1.6.0 (#33835)
Bumps [github.com/go-sql-driver/mysql](https://github.com/go-sql-driver/mysql) from 1.5.0 to 1.6.0.
- [Release notes](https://github.com/go-sql-driver/mysql/releases)
- [Changelog](https://github.com/go-sql-driver/mysql/blob/master/CHANGELOG.md)
- [Commits](https://github.com/go-sql-driver/mysql/compare/v1.5.0...v1.6.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-10 18:02:26 +08:00
Ryan McKinley 95464e1bfb PieChart: move the pie chart component into the panel (#33800)
* move pie chart

* move pie chart

* Pass displayLabels to piechart

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2021-05-10 11:50:25 +02:00
Vardan Torosyan 1d15686bdf Access control: Add a role for provisioning admins (#33787) 2021-05-10 11:46:42 +02:00
Mitch Seaman baf80dad82 Clarify active user restrictions (#33555)
* Clarify active user restrictions

Add language around licensing details, based on confusion form some customers.

* wording update for consistency

Co-authored-by: Vardan Torosyan <vardants@gmail.com>

* remove dash

Co-authored-by: Vardan Torosyan <vardants@gmail.com>

* wording improvement

Co-authored-by: Vardan Torosyan <vardants@gmail.com>

* orgs -> organizations

Co-authored-by: Vardan Torosyan <vardants@gmail.com>

* remove extra space

Co-authored-by: Vardan Torosyan <vardants@gmail.com>

* org -> organization

Co-authored-by: Vardan Torosyan <vardants@gmail.com>

* add description and update name of licensing role

also make editor/admins terminology more consistent.

* update "licensing role" to "licensed role"

Co-authored-by: Vardan Torosyan <vardants@gmail.com>
2021-05-10 03:30:16 -06:00
Ryan McKinley 1e6eb70af0 PanelEditor: leave table view when changing the other display modes (#33826) 2021-05-09 22:19:52 -07:00
dependabot[bot] 98f59cfcba Chore(deps): Bump url-parse from 1.4.7 to 1.5.1 (#33821)
Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.4.7 to 1.5.1.
- [Release notes](https://github.com/unshiftio/url-parse/releases)
- [Commits](https://github.com/unshiftio/url-parse/compare/1.4.7...1.5.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-08 11:52:59 -07:00
Ryan McKinley ccc0f7fc22 DataSource: show the uid in edit url, not the local id (#33818) 2021-05-08 18:13:26 +02:00
dependabot[bot] 48f4b87349 Chore(deps): Bump handlebars from 4.7.6 to 4.7.7 (#33819) 2021-05-08 07:35:23 +02:00
dependabot[bot] 7158b1b5a0 Chore(deps): Bump ua-parser-js from 0.7.20 to 0.7.28 (#33816) 2021-05-07 22:26:59 -07:00
Torkel Ödegaard 724cbcd745 PanelEdit: Adds a table view toggle to quickly view data in table form (#33753)
* PanelEdit: Adds raw data toggle to quickly be able to view data in table form

* With transforms

* Updated name for toggle

* refactoring and added e2e test

* Support options

* fixing e2e
2021-05-07 17:09:06 +02:00
Torkel Ödegaard 7038f17a08 Drone: Make PRs pass wheb website docs step fail (#33812) 2021-05-07 15:40:57 +02:00
Will Browne 9726c76429 Chore: Swap out use of backend plugin SDK's backend.Logger (#33783)
* Remove use of backend SDKs backend.Logger

* reorder imports

* FIx logger name

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2021-05-07 15:16:21 +02:00
Diana Payton e407a092fb Docs: Update _index.md (#33797) 2021-05-06 23:12:43 +02:00
Sergey Kostrukov 1790737cf1 Plugins: AuthType in route configuration and params interpolation (#33674)
* AuthType in route configuration

* Pass interpolated auth parameters to token provider

* Unit tests

* Update after review

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>

Fixes #33669
Closed #33732
2021-05-06 22:05:23 +02:00
Alexander Emelin bfd5d3b16a Live: streamId in path for ws push endpoint (#33786) 2021-05-06 12:28:14 -07:00
Torkel Ödegaard f929b29b0b DashboardSettings: Fixing container styles for the json mode view (#33789) 2021-05-06 12:27:14 -07:00
Oscar Kilhed 9e2e7b66a1 PieChart: move hiding series to PanelContext (#33756) 2021-05-06 12:22:03 -07:00
Josh Hunt 8333c55bee AzureMonitor: Create read-only React view for Insights Analytics (#33719)
* AzureMonitor: Create read-only React view for Insights Analytics

* Fix spacing
2021-05-06 21:11:27 +02:00
David Parrott e58aca2d20 Alerting: remove instances from db and cache on rule update (#33722)
* remove instances from db and cache on rule update

* fix panic

* rename
2021-05-06 18:39:34 +02:00
Dimitris Sotirakis 47af158ddb Scuemata: Add grafana-cli command to validate basic scuemata (#33523)
* Add grafana-cli command to validate basic scuemata

* Fix c/p outdated message

* Fix linting - naming

* Add basic testing

* Add cue schema validation

* Add tests

* Fix linting errors

* Remove code - refactored tests

* Remove unnecessary files - leftovers

* Fix linting

* Try adding public folder in testdata
2021-05-06 18:21:08 +02:00
Alexander Emelin 03e91eb1a6 updated sdk-go to v0.93.0, adapt tests (#33769) 2021-05-06 18:10:51 +03:00
Will Browne 3b10451f9f version bump (#33784) 2021-05-06 16:40:04 +02:00
Arve Knudsen adf9a0f6e0 CI: Fix triggering of enterprise (#33785)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-05-06 16:39:07 +02:00
Arve Knudsen c2c1ec7d0f Chore: Move from master to main branch (#33693)
* Chore: Move from master branch to main

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* CI: Upgrade build pipeline tool to v2

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-05-06 16:29:29 +02:00
Domas 263d751860 fix field validation error text color (#33768) 2021-05-06 17:07:36 +03:00
Domas 0b3d757172 fix links to dashboard settings (#33782) 2021-05-06 15:46:33 +02:00
Alexander Zobnin 3a1437fe9c Access control: Move enterprise-specific access control actions (#33781)
* Access control: add reporting permissions

* Move enterprise-specific access control actions
2021-05-06 15:28:38 +02:00
Kyle Brandt fae093bbe2 Alerting: Fix state cache getOrCreate panic (#33777) 2021-05-06 14:35:52 +02:00
Domas b5b8877253 Alerting: implement deleting templates & receivers (#33677) 2021-05-06 14:51:44 +03:00
Domas 10a4606315 Alerting: edit cloud receivers (#33570) 2021-05-06 12:32:45 +03:00
Dafydd e642506dcb use dynamic ID in test assertion for search (#33320) 2021-05-06 10:48:33 +02:00
Domas d2d13ea39a Alerting: miscllaneous UI fixes & improvements (#33734) 2021-05-06 11:21:58 +03:00
Nathan Rodman d994d0e762 Alerting: Create and edit silences (#33593) 2021-05-06 10:29:02 +03:00
Piotr Jamróz 04a85b1a2a Explore: Map Graphite queries to Loki (#33405)
* Create basic prototype for Loki integration

* Simplify importing queries

* Code clean-up

* Add test coverage and info box

* Remove test data script

* Update help

* Use less space for mappings info

* Make help screen dismissable

* Make mappings help more generic

* Convert learn more to a link

* Remove unused param

* Use a link Button for help section

* Add an extra line for better formatting

* Update public/app/plugins/datasource/graphite/configuration/MappingsHelp.tsx

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update public/app/plugins/datasource/graphite/configuration/MappingsHelp.tsx

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Re-arrange lines

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-05-06 09:26:26 +02:00
Alex Khomenko 1a9c84f0e8 ConfirmButton: Add preventDefault (#33743) 2021-05-06 10:20:37 +03:00
Dominik Prokop ca54b4d6b0 Routing NG: persist state on partial updates (#33687)
* Persist location state on partial updates

* Add test
2021-05-06 09:15:52 +02:00
Owen Diehl a5ae8cf377 Unredact/secret (#33723)
* no longer redacts GETing proxied AM configs

* removes unused testfile

* testware fix

* consistently roundtrips yaml<>json and doesnt redact secrets

* lint
2021-05-05 16:21:53 -04:00
Erik Sundell 4089455869 fix aws connect dimensions (#33736) 2021-05-05 21:25:30 +02:00
Andrej Ocenas 24e52004a1 Tempo: Show graph view of the trace (#33635)
* Add transform

* Add test for transform

* Add test

* Update test
2021-05-05 20:51:43 +02:00
dependabot[bot] 1e3d19e483 Chore(deps): Bump github.com/hashicorp/go-hclog from 0.15.0 to 0.16.0 (#32881)
Bumps [github.com/hashicorp/go-hclog](https://github.com/hashicorp/go-hclog) from 0.15.0 to 0.16.0.
- [Release notes](https://github.com/hashicorp/go-hclog/releases)
- [Commits](https://github.com/hashicorp/go-hclog/compare/v0.15.0...v0.16.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-05 18:26:55 +02:00
Ivana Huckova e80ca87069 Explore: Add error tab and rename query tab in inspector (#33412)
* Unify naming of Query tab in Explore with Panel inspect

* Add Error tab

* Add test

* Create Error tab only if query returns error
2021-05-05 17:30:24 +02:00
Sarah Zinger 8c072d963b Azure Monitor: Read only App Insights page in React (#33651)
Azure Monitor: Migrate App Insights to React (create read only version)
2021-05-05 11:05:40 -04:00
Vardan Torosyan 2a98ac1ab4 Access control: Fix scopes in the API routes (#33750) 2021-05-05 16:52:21 +02:00
ying-jeanne bd66c8dde3 SQL data sources: Convert to return data frames (#32257)
Convert SQL data sources to return data frames.

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: Will Browne <will.browne@grafana.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2021-05-05 16:46:07 +02:00
Piotr Jamróz 06c24476dc Graphite: Pass date range to auto-complete for metrics (#33707) 2021-05-05 16:21:40 +02:00
Gábor Farkas 8f210db17a InfluxDB: Fix the ordering of results for variable queries (#33314) 2021-05-05 15:35:48 +02:00
Zoltán Bedi 88497305a9 Fix dead key issue in slate (#33545) 2021-05-05 15:22:00 +02:00
Ganesh Vernekar 1b8c0ce88b NGAlert: Fix some TODOs in notification channels (#33739)
Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
2021-05-05 17:48:40 +05:30
Jack Westbrook 34d81b7d13 Piechart: add e2e test (#33737) 2021-05-05 14:02:55 +02:00
Jack Westbrook 7f63efb941 Routing: refresh plugin module when pluginId changes (#33579)
* fix(approotpage): load plugin if pluginId changes so ui updates

* fix(approotpage): prevent dashboard search breaking for plugins without navmodel
2021-05-05 13:55:34 +02:00
Dominik Prokop b2d4730ca1 GraphNG: display original values in the tooltip when stacking (#33740) 2021-05-05 13:28:35 +02:00
Torkel Ödegaard dbcfebac56 TimeSeries: Make timeseries the default panel and remove beta state (#33639)
* TimeSeries: Make timeseries the default panel and remove beta state

* rename old graph

* Updated panel descriptions, fixed e2e tests

* Updated text

* Fixed e2e

* Fixing e2e tests
2021-05-05 13:19:14 +02:00
Josh Hunt f121e3a281 Grafana-UI: Create Grafana themes for Monaco (#33716)
* Grafana-UI: Update monaco theme to use Grafana colours

* _variables changes

* comment where the colour names come from
2021-05-05 13:10:42 +02:00
Dessen Xu c5241aa610 Add default support (#32625)
* support default

* fix

* fix

* fix better

* Refactor: simplifies the logic a bit and changes test description

Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2021-05-05 12:50:31 +02:00
Serge Zaitsev e244267b7d Enable tracing when jaeger host and port are set (#33682)
* check for jaeger env variables if tracing address configuration is empty

* add tests to ensure jaeger host/port variables override the settings

* allow default host and custom port, too

* disallow missing tracing.jaeger section in the config

* check for all errors in tests

* make parseSettings() return an error
2021-05-05 11:34:13 +02:00
Hugo Häggmark 605bae8e2c LibraryPanels: Adds folder name to Library Panel card (#33697)
* LibraryPanels: Adds folder filter

* Refactor: Adds folder filter to library search

* Refactor: splits huge function into smaller functions

* LibraryPanels: Adds Panels Page to Manage Folder tabs (#33618)

* Chore: adds tests to LibraryPanelsSearch

* Refactor: Adds reducer and tests

* Chore: changes GrafanaThemeV2

* Refactor: adds folderName to get all result

* Refactor: adds folderName to get result

* Refactor: adds folder name to LibraryPanelDTOMeta

* Refactor: adds folder name to lbirary panels result

* Chore: reverts public/app/routes/routes.tsx to master

* Minor style tweak

* Refactor: adds folder uid to meta

* Chore: updates after PR comments

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-05-05 11:09:12 +02:00
Leon Sorokin a5c13feb61 GraphNG: refactor (#33348) 2021-05-05 03:44:31 -05:00
Marcus Andersson 545d930a13 Dashboard: prevent error when sharing a dashboard. (#33680) 2021-05-05 10:36:42 +02:00
Zoltán Bedi 578a755cb4 Fix data source picker width issue (#33720)
* Fix data source picker width issue

* Use theme.spacing
2021-05-05 10:17:14 +02:00
Ivana Huckova b9b211b36c Docs: Add documentation for inspector in Explore (#33408)
* Add documentatio for Inspector in Explore and Download logs

* Update title

* Update public/app/features/explore/ExploreQueryInspector.tsx

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

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

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

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

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

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

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

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

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

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

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

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

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

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

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

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

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

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

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

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

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

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

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

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

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

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

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

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

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

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

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

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

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Reords tabs, add error tab

* Update docs/sources/panels/inspect-panel.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

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

* Remove numbered steps in inspector

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-05-05 10:02:50 +02:00
Torkel Ödegaard 1e810b3d59 PanelEdit: Highlight matched words when searching options (#33717) 2021-05-05 09:12:06 +02:00
Hugo Häggmark 86f2ed8ef2 e2e: refactors the most flaky tests (#33727) 2021-05-05 09:09:57 +02:00
Torkel Ödegaard 79772bcd2a Theme: Fix saas files (#33718) 2021-05-04 22:28:29 +02:00
Jack Westbrook a90e3084b1 Docs: share tooltip mode description between TimeSeries and PieChart (#33488)
* docs(tooltip): share tooltip mode docs between visualizations

* docs(tooltip-mode): replace mentions of graph with visualization
2021-05-04 16:09:26 -04:00
Sarah Zinger a9b218ff1e Azure Monitor: Show loading indicators for dropdowns (#33451)
Show loading indicators for dropdowns in azure monitor
2021-05-04 15:16:50 -04:00
Torkel Ödegaard dbe9a30ad0 PanelEdit: Do not show override option for panel with no field config options (#33699)
* Do not show overrides button if there are no field config options

* not show radiobuttons for non data panels

* remove unused style
2021-05-04 20:43:53 +02:00
Ryan McKinley 36fc37fd0e Toolkit: add deprecation notice to toolkit/ci commands (#33664) 2021-05-04 10:13:29 -07:00
David Parrott b1a8c67689 Alerting return evaluation errors to /rules (#33663)
* Set and return errors produced by evaluation results

* test fixup
2021-05-04 13:08:12 -04:00
David Parrott 39099bf3c0 Alerting nested state cache (#33666)
* nest cache by orgID, ruleUID, stateID

* update accessors to use new cache structure

* test and linter fixup

* fix panic

Co-authored-by: Kyle Brandt <kyle@grafana.com>

* add comment to identify what's going on with nested maps in cache

Co-authored-by: Kyle Brandt <kyle@grafana.com>
2021-05-04 09:57:50 -07:00
David Parrott 5072fefc22 allow saving pending alerts (#33667) 2021-05-04 09:24:20 -07:00
Sofia Papagiannaki 540f110220 [Alerting]: Extend quota service to optionally set limits on alerts (#33283)
* Quota: Extend service to set limit on alerts

* Add test for applying quota to alert rules

* Apply suggestions from code review

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Get used alert quota only if naglert is enabled

* Set alert limit to zero if nglalert is not enabled
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2021-05-04 19:16:28 +03:00
Diana Payton 985331e813 Docs: Update installation.md (#33656) 2021-05-04 18:06:02 +02:00
Ryan McKinley 33e4f8d7ac Live: remove feature toggle and enable by default (#33654) 2021-05-04 08:44:55 -07:00
Uchechukwu Obasi 9315152d4f FieldValidationMessage: updates component with the new theme model (#33647)
* FieldValidationMessage: updates component with the new theme model

* used correct theme value
2021-05-04 17:43:47 +02:00
Giordano Ricci 7cfd979cc1 Chore: remove usages of FunctionComponent in elasticsearch plugin (#33175) 2021-05-04 16:23:19 +01:00
Uchechukwu Obasi 3b11e7318a FieldSet: updates components with the new theme model (#33640) 2021-05-04 16:08:53 +01:00
Jack Westbrook 907d7b71dc docs(piechart): refactor story to use controls (#33696) 2021-05-04 17:01:47 +02:00
Uchechukwu Obasi 43fd829565 FormField: removes theme model since its not used in styles (#33632) 2021-05-04 15:46:32 +01:00
Peter Holmberg 0006765a40 Alerting: Run queries (#33423)
* alertingqueryrunner first edition

* added so we always set name and uid when changing datasource.

* wip.

* wip

* added support for canceling requests.

* util for getting time ranges for expression queries

* remove logs, store data in state

* added structure for marble testing.

* change so the expression buttons doesnt submit form.

* fixed run button.

* replaced mocks with implementation that will set default query + expression.

* fixed so we set a datasource name for the default expression rule.

* improving expression guard.

* Update public/app/features/alerting/components/AlertingQueryEditor.tsx

Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>

* fixed some nits.

* some refactoring after feedback.

* use grafanthemev2

* rename grafanatheme

* fixing so we convert to correct relative time range.

* added some more tests.

* fixing so duplicating query works.

* added some more tests without marbles.

* small refactoring to share code between runRequest and alerting query runner.

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
2021-05-04 16:31:25 +02:00
Bogdan Matei 9510c4f112 Alerting: Add alerting routes (#33179)
* Add amroutes

* Update table

* Recompute items when prop changes

* Update styling

* Updates

* Improvements

* Remove unnecessary line

* Updates

* Updates

* Improve code

* Add empty area component

* Move panel from root route to specific routing

* Update from master

* Update theme

* Implement save

* Fixes for PR review

* receiver -> contact point

* Fixes for PR review

* Fixes

* Add basic test

Co-authored-by: Domas <domasx2@gmail.com>
2021-05-04 16:57:11 +03:00
Arve Knudsen 75b9018464 CI: Lint backend after testing, to catch build failures early (#33622)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-05-04 15:05:39 +02:00
Hugo Häggmark 810ece57bd Chore: Adds better logging and longer timeout threshold (#33690) 2021-05-04 14:23:26 +02:00
Hugo Häggmark c6d4d14a89 LibraryPanels: Adds folder filter to manage library panel page (#33560)
* LibraryPanels: Adds folder filter

* Refactor: Adds folder filter to library search

* Refactor: splits huge function into smaller functions

* LibraryPanels: Adds Panels Page to Manage Folder tabs (#33618)

* Chore: adds tests to LibraryPanelsSearch

* Refactor: Adds reducer and tests

* Chore: changes GrafanaThemeV2

* Refactor: pulls everything behind the feature toggle

* Chore: removes clear icon from FolderFilter

* Chore: adds filter to SortPicker

* Refactor: using useAsync instead
2021-05-04 13:59:40 +02:00
Ganesh Vernekar 918552d34b NGAlert: Send list of available ngalert notification channels via API (#33489)
Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
2021-05-04 13:58:39 +02:00
Torkel Ödegaard ab872612ce RadioButtonGroup: Change background to background.primary (#33678) 2021-05-04 13:42:59 +02:00
Torkel Ödegaard a62bfba63b Alerting: Updates the new alerting rule table to use new theme (#33684) 2021-05-04 13:38:01 +02:00
Torkel Ödegaard b62e87f753 TimeSeries: Render thresholds as lines and areas (#33357)
* TimeSeries: First take on uplot thresholds rendering

* Updating theme for color picker and fixing issues

* Updating theme for color picker and fixing issues

* Minor progress

* Added test dashboard

* Adding transparent and text colors to color picker and making them visible

* Good progress on migrations

* Fixed selected issue in color picker

* Fixes

* migration fix

* Fixed test

* Fixing line rendering and refactoring

* Minor ordering fix

* fixed test

* Draw thresholds before axes & series and other tweaks

* Update packages/grafana-ui/src/components/uPlot/config/UPlotThresholds.ts

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2021-05-04 13:03:35 +02:00
Carl Bergquist 06dc2b24bf dont consider invalid email address a failed email (#33671)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2021-05-04 12:07:50 +02:00
idafurjes 61f46fccf7 33507_drone_badge: Replace CircleCI badge in readme with drone badge (#33649)
* 3507_drone_badge: Replace CircleCI badge in readme with drone badge

* 33507_drone_badge: Fix the url for the build
2021-05-04 17:59:52 +08:00
kay delaney 2cc66e548a Library panels: Normalize feature name as "Library panels" (#33540) 2021-05-04 09:00:44 +01:00
Serge Zaitsev 675922b574 Fix dockerfiles to use embed.go and Go 1.16 (#33643) 2021-05-04 09:43:12 +02:00
ying-jeanne 22b2d3c38a frontend for trim/apply defaults and some bug fixing (#33561)
* remove empty object and workaround on list

* frontend

* add toggle on frontend
2021-05-04 15:03:42 +08:00
Michael 7ccc0e838e Update alert docs (#33658)
Update link. (Blind guess as to the proper format. Please check.)
2021-05-03 14:18:05 -04:00
Kyle Brandt 48358efc13 Alerting: remove State cache entries on Ruler Delete (#33638)
for https://github.com/grafana/alerting-squad/issues/133
2021-05-03 14:01:33 -04:00
Ivana Huckova 0609b80fdc Explore: Add logs navigation to request more logs (#33259)
* Update layout for new logs navigation

* Add LogsNavigation component

* WIP clean up of css

* Add clear navigation and styling

* Add clearing to queyrRows run Query

* Make querying and displaying reliable

* Rename chunks to pages

* Refactor, remove logsNavigationCleared from navigation

* Rmove clear logs navigation

* Add flipping

* Update styling

* Add test

* Fix import

* Update Wrapper test

* Update public/sass/pages/_explore.scss

* Update public/app/features/explore/Logs.tsx

Co-authored-by: Giordano Ricci <me@giordanoricci.com>

* Add spinner to page to prevent jumpy time

* Create standard size for page

* Fix test

* Fix postioning and useRefs

* Add maxHeight

Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2021-05-03 19:34:32 +02:00
Alexander Emelin fa866f1154 Live: client connection concurrency (#33642) 2021-05-03 20:29:23 +03:00
sam boyer 806761fe70 Schema: Change Subsume check so optionality is respected (#33650) 2021-05-03 10:24:28 -07:00
Kyle Brandt d6cff74d5a Chore: Fix alerting migration code owners typo (#33644) 2021-05-03 12:17:38 -04:00
Owen Diehl 070627d11e better handle metrics for state transitions (#33648) 2021-05-03 11:57:24 -04:00
Kyle Brandt 57d46ea991 AlertingMigration: Separate info into multiple annos (#33641) 2021-05-03 11:42:31 -04:00
Ryan McKinley 6b0417207d VizLegend: move onSeriesColorChanged to PanelContext (breaking change) (#33611) 2021-05-03 08:23:17 -07:00
Torkel Ödegaard 578283078b PanelEdit: Improves viz picker ux, auto close on click (#33633)
* PanelEdit: Improves viz picker ux, auto close on click

* Fixing strict ts error

* Updated e2e
2021-05-03 16:49:09 +02:00
Torkel Ödegaard 437b247b95 Table: Fixes wrong value for auto (#33637) 2021-05-03 15:45:48 +02:00
Uchechukwu Obasi 44ffd77206 Forms/Field: updates component with the new theme model (#33634) 2021-05-03 14:05:00 +01:00
Torkel Ödegaard ac77d864fb DashboardLink: Fixes double escaping of > in dashboard link (#33617)
* DashboardLink: Fixes double escaping of > in dashboard link

* Update DashboardLinks.tsx
2021-05-03 14:54:36 +02:00
Sergey Kostrukov 19f520d891 PluginProxy: Split implementations of token providers (#32820)
* Split implementations of token providers

* Fix imports

* Fix code racing in unit tests
2021-05-03 13:46:32 +01:00
Kyle Brandt c1034f3118 Alerting: Create instanceStore (#33587)
for https://github.com/grafana/alerting-squad/issues/129
2021-05-03 07:19:15 -04:00
Giordano Ricci 3c79138d21 Fix adjustMetaInfo limit retrieval (#33631) 2021-05-03 12:55:53 +02:00
Uchechukwu Obasi 1be7d1a733 FilterPill: updates component with the new theme model (#33624)
* FilterPill: updates component with the new theme model

* fixes small spacing nit
2021-05-03 12:55:36 +02:00
Gábor Farkas 4506af3be7 InfluxDB: Improve measurement-autocomplete behavior in query editor (#33494)
* InfluxDB: Improve measurement-autocomplete behavior

* reverted changes of the previous commit

* add debounce to measurement-autocomplete
2021-05-03 11:08:12 +02:00
Emil Tullstedt 4496ae496e Access control: Clean up users scopes (#33532)
Following discussion in grafana/grafana-enterprise#1292, removing
org-scoped users scopes to make it clear that the local organization is
the default and the alternative to that is a global scope (for a select
few endpoints)
2021-05-03 10:27:12 +02:00
Torkel Ödegaard 7ee994f843 Theme: Renames new theme model from GrafanaThemeV2 to just GrafanaTheme (#33619) 2021-05-03 09:45:54 +02:00
Torkel Ödegaard b165bfabc1 Table: Fixes not data warning style (#33603)
* Table: Fixes not data warning style

* Update Table.test.tsx
2021-05-03 09:43:42 +02:00
Torkel Ödegaard f2e4f41f69 Alerting: Support for alerting for react panels, and lots of fixes to alert annotations for both react and angular (#33608)
* Alerting: Support for alerting for react panels, and lots of fixes to alert annotations for both react and angular

* Fix showing annotations in panel edit
2021-05-03 08:52:05 +02:00
Arve Knudsen 567b852072 PagerDuty: Omit empty message (#33614)
Co-authored by pkoenig10

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-05-03 08:51:22 +02:00
Torkel Ödegaard b3a46459d9 SaveDashboard: Fixes issue with saving dashboard form and enter key (#33602) 2021-05-03 07:41:10 +02:00
dependabot[bot] 6ab08d948a Chore(deps): Bump ssri from 6.0.1 to 6.0.2 (#33550) 2021-05-02 12:57:51 -07:00
Leon Sorokin 1e0c6040c6 Icons: unfork react-inlinesvg (#33607) 2021-05-02 13:43:18 -05:00
Leon Sorokin 5bf76ce881 GraphNG: uPlot 1.6.9 (#33598) 2021-05-02 20:31:27 +02:00
Leon Sorokin e159985aa2 Tooltip: eliminate flickering when repaint can't keep up (#33609) 2021-05-02 13:03:50 -05:00
Torkel Ödegaard 3ed84ec0b5 Modals: Make text left aligned in save & delete modals (#33605) 2021-05-02 19:54:44 +02:00
Torkel Ödegaard 09051051a9 Graph: Fixes threshold handles now showing up for graph thresholds (#33600) 2021-05-02 19:54:18 +02:00
Sofia Papagiannaki 49e9f7e3b6 Chore: Fix mysql integration tests (#33606) 2021-05-02 19:49:38 +02:00
Torkel Ödegaard 1db26f8907 Theme: Fix for Graph tooltip background (#33601) 2021-05-02 17:45:24 +02:00
Torkel Ödegaard cbf30aac82 Revert "Omit empty message in PagerDuty notifier (#31359)" (#33604)
This reverts commit d652d035ab.
2021-05-02 14:06:28 +02:00
Patrick Koenig d652d035ab Omit empty message in PagerDuty notifier (#31359) 2021-05-02 08:53:20 +02:00
Kyle Brandt c2a5da79e3 Alerting: Avoid panic by not loading instances without a rule (#33597) 2021-05-01 19:01:28 +02:00
Ryan McKinley 528edcaec6 Live: expose publish on live interfaces (#33596) 2021-04-30 17:35:03 -07:00
Ryan McKinley 69f2a43063 EventBus: add origin to all events and support nested EventBus (#33548) 2021-04-30 22:33:29 +02:00
Erik Sundell cedac5f4d4 add selector for code editor (#33554) 2021-04-30 13:07:34 -07:00
Kyle Brandt 759a0cd71b Build: Fix with cleanup call maybe? (#33590) 2021-04-30 13:02:37 -07:00
Kyle Brandt efe856ae4e AlertingMigration: Create alert_rule_version entry (#33585)
Create the alert rule version entry during the migration so it is consistent with rules created via api.
for https://github.com/grafana/alerting-squad/issues/123
2021-04-30 15:08:01 -04:00
Nagle Zhang 93c39ca18c add template for dashboard url parameters (#33549)
* Update dashboard-links.md

parameters with plain text like `var-something=value` can make confusion. 
template it to clarify .

* describe way for template link.
2021-04-30 14:33:26 -04:00
Kyle Brandt 7823842c5d Alerting: Load annotations from rule into State cache (#33542)
for https://github.com/grafana/alerting-squad/issues/127
2021-04-30 20:23:12 +02:00
Alexander Emelin 0c2bcbf2bc Live: persisting last message in cache for broadcast scope (#32938) 2021-04-30 11:06:33 -07:00
Kyle Brandt c25eab4eda AlertMigration: remove alert_rule UID db check (#33568)
do not believe this is needed due to uniqueness promised by shortid lib
since there is no provisioning yet. https://github.com/teris-io/shortid
2021-04-30 13:35:26 -04:00
Kyle Brandt b8f01fe034 Alerting: backend "ng" code cleanup (#33578) 2021-04-30 13:21:57 -04:00
achatterjee-grafana 599a9b9a6d Add note to Snapshot API doc to specify that user has to provide the entire dashboard model (#33572)
* Added note as suggested by Macus E.

* Update docs/sources/http_api/snapshot.md

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
2021-04-30 13:11:08 -04:00
Owen Diehl 5e48b54549 Alerting/metrics (#33547)
* moves alerting metrics to their own pkg

* adds grafana_alerting_alerts (by state) metric

* alerts_received_{total,invalid}

* embed alertmanager alerting struct in ng metrics & remove duplicated notification metrics (already embed alertmanager notifier metrics)

* use silence metrics from alertmanager lib

* fix - manager has metrics

* updates ngalert tests

* comment lint
Signed-off-by: Owen Diehl <ow.diehl@gmail.com>

* cleaner prom registry code

* removes ngalert global metrics

* new registry use in all tests

* ngalert metrics impl service, hack testinfra code to prevent duplicate metric registrations

* nilmetrics unexported
2021-04-30 12:28:06 -04:00
gamab b45120b999 gitignore: Ignore files for accesscontrol provisioning (#33577) 2021-04-30 17:24:16 +02:00
Torkel Ödegaard 9b60f8c404 DashboardSettings: Slight design tweak to fix page toolbar padding and align design (#33575)
* DashboardSettings: Slight design tweak to fix page toolbar padding and align design

* Fixed font weight

* Removed comment

* Update
2021-04-30 17:21:18 +02:00
Uchechukwu Obasi 65673857b6 EmptySearchResult: updates component with the new theme model (#33573) 2021-04-30 16:07:25 +01:00
Uchechukwu Obasi aad772a7fc ButtonSelect: updates component with the new theme model (#33565) 2021-04-30 15:45:43 +01:00
Kyle Brandt 231a8ef0cf CodeOwners: Set owners of unified alerting migration (#33571) 2021-04-30 16:28:36 +02:00
kay delaney 68ee4808c1 Library panels: Adds description to library panels tab (#33428) 2021-04-30 15:15:48 +01:00
Kyle Brandt 713260f6fa Alerting: Remove datasource (name) from migration (#33544)
no longer needed as of https://github.com/grafana/grafana/pull/33416
for https://github.com/grafana/alerting-squad/issues/126
2021-04-30 07:47:01 -04:00
Torkel Ödegaard c0d28d9ed7 PageLayout: Fixes max-width breakpoint so that it triggers only when there is room for margin+ (#33558) 2021-04-30 12:08:02 +02:00
Hugo Häggmark 696a6ecd1e Variables: Removes the never refresh option (#33533)
* Variables: Removes the never refresh option

* Tests: fixes DashboardModel repeat tests

* Tests: fixs snapshots

* Tests: fixes processVariable test

* Tests: fixes DashboardModel tests
2021-04-30 11:17:35 +02:00
Jack Westbrook 8f62e42554 Plugins: add level and signature badges to plugin details page (#33553)
* feat(grafana-ui): badge can accept react node for text, add shield-exclamation to icons

* feat(plugins): add PluginSignatureType type

* feat(pluginpage): introduce PluginSignatureDetailsBadge. Fix sidebar icon margin

* feat(pluginlistpage): update filterinput placeholder, introduce filter by plugin type
2021-04-30 11:00:41 +02:00
Arve Knudsen ec3d8b590a Server: Implement timeout waiting for server to shut down (#33333)
* tests: Undo cleanup in goroutine

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Server: Implement timeout waiting for it to shut down

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-04-30 10:55:59 +02:00
Hugo Häggmark 492227fa0a Chore: Upgrades @braintree/sanitize-url (#33551) 2021-04-30 10:13:41 +02:00
Torkel Ödegaard f6ecded86b Theme: Page styles move to emotion global styles and design tweaks (#33529)
* Theme: Page styles move to emotion global styles and design tweaks

* More style tweaks

* tweaks

* Updating snapshots

* Another fix

* Another fix

* minor fix

* More style tweaks to page toolbar and alert rule page

* minor polish
2021-04-30 10:04:01 +02:00
Oscar Kilhed aaca022df6 Make sure big lists of suggestions don't expand outside of the viewport (#33520)
* Add CustomScrollbar to data links suggestions

* Make sure to scroll to selected suggestion
2021-04-30 09:52:34 +02:00
Naseem deb9ead72f stackdriver backend services dashboard: add backend service dropdown (#31494)
this dashboard is most useful when being able to look at a service in particular. I tried making a multi-value but it did not produce good results. Having to choose, seeing a single service's metrics is better than the busy panels when all services are lumped together.

Signed-off-by: naseemkullah <naseem@transit.app>
2021-04-30 09:11:50 +02:00
Ryan McKinley daa3175f1c Models: add cue spec for text, news, and dashlist panels (#32777) 2021-04-29 20:12:37 -07:00
Torkel Ödegaard 33cfc3d9c2 Theme: Fixing storybook theme (#33541) 2021-04-29 21:12:50 +02:00
Ryan McKinley 1cda7c5977 Live: show disconnection error banner when in dev mode (#33394) 2021-04-29 11:57:51 -07:00
Owen Diehl e4d3161690 revendors loki & alertmanager (#33534)
* revendors loki

* revendors alertmanager
2021-04-29 18:29:42 +01:00
Kyle Brandt 6c8ef2a9c2 Alerting: Alert Rule migration (#33000)
* Not complete, put migration behind env flag for now:
UALERT_MIG=iDidBackup
* Important to backup, and not expect the same DB to keep working until the env trigger is removed.
* Alerting: Migrate dashboard alert permissions
* Do not use imported models
* Change folder titles

Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>
2021-04-29 13:24:37 -04:00
Ivana Huckova cf958e0b4f Explore: Refactor deduplication, hiding of logs and Logs component (#33531)
* Move fitlering and deduplication to comnponent to enable future caching

* Clean up LogsMetaInfo

* Update

* Memoize component

* Fix type errors

* Clean uo

* Add tests for filtering in combination with deduplication
2021-04-29 18:26:30 +02:00
Sofia Papagiannaki 1e380e869e [Alerting]: some fixes (#33538)
* Fix fialure when adding state annotations

* Fix get org rules API

Do not fail response if user has no access to view a namespace.
Do not include the namespace in the response instead.

* lint
2021-04-29 19:15:15 +03:00
changdingfang adc68a310e Update team.md (#33454) 2021-04-29 10:52:48 -04:00
Alex Khomenko 3b515e650c Grafana-UI: Update React Hook Form to v7 (#33328)
* Update hook form

* Update Form component

* Update ChangePassword.tsx

* Update custom types

* Update SaveDashboardForm

* Update form story

* Update FieldArray.story.tsx

* Bump hook form version

* Update typescript to v4.2.4

* Update ForgottenPassword.tsx

* Update LoginForm.tsx

* Update SignupPage.tsx

* Update VerifyEmail.tsx

* Update AdminEditOrgPage.tsx

* Update UserCreatePage.tsx

* Update BasicSettings.tsx

* Update NotificationChannelForm.tsx

* Update NotificationChannelOptions.tsx

* Update NotificationSettings.tsx

* Update OptionElement.tsx

* Update AlertRuleForm.tsx

* Update AlertTypeStep.tsx

* Update AnnotationsField.tsx

* Update ConditionField.tsx

* Update ConditionsStep.tsx

* Update GroupAndNamespaceFields.tsx

* Update LabelsField.tsx

* Update QueryStep.tsx

* Update RowOptionsForm.tsx

* Update SaveDashboardAsForm.tsx

* Update NewDashboardsFolder.tsx

* Update ImportDashboardForm.tsx

* Update DashboardImportPage.tsx

* Update NewOrgPage.tsx

* Update OrgProfile.tsx

* Update UserInviteForm.tsx

* Update PlaylistForm.tsx

* Update ChangePasswordForm.tsx

* Update UserProfileEditForm.tsx

* Update TeamSettings.tsx

* Update SignupInvited.tsx

* Expose setValue from the Form

* Update typescript to v4.2.4

* Remove ref from field props

* Fix tests

* Revert TS update

* Use exact version

* Update latest batch of changes

* Reduce the number of strict TS errors

* Fix defaults

* more type error fixes

* Update CreateTeam

* fix folder picker in rule form

* fixes for hook form 7

* Update docs

Co-authored-by: Domas <domasx2@gmail.com>
2021-04-29 16:54:38 +03:00
Marcus Andersson 9de2f1bb8f Alerting: moving data source uid to query instead of model (#33416)
* initial commit.

* Some more improvements to the expression data source support.

* added tests to verify that time range picker and data source picker only is visible when callbacks is passed to row.

* fixing issue with filter in alerting list.

* minor refactoring.

* removed guarding code, should be fixed in  backend.

* cleaning the data query if we change to a different data source.
2021-04-29 15:10:14 +02:00
Piotr Jamróz 28ec96788c Explore: Fix refreshing the graph when data changes (#33511)
* Track data structure changes in ExploreGraphNGPanel

* Use usePrevious hook

* Remove unused import
2021-04-29 15:02:14 +02:00
dependabot[bot] 8dea72a763 Chore(deps): Bump go.opentelemetry.io/collector from 0.22.0 to 0.25.0 (#33365)
* Chore(deps): Bump go.opentelemetry.io/collector from 0.22.0 to 0.25.0

Bumps [go.opentelemetry.io/collector](https://github.com/open-telemetry/opentelemetry-collector) from 0.22.0 to 0.25.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.22.0...v0.25.0)

Signed-off-by: dependabot[bot] <support@github.com>

* Apply changes to tempo code

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2021-04-29 15:01:48 +02:00
Hugo Häggmark e8707944a3 LibraryPanels: adds View panel in dashboard modal (#33517) 2021-04-29 14:51:15 +02:00
Dominik Prokop 45c763a76b GraphNG: Bring back plot instance getter on the Plot context (#33516)
* Bring back plot instnace getter on the Plot context

* Update plot context usage
2021-04-29 13:51:21 +02:00
Kyle Brandt d32fcbe2bc Alerting: Eval pkg tests and more specific error handling (#33496)
* comment updates
* more friendly error messages, in particular if it looks like time series data
2021-04-29 07:27:32 -04:00
Emil Tullstedt 840828b5d2 Access control: Allow empty scope requirement lists (#33518) 2021-04-29 13:22:13 +02:00
Torkel Ödegaard 017bcc73ba Theme: Move displayProcessor & fieldOverrides & visualizations to use new theme model (#33502)
* WIP updating getColorForTheme

* Progress

* More fixes

* Updating more parts

* Fixing unit tests

* Fixing more tests

* Fixing storybook issues

* More refactoring

* Fixed test
2021-04-29 12:44:06 +02:00
Jack Westbrook 0836e7bde8 IconButton: introduce variant for red and blue icon buttons (#33479)
* feat(iconbutton): introduce variant for red and blue icon buttons

* refactor(iconbutton): give variants breathing space in story

* docs(iconbutton): add docblock comment for variant prop

* refactor(iconbutton): prefer secondary to undefined variant prop and add default

* refactor(iconbutton): use icon color for hover
2021-04-29 10:47:06 +02:00
Alex Khomenko 440f4182b9 Chore: Update @grafana/eslint-config (#33512)
* Update @grafana/eslint-config

* Update @typescript-eslint/eslint-plugin and @typescript-eslint/parser

* Update dependencies in grafana/toolkit
2021-04-29 11:30:19 +03:00
Arve Knudsen ca56e59415 CI: Upgrade build pipeline tool (#33514)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-04-29 10:11:15 +02:00
Sofia Papagiannaki fcd674ec58 Fix deleting prom rules endpoints via ds_proxy (#33491) 2021-04-29 10:20:51 +03:00
Torkel Ödegaard e977085933 PanelQueryRunner: Clear field state between query results (#33504)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-04-29 08:02:33 +02:00
Ryan McKinley 1f4154a50d QueryRunner: update frame length when skipping processing (#33508) 2021-04-28 15:13:04 -07:00
Owen Diehl ec37b4cb87 [Alerting] Automatic request instrumentation (#33444)
* alerting: automatic request instrumentation

* always expose alerting prom metrics

* globally register alerting metrics
2021-04-28 16:59:15 -04:00
Josh Hunt ef9f99645d Bump version in latest.json (#33500) 2021-04-28 21:26:34 +01:00
Aaron Ecay c56763c42d Document customQueryParameters for prometheus datasource provisioning (#33440)
* Document customQueryParameters for prometheus datasource provisioning

The customQueryParameters option was added to prometheus datasources in https://github.com/grafana/grafana/pull/19121.  This PR updates the "provisioning" documentation to contain a reference to this in the `jsonData` options for a prometheus datasource.

* Update docs/sources/administration/provisioning.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-04-28 12:58:04 -04:00
Grot (@grafanabot) 08db0435bb ReleaseNotes: Updated changelog and release notes for 7.5.5 (#33473)
* ReleaseNotes: Updated changelog and release notes for 7.5.5

* Add release notes to index.md

* Update release-notes-7-5-5.md

* Update CHANGELOG.md

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
2021-04-28 17:01:58 +01:00
Kyle Brandt 914443c816 Alerting: Fix state cache id duplication (#33480) 2021-04-28 11:42:19 -04:00
Gang Chen 7509c6cbc4 Documentation: Update developer-guide.md (#33478) 2021-04-28 11:35:32 -04:00
Hugo Häggmark a9d6d131b3 LibraryPanels: Small UI improvements (#33482) 2021-04-28 17:34:18 +02:00
Gábor Farkas f176b4818a devenv: InfluxDB: fix version mismatch (#33484) 2021-04-28 16:39:31 +02:00
Arve Knudsen 36d94f3f86 CodeOwners: Set owners of alerting code (#33483)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-04-28 16:21:30 +02:00
Jack Westbrook 249004ebef Pages: update react components to use v2 theme (#33413)
* chore: expose theme types / functions

* fix(grafana-ui): withTheme2 extends themeable2

* feat: migrate page components to use new theme

* refactor(pages): replace legacy form components with latest form components

* refactor(dashboardimport): update page component to use theme spacing

* refactor(alerting-ng): update page component to use v2 theme

* test(dashboardpage): update test for v2 theme

* test(apikeyspage): update test to select InlineSwitch component

* test(createteam): update snapshot

* refactor(playlist): update page components to use v2 theme

* refactor(page): put back classes on page-container and background colors
2021-04-28 16:05:00 +02:00
Hugo Häggmark 22ac0fc3cd Chore: Migrates remaining Angular modals to React (#33476)
* HelpModal: Migrates to new style

* Alerting: Migrates how to do alerting modal to React

* ApiKeysModal: migrates to new theme

* Dashboard: View dasboard json modal migrated to React and new theme

* PluginPage: migrates update plugin modal to react and new theme

* Chore: deprecates events and functions

* Simplify help modal

* Updated json modal to use Modal.ButtonRow

* Tweak to api key design

* Tests: updates snapshot

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-04-28 15:22:28 +02:00
Mitch Seaman 86a57d17d2 add closed parenthesis to fix a hyperlink (#33471)
Fix a missing character that prevents the hyperlink from rendering correctly.
2021-04-28 09:09:15 -04:00
Torkel Ödegaard 7087727400 PanelChrome: Ignore data updates & errors for non data panels (#33477) 2021-04-28 14:46:10 +02:00
Marcus Efraimsson 7e6db1ee7e Permissions: Fix inherited folder permissions can prevent new permissions being added to a dashboard (#33329)
In the case permissions has been added on dashboard(s). Later permissions for the 
parent folder of the dashboard is edited in such a way that dashboard in that folder 
has a permission that is a duplicate of an inherited one. This PR changes so that 
duplicate permissions are now filtered out from /api/dashboards/id/<dashboard id>/permissions.
Duplicate permission are not filtered out if the permission on dashboard is higher 
than on the inherited folder.

Fixes #33296

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-04-28 14:42:18 +02:00
Alex Khomenko 6d95f2f1db Chore: Update typescript to v4.2.4 (#33297)
* Update typescript to v4.2.4

* Update @types/slate

* Fix QueryVariableEditor.test.tsx

* Fix search-related type errors

* Fix Plugin pages type errors

* Fix missing initializer errors

* Update snapshot

* Revert tsconfig changes
2021-04-28 15:40:01 +03:00
Torkel Ödegaard bac8b967be PieChart: Refactoring & adding unsubscribe (#33432)
* Tweaks to piechart and theme

* Adds unsubscribe to events and move out to separate hook

* reverted constrast change

* Minor refactor after review feedback

* chain the subs
2021-04-28 14:02:41 +02:00
Hugo Häggmark df8d301d1e LibraryPanels: Adds descriptions to cards (#33452)
* LibraryPanels: Adds descriptions to cards

* Chore: updates after PR comments
2021-04-28 13:47:12 +02:00
ying-jeanne 748778fff0 new endpoint to post/get trimmed dashboard json (#33465)
* new endpoint to post/get trimed dashboard json

* add isdisabled check in dashboard.go
2021-04-28 19:38:33 +08:00
Christian Haudum 076e2ce06a Return 404 when deleting non-existing API key (#33346)
The server needs to return a HTTP 404 (Not Found) when an API key that does not exist is deleted.
2021-04-28 13:30:09 +02:00
Alex Khomenko 1336a57e99 Grafana-UI: Export Card container styles (#33386)
* Export Card container styles

* Export CardContainer as a separate component

* Update story

* Remove tooltip
2021-04-28 13:41:20 +03:00
Uchechukwu Obasi 0d1cdbe227 DataLinksSuggestion: updates component with the new theme model (#33390)
* updates component with the new theme model

* uses correct new theme property

* removes constant variables and inlined their usage
2021-04-28 11:17:10 +01:00
Joan López de la Franca Beltran c41b08bd59 Settings: Encapsulate settings within an extensible provider (#32219)
* Encapsulate settings with a provider with support for runtime reloads

* SettingsProvider: reload is controlled by the services

* naive impl of reload handlers for settings

* working naive detection on new changes

* Trigger settings reload from API endpoint

* validation step added

* validation of settings

* Fix linting errors

* Replace DB_Varchar by DB_NVarchar

* Reduce settings columns (section, key) lenghts

* wip db update logic

* Db Settings: separate updates and removals

* Fix: removes incorrectly added code

* Minor code improvements

* Runtime settings: moved oss -> ee

* Remove no longer used setting.Cfg SAML-related fields

* Rename file setting/settings.go => setting/provider.go

* Apply suggestions from code review

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>

* Minor code improvements on OSS settings provider

* Fix some login API tests

* Correct some GoDoc comments

* Apply suggestions from code review

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>

Co-authored-by: Leonard Gram <leo@xlson.com>
Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2021-04-28 11:26:58 +02:00
Domas df4181c43a Alerting: edit receivers (grafana) (#33327) 2021-04-28 12:22:48 +03:00
Sofia Papagiannaki 7ccb022c03 Alerting: validate condition before updating rulegroup (#33367)
* Alerting: validate condition before updating rulegroup

* Apply suggestions from code review
2021-04-28 11:31:51 +03:00
Uchechukwu Obasi 643e7af3e0 Collapse: updates component to use the new theme model (#33326)
* updates component to use the new theme model

* updates ssome old style to use new theme

* uses correct theme color property

* updates new theme style with correct naming
2021-04-28 10:07:01 +02:00
kay delaney 780b776387 BasicAuthSettings: Update styles to use emotion and new theming (#33164)
* BasicAuthSettings: Update styles to use emotion and new theming

* Use InlineField
2021-04-28 10:04:26 +02:00
Uchechukwu Obasi faa80003b9 DataLinksInlineEditor: updates component with the new theme model (#33391) 2021-04-28 10:01:18 +02:00
Oscar Kilhed 6c7290164e Fix datalink suggestions (#33411) 2021-04-28 09:58:53 +02:00
Conor Evans 18db387387 Add total data sources to admin stats (#33051)
Signed-off-by: Conor Evans <coevans@tcd.ie>
2021-04-28 09:56:26 +02:00
Ryan McKinley fac335ee7f JSON: make the dashboard JSON editor as big as possible (#33453)
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
2021-04-28 09:52:26 +02:00
Zoltán Bedi 70bafc2725 GraphNG: Fix exemplars window position (#33427) 2021-04-28 09:37:35 +02:00
Torkel Ödegaard 3a93313f75 Frontend: Auto reload page when chunk is not found (#33445) 2021-04-28 09:31:52 +02:00
Hugo Häggmark 20ee0e9601 LibraryPanels: Adds panel type filter and sorting (#33425)
* Wip: inital commit

* Chore: updating api

* Refactor: adds description search and sorting

* Refactor: adds panel filtering

* Refactor: limits the height of select

* Tests: updates snapshot

* Refactor: small UI improvements
2021-04-28 09:18:13 +02:00
dependabot[bot] eaf7decf5a Chore(deps): Bump google.golang.org/api from 0.44.0 to 0.45.0 (#33366)
Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.44.0 to 0.45.0.
- [Release notes](https://github.com/googleapis/google-api-go-client/releases)
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/master/CHANGES.md)
- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.44.0...v0.45.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-28 08:56:40 +02:00
Nathan Rodman 1913d304a3 Alerting: Add silences table (#33138)
* Create table for silences

* Style table to figma designs

* Add rules table to silences

* Rebase with new rules table

* Remove redundant reducer

* fetch alertmanager alerts (#33142)

* fetch alertmanager alerts

* show the alerts json

* Use matching alerts from alertmanager api

* Add handle to expire silence

* Get silenced alerts closer to figma designs

* fix expire silence endpoint typo

* Style affected alerts table

* Add default empty string for alertmanager source

Co-authored-by: Domas <domasx2@gmail.com>
2021-04-27 13:46:34 -07:00
Kyle Brandt 968935b8b7 TestData: Change predictable csv scenario to multi-series (#33442)
Allow multiple series in Predictable CSV Wave testdata scenario

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-04-27 16:35:43 -04:00
Kyle Brandt b590e95682 AlertingAPI: Change list response query prop (#33419)
* Alerting: change to full []AlertQuery as json in a string and not just model.
2021-04-27 22:15:00 +02:00
Josh Hunt a13c5380a7 Grafana-UI: Switch CodeEditor to UMD @monao-editor/react (#33204)
* Grafana-UI: Switch CodeEditor to @monao-editor/react

* update copy script and paths

* hide context menu

* use __grafana_public_path__

* Fix value and language not updating

* update jaeger tsconfig

* update tsconfig

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-04-27 17:34:56 +01:00
Giordano Ricci ea3d3a2218 Grafana-UI: Fix options margin when spanning on multiple lines (#33436) 2021-04-27 17:24:40 +01:00
Vardan Torosyan 5bf6d7dad8 Access control: Update evaluator to authorize when at least one of the scopes is a match (#33393) 2021-04-27 18:22:18 +02:00
Kevin Minehart 43bfa2801c Documentation: Update Grafana Enterprise caching documentation (#33398)
* update caching documentation

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
2021-04-27 11:06:25 -05:00
Ganesh Vernekar 467ab124dd NGAlert: Fix GET for Alertmanager config (#33379)
Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
2021-04-27 20:48:19 +05:30
Alexander Emelin 50795bc760 live: better comment, code style, show disconnect reason (#33430) 2021-04-27 17:01:12 +02:00
Uchechukwu Obasi 3725654b38 CallToActionCard: updates component to use the new theme model (#33309)
* updates component to use the new theme model

* fixes frontend test
2021-04-27 15:52:47 +01:00
Uchechukwu Obasi fce40fff63 updates component with the new theme model (#33387) 2021-04-27 15:51:57 +01:00
Kyle Brandt adcba36d39 AlertingAPI: update swagger json files match datasourceUid change (#33332)
* update swagger json files match datasourceUid change
underlying change made in https://github.com/grafana/grafana/pull/33282
* Document DatasourceUID field in AlertQuery model
* Run spec generation from inside a docker container
* Generate latest spec

Co-authored-by: Sofia Papagiannaki <sofia@grafana.com>
2021-04-27 16:50:30 +02:00
dependabot[bot] 2466565862 Chore(deps): Bump actions/cache from v2.1.4 to v2.1.5 (#32925)
Bumps [actions/cache](https://github.com/actions/cache) from v2.1.4 to v2.1.5.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2.1.4...1a9e2138d905efd099035b49d8b7a3888c653ca8)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-27 16:43:41 +02:00
Will Browne 6958340b24 Plugins: Support installing to folders with whitespace and fix pluginUrl trailing and leading whitespace failures (#32506)
* Plugins: Support installing to folders with whitespace and fix pluginUrl trailing and leading whitespace failures

* update docs

* update docs
2021-04-27 16:30:59 +02:00
Alexander Emelin e6f9f65fdf Live: use ReqSignedIn middleware for ws routes (#33381) 2021-04-27 16:19:36 +02:00
Ivana Huckova 084066c712 Prometheus: Support POST in template variables (#33321)
* If POST, pass params as data not in url string

* Fix metricNameAndLabelsQuery

* Improve test for new functionality

* Add multiple parameters in test scenarios

* Change urlParams to object
2021-04-27 16:16:48 +02:00
kay delaney ed3b87f165 Library Panels: Change wording of ChangeLibraryPanelModal (#33424)
"Changing library panel" -> "Replace with library panel"
2021-04-27 15:14:31 +01:00
kay delaney 2a8c36c976 Library Panels: Reset config rev after saving changes (#33422) 2021-04-27 15:14:21 +01:00
Torkel Ödegaard d5465e5c6a Cards: Fix margins in old card styles (#33421) 2021-04-27 15:54:33 +02:00
Torkel Ödegaard eef4e18b62 Theme: Use outline buttons for Cancel & Back actions (#33418)
* Buttons: Use new outline button for cancel & back buttons

* More buttons

* More tweaks

* Updated row snapshot
2021-04-27 15:36:48 +02:00
Domas e8faec5c19 Alerting: create/edit notification templates (#33225) 2021-04-27 16:28:53 +03:00
Torkel Ödegaard 5d855dbf33 Theme: Fixes to time picker calendar & variable dropdowns & more (#33407)
* More theme fixes

* more updates

* Fixed alerts in explore
2021-04-27 15:13:08 +02:00
Owen Diehl 86c8eed386 Instrument/ruler api (#33290)
* ruler api histogram instrumentation

* register ruler metrics
2021-04-27 08:25:32 -04:00
Ganesh Vernekar be1affe0a4 NGAlert: Fix flaky test (#33415)
Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
2021-04-27 17:03:22 +05:30
Kyle Brandt f5efe97763 SSE: limit allowed input/output to/from classic conditions (#33337)
* add tests for graph and specific cases in this pr
2021-04-27 07:22:11 -04:00
Oscar Kilhed 83d24b5aee Cleans up piechart options (#33375)
Cuts thresholds
Cuts display all values
2021-04-27 12:20:45 +02:00
Jack Westbrook 45fa5fdf48 Buttons: introduce buttonStyle prop (#33384)
* Wip

* Updates to colors to make secondary outline work

* refactor: prefer buttonStyle="text" over variant="link" for text buttons

* revert(button): put back mdx story page

* fix(button): variant link disabled as text disabled

* docs(button): remove link variant from stories

* feat(grafana-ui): introduce basic deprecation notice for button and linkbutton components

* docs(button): update usage of href with button and buttonlink

* feat(button): add grafana/ui to deprecation warning

* refactor(buttons): use a more descriptive name for prop warning function

* test(buttonrow): update snapshots

* refactor(buttons): change prop name from buttonStyle to fill

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-04-27 12:03:06 +02:00
Carl Bergquist 58a325a4e4 Instrumentation: Add success rate metrics for email notifications (#33359)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2021-04-27 11:15:07 +02:00
Torkel Ödegaard 759a501564 Singlstat: Fixes all the singlestat migration issues by moving it to DashboardMigration (#33349)
* Singlstat: Fixes all the singlestat migration issues by doing during DashboardMigration

* fixes

* Updated snapshot
2021-04-27 10:09:37 +02:00
Hugo Häggmark ca85012865 Annotations: Adds loading indicators and cancellation (#33404) 2021-04-27 10:03:52 +02:00
Piotr Jamróz 3ee925610a Use either moment objects (for absolute times in the datepicker) or string (for relative time) (#33315) 2021-04-27 09:55:22 +02:00
Hugo Häggmark b3642eb18d e2e: slows down failing test (#33401)
* e2e: slows down failing test

* Update set-options-from-ui.ts
2021-04-27 08:53:43 +02:00
Hugo Häggmark a3584f21de Annotations: Turns on annotations in Graph and TimeSeries (#33402)
* Annotations: Turns on annotations in Graph and TimeSeries

* Refactor: moves to notPersistedProperties
2021-04-27 07:39:02 +02:00
Jack Lu 495345c0c2 added overflow wrapping css to solve alert url overflowing (#33400) 2021-04-27 07:30:19 +02:00
achatterjee-grafana 37eee84552 Docs: Removed type from find annotations example. (#33399) 2021-04-27 07:28:13 +02:00
Hugo Häggmark f73be970d3 Variables: Removes experimental Tags feature (#33361)
* Variables: Removes experimental Tags feature

* Refactor: adds dashboard migration

* Tests: fixes snapshots

* Docs: removes docs for experimental feature

* Refactor: dummy change

* Docs: removes reference
2021-04-27 05:57:25 +02:00
Atif Shoukat Ali 408bc06bab clear state.calcs on every append (#33245) 2021-04-26 19:53:32 -07:00
Leon Sorokin 69bcaf9253 GraphNG: simplify plotContext (#33347) 2021-04-26 13:36:59 -07:00
Alexander Emelin 2abd9bc3b9 live: rename url param - assume stable schema by default (#33383) 2021-04-26 20:46:26 +03:00
Ikko Ashimine c41b5d80a3 DataFrameJSON: fix typo in DataFrameJSON.ts (#33380)
absense -> absence
2021-04-26 10:24:58 -07:00
Sarah Zinger ed2388bfea Azure Monitor: Fix aggregation reset bug (#33287)
Fix aggregation reset bug
2021-04-26 17:41:02 +01:00
Torkel Ödegaard 4643bfa539 Modals: design update (#33368)
* Modals: Style update draft

* Modal.ButtonRow to control spacing better in a centralised way

* Remove header border if no tabs

* Added border and made buttons right aligned and changed order of buttons

* Updating the overlay

* Tweaks to paddings

* Updated share modals
2021-04-26 18:26:56 +02:00
Uchechukwu Obasi de65cef850 updates component with the new theme model (#33392) 2021-04-26 17:06:00 +01:00
Giordano Ricci c88af6e221 Elasticsearch: Add generic support for template variables (#32762)
* Elasticsearch: Add generic support for template variables

* format MovingAverage settings as numbers

* Move formatting logic to query builder & forma serial_diff settings as numbers

* modify presence check

* add todo

* minor fixes

* transform string values to numbers

* Move casting logic

* Slightly cleaner implementation

* Add BE tests

* Leverage elastic validation when string doesn't resolve to a numeric value

* move newly introduced test to testify

* add FE query_builder tests

* check error

* Parse values to float instead of int

* Fix tests & ParseFloat bit size
2021-04-26 16:54:23 +01:00
Dominik Prokop fffa8ad8de Docs: add documentation for new stacking option in Time series panel (#33023)
* Docs: add documentation for new stacking option in Time series panel

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

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Post review update

* review 2

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

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

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

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

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

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

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

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

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

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

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2021-04-26 17:44:28 +02:00
Uchechukwu Obasi 36d3c053a9 DataLinksEditor: updates component with the new theme model (#33389) 2021-04-26 17:44:03 +02:00
Oscar Kilhed e6a93d32c0 Rename Pie chart v2 -> Pie chart (#33388) 2021-04-26 17:41:15 +02:00
Will Browne 8e6205c107 Plugins: Move plugin installing + uninstalling logic from CLI to plugins package (#33274)
* move guts from cli to server

* renaming + refactoring

* add pluginsDir arg

* arg fixes

* add support for repo URL override

* add funcs to interface

* use pluginID consistently

* swap args

* pass mandatory grafanaVersion field

* introduce logger interface

* create central logger for CLI

* add infra log wrapper

* re-add log initer step

* remove unused logger

* add checks for uninstalling

* improve debug blue

* make sure to close file

* fix linter issues

* remove space

* improve newline usage

* refactor packaging

* improve logger API

* fix interface func names

* close file and reformat zipslip catch

* handle G305 linter warning

* add helpful debug log
2021-04-26 16:13:40 +02:00
Oscar Kilhed d0239ac958 [grafana/UI] Hoovering over a legend label highlights the corresponding pie slice (#32941)
* Hoovering over a legend label hightlighs that pie slice

* Change to event bus

* Adds EventBusWithSource to help identify the origin of the event

* Add tests and fix bug with incorrect source

* Clean up PieChart and EventBus a bit

* Fix bug when payload.source is undefined

* Add some documentation and adjust naming

* useState instead of useSetState

* Clean up some more documentation

* Move eventbus to state

* add event bus actions to the debug panel

* add event bus actions to the debug panel

* Try to make the naming a bit clearer

* Try passing eventbus as context

* Fix lint issues

* Move event bus context to panel chrome

* Fix event handler functions

* switch to using useCallback for legend item callbacks

* Remove unused parameters

* Add id to panel fixture of PanelChrome test

* Simplify event source

* Place eventBus inside more generic context

* Push handling of context up the tree to VizLegend

only export usePanelContext and PanelContextProvider

implement isOwnEvent on EventBus

some cleanup

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2021-04-26 16:13:15 +02:00
Uchechukwu Obasi e21d1ccba4 CollapsableSection: updates component to use the new theme model (#33378)
* updates component to use the new theme model

* fixes small nit
2021-04-26 15:01:59 +01:00
Richard Hartmann e2a90315bd Add storybook (#33373)
Signed-off-by: Richard Hartmann <richih@richih.org>
2021-04-26 16:00:45 +02:00
kay delaney 999f139868 DashboardQueryRunner: Implements opt-in subscribe logic (#33370)
* DashboardQueryRunner: Implements opt-in subscribe logic
2021-04-26 13:50:08 +01:00
Dominik Prokop a54ac510c4 GraphNG: Make the GraphNG / uPlot flow sync (#33215)
* Move data alignment to panel

* Make uPlot plugins sync, bring back alignment to GraphNG

* Update GraphNG-like panels

* Update explore graph ng

* Cleanup unnecessary tests

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2021-04-26 13:30:04 +02:00
Alexander Emelin 7501a2deb6 Live: pure websocket push endpoint (#33339) 2021-04-26 13:17:49 +03:00
Arve Knudsen 7f53dfad88 CSP: Set nonce attribute on Webpack injected bundles (#33298)
* CSP: Set __webpack_nonce__

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-04-26 11:38:24 +02:00
Uchechukwu Obasi 34910521a6 updated component to use new theme model (#33306) 2021-04-26 09:12:39 +01:00
Hugo Häggmark ba2fa3434e Annotations: fixes reversed switch (#33362) 2021-04-26 09:05:22 +02:00
Torkel Ödegaard cf2d557974 Alerts/InfoBox: Replaces all uses of InfoBox & FeatureInfoBox with Alert (#33352)
* Alerts/InfoBox: Replaces all uses of InfoBox & FeatureInfoBox with Alert

* Fixes some more stuff

* fixed border radius
2021-04-26 07:18:46 +02:00
Hugo Häggmark 19739f4af2 Annotations: Adds DashboardQueryRunner (#32834)
* WIP: initial commit

* Fix: Fixed $timeout call when testing snapshots

* Chore: reverts changes to metrics_panel_ctrl.ts

* Chore: reverts changes to annotations_srv

* Refactor: adds DashboardQueryRunner.run to initdashboard

* Refactor: adds run to dashboard model start refresh

* Refactor: move to own folder and split up into smaller files

* Tests: adds tests for LegacyAnnotationQueryRunner

* Tests: adds tests for AnnotationsQueryRunner

* Tests: adds tests for SnapshotWorker

* Refactor: renames from canRun|run to canWork|work

* Tests: adds tests for AlertStatesWorker

* Tests: adds tests for AnnotationsWorker

* Refactor: renames operators

* Refactor: renames operators

* Tests: adds tests for DashboardQueryRunner

* Refactor: adds mergePanelAndDashboardData function

* Tests: fixes broken tests

* Chore: Fixes errors after merge with master

* Chore: Removes usage of AnnotationSrv from event_editor and initDashboard

* WIP: getting annotations and alerts working in graph (snapshot not working)

* Refactor: fixes snapshot data for React panels

* Refactor: Fixes so snapshots work for Graph

* Refactor: moves alert types to grafana-data

* Refactor: changes to some for readability

* Tests: skipping tests for now, needs rewrite

* Refactor: refactors out common static functions to utils

* Refactor: fixes resolving annotations from dataframes

* Refactor: removes getRunners/Workers functions

* Docs: fixes docs errors

* Docs: trying to fix doc error

* Refactor: changes after PR comments

* Refactor: hides everything behind a factory instead

* Refactor: adds cancellation between runs and explicitly
2021-04-26 06:13:03 +02:00
Ryan McKinley cdc6f4c2ac Chore: update icons with a json index (#33354) 2021-04-25 15:24:29 -07:00
Torkel Ödegaard 424925c3fb Icons: Fixes iconCache not having same iconRoot as what Icon component used making the pre-cached items not match (#33356) 2021-04-25 11:17:35 -07:00
Torkel Ödegaard a1b7793959 LoginPage: Fixes minor spacing issue on login page (#33353) 2021-04-25 06:08:56 +02:00
Torkel Ödegaard 9fe113b016 Emotion: useStyles removed the memoized styles making it worse than stylesFactory (#33263)
* Emotion: useStyles removed the memoized styles making it worse than stylesFactory

* Updated tests
2021-04-24 15:18:09 +02:00
Torkel Ödegaard ad63f871ce Stat/Table: Fixes contrast color, was flipped in theme refactoring (#33345)
* Stat/Table: Fixes contrast color, was flipped in theme refactoring

* Updated snapshot
2021-04-24 14:27:27 +02:00
Torkel Ödegaard 50018f37f2 SegmentSelect: Migration from legacy select to default Select component (#33344) 2021-04-24 14:26:58 +02:00
Leon Sorokin 47e68580a6 DataFrame: also filter fields in single frame case in outerJoinDataFrames() (#33343) 2021-04-23 21:28:18 -05:00
Ryan McKinley 693915de35 Live: Simplify live interface (#33196) 2021-04-23 23:21:38 +02:00
Ryan McKinley 1dd9e9b184 Live: support a dashboard gitops channel (#33291) 2021-04-23 21:55:31 +02:00
David Parrott 788bc2a793 Alerting: refactor state tracker (#33292)
* set processing time

* merge labels and set on response

* use state cache for adding alerts to rules

* minor cleanup

* add support for NoData and Error results

* rename test

* bring in changes from other PRs tha have been merged

* pr feedback

* add integration test

* close state tracker cleanup on context.Done

* fixup test

* rename state tracker

* set EvaluationDuration on Result

* default labels set as constants

* separate cache and state from manager

* use RWMutex in cache
2021-04-23 21:32:25 +02:00
David Parrott ca79206498 Alerting: Handle NoData and Error evaluation results (#33194)
* set processing time

* merge labels and set on response

* use state cache for adding alerts to rules

* minor cleanup

* add support for NoData and Error results

* rename test

* bring in changes from other PRs tha have been merged

* pr feedback

* add integration test

* close state tracker cleanup on context.Done

* fixup test

* not those annotations
2021-04-23 20:47:52 +02:00
Leon Sorokin 948cba199b GraphNG: don't scan data for min/max when both hard limits are pre-configured (#33295) 2021-04-23 11:35:28 -05:00
Kyle Brandt 5e818146de Alerting/Expr: New SSE Request/QueryType, alerting move data source UID (#33282) 2021-04-23 16:52:32 +02:00
Ganesh Vernekar 659ea20c3c NGAlert: Run the maintenance cycle for the silences (#33301)
Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
2021-04-23 16:19:03 +02:00
Giordano Ricci ec1c85acca Grafana-UI: replace react-color with react-colorful (#33267)
* Grafana-UI: replace react-color with react-colorful

* Throttle onChange from SpectrumPalette
2021-04-23 16:03:48 +02:00
Dominik Prokop d76c056656 Revert "LegendIcon: only render color picker when the props change (#33141)" (#33313)
This reverts commit af46bbf654.
2021-04-23 15:50:34 +02:00
Vardan Torosyan bf83fb80b7 Access control: Combine permissions through predefined roles (#33275)
* Access control: Combine permissions through predefined roles

When certain permission is required for built-in role, instead of adding those permissions to the existing predefined roles, we need to have granular predefined roles with those permissions.

* Better copy...

* Adding and fixing tests

* Remove duplicated permission
2021-04-23 15:44:42 +02:00
Ganesh Vernekar d66a5e65a4 AlertingNG: Add webhook notification channel (#33229)
Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
2021-04-23 18:59:28 +05:30
Domas 67f6611d85 Alerting: receivers table in the receivers page (#33119) 2021-04-23 15:54:31 +03:00
Torkel Ödegaard e6a9654d0e Checkbox: Updates to look and feel and using new theme (#33310)
* Checkbox: Updates to look and feel and using new theme

* A few more theme fixes

* Removed comments

* Updated snapshot
2021-04-23 14:40:06 +02:00
Torkel Ödegaard b6cfb65e40 Annotations: More fixes to the angular annotation editors (#33303)
* Annotations: Fixed angular editor issues

* More angular annotation fixes

* removed console.log
2021-04-23 14:06:30 +02:00
Uchechukwu Obasi 37f7b91a6b updated component to use new theme model (#33302) 2021-04-23 11:08:52 +01:00
Vicky Lee 99a04ed612 add support for expandable error message (#33189) 2021-04-23 10:37:47 +01:00
Uchechukwu Obasi 3bae330286 updated component to use new theme model (#33305) 2021-04-23 10:26:29 +01:00
Arve Knudsen 6e2739a43a HTMLIndexView: Include missing script nonce (#33300)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-04-23 10:09:19 +02:00
Ivana Huckova c32c682f81 Loki: Refactor query editor so query field can be used independently (#33276)
* Refactor Loki so LokiQueryField can be used independently

* Refactor PromQueryEditor
2021-04-23 10:08:23 +02:00
Jack Westbrook c809d63065 Buttons: replace usage of .btn classnames (#33226)
* refactor(loginpage): migrate custom button styles to use Button component

* refactor(certificationkey): prefer grafana-ui form elements over html elements and classnames

* refactor(axisselector): prefer grafana-ui Button component over html button element

* refactor(input-datasource): replace use of btn class with grafana-ui components

* chore(grafana-ui): delete deprecated ToggleButtonGroup component

* refactor: replace btn and cta-form__close class usage with IconButton

* chore(closebutton): post master merge use v2 theme

* refactor(permissionlist): remove usage of .btn classname

* Wip

* docs(styling): update styling and theme docs import paths

* refactor(alerting): remote btn classnames from TestRuleResult

* refactor(apikeys): prefer grafana-ui Button components over btn classNames

* refactor(folders): prefer grafana-ui Button components over btn classNames

* refactor(teams): prefer grafana-ui Button components over btn classNames

* refactor(datasources): prefer grafana-ui Button components over btn classNames

* refactor: prefer grafana-ui Button components over btn classNames

* Minor style tweak to service buttons

* test: update snapshots related to button changes

* chore(input-datasource): remove unused import declaration

* refactor(loginservicebuttons): rename theme.palette to theme.colors

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-04-23 10:06:42 +02:00
Ivana Huckova 6034bf37c6 Fix showing of Loki query editor in Annotations (#33279) 2021-04-23 09:48:35 +02:00
Zoltán Bedi 340942267c Tempo: Add cheat sheet to query editor (#33272) 2021-04-23 09:23:33 +02:00
Ryan McKinley 7499efeef8 Icons: fix iconRoot url (#33243) 2021-04-23 09:06:19 +02:00
Domas cf64adf156 Alerting: hide private labels, collapse query json by default (#33284) 2021-04-23 09:22:41 +03:00
Ryan McKinley 7627b55ef4 TSDB: add deprecation comments to many tsdb structs (#33281) 2021-04-23 03:03:11 +02:00
David Parrott aa5bdff97d Call server.Shutdown() as go routine (#33288)
server.Shutdown() blocks trying to write to s.shutdownFinished in some cases when using a test Grafana instance for a series of integration tests. 

See https://github.com/grafana/grafana/blob/master/pkg/server/server.go#L222-L224
2021-04-22 13:23:08 -07:00
achatterjee-grafana 463520c03c Updated label for add panel. (#33285) 2021-04-22 14:21:55 -04:00
Ganesh Vernekar a0e567f80f AlertingNG: Add Dingding notification channel (#32995)
Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
2021-04-22 19:30:49 +02:00
Ganesh Vernekar 4ec1edfca3 AlertingNG: Add Teams notification channel (#32979)
Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
2021-04-22 18:16:26 +02:00
Ganesh Vernekar c9cd7ea701 AlertingNG: Add Telegram notification channel (#32795)
Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
2021-04-22 17:24:59 +02:00
Ganesh Vernekar 0a03d5c29e AlertingNG: Correctly set StartsAt, EndsAt, UpdatedAt after alert reception (#33109)
Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
2021-04-22 20:42:18 +05:30
Ryan McKinley e7fd30be17 PanelEdit: update configRev on close (#33240) 2021-04-22 07:23:51 -07:00
Ganesh Vernekar 3056f86f76 AlertingNG: Fix TODOs in email notification channel (#33169)
* AlertingNG: Fix TODOs in email notification channel

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>

* Test fixup

* Remove the receiver field it is not needed for the email notification

Co-authored-by: Josue Abreu <josue@grafana.com>
2021-04-22 10:01:55 -04:00
Arve Knudsen 6408b55a7c Slack: Use chat.postMessage API by default (#32511)
* Slack: Use only chat.postMessage API

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Slack: Check for response error

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Slack: Support custom webhook URL

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Simplify

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Rewrite tests to use stdlib

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/services/alerting/notifiers/slack.go

Co-authored-by: Dimitris Sotirakis <sotirakis.dim@gmail.com>

* Clarify URL field name

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix linting issue

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix test

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix up new Slack notifier

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Improve tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix lint

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Slack: Make token not required

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Alerting: Send validation errors back to client

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Document how token is required

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Make recipient required when using Slack API

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix field description

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

Co-authored-by: Dimitris Sotirakis <sotirakis.dim@gmail.com>
2021-04-22 16:00:21 +02:00
Uchechukwu Obasi 9774a429b9 creates Themeable v2 type (#33268) 2021-04-22 15:45:35 +02:00
Alexander Zobnin 0e020a40a5 Access control: Fix invite endpoint permissions (#33262) 2021-04-22 16:15:57 +03:00
Ganesh Vernekar 6cc7a20789 NGAlert: Remove all pending references to the old API package (#33269)
Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
2021-04-22 18:36:32 +05:30
Erik Sundell 743b77771f fix dimension name (#33271) 2021-04-22 15:02:40 +02:00
kay delaney 57e9b11fda DashboardQueryRunner: Add dataSupport to PanelModel & PanelPlugin (#33253)
* DashboardQueryRunner: Add dataSupport to PanelModel & PanelPlugin
Relates to #32834
2021-04-22 11:56:32 +01:00
Alexander Zobnin dd9f701cd9 Access control: Fix predefined roles (#33260) 2021-04-22 12:49:24 +02:00
Torkel Ödegaard 36aeb9b9a1 PanelChrome: Restore previous panel chrome story (#33258)
* PanelChrome: Restore previous panel chrome story

* Update story name
2021-04-22 12:24:48 +02:00
Alexander Zobnin a7e721e987 Access control: Make Admin/Users UI working with the permissions (#33176)
* API: authorize admin/users views

* Render admin/users components based on user's permissions

* Add LDAP permissions (required by admin/user page)

* Extend default admin role by LDAP permissions

* Show/hide LDAP debug views

* Render LDAP debug page if user has access

* Authorize LDAP debug view

* fix permissions definitions

* Add LDAP page permissions

* remove ambiguous permissions check

* Hide logout buttons in sessions table

* Add org/users permissions

* Use org permissions for managing user roles in orgs

* Apply permissions to org/users

* Apply suggestions from review

* Fix tests

* remove scopes from the frontend

* Tweaks according to review

* Handle /invites endpoints
2021-04-22 13:19:41 +03:00
Arve Knudsen 66020b419c NGAlert: Consolidate on standard errors package (#33249)
* NGAlert: Don't use pkg/errors

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/services/ngalert/notifier/alertmanager.go

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

* Fix logging

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2021-04-22 11:18:25 +02:00
Torkel Ödegaard 0027097772 Overlays: Style tweaks to modal & drawer overlays (#33251)
* Overlays: Style tweaks to modal & drawer overlays

* style fix
2021-04-22 10:57:10 +02:00
Roman 561fd4162e Azure Monitor: Add support for Microsoft.SignalRService/SignalR metrics (#33246)
* Add Microsoft.SignalRService/SignalR to supported namespaces.

For Azure Monitor.

* Add missing comma.
2021-04-22 09:32:42 +02:00
Torkel Ödegaard 44cf2f8efe Theme: Update theme layering (#33217)
* Theme: Update theme layering

* More updates

* Updates to shadows and dropdowns

* Moved panel option group to emotion global styles

* more minor fixes
2021-04-22 09:18:32 +02:00
Dimitris Sotirakis 6acb99afde Bug: Add git to Dockerfile.ubuntu (#33247)
* Add git to Dockerfile.ubuntu

* Use apt-get

* Add quiet flag

* Update Dockerfile.ubuntu

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-04-22 09:11:29 +02:00
Gábor Farkas 7ff6665ac2 Alerting: InfluxDB: InfluxQL: convert backend-code to use dataframes (#32950)
* alerting: influxdb: refactor unit-tests

* alerting: influxdb: converted code from timeseries-mode to dataframe-mode

* influxdb: simplify code

* influxdb: better function name

* influxdb: alerting: more tests

* influxdb: alerting: more tests

* influxdb: refactor

* influxdb: improved unit-test

* influxdb: simplified code

* influxdb: refactor reponse-parser code

* influxdb: refactor unit tests

* influxdb: alerting: use nicer names

Co-authored-by: dsotirakis <sotirakis.dim@gmail.com>
2021-04-22 08:43:17 +02:00
Diana Payton 8ea1470893 Docs: Update getting-started-influxdb.md (#33234)
* Update getting-started-influxdb.md

* Merge branch 'master' into oddlittlebird-patch-6
2021-04-21 13:08:34 -07:00
Sofia Papagiannaki b2288f7ef9 [Alerting]: Add alerting endpoint for Query Evaluation (#33174)
* [Alerting]: Add alerting endpoint for Query Evaluation

* Fix passing down now parameter

* Add validations and test

* Fix eval queries and expressions test

* Add eval tests
2021-04-21 22:44:50 +03:00
Leon Sorokin ed3f5e6ca3 Build: drop TS checking from yarn build (#33235) 2021-04-21 14:40:51 -05:00
Carrie Crowe d97e1b685b Minor Changes in Auditing.md (#31435)
* Improved glossary

* Minor Changes Test

Co-authored-by: achatterjee-grafana <aparajita.chatterjee@grafana.com>
2021-04-21 15:37:15 -04:00
Tania B 711cf47b41 Docs: Add license check endpoint doc (#32987)
* Docs: Add license check endpoint doc

* Change request example

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>

* Change response example

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
Co-authored-by: achatterjee-grafana <aparajita.chatterjee@grafana.com>
2021-04-21 15:31:38 -04:00
gotjosh de0802cf3b Alerting: Fixes the integration test currently failing at master (#33233)
* Alerting: Fixes the integration test currently failing at master

* Skip the state tracker test for now
2021-04-21 14:57:17 -04:00
David Parrott 4be1d84f23 Alerting: Enhancements to /rules (#33085)
* set processing time

* merge labels and set on response

* use state cache for adding alerts to rules

* minor cleanup

* pr feedback

* Do not initialize mutex unnecessarily

Co-authored-by: Ganesh Vernekar <15064823+codesome@users.noreply.github.com>

* linter

Co-authored-by: Ganesh Vernekar <15064823+codesome@users.noreply.github.com>
2021-04-21 09:30:03 -07:00
ying-jeanne 7480d9e2be Doc: Document the X-Grafana-Org-Id HTTP header (#32478)
* Doc: Document the X-Grafana-Org-Id HTTP header

* Update docs/sources/http_api/auth.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* update the auth.md with X-Grafana-Org-Id

* remove empty line

* Update docs/sources/http_api/auth.md

* Update docs/sources/http_api/auth.md

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2021-04-21 18:24:56 +02:00
Uchechukwu Obasi 438b403acc Migrates old Card sass file to GlobalStyles (#33183)
* Card: migrates styles from sass to emotion

* removed LayoutSelector component since it's not used in the codebase

* updates card styles with new color name
2021-04-21 16:39:56 +02:00
Sofia Papagiannaki 87a70af7eb [Alerting]: Fix updating rule group and add tests (#33074)
* [Alerting]: Fix updating rule group and add test

* Fix updating rule labels
* Set default values for rule no data and error states
if they are missing
* Add test for updating rule

* Test updating annotations

* Apply suggestions from code review

Co-authored-by: gotjosh <josue@grafana.com>

* add test for posting an unknown rule UID

* Fix alert rule validation and add tests

* Remove org id from PostableGrafanaRule

This field was not used; each rule gets the organisation of the user making
the rerquest

* Update pkg/tests/api/alerting/api_alertmanager_test.go

Co-authored-by: gotjosh <josue@grafana.com>
2021-04-21 17:22:58 +03:00
Torkel Ödegaard b929822d72 Theme: Renames theme.palette to theme.colors (#33214)
* Theme: Rename theme.palette to theme.colors

* renaming files
2021-04-21 15:34:08 +02:00
Will Browne c37a3bebb7 Plugins: Serve static assets directly instead of through middleware handler (#32779)
* removed static routes from macaron

* move path src to plugins pkg

* use plugin details

* remove dead code

* fixes

* use clean from std lib

* reformat imports

* remove caching headers + add security checks

* revert using no cache header middleware

* add cache-control headers

* add 404 check

* use new var for subsequent file handling
2021-04-21 15:17:23 +02:00
Torkel Ödegaard 7e2bf4f6c3 Theming: Make new theme exposed by ThemeContext and make new theme include v1 for compatability (to pass to useTheme) (#33207)
* WIP: Making new theme the default

* Progress

* Updates, lots of updates

* Things are working

* Fixed issues with storybook

* Fixed tests
2021-04-21 14:25:43 +02:00
Peter Holmberg 569fb3f112 Alerting: adding query editor when creating threshold rule. (#33123)
* fix viz

* add datasource picker on query rows in mixed mode

* add timerange, handle add/remove queryrunners

* multiqueryrunner test

* trying things out.

* adding another test to verify running a induvidual query runner will update multirunner.

* cleaned up tests a bit.

* draft version working ok.

* fixing so we base the refId from request targets.

* reenable adding expression

* layout fixes for alerting page

* some cleanup

* cleaning up code that we won't use

* changed so we don't display the time range if params not passed.

* remove unused things in querygroup

* changed button to type button.

* removed timerange from dataQuery and removed multiquery runner.

* minor refactoring.

* renamed callback function to make it more clear what it does.

* renamed droppable area.

* changed so we only display the query editor when selecting threshold.

* removed the refresh picker.

* revert

* wip

* extending with data query.

* timerange fixes

* it is now possible to add grafana queries.

* removed unused type.

* removed expect import.

* added docs.

* moved range converting methods to rangeUtil.

* clean up some typings, remove file

* making sure we don't blow up on component being unmounted.

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2021-04-21 13:57:17 +02:00
gamab a151dfaa04 ProvisioningService: Change the ProvisioningService interface for easier extension (#32910)
* Made a public constructor in order to instantiate it from the service override

* Removed unused plugins.DataRequestHandler

* Added a Run and RunInitProvisioners methods that can be run from Enterprise

* Adding a mock for Run and RunInitProvisioners as well
2021-04-21 13:41:34 +02:00
Uchechukwu Obasi 63e2977837 DashboardPanel: migrates styling from sass to emotion (#33115)
* DashboardPanel: migrates styling from sass to emotion

* fixes frontend test

* removed the theme since it doesn't have any use case in the styles

* updates frontend snapshot test
2021-04-21 12:24:44 +01:00
Marcus Efraimsson dd0ba96d7c Postgres: Fix time group macro when TimescaleDB is enabled and interval is less than a second (#33153)
Fixing a special case with time group macro when 
using TimescaleDB and interval is lower than a second.

Fixes #33124
2021-04-21 12:54:49 +02:00
gotjosh 23c7e7ab60 Alerting: Various fixes for the alerts endpoint (#33182)
A set of fixes for the GET alert and groups endpoints.

- First, is the fact that the default values where not being for the query params. I've introduced a new method in the Grafana context that allow us to do this.
- Second, is the fact that alerts were never being transitioned to active. To my surprise this is actually done by the inhibitor in the pipeline - if an alert is not muted, or inhibited then it's active.
- Third, I have added an integration test to cover for regressions.

Signed-off-by: Josue Abreu <josue@grafana.com>
2021-04-21 06:34:42 -04:00
Ivana Huckova 1c838f5872 Explore: Add more meta information when line limit is hit (#33069)
* WIP: Add more info ro log line limit, remove redundant info

* Refactor

* Clean up

* Adjust tests

* Adjust spacing

* Add test for new functionality

* Update snapshot

* Change solution, simplify

* Remove redundant variables, makees it more clear

* Update public/app/core/logs_model.ts

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2021-04-21 12:02:34 +02:00
Josh Hunt 0463164f8c Grafana-UI: Type onEditorDidMount (#33178) 2021-04-21 11:16:54 +02:00
Dafydd 0dcd0281ab Chore: avoid hard-coding IDs in integration tests (#33152)
* use dynamic user Ids in test

* use dynamic IDs in alert tests

* use dynamic IDs in dashboard test queries

* use dynamic IDs in org test queries
2021-04-21 11:22:46 +03:00
dependabot[bot] 2cd6c0565b Chore(deps): Bump react-dev-utils from 10.2.1 to 11.0.4 (#31932)
Bumps [react-dev-utils](https://github.com/facebook/create-react-app/tree/HEAD/packages/react-dev-utils) from 10.2.1 to 11.0.4.
- [Release notes](https://github.com/facebook/create-react-app/releases)
- [Changelog](https://github.com/facebook/create-react-app/blob/master/CHANGELOG-1.x.md)
- [Commits](https://github.com/facebook/create-react-app/commits/HEAD/packages/react-dev-utils)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-21 10:07:42 +02:00
Torkel Ödegaard dc6d134276 Storybook: Fixes theming of the padded story (that makes stories use primary background by default) (#33166) 2021-04-21 09:45:12 +02:00
kay delaney bad048b7ba Performance: Standardize lodash imports to use destructured members (#33040)
* Performance: Standardize lodash imports to use destructured members
Changes lodash imports of the form `import x from 'lodash/x'` to
`import { x } from 'lodash'` to reduce bundle size.

* Remove unnecessary _ import from Graph component

* Enforce lodash import style

* Fix remaining lodash imports
2021-04-21 09:38:00 +02:00
Torkel Ödegaard 2bb7eb18d1 PanelEdit: Fixes showIf for panel level options, fixes configRev when switching panels (#33173) 2021-04-20 21:22:58 +02:00
Ryan McKinley af46bbf654 LegendIcon: only render color picker when the props change (#33141) 2021-04-20 20:28:47 +02:00
Ryan McKinley 18bbbaf53e TestData: support boolean and strings in CSV metric response (#33099) 2021-04-20 11:17:06 -07:00
Nicholas Auger fa620c1c38 cla.md formatting update to match cla-assistant (#33188)
@RichiH
2021-04-20 19:56:12 +02:00
Robby Milo 9ef7770631 update cla (#33180)
Co-authored-by: kyle <kyle@grafana.com>
2021-04-20 19:16:34 +02:00
Owen Diehl e065e19583 Fix/ngalert generation (#33172)
* fixes pkg names & alerting openapi generation

* cleans up api generation, uses docker & removes python
2021-04-20 13:12:32 -04:00
Torkel Ödegaard 8db3eb90ae Re-license Grafana to AGPLv3 (#33184)
For a rationale as to why this was done, please see

* https://grafana.com/blog/2021/04/20/grafana-loki-tempo-relicensing-to-agplv3/
* https://grafana.com/blog/2021/04/20/qa-with-our-ceo-on-relicensing/

Signed-off-by: Richard Hartmann <richih@richih.org>
Signed-off-by: Torkel Ödegaard <torkel@grafana.com>
Signed-off-by: Carl Bergquist <carl.bergquist@gmail.com>
Signed-off-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2021-04-20 19:03:30 +02:00
Diana Payton c986aaa0a8 Docs: InfluxDB doc improvements (#32815)
* Create getting-started-influxdb.md

* Update getting-started-prometheus.md

* Update getting-started-sql.md

* data source edits

* single source intro

* Create first-step.md

* Update influxdb.md

* Update getting-started-influxdb.md

* Update influxdb.md

* break up long file

* Update influxdb-templates.md

* more updates

* Update _index.md

* Update _index.md

* Update getting-started-sql.md

* Update _index.md

* edits

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

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>

* Delete influxdb.md

* Update getting-started-influxdb.md

* Update influx-flux.md

* Update _index.md

* Update getting-started-influxdb.md

* Update getting-started-influxdb.md

* content

* content changes

* Update _index.md

* link fixes

* Update getting-started-influxdb.md

* Update getting-started-influxdb.md

* Merge branch 'master' into docs-influxdb

* updated port

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
2021-04-20 09:33:44 -07:00
Torkel Ödegaard 6bbcd43b4c Switch: Another design update (#33170) 2021-04-20 17:10:05 +02:00
Dimitris Sotirakis d3e510e92f Chore: Remove Revive standalone linter - use it via golangci-lint (#33150)
* Remove Revive standalone linter - use it via golangci-lint

* Add revive settings to ignore lint errors for now

* Small fix

* Update to grabpl v0.5.53

* Remove errorCode and warningCode from config
2021-04-20 16:51:08 +02:00
Marcus Efraimsson caa420f92f Chore: Improve request distributed tracing middleware (#33033)
Before these changes the request tracing was added for each route 
registered using the routing.RouteRegister, see code. This had the 
consequence that middleware executed earlier/later in the request 
pipeline was not part of the request tracing middleware life-cycle 
which measures the duration of requests among other things.
In the logger middleware we do extract the current distributed trace 
identifier, if available, and set that on request info/error log messages.
With these changes we can extract the current distributed trace identifier, 
if available, and set that on the contextual HTTP request logger 
(models.ReqContext.Logger) which would improve the possibility to correlate 
all HTTP request log messages with traces.
In addition, the request tracing middleware is now executed first and last in 
the request pipeline and should therefore result in more accurate timing 
measurements (request duration).

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-04-20 15:22:22 +02:00
Hugo Häggmark 527b7bd756 Theme: Theme toggle is only persisted for signed in users (#33163) 2021-04-20 15:15:56 +02:00
Hugo Häggmark 888667abbc Table: Fixes so border is visible for cells with links (#33160) 2021-04-20 15:06:29 +02:00
Gábor Farkas 72db1bb2e9 fix: regenerate auto-generated css file (#33161) 2021-04-20 14:57:09 +02:00
Zoltán Bedi a220e5dac2 OpenTSDB: Fix showing error on query (#32421) 2021-04-20 14:10:05 +02:00
Oscar Kilhed bc2d90f140 Fix lint issue in cortex ruler test (#33158) 2021-04-20 14:03:58 +02:00
Piotr Jamróz e017de4f06 Fix inefficient regular expression (#33155) 2021-04-20 13:21:57 +02:00
Ryan McKinley dff78561bc PanelData: include structure revision info and only apply overrides once (#33098)
* calculate schemaRevision in panel query runner

* schema > structureRev

* calculate revision after apply field overrides

* this.state

* don't apply field overrides if the shape is already the same

* check schema revision

* update snapshots
2021-04-20 11:05:50 +02:00
Dimitris Sotirakis b3ce655b67 Remove field limitation from slack notification (#33113) 2021-04-20 12:01:05 +03:00
Nicolai Hemdrup 04781bfcc6 Theme: Update to dark blues (#33148)
darkBluePrimary = less purple and bit more aligned with the theme
darkBlueSecondary (text) = bit less saturated, meaning a bit brighter.
2021-04-20 10:48:55 +02:00
Torkel Ödegaard c67737905e RadioButton: fixes height of radio button after recent design changes (#33147) 2021-04-20 10:47:56 +02:00
Uchechukwu Obasi bebc48c1f6 ToolTip: refactors story from knobs to control (#33130) 2021-04-20 10:23:59 +02:00
Hugo Häggmark 025b671146 Dashboard: Unsaved changes warning shown for anyone that can save (#33145)
* Dashboard: Unsaved changes warning shown for anyone that can save

* Refactor: changes the order in function
2021-04-20 09:55:46 +02:00
Jack Westbrook c2953f3a06 PieChart: Unify tooltip to look the way it looks in TimeSeries (#33032)
* feat(piechart): align styles between piechart and graph

* feat(piechart): introduce tooltip options to panel and visualisation

* feat(piechart): get tooltip options working

* feat(piechart): add SeriesTable to visx TooltipInPortal

* refactor(piechart): move getTooltipData out of PieSlice

* docs(piechart): fix storybook story errors

* feat(viztooltip): initial commit of common tooltip types and components

* refactor(viztooltip): rename type as enum and update usage

* refactor(viztooltip): move chart.tooltip into viztooltip and fix imports and typings

* refactor(viztooltip): update import paths and names where used

* docs(infotooltip): fix story import paths

* docs(piechart): fix typings in story

* docs(viztooltip): add public annotations to exported components and types
2021-04-20 09:45:41 +02:00
Ryan McKinley 5f54f2dc00 GraphNG: flip logic so we can explicitly say the field types to keep (#33140) 2021-04-19 17:45:10 -07:00
Kevin Minehart 534614063a add cache config tab to datasource settings (#33036) 2021-04-19 16:18:47 -05:00
dependabot[bot] 0a3e7dea62 Bump github.com/centrifugal/centrifuge from 0.16.0 to 0.17.0 (#33117) 2021-04-19 12:09:10 -07:00
Owen Diehl e37a780e14 Inhouse alerting api (#33129)
* init

* autogens AM route

* POST dashboards/db spec

* POST alert-notifications spec

* fix description

* re inits vendor, updates grafana to master

* go mod updates

* alerting routes

* renames to receivers

* prometheus endpoints

* align config endpoint with cortex, include templates

* Change grafana receiver type

* Update receivers.go

* rename struct to stop swagger thrashing

* add rules API

* index html

* standalone swagger ui html page

* Update README.md

* Expose GrafanaManagedAlert properties

* Some fixes

- /api/v1/rules/{Namespace} should return a map
- update ExtendedUpsertAlertDefinitionCommand properties

* am alerts routes

* rename prom swagger section for clarity, remove example endpoints

* Add missing json and yaml tags

* folder perms

* make folders POST again

* fix grafana receiver type

* rename fodler->namespace for perms

* make ruler json again

* PR fixes

* silences

* fix Ok -> Ack

* Add id to POST /api/v1/silences (#9)

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>

* Add POST /api/v1/alerts (#10)

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>

* fix silences

* Add testing endpoints

* removes grpc replace directives

* [wip] starts validation

* pkg cleanup

* go mod tidy

* ignores vendor dir

* Change response type for Cortex/Loki alerts

* receiver unmarshaling tests

* ability to split routes between AM & Grafana

* api marshaling & validation

* begins work on routing lib

* [hack] ignores embedded field in generation

* path specific datasource for alerting

* align endpoint names with cloud

* single route per Alerting config

* removes unused routing pkg

* regens spec

* adds datasource param to ruler/prom route paths

* Modifications for supporting migration

* Apply suggestions from code review

* hack for cleaning circular refs in swagger definition

* generates files

* minor fixes for prom endpoints

* decorate prom apis with required: true where applicable

* Revert "generates files"

This reverts commit ef7e975584.

* removes server autogen

* Update imported structs from ngalert

* Fix listing rules response

* Update github.com/prometheus/common dependency

* Update get silence response

* Update get silences response

* adds ruler validation & backend switching

* Fix GET /alertmanager/{DatasourceId}/config/api/v1/alerts response

* Distinct gettable and postable grafana receivers

* Remove permissions routes

* Latest JSON specs

* Fix testing routes

* inline yaml annotation on apirulenode

* yaml test & yamlv3 + comments

* Fix yaml annotations for embedded type

* Rename DatasourceId path parameter

* Implement Backend.String()

* backend zero value is a real backend

* exports DiscoveryBase

* Fix GO initialisms

* Silences: Use PostableSilence as the base struct for creating silences

* Use type alias instead of struct embedding

* More fixes to alertmanager silencing routes

* post and spec JSONs

* Split rule config to postable/gettable

* Fix empty POST /silences payload

Recreating the generated JSON specs fixes the issue
without further modifications

* better yaml unmarshaling for nested yaml docs in cortex-am configs

* regens spec

* re-adds config.receivers

* omitempty to align with prometheus API behavior

* Prefix routes with /api

* Update Alertmanager models

* Make adjustments to follow the Alertmanager API

* ruler: add for and annotations to grafana alert (#45)

* Modify testing API routes

* Fix grafana rule for field type

* Move PostableUserConfig validation to this library

* Fix PostableUserConfig YAML encoding/decoding

* Use common fields for grafana and lotex rules

* Add namespace id in GettableGrafanaRule

* Apply suggestions from code review

* fixup

* more changes

* Apply suggestions from code review

* aligns structure pre merge

* fix new imports & tests

* updates tooling readme

* goimports

* lint

* more linting!!

* revive lint

Co-authored-by: Sofia Papagiannaki <papagian@gmail.com>
Co-authored-by: Domas <domasx2@gmail.com>
Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>
Co-authored-by: Ganesh Vernekar <15064823+codesome@users.noreply.github.com>
Co-authored-by: gotjosh <josue@grafana.com>
Co-authored-by: David Parrott <stomp.box.yo@gmail.com>
Co-authored-by: Kyle Brandt <kyle@grafana.com>
2021-04-19 14:26:04 -04:00
Diana Payton 6238a7c4c4 Docs: Update pie-chart-panel.md (#33132) 2021-04-19 11:16:08 -07:00
Marcus Efraimsson 747f3cd300 Auth: Don't clear auth token cookie when lookup token fails (#32999)
If LookupToken fails we don't clear the auth token cookie.

Ref #15316
2021-04-19 19:46:25 +02:00
Alexander Emelin 3e3a0a1ea1 bump jaeger-client-go to v2.27.0 (#33134) 2021-04-19 20:38:14 +03:00
Ryan McKinley f93b05f506 PanelEdit: only update when config changes (#33133) 2021-04-19 19:24:39 +02:00
Alexander Emelin d807fbc9e9 Live: Telegraf input modifiers (#32982) 2021-04-19 18:48:43 +03:00
Uchechukwu Obasi f92b6518c5 ValuePicker: refactors story from knobs to control (#33122)
* ValuePicker: refactors story from knobs to control

* fixes wrong type issue
2021-04-19 15:45:28 +01:00
Andrej Ocenas 13cb34bbca Plugins: Support es5 plugins extending LanguageProvider (#33127) 2021-04-19 16:37:27 +02:00
Giordano Ricci 875fa37d10 Elasticsearch: Add documentation for supported Elasticsearch query transformations (#33072)
* Elasticsearch:  Add documentation for supported Elasticsearch query transformation

* Update docs/sources/datasources/elasticsearch.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Remove beta notives for ES logs

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-04-19 15:18:50 +01:00
Hugo Häggmark 9bb1484dc5 ConfirmModal: Migrates to React with new theme (#33107)
* ConfirmModal: Migrates to React

* Refactor: migrates to v2 styles

* Chore: updates after PR comments
2021-04-19 14:30:18 +02:00
dependabot[bot] 33621e6f9b Bump github.com/uber/jaeger-client-go from 2.25.0+incompatible to 2.26.0+incompatible (#33106)
* Bump github.com/uber/jaeger-client-go

Bumps [github.com/uber/jaeger-client-go](https://github.com/uber/jaeger-client-go) from 2.25.0+incompatible to 2.26.0+incompatible.
- [Release notes](https://github.com/uber/jaeger-client-go/releases)
- [Changelog](https://github.com/jaegertracing/jaeger-client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/uber/jaeger-client-go/compare/v2.25.0...v2.26.0)

Signed-off-by: dependabot[bot] <support@github.com>

* Fix go.sum

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-04-19 12:33:31 +02:00
Domas 60b469f836 Alerting: receivers page + template list (#33112) 2021-04-19 13:02:58 +03:00
Domas 382cab6406 Alerting: misc fixes (#33070) 2021-04-19 12:53:02 +03:00
Alexander Zobnin 41f6af96c4 Access control: Build navigation links with access control (#33024)
* Build nav links with access control

* Break up getNavTree (reduce cyclomatic complexity)

* Fix tests

* Use only ActionUsersRead permissions

* Remove unused permissions definitions

* Chore: remove unused fallbacks

* Fix linter error
2021-04-19 12:23:29 +03:00
Arve Knudsen 381e4a51cd SQL data sources: Fix configuration UI (#33110)
* fix frontend mssql/postgres

* fix frontend

Co-authored-by: Ying WANG <ying.wang@grafana.com>
2021-04-19 10:30:29 +02:00
Ryan McKinley 0c64d88d64 Live: support legacy stream paths (#33101) 2021-04-19 00:47:14 -07:00
Torkel Ödegaard 76034ad1cb Annotations: Fixing recursive angular watch loop (#33090) 2021-04-19 09:35:43 +02:00
dependabot[bot] 58380368af Bump github.com/mattn/go-sqlite3 from 1.14.6 to 1.14.7 (#33104)
Bumps [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3) from 1.14.6 to 1.14.7.
- [Release notes](https://github.com/mattn/go-sqlite3/releases)
- [Commits](https://github.com/mattn/go-sqlite3/compare/v1.14.6...v1.14.7)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-19 09:26:51 +02:00
Ryan McKinley 98789e7ed9 MatcherUI: show field name even when not found in results (#33102) 2021-04-19 09:02:58 +02:00
Ganesh Vernekar 6271777ec6 AlertingNG: Remove the receivers field from postable alerts (#33068)
* AlertingNG: Remove the receivers field from postable alerts and update tests

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>

* Fix review comments

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
2021-04-19 12:28:44 +05:30
Torkel Ödegaard d62601e664 Theme: Variable name changes & progress (#33088)
* Theme variable renames

* Fixed variable issue issue

* Fixed test

* fixed story

* More tweaks

* Updated snapshot
2021-04-17 19:17:18 +02:00
Torkel Ödegaard c46f992bfb Theme: More theme updates (#33076)
* Theme: More theme updates

* Updated so Switch design

* increase limit
2021-04-17 07:13:25 +02:00
Alexander Emelin 7d5a46ffda Live: RunStream improvements – backoff, better layout, tests (#33029) 2021-04-17 01:17:08 +03:00
Per 1ed724ea6e Update team.md (#33060)
Missing start { in http response.

Co-authored-by: achatterjee-grafana <aparajita.chatterjee@grafana.com>
2021-04-16 16:39:38 -04:00
achatterjee-grafana 79a4a86ee2 GE issue 1268 (#33049)
* Updated sentence format.

* Added new placeholder page for Enterprise License information, added links also adjusted weights.

* Created new folder license and moved 4 files to here.

* Added aliases.

* link fixes and such

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2021-04-16 12:47:07 -04:00
achatterjee-grafana 8edeae416e Fixed some formatting issues for PRs from yesterday. (#33078) 2021-04-16 12:35:49 -04:00
Robby Milo 882e074ff6 update docs commands (#33062) 2021-04-16 11:29:06 -04:00
Piotr Jamróz dd095642e2 Prometheus: Use fuzzy string matching to autocomplete metric names and label (#32207)
* Fuzzy search prototype

* Aggregate filter and sorting functions for auto-complete suggestions

* Add a test for fuzzy search

* Simplify setting fuzzy search information

* Rename SimpleHighlighter

* Test PartialHighlighter

* Add PartialHighlighter snapshot

* Simplify PartialHighlighter

* Revert env change

* Clean up the code

* Add fuzzy search for labels

* Bring back backwards compatiblity

* Expose search function type only

* Update docs

* Covert snapshot test to assertions

* Fix docs

* Fix language provider test

* Add a test for autocomplete logic

* Clean up

* Mock Editor functions

* Add fuzzy search to Prometheus labels

* Add docs about backwards compatibility

* Simplify main fuzzy search loop
2021-04-16 17:06:33 +02:00
Kyle Brandt 2c862678ab AlertingNG/SSE: Datasource UID and UID/ID only (drop name) (#33039)
SSE still will support ID until dashboard/frontend always requests UID
update *.http examples

Co-authored-by: gotjosh <josue@grafana.com>
2021-04-16 15:29:19 +02:00
Torkel Ödegaard 5d1ec39224 RadioButton: Fixed line-height 2021-04-16 15:23:12 +02:00
Torkel Ödegaard 733bb45172 Button/Link Focus: Use focus-visible for keyboard focus (#33066)
* outside react approach

* fixed ts issues and updated radio button

* css only solution

* Removed a bit

* Updated radio button design and fixed focus state on ToolbarButton

* Fixes

* Added missing fullWidth
2021-04-16 15:22:31 +02:00
David Parrott 555da77527 Dparrott/labels on alert rule (#33057)
* move state tracker tests to /tests

* set default labels on alerts

* handle empty labels in result.Instance

* create annotation on transition to alerting state
2021-04-16 15:11:40 +02:00
Alexander Zobnin 8b843eb0a6 Access control: expose permissions to the frontend (#32954)
* Expose user permissions to the frontend

* Do not include empty scope

* Extend ContextSrv with hasPermission() method

* Add access control types

* Fix type error (make permissions optional)

* Fallback if access control disabled

* Move UserPermission to types

* Simplify hasPermission()
2021-04-16 16:02:16 +03:00
Piotr Jamróz 6ae73eaa22 Fix SCSS for dark (#33071) 2021-04-16 14:13:21 +02:00
gotjosh 362c4d4276 Alerting: Integration test rule creation (#33047)
* Alerting: Integration test rule creation

* Appease the linter

* Cleanup

* Make anonymous user role a parameter
2021-04-16 08:00:07 -04:00
Domas 0491fe0a5c Alerting: separate namespace & group inputs for system alerts (#33026) 2021-04-16 14:57:33 +03:00
Arve Knudsen dbe2f1871f Chore: Sync go.mod and go.sum (#33065)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-04-16 13:41:17 +02:00
Uchechukwu Obasi 41b704716f VizLayout: refactored story from knobs to controls (#33043)
* VizLayout: refactored storys from knobs to controls

* abstracted the array logic to a separate function
2021-04-16 10:13:24 +01:00
Domas 19c6a02f49 Alerting: alert list state view (#33020) 2021-04-16 12:08:08 +03:00
Domas 826d82fe95 Alerting: editing existing rules via UI (#33005) 2021-04-16 11:08:26 +03:00
Uchechukwu Obasi cb6fe5e65b Pagination: refactored story from knobs to controls (#33045) 2021-04-16 09:05:23 +01:00
Torkel Ödegaard 66485b3e70 Theme: V8 Theme updates (#33050)
* GraphNG: Use new theme props

* Minor fix to letterspacing in button

* Minor tweaks

* Updated

* Revert to roboto

* Added concept of a dark or white base

* Style updates

* Sass

* Updated light text blue

* updates

* reverting button group design

* Fixed tests

* updates

* Updated tests
2021-04-16 09:48:52 +02:00
Piotr Jamróz da03175d0b Explore: Load default data source in Explore when the provided source does not exist (#32992)
* Fallback to default data source in Explore and use uid for history

uid is used to allow changing the name of the datasource and preserve history

* Remove redundant console logs
2021-04-16 08:32:33 +02:00
Diana Payton db29a8a8de Docs: Replace next with latest in aliases (#33054) 2021-04-15 23:08:58 +02:00
achatterjee-grafana cf6d3fb8fb Added missing link item. (#33052) 2021-04-15 16:56:29 -04:00
David Parrott 2276e9556a Alerting: set query in rules response (#33010)
* set query in rules response

* Theme: tweaking dark theme colors (#33007)

* Library Panels: Add library panel tab to share modal (#32953)

* Explore: Scroll split panes in Explore independently (#32978)

* Change default prometheus to latest and prometheus v1 to prometheus1

* Update README

* Remove prometheus1 block as not used

* Explore: Separatae scrolling in split view

* Update snapshot

* Allow skip migrations in tests via environment variable (#32958)

* Dashboard: Fix issue where Slack notifications won't link to users (#32861)

* DashboardPage: refactored styles from sass to emotion (#32955)

* DashboardPage: refactored styles from sass to emotion

* refactored dashboardPage component to be alot easier to read and understand

* more refactoring...

* more cleaning...

* fixes frontend test

* fixes frontend test- I hope

* fixes frontend test- I hope

* moves dashboard scss styles back to it's standalone file

* GraphNG: use theme font family and size for axis labels (#33009)

* GraphNG: use theme font family and size for axis labels

* fix test

* AlertingNG: Slack notification channel (#32675)

* AlertingNG: Slack notification channel

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>

* Add tests

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>

* Fix review comments

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>

* Fix review comments and small refactoring

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>

* GraphNG: stacking (#30749)

* First iteration

* Dev dash

* Re-use StackingMode type

* Fix ts and api issues

* Stacking work resurected

* Fix overrides

* Correct values in tooltip and updated test dashboard

* Update dev dashboard

* Apply correct bands for stacking

* Merge fix

* Update snapshot

* Revert go.sum

* Handle null values correctyl and make filleBelowTo and stacking mutual exclusive

* Snapshots update

* Graph->Time series stacking migration

* Review comments

* Indicate overrides in StandardEditorContext

* Change stacking UI editor, migrate stacking to object option

* Small refactor, fix for hiding series and dev dashboard

* VizLegend: sets a min and max value of the seriesCount control in Storybook (#33022)

* Alerting: Filter rules list (#32818)

* Chore: Reduces strict errors (#33012)

* Chore: reduces strict error in OptionPicker tests

* Chore: reduces strict errors in FormDropdownCtrl

* Chore: reduces has no initializer and is not definitely assigned in the constructor errors

* Chore: reduces has no initializer and is not definitely assigned in the constructor errors

* Chore: lowers strict count limit

* Tests: updates snapshots

* Tests: updates snapshots

* Chore: updates after PR comments

* Refactor: removes throw and changes signature for DashboardSrv.getCurrent

* [Alerting]: Several modifications in alert rules (#32983)

* [Alerting]: Use common properties for all rules

* Add Labels in rules

* Fix update ruleGroup API

Return 400 Bad Request response
when the request contains a UID that does not exist

* Check permissions and return namespace id

* Apply suggestions from code review

Co-authored-by: gotjosh <josue@grafana.com>

* WIP (#33025)

* Chore: Bump strict error count limit (#33035)

* set query in rules response

Co-authored-by: Torkel Ödegaard <torkel@grafana.org>
Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
Co-authored-by: Dafydd <72009875+dafydd-t@users.noreply.github.com>
Co-authored-by: n-wbrown <n-wbrown@users.noreply.github.com>
Co-authored-by: Uchechukwu Obasi <obasiuche62@gmail.com>
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
Co-authored-by: Ganesh Vernekar <15064823+codesome@users.noreply.github.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Nathan Rodman <nathanrodman@gmail.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>
Co-authored-by: gotjosh <josue@grafana.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2021-04-15 22:23:16 +02:00
achatterjee-grafana 57091e3d62 Fix for doc issue https://github.com/grafana/grafana/issues/32890 (#33034)
* Added new section "Implications of enabling `Anonymous` access to dashboards".

* Linked from Anonymous authentication section in "Grafana Auth".

* Update docs/sources/administration/security.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/auth/grafana.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Fixed formatting issues.

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2021-04-15 11:39:41 -04:00
Marcus Efraimsson 442d3df29c Chore: Bump strict error count limit (#33035) 2021-04-15 16:21:33 +02:00
Ivana Huckova 4f7728738e WIP (#33025) 2021-04-15 15:06:26 +02:00
Sofia Papagiannaki 6bbb2fd4ba [Alerting]: Several modifications in alert rules (#32983)
* [Alerting]: Use common properties for all rules

* Add Labels in rules

* Fix update ruleGroup API

Return 400 Bad Request response
when the request contains a UID that does not exist

* Check permissions and return namespace id

* Apply suggestions from code review

Co-authored-by: gotjosh <josue@grafana.com>
2021-04-15 15:54:37 +03:00
Hugo Häggmark 34b4f7c717 Chore: Reduces strict errors (#33012)
* Chore: reduces strict error in OptionPicker tests

* Chore: reduces strict errors in FormDropdownCtrl

* Chore: reduces has no initializer and is not definitely assigned in the constructor errors

* Chore: reduces has no initializer and is not definitely assigned in the constructor errors

* Chore: lowers strict count limit

* Tests: updates snapshots

* Tests: updates snapshots

* Chore: updates after PR comments

* Refactor: removes throw and changes signature for DashboardSrv.getCurrent
2021-04-15 14:21:06 +02:00
Nathan Rodman 345d9f93fe Alerting: Filter rules list (#32818) 2021-04-15 14:53:40 +03:00
Uchechukwu Obasi ffe90b7abf VizLegend: sets a min and max value of the seriesCount control in Storybook (#33022) 2021-04-15 13:51:00 +02:00
Dominik Prokop 0cc620aea7 GraphNG: stacking (#30749)
* First iteration

* Dev dash

* Re-use StackingMode type

* Fix ts and api issues

* Stacking work resurected

* Fix overrides

* Correct values in tooltip and updated test dashboard

* Update dev dashboard

* Apply correct bands for stacking

* Merge fix

* Update snapshot

* Revert go.sum

* Handle null values correctyl and make filleBelowTo and stacking mutual exclusive

* Snapshots update

* Graph->Time series stacking migration

* Review comments

* Indicate overrides in StandardEditorContext

* Change stacking UI editor, migrate stacking to object option

* Small refactor, fix for hiding series and dev dashboard
2021-04-15 13:00:01 +02:00
Ganesh Vernekar 04a8d5407e AlertingNG: Slack notification channel (#32675)
* AlertingNG: Slack notification channel

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>

* Add tests

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>

* Fix review comments

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>

* Fix review comments and small refactoring

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
2021-04-15 16:01:41 +05:30
Leon Sorokin aeb64ecb16 GraphNG: use theme font family and size for axis labels (#33009)
* GraphNG: use theme font family and size for axis labels

* fix test
2021-04-15 12:27:28 +02:00
Uchechukwu Obasi 99b85d8af3 DashboardPage: refactored styles from sass to emotion (#32955)
* DashboardPage: refactored styles from sass to emotion

* refactored dashboardPage component to be alot easier to read and understand

* more refactoring...

* more cleaning...

* fixes frontend test

* fixes frontend test- I hope

* fixes frontend test- I hope

* moves dashboard scss styles back to it's standalone file
2021-04-15 11:21:36 +01:00
n-wbrown d0ad2931fa Dashboard: Fix issue where Slack notifications won't link to users (#32861) 2021-04-15 13:17:57 +03:00
Dafydd 01150ae962 Allow skip migrations in tests via environment variable (#32958) 2021-04-15 11:32:49 +02:00
Ivana Huckova 501d5fbcc2 Explore: Scroll split panes in Explore independently (#32978)
* Change default prometheus to latest and prometheus v1 to prometheus1

* Update README

* Remove prometheus1 block as not used

* Explore: Separatae scrolling in split view

* Update snapshot
2021-04-15 10:44:25 +02:00
kay delaney 2ca4f3ecae Library Panels: Add library panel tab to share modal (#32953) 2021-04-15 08:29:34 +01:00
Torkel Ödegaard 3c1e7a5f05 Theme: tweaking dark theme colors (#33007) 2021-04-15 08:45:19 +02:00
Torkel Ödegaard bcd0958849 Theme: Updated font to Inter, updates typography, a start of moving legacy & global styles from sass to emotion (#32988)
* Testing inter font

* new fonts and global styles

* Added Typography component and storybook

* Moving more global legacy types to emotion global styles

* Updated snapshot

* mapp bold to 500

* Updates

* Fixes and moved html & body styles to emotion

* moved helper function down

* Updated snapshot

* More tweaks

* Updates

* added internal tag

* Updated snapshot
2021-04-14 21:49:38 +02:00
Kristian Klausen 4fc0d42470 OAuth: Add optional strict parsing of role_attribute_path (#28021)
* OAuth: Add strict role mapping

By default the user is assigned the role Viewer if role_attribute_path
doesn't return a role, which is not always desirable. This commit adds a
strict mode, which deny the user access if a role isn't returned.

Fix #26626

* Update docs/sources/auth/generic-oauth.md

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>

* Update docs/sources/auth/generic-oauth.md

* Update .gitignore file with WAN

* Removed WAN from .gitignore

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: achatterjee-grafana <aparajita.chatterjee@grafana.com>
2021-04-14 15:14:27 -04:00
Andrej Ocenas 68f38aa49b Chore: Bump version in latest.json to 7.5.4 (#33003) 2021-04-14 20:14:04 +02:00
Leon Sorokin 3fe9347e28 Live: centrifuge.js 2.7.5 (#33001) 2021-04-14 12:59:42 -05:00
Sofia Papagiannaki 624fbf5dda [Alerting]: Fix empty rules evaluation statuses (#32997)
* [Alerting]: Fix empty rules evaluation statuses

`GetRuleGroupAlertRules()` requires an non empty namespaceUID

* Include the namespace into the response
2021-04-14 17:49:26 +00:00
Owen Diehl dadccdda06 Allows posting to prom rules endpoints via ds_proxy (#32946)
* allows posting to prom rules endpoints via ds_proxy

* prom proxy routes via plugin and fix proxy route matching bug

* bump ci
2021-04-14 13:06:20 -04:00
Diana Payton b3ac63dad7 Docs: Replace links with relrefs (#32916)
* Update configuration.md

* Update set-up-for-high-availability.md

* Update glossary.md

* Update glossary.md

* Update cloudwatch.md

* Update add-authentication-for-data-source-plugins.md

* Update add-support-for-explore-queries.md

* fix links

* fix links

* Update license-expiration.md

* Update license-restrictions.md

* Update _index.md

* Update trace-integration.md

* Update admin.md

* Update graph-time-series-as-bars.md

* Update graph-time-series-as-bars.md

* Update graph-time-series-as-lines.md

* Update graph-time-series-as-points.md

* Update release-notes-7-3-0.md

* fix links

* fix links
2021-04-14 08:13:18 -07:00
Grot (@grafanabot) a516ff00db ReleaseNotes: Updated changelog and release notes for 7.5.4 (#32973)
* ReleaseNotes: Updated changelog and release notes for 7.5.4

* Update index link

* Fix boldness

* Update CHANGELOG.md

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>

* Update CHANGELOG.md

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>

* Update codespell words

* Update docs/sources/release-notes/release-notes-7-5-4.md

* Update CHANGELOG.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/release-notes/release-notes-7-5-4.md

* Change bold markers

* Fix escaping

* Update drone yaml

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-04-14 17:10:19 +02:00
Giordano Ricci 136460d369 Elasticsearch: Force re-rendering of each editor row type change (#32993) 2021-04-14 15:57:29 +01:00
Erik Sundell dac9393061 CloudMonitoring: Use response unit instead of metric descriptor unit (#32928)
* improve unit detection

* Update docs/sources/datasources/google-cloud-monitoring/_index.md

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>

* goimports

* fix typo

* golint fixes

* Update docs/sources/datasources/google-cloud-monitoring/_index.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/datasources/google-cloud-monitoring/_index.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/datasources/google-cloud-monitoring/_index.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/datasources/google-cloud-monitoring/_index.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/datasources/google-cloud-monitoring/_index.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* pr feedback

* Update docs/sources/datasources/google-cloud-monitoring/_index.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-04-14 16:41:02 +02:00
Vardan Torosyan 9f82eac833 Access control: Add access control based permissions to admins/users (#32409)
Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2021-04-14 16:31:27 +02:00
Giordano Ricci cdb4785496 Elasticsearch: Allow omitting field when metric supports inline script (#32839)
* Elasticsearch: Allow omitting field when metric supports inline script

* Add tests for MetricEditor to show a None option

* Add tests for useFields hook

* Alerting: allow elasticsearch metrics without field
2021-04-14 15:18:06 +01:00
Alex Khomenko 4b801be98c Silcense warning message for row (#32985) 2021-04-14 16:48:53 +03:00
Domas 282c62d8bf Alerting: Rule edit form (#32877) 2021-04-14 15:57:36 +03:00
Ivana Huckova 727a24c1bb Clean up of not used datasources (#32937) 2021-04-14 13:23:59 +02:00
Conor Evans 0f467d05cf fix interval label (#32857)
Signed-off-by: Conor Evans <coevans@tcd.ie>

Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2021-04-14 13:19:18 +02:00
Dominik Prokop 024b6b5779 Utils: Global debugger utils (#32951)
* Global debugger utils

* Update packages/grafana-ui/src/utils/debug.ts

Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>

* Update packages/grafana-ui/src/utils/debug.ts

Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>

* Update packages/grafana-ui/src/components/uPlot/utils.ts

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

* Update packages/grafana-ui/src/utils/debug.ts

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

* fix merge suggestion

* Typos

Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.org>
2021-04-14 12:58:56 +02:00
Dimitris Sotirakis 52243d859b Fix alert frequency check (#32974) 2021-04-14 11:47:30 +02:00
Tania B 3b6117a268 Docs: Update license exiration description (#32948) 2021-04-14 12:37:48 +03:00
Sofia Papagiannaki 8848d825e0 [Alerting]: Use title instead of slug for retrieving the namespace (#32957)
* [Alerting]: Use title instead of slug for retrieving the namespace

* Apply suggestions from code review

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-04-14 12:02:50 +03:00
Jack Westbrook b0470c84a5 fix(datasource_srv): prevent infinite loop where default datasource is named default (#32949) 2021-04-14 09:38:53 +02:00
Diana Payton f97c056965 API and Inspector UI text edits (#32459)
* Update ApiKeysAddedModal.tsx

* Update ApiKeysForm.tsx

* API text edits

* Update QueryInspector.tsx
2021-04-14 09:11:55 +02:00
Villena Guillaume e533e5fe2a AsyncSegment: Allow custom "no options" messages (#32674)
* Added support for custom user function for mapping custom noOptions messages

* Added new scenario in SegmentAsync.story.tsx

Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2021-04-14 08:15:15 +02:00
David Parrott 567a6a09bd Alerting: Return RuleResponse for api/prometheus/grafana/api/v1/rules (#32919)
* Return RuleResponse for api/prometheus/grafana/api/v1/rules

* change TODO to note

Co-authored-by: gotjosh <josue@grafana.com>

* pr feedback

* test fixup

Co-authored-by: gotjosh <josue@grafana.com>
2021-04-13 17:38:09 -04:00
Diana Payton 50ab6155ff Update documentation-style-guide.md (#32959) 2021-04-13 21:40:28 +02:00
Torkel Ödegaard 2808f4b034 Tab: Fixed font-weight for active tab 2021-04-13 21:32:02 +02:00
Diana Payton f1fe991178 Docs: Add 7.5 What's New links (#31711)
* Update whats-new-in-v7-5.md

* Update azuremonitor.md

* Update whats-new-in-v7-5.md

* Update postgres.md
2021-04-13 20:35:17 +02:00
Torkel Ödegaard 99a6cfc0c6 Theming: Updates Tabs design to v8 theme desing, adds new gradients from theme (#32956)
* Theming: Updates Tabs design to v8 theme desing, adds new gradients from theme

* fixing link color
2021-04-13 20:33:10 +02:00
Hart Simha 1177c0c8ae Docs: Improve doc note about configuration from brew (#32659)
* Improve doc note about configuration from brew

When installed from homebrew, custom.ini isn't read. Instead, the
grafana.ini file used by the brew service[1] will need to be edited
directly.

[1] https://github.com/Homebrew/homebrew-core/blob/9520636eb9fc9d434b533645ef1c96eebd2cc43c/Formula/grafana.rb#L54

* Update docs/sources/administration/configuration.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: achatterjee-grafana <aparajita.chatterjee@grafana.com>
2021-04-13 20:19:06 +02:00
Sofia Papagiannaki e7ff04a167 [Alerting]: Implement test rule API route (#32837)
* [Alerting]: Implement test rule API route

* Apply suggestions from code review

* Call /query instead of /query_range
2021-04-13 20:58:34 +03:00
Giordano Ricci 15978900a9 Elasticsearch: Allow setting a custom limit for log queries (#32422) 2021-04-13 17:39:07 +01:00
Torkel Ödegaard b0c6cad637 Theme: Updates Alert design and licence warning hook (#32930)
* Theme: Updates Alert design and licence warning hook

* Updated snapshot

* Updated design

* Updated
2021-04-13 18:00:55 +02:00
kay delaney 12ceff407b AnnoListPanel: Fix 'Within Time Range' option (#32439) 2021-04-13 16:55:55 +01:00
kay delaney 8a1431b472 Library panels: Add convert/unlink options to panel menu (#32908)
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2021-04-13 16:55:31 +01:00
Alexander Emelin e288cd0836 fix sqlite3 tx retry condition operator precedence (#32897) 2021-04-13 18:26:54 +03:00
Cristian C 7b7ea5a1ce Provisioning: Use dashboard checksum field as change indicator (#29797)
* Add tests for checksum validation

Check dashboard checksum for provisioned dashboards

Remove extra error

Remove extra error

Ignore mtime when checking privisioned dashboards; Fix tests

Fix linting errors

* Fix tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Clean up tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-04-13 17:02:25 +02:00
Josh Hunt a7d18bbc89 AzureMonitor: Add support for Virtual WAN namespaces (#32935)
* AzureMonitor: Add support for additional Microsoft.Network namespaces

* Update supported_namespaces.ts

* Update supported_namespaces.ts
2021-04-13 15:24:58 +01:00
Matt Abrams 92e394c0c8 Docs: fix "How To Deploy Grafana to K8s" documentation yaml file (#32918)
* removes storageClassName from PVC config

* adds securityContext to `spec.template.spec`
solves permissions errors for /var/lib/grafana mountPath

* bumps grafana image to v7.5.2

* adds livenessProbe to spec.template.spec.containers

* tweaks container resources and volume name

Co-authored-by: achatterjee-grafana <aparajita.chatterjee@grafana.com>
2021-04-13 10:03:15 -04:00
Josh Hunt d2bdb4ed41 AzureMonitor: Convert Logs to React (#32315)
* Convert Logs to React

* copy changes

* fix effect deps

* tests for logs

* remove any from test

* Update QueryEditor.tsx
2021-04-13 15:29:32 +02:00
Alexander Zobnin 7ea58f9cf5 Access Control: Move database-related models to enterprise (#32907)
* Move database-related models to enterprise

* Chore: use GetUserBuiltInRoles() method

* Rename permission to action
2021-04-13 16:28:11 +03:00
Jack Westbrook bd74953f0d Plugins: Allow a non-dashboard page to be the default home page (#32926)
* feat: introduce home page redirect if default dashboard

* style: clean up

* Apply suggestions from code review

Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>

* chore(dashboard): remove obsolete setting import

* docs(config): add home_page description

Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
2021-04-13 15:27:51 +02:00
Gábor Farkas 31a6d12d34 devenv: influxdb data sources and blocks cleanup (#32894)
* devenv: influxdb cleanup

* devenv: influxdb: auto-delete now-unused gdev-data-sources
2021-04-13 15:13:50 +02:00
Ivana Huckova a0c38e243c Prometheus: Update devenv block without a version to the latest version (#32847)
* Change default prometheus to latest and prometheus v1 to prometheus1

* Update README

* Remove prometheus1 block as not used
2021-04-13 15:12:48 +02:00
Hugo Häggmark 4f3b3b12be LibraryPanels: Adds warning when changing to/between library panels (#32892)
* LibraryPanels: Adds warning when changing to/between library panels

* Refactor: using ConfirmModal instead

* Chore: updates after PR review
2021-04-13 15:07:25 +02:00
Hugo Häggmark 4fab30a120 LibraryPanels: Adds back library panel information to panel edit (#32923)
* LibraryPanels: Adds back library panel information to panel edit

* Chore: fixes merge issue
2021-04-13 14:05:35 +02:00
gotjosh 528ca9134b Alerting: Use a default configuration and periodically poll for new ones (#32851)
* Alerting: Use a default configuration and periodically poll for new ones

Use a default configuration to make sure we always start the grafana
instance. Then, regularly poll for new ones.

I've also made sure that failures to apply configuration do not stop the
Grafana server but instead keep polling until it is a success.
2021-04-13 13:02:44 +01:00
Jack Westbrook 4178ebc0a1 Annotations: Fixes issues loading angular annotation query editors and updating annotation query model (#32903)
* style(dashboardsettings): disable eslint react hooks exhaustive deps warning

* Unrelated fix

* Fix annotation angular loading issues

* Fixing update issue

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-04-13 13:16:56 +02:00
Marcus Andersson 4b7bb418da Docs: fix export issue to prevent docs generation from failing. (#32929)
* fixing docs generation issue.

* jsdoc fixes

* raised limit

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-04-13 13:07:40 +02:00
deesejohn 45051ad2c1 Added Azure Monitor support for Microsoft.AppConfiguration/configurationStores namespace (#32123)
Closes #28733
2021-04-13 10:59:02 +01:00
Torkel Ödegaard d90af6c6ff PanelEditor: Fixes issue with unmount of option editor components (#32900) 2021-04-13 08:46:07 +02:00
Diana Payton 183a89b576 Update pie-chart-panel.md (#32914) 2021-04-12 21:14:55 +02:00
Diana Payton 0478f70901 Update pie-chart-panel.md (#32915) 2021-04-12 21:14:32 +02:00
Torkel Ödegaard 00ecd37778 Theme: V8 theme updates to text colors and buttons (#32905)
* Theme text colors

* Theme text colors

* More theme tweaks

* reduce input disabled border

* More updates
2021-04-12 19:44:43 +02:00
Ivana Huckova 0a56527ed9 Inspector: Download logs for manual processing (#32764)
* Add download logs functionality

* Refactor InspectDataTab to be smaller

* Add test

* Remove console log

* Add metedata info

* Add metedata info
2021-04-12 18:21:05 +02:00
Marcus Andersson 5ce25509a1 PanelChrome: adding support for displaying error messages. (#32748)
* adding support to display panel error.

* adding error indicator.

* renaming back to left.

* fixing docs error issues.

* adding release tag.
2021-04-12 16:50:49 +02:00
Dimitris Sotirakis 258578766b Alerting: Add checks for non supported units - disable defaulting to seconds (#32477)
* Add error handling for unknown units

* Fix test cases

* Add case for empty string

* Changed tests from convey to testify

* Fix lints

* Move regex vars

* Add regex as ng-patterns on alert_tab.html

* Update public/app/features/alerting/partials/alert_tab.html

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>

* Update public/app/features/alerting/partials/alert_tab.html

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>

* Make zero and empty string not throw errors

* Updated validation error comments

* Frequency should allow zero or empty strings

* use checkFrequency instead of ng-pattern

checkFrequency is not triggered if ng-pattern is defined.

* Extract getForValue func - add tests

* Fix linting

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2021-04-12 15:53:51 +03:00
Oscar Kilhed 1ed73ecef8 Makes pie chart component accept data frames (#32829)
* Makes pie chart component accept dataframes
2021-04-12 14:45:12 +02:00
Torkel Ödegaard 629603dd92 Theming: Updates to select styles and theme model progress (#32797)
* Theming: Updates to select styles and theme model progress

* Progress

* Update menu

* Updated menu group

* Improving button styles

* Added transitions to theme

* solving the hover & selected, focus issues

* Updated snapshot

* adding some colors from figma, but waiting to use them as not enough components use new layer colors

* Updates

* Updates

* Progress

* Renames

* Improvements to theme overview

* updated test

* demo update

* More new theme colors

* Wip new card styles

* Card tweaks hover is not working

* Updates more colors from figma

* Progress

* Progress

* Updated radio button styles

* Progress on new colors

* Progress

* New page toolbar and toolbar button design

* New toolbar button design

* Reverted to older toolbar and button look

* Updated snapshot

* Updated generated files

* Updated design

* Updates

* Added card hover

* Fixed button group

* Updates
2021-04-12 14:23:00 +02:00
Uchechukwu Obasi 44b6c896ae VizLegend: updates story from knobs to controls (#32801)
* VizLegend: updates story from knobs to controls

* refactored story to be small and concise

* reverted stories to be WithValues and WithNoValues

* fixes the seriesCount control not having effects to the story by using the Effect hook
2021-04-12 12:18:23 +01:00
Jack Westbrook 5efffba234 Grafana-UI: Fix Storybook Docs prop tables reporting "Args unsupported" in custom MDX (#32889)
* fix(grafana-ui): pass params so storybook mdx has access to component args

* chore(grafana-ui): bump storybook to 6.2.7
2021-04-12 13:08:59 +02:00
dependabot[bot] 0c72f50c68 Chore(deps): Bump google.golang.org/api from 0.42.0 to 0.44.0 (#32879)
Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.42.0 to 0.44.0.
- [Release notes](https://github.com/googleapis/google-api-go-client/releases)
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/master/CHANGES.md)
- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.42.0...v0.44.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-12 13:05:35 +02:00
dependabot[bot] dfbb11e094 Chore(deps): Bump github.com/aws/aws-sdk-go from 1.38.12 to 1.38.17 (#32880)
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.38.12 to 1.38.17.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.38.12...v1.38.17)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-12 13:03:04 +02:00
Dominik Prokop b47fba4b68 v8: remove Singlestat panel and add automatic migration to stat/gauge(#31904)
* Remove singlestat panel from the codebase

* Automatically migrate deprecated panels

* Migrate singlestat to stat when initializing panel

* Singlestat -> gauge detection

* Missing await

* Throw error when panel plugin not found and allow new panels to take names of the deprecated ones

* Make it pretty

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-04-12 12:47:17 +02:00
Uchechukwu Obasi a6fcd37a20 List: updates story from knobs to controls (#32832) 2021-04-12 11:57:01 +02:00
Uchechukwu Obasi 48853be682 Modal: updates story from knobs to control (#32840) 2021-04-12 10:08:36 +01:00
Sofia Papagiannaki 54689f2739 [Alerting]: Fix YAML encoding/decoding issues when proxying lotex requests (#32854)
* [Alerting]: Fix GET lotex rule group config

* [Alerting]: Fix POST lotex user config
2021-04-12 12:04:37 +03:00
dependabot[bot] f247526d6a Chore(deps): Bump google.golang.org/grpc from 1.36.1 to 1.37.0 (#32878)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.36.1 to 1.37.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.36.1...v1.37.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-12 11:29:59 +03:00
dependabot[bot] d96e82d5e4 Chore(deps): Bump github.com/benbjohnson/clock from 1.0.3 to 1.1.0 (#32882)
Bumps [github.com/benbjohnson/clock](https://github.com/benbjohnson/clock) from 1.0.3 to 1.1.0.
- [Release notes](https://github.com/benbjohnson/clock/releases)
- [Commits](https://github.com/benbjohnson/clock/compare/v1.0.3...v1.1.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-12 09:56:09 +02:00
Torkel Ödegaard 9873809547 Docs: Sync master docs against next version (#32602)
Co-authored-by: Robby Milo <robbymilo@gmail.com>
2021-04-12 09:42:10 +02:00
Torkel Ödegaard 7b23ed728f DashboardSettings: Migrates annotations list & edit view from angular to react and new forms styles (#31950)
* Initial commit, list and edit page working

* Progress

* angular and standard editors work

* Unifying more between annotations list and links list

* Remove submenu visibilty stuff

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

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Review feedback

* fixed checkbox

* Fixes

* test(annotationsettings): initial commit of tests

* delete files brought back by master merge

* update datasourcepicker import path

* update emotion import

* test(linksettings): clean up tests

* Fixed test

* test(annotationssettings): add remaining tests

* docs(grafana-data): export namespace for docs build

* docs(grafana-ui): export ColorValueEditorProps for docs build

* docs(grafana-ui): add docs annotation for ColorValueEditorProps

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2021-04-12 09:41:07 +02:00
Hugo Häggmark 7d07599dc1 LibraryPanels: Adds initial section and Page to Dashboard submenu (#32876)
* LibraryPanels: Adds initial section and Page to Dashboard submenu

* Refactor: adds perPage as prop

* Chore: renames OrgActionBar

* Chore: updates after PR comments

* Chore: updates snapshot
2021-04-12 09:30:29 +02:00
Leon Sorokin 0c71fdac3d GraphNG: uPlot 1.6.8 (#32859) 2021-04-09 18:27:14 -05:00
Piotr Jamróz d8967b1d60 Graphite: Handle unknown Graphite functions without breaking the visual editor (#32635) 2021-04-09 23:21:53 +02:00
Ryan McKinley b96e45299d Live: support streaming results out-of-the-box (#32821) 2021-04-09 21:17:22 +02:00
Kyle Brandt 2d7e980da7 testData: (backend) restore null/nan in predicatable scenarios (#32855) 2021-04-09 14:23:51 -04:00
Alexander Emelin d9602a5e60 live: cleanups and tests (#32827) 2021-04-09 21:06:25 +03:00
Leon Sorokin 0c96cbeef0 Icons: expand static cache to include all internally used icons (#32822) 2021-04-09 11:22:58 -05:00
Jennifer Villa fd4713f4f8 Adding a sentence to the index to point people towards the "activate … (#32730)
* Adding a sentence to the index to point people towards the "activate license" page if they want to complete installation of their Grafana Enterprise installation. Also made a minor change to the two sentences before to make them more consistent.

* Made Ursula's copy changes.

* Apply suggestions from code review

Fixed relref and made copy change suggested by Jita.

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2021-04-09 11:21:15 -04:00
Kyle Brandt 80dfa83380 AlertingNG: Add For+Annotations to Grafana_Alert (#32793)
* add db columns
* Fix deserialisation issue of AlertRule For field (#32848)
* Update to latest alerting-api

Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>
2021-04-09 16:50:04 +02:00
Piotr Jamróz fa45fc1833 Graphite: Display an error message when finding metrics fails (#32639)
* Display an error when finding metrics fails

* Update public/app/plugins/datasource/graphite/query_ctrl.ts

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

* Make the level of the log message more accurate

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2021-04-09 16:36:08 +02:00
castillo92 7749724194 Update time-range-controls.md (#31935)
* Update time-range-controls.md

Adding more examples of relative time instructions, it could hep to newbie people to understand it.

* Apply suggestions from code review

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2021-04-09 10:27:38 -04:00
achatterjee-grafana 458681c424 Removed references to dev env. Added reference to Uche's blog about using WSL on Windows. (#32813) 2021-04-09 09:10:42 -04:00
Peter Holmberg 31a8413fd3 SSE: Add Classic conditions editor (#32256)
* moving expressions to components

* move expression type change to util

* rename gel to expressions

* add clasic condition component

* fix types

* incremental checkin

* button styling

* add range inputs

* some logic fixes and layout

* fix remove condition

* hide input if has no value

* typing fix
2021-04-09 14:46:24 +02:00
Gábor Farkas 13371493ae devenv: influxdb2: updated to 2.0.4, fixed config (#32809) 2021-04-09 13:56:19 +02:00
Dimitris Sotirakis b867ceda9b Generic OAuth: Prevent adding duplicated users (#32286)
* Add special check for generic oauth case

* Converted from Convey to testify

* Fix according to reviewer's comments

* More changes according to reviewer's comments

* Handle error if user is not found

* Move generic oauth test from user_test.go to user_auth_test.go

* Update pkg/services/sqlstore/user_auth_test.go

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>

* Created genericOAuthModule const

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2021-04-09 13:28:35 +02:00
Domas e6a98ce1e4 Alerting: bootstrap silences page (#32810) 2021-04-09 13:44:26 +03:00
gotjosh c9e5088e8b Alerting: Cleanup and move legacy to a legacy file (#32803)
* Alerting: Cleanup and move legacy to a legacy file

A quick cleanup of the ngalert/api directory, optimising for an easy
removal of what is will be considered legacy at some point. A quick
summary of what's done is:

- Add a prefix `generated` prefix to files that are auto-generated by
  our swagger definitions.
- Create a legacy file to place all the legacy API routes implementation
  and helpers. Deleting files that where no longer needed after this
move.
- Rename the `lotex` file to `lotex_ruler`
- Adding a couple of comments here and there.

With this, I hope to organise our code in this directory a bit better
given there's a lot going on.
2021-04-09 05:55:41 -04:00
Arve Knudsen 51e4106d1d API: Fix paths starting with double leading slash or slash and backslash (#32830)
* API: Fix paths starting with double leading slash or slash and backslash

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-04-09 11:49:38 +02:00
Domas 7c3a528d35 fix url query parser treating empty string as a number (#32825) 2021-04-09 11:23:08 +03:00
Harold Dost 9efaa2c13f Fix style guide: web server (#32817) 2021-04-09 01:02:00 +02:00
Diana Payton ba6da3d614 Docs: Single source getting started step (#32812)
* single sourcing

* Update getting-started-sql.md
2021-04-08 21:44:31 +02:00
Alexander Emelin a92bcce9de Live: push scope to demultiplex incoming data to stream channels (#32808) 2021-04-08 12:40:06 -07:00
Torkel Ödegaard 8f8cad9b83 Packages: Tyring to fix missing css prop issue caused by emotion (#32806) 2021-04-08 19:49:43 +02:00
Ganesh Vernekar e3a1d3d158 AlertingNG: PagerDuty notification channel (#32604)
* AlertingNG: PagerDuty notification channel

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>

* Add tests

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>

* Fix lint

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>

* Fix reviews

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
2021-04-08 19:21:09 +02:00
Ganesh Vernekar b1c84c795f AlertingNG: Add a global registry for notification channels (#32781)
Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
2021-04-08 22:01:23 +05:30
Marcus Olsson f345459441 Docs: Document plugin authentication in metadata schema (#32703)
* Update plugin schema

* Fix review comments
2021-04-08 18:13:18 +02:00
Zoltán Bedi 7a2ab93e7a Prometheus: Allow exemplars endpoint in data source proxy (#32802) 2021-04-08 18:10:59 +02:00
Dominik Prokop deccc97985 DataLinks: Ensure window origin to be stripped from url when using absolute urls (#32634)
* Ensure window origin to be stripped from url when using absolute urls

* Update test

* Make sure link interception works for external links

* Apply suggestions from code review

* Review
2021-04-08 17:38:56 +02:00
Diana Payton d6c824fe18 Docs: Update release-notes-7-5-3.md (#32760) 2021-04-08 08:04:58 -07:00
Uchechukwu Obasi 62ddf5b7b4 Layout: updates story from knobs to control (#32761)
* Layout: updates story from knobs to control

* exported default as meta

* removes unnecessary prop and disables knobs
2021-04-08 14:42:31 +01:00
Arve Knudsen 7032ecce2a Server: Disambiguate redirects to server relative paths (#32788)
* Server: Disambiguate redirects to server relative paths

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-04-08 15:05:42 +02:00
Josh Hunt 21879410ab Grafana-UI: allow pass through of monaco options (#32763) 2021-04-08 14:02:00 +01:00
dependabot[bot] e9a27ca2ec Chore(deps): Bump gonum.org/v1/gonum from 0.8.2 to 0.9.1 (#32568)
Bumps gonum.org/v1/gonum from 0.8.2 to 0.9.1.

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-08 15:47:19 +03:00
Vicky Lee 59a33d98ec DataSourceSettings: use details from HealthCheckResult (#32759)
* add custom HealthCheckError

* allow details from HealthCheckResult to be passed in the error

* pass in details.message from testing status into Alert component

* add chance

* add aria label to read only message

* update tests and add error message tests

* extract HealthCheckResultDetails type out and add comment

* extract TestingStatus interface out

* remove chance from test

* remove chance
2021-04-08 13:32:12 +01:00
gotjosh fe67680c42 Alerting: Allow querying of Alerts from notifications (#32614)
* Alerting: Allow querying of Alerts from notifications

* Wire everything up

* Remove unused functions

* Remove duplicate line
2021-04-08 07:27:59 -04:00
Torkel Ödegaard 2f3ef69b30 Buttons: Refactor & use new theme (#32767)
* WIP button styles refactoring

* Starting to work

* Tweak form disabled color

* Emotion performance tests

* More benchmarks

* added classnames prop

* Button class names refactor test

* revert to old style generation

* Wrapping up

* Updates

* Updated tests
2021-04-08 13:00:58 +02:00
Domas 33a4cfde51 Alerting: temporarily add old ng routes (#32770) 2021-04-08 12:52:43 +03:00
sam boyer bba4d9bd7f Introduce "scuemata" system for CUE-based specification of Grafana objects (#32527) 2021-04-08 01:11:11 -07:00
Ryan McKinley 7351645d63 Toolkit: catch errors in version output (#32774) 2021-04-08 09:28:46 +02:00
Owen Diehl 8b8fc293b7 safer, more idiomatic proxy helper (#32732)
Co-authored-by: Sofia Papagiannaki <sofia@grafana.com>
2021-04-07 15:36:50 -04:00
Torkel Ödegaard 4527f712e0 Themes: V8 Theme model (#32342)
* Updated

* Progress

* Progress

* Added spacings

* Updated rich color to be more descriptibe

* Added more to getRichColor to showcase how it would work

* Added more to getRichColor to showcase how it would work

* Updated

* Started on storybook

* Rename to palette

* Storybook progress

* Minor update

* Progress

* Progress

* removed unused import

* Updated

* Progress

* Added typography to new theme model

* Added shadows and zindex to new theme

* Updated based on last discussions

* Updated

* Rename shadows

* Moving storybook to new theme, renaming stories and moving to single category

* Updated snapshot

* Updated jsdoc state tags

* Reducing annonying errors
2021-04-07 19:13:00 +02:00
Leon Sorokin a9e90b5088 CloudWatch: replace full query parser with regex scanner that extracts stats groups (#32610) 2021-04-07 10:58:57 -05:00
Uchechukwu Obasi ce6e31c030 Input: updates story from knobs to control (#32712)
* Input: updates story from knobs to control

* assigned args value to a variable

* exported default as meta
2021-04-07 16:58:35 +01:00
Andrej Ocenas 0c2c52c627 Explore: correctly cleanup state on unmount (#32557) 2021-04-07 16:53:37 +02:00
Arseny Smalyuk 8e70d5d181 Add timeout option to datasource config (#31871) 2021-04-07 10:46:19 -04:00
Alexander Zobnin 7a68852aa7 Chore: move errors to enterprise (#32753) 2021-04-07 17:33:08 +03:00
Gábor Farkas c1061d038c Update latest.json to 7.5.3 (#32755) 2021-04-07 16:22:43 +02:00
Kyle Brandt 6395c649c8 SSE: fix casing on classic conditions model. (#32754) 2021-04-07 16:12:22 +02:00
Piotr Jamróz 0d08928981 Improve error handling for Graphite 0.9 and 1.0 (#32642) 2021-04-07 16:11:00 +02:00
Torkel Ödegaard 5e1d0a8851 Table: Fixes table data links so they refer to correct row after sorting (#32571)
* Table: Fixes table data links so they refer to correct row after sorting

* Tests: adds some basic tests incl sorting

* Refactor: removes dependeny on app

Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2021-04-07 16:06:51 +02:00
Grot (@grafanabot) 85fed1cc0b ReleaseNotes: Updated changelog and release notes for 7.5.3 (#32749)
* ReleaseNotes: Updated changelog and release notes for 7.5.3

* Update _index.md

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2021-04-07 15:31:10 +02:00
kay delaney 6c16ecf65f TablePanel: Makes sorting case-insensitive (#32435)
* UI/Table: Make sorting case-insensitive
Closes #30476
2021-04-07 14:28:51 +01:00
dependabot[bot] acc8e78c24 Bump github.com/influxdata/influxdb-client-go/v2 from 2.2.2 to 2.2.3 (#32683)
Bumps [github.com/influxdata/influxdb-client-go/v2](https://github.com/influxdata/influxdb-client-go) from 2.2.2 to 2.2.3.
- [Release notes](https://github.com/influxdata/influxdb-client-go/releases)
- [Changelog](https://github.com/influxdata/influxdb-client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/influxdata/influxdb-client-go/compare/v2.2.2...v2.2.3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-07 15:18:02 +02:00
Kevin Minehart 82bae892eb add memcached integration test steps in starlark (#32729)
* add memcached integration test steps to starlark

* typo
2021-04-07 08:06:10 -05:00
Kyle Brandt d519913843 AlertingNG: Temp endpoint to translate dashboard alert into rule group (#32694)
* Set NoData and ExecErr states
* make save an option
* TODOs
* adjust interval
* FOR and alertRuleTags not done yet
2021-04-07 14:28:06 +02:00
Ivana Huckova 61d3900b54 Prometheus: Show only graph for range queries in Explore (#32489)
* Remove showing of table for range query

* Improve comment
2021-04-07 13:38:47 +02:00
kay delaney 71e8a03c46 LibraryPanels: Add search input back to add panel widget (#32719) 2021-04-07 11:27:45 +02:00
Ganesh Vernekar 0f7d8ae6d2 Update email template for AlertingNG (#32691)
Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
2021-04-07 14:52:48 +05:30
Josh Hunt 95470d7302 AzureMonitor: Refactor datasource.query to fix --strict error (#32416)
* fix --strict in datasource.ts

* Update public/app/plugins/datasource/grafana-azure-monitor-datasource/datasource.ts

Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>

Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
2021-04-07 09:25:33 +01:00
Jack Westbrook 8b38b70e00 FolderPicker: Prevent dropdown menu from disappearing off screen (#32603)
* fix(folderpicker): remove position fixed so menu works in panel editor for dashlist & alertlist

* test(folderpicker): update snapshot
2021-04-07 10:18:30 +02:00
Alexander Emelin 7c182b1d2d Chore: Refactor Server Run and Shutdown (#32611) 2021-04-07 10:44:06 +03:00
Torkel Ödegaard 2c8728a2a4 AngularPanels: Fixes issue with angular panels caused by reason babel upgrade (#32738) 2021-04-07 09:34:30 +02:00
Guillermo Julián fbabed203f SingleStat: fix wrong call to getDataLinkUIModel (#32721) 2021-04-07 08:53:21 +02:00
Domas ad5b838130 Chore: delete accidentally added file (#32735)
This was commited by accident and noone noticed. Sorry 🙇‍♂️
2021-04-07 09:47:37 +03:00
Hugo Häggmark 10697d6130 Timeline: Renames component to avoid casing conflicts (#32736) 2021-04-07 08:16:14 +02:00
Domas a56293142a Alerting: unified alerting frontend (#32708) 2021-04-07 08:42:43 +03:00
Leon Sorokin 6082a9360e Alpha panel: new Timeline/Discrete panel (#31973) 2021-04-06 18:06:46 -05:00
Sofia Papagiannaki ea202513cd Docs: Rephrase Alert execution section in Alerting (#32631)
* Docs: Rephrase Alert execution section in Alerting

* Small fix

datasources -> data sources

* Rephrase alert execution
2021-04-06 12:58:22 -04:00
Zoltán Bedi 70d49b017d Prometheus: Fix instant query to run two times when exemplars enabled (#32508)
* Prometheus: Fix instant query to run two times when exemplars enabled

* Update exemplar messages

* Tempo: show empty response if response is empty
2021-04-06 18:35:00 +02:00
Sofia Papagiannaki 9d7d33ebb3 [Alerting]: Require login for alerting API routes (#32688)
* [Alerting]: Require login for alerting API routes

* Fix example requests

* [Alerting]: Add /api prefix to all routes (#32716)
2021-04-06 17:22:05 +03:00
Kevin Minehart 5c1d4777b2 add redis integration test for enterprise (#32617) 2021-04-06 08:50:54 -05:00
Alexander Zobnin 823f0bc460 Access Control: move features to Enterprise (#32640)
* Move db package WIP

* Implement OSS access control

* Register OSS access control

* Fix linter error in tests

* Fix linter error in evaluator

* Simplify OSS tests

* Optimize builtin roles

* Chore: add comments to the exported functions

* Remove init from ossaccesscontrol package (moved to ext)

* Add access control as a dependency for http server

* Modify middleware to receive fallback function

* Middleware: refactor fallback function call

* Move unused models to enterprise

* Simplify AccessControl type

* Chore: use bool IsDisabled() method instead of CanBeDisabled interface
2021-04-06 16:49:09 +03:00
Torkel Ödegaard 664268a498 Emotion: Remove emotion import (#32715) 2021-04-06 15:28:02 +02:00
Torkel Ödegaard 693985a6ba Plugins: Support es5 plugins extending es6 core classes (#32664)
* Plugins: Support es5 plugins extending es6 core classes

* Make all base classes backward compatible
2021-04-06 14:51:35 +02:00
Jack Westbrook 7374f380bd chore: Bump storybook to 6.2 (#32638)
* chore(grafanaui): bump storybook to 6.2, remove nohoist babel conflict hack

* chore(grafanaui): update storybook react doc gen defaults

* feat(grafanaui): map public/img as storybook static path for images/icons

* refactor(grafanaui): remove storybook noopControl in favour of parameters.controls.exclude

* feat(grafanaui): add component for storybook docs theming

* chore(grafanaui): silence button docs react warnings

* chore(grafanaui): bump storybook to v6.2.3

* revert(grafanaui): remove test description param from legacy switch story
2021-04-06 14:47:17 +02:00
Giordano Ricci 317909f0c9 Elasticsearch: Fix bucket script variable duplication in UI (#32705)
* Elasticsearch: Fix bucket script variable duplication

* Generate names based on previous value & fix list key

* Fix typos

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2021-04-06 13:16:23 +01:00
Oscar Kilhed cf699d8ad1 Normalize color string before using them as IDs (#32713) 2021-04-06 13:35:44 +02:00
Josh Hunt 5289603a59 AzureMonitor: fix migration error from older versions of App Insights queries (#32372)
* AzureMonitor: fix nill reference error with missing timeGrain

* add a test

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2021-04-06 11:33:46 +01:00
Alex Khomenko a626d844cb Card: add missing padding (#32702) 2021-04-06 12:36:48 +03:00
Gábor Farkas 2fd6ed5cf8 Datasource config: correctly remove single custom http header (#32445)
* grafana-ui: data-source-settings: fix remove-last-http-header case

* adjust code to not-mutate props-data

* improved tests and testability

* datasource: custom-http-headers: cleanup secure-values too
2021-04-06 11:34:05 +02:00
shuotli ad6010a7b3 AzureMonitor: Add deep links to Azure Portal for Metrics (#32273)
* Add Explore in azure portal functionality to Grafana AM data sources for Metrics

* fix url

* fix build

* Fix the URL with metric and aggregation

* user new version of metric blade

* use lookup object instead of enum for converting aggregation type

Co-authored-by: joshhunt <josh@trtr.co>
2021-04-06 11:28:49 +02:00
Torkel Ödegaard 532b8d4bc2 Babel: @babel/plugin-transform-react-constant-elements to babel config to optimize react performance (#32629) 2021-04-06 09:24:19 +02:00
Hugo Häggmark 6087980de0 Variables: Confirms selection before opening new picker (#32586)
* Variables: Confirms selection before opening new picker

* Tests: fixes e2e tests
2021-04-06 09:21:37 +02:00
Alex Khomenko f1bc4078c8 Search: update item padding (#32701) 2021-04-06 10:11:43 +03:00
Leon Sorokin 3f97b9972b Data: frame compare refactor, drop unused skipProperties (#32700) 2021-04-05 17:29:58 -05:00
David Parrott c0d83fc01e Alerting: Return cached alerts for prometheus/api/v1/alerts (#32654)
* Return cached alerts for prometheus/api/v1/alerts

* Return not implemented for /prometheus/grafana/api/v1/rules

* Set StartsAt for already alerting states

* Fix tests
2021-04-05 15:05:39 -07:00
Diana Payton ec624aa1ef Docs: Add Grafana basics section (#32693)
* moved files

* single sourcing

* Update _index.md

* Update heatmap.md

* Update _index.md

* Update _index.md

* Fixed 7 broken relrefs

* Fixed one more broken relref.

Co-authored-by: achatterjee-grafana <aparajita.chatterjee@grafana.com>
2021-04-05 13:06:14 -07:00
Alexander Emelin 54ad791c7e Live: expose HTTP push endpoint that will read influx line protocol and publish to websocket (#32311)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-04-05 19:04:46 +03:00
Diana Payton 7896c6a7b1 Update documentation-style-guide.md (#32690) 2021-04-05 16:58:38 +02:00
Sofia Papagiannaki a80f31a5c8 Alerting: 404 error status when no alertmanager configuration (#32651) 2021-04-05 17:03:00 +03:00
Giordano Ricci bc60991fae CloudWarch: Fix service quotas link (#32686) 2021-04-05 12:59:59 +01:00
dependabot[bot] ec12b344df Bump github.com/hashicorp/go-version from 1.2.1 to 1.3.0 (#32687)
Bumps [github.com/hashicorp/go-version](https://github.com/hashicorp/go-version) from 1.2.1 to 1.3.0.
- [Release notes](https://github.com/hashicorp/go-version/releases)
- [Changelog](https://github.com/hashicorp/go-version/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hashicorp/go-version/compare/v1.2.1...v1.3.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-05 13:39:49 +03:00
dependabot[bot] 6a94ca4dd2 Bump github.com/go-openapi/strfmt from 0.20.0 to 0.20.1 (#32684)
Bumps [github.com/go-openapi/strfmt](https://github.com/go-openapi/strfmt) from 0.20.0 to 0.20.1.
- [Release notes](https://github.com/go-openapi/strfmt/releases)
- [Commits](https://github.com/go-openapi/strfmt/compare/v0.20.0...v0.20.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-05 10:58:13 +03:00
dependabot[bot] 8d3b9878b2 Bump github.com/aws/aws-sdk-go from 1.38.7 to 1.38.12 (#32682)
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.38.7 to 1.38.12.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.38.7...v1.38.12)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-05 09:36:22 +02:00
Ryan McKinley 4a924c5ace Panel Editor: avoid updates when schema is the same (#32668) 2021-04-04 22:13:34 -07:00
Sofia Papagiannaki daabf64aa1 [Alerting]: Update scheduler to evaluate rules created by the unified API (#32589)
* Update scheduler

* Fix tests

* Fixes after code review feedback

* lint - add uncommitted modifications

Co-authored-by: kyle <kyle@grafana.com>
2021-04-03 20:13:29 +03:00
Ryan McKinley 455fbce020 Live: throttle messages when FPS decreases (#32627)
* throttle when FPS is low

* fix throttling

* grafanaStreamingPerfBudget

* grafanaStreamingPerfBudget

* change global strategy

* also throttle frontend

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2021-04-03 01:48:23 +02:00
Ryan McKinley 8ab223d79f Reducers: minor reducer cleanup (#32656) 2021-04-03 01:14:42 +02:00
Kyle Brandt 948da25c13 ngalerting: represent nil/empty labels the same (#32652)
was getting duplicates of [] and null before
2021-04-02 13:49:45 -04:00
Tony Choe 5e9afa7ebf Configure the Jaeger data source with provisioning (#32620)
* Configure the Jaeger data source with provisioning

We should have a good instruction and example for configuring the Jaeger data source with provisioning. It was hard to find how to add the tarce-to-logs, so I made one.

* Update docs/sources/datasources/jaeger.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-04-02 13:49:15 -04:00
Alexander Emelin 93292f6eef Live: update Streaming plugin definitions, put frame schema in subscribe result data (#32561)
Co-authored-by: Torkel Ödegaard <torkel@grafana.org>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-04-02 19:41:45 +03:00
Kyle Brandt 7fcb6ecb91 Alerting: Fix persistance migration (#32650) 2021-04-02 18:31:03 +02:00
Sofia Papagiannaki 0e350ae6c8 Remove more dead code (#32645) 2021-04-02 18:24:27 +03:00
David Parrott 2a8446e435 Alerting: Persist alerts on evaluation and shutdown. Warm cache from DB on startup (#32576)
* Initial commit for state tracking

* basic state transition logic and tests

* constructor. test and interface fixup

* use new sig for sch.definitionRoutine()

* test fixup

* make the linter happy

* more minor linting cleanup

* Alerting: Send alerts from state tracker to notifier

* Add evaluation time and test

Add evaluation time and test

* Add cleanup routine and logging

* Pull in compact.go and reconcile differences

* Save alert transitions and save all state on shutdown

* pr feedback

* WIP

* WIP

* Persist alerts on evaluation and shutdown. Warm cache on startup

* Filter non-firing alerts before sending to notifier

Co-authored-by: Josue Abreu <josue@grafana.com>
2021-04-02 08:11:33 -07:00
Kyle Brandt 698a1ee003 SSE/docs: Add note on not working with dash vars (#32646)
server side expressions "Expressions" unfortunately do not work with dashboard variables (in the same way alerting does not). 

The execution path is always through the backend/server of data sources, which currently don't support expanding dashboard variables.
2021-04-02 11:09:14 -04:00
Kyle Brandt 6ad02315eb ngalert: json dataframe on temp endpoints (#32641) 2021-04-02 15:52:38 +02:00
Kyle Brandt 0ec8879436 SSE/Alerting: Fix classic condition logic and some more tests (#32615) 2021-04-02 08:46:32 -04:00
Dominik Prokop 27398625ca TablePanel: Add solid background cell display mode (#32446)
* Add solid color background cell display mode

* Update docs/sources/panels/visualizations/table/table-field-options.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/panels/visualizations/table/table-field-options.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-04-02 13:49:12 +02:00
Giordano Ricci fddc83ec7c Elasticsearch: Disable Alias field for non-timeseries queries (#32279)
* Elasticsearch: Disable Alias field for non-timeseries queries

* Update public/app/plugins/datasource/elasticsearch/components/QueryEditor/index.test.tsx
2021-04-02 11:06:34 +01:00
Torkel Ödegaard 16efc4c1b9 ReactSelect: Upgrades react-select from v3 to v4 and switches from fork to main npm package (#32618)
* ReactSelect: Upgrades react-select from v3 to v4 and switches from fork to main npm package

* Updated snapshot

* Removed hidden time in timepicker
2021-04-02 11:11:46 +02:00
Uchechukwu Obasi 973ad9697c DataSourceList: expands the clickable area of card (#32601) 2021-04-02 10:48:22 +02:00
Torkel Ödegaard c40947bb66 MySQL/Postgres/CloudMonitoring: Fixes issues related to babel upgrade (#32619) 2021-04-02 08:10:57 +02:00
Ryan McKinley d2afcdd415 Live: remove measurement controller (#32622) 2021-04-01 22:32:56 -07:00
Torkel Ödegaard db12818d25 GettingStarted: Fixes backgrounds in welcome and getting started (#32613) 2021-04-01 21:52:20 +02:00
Ryan McKinley f67489a1f6 Chore: update centrifuge import (avoid protobuf) (#32616) 2021-04-01 21:47:04 +02:00
achatterjee-grafana 43e11927b6 Added note to clarify version 10 and above. (#32612) 2021-04-01 14:51:09 -04:00
Kyle Brandt 512faa7c9c SSE: Support time series frames with non-nullable float64 values (#32608)
* SSE: fix reduce to handle non-null
* add type for data.Field that is float64 or *float64
* resample fix for non-null input case, add couple non-null tests
2021-04-01 14:33:35 -04:00
Torkel Ödegaard d42a5b2561 FrontendMetrics: Adds new backend api that frontend can use to push frontend measurements and counters to prometheus (#32593)
* FrontendMetrics: Adds new backend api that frontend can use to push frontend measurements and counters to prometheus

* FrontendMetrics: Adds new backend api that frontend can use to push frontend measurements and counters to prometheus

* Fix naming

* change to histogram

* Fixed go lint
2021-04-01 20:04:02 +02:00
Ryan McKinley c7ea96940a Arrow: move arrow support from frontend to backend only (#32575) 2021-04-01 10:30:08 -07:00
Sofia Papagiannaki 8793f5c7f8 [Alerting]: Delete obsolete database table and code (#32595)
* Delete obsolete migration

* Remove redundant code
2021-04-01 19:41:57 +03:00
Diana Payton e34b2c13d3 Variables UI text edits (#32523)
* Update formatRegistry.ts

* text edits

* Update adapter.ts

* Update adapter.ts

* text edits

* Update SelectionOptionsEditor.tsx

* Update CustomVariableEditor.tsx

* Update DataSourceVariableEditor.tsx

* Update IntervalVariableEditor.tsx

* Update VariableEditorList.tsx

* Update adapter.ts

* Update actions.ts

* Update NetworkGraphModal.tsx

* Update actions.ts

* Update operators.ts

* text edits
2021-04-01 18:17:39 +02:00
Diana Payton a3d1cf03a9 Edit dashboard UI text (#32520)
* Update DashboardPermissions.tsx

* Update DashboardRow.tsx

* Update AutoRefreshIntervals.tsx

* Update JsonEditorSettings.tsx

* ui updates

* Update FolderPickerCtrl.ts

* Update LinkSettingsEdit.tsx

* Update LinkSettingsHeader.tsx

* Update LinkSettingsList.tsx

* Update actions.ts

* Update AngularPanelOptions.tsx

* Update getFieldOverrideElements.tsx

* Update OptionsPaneOptions.tsx

* Update types.ts

* Update usePanelLatestData.ts

* Update VisualizationButton.tsx

* Update RowOptionsModal.tsx

* Update SaveDashboardAsForm.tsx

* Update SaveDashboardForm.tsx

* Update SaveProvisionedDashboardForm.tsx

* Update SaveDashboardErrorProxy.tsx

* text edits

* Update ShareSnapshot.tsx

* Update PanelTypeCard.tsx

* Update TransformationsEditor.tsx

* Update panel.test.ts

* text edits

* Update DashboardSrv.ts

* Update VersionHistoryButtons.tsx

* Update DiffViewer.tsx

* Update VersionHistoryTable.tsx

* Update DashboardGrid.tsx

* Update DashboardPanel.tsx

* Update PanelPluginError.tsx

* Update DashboardMigrator.ts
2021-04-01 17:42:57 +02:00
Torkel Ödegaard 7896423fb5 Influx/Azure: Fix issue in query editors due to babel upgrade (#32605) 2021-04-01 17:14:25 +02:00
Leon Sorokin a080669151 Icons: use plain SVG files, load on-demand (#32387) 2021-04-01 09:09:56 -05:00
Jack Westbrook 9caf2f8b3a Configuration: Prevent browser hanging / crashing with large number of org users (#32546)
* fix(userslist): introduce pagination to prevent browser crash with large number of users

* test(userlist): fix failing tests

* refactor(userlist): use layout components for spacing

* test(userslist): update snapshots
2021-04-01 14:46:55 +02:00
Alexander Zobnin 4af817de2e Fix access control store init (#32594) 2021-04-01 14:31:56 +02:00
Torkel Ödegaard 10badea19e Emotion: Upgrades emotion from 10 to 11 and updates all import paths (#32541)
* Babel: Updates babel dependencies to latest version

* Emotion: Upgrade form 10 to 11

* Fixing tests

* Updated to use emotion/css instead in test
2021-04-01 14:15:23 +02:00
Jack Westbrook b714cdf395 chore: bump execa to v2.1.0 (#32543)
* chore(toolkit): bump execa to v2 to fix vulnerability issue

* chore(toolkit): update usage of execa
2021-04-01 12:38:53 +02:00
Zoltán Bedi bf524c91e6 Chore: Upgrade tslib (#32449)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-04-01 11:50:33 +02:00
Torkel Ödegaard 7f6229494d Babel: Target more modern browsers, updates browserlistrc (#32573)
* Babel: Target more modern browsers, updates browserlistrc

* Updates

* Fixed circular dependencies, grafana booted
2021-04-01 10:32:00 +02:00
Sofia Papagiannaki ee06970d72 [Alerting]: Grafana managed ruler API implementation (#32537)
* [Alerting]: Grafana managed ruler API impl

* Apply suggestions from code review

* fix lint

* Add validation for ruleGroup name length

* Fix MySQL migration

Co-authored-by: kyle <kyle@grafana.com>
2021-04-01 11:11:45 +03:00
Torkel Ödegaard e499585271 Devenv: Fix prometheus config so that it scrapes your dev instance like before (#32583)
* Devenv: Fix prometheus config so that it scrapes your dev instance like before

* prom1
2021-04-01 09:26:16 +02:00
Dimitris Sotirakis 71a8579412 Fix broken gtime tests (#32582) 2021-04-01 09:14:06 +02:00
Torkel Ödegaard 6fa7c6b206 TimeSrv: Refactor service to have no dependency on angular (#32562)
* TimeSrv: Refactor service to have no dependency on angular

* Fixing reference to function that does not exist

* fixing tests

* Worked around the strange error
2021-04-01 06:33:11 +02:00
Diana Payton 1399b49c16 UI text edits (#32524)
* Update TeamSettings.tsx

* Update navModel.ts

* Update ChangePasswordForm.tsx

* Update UserProfileEditForm.tsx

* Update DashboardImportPage.tsx

* Update uploadDashboardDirective.ts

* Update ImportDashboardForm.tsx

* Update ImportDashboardOverview.tsx

* Update validation.ts

* Update PlaylistEditPage.tsx

* ui text edits

* text edits

* Update buildCategories.ts

* text edits

* text edits

* Fix formatting

* Update test snapshots

Co-authored-by: dsotirakis <sotirakis.dim@gmail.com>
2021-03-31 16:07:37 -07:00
Ryan McKinley dc791c4121 Chore: update caniuse (#32569) 2021-03-31 22:16:56 +02:00
Sofia Papagiannaki a5e95823b2 [Alerting]: Alertmanager API implementation (#32174)
* Add validation for grafana recipient

* Alertmanager API implementation (WIP)

* Fix encoding/decoding receiver settings from/to YAML

* Save templates together with the configuration

* update POST to apply latest config

* Alertmanager service enabled by the ngalert toggle

* Silence API integration with Alertmanager

* Apply suggestions from code review

Co-authored-by: gotjosh <josue@grafana.com>
Co-authored-by: Ganesh Vernekar <15064823+codesome@users.noreply.github.com>
2021-03-31 23:00:56 +03:00
Torkel Ödegaard b0ffcfd558 Babel: Refactoring config so that it's shared and removes legacy plugin (#32559)
* Updated plugins

* Fixing stuff

* Update

* Fixing more stuff
2021-03-31 19:09:19 +02:00
Dimitris Sotirakis d42bfedd9e Add ability to override config variables with env variables (#32554)
* Add ability to override config variables with env variables

* Inline checkForOverrides

* Update pkg/plugins/backendplugin/manager/plugin_settings.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-03-31 18:51:16 +02:00
Will Browne 6a3faad0b0 Chore: Bump grafana-aws-sdk dep to 0.4.0 (#32563) 2021-03-31 18:30:32 +02:00
Andrej Ocenas c16083fcf5 Jaeger: Add node graph view for trace (#31521)
* add default arc and don't display stats background without any stats

* Add node graph transform

* Use coloring scheme for the node graph

* Fix type

* Add tests

* Fix and update test

* Fix strict ts errors

* Fix ref handling

* Update test data to connect spans to a parent
2021-03-31 17:56:15 +02:00
Vladimir Kochnev 39a3b0d0b0 Auth: support JWT Authentication (#29995) 2021-03-31 08:40:44 -07:00
Ryan McKinley 1446d094b8 API: return query results as JSON rather than base64 encoded Arrow (#32303) 2021-03-31 08:35:03 -07:00
Torkel Ödegaard d92145be28 Babel: Updates babel dependencies to latest version (#32534)
* Babel: Updates babel dependencies to latest version

* Fixed problem introduced by babel where calling super with prefedefined this is not supported

* fixing test

* Fixed tests

* Improve fix for QueryCtrl

* Fixed more tests

* Updated tests
2021-03-31 17:03:07 +02:00
Ryan McKinley f456c32f92 Chore: remove measurement.go (#32526) 2021-03-31 07:52:19 -07:00
Ivana Huckova 003a85949e InfluxDB: Fix Cannot read property 'length' of undefined in when parsing response (#32504)
* Fix Cannot read property 'length' of undefined in Influx

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

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>

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

* Revert to original solution

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2021-03-31 16:45:30 +02:00
Arve Knudsen 6730558f8c gtime: Make ParseInterval deterministic (#32539)
* gtime: Make ParseInterval deterministic by using UTC timezone

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-03-31 16:44:23 +02:00
Marcus Efraimsson aad43869c3 Plugins: Support set body content in plugin routes (#32551)
Adds support for overriding the body and length in plugin routes.
2021-03-31 16:38:35 +02:00
Piotr Jamróz 027e886997 Graphite: Handle invalid annotations (#32437)
* Handle invalid annotations

* Add a test for handling invalid tags response

* Unify test descriptions
2021-03-31 16:21:30 +02:00
Marcus Efraimsson be0c29a46c Automation: Label pull requests based on author org (#32547)
Should add the label pr/external to pull requests for authors not member 
of the Grafana org.
Making use of grafana/grafana-github-actions#20
2021-03-31 14:54:49 +02:00
gotjosh 433f6b91d0 Alerting: Introduce the silencing interface (#32517)
* Alerting: Introduce the silencing interface

The operations introduced are:

- Listing silences
- Retrieving an specific silence
- Deleting a silence
- Creating a silence

Signed-off-by: Josue Abreu <josue@grafana.com>

* Add a comment to listing silences

* Update to upstream alertmanager

* Remove copied code from the Alertmanager
2021-03-31 07:36:36 -04:00
kay delaney 230f95dc47 Dashboard: No longer includes default datasource when externally exporting dashboard with row (#32494)
Closes #31065
2021-03-31 08:26:32 +01:00
Hugo Häggmark 2def9a8172 TextboxVariable: Limits the length of the preview value (#32472) 2021-03-31 06:59:43 +02:00
Diana Payton 904187eb5a Edit org UI text (#32455)
* Update NewOrgPage.tsx

* Update SelectOrgPage.tsx

* Update UserInviteForm.tsx

* Update UserInvitePage.tsx
2021-03-30 20:54:31 +02:00
achatterjee-grafana 552c4bf124 Fixed issue 25389 (#32514)
* Updated hyperlink to instructions in Chinese.

* Rearranging content.
2021-03-30 14:06:08 -04:00
Zoltán Bedi d8a83fec9d Prometheus: align exemplars check to latest api change (#32513) 2021-03-30 19:34:08 +02:00
Piotr Jamróz 37374bdecf Update latest.json (#32512) 2021-03-30 19:15:41 +02:00
Grot (@grafanabot) 818d95831d ReleaseNotes: Updated changelog and release notes for 7.5.2 (#32510)
* ReleaseNotes: Updated changelog and release notes for 7.5.2

* Add missing release notes link

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2021-03-30 19:02:42 +02:00
David Parrott b1cb74c0c9 Alerting: Send alerts from state tracker to notifier, logging, and cleanup task (#32333)
* Initial commit for state tracking

* basic state transition logic and tests

* constructor. test and interface fixup

* use new sig for sch.definitionRoutine()

* test fixup

* make the linter happy

* more minor linting cleanup

* Alerting: Send alerts from state tracker to notifier

* Add evaluation time and test

Add evaluation time and test

* Add cleanup routine and logging

* Pull in compact.go and reconcile differences

* pr feedback

* pr feedback

Pull in compact.go and reconcile differences

Co-authored-by: Josue Abreu <josue@grafana.com>
2021-03-30 09:37:56 -07:00
Ivana Huckova b9800a2cf9 Docs: In Flux documentation replace incorrect v.timeRangeEnd for v.timeRangeStop (#32505)
* Fix bug in the Flux documentation

* Update docs/sources/datasources/influxdb.md
2021-03-30 17:20:01 +02:00
Piotr Jamróz d2065fcb6a Add a note that Filter Data by Query doesn't work in Graphite. (#32466) 2021-03-30 09:54:46 -04:00
Alexander Zobnin 784425c2ee Fix access control service init (#32492)
* Fix access control service init

* Chore: use assert from testify package
2021-03-30 15:14:43 +02:00
Dimitris Sotirakis 270a255c08 Add dash / and at @ signs escapes in regex (#32495) 2021-03-30 15:56:15 +03:00
Hugo Häggmark 009df4fb7a Variables: Fixes Unsupported data format error for null values (#32480) 2021-03-30 12:31:48 +02:00
Erik Sundell f0d6f132ae SigV4: Add support EC2 IAM role auth and possibility to toggle auth providers (#32444)
* wip: consume aws-sdk config in auth http settings

* fix typings

* use sdk regions

* use latest version of grafana/aws-sdk

* use newest sdk

* add comment

* bump sdk

* fix yarn lock file

* fix storybook issue

* upgrade aws-sdk. also use it in grafana ui

* remove not used config

* add aws-sdk as an external dep for grafana in the grafana ui rollup

Co-authored-by: Will Browne <will.browne@grafana.com>
2021-03-30 12:30:34 +02:00
Ivana Huckova cfc7537632 Set spanNulls to default (#32471) 2021-03-30 12:26:39 +02:00
Alexander Emelin da05b7a07b Live: http publish, refactor live interfaces (#32317) 2021-03-30 13:23:29 +03:00
Hugo Häggmark 84ea3a73c0 AdHocVariable: Adds default data source (#32470) 2021-03-30 11:17:33 +02:00
ying-jeanne 3b087db6ac Fix: cli error message when installing plugin doesn't include helpful… (#32467)
* Fix: cli error message when installing plugin doesn't include helpful info

* Update pkg/cmd/grafana-cli/services/api_client.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-03-30 10:58:08 +02:00
Arve Knudsen 2c72f8babc MSSQL: By default let driver choose port (#32417)
* MSSQL: By default let driver choose port

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-03-30 10:54:57 +02:00
Torkel Ödegaard 0e47a476fb Variables: Do not save repeated panels, rows and scopedVars (#32436)
* Variables: Do not save repeated panels, rows and scopedVars

* minor refactoring
2021-03-30 09:30:40 +02:00
Dominik Prokop 79dafe17a9 Filter by value: respect field config coming from the datasource (#32428)
* Make sure field config is preserved when filtering values and state of the field recalcualted

* Tests update
2021-03-30 09:30:07 +02:00
Piotr Jamróz 3fcff2555a Devenv: Graphite docker blocks fixes (#32352)
* Fix running graphite data sources in dev env

* Remove broken dashboard files

* Add Graphite 1.0 and 0.9 to provisioned data sources
2021-03-30 09:25:27 +02:00
Marcus Andersson 678dcf6811 Docs: fixing code example that breaks the formatting of the auto generated docs. (#32465) 2021-03-30 09:09:44 +02:00
Diana Payton d8ddcfe64d Update UpgradePage.tsx (#32451) 2021-03-30 09:01:50 +02:00
Diana Payton 98f8064fff Edit alert UI text (#32456)
* Update AlertingQueryEditor.tsx

* Update NotificationSettings.tsx

* ui changes

* Update AlertDefinitionOptions.tsx

* Update AlertRuleList.tsx

* Update AlertTab.tsx
2021-03-30 08:23:00 +02:00
achatterjee-grafana 8c2fec5bd4 Updated docs for issue 32378 (#32462)
* Reorganized content.

* More changes.

* More content reorg and added image links.
2021-03-29 19:14:13 -04:00
Giordano Ricci f7b408f99f Elasticsearch: use application/x-ndjson content type for multisearch requests (#32282) 2021-03-29 23:41:45 +01:00
Diana Payton 56159a1c43 Annotation UI text edits (#32458)
* Update event_editor.html

* Update annotations_srv.ts

* Update editor_ctrl.ts

* Update standardAnnotationSupport.ts
2021-03-29 22:45:36 +02:00
Diana Payton e5027982ef Edit admin UI text (#32454)
* Update AdminEditOrgPage.tsx

* Update AdminOrgsTable.tsx

* Update AdminSettings.tsx

* Update UserCreatePage.tsx

* Update UserLdapSyncInfo.tsx

* Update UserListAdminPage.tsx

* Update UserOrgs.tsx

* Update UserProfile.tsx

* Update UserSessions.tsx
2021-03-29 21:52:40 +02:00
achatterjee-grafana 29bf863a30 Added "message" to the create dashboard example. (#32452) 2021-03-29 15:00:27 -04:00
achatterjee-grafana 6158f1e876 Updated relref to "Dashboard JSON model:" topic. (#32448)
* Updated relref to "Dashboard JSON model:" topic.

* Update docs/sources/administration/provisioning.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/administration/provisioning.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/administration/provisioning.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Added relref (actually).

* Few more changes.

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2021-03-29 14:54:26 -04:00
Diana Payton 4bf97e9f59 Edit UI text (#32450)
* UI text edits

* Update index.go
2021-03-29 20:30:11 +02:00
Diana Payton cf329f53b2 Docs: Update _index.md (#32447) 2021-03-29 19:11:54 +02:00
Éamon Ryan d7f72f2785 Docs: Clarified Enterprise white-labeling footer text (#32269)
* Clarified white-labeling footer text

* Update docs/sources/enterprise/white-labeling.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/enterprise/white-labeling.md

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>

* Update docs/sources/enterprise/white-labeling.md

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>

* Updated wording

* Updated capitalisation

* Update docs/sources/enterprise/white-labeling.md

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
2021-03-29 18:29:41 +02:00
Torkel Ödegaard 33e33e3872 Graph: Fix setting right y-axis when standard option unit is configured (#32426) 2021-03-29 17:54:20 +02:00
Alexander Zobnin 20f6ba5ba4 Access-control: use role UID when adding/removing roles (#32438) 2021-03-29 17:36:48 +02:00
Sofia Papagiannaki c4d5a67b38 [Alerting] Forking alert manager API (#32300)
* Alertmanager lotex ruler

* Apply suggestions from code review
2021-03-29 18:18:25 +03:00
Ganesh Vernekar 740c5813d4 AlertingNG: Fix dispatcher metrics in notifier (#32434)
Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
2021-03-29 20:35:15 +05:30
Dimitris Sotirakis 814db3d28e Chore: Change from double to single quotes (#32430) 2021-03-29 17:40:26 +03:00
Torkel Ödegaard bb995e966d PanelEdit: Remove right side padding for options pane (#32427) 2021-03-29 16:21:38 +02:00
kay delaney 6015432f07 BarGauge: Fix percentage-based thresholds (#32415)
Closes #31756
2021-03-29 15:11:23 +01:00
Carl Bergquist 5ec530f3fc API: Return 409 on datasource version conflict (#32425)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2021-03-29 16:03:15 +02:00
Carl Bergquist e1458391bb API: Return 400 on invalid Annotation requests (#32429)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2021-03-29 15:47:16 +02:00
Torkel Ödegaard 636be0ed22 TimeSeries: Fixes issue with time x-axis and hour ticks that stretches across more than one day (#32389)
* TimeSeries: Fixes issue with time x-axis and hour ticks that stretches across more than one day

* Fixed logic
2021-03-29 14:36:01 +02:00
Will Browne 1d7f155c92 remove unnecessary state (#32278) 2021-03-29 14:22:56 +02:00
Torkel Ödegaard f37c8c10c5 Variables: Fixes problem with data source variable when default ds is selected (#32384) 2021-03-29 14:10:40 +02:00
Marcus Andersson eebcc55faa Chore: changed so the PanelChrome story can be changed via controls. (#32105) 2021-03-29 14:08:00 +02:00
ying-jeanne 73a5fec2d7 Docs: /sources/http_api/folder.md (#32407) 2021-03-29 13:21:20 +02:00
Marcus Efraimsson b82c510581 Postgres/MySQL/MSSQL: Don't return connection failure details to the client (#32408)
For security reasons, log any SQL connection error 
details rather than returning it to the client.

Fixes #26623
Fixes #22000

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-03-29 13:03:01 +02:00
kay delaney a98fd22e34 Panel/DashList: Fetch folders with View permission (#32406)
Closes #31357
2021-03-29 11:11:51 +01:00
Dominik Prokop 5b2a419df8 Fix inline code being rendered as block in the panel description (#32405) 2021-03-29 11:47:37 +02:00
kay delaney 2827d89ccf Table: Fixes so links work for image cells (#32370)
* Panel/Table: Adjust data links logic
Closes #31576
2021-03-29 10:42:48 +01:00
kay delaney ab4b980d54 AppRootPage: Fix tests (#32364) 2021-03-29 10:02:18 +01:00
Dimitris Sotirakis f15882f507 Update logger message to be more generic (#32403) 2021-03-29 11:45:03 +03:00
dependabot[bot] 77ef835e8c Chore(deps): Bump github.com/aws/aws-sdk-go from 1.38.2 to 1.38.7 (#32399)
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.38.2 to 1.38.7.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.38.2...v1.38.7)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-29 09:47:54 +02:00
Carl Bergquist eb241b960f API: Datasource endpoint should return 400 bad request if id and orgId is invalid (#32392)
* return 400 bad request if id and orgId is invalid

Signed-off-by: bergquist <carl.bergquist@gmail.com>
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-03-29 08:56:58 +02:00
Torkel Ödegaard a4b0ad3937 DashboardQueryEditor: Run query after selecting source panel (#32383) 2021-03-29 08:16:24 +02:00
Torkel Ödegaard 52ff968a72 PanelEditor: Fixes issue with data source picker not updating when selecting mixed data source (#32386) 2021-03-29 08:15:26 +02:00
Torkel Ödegaard 340334994f Variables: Fixes error when manually non-matching entering custom value in variable input/picker (#32390) 2021-03-29 08:14:43 +02:00
Torkel Ödegaard 27aa7bb900 ImportDashboard: Fixes backend handler not found error when importing dashboard (#32391) 2021-03-29 08:13:49 +02:00
Domas 0779dab0de NgAlerting: loki & cortex have different prom & ruler endpoint prefixes (#32344) 2021-03-29 08:55:09 +03:00
Torkel Ödegaard feaaa32ffd Shortcuts: Fixes panel shortcuts so they always work (#32385)
* Shortcuts: Fixes panel shortcuts so they always work

* Updated snapshot
2021-03-29 07:52:57 +02:00
Torkel Ödegaard 4becb79f1e TestData: Don't add query model for every testdata query scenario by default (#32388) 2021-03-29 07:51:15 +02:00
Kevin Minehart 6a97236b7a Update enterprise-configuration.md (#32365) 2021-03-26 15:13:03 -05:00
Alexander Tymchuk 3efca53edf Docs: /sources/http_api/user.md (#31152)
I believe it's a mistake in the docs, since http requests against those endpoints are not supposed to be authenticated with API keys. 

If I correctly understand Grafana's auth design, the API key is not issued/tied to a user, therefore there is no mechanism to detect who the user is when the request is authenticated with an API key.

Please note there may be other endpoints like this...
2021-03-26 13:15:10 -04:00
Jennifer Villa 96ca2d6afc Updated index of installation page. (#32366)
* Updated index of installation page.

* Update docs/sources/installation/_index.md

accepting suggestions from docs team

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-03-26 12:31:42 -04:00
Giordano Ricci 85a6544198 Elasticsearch: Guess field type from first non-empty value (#32290) 2021-03-26 16:08:38 +00:00
Ivana Huckova 5ce9fa360d Loki: Convert Loki query response to dataframes (#32316)
* Return dataFrames instead of series

* Add test for parseResponse

* Update pkg/tsdb/loki/loki.go

Co-authored-by: Dimitris Sotirakis <sotirakis.dim@gmail.com>

* Fix linting, add test

Co-authored-by: Dimitris Sotirakis <sotirakis.dim@gmail.com>
2021-03-26 16:47:46 +01:00
Grot (@grafanabot) ccb563d572 ReleaseNotes: Updated changelog and release notes for 7.5.1 (#32367)
* ReleaseNotes: Updated changelog and release notes for 7.5.1

* added link to realease notes.

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2021-03-26 16:28:52 +01:00
Hugo Häggmark 266e74bccc Update latest.json (#32368) 2021-03-26 16:27:33 +01:00
Diana Payton 1d46e7c2e9 Docs: Update whats-new-in-v7-5.md (#32331) 2021-03-26 10:22:13 -04:00
Dimitris Sotirakis 2a5279911f Add legend name to dataframes config (#32356) 2021-03-26 16:20:46 +02:00
Piotr Jamróz 9f2fa7c20c Show graphite functions descriptions (#32305)
* Fix parsing and displaying Graphite function descriptions

* Update docs

* Add support for inf value

* Remove redundant console.log

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Remove empty line

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2021-03-26 15:16:25 +01:00
Jeffrey C. Ollie 70576873f7 Add 'informational' to LogLevel (#30942)
Recognize 'informational' as a synonym for the canonical 'info' log level.
2021-03-26 15:00:54 +01:00
Conor Evans 3af573ea96 Loki: Remove empty annotations tags (#32359)
* Loki - filter labels with empty values

Signed-off-by: Conor Evans <coevans@tcd.ie>

* Apply prettier change

Signed-off-by: Conor Evans <coevans@tcd.ie>

* Apply Piotr's suggestion - swap map/filter statements

Signed-off-by: Conor Evans <coevans@tcd.ie>
2021-03-26 14:16:31 +01:00
Henry Jenkins 8bb56fabe0 Fix docs for GID (#32323)
The Dockerfile and other parts of the docs state GID of zero is used. Update to correct this.
2021-03-26 14:02:32 +01:00
Marcus Efraimsson 5985c199ae SQL: Fix so that all captured errors are returned from sql engine (#32353) 2021-03-26 13:17:18 +01:00
Arve Knudsen c8afce5fd6 MSSQL: Upgrade go-mssqldb (#32347)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-03-26 13:16:57 +01:00
Hugo Häggmark ce679a67b7 Chore: Lazy loads VisJs library (#32341) 2021-03-26 10:07:22 +01:00
Dominik Prokop 95c65a1f4a GraphNG: Fix tooltip displaying wrong or no data (#32312) 2021-03-26 09:56:40 +01:00
Ganesh Vernekar a0db4dce32 Render new email template and fix the title (#32314)
* Render new email template and fix the title

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>

* Fix nit

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
2021-03-26 12:53:14 +05:30
Ryan McKinley 600f63f627 revert changes (#32335) 2021-03-25 22:10:29 -04:00
Jennifer Villa fc4d4471ff Add documentation page for how to install Grafana and GE on K8s (#32008)
* Adding a documentation page for how to install Grafana and Grafana Enterprise on Kubernetes. We will then reference this in the GEM documentation since that setup is written for K8s users.

* Update docs/sources/installation/kubernetes.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/installation/kubernetes.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/installation/kubernetes.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/installation/kubernetes.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/installation/kubernetes.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/installation/kubernetes.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/installation/kubernetes.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/installation/kubernetes.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/installation/kubernetes.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/installation/kubernetes.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Fixing the numbering and some of the changes suggested by review.

* Update docs/sources/installation/kubernetes.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/installation/kubernetes.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/installation/kubernetes.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/installation/kubernetes.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Making the final changes to the documentation to address comments.

* Fixed numbering.

* spacing changes.

* spacing didn't render as intended.

* Last set of changes including spacing fixes, getting the right headings, and getting the right weighting so it shows up in the right place in the menu.

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-03-25 22:09:05 -04:00
Ryan McKinley adda7c798a Chore: use uppercase names in manual entry scenario (#32334) 2021-03-26 00:18:17 +01:00
Alexander Emelin 07f7c60ae0 live: fix writing headers in hijacked connection with gzip enabled (#32310) 2021-03-25 21:36:52 +03:00
Grot (@grafanabot) 08dfdddefd ReleaseNotes: Updated changelog and release notes for 7.5.0 (#32318)
* ReleaseNotes: Updated changelog and release notes for 7.5.0

* Chore: Adds link to _index.md

Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2021-03-25 18:33:30 +01:00
Hugo Häggmark cc42a91c99 Release: Updates latest.json (#32319) 2021-03-25 17:57:40 +01:00
Uchechukwu Obasi 4aff0cee0d GraphNG: updates story from knobs to controls (#32294) 2021-03-25 15:32:19 +01:00
kay delaney 298ff3ea01 Library Panels: Improve unsaved changes handling (#32026)
* Library Panels: Improve unsaved changes handling
2021-03-25 13:11:09 +00:00
Ganesh Vernekar 093e5947f4 Upgrade Prometheus Alertmanager and small fixes (#32280)
Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
2021-03-25 12:51:44 +01:00
Zoltán Bedi 8232b6ebbc Chore: eslint react hook fix for public folder (#31174)
* Fixes under public/app/plugins

* Fixes under public/app/plugins/datasource

* Fixes under public/app/features

* Fixes under public/app/features

* Fixes under public/app/features

* Fixes under public/app/components

* Fix PanelNotSupported test

* Fix one more warning

* Fix warning in usePanelSave

* Fix traceview empty response

* Azure monitor fixes

* More fixes

* Fix tests for azure monitor

* Fixes after merging master

* Add comment for disabled rules

* Fixes after merging master

* Fixes after merging master

* Adress review comments

* Fix azure tests

* Address review feedbacks
2021-03-25 12:42:14 +01:00
Jack Westbrook c9eff1892e DashboardSettings: Migrates history diff view from angular to react (#31997)
* chore(dashboardsettings): introduce deep-diff for diffing dashboard models

* feat(dashboardsettings): initial commit of diff comparision react migration

* feat(dashboardsettings): wip - use json-source-map and monaco editor

* chore(deps): add react-diff-viewer to package.json

* feat(dashboardsettings): take the simplistic road for diff view

* refactor(dashboardsettings): clean up Version Settings components

* chore: delete angular historyListCtrl code

* refactor(dashboardsettings): styling fixes

* Small color tweaks

* refactor(versionhistory): fix issues around summary text. write tests

* test(versionhistory): add test for jsonDiff

* refactor(versionhistory): cleanup utils and reduce dom elements

* test(versionsettings): add tests for comparision view

* test(versionsettings): finialise tests for version history comparison view

* test(versionsettings): remove debug

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-03-25 11:51:09 +01:00
Jack Westbrook 405f54565a chore(deps): bump visx/tooltip to 1.7.2 (#32248)
* chore(deps): prefer react-use-measure 2.0.4 over forked fix

* chore(grafana-ui): bump visx/tooltip@1.7.2 instead of react-use-measure resolution
2021-03-25 10:28:26 +01:00
Ivana Huckova a127e09503 Loki: Fix text search in Label browser (#32293)
* Switch to simple search before implementing proper fuzzy search

* Just do simple search

* Finalize simple search

* Pass string to highlights
2021-03-25 09:57:08 +01:00
Ivana Huckova 8d9de3f626 Docs: Adjust sizes of images in Loki documentation (#32301)
* Adjust size of log browser image

* Adjust size of log browser image
2021-03-25 09:38:09 +01:00
Torkel Ödegaard 9d6c8f8512 PanelEdit: v8 Panel Edit UX (#32124)
* Initial commit

* Progress

* Update

* Progress

* updates

* Minor fix

* fixed ts issue

* fixed e2e tests

* More explorations

* Making progress

* Panel options and field options unified

* With nested categories

* Starting to find something

* fix paddings

* Progress

* Breakthrough ux layout

* Progress

* Updates

* New way of composing options with search

* added regex search

* Refactoring to react note tree

* Show overrides

* Adding overrides radio button support

* Added popular view

* Separate stat/gauge/bargauge options into value options and display options

* Initial work on getting library panels into viz picker flow

* Fixed issues switching to panel library panel

* Move search input put of LibraryPanelsView

* Changing design again to have content inside boxes

* Style updates

* Refactoring to fix scroll issue

* Option category naming

* Fixed FilterInput issue

* Updated snapshots

* Fix padding

* Updated viz picker design

* Unify library panel an viz picker card

* Updated card with delete action

* Major refactoring back to an object model instead of searching and filtering react node tree

* More refactoring

* Show option category in label when searching

* Nice logic for categories rendering when searching or when only child

* Make getSuggestions more lazy for DataLinksEditor

* Add missing repeat options and handle conditional options

* Prepping options category to be more flexibly and control state from outside

* Added option count to search result

* Minor style tweak

* Added button to close viz picker

* Rewrote overrides to enable searching overrides

* New search engine and tests

* Searching overrides works

* Hide radio buttons while searching

* Added angular options back

* Added memoize for all options so they are not rebuilt for every search key stroke

* Added back support for category counters

* Started unit test work

* Refactoring and base popular options list

* Initial update to e2e test, more coming to add e2e test for search features

* Minor fix

* Review updates

* Fixing category open states

* Unit test progress

* Do not show visualization list mode radio button if library panels is not enabled

* Use boolean

* More unit tests

* Increase library panels per page count and give search focus when switching list mode

* field config change test and search test

* Feedback updates

* Minor tweaks

* Minor refactorings

* More minimal override collapse state
2021-03-25 08:33:13 +01:00
Ryan McKinley ea186947d2 Timeseries: add UI to control the span nulls threshold (#32222) 2021-03-25 05:32:03 +01:00
David Parrott d33a77a67f Alerting: add state tracker to alerting evaluation (#32298)
* Initial commit for state tracking

* basic state transition logic and tests

* constructor. test and interface fixup

* use new sig for sch.definitionRoutine()

* test fixup

* make the linter happy

* more minor linting cleanup
2021-03-24 15:34:18 -07:00
gotjosh 58b814bd7d Alerting: Add StartAt and FiredAt to the alert evaluation result (#32302) 2021-03-24 20:27:04 +00:00
Ivana Huckova bd7285a9e3 Explore: Show all dataFrames in data tab in Inspector (#32161)
* Add option to show/download all data

* Add test

* Address feedback
2021-03-24 19:01:23 +01:00
Uchechukwu Obasi c9c5e55c15 Graph: updates story from knobs to controls (#32264)
* Graph: updates story from knobs to controls

* added type to story
2021-03-24 18:12:54 +01:00
Dimitris Sotirakis 95de48261b Chore: Move away from convey - introduce testify (#32295)
* Generic OAuth: Prevent adding duplicated users

* Chore: Move away from convey - introduce testify

* Revert commits from another branch

* Fix formatting
2021-03-24 17:32:16 +01:00
Kyle Brandt 66548878fe ngalert: add addition temp translation endpoint (#32287)
spits out new sse condition/data json from old alert id to help with generating UI models
also moves this api code into another file
2021-03-24 17:12:34 +01:00
Dewald Viljoen 6fa53a1ee4 Alerting: Allow sending notification tags to Opsgenie as extra properties (#30332)
* Alerting: Opsgenie send tags as extra properties

Allow users to select where to send notification tags when alerting via
OpsGenie. Supports sending tags as key/value details, concatenated
strings in tags or both.

Users will be able to see their tags as key/values under extra
properties in an alert on the Opsgenie UI. These key/values can
then be used in the platform for routing, templating etc.

  * Configurable delivery to either tags, extra properties or both

  * Default to current behaviour (tags only)

  * Support both so users can transition from tags to details

Add docs and clean up references

* Alerting: Add additional arg for Opsgenie tests

The NewEvalContext function now requires a 'PluginRequestValidator' argument.
As our test does not use the validator we can specify 'nil' to satisfy the
function and allow our test to pass as expected.

* Alerting: Opsgenie doc fixes

Accept suggested changes for Opsgenie docs

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Alerting: Opsgenie provisioning settings docs

Add the new setting to the provisioning docs

* Alerting: Opsgenie doc typo correction

Move the comma (,) out of the preformatting tags for the setting value

* Alerting: Opsgenie refactor send switches

Refactor the send switches to be methods on the OpsgenieNotiefier
itself. This also cleans up the method names so that the code reads
a bit more logically as:

if we should send details: send details
if we should send tags: send tags

This avoids the calling code needing to care about passing the state
and allows an engineer working in the `createAlert` function to focus
on the results of applying the logic instead.

* Alerting: Opsgenie docs rename note


Rename the note heading to match the number to more clearly link them.

* Alerting: Opsgenie use standard reference to note

Refer to the note below as per recommendation and standards.

Fixes #30331

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-03-24 17:07:26 +01:00
Giordano Ricci f7d079c0a5 Chore: Remove elasticsearch 1.x from devenv (#32283) 2021-03-24 14:57:32 +00:00
Uchechukwu Obasi 1ab32ebc9d GraphLegend: updates story from knobs to controls (#32285)
* GraphLegend: updates story from knobs to controls

* changed the rightAxisSeries control to use text instead
2021-03-24 15:56:33 +01:00
gotjosh 9b52ffc6a9 Alerting: Fetch configuration from the database and run a notification service (#32175)
* Alerting: Fetch configuration from the database and run a notification
instance

Co-Authored-By: Ganesh Vernekar <15064823+codesome@users.noreply.github.com>
2021-03-24 14:20:44 +00:00
Oscar Kilhed 49c4211295 PieChartV2: Add migration from old piechart (#32259)
* Add migration from old piechart

* Add piechart migration tests
2021-03-24 14:46:13 +01:00
Giordano Ricci a8ed304f82 Chore: remove checkout step (#31614) 2021-03-24 13:40:34 +00:00
Hugo Häggmark 7f5487a461 LibraryPanels: Adds Type and Description to DB (#32258)
* Refactor: adds description to getCreateCommand

* Refactor: Adds type and description fields

* Chore: Updates FrontEnd

* Update pkg/services/librarypanels/database.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/services/librarypanels/database.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Chore: fixes backend linting error

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-03-24 13:43:51 +01:00
Kyle Brandt 05fa9d6ad9 AlertingNG: rename Condition properties to match front end (#32267) 2021-03-24 08:07:29 -04:00
Josh Hunt 9a7c10cffe AzureMonitor: display errors from requests for the dropdowns (#31921)
* AzureMonitor: display errors from requests for the dropdowns

* switch to array of errors, using just the last one

* unify error object

* move files into utils

* TESTS

* fix tests
2021-03-24 12:06:55 +00:00
Owen Diehl 2179a2658e Extricates reusable utilities for different alerting proxy types (#32268)
* backendtype helper

* abstracts alertingproxy

* updates alerting api dep

* prom endpoints
2021-03-24 07:43:25 -04:00
Hugo Häggmark 376ed8a381 LibraryPanels: Prevents deletion of connected library panels (#32277)
* LibraryPanels: Prevents deletion of connected library panels

* Refactor: adds the delete library panel modal

* Chore: updates after PR comments
2021-03-24 11:43:27 +01:00
Uchechukwu Obasi 26823ee438 RadioButton: updates story from knobs to controls (#32251) 2021-03-24 08:50:27 +01:00
Ryan McKinley 7f1b9eafda Testdata: support null values in manual entry and return all data (#32276) 2021-03-24 08:45:43 +01:00
Hugo Häggmark dea7c70fac Chore: Cleans up unused Playlist files (#32240) 2021-03-24 07:11:45 +01:00
Joan López de la Franca Beltran 15676baa4b Enterprise: Add missing Loki dependency (#32265) 2021-03-23 19:08:31 +01:00
Alexander Emelin 336bc559a3 Basic streaming plugin support (#31940)
This pull request migrates testdata to coreplugin streaming capabilities,
this is mostly a working concept of streaming plugins at the moment, 
the work will continue in the following pull requests.
2021-03-23 20:24:08 +03:00
Kyle Brandt 1cd8981be4 SSE/NG: Add expression metadata for EvalMatch (#32213)
- Add the ability to stick metadata attached to a value in expressions. Currently uses Frame.Meta.Custom.
- None of this is consumed by anything yet, so an incremental step.
2021-03-23 12:23:54 -04:00
Kyle Brandt 7bb79158ed SSE/Alerting: First pass at query/condition translation (#31693)
- Takes the conditions property from the settings column of an alert from alerts table and turns into an ng alerting condition with the queries and classic condition.
- Has temp API rest endpoint that will take the dashboard conditions json, translate it to SEE queries + classic condition, and execute it (only enabled in dev mode).
- Changes expressions to catch query responses with a non-nil error property
- Adds two new states for an NG instance result (NoData, Error) and updates evaluation to match those states
- Changes the AsDataFrame (for frontend) from Bool to string to represent additional states
- Fix bug in condition model to accept first Operator as empty string.
- In ngalert, adds GetQueryDataRequest, which was part of execute and is still called from there. But this allows me to get the Expression request from a condition to make the "pipeline" can be built.
- Update AsDataFrame for evalresult to be row based so it displays a little better for now
2021-03-23 12:11:15 -04:00
Sofia Papagiannaki 24cb059a6b [Alerting]: implement backend checking for forking to Lotex ruler (#32208)
* Rename DatasourceId path parameter

* Implement fork ruler backendType()

* Apply suggestions from code review
2021-03-23 18:08:57 +02:00
Ivana Huckova 94ac097f47 Docs: Update Loki documentation (#31867)
* Update Loki documentation

* Update

* Update docs/sources/datasources/loki.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/datasources/loki.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/datasources/loki.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/datasources/loki.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/datasources/loki.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/datasources/loki.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/datasources/loki.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/datasources/loki.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/datasources/loki.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/datasources/loki.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/datasources/loki.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/datasources/loki.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/datasources/loki.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/datasources/loki.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update, add images and log browser info

* Add documentation for label browser

* Update docs/sources/datasources/loki.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-03-23 17:00:18 +01:00
Will Browne d7862c50b8 Plugins: Migrate CloudWatch to backend plugin SDK (#31149)
* first pass

* add instance manager

* fix tests

* remove dead code

* unexport fields

* cleanup

* remove ds instance from executor

* cleanup

* inline im

* remove old func

* get error working

* unexport field

* let fe do its magic

* fix channel name

* revert some tsdb changes

* fix annotations

* cleanup
2021-03-23 16:32:12 +01:00
achatterjee-grafana e165eda283 Updated introduction and added a note. (#32236) 2021-03-23 09:24:22 -04:00
Josh Hunt f1917f81b9 AzureMonitor: use undefined for empty Metrics values in jsonData (#32230)
* Remove old angular Metrics view controller code

* Make Metrics unset fields "undefined"

* add checks for 'select' in filterQuery

* fix tests
2021-03-23 12:31:04 +00:00
Torkel Ödegaard ca8295e298 PanelEditorTabs: Fixes theme and update issues when queries change from outside (#32204)
* PanelEditorTabs: Fixes theme and update issues when queries change from outside

* Remove unnessary arrow function

* Removed setState
2021-03-23 13:08:06 +01:00
Uchechukwu Obasi 49a5b9f0cb Legacy Switch: updates story from knobs to controls (#32249)
* Legacy Switch: updates story from knobs to controls

* destructure arguments appropriately
2021-03-23 12:33:27 +01:00
Uchechukwu Obasi 814f194d07 Form Legend: updates story from knobs to controls (#32250) 2021-03-23 12:30:13 +01:00
Dimitris Sotirakis fdaac2b8fb Notifications: InfluxDB - Fix regex to include metrics with hyphen in aliases (#32224)
* Notifications: InfluxDB - fix regex to include metrics with hyphen

* Add hyphen check in tests
2021-03-23 13:14:21 +02:00
Andrej Ocenas 89a178dfb4 Explore: Fix issue when some query errors were not shown (#32212)
* Remove getFirstNonQueryRowSpecificError

* Move some error handling to separate component

* Update public/app/features/explore/ErrorContainer.tsx

Co-authored-by: Giordano Ricci <gio.ricci@grafana.com>

* Add comments

* More explicit expects

* Update tests with proper expects

Co-authored-by: Giordano Ricci <gio.ricci@grafana.com>
2021-03-23 11:58:09 +01:00
Jack Westbrook 7317daf80e chore(deps): remove load-grunt-tasks dependency (#32070) 2021-03-23 10:50:44 +01:00
Dimitris Sotirakis ffd924fc28 Chore: Modify observability-squad code ownership (#32242)
* Chore: Add observability-squad as code owners on InfluxDB backend code

* Add more packages to observability-squad ownership
2021-03-23 10:49:29 +01:00
Uchechukwu Obasi 59d6f26708 Legacy Select: updates story from Knobs to Controls (#32225)
* Legacy Story: updates story from Knobs to Controls

* removed type in story

* adds type back to the story
2021-03-23 10:44:39 +01:00
Ha. Huynh Sam 014a4cda9d DashboardSettings: Fixes issue with tags list not updating when changes are made (#32241) 2021-03-23 10:03:52 +01:00
Uchechukwu Obasi 61ea7b5290 ButtonSelect: updates story from knobs to controls (#32229)
* ButtonStory: updates story from knobs to controls

* removed type in story

* changed to a much descriptive variable name

* adds type back to the story
2021-03-23 09:52:48 +01:00
Arve Knudsen ed9b623b37 Chore: Recompile protobuf (#32232)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-03-23 09:47:52 +01:00
Ivana Huckova cfdb9db775 Logs: If log message missing, use empty string (#32080)
* Fix error when message in undefined and add test

* Fix typo
2021-03-23 09:17:55 +01:00
Nirojan Vythilingam d45b341fc1 Add cloudwatch metrics for managed RabbitMQ service (#31838)
Co-authored-by: Nirojan Vythilingam <nirojan@users.noreply.github.com>
2021-03-23 08:44:30 +01:00
Hugo Häggmark 51e7b87f39 Playlist: Migrates New/Edit pages to React (#32218)
* WIP: initial commit

* Playlist: Migrates New/Edit to React

* Tests: adds tests for PlaylistForm

* Tests: adds more tests

* Chore: moved some styles

* Chore: updates after PR review
2021-03-23 07:45:04 +01:00
Leon Sorokin 066c9c8ff4 GraphNG: accept number for spanNulls to indicate max threshold below which nulls are connected (#32146) 2021-03-22 23:00:34 -07:00
Ryan McKinley da987caa60 Debug panel: add a new alpha panel to help debugging (#32187) 2021-03-22 20:38:24 -07:00
Leon Sorokin 8c4cbd39aa StreamingDataFrame: use concat/slice, add maxDelta support (#32047) 2021-03-22 16:44:05 -07:00
dependabot[bot] fbe5f1ce4b Chore(deps): Bump google.golang.org/api from 0.41.0 to 0.42.0 (#32016)
Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.41.0 to 0.42.0.
- [Release notes](https://github.com/googleapis/google-api-go-client/releases)
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/master/CHANGES.md)
- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.41.0...v0.42.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-22 19:51:25 +01:00
dependabot[bot] d8f4a5735b Chore(deps): Bump github.com/aws/aws-sdk-go from 1.38.1 to 1.38.2 (#32233)
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.38.1 to 1.38.2.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.38.1...v1.38.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-22 19:46:48 +01:00
Arve Knudsen 10bb3561f5 Docs: Document upgrading of protobuf (#32227)
* Docs: Document upgrading of protobuf

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Document protobuf re-compiling

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update CODEOWNERS

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-03-22 19:28:33 +01:00
Andrej Ocenas 3ef9cac640 Tempo: Return new version of dataframe schema directly from the backend (#32116)
* Return dataframe directly from the backend

* Streamline some transforms

* Fix lint issues

* Remove unused lib

* Fix datasource test

* Fix imports and add some typings

* Fix the typings and some tests

* Add private doc comment

* Remove private tag

* Add comments

* Fix some API docs issues
2021-03-22 19:09:15 +01:00
Andrej Ocenas f8ec947700 Revert "Add min time interval in opentsdb plugin (#31534)" (#32226)
This reverts commit 4a2ba2a3ab.
2021-03-22 18:39:59 +01:00
dependabot[bot] 4c3343deea Chore(deps): Bump github.com/golang/protobuf from 1.4.3 to 1.5.1 (#32199)
Bumps [github.com/golang/protobuf](https://github.com/golang/protobuf) from 1.4.3 to 1.5.1.
- [Release notes](https://github.com/golang/protobuf/releases)
- [Commits](https://github.com/golang/protobuf/compare/v1.4.3...v1.5.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-22 18:02:47 +01:00
Erik Sundell c1d53bd646 CloudWatch: Use latest version of aws sdk (#32217)
* use latest version of aws sdk

* use yet a newer version
2021-03-22 17:04:08 +01:00
Ryan Showalter de0c98771f Units: add inches (in) and pounds (lb) (#32196) 2021-03-22 08:28:39 -07:00
Zoltán Bedi 7cd89b244e Docs: Fix link for image rendering (#32220) 2021-03-22 15:59:19 +01:00
Josh Hunt 7389b2ecac Grafana-UI: Allow <Select /> value to be unset (#32136)
* Fix: Allow <Select /> value to be unset

* clean up

* fix null object in select onChange

* Revert "fix null object in select onChange"

This reverts commit 4b157073884938e5e6a1fac1bbafa7c6017cb361.

* undo onChange arg type change

* fix tests
2021-03-22 14:45:27 +00:00
Gary Wang 4a2ba2a3ab Add min time interval in opentsdb plugin (#31534)
* #31533 Add min time interval in Opentsdb plugin

* add docs to explain min time interval in opentsdb plugin

* Update docs/sources/datasources/opentsdb.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/datasources/opentsdb.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* optimize docs

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2021-03-22 10:35:48 -04:00
Kevin Minehart 067bd5e604 add name of query caching feature flag in docs (#32215)
* add name of query caching feature flag in docs

* update caching config link
2021-03-22 15:10:19 +01:00
Alexander Zobnin 20bd591bea Access control: Basic structure and functionality behind feature toggle (#31893)
Co-authored-by: Alexander Zobnin <alexander.zobnin@grafana.com>
Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
Co-authored-by: Arve Knudsen <arve.knudsen@grafana.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@grafana.com>
2021-03-22 13:22:48 +01:00
Leon Sorokin fd9dee87e4 EchoSrv: remove deprecated tti-polyfill (#32140)
* EchoSrv: remove deprecated tti-polyfill

* more cleanup
2021-03-22 10:42:02 +01:00
Jon Gyllensward 9cb865ea5c Merge branch 'master' of https://github.com/grafana/grafana 2021-03-22 10:09:33 +01:00
Jon Gyllensward 0c73569606 Changed name of feature flag 2021-03-22 10:09:15 +01:00
dependabot[bot] 789fe97f51 Chore(deps): Bump github.com/prometheus/client_golang (#32198)
Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prometheus/client_golang/compare/v1.9.0...v1.10.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-22 09:37:54 +01:00
Torkel Ödegaard f344d4422e APIKeys: Fixes issue with adding first api key (#32201) 2021-03-22 09:26:22 +01:00
dependabot[bot] a1c632ec13 Chore(deps): Bump github.com/aws/aws-sdk-go from 1.37.32 to 1.38.1 (#32197)
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.37.32 to 1.38.1.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.37.32...v1.38.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-22 09:10:03 +01:00
Tom Daly 55258f2795 32120: Add missing Redshift metrics to CloudWatch data source (#32121) 2021-03-22 08:58:16 +01:00
Torkel Ödegaard 5821783068 Themes: Switch theme without reload using global shortcut (#32180)
* Themes: Switch theme without reload using global shortcut

* Review updates
2021-03-22 08:48:53 +01:00
Hugo Häggmark 79f0cf7874 LibraryPanels: Changes to non readonly reducer (#32193) 2021-03-22 08:09:27 +01:00
Dominik Prokop 79e8db98a5 Update latest.json to 7.5.0-beta2 (#32167) 2021-03-19 16:28:57 +01:00
Grot (@grafanabot) b2c3189f27 ReleaseNotes: Updated changelog and release notes for 7.5.0-beta2 (#32160)
* ReleaseNotes: Updated changelog and release notes for 7.5.0-beta2

* Release notes link update

* Update CHANGELOG.md

* Apply suggestions from code review

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2021-03-19 15:34:14 +01:00
Owen Diehl 93d0f7163f [Alerting] Forking LoTex ruler (#32138)
* updates alerting api to master

* skeleton for lotex ruler

* withPath helper & legacyRulerPrefix const

* forked ruler

* wires up proxy

* safeMacaronWrapper

* working proxy

* jsonExtractor

* lint
2021-03-19 10:32:13 -04:00
Hugo Häggmark c8b59b79c3 Chore: Fix strict errors, down to 340 (#32109)
* Chore: reduces misc reducerTester strict issues

* Chore: fixes various strict errors in reducer tests for ElasticSearch

* Chore: lowers errors in AzureMonitor DataSource tests
2021-03-19 13:10:03 +01:00
Arve Knudsen d3544d6df1 PluginManager: Increase DI priority (#32111)
* PluginManager: Increase DI priority

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* BackendPluginManager: Don't rely on Init

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* BackendPluginManager: Fix tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Simplify code

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Remove stale field

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Simplify code

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2021-03-19 12:20:46 +01:00
Carl Bergquist 862cd473eb HttpServer: Make read timeout configurable but disabled by default (#31575)
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-03-19 11:21:52 +01:00
Dominik Prokop fb337e5c1d GraphNG: Ignore string fields when building data for uPlot in GraphNG (#32150) 2021-03-19 10:43:55 +01:00
Tania B ea484312a0 Fix loading timezone info on windows (#32029)
* Fix loading timezone info on windows

* Move setting zoneinfo to config load

* Construct proper file path

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-03-19 11:14:49 +02:00
Oscar Kilhed f48a52e590 Remove datalink template suggestions for accessing specific fields when there are multiple dataframes. (#32057)
* Don't suggest template strings using fields when there are mutliple dataframes

* Change to use label instead of state
2021-03-19 09:28:15 +01:00
Ganesh Vernekar 8854001b67 AlertingNG: Refactor notifier to support config reloads (#32099)
* AlertingNG: Refactor notifier to support config reloads

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>

* Fix review comments and make reloading of config a sync operation

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>

* Fix review comments

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
2021-03-19 09:26:00 +01:00
Joan López de la Franca Beltran 5c07df9f4b Chore: Replace Command dispatches by explicit calls (#32131)
* Clean up GetProvisionedDashboardDataByIdQuery

* Clean up SaveProvisionedDashboardCommand

* Clean up & fix AddTeamMemberCommand usages

* Clean up & fix UpdateUserPermissionsCommand usages

* Lint imports
2021-03-19 09:14:14 +01:00
Hugo Häggmark f8d5388758 MixedDataSource: Name is updated when data source variable changes (#32090) 2021-03-19 06:37:17 +01:00
Torkel Ödegaard cb2a63b5c6 Plugin: PanelRenderer and simplified QueryRunner to be used from plugins. (#31901) 2021-03-18 21:40:27 +01:00
Andrew Riedel 30e5afa18c DashboardList: Enable templating on search tag input (#31460)
* Add variable interpolation for dashlist panel.

* Update docs/sources/panels/visualizations/dashboard-list-panel.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Fix variable interpolation for dashlist panel to work with all syntax.

* Update docs/sources/panels/visualizations/dashboard-list-panel.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Fix prettier issues.

* Fix prettier issues.

* Update docs/sources/panels/visualizations/dashboard-list-panel.md

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

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-03-18 19:39:03 +01:00
Leonard Gram 66b8179967 release notes v7.3.10 and v7.4.5 (#32135) 2021-03-18 19:25:48 +01:00
gotjosh cc74b1fe46 Alerting: Add database table for persisting alerting configuration (#32042)
* Alerting: Add database table for persisting alerting configuration

* Fix the linter

* Address review comments

* Don't split templates and configuration

It is already bundled together as part of a of the API so might as well
marshall it directly.
2021-03-18 18:12:28 +00:00
Leonard Gram 6c7f0fece8 latest updated to 7.4.5 (#32132) 2021-03-18 18:54:46 +01:00
Leonard Gram eaa27c60ea changelog v7.4.5 (#32110)
* changelog v7.4.5

* changelog v6.7.6 and v7.3.10
2021-03-18 18:37:48 +01:00
Joan López de la Franca Beltran 020108e32d Chore: Tidy up Go deps (#32127) 2021-03-18 18:22:37 +01:00
Ivana Huckova 664b13d83e Explore: Support full inspect drawer (#32005)
* Move InspectSubtitle to grafana/ui

* Move inspect elements to features/inspector

* Move InspectJSON and use it also in Explore

* Move and use QueryInspector

* Move all to features/inspector

* WIP Data tab implementation

* Process dataframes for explores inspector

* Clean up

* Update test

* Clean up

* Fix Explore Inspector button name
2021-03-18 17:38:09 +01:00
Dominik Prokop a6cb9fb295 GraphNG: make sure dataset and config are in sync when initializing and re-initializing uPlot (#32106)
* Make sure dataset and uPlot config are in sync when rendering uPlot

* Tests

* Fix TS
2021-03-18 17:26:57 +01:00
Joan López de la Franca Beltran b2e82a4f37 Login: Replace command dispatch by explicit call (#32088)
* Fix LoginService.UpsertUser user creation

* Fix API AdminCreateUser user creation

* Add missing underscore import

* Fix API CompleteInvite user creation

* Fix API SignUpStep2 user creation
2021-03-18 17:16:56 +01:00
Ivana Huckova dfd4eccc7c Loki: Label browser UI updates (#31737)
* UI updates for Label Browser

* Revert "UI updates for Label Browser"

This reverts commit 3d34112762.

* UI updates for Label Browser

* Remove unused style
2021-03-18 16:28:02 +01:00
Ganesh Vernekar 0b788b5ce8 AlertingNG: Notification channel for emails (#31768)
* Email notification channel in ngalert

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>

* Use existing templating system

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>

* Update template and add unit tests

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>
2021-03-18 14:55:11 +00:00
Ottavio M. Hartman 7a9a52c317 Alerting: Enable Alert rule severity tag to override VictorOps Severity setting (#29392)
* add severity to victorops

* Update docs, add test

* Fix spelling and lint

* fix resolving not working

* Update docs/sources/alerting/notifications.md

* Update docs/sources/alerting/notifications.md

* Update docs/sources/alerting/notifications.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/alerting/notifications.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* remove table, update supported alert notifiers

* add docs

* 7.4->7.5

* fix

* Update docs/sources/alerting/notifications.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2021-03-18 09:50:07 -04:00
Uchechukwu Obasi 61521216ed Docs: updates developer guide with useful resources for windows setup (#32075)
* Docs: updates developer guide with useful resources for windows setup

* fixes small grammar nits
2021-03-18 09:39:54 -04:00
Arve Knudsen 5a0780801b SQLStore: Close session in withDbSession (#31775)
* SQLStore: Close session in withDbSession

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* SQLStore.WithDbSession: Never use session from context

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-03-18 14:27:59 +01:00
Arve Knudsen a2eda798e7 PluginManager: Make remaining plugin state non-global (#32094)
* PluginDashboards: Use plugin manager interface

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* PluginManager: Make panels non-global

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* PluginManager: Make apps non-global

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* PluginManager: Make static routes non-global

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* PluginManager: Make pluginTypes non-global

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-03-18 13:53:01 +01:00
Torkel Ödegaard 1454c3723d PanelChrome: new logic-less emotion based component with no dependency on PanelModel or DashboardModel (#29456)
* WIP: Started work on a new panel chrome component

* Minor progress

* Next icons & state

* adding support for leftItems.

* fixing duplicated exports of PanelChrome.

* adding examples on loading indicator in storybook.

* adding API stability docs.

* removed dependency on stylesFactory.

* fixed docs errors.

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2021-03-18 13:22:19 +01:00
Dominik Prokop b0d7e3dbee GraphNG: Fix tooltip series color for multi data frame scenario (#32098) 2021-03-18 13:16:36 +01:00
Kyle Brandt 026bf1f9ca SSE/InfluxDB: Change InfluxQL to work with server side expressions (#31691)
* SSE/InfluxDB: Change InfluxQL to work with server side expressions
updates the request to handle EpochMS as the time range (which is what expressions sends)
and the response to use millisecond timestamps instead of seconds.
fixes #31604
similar to https://github.com/grafana/grafana/pull/31455
2021-03-18 08:02:37 -04:00
Uchechukwu Obasi 52c1d7301f ContextMenu: changed menu item rendering to render prop pattern (#31993)
* ContextMenu: changed menu item rendering to render prop pattern to enable manual composition of menu items

* fixes affected components

* fixes small nits

* added some changes

* used a more descriptive variable name
2021-03-18 12:58:07 +01:00
Hugo Häggmark 8b2a0e3b2c Chore: Auto adds templating label in PRs (#32085)
* Chore: Auto adds templating label in PRs

* Fixes: formatting and json
2021-03-18 12:35:07 +01:00
Hugo Häggmark f508a16a43 LibraryPanels: Improves the Get All experience (#32028)
* LibraryPanels: Improves Get All Api

* Refactor: using useReducer instead of useState

* Refactor: adds Pagination to UI

* Tests: adds reducer tests

* Refactor: using Observable instead to avoid flickering

* Refactor: moves exclusion to backend instead

* Chore: changing back the perPage default value
2021-03-18 11:19:41 +01:00
G Gordon Worley III 0fbe7f7f52 Docs: Add mention of preferredVisualisationType in logs datasource guide (#31910)
* Add mention of preferredVisualisationType to get Log Panel to display

The instructions don't work right now. As described, it was necessary for me to set the preferredVisualisationType to 'logs' to get the log view in Explore. I spent several hours digging around the code to figure this out, so hopefully we can save others the time with this doc update.

* Update docs/sources/developers/plugins/build-a-logs-data-source-plugin.md

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>

* Update docs/sources/developers/plugins/build-a-logs-data-source-plugin.md

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>

* Update docs/sources/developers/plugins/build-a-logs-data-source-plugin.md

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>

Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2021-03-18 10:44:53 +01:00
Marcus Andersson 69201bbf8c Plugins: moving the DataSourcePicker to grafana/runtime so it can be reused in plugins (#31628)
* moved the datasource picker to grafana-runtime.

* fixed imports.

* added e2e selectors as an external package.

* adding react as external package.

* exposing dependent types for DataSourcePicker.

* added docs for ui components.

* moving component to components.
2021-03-18 10:44:26 +01:00
Denis Hilt 8fafe95728 DashNav: Pass typed event through the DashNav button onClick handler (#32084)
* Pass typed event thorough the DashNav button onClick handler

Event.stopPropagation() method needs to be called in some cases. This change addresses typescript error Type '(event: ...) => void' is not assignable to type '() => void'.

* Pass typed event thorough the DashNav button onClick handler

* Import MouseEvent from React
2021-03-18 08:23:58 +01:00
Dimitris Sotirakis 2d72b4e69e Prometheus: Convert Prometheus query response to dataframes (#31948)
* Convert Prometheus query response to dataframes

* Add parseResponse tests

* Fixed lint imports

* Force use UTC as timezone in timeVector

* Updated test to check timezone
2021-03-18 08:40:26 +02:00
Ryan McKinley 5bb1b1602d Live: use StreamingDataSource for live measurments (#31713) 2021-03-17 21:46:56 -07:00
achatterjee-grafana 5286ddbbc0 Updated broken link for Graph panel documentation. (#32082) 2021-03-17 16:49:19 -04:00
Owen Diehl 7a4ab13a79 API Response implements http.ResponseWriter (#32046)
* rename response.Header -> response.SetHeader to free up method name for http.ResponseWriter ifc

* normalresponse implements http.ResponseWriter
2021-03-17 13:12:28 -04:00
Owen Diehl 36614b03f7 Data Source Proxy: Migrate proxy to its own service and make more extensible (#31927)
* datasource proxy extensions

* revert normalresponse extensions

* data proxy service impl

* lint

* api datasource proxy method

* moves datasource proxy tests into correct new pkg
2021-03-17 13:10:40 -04:00
Torkel Ödegaard e935e4979f TimePicker: Fixes hidden time picker shown in kiosk TV mode (#32062)
* TimePicker: Fixes hidden time picker shown in kiosk TV mode

* Use kioskmode passed via props

* Update snaps

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2021-03-17 18:03:05 +01:00
Ganesh Vernekar 974ccf8091 AlertingNG: Fix the alerting stage for legacy alerts (#32025)
Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>
2021-03-17 16:38:33 +00:00
Marcus Efraimsson 866912d62c Update pr commands glob paths (#32074) 2021-03-17 16:53:22 +01:00
Marcus Efraimsson 2bac4d1787 Update pr commands glob paths (#32073) 2021-03-17 16:48:21 +01:00
Gábor Farkas 8285a34f4c influxdb: raw-influxql editor: fix state-management bug (#32035)
* influxdb: raw-influxql editor: state-management bug fixed

* influxdb: simplified code
2021-03-17 16:32:40 +01:00
Dimitris Sotirakis 3a841ebe00 Downgrade to node:14.16.0-alpine3.13 (#32065) 2021-03-17 17:07:39 +02:00
Arve Knudsen 87c3a2b790 PluginManager: Make Plugins, Renderer and DataSources non-global (#31866)
* PluginManager: Make Plugins and DataSources non-global

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix integration tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Replace outdated command

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* DashboardService: Ensure it gets constructed with necessary parameters

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix build

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* DashboardService: Ensure it gets constructed with necessary parameters

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Remove dead code

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix test

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix test

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Remove FocusConvey

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix test

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Remove dead code

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Undo interface changes

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Backend: Move tsdbifaces.RequestHandler to plugins.DataRequestHandler

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Rename to DataSourceCount

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Consolidate dashboard interfaces into one

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix test

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Fix dashboard integration tests

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-03-17 16:06:10 +01:00
Marcus Efraimsson f1df32ac03 Update pr commands glob paths (#32068) 2021-03-17 15:20:20 +01:00
Uchechukwu Obasi f93166e7b2 Legacy Input: updates story from knobs to control (#32059) 2021-03-17 14:43:31 +01:00
Dominik Prokop 48f46a597f GraphNG: Fix PlotLegend field display name being outdated (#32064) 2021-03-17 14:40:30 +01:00
Marcus Efraimsson c8d8dcd067 Automation: Label pull requests based on changed files (#32039)
* Automation: Label pull requests based on changed files

* Update commands

* Updates for build-packaging

* fix path to backend architecture docs
2021-03-17 12:49:57 +01:00
dependabot[bot] b95fd1d1ce Chore(deps): Bump github.com/aws/aws-sdk-go from 1.37.30 to 1.37.32 (#32058)
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.37.30 to 1.37.32.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.37.30...v1.37.32)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-17 12:23:11 +01:00
Marcus Efraimsson c0edf88f9f Data proxy: Fix encoded characters in URL path should be proxied encoded (#30597)
Fix encoded characters in URL path should be proxied as encoded in the data proxy.

Fixes #26870 
Fixes #31438

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-03-17 12:17:41 +01:00
Sofia Papagiannaki 68b05b8aaa AlertingNG: Unified alerting API mock (#32040)
* AlertingNG: Alertmanager mock API

* AlertingNG: Remove permissions API routes

* Add example POST payloads

* Prometheus and testing mock API
2021-03-17 12:47:03 +02:00
Uchechukwu Obasi ee8a864615 Form: update story from knobs to controls (#32022)
* Form: update story from knobs to controls

* some code cleanup
2021-03-17 11:14:39 +01:00
Giordano Ricci 0c2045109e Chore: Collect elasticsearch version usage stats (#31787)
* Chore: Collect elasticsearch version usage stats

* Fix lint error

* use GetDataSources from sqlstore

* Apply review suggestions

* Return error if datasource type is not specified

* Update pkg/services/sqlstore/datasource.go

* fix undefined var
2021-03-17 09:14:53 +00:00
Will Browne 8e1c2d6472 move backend docs to their relevant folder (#32041) 2021-03-17 09:41:16 +01:00
Marcus Andersson 93f17bd2b3 Graphite: Support request cancellation properly (Uses new backendSrv.fetch Observable request API) (#31928)
* changed so we use fetch.

* moved tests to be at the same level as the datasource.

* fixing tests after migrating to fetch.

* removed unused dep.

* refactorings according to feedback.

* adding missing typing.
2021-03-16 18:21:38 +01:00
Joan López de la Franca Beltran 610999cfa2 Auth: Allow soft token revocation (#31601)
* Add revoked_at field to user auth token to allow soft revokes

* Allow soft token revocations

* Update token revocations and tests

* Return error info on revokedTokenErr

* Override session cookie only when no revokedErr nor API request

* Display modal on revoked token error

* Feedback: Refactor TokenRevokedModal to FC

* Add GetUserRevokedTokens into UserTokenService

* Backendsrv: adds tests and refactors soft token path

* Apply feedback

* Write redirect cookie on token revoked error

* Update TokenRevokedModal style

* Return meaningful error info

* Some UI changes

* Update backend_srv tests

* Minor style fix on backend_srv tests

* Replace deprecated method usage to publish events

* Fix backend_srv tests

* Apply suggestions from code review

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>

* Minor style fix after PR suggestion commit

* Apply suggestions from code review

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>

* Prettier fixes

Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
2021-03-16 17:44:02 +01:00
Andrej Ocenas a1c7e0630d Docs: Update section on plugin dev for explore (#31905)
* Update section on preferredVisualisationType

* wording changes

* Update docs/sources/developers/plugins/add-support-for-explore-queries.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/add-support-for-explore-queries.md

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>

* Update docs/sources/developers/plugins/add-support-for-explore-queries.md

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
2021-03-16 17:25:10 +01:00
Dominik Prokop 48eb747da0 Routing NG: Fix persistent modal after dashboard delete (#32033) 2021-03-16 17:10:47 +01:00
Marcus Efraimsson a97637a133 Snapshots: Fix usage of sign in link from the snapshot page (#31986)
Fix redirect to login page from snapshot page when not authenticated.

Fixes #28547
2021-03-16 16:46:34 +01:00
Marcus Efraimsson 669a616797 Chore: Remove unused dependencies (#32031) 2021-03-16 16:26:38 +01:00
Vicky Lee e5ca13deb6 Grafana/ui: display all selected levels for selected value when searching (#32030)
* display all levels for selected values when searching if needed

* add test
2021-03-16 15:10:05 +00:00
Kevin Minehart 6e1c5e957a Enterprise: Add Redis caching documentation (#32001)
* Document Redis cache config in Grafana Enterprise

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
2021-03-16 15:35:52 +01:00
Gábor Farkas 13fd2bd53f devenv: removed min-interval setting from influxdb-datasources (#32002) 2021-03-16 14:42:28 +01:00
Dominik Prokop e967ad9ca9 Routing NG: Fix time range zoom not working when refresh enabled (#32023)
* Fix time range zoom not working when refresh enabled

* Review update
2021-03-16 14:25:40 +01:00
Zoltán Bedi bb8a703428 Exemplars: always query exemplars (#31673)
* Exemplars: always query exemplars

* Update exemplar button to be an eye

* Add tooltip to eye button
2021-03-16 13:58:51 +01:00
Uchechukwu Obasi ec95049a95 FormField: update story from knobs to controls (#32018) 2021-03-16 12:49:46 +01:00
Uchechukwu Obasi cc29bc3c5d FieldValidationMessage: update story from knobs to controls (#32020) 2021-03-16 12:49:25 +01:00
Gábor Farkas 56bc9a5da7 devenv: fix incorrect url in datasource-config (#32000) 2021-03-16 11:50:38 +01:00
Piotr Jamróz 6495a73ebd Graphite: fix autocomplete when tags are not available (#31680)
* Return empty list of tags when tags are not available

In some configurations graphite-web fail to return the list of tags. It shouldn't however prevent displaying list of metrics (which is concatenated with tags).

* Populate jsonData with default version of Graphite

The version of Graphite is preselected in the dropdown but was not saved in jsonData initially.

* Fix a typo

* Show a popup with an error message

* Always use the latest Graphite value as the default one when creating a datasource

* Move autocomplete error handling to GraphiteQueryCtrl

* Test error handing in Graphite autocomplete

* Test default Graphite version fallback

* Rename graphite_versions.ts to versions.ts

* Remove redundant import

* Code formatting, minor renaming

* Remove redundant error info
2021-03-16 10:59:53 +01:00
Arve Knudsen 6081c00119 Docs: Document backend package hierarchy model (#31930)
* Docs: Document backend package hierarchy model

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-03-16 10:49:01 +01:00
Gábor Farkas cbaf700d64 influxdb: switch the raw influxql editor from angular to react (#31860)
* influxdb: switch the raw influxql editor from angular to react

* influxdb: raw-influxql: better callback-naming

* influxdb: raw-influxql: use custom hook

* influxdb: flux: raw-editor: add unit tests
2021-03-16 10:47:33 +01:00
Ganesh Vernekar ecbc98ba5d AlertingNG: Add alert provider and basic structure with dispatcher, silences and delivery stages (#31833)
* AlertingNG: Add alert provider

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>

* Add unit tests

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>

* Alertmanager WIP

* Merge alertmanager into notifier

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>

* Fixes for PR 31833 (#31990)

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>

* Use alertmanager from upgrad-uuid temporarily to unblock

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>

* Fix lint

Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>

Co-authored-by: Josue Abreu <josue@grafana.com>
2021-03-16 10:44:52 +01:00
Dominik Prokop e9402a56ba Make master green (#32011) 2021-03-16 09:55:02 +01:00
Zoltán Bedi fe763d7d92 Chore: Jaeger ds to use new fetch api (#31969) 2021-03-16 09:39:35 +01:00
Dominik Prokop 0d92425bb8 RoutingNG: Fix infinite loop caused by history state not being cleaned up (#31952)
* Fix infinite loop caused by history state not being cleaned up

* Ude forceRouteReload counter instead of bool flag

* Review fix
2021-03-16 09:27:32 +01:00
Ryan McKinley 7552711660 Streaming: use StreamingDataFrame for testdata client streaming example (#31998) 2021-03-15 12:16:40 -07:00
Dominik Prokop b0b2ba0157 TooltipContainer - use resize observer instead of getClientBoundingRect (#31937)
* TooltipContainer - use resize observer instead of getClientBoundingRect

* Well, let's screw Safari, shall we?

* Memoize resize observer

* Make ts happy happy happy
2021-03-15 18:08:43 +01:00
Komalis 50e5342379 InfluxDB: Support region annotations (#31526) 2021-03-15 17:29:11 +01:00
Hugo Häggmark bc60ce9cce Variables: Fixes filtering in picker with null items (#31979)
* Variables: Fixes filtering in picker with null items

* Chore: some cleanup
2021-03-15 15:45:32 +01:00
Piotr Jamróz f97384c2f9 Replace AppEvents with notifyApp in Explore (#31864)
* Replace AppEvents with notifyApp in Explore

* Replace AppEvents with notifyApp in Explore-related components
2021-03-15 15:11:52 +01:00
Lê Đặng Hoài Nam 3507c1d188 Naming: Fix wrong reactive power (kVAr) (#31962)
* Naming: Fix wrong reactive power (kVAr)

* Update unit for reactive power
2021-03-15 15:09:00 +01:00
Ivana Huckova 240e65f693 Loki: Fix autocomplete when re-editing Loki label values (#31828)
* Allow re-editing of labels in Loki queries

* Update public/app/plugins/datasource/loki/language_provider.ts
2021-03-15 14:11:43 +01:00
Josh Hunt 2fb92789e7 Query editor: avoid avoiding word wrap on query editor components (#31949) 2021-03-15 10:15:14 +00:00
Peter Holmberg 9ffd88b103 AlertingNG: Refactor the query preview component (#31281)
* refactor to purecomponent

* use subscription in component

* correct onRunQueries

* move more things from render function

* fix issue with no queries

* pr feedback

* revert to FC

* redo some code layout, simplify if

* minor fixes after review
2021-03-15 10:17:21 +01:00
Marcus Olsson cf929237e1 Update plugin annotations docs (#31808) 2021-03-15 10:03:44 +01:00
Domas c479ca0161 RoutingNG: fix locationSrv.update when query is provided (#31978) 2021-03-15 11:02:45 +02:00
Hugo Häggmark 31ab1a4afe Variables: Ensures all variable values are strings (#31942)
* Variables: Ensures all variable values are strings

* Chore: remove redundant typings

* Chore: fixes tests
2021-03-15 08:52:44 +01:00
dependabot[bot] 16027770c8 Chore(deps): Bump google.golang.org/api from 0.40.0 to 0.41.0 (#31975)
Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.40.0 to 0.41.0.
- [Release notes](https://github.com/googleapis/google-api-go-client/releases)
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/master/CHANGES.md)
- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.40.0...v0.41.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-15 08:47:50 +01:00
dependabot[bot] a61765d2cc Chore(deps): Bump github.com/aws/aws-sdk-go from 1.37.26 to 1.37.30 (#31976)
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.37.26 to 1.37.30.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.37.26...v1.37.30)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-15 08:47:29 +01:00
Hugo Häggmark 66177e9463 PanelInspect: Interpolates variables in CSV file name (#31936)
* PanelInspect: Variables in CSV file name are interpolated

* Chore: fixes failing test
2021-03-15 08:44:13 +01:00
Joan López de la Franca Beltran 3e66328deb Chore: Tidy up Go deps (#31956) 2021-03-12 21:31:59 +01:00
Diana Payton 5e255cfd04 Update whats-new-in-v7-5.md (#31919) 2021-03-12 10:04:01 -08:00
Diana Payton ea185327ce Docs: Add pie chart docs (#31926)
* Create pie-chart-panel.md

* Update pie-chart-panel.md

* Create legend-mode.md

* Update pie-chart-panel.md

* Update _index.md

* Update pie-chart-panel.md

* Update _index.md

* Create panel-legend.md

* Update panel-legend.md

* content updates

* Update whats-new-in-v7-5.md

* Update docs/sources/whatsnew/whats-new-in-v7-5.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update pie-chart-panel.md

* Update docs/sources/panels/visualizations/panel-legend.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/panels/visualizations/panel-legend.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update docs/sources/panels/visualizations/pie-chart-panel.md

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>

* Update docs/sources/panels/visualizations/pie-chart-panel.md

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>

* Update docs/sources/panels/visualizations/pie-chart-panel.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

* Update panel-legend.md

* Update panel-legend.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2021-03-12 10:02:55 -08:00
Arve Knudsen 65c1cb62a7 Chore: Move tsdbifaces.RequestHandler to plugins.DataRequestHandler (#31897)
* Backend: Move tsdbifaces.RequestHandler to plugins.DataRequestHandler

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-03-12 18:26:07 +01:00
Will Browne 9454a4e125 add more context to unknown delta log (#31943) 2021-03-12 15:38:23 +01:00
Ivana Huckova 91dde5c980 Loki: Fix type errors in language_provider (#31902)
* Add initial stat for logLabelOptions

* Refactor, update, remove

* Simplify
2021-03-12 15:21:30 +01:00
Robby Milo 57edbb4157 docs: add quick build (#31663)
* add quick docs build

* update docs
2021-03-12 08:53:17 -05:00
Ryan McKinley 9dd1d5f553 Cloudwatch: use shared library for aws auth (#29550)
* use sdk for handling auth

* fix broken test

* lint fixes

Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
2021-03-12 14:30:21 +01:00
Alex Khomenko 8404d54277 Variables: Do not reset description on variable type change (#31933) 2021-03-12 13:49:19 +02:00
Arve Knudsen 1716de88b5 DashboardService: Consolidate constructors (#31886)
* DashboardService: Consolidate constructors

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-03-12 11:51:02 +01:00
Dimitris Sotirakis f917c2ab0f Bug: Update react-use-measure dependency to fix docker-build-full f… (#31802)
* Bug: Update `react-use-measure` dependency to fix docker-build-full failure

* Add #remove-cjs-export to point to the correct branch

* Add git package - update js-builder version
2021-03-12 12:28:54 +02:00
Arve Knudsen f7d6244fa2 Chore: Give backend platform ownership over backend architecture docs (#31931)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-03-12 10:30:00 +01:00
Piotr Jamróz d0fa7b81f0 Prevent submitting the datasource form in Loki's datasource configuration page (#31823) 2021-03-12 09:25:41 +01:00
Villena Guillaume c764bca58f ValueMappings: Fixes value 0 not being mapped (#31924)
* ValueMapping: Updated tests (#31877)

Checks if value 0 or '0' is considered as a numeric value

* ValueMapping: Changed implementation of isNumeric (#31877)

isNumeric now works with the 0 value

* fixed prettier issue

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-03-12 08:34:06 +01:00
Torkel Ödegaard 82e9d59121 GraphContextMenu: Fixes add annotation action & data links that cause full page reload (#31915)
* GraphContextMenu: Fixes add annotation action

* Fixed issue with data links causing full page reload

* A better solution to closing context menu
2021-03-12 07:25:14 +01:00
Kevin Minehart 34105a6db8 Docs: additional caching documentation (#31925)
* Update query-caching.md

* Update enterprise-configuration.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2021-03-11 22:45:16 +01:00
Marcus Andersson 66e810a5aa Plugins: exposing the getTimeZone function to be able to get the current selected timeZone. (#31900) 2021-03-11 22:24:49 +01:00
Sofia Papagiannaki fe628c6282 AlertingNG: base API implementation (#31824)
* AlertingNG: base API implementation

* Pass the interface instead of the base impl

* Ruler mock draft (WIP)

* Update alerting-api dependency

* Improve mock implementation
2021-03-11 21:28:00 +02:00
Diana Payton 3c76458015 Docs: Update dashboard-folder-permissions.md (#31908) 2021-03-11 13:26:53 -05:00
Vardan Torosyan e53b5afcd2 Licensing docs: Add docs about usage billing option (#31267) 2021-03-11 18:49:46 +01:00
Leon Sorokin 4c2ab6752e uPlot 1.6.7 (#31913) 2021-03-11 11:15:19 -06:00
Sofia Papagiannaki 53bccf1b77 Replace eval.Condition with models.Condition (#31909) 2021-03-11 18:56:58 +02:00
Vicky Lee 6fe2baf168 Grafana/ui: fix searchable options for Cascader with options update (#31906)
* update searchableOptions when this.props.options has been updated

* add tests for using state to update options for cascader component

* update story for cascader

* use memoizeOne
2021-03-11 16:41:08 +00:00
Gábor Farkas 3139a60012 influxdb: flux-editor: fix html.onchange bug with angular, improve types (#31765)
* influxdb: flux-editor: fix html.onchange bug with angular, improve types

* influx: flux: simplified bug-fix
2021-03-11 17:24:48 +01:00
Chris Cowan ee547b4410 Elasticseach: Support histogram fields (#29079) 2021-03-11 17:09:28 +01:00
kay delaney 48d2dff987 Migration/AlertList: Migrates AlertList from AngularJS to React (#31872)
* Migration/AlertList: Migrates AlertList from AngularJS to React
2021-03-11 14:53:13 +00:00
Diana Payton 93ead2a50c Docs: Permissions updates (#31843)
* moved restricting access content to a separate topic

* changed topic name

* Update organization_roles.md

* update link

* content updates
2021-03-11 09:52:48 -05:00
ying-jeanne a7e243db8a update bump-version.yml (#31542)
* update bump-version.yml

* Update bump-version.yml
2021-03-11 15:38:58 +01:00
Uchechukwu Obasi f51653647d Menu: refactor MenuItem and MenuGroup to be standalone component (#31639)
* Menu: refactor MenuItem and MenuGroup to be standalone component

* fixes small nits

* Chore: Refactored other components to correspond with the new Menu system (#31676)

* fixes affected components using Menu

* fixes affected components using Menu components

* fixes frontend test- I hope

* fixes frontend docs test- I hope

* fixes frontend docs test- I hope

* fixes frontend docs test- I hope

* fixes frontend docs test- I hope

* fixes frontend docs test- I hope

* added support for accessibility

* fixes frontend test- I hope

* Improve storybook story and simplify ButtonSelect

* Fixed broken graph context menu

* fixes frontend test- I hope

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-03-11 15:35:17 +01:00
Dominik Prokop 77a024abb3 Add deprecation warnigns to $location patch (#31898) 2021-03-11 15:05:35 +01:00
Alex Khomenko b017c65409 Chore: upgrade eslint and fork-ts-checker-webpack-plugin (#31854)
* Chore upgrade eslint, fork-ts-checker-webpack-plugin

* Update eslint version for grafana-toolkit

* Update @grafana/eslint-config version

* Update @grafana/eslint-config in grafana-toolkit

* Update lockfile
2021-03-11 13:39:43 +02:00
Josh Hunt 13a47aede2 AzureMonitor: Migrate Metrics query editor to React (#30783)
* AzureMonitor: Remove anys from datasource to get the inferred type

* AzureMonitor: Cast some datasource types

TODO: we want proper types for these

* AzureMonitor: Initial react Metrics editor components

* start dimension fields

* replace replaceTemplateVariable with datasource.replace, and rename onQueryChange to onChange

* actually just do template variable replacement in the datasource

* don't use azureMonitorIsConfigured

* Refactors, mainly around the metric metadata

 - Convert all the metric metadata options for the Select before its set into state
 - Stop using SelectableValue because it's basically any when all the properties are optional
 - the onChange function passed to the fields now just accepts the direct value, rather than wrapped in a SelectableValue

* added proper fields, and adding and removing for DimensionFields

* Update query with Dimension changes

* Width

* subscription and query type fields

* Should be feature complete now, more or less

* fix missing import

* fix lint issues

* set default subscription ID

* Starting to write some tests

* tests for query editor

* Remove subscription ID from the label in Metrics

But we keep it there for the angular stuff

* MetricsQueryEditor tests

* Update index.test.tsx

* fix tests

* add template variables to dropdowns

* clean up

* update tests

* Reorganise react components

* Group query fields into rows

* Rename Option type, add Azure response type

* Refactor Metrics metric metadata

 - Types the Azure API
 - Moves default metadata values into datasource

* nit

* update test
2021-03-11 11:37:39 +00:00
Pureewat Kaewpoi 05d6d32f3e Docker: Support pre-installing plugins from other sources in custom Dockerfiles (#31234)
Update custom Dockerfiles to support pre-installing plugins from other sources.

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2021-03-11 12:17:34 +01:00
Hugo Häggmark 9f92eb6859 AnnotationList: Adds spacing to UI (#31888)
* AnnotationList: Adds spacing to UI

* Tests: updates snapshots

* Chore: updates after PR comments
2021-03-11 11:59:35 +01:00
Dimitris Sotirakis d59574ec1e Update scripts and Dockerfiles to use Go 1.16.1 (#31881)
* Update scripts and Dockerfiles to use Go 1.16.1

* Update build-container image version to 1.4.1

* Update node version to 14.16.0-1nodesource1

* Updated drone configuration
2021-03-11 12:55:04 +02:00
Torkel Ödegaard 0179d23af0 DataQueryRequest: Remove unused props (#31876) 2021-03-11 10:39:41 +01:00
Piotr Jamróz 31cc36dbb0 Loki: Remove $__rate_interval from LogQL autocomplete (#31825)
* Remove $__rate_interval from LogQL autocomplete

* Remove unused const
2021-03-11 09:26:15 +01:00
Zoltán Bedi 3b6168eb4a Tempo: Add test for backend data source (#31835) 2021-03-11 08:18:24 +01:00
Oscar Kilhed e7757b0175 Add datalinks support to PieChart v2 (#31642)
* Remove default value for multiSelect

* Add data links support for PieChart v2

* Temporarily fix story

* Refactor PieSlice, deduplicate colors

* Add field config to context menu of pie chart

* Add custom key to legend

This is a bit hacky. When there are multiple DisplayValues with the same
title the react keys collide and LegendListItems are not cleared
correctly.

* Forgot to add the interface

* Fix missing tooltip in edit mode
2021-03-10 23:02:04 +01:00
Diana Payton 477a54ae54 Docs: Update whats new 7 5 (#31875)
* Update whats-new-in-v7-5.md

* Update whats-new-in-v7-5.md
2021-03-10 23:01:01 +01:00
Gopal Ramachandran 12a6e68763 Docs: fixes included readme within manage-teams page (#31878) 2021-03-10 22:37:05 +01:00
Josh Hunt a51cc050e2 Chore: type backendSrv.datasourceRequest (#31870) 2021-03-10 20:52:25 +01:00
Will Browne c40d96d0ab Plugins: Remove pre-existing plugin installs when installing with grafana-cli (#31515)
* remove old install before install if exists

* fix log format
2021-03-10 19:13:08 +01:00
Dominik Prokop a55a272276 Routing NG: Replace Angular routing with react-router (#31463)
* Add router packages

* Get react app root work instead of Angular one

* Logger util

* Patch Angular routing ($routeProvider, $routeParamsProvider)

* Use react-router-dom history instead of separate dependency

* Add test routes

* Sidemenu - use Link instead of anchors

* Patch Angular $location service (stub)

* WIP: geting rid of $location provider from TimeSrv

* Intercept anchor clicks to use history under the hood

* Sync Redux location slice with history state

* Make login/logout work

* Debug routes for testing

* Make force login work

* Make sure query param change does not recreate page components

* Hide side menu in specified locations

* Make the dashboar route query parameters work, make panel edit menu work

* Enable more routes

* Fix side menu

* Handle view modes

* Disable playlist routes

* Make SafeDynamicImport work again

* Bring back router-debug

* Separate redux location sync from route rendering

* Refactor updateLocation to thunk and move force refresh(login) to it

* Fixing init dashboard issue

* Support switching between dashboards without an unmount of DashboardPage

* More fixes for init dashboard and panel edit

* More type fixes

* Moving angular location wrapper out of main LocationService, and fixing typescript issues

* Fixed last typescript errors

* LocationService: Move to runtime and  remove getLocationService and export singleston const instead (#31523)

* Moving location service implementation to runtime and removing get function and making it a package const singleton

* Added test that used locationService directly

* removed unused import

* AngularApp: Moving angular dependencies and the app boot out of the main app into it's own file  (#31525)

* Fixes angular panels by calling the monkey patch

* Moving angular stuff to to it's own files

* udpated

* Fixing clicking on divs and spans inside anchor

* Moving app notifications out of angular app and removing angular directive wrapper

* Moving search from angular to react and removing angular search wrapper

* Clean up, tried to remove the redux location wrapper but requires a big update for DashboardPage, so adding it back

* Moving AppWrapper to root to limit circular dependencies (app/core -> app/routing and back)

* Open and close search now works

* Hide sidemenu when in kiosk mode

* Restoring some keybindings like ESC key

* Removed kiosk events and simplified it, just handled through updating URL

* Fixing typescript errors

* Simplified GrafanaRouteComponentProps and renamed to ContainerProps

* renamed back

* Changed AlertRuleList to use GrafanaRouteComponentProps and location.search passed to it

* Removing the reloadOnSearch property, this is not needed now for react as react by default does not unmount components when only url match or query parmas change

* SafeDynamicImport causing unmount un every search update, not sure how to fix yet

* Fix signature for SafeDynamicImport so we do not create new route components on every route render

* Removing the redux location wrapper as it was causing errors, and making dashboard page work with RouteProps (location, match) etc

* Updating DashboardPage and SoloPanelPage to use match params and history location

* Fixed DashboardPage tests

* Fixing solo route tests

* LocationService: Rename getCurrentLocation to just getLocation

* do not intercept link clicks with target blank or self

* Experimental useUrlParams hook

* Update DataSourceSettingsPage to use router match params

* fix links with urls that have no starting / to work like before

* Fix forceLogin

* Add queryParams to GrafanaRouteComponentProps

* PanelEditor get rid of updateLocation and location state

* Improve grafana route query params typing

* Add getSearchObject to LocationService

* Use DashboardPAge queryParams instead of location.search parsing

* Fix DashboardPage typing

* Fix some tests weirdness

* Bring back KeyboardSrv

* Fixes typescript issues

* Team pages now use router match params

* Get rid of  from GrafanaRouteComponent props

* Removed unnessary calls to getSearchObject when calling locationService.partial

* Updated DashboardPage tests after queryParams was added

* Fixing dashboard settings back

* GrafanaRoute: Adding tests and remove use of global locationService

* Fixing tests and typescript errors

* Bring back kiosk modes and add tests

* Fix TimeSrv tests

* Fix typecheck errors

* Fixing tests

* Updated SideMenu test to react-testing and wrapped component in Router, and fixed issue importing createMemoryHistory

* Get rid of routeChange event from TimeSrv from

* Fixed TopSectionItem test

* Trying to make basename work but failing

* Update TopSectionItem snapshot

* Fix TopSectionItem snapshot test

* Fix API keys creation

* Remove Angular dependencies from KeybindingSrv (#31617)

* Remove Angular dependency from KeybindingsSrv

* Fix tests and typecheck issues

* basename is starting to work

* Make dashboard save work

* KeybindingSrv: Remove as angular service and no usage angular scope

* So long bridge_srv, we won't miss you

* Update snapshots

* Dashboard: Refactoring ChangeTracker to use History api and no angular (#31653)

* Dashboard: Refactoring ChangeTracker to use History api and no angular

* Updated

* Removed logging

* fixed unit tests

* updated snapshots

* Mechanism for force reloading routes (#31683)

* e2e: Fixes various things in e2e scenarios after router migration (#31685)

* Explore: Update reading query params from router props and updating location via locationService (ReactRouter)  (#31688)

* RoutingNG: Initial explore redux location to router location migration

* Updated explore Wrapper tests

* Fixing more tests

* remove loggin

* rename back to make naming consistent

* Fixing return to dashboard button

* fixing navigation to explore from dashboard

* updated routeProps

* Updated tests

* Make DashboardListPage work

* Fixing navigation after add new data source, and fixes explore e2e

* Fixing solo panel page

* PluginsPage now works

* RoutingNG: When parsing and rendering url search/query params preseve old logic of handling booleans and arrays (#31725)

* RoutingNG: When parsing and rendering url search/query params preserve old logic of handling booleans and arrays

* Fixed test

* Make snapshots list work

* fixed alert notification channel edit page

* Simplify LocationService, did not need special handling for login or forceLogin as target _self on link already handles that

* fixed UserAdminPage

* fixed edit orgs page

* Fixing LdapPage

* fixing dashboard import

* Fixed new folder page

* Fixed data source dashboards page

* fixing Folder permissions and folder settings page

* fixing snapshot list page nav model

* remove unused file

* Added placeholder page for playlist

* Moved browser compatability to index-template

* Restored 404/default page

* Fixed reset password page

* Fixed SignUpInvited page

* Fixing CreateTeam, Create user page, add panel widget

* Restore browwser file to make tests happy

* Fixed unit tests

* Removed unused import

* Replacing usage of updateLocation

* Fixed test

* Updating search filters to use history / location service for filters

* remove unused file

* AppRootPage fixed

* Fixing test and search issue

* Changes to support enterprise extensions

* remove console.log

* Removing more use of redux location

* Fixed signup page

* removed unused old angular controllers

* Fixing bugs

* one final bugfix

* Removed location from redux state

* Fixing ts issues and tests

* Fixing test issue

* fixing tests

* Fixing tests

* removed unused stuff

* Fixed search test

* Adding some doc comments

* Routing NG: Angular location provider patch (#31773)

* Patch Angulars $location provider

* Update public/app/angular/bridgeReactAngularRouting.ts

* Remove only test

* Update tests, disable loggers in test env

* Routing NG: remove $location provider usage (#31816)

* Remove dashboard_loaders

* Remove $location from Analytics service, track page views form GrafanaRoute

* Remove NotificationsEditCtrl

* Remove Angular dependencies from uploadDashboardDirective

* Update public/app/features/dashboard/containers/DashboardPage.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Update public/app/features/dashboard/containers/DashboardPage.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Remove unused test helpers (#31831)

* Playlist react (#31829)

* playlist list in react

* Playlist start

* Things started to work

* Updated

* Handle empty list

* Fix ts

* Fixes and kiosk mode stuff

* Removed unused events

* fixing ts issue

* Another ts issue

* Fixing tests

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>

* fixed test

* Update public/app/AppWrapper.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Update public/app/AppWrapper.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Remove Angular dependency from DashboardLoaderSrv (#31863)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.org>
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2021-03-10 18:03:36 +01:00
Andrej Ocenas def58f1f4a Zipkin: Use new trace data format (#31830)
* Use new trace api for zipkin

* Fix datasource tests
2021-03-10 17:45:03 +01:00
Erik Sundell f135d75a22 CloudWatch: Consume the grafana/aws-sdk (#31807)
* consume the grafana/aws-sdk

* upgrade aws-sdk
2021-03-10 14:19:39 +01:00
Arve Knudsen d2aaaeb497 Backend: Tidy go.sum (#31858)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-03-10 13:13:50 +01:00
Arve Knudsen 47f13abf7a Backend: Migrate to using non-global configuration (#31856)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-03-10 12:41:29 +01:00
dependabot[bot] bac1721546 Chore(deps): Bump go.opentelemetry.io/collector from 0.21.0 to 0.22.0 (#31852)
Bumps [go.opentelemetry.io/collector](https://github.com/open-telemetry/opentelemetry-collector) from 0.21.0 to 0.22.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.21.0...v0.22.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-10 12:38:07 +01:00
Lê Đặng Hoài Nam 7764739a8e Alerting: Generate random id when testing notification channel (#31844) 2021-03-10 11:24:31 +01:00
Arve Knudsen 04e9f6c24f UsageStatsService: Don't use global state (#31849)
* UsageStatsService: Don't use global state

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-03-10 10:14:00 +01:00
Alex Khomenko 598a44076a Remove invalid attribute (#31848) 2021-03-10 10:24:14 +02:00
Agnès Toulet ac263f50d6 Docs: Update improved search image (#31827)
* Update image name

* remove added line
2021-03-10 08:22:15 +01:00
Erik Sundell d512c5a1b4 Cloudwatch: ListMetrics API page limit (#31788)
* add list metrics api page limit

* Update docs/sources/datasources/cloudwatch.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-03-10 07:41:22 +01:00
Leon Sorokin 04e46e3853 Tooltip: partial perf improvement (#31774) (#31837) 2021-03-09 14:25:40 -06:00
Erik Sundell 2d660ee502 CloudWatch: Restrict auth provider and assume role usage according to Grafana configuration (#31805)
* restrict usage of providers and assume role according to grafana config

* update docs

* Update docs/sources/datasources/cloudwatch.md

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/tsdb/cloudwatch/cloudwatch.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Update pkg/tsdb/cloudwatch/session_test.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* pr feedback

* fix failing test

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-03-09 21:20:59 +01:00
Erik Sundell 13dd9dff50 CloudWatch: Add support for EC2 IAM role (#31804)
* add support for iam role auth

* add stubbable func

* fix broken test

* goimports

* pr feedback
2021-03-09 20:50:16 +01:00
dependabot[bot] d583875a63 Chore(deps): Bump elliptic from 6.5.3 to 6.5.4 (#31834)
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.3 to 6.5.4.
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](https://github.com/indutny/elliptic/compare/v6.5.3...v6.5.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-09 20:28:59 +01:00
kay delaney 06a6fb405c Library Panels: Add "Discard" button to panel save modal (#31647)
* Library Panels: Add "Discard" button to panel save modal
2021-03-09 17:05:38 +00:00
Uchechukwu Obasi aee78f7527 Drawer: updates story from knobs to controls (#31821)
* Drawer: updates story from knobs to controls

* fixes small nit
2021-03-09 17:15:37 +01:00
Gábor Farkas 5e38d4538d devenv: add influxQL-compatible influxDB2 data-source (#31818)
* datasource: add influxQL-compatible influxDB2 data-source

* improved wording

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2021-03-09 16:56:42 +01:00
Agnès Toulet 1490cd7154 Docs: update improved search (#31686) 2021-03-09 16:30:14 +01:00
Ivana Huckova 53ba6456d4 Loki, Prometheus: Change the placement for query type explanation (#31784)
* Fix tooltip in the way

* Add more info for instant query

* Update public/app/plugins/datasource/loki/components/LokiOptionFields.tsx

* Update public/app/plugins/datasource/prometheus/components/PromExploreExtraField.tsx
2021-03-09 14:17:04 +01:00
kay delaney 3d459b556a Panel/PluginList: Migrate to React (#31738)
* Panel/PluginList: Migrate to React
2021-03-09 12:22:59 +00:00
Hugo Häggmark 63746d027b Variables: Improves inspection performance and unknown filtering (#31811)
* Refactor: moves inspect calculation to Redux

* Refactor: adds valid filters and tests
2021-03-09 12:49:05 +01:00
dependabot[bot] d60727311e Chore(deps): Bump github.com/aws/aws-sdk-go from 1.37.25 to 1.37.26 (#31790)
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.37.25 to 1.37.26.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.37.25...v1.37.26)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-09 10:24:20 +01:00
Giordano Ricci 7e0b1f2619 Templating: use dashboard timerange when variables are set to refresh 'On Dashboard Load' (#31721)
* Templating: use dashboard timerange when variables are set to load 'On Dashboard Load'

* Add test
2021-03-09 09:20:21 +00:00
Oscar Kilhed f951672e90 Change piechart plugin state to beta (#31797) 2021-03-09 09:19:45 +01:00
Leon Sorokin 1fcf2c30c6 GraphNG: uPlot 1.6.6 (#31795) 2021-03-09 00:14:14 -06:00
Hugo Häggmark bc5ea345e5 ReduceTransform: Include series with numeric string names (#31763)
* ReduceTransform: Include series with numeric string  names

* Chore: updates after PR comments
2021-03-09 06:02:38 +01:00
Diana Payton 0a13d10071 Update CODEOWNERS (#31789) 2021-03-08 21:52:26 +01:00
Sofia Papagiannaki 4ce0a49eac AlertingNG: Split into several packages (#31719)
* AlertingNG: Split into several packages

* Move AlertQuery to models
2021-03-08 22:19:21 +02:00
Diana Payton 124ef813ab Docs: Add Cloudwatch link 7.5 (#31785)
* Update whats-new-in-v7-5.md

* content changes
2021-03-08 09:28:36 -08:00
Diana Payton db32f741fc Docs: Add 7.5 whats new content (#31742)
* Update whats-new-in-v7-5.md

* Update whats-new-in-v7-5.md

* Update license-restrictions.md

* Update whats-new-in-v7-5.md
2021-03-08 08:28:37 -08:00
Uchechukwu Obasi 2e25dfc969 ConfirmModal: updates story from knobs to control (#31781) 2021-03-08 16:50:09 +01:00
Diana Payton 8f9cf851f7 Docs: Update organization_roles.md (#31744) 2021-03-08 07:48:53 -08:00
Grot (@grafanabot) 5645b11e91 ReleaseNotes: Updated changelog and release notes for 7.4.2 (#31776) 2021-03-08 16:17:52 +01:00
Fizz 6a7e8646aa Docs: Fix description for cdn_url describe (#31747)
after practice cdn sourece will from don't have `v` version url to get
2021-03-08 16:17:25 +01:00
Andrej Ocenas f029e84565 Devenv: Add tempo data source (#31138)
* Add tempo DS to devenv

* Remove unsupported values from config

* Add tempo ds

* Remove tempo-query
2021-03-08 16:04:42 +01:00
Zoltán Bedi ae9255e568 Docs: update whatsnew 7.5 with Tempo changes (#31772)
* Docs: update whatsnew 7.5 with Tempo changes

* Update docs/sources/whatsnew/whats-new-in-v7-5.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-03-08 16:01:57 +01:00
Carl Bergquist 3b36636318 Annotations: Make the annotation clean up batch size configurable (#31487)
Signed-off-by: bergquist <carl.bergquist@gmail.com>

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2021-03-08 14:16:07 +01:00
Ivana Huckova 445132a904 Fix escaping in ANSI and dynamic button removal (#31731) 2021-03-08 12:24:44 +01:00
Marcus Olsson c2a6f9623e Docs: Update plugin docs for annotation support (#31715)
* Update plugin docs for annotation support

* Update docs/sources/developers/plugins/add-support-for-annotations.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Update docs/sources/developers/plugins/add-support-for-annotations.md

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2021-03-08 10:46:48 +01:00
dependabot[bot] ee96861ce1 Chore(deps): Bump cloud.google.com/go/storage from 1.13.0 to 1.14.0 (#31613)
Bumps [cloud.google.com/go/storage](https://github.com/googleapis/google-cloud-go) from 1.13.0 to 1.14.0.
- [Release notes](https://github.com/googleapis/google-cloud-go/releases)
- [Changelog](https://github.com/googleapis/google-cloud-go/blob/master/CHANGES.md)
- [Commits](https://github.com/googleapis/google-cloud-go/compare/spanner/v1.13.0...spanner/v1.14.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-08 10:45:51 +01:00
Arve Knudsen fc9381744a UsageStatsService: Make initialization more robust (#31761)
* UsageStatsService: Make initialization more robust

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-03-08 10:33:20 +01:00
Agnès Toulet 451fdd4cda Docs: update license restrictions doc (#31508)
* Docs: update license restrictions doc

* wording and examples/clarification

* Update docs/sources/enterprise/license-expiration.md

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>

* Update docs/sources/enterprise/license-restrictions.md

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>

* Update license-restrictions.md

* Licensing doc: a user -> you

* Apply suggestions from code review

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>

* Docs: apply PR feedback

Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>
Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
2021-03-08 09:15:34 +01:00
dependabot[bot] 1a19a0e1e6 Chore(deps): Bump github.com/lib/pq from 1.9.0 to 1.10.0 (#31758)
Bumps [github.com/lib/pq](https://github.com/lib/pq) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/lib/pq/releases)
- [Commits](https://github.com/lib/pq/compare/v1.9.0...v1.10.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-08 08:14:26 +01:00
dependabot[bot] db37a04ded Chore(deps): Bump github.com/google/go-cmp from 0.5.4 to 0.5.5 (#31757)
Bumps [github.com/google/go-cmp](https://github.com/google/go-cmp) from 0.5.4 to 0.5.5.
- [Release notes](https://github.com/google/go-cmp/releases)
- [Commits](https://github.com/google/go-cmp/compare/v0.5.4...v0.5.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-08 08:14:12 +01:00
dependabot[bot] bf53b586a6 Chore(deps): Bump github.com/aws/aws-sdk-go from 1.37.20 to 1.37.25 (#31759)
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.37.20 to 1.37.25.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.37.20...v1.37.25)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-08 08:12:49 +01:00
Arve Knudsen b79e61656a Introduce TSDB service (#31520)
* Introduce TSDB service

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
Co-authored-by: Will Browne <will.browne@grafana.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.org>
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2021-03-08 07:02:49 +01:00
Carl Bergquist c899bf3592 log skipped, performed and duration for migrations (#31722)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2021-03-07 21:26:29 +01:00
Alex Khomenko ab2f405205 Search: Make items more compact (#31734) 2021-03-06 10:51:09 +02:00
Caleb Collins-Parks 0b6b8de6f8 loki_datasource: add documentation to label_format and line_format (#31710)
* add documentation to label_format and line_format

* fix linting

* Remove extra space
2021-03-05 23:27:14 +01:00
Mitch Seaman e23bae5ec5 Fix error in configuration options (#31745)
Configuration per data source is not available yet.
2021-03-05 22:43:43 +01:00
Ryan McKinley a61e636bcd DataFrameJSON: introduce a json format that supports same semantics as arrow (#31010) 2021-03-05 12:24:43 -08:00
Mitch Seaman 04e82add68 Docs: add query caching to Enterprise docs (#31741)
* Docs: add query caching to Enterprise docs

Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2021-03-05 14:07:07 -06:00
Vicky Lee 6819a25add Grafana/ui: display all selected levels for Cascader (#31729)
* add support for displaying all selected levels for cascader

* add story for Cascader with display all selected levels

* add tests for Cascader with displayAllSelectedLevels prop

* replace enzyme test with RTL for cascader
2021-03-05 18:26:31 +00:00
Andrej Ocenas d09afbda18 Docs: Add link to trace data API in whats new (#31728)
* Add link to docs

* Update docs/sources/whatsnew/whats-new-in-v7-5.md

Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
2021-03-05 19:10:40 +01:00
Zoltán Bedi 29c998f9eb Tempo: Convert tempo to backend data source2
This reverts commit c15d1f498a.
2021-03-05 14:28:17 +01:00
Giordano Ricci 64a8514e47 Elasticsearch: Fix script fields in query editor (#31681)
* Elasticsearch: Fix script fields in query editor

* properly name bucke_script deries
2021-03-05 12:48:45 +00:00
Andrej Ocenas 54f281d6ed Docs/Tracing: Add sections about schema of the trace data (#31644)
* Add sections about schema of the trace data

* Remove duplicate column
2021-03-05 13:42:21 +01:00
dependabot[bot] e65c5572cc Chore(deps): Bump github.com/influxdata/influxdb-client-go/v2 (#30800)
Bumps [github.com/influxdata/influxdb-client-go/v2](https://github.com/influxdata/influxdb-client-go) from 2.2.0 to 2.2.2.
- [Release notes](https://github.com/influxdata/influxdb-client-go/releases)
- [Changelog](https://github.com/influxdata/influxdb-client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/influxdata/influxdb-client-go/compare/v2.2.0...v2.2.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-05 12:29:54 +01:00
Ivana Huckova 2a2a6a3bfa Add Loki to list of alerting data sources (#31650) 2021-03-05 11:30:56 +01:00
Ivana Huckova 7055c40cfc Docs: Add info about Prometheus http method (#31651)
* Add infor about http method

* Update docs/sources/datasources/prometheus.md

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>

Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
2021-03-05 11:30:26 +01:00
Diana Payton 783abb97ec Update configuration.md (#31707) 2021-03-05 11:19:30 +01:00
Torkel Ödegaard dd1486eef6 FieldDisplay: Smarter naming of stat values when visualising row values (all values) in stat panels (#31704)
* StatPanels: Improving naming

* Finally making progress

* Removed default templaet

* Removed unused function
2021-03-05 10:42:37 +01:00
Dominik Prokop fdc6f2cc6f DataLinks: Bring back single click links for Stat, Gauge and BarGauge panel (#31692)
* Bring back clickable Stat, Gauge and BarGauge panels

* Demo dashboard

* Add DataLinksContextMenu tests

* Only use new UI for data links, revert panel links logic
2021-03-05 10:29:19 +01:00
Giordano Ricci bbee7da3e0 Elasticsearch: revert to isoWeek when resolving weekly indices (#31709)
* Elasticsearch: revert to isoWeek when resolving weekly indices

* Add type assertion explainer
2021-03-05 09:28:46 +00:00
dependabot[bot] fb58c06383 Chore(deps): Bump prismjs from 1.21.0 to 1.23.0 (#31568)
Bumps [prismjs](https://github.com/PrismJS/prism) from 1.21.0 to 1.23.0.
- [Release notes](https://github.com/PrismJS/prism/releases)
- [Changelog](https://github.com/PrismJS/prism/blob/master/CHANGELOG.md)
- [Commits](https://github.com/PrismJS/prism/compare/v1.21.0...v1.23.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-05 07:57:17 +01:00
dependabot[bot] 2dbb66e5c1 Chore(deps): Bump github.com/centrifugal/centrifuge (#31206)
Bumps [github.com/centrifugal/centrifuge](https://github.com/centrifugal/centrifuge) from 0.13.0 to 0.15.0.
- [Release notes](https://github.com/centrifugal/centrifuge/releases)
- [Changelog](https://github.com/centrifugal/centrifuge/blob/master/changelog.md)
- [Commits](https://github.com/centrifugal/centrifuge/compare/v0.13.0...v0.15.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-05 07:55:45 +01:00
dependabot[bot] a4c6896660 Chore(deps): Bump actions/setup-node from v2.1.4 to v2.1.5 (#31406)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from v2.1.4 to v2.1.5.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2.1.4...46071b5c7a2e0c34e49c3cb8a0e792e86e18d5ea)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-05 07:54:23 +01:00
Leon Sorokin a5f3889b93 GraphNG: cache ianaName & reduce calls to getTimeZoneInfo() (#31712) 2021-03-05 00:17:43 -06:00
Alec Posney 56ce068a91 GraphNG: Fixes Tooltip mode 'All' for XYChart (#30921) (#31260) 2021-03-04 20:59:48 -08:00
Diana Payton 991c5d16ba Docs: Update heatmap.md (#31570) 2021-03-04 13:30:09 -08:00
Alexandre de Verteuil 27ec5b445e Docs: Typo fix in whats-new-in-v7-5.md (#31698)
s/cashed/cached/
2021-03-04 12:51:38 -08:00
Leon Sorokin c64c0b0725 BarChart: fix single numeric field regression (#31703) 2021-03-04 14:27:14 -06:00
Zoltán Bedi c15d1f498a Revert "Tempo: convert to backend data source (#31618)" (#31702)
This reverts commit 862f09376f.
2021-03-04 21:20:26 +01:00
Zoltán Bedi 53d4acdad2 Tempo: set authentication header properly (#31699) 2021-03-04 20:39:01 +01:00
Zoltán Bedi 862f09376f Tempo: convert to backend data source (#31618)
* Tempo: Support opentelemetry response

* Tempo: convert Tempo to backend data source

* Update data source test

* Fix lint issues

* Apply suggestions from code review

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Return error when trace not found

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-03-04 18:23:02 +01:00
Dimitris Sotirakis 57f3de74c6 Chore: Update testing field in latest.json to 7.5.0-beta1 (#31689) 2021-03-04 16:45:51 +01:00
Dimitris Sotirakis 31887c6bda Docs: Add 7.5.0-beta1 release notes link (#31687) 2021-03-04 15:53:14 +01:00
Joan López de la Franca Beltran 01b4048026 Usage Stats: Report usage for all signed plugins (#31545)
* Report usage for all the signed plugins

* Remove no longer used code

* Fix tests by manipulating the global state

* Minor test fix
2021-03-04 15:43:43 +01:00
Andreas Opferkuch d373566feb FeatureToggles: Add index signature (#31649)
Since toggles tend to have arbitrary names.
2021-03-04 15:09:50 +01:00
Grot (@grafanabot) a3c9f537dc ReleaseNotes: Updated changelog and release notes for 7.5.0-beta1 (#31682) 2021-03-04 15:08:33 +01:00
kay delaney 0b4305c2c3 Library Panels: Choosing library panel now updates plugin type (#31643)
* Library Panels: Choosing library panel now updates plugin type
2021-03-04 13:17:57 +00:00
Hugo Häggmark e87d48921e Admin: Keeps expired api keys visible in table after delete (#31636)
* Admin: Keeps expired keys visible in table after delete

* Chore: covers component in tests before refactor

* Refactor: splitting up into smaller components

* Chore: fixes a small issue with the validation

* Chore: forgot to export type
2021-03-04 13:20:38 +01:00
Dimitris Sotirakis a1e227638c Fix whatsNewUrl version to 7.5 (#31667)
* Fix whatsNewUrl version

* Update package.json
2021-03-04 11:08:52 +01:00
Gábor Farkas 289dc39ced grafana/ui: added storybook link to readme (#31600) 2021-03-04 10:57:15 +01:00
Will Browne 9ea3a65d46 Chore: add alias for what's new 7.5 (#31668) 2021-03-04 10:45:08 +01:00
3548 changed files with 172702 additions and 100596 deletions
-14
View File
@@ -1,14 +0,0 @@
{
"presets": [
[
"@babel/preset-env",
{
"targets": {
"browsers": "last 3 versions"
},
"useBuiltIns": "entry",
"modules": "false",
}
]
]
}
+15 -4
View File
@@ -1,4 +1,15 @@
>1%,
Chrome > 20
last 4 versions,
Firefox ESR
[dev]
last 1 chrome versions
last 1 firefox versions
last 1 safari versions
[production]
last 2 Firefox versions
last 2 Chrome versions
last 2 Safari versions
last 2 Edge versions
last 1 ios_saf versions
last 1 and_chr versions
last 1 samsung versions
+4 -4
View File
@@ -2,9 +2,9 @@ version: 2.1
aliases:
# Workflow filters
- &filter-only-master
- &filter-only-main
branches:
only: master
only: main
jobs:
scan-docker-image:
@@ -51,10 +51,10 @@ workflows:
triggers:
- schedule:
cron: "0 0 * * *"
filters: *filter-only-master
filters: *filter-only-main
jobs:
- scan-docker-image:
matrix:
parameters:
image: [grafana/grafana, grafana/grafana-enterprise]
tag: [latest, master, latest-ubuntu, master-ubuntu]
tag: [latest, main, latest-ubuntu, main-ubuntu]
+4 -3
View File
@@ -1,9 +1,10 @@
load('scripts/pr.star', 'pr_pipelines')
load('scripts/master.star', 'master_pipelines')
load('scripts/main.star', 'main_pipelines')
load('scripts/release.star', 'release_pipelines', 'test_release_pipelines')
load('scripts/version.star', 'version_branch_pipelines')
load('scripts/vault.star', 'secrets')
def main(ctx):
edition = 'oss'
return pr_pipelines(edition=edition) + master_pipelines(edition=edition) + release_pipelines() + \
test_release_pipelines() + version_branch_pipelines()
return pr_pipelines(edition=edition) + main_pipelines(edition=edition) + release_pipelines() + \
test_release_pipelines() + version_branch_pipelines() + secrets()
+475 -352
View File
File diff suppressed because it is too large Load Diff
+13 -8
View File
@@ -1,23 +1,28 @@
{
"extends": ["@grafana/eslint-config"],
"root": true,
"plugins": [
"no-only-tests"
],
"plugins": ["no-only-tests", "@emotion", "lodash"],
"rules": {
"no-only-tests/no-only-tests": "error",
"react/prop-types": "off"
"react/prop-types": "off",
"@emotion/jsx-import": "error",
"lodash/import-scope": [2, "member"]
},
"overrides": [
{
"files": [
"packages/grafana-ui/src/components/uPlot/**/*.{ts,tsx}",
"public/app/**/*.{ts,tsx}"
],
"files": ["packages/grafana-ui/src/components/uPlot/**/*.{ts,tsx}"],
"rules": {
"react-hooks/rules-of-hooks": "off",
"react-hooks/exhaustive-deps": "off"
}
},
{
"files": ["packages/grafana-ui/src/components/ThemeDemos/**/*.{ts,tsx}"],
"rules": {
"@emotion/jsx-import": "off",
"react/jsx-uses-react": "off",
"react/react-in-jsx-scope": "off"
}
}
]
}
+21 -4
View File
@@ -14,25 +14,40 @@
# Documentation owner: Diana Payton
/docs/ @grafana/docs-squad
/contribute/ @marcusolsson @grafana/docs-squad
/docs/sources/developers/plugins/ @marcusolsson
/docs/sources/enterprise/ @osg-grafana
/docs/sources/developers/plugins/ @marcusolsson @grafana/docs-squad
/docs/sources/enterprise/ @osg-grafana @grafana/docs-squad
# Backend code
*.go @grafana/backend-platform
go.mod @grafana/backend-platform
go.sum @grafana/backend-platform
#Cloud Datasources backend code
/pkg/tsdb/cloudwatch @grafana/cloud-datasources
# Cloud Datasources backend code
/pkg/tsdb/cloudwatch @grafana/cloud-datasources @grafana/observability-squad
/pkg/tsdb/azuremonitor @grafana/cloud-datasources
/pkg/tsdb/cloudmonitoring @grafana/cloud-datasources
# Observability backend code
/pkg/tsdb/influxdb @grafana/observability-squad
/pkg/tsdb/elasticsearch @grafana/observability-squad
/pkg/tsdb/graphite @grafana/observability-squad
/pkg/tsdb/jaeger @grafana/observability-squad
/pkg/tsdb/loki @grafana/observability-squad
/pkg/tsdb/zipkin @grafana/observability-squad
/pkg/tsdb/tempo @grafana/observability-squad
# Unified Alerting
/pkg/services/ngalert @grafana/alerting-squad
/pkg/services/sqlstore/migrations/ualert @grafana/alerting-squad
# Database migrations
/pkg/services/sqlstore/migrations @grafana/backend-platform @grafana/hosted-grafana-team
*_mig.go @grafana/backend-platform @grafana/hosted-grafana-team
# Backend code docs
/contribute/style-guides/backend.md @grafana/backend-platform
/contribute/architecture/backend @grafana/backend-platform
/contribute/engineering/backend @grafana/backend-platform
/e2e @grafana/grafana-frontend-platform
/packages @grafana/grafana-frontend-platform
@@ -71,6 +86,8 @@ lerna.json @grafana/grafana-frontend-platform
/public/app/plugins/datasource/prometheus @grafana/observability-squad
/public/app/plugins/datasource/cloud-monitoring @grafana/cloud-datasources
/public/app/plugins/datasource/zipkin @grafana/observability-squad
/public/app/plugins/datasource/tempo @grafana/observability-squad
/public/app/plugins/datasource/alertmanager @grafana/alerting-squad
# Cloud middleware
/grafana-mixin/ @grafana/cloud-middleware
@@ -25,9 +25,9 @@ ___
**Implementation** (Checklist meant for the person implementing the component)
- [ ] Component has a story in Storybook.
- [ ] Props and naming follows [our style guide](https://github.com/grafana/grafana/blob/master/contribute/style-guides/frontend.md).
- [ ] Props and naming follows [our style guide](https://github.com/grafana/grafana/blob/main/contribute/style-guides/frontend.md).
- [ ] It is extendable (rest props are spread, styles with className work, and so on).
- [ ] Uses [theme for spacing, colors, and so on](https://github.com/grafana/grafana/blob/master/contribute/style-guides/themes.md).
- [ ] Uses [theme for spacing, colors, and so on](https://github.com/grafana/grafana/blob/main/contribute/style-guides/themes.md).
- [ ] Works with both light and dark theme.
**Documentation**
+2 -2
View File
@@ -2,7 +2,7 @@
Thank you for sending a pull request! Here are some tips:
1. If this is your first time, please read our contribution guide at https://github.com/grafana/grafana/blob/master/CONTRIBUTING.md
1. If this is your first time, please read our contribution guide at https://github.com/grafana/grafana/blob/main/CONTRIBUTING.md
2. Ensure you include and run the appropriate tests as part of your Pull Request.
@@ -10,7 +10,7 @@ Thank you for sending a pull request! Here are some tips:
4. If the Pull Request is a work in progress, make use of GitHub's "Draft PR" feature and mark it as such.
5. If you can not merge your Pull Request due to a merge conflict, Rebase it. This gets it in sync with the master branch.
5. If you can not merge your Pull Request due to a merge conflict, Rebase it. This gets it in sync with the main branch.
6. Name your PR as "<FeatureArea>: Describe your change", e.g. Alerting: Prevent race condition. If it's a fix or feature relevant for the changelog describe the user impact in the title. The PR title is used to auto-generate the changelog for issues marked with the "add to changelog" label.
+2 -2
View File
@@ -1,6 +1,6 @@
# GitHub & grafanabot automation
The bot is configured via [commands.json](https://github.com/grafana/grafana/blob/master/.github/commands.json) and some other GitHub workflows [workflows](https://github.com/grafana/grafana/tree/master/.github/workflows).
The bot is configured via [commands.json](https://github.com/grafana/grafana/blob/main/.github/commands.json) and some other GitHub workflows [workflows](https://github.com/grafana/grafana/tree/main/.github/workflows).
Comment commands:
@@ -17,7 +17,7 @@ Label commands:
## Metrics
Metrics are configured in [metrics-collector.json](https://github.com/grafana/grafana/blob/master/.github/metrics-collector.json) and are also defined in the
Metrics are configured in [metrics-collector.json](https://github.com/grafana/grafana/blob/main/.github/metrics-collector.json) and are also defined in the
[metrics-collector](https://github.com/grafana/grafana-github-actions/blob/main/metrics-collector/index.ts) GitHub action.
## Backport PR
+3 -3
View File
@@ -5,7 +5,7 @@
"addLabel": "type/question",
"removeLabel": "bot/question",
"action": "close",
"comment": "Please ask your question on [community.grafana.com/](https://community.grafana.com/). To avoid having your issue closed in the future, please read our [CONTRIBUTING](https://github.com/grafana/grafana/blob/master/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
"comment": "Please ask your question on [community.grafana.com/](https://community.grafana.com/). To avoid having your issue closed in the future, please read our [CONTRIBUTING](https://github.com/grafana/grafana/blob/main/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
},
{
"type": "comment",
@@ -20,7 +20,7 @@
"addLabel": "type/duplicate",
"removeLabel": "bot/duplicate",
"action": "close",
"comment": "Thanks for creating this issue! It looks like this has already been reported by another user. Weve closed this in favor of the existing one. Please consider adding any details you think is missing to that issue.\n\nTo avoid having your issue closed in the future, please read our [CONTRIBUTING](https://github.com/grafana/grafana/blob/master/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
"comment": "Thanks for creating this issue! It looks like this has already been reported by another user. Weve closed this in favor of the existing one. Please consider adding any details you think is missing to that issue.\n\nTo avoid having your issue closed in the future, please read our [CONTRIBUTING](https://github.com/grafana/grafana/blob/main/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
},
{
"type": "comment",
@@ -41,7 +41,7 @@
"type": "label",
"name": "bot/no new info",
"action": "close",
"comment": "We've closed this issue since it needs more information and hasn't had any activity recently. We can re-open it after you you add more information. To avoid having your issue closed in the future, please read our [CONTRIBUTING](https://github.com/grafana/grafana/blob/master/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
"comment": "We've closed this issue since it needs more information and hasn't had any activity recently. We can re-open it after you you add more information. To avoid having your issue closed in the future, please read our [CONTRIBUTING](https://github.com/grafana/grafana/blob/main/CONTRIBUTING.md) guidelines.\n\nHappy graphing!"
},
{
"type": "label",
+182
View File
@@ -0,0 +1,182 @@
[
{
"type": "changedfiles",
"matches": [
"docs/**/*",
"contribute/**/*"
],
"action": "updateLabel",
"addLabel": "type/docs"
},
{
"type": "changedfiles",
"matches": [
"public/**/*",
"packages/**/*",
"e2e/**/*",
"plugins-bundled/**/*",
"scripts/build/release-packages.sh",
"scripts/circle-release-next-packages.sh",
"scripts/ci-frontend-metrics.sh",
"scripts/grunt/**/*",
"scripts/webpack/**/*",
"package.json",
"tsconfig.json",
"lerna.json",
".babelrc",
".prettierrc.js",
".eslintrc",
"**/*.mdx"
],
"action": "updateLabel",
"addLabel": "area/frontend"
},
{
"type": "changedfiles",
"matches": [
"**/*.go",
"go.mod",
"go.sum",
"contribute/style-guides/backend.md",
"contribute/architecture/backend/**/*",
"scripts/go/**/*"
],
"action": "updateLabel",
"addLabel": "area/backend"
},
{
"type": "changedfiles",
"matches": [
"pkg/services/sqlstore/migrations/**/*",
"**/*_mig.go"
],
"action": "updateLabel",
"addLabel": "area/backend/db/migration"
},
{
"type": "changedfiles",
"matches": [ "public/app/features/explore/**/*"],
"action": "updateLabel",
"addLabel": "area/explore"
},
{
"type": "changedfiles",
"matches": [
".circleci/**/*",
"packaging/**/*",
"scripts/build/**/*",
"scripts/*.sh",
"scripts/*.star",
".drone.star",
".drone.yml",
"Makefile",
"Dockerfile",
"Dockerfile.ubuntu"
],
"action": "updateLabel",
"addLabel": "type/build-packaging"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/grafana-azure-monitor-datasource/**/*", "pkg/tsdb/azuremonitor/**/*"],
"action": "updateLabel",
"addLabel": "datasource/Azure"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/cloud-monitoring/**/*", "pkg/tsdb/cloudmonitoring/**/*"],
"action": "updateLabel",
"addLabel": "datasource/GoogleCloudMonitoring"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/cloudwatch/**/*", "pkg/tsdb/cloudwatch/**/*"],
"action": "updateLabel",
"addLabel": "datasource/CloudWatch"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/elasticsearch/**/*", "pkg/tsdb/elasticsearch/**/*"],
"action": "updateLabel",
"addLabel": "datasource/Elasticsearch"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/graphite/**/*", "pkg/tsdb/graphite/**/*"],
"action": "updateLabel",
"addLabel": "datasource/Graphite"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/influxdb/**/*", "pkg/tsdb/influx/**/*"],
"action": "updateLabel",
"addLabel": "datasource/InfluxDB"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/jaeger"],
"action": "updateLabel",
"addLabel": "datasource/Jaeger"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/loki/**/*", "pkg/tsdb/loki/**/*"],
"action": "updateLabel",
"addLabel": "datasource/Loki"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/mssql/**/*", "pkg/tsdb/mssql/**/*"],
"action": "updateLabel",
"addLabel": "datasource/MSSQL"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/mysql/**/*", "pkg/tsdb/mysql/**/*"],
"action": "updateLabel",
"addLabel": "datasource/MySQL"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/opentsdb/**/*", "pkg/tsdb/opentsdb/**/*"],
"action": "updateLabel",
"addLabel": "datasource/OpenTSDB"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/postgres/**/*", "pkg/tsdb/postgres/**/*"],
"action": "updateLabel",
"addLabel": "datasource/Postgres"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/prometheus/**/*", "pkg/tsdb/prometheus/**/*"],
"action": "updateLabel",
"addLabel": "datasource/Prometheus"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/tempo/**/*", "pkg/tsdb/tempo/**/*"],
"action": "updateLabel",
"addLabel": "datasource/Tempo"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/zipkin/**/*"],
"action": "updateLabel",
"addLabel": "datasource/Zipkin"
},
{
"type": "changedfiles",
"matches": ["public/app/features/variables/**/*", "public/app/features/templating/**/*"],
"action": "updateLabel",
"addLabel": "area/dashboard/templating"
},
{
"type": "author",
"name": "pr/external",
"notMemberOf": { "org": "grafana" },
"action": "updateLabel",
"addLabel": "pr/external"
}
]
+39 -1
View File
@@ -9,13 +9,51 @@ jobs:
main:
runs-on: ubuntu-latest
steps:
# This is a basic workflow to help you get started with Actions
- uses: actions-ecosystem/action-regex-match@v2
id: regex-match
with:
text: ${{ github.event.inputs.version }}
regex: '^(\d+.\d+).\d+(?:-beta.\d+)?$'
- name: Validate input version
if: ${{ steps.regex-match.outputs.match == '' }}
run: |
echo "The input version format is not correct, please respect:\
major.minor.patch or major.minor.patch-beta.number format. \
example: 7.4.3 or 7.4.3-beta.1"
exit 1
- uses: actions/checkout@v2
- name: Set intermedia variables
id: intermedia
run: |
echo "::set-output name=short_ref::${GITHUB_REF#refs/*/}"
echo "::set-output name=check_passed::false"
echo "::set-output name=branch_name::v${{steps.regex-match.outputs.group1}}"
echo "::set-output name=branch_exist::$(git ls-remote --heads https://github.com/grafana/grafana.git v${{ steps.regex-match.outputs.group1 }}.x | wc -l)"
- name: Check input version is aligned with branch(not main)
if: steps.intermedia.outputs.branch_exist != '0' && !contains(steps.intermedia.outputs.short_ref, steps.intermedia.outputs.branch_name)
run: |
echo " You need to run the workflow on branch v${{steps.regex-match.outputs.group1}}.x
exit 1
- name: Check input version is aligned with branch(main)
if: steps.intermedia.outputs.branch_exist == '0' && !contains(steps.intermedia.outputs.short_ref, 'main')
run: |
echo "When you want to deliver a new new minor version, you might want to create a new branch first \
with naming convention v[major].[minor].x, and just run the workflow on that branch. \
Run the workflow on main only when needed"
exit 1
- name: Checkout Actions
uses: actions/checkout@v2
with:
repository: "grafana/grafana-github-actions"
path: ./actions
ref: main
- uses: actions/setup-node@v2.1.4
- uses: actions/setup-node@v2.1.5
with:
node-version: '14'
- name: Install Actions
+3 -8
View File
@@ -7,10 +7,10 @@ name: "CodeQL"
on:
push:
branches: [master, v1.8.x, v2.0.x, v2.1.x, v2.6.x, v3.0.x, v3.1.x, v4.0.x, v4.1.x, v4.2.x, v4.3.x, v4.4.x, v4.5.x, v4.6.x, v4.7.x, v5.0.x, v5.1.x, v5.2.x, v5.3.x, v5.4.x, v6.0.x, v6.1.x, v6.2.x, v6.3.x, v6.4.x, v6.5.x, v6.6.x, v6.7.x, v7.0.x, v7.1.x, v7.2.x]
branches: [main, v1.8.x, v2.0.x, v2.1.x, v2.6.x, v3.0.x, v3.1.x, v4.0.x, v4.1.x, v4.2.x, v4.3.x, v4.4.x, v4.5.x, v4.6.x, v4.7.x, v5.0.x, v5.1.x, v5.2.x, v5.3.x, v5.4.x, v6.0.x, v6.1.x, v6.2.x, v6.3.x, v6.4.x, v6.5.x, v6.6.x, v6.7.x, v7.0.x, v7.1.x, v7.2.x]
pull_request:
# The branches below must be a subset of the branches above
branches: [master]
branches: [main]
schedule:
- cron: '0 4 * * 6'
@@ -36,18 +36,13 @@ jobs:
# a pull request then we can checkout the head.
fetch-depth: 2
# If this run was triggered by a pull request event, then checkout
# the head of the pull request instead of the merge commit.
- run: git checkout HEAD^2
if: ${{ github.event_name == 'pull_request' }}
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
+25
View File
@@ -0,0 +1,25 @@
name: PR automation
on:
pull_request_target:
types:
- opened
- synchronize
jobs:
main:
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: Run Commands
uses: ./actions/commands
with:
metricsWriteAPIKey: ${{secrets.GRAFANA_MISC_STATS_API_KEY}}
token: ${{secrets.GH_BOT_ACCESS_TOKEN}}
configPath: pr-commands
+4 -4
View File
@@ -3,7 +3,7 @@ name: publish_docs
on:
push:
branches:
- master
- main
paths:
- 'docs/sources/**'
- 'packages/grafana-*/**'
@@ -16,12 +16,12 @@ jobs:
steps:
- uses: actions/checkout@v1
- run: git clone --single-branch --no-tags --depth 1 -b master https://grafanabot:${{ secrets.GH_BOT_ACCESS_TOKEN }}@github.com/grafana/website-sync ./.github/actions/website-sync
- uses: actions/cache@v2.1.4
- uses: actions/cache@v2.1.5
with:
path: '**/node_modules'
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
- name: generate-packages-docs
uses: actions/setup-node@v2.1.4
uses: actions/setup-node@v2.1.5
id: generate-docs
with:
node-version: '14'
@@ -36,7 +36,7 @@ jobs:
host: github.com
github_pat: '${{ secrets.GH_BOT_ACCESS_TOKEN }}'
source_folder: docs/sources
target_folder: content/docs/grafana/latest
target_folder: content/docs/grafana/next
allow_no_changes: 'true'
- shell: bash
run: |
+2
View File
@@ -16,6 +16,7 @@ awsconfig
.yarn/
vendor/
/docs/menu.yaml
/requests
# Enterprise emails
/emails/templates/enterprise_*
@@ -62,6 +63,7 @@ public/css/*.min.css
conf/custom.ini
/conf/provisioning/**/custom.yaml
/conf/provisioning/**/dev.yaml
/conf/provisioning/access-control/
/conf/ldap_dev.toml
/conf/ldap_freeipa.toml
profile.cov
+1
View File
@@ -8,4 +8,5 @@ vendor/
data/
e2e/tmp
public/build/
public/sass/*.generated.scss
devenv/
+269 -1
View File
@@ -1,4 +1,250 @@
<!-- 7.5.6 START -->
# 7.5.6 (2021-05-11)
### Features and enhancements
* **Database**: Add isolation level configuration parameter for MySQL. [#33830](https://github.com/grafana/grafana/pull/33830), [@zserge](https://github.com/zserge)
* **InfluxDB**: Improve measurement-autocomplete behavior. [#33494](https://github.com/grafana/grafana/pull/33494), [@gabor](https://github.com/gabor)
* **Instrumentation**: Don't consider invalid email address a failed email. [#33671](https://github.com/grafana/grafana/pull/33671), [@bergquist](https://github.com/bergquist)
### Bug fixes
* **Loki**: fix label browser crashing when + typed. [#33900](https://github.com/grafana/grafana/pull/33900), [@zoltanbedi](https://github.com/zoltanbedi)
* **Prometheus**: Sanitize PromLink button. [#33874](https://github.com/grafana/grafana/pull/33874), [@ivanahuckova](https://github.com/ivanahuckova)
<!-- 7.5.6 END -->
<!-- 7.5.5 START -->
# 7.5.5 (2021-04-28)
### Features and enhancements
* **Explore:** Load default data source in Explore when the provided source does not exist. [#32992](https://github.com/grafana/grafana/pull/32992), [@ifrost](https://github.com/ifrost)
* **Instrumentation:** Add success rate metrics for email notifications. [#33359](https://github.com/grafana/grafana/pull/33359), [@bergquist](https://github.com/bergquist)
### Bug fixes
* **Alerting:** Remove field limitation from Slack notifications. [#33113](https://github.com/grafana/grafana/pull/33113), [@dsotirakis](https://github.com/dsotirakis)
* **Auth:** Do not clear auth token cookie when token lookup fails. [#32999](https://github.com/grafana/grafana/pull/32999), [@marefr](https://github.com/marefr)
* **Bug:** Add git command to Dockerfile.ubuntu file. [#33247](https://github.com/grafana/grafana/pull/33247), [@dsotirakis](https://github.com/dsotirakis)
* **Explore:** Adjust time to the selected timezone. [#33315](https://github.com/grafana/grafana/pull/33315), [@ifrost](https://github.com/ifrost)
* **GraphNG:** Fix exemplars window position. [#33427](https://github.com/grafana/grafana/pull/33427), [@zoltanbedi](https://github.com/zoltanbedi)
* **Loki:** Pass Skip TLS Verify setting to alert queries. [#33025](https://github.com/grafana/grafana/pull/33025), [@ivanahuckova](https://github.com/ivanahuckova)
* **Postgres:** Fix time group macro when TimescaleDB is enabled and interval is less than a second. [#33153](https://github.com/grafana/grafana/pull/33153), [@marefr](https://github.com/marefr)
<!-- 7.5.5 END -->
<!-- 7.5.4 START -->
# 7.5.4 (2021-04-14)
### Features and enhancements
* **AzureMonitor**: Add support for Microsoft.AppConfiguration/configurationStores namespace. [#32123](https://github.com/grafana/grafana/pull/32123), [@deesejohn](https://github.com/deesejohn)
* **TablePanel**: Make sorting case-insensitive. [#32435](https://github.com/grafana/grafana/pull/32435), [@kaydelaney](https://github.com/kaydelaney)
### Bug fixes
* **AzureMonitor**: Add support for Virtual WAN namespaces. [#32935](https://github.com/grafana/grafana/pull/32935), [@joshhunt](https://github.com/joshhunt)
* **Bugfix**: Add proper padding when scrolling is added to bar gauge. [#32411](https://github.com/grafana/grafana/pull/32411), [@mckn](https://github.com/mckn)
* **Datasource**: Prevent default data source named "default" from causing infinite loop. [#32949](https://github.com/grafana/grafana/pull/32949), [@jackw](https://github.com/jackw)
* **Prometheus**: Allow query_exemplars endpoint in data source proxy. [#32802](https://github.com/grafana/grafana/pull/32802), [@zoltanbedi](https://github.com/zoltanbedi)
* **Table**: Fix table data links so they refer to correct row after sorting. [#32571](https://github.com/grafana/grafana/pull/32571), [@torkelo](https://github.com/torkelo)
<!-- 7.5.4 END -->
<!-- 7.5.3 START -->
# 7.5.3 (2021-04-07)
### Features and enhancements
* **Dashboard**: Do not include default datasource when externally exporting dashboard with row. [#32494](https://github.com/grafana/grafana/pull/32494), [@kaydelaney](https://github.com/kaydelaney)
* **Loki**: Remove empty annotations tags. [#32359](https://github.com/grafana/grafana/pull/32359), [@conorevans](https://github.com/conorevans)
### Bug fixes
* **AdHocVariable**: Add default data source to picker. [#32470](https://github.com/grafana/grafana/pull/32470), [@hugohaggmark](https://github.com/hugohaggmark)
* **Configuration**: Prevent browser hanging / crashing with large number of org users. [#32546](https://github.com/grafana/grafana/pull/32546), [@jackw](https://github.com/jackw)
* **Elasticsearch**: Fix bucket script variable duplication in UI. [#32705](https://github.com/grafana/grafana/pull/32705), [@Elfo404](https://github.com/Elfo404)
* **Explore**: Fix bug where navigating to explore would result in wrong query and datasource to be shown. [#32558](https://github.com/grafana/grafana/pull/32558), [@aocenas](https://github.com/aocenas)
* **FolderPicker**: Prevent dropdown menu from disappearing off screen. [#32603](https://github.com/grafana/grafana/pull/32603), [@jackw](https://github.com/jackw)
* **SingleStat**: Fix issue with panel links. [#32721](https://github.com/grafana/grafana/pull/32721), [@gjulianm](https://github.com/gjulianm)
* **Variables**: Confirm selection before opening new picker. [#32586](https://github.com/grafana/grafana/pull/32586), [@hugohaggmark](https://github.com/hugohaggmark)
* **Variables**: Confirm selection before opening new picker. [#32503](https://github.com/grafana/grafana/pull/32503), [@hugohaggmark](https://github.com/hugohaggmark)
* **Variables**: Fix unsupported data format error for null values. [#32480](https://github.com/grafana/grafana/pull/32480), [@hugohaggmark](https://github.com/hugohaggmark)
<!-- 7.5.3 END -->
<!-- 7.5.2 START -->
# 7.5.2 (2021-03-30)
### Features and enhancements
* **Explore**: Set Explore's GraphNG to use default value for connected null values setting. [#32471](https://github.com/grafana/grafana/pull/32471), [@ivanahuckova](https://github.com/ivanahuckova)
### Bug fixes
* **DashboardDataSource**: Fix query not being executed after selecting source panel. [#32383](https://github.com/grafana/grafana/pull/32383), [@torkelo](https://github.com/torkelo)
* **Graph**: Fix setting right y-axis when standard option unit is configured. [#32426](https://github.com/grafana/grafana/pull/32426), [@torkelo](https://github.com/torkelo)
* **Table**: Fix links for image cells. [#32370](https://github.com/grafana/grafana/pull/32370), [@kaydelaney](https://github.com/kaydelaney)
* **Variables**: Fix data source variable when default data source is selected. [#32384](https://github.com/grafana/grafana/pull/32384), [@torkelo](https://github.com/torkelo)
* **Variables**: Fix manually entering non-matching custom value in variable input/picker error. [#32390](https://github.com/grafana/grafana/pull/32390), [@torkelo](https://github.com/torkelo)
<!-- 7.5.2 END -->
<!-- 7.5.1 START -->
# 7.5.1 (2021-03-26)
### Bug fixes
* **MSSQL**: Fix panic not implemented by upgrading go-mssqldb dependency. [#32347](https://github.com/grafana/grafana/pull/32347), [@aknuds1](https://github.com/aknuds1)
<!-- 7.5.1 END -->
<!-- 7.5.0 START -->
# 7.5.0 (2021-03-25)
### Features and enhancements
* **Alerting**: Add ability to include aliases with hyphen in InfluxDB. [#32262](https://github.com/grafana/grafana/pull/32262), [@grafanabot](https://github.com/grafanabot)
* **CloudWatch**: Use latest version of aws sdk. [#32217](https://github.com/grafana/grafana/pull/32217), [@sunker](https://github.com/sunker)
### Bug fixes
* **Alerting**: Add ability to include aliases with hyphen in InfluxDB. [#32224](https://github.com/grafana/grafana/pull/32224), [@dsotirakis](https://github.com/dsotirakis)
* **DashboardSettings**: Fixes issue with tags list not updating changes are made. [#32241](https://github.com/grafana/grafana/pull/32241), [@huynhsamha](https://github.com/huynhsamha)
* **DashboardSettings**: Fixes issue with tags list not updating changes are made. [#32189](https://github.com/grafana/grafana/pull/32189), [@huynhsamha](https://github.com/huynhsamha)
* **Loki**: Fix text search in Label browser. [#32293](https://github.com/grafana/grafana/pull/32293), [@ivanahuckova](https://github.com/ivanahuckova)
<!-- 7.5.0 END -->
<!-- 7.5.0-beta2 START -->
# 7.5.0-beta2 (2021-03-19)
### Features and enhancements
* **CloudWatch**: Add support for EC2 IAM role. [#31804](https://github.com/grafana/grafana/pull/31804), [@sunker](https://github.com/sunker)
* **CloudWatch**: Consume the grafana/aws-sdk. [#31807](https://github.com/grafana/grafana/pull/31807), [@sunker](https://github.com/sunker)
* **CloudWatch**: Restrict auth provider and assume role usage according to Grafana configuration. [#31805](https://github.com/grafana/grafana/pull/31805), [@sunker](https://github.com/sunker)
* **Cloudwatch**: ListMetrics API page limit. [#31788](https://github.com/grafana/grafana/pull/31788), [@sunker](https://github.com/sunker)
* **Cloudwatch**: Use shared library for aws auth. [#29550](https://github.com/grafana/grafana/pull/29550), [@ryantxu](https://github.com/ryantxu)
* **DataLinks**: Bring back single click links for Stat, Gauge and BarGauge panel. [#31692](https://github.com/grafana/grafana/pull/31692), [@dprokop](https://github.com/dprokop)
* **Docker**: Support pre-installed plugins from other sources in custom Dockerfiles. [#31234](https://github.com/grafana/grafana/pull/31234), [@sgnsys3](https://github.com/sgnsys3)
* **Elasticseach**: Add support for histogram fields. [#29079](https://github.com/grafana/grafana/pull/29079), [@simianhacker](https://github.com/simianhacker)
* **Exemplars**: Always query exemplars. [#31673](https://github.com/grafana/grafana/pull/31673), [@zoltanbedi](https://github.com/zoltanbedi)
* **Explore**: Support full inspect drawer. [#32005](https://github.com/grafana/grafana/pull/32005), [@ivanahuckova](https://github.com/ivanahuckova)
* **HttpServer**: Make read timeout configurable but disabled by default. [#31575](https://github.com/grafana/grafana/pull/31575), [@bergquist](https://github.com/bergquist)
* **SQLStore**: Close session in withDbSession. [#31775](https://github.com/grafana/grafana/pull/31775), [@aknuds1](https://github.com/aknuds1)
* **Templating**: Use dashboard timerange when variables are set to refresh 'On Dashboard Load'. [#31721](https://github.com/grafana/grafana/pull/31721), [@Elfo404](https://github.com/Elfo404)
* **Tempo**: Convert to backend data source. [#31618](https://github.com/grafana/grafana/pull/31618), [@zoltanbedi](https://github.com/zoltanbedi)
### Bug fixes
* **Admin**: Keeps expired api keys visible in table after delete. [#31636](https://github.com/grafana/grafana/pull/31636), [@hugohaggmark](https://github.com/hugohaggmark)
* **Data proxy**: Fix encoded characters in URL path should be proxied as encoded. [#30597](https://github.com/grafana/grafana/pull/30597), [@marefr](https://github.com/marefr)
* **Explore/Logs**: Fix escaping in ANSI logs. [#31731](https://github.com/grafana/grafana/pull/31731), [@ivanahuckova](https://github.com/ivanahuckova)
* **GraphNG**: Fix tooltip series color for multi data frame scenario. [#32098](https://github.com/grafana/grafana/pull/32098), [@dprokop](https://github.com/dprokop)
* **GraphNG**: Make sure data set and config are in sync when initializing and re-initializing uPlot. [#32106](https://github.com/grafana/grafana/pull/32106), [@dprokop](https://github.com/dprokop)
* **Loki**: Fix autocomplete when re-editing Loki label values. [#31828](https://github.com/grafana/grafana/pull/31828), [@ivanahuckova](https://github.com/ivanahuckova)
* **MixedDataSource**: Name is updated when data source variables change. [#32090](https://github.com/grafana/grafana/pull/32090), [@hugohaggmark](https://github.com/hugohaggmark)
* **PanelInspect**: Interpolates variables in CSV file name. [#31936](https://github.com/grafana/grafana/pull/31936), [@hugohaggmark](https://github.com/hugohaggmark)
* **ReduceTransform**: Include series with numeric string names. [#31763](https://github.com/grafana/grafana/pull/31763), [@hugohaggmark](https://github.com/hugohaggmark)
* **Snapshots**: Fix usage of sign in link from the snapshot page. [#31986](https://github.com/grafana/grafana/pull/31986), [@marefr](https://github.com/marefr)
* **TimePicker**: Fixes hidden time picker shown in kiosk TV mode. [#32062](https://github.com/grafana/grafana/pull/32062), [@torkelo](https://github.com/torkelo)
* **ValueMappings**: Fixes value 0 not being mapped. [#31924](https://github.com/grafana/grafana/pull/31924), [@Willena](https://github.com/Willena)
* **Variables**: Fixes filtering in picker with null items. [#31979](https://github.com/grafana/grafana/pull/31979), [@hugohaggmark](https://github.com/hugohaggmark)
* **Variables**: Improves inspection performance and unknown filtering. [#31811](https://github.com/grafana/grafana/pull/31811), [@hugohaggmark](https://github.com/hugohaggmark)
### Plugin development fixes & changes
* **Auth**: Allow soft token revocation. [#31601](https://github.com/grafana/grafana/pull/31601), [@joanlopez](https://github.com/joanlopez)
<!-- 7.5.0-beta2 END -->
<!-- 7.5.0-beta1 START -->
# 7.5.0-beta1 (2021-03-04)
### Features and enhancements
* **Alerting**: Customise OK notification priorities for Pushover notifier. [#30169](https://github.com/grafana/grafana/pull/30169), [@acaire](https://github.com/acaire)
* **Alerting**: Improve default message for SensuGo notifier. [#31428](https://github.com/grafana/grafana/pull/31428), [@M4teo](https://github.com/M4teo)
* **Alerting**: PagerDuty: adding current state to the payload. [#29270](https://github.com/grafana/grafana/pull/29270), [@Eraac](https://github.com/Eraac)
* **AzureMonitor**: Add deprecation message for App Insights/Insights Analytics. [#30633](https://github.com/grafana/grafana/pull/30633), [@joshhunt](https://github.com/joshhunt)
* **CloudMonitoring**: Allow free text input for GCP project on dashboard variable query. [#28048](https://github.com/grafana/grafana/issues/28048)
* **CloudMonitoring**: Increase service api page size. [#30892](https://github.com/grafana/grafana/pull/30892), [@sunker](https://github.com/sunker)
* **CloudMonitoring**: Show service and SLO display name in SLO Query editor. [#30900](https://github.com/grafana/grafana/pull/30900), [@sunker](https://github.com/sunker)
* **CloudWatch**: Add AWS Ground Station metrics and dimensions. [#31362](https://github.com/grafana/grafana/pull/31362), [@ilyastoli](https://github.com/ilyastoli)
* **CloudWatch**: Add AWS Network Firewall metrics and dimensions. [#31498](https://github.com/grafana/grafana/pull/31498), [@ilyastoli](https://github.com/ilyastoli)
* **CloudWatch**: Add AWS Timestream Metrics and Dimensions. [#31624](https://github.com/grafana/grafana/pull/31624), [@ilyastoli](https://github.com/ilyastoli)
* **CloudWatch**: Add RDS Proxy metrics. [#31595](https://github.com/grafana/grafana/pull/31595), [@sunker](https://github.com/sunker)
* **CloudWatch**: Add eu-south-1 Cloudwatch region. [#31198](https://github.com/grafana/grafana/pull/31198), [@rubycut](https://github.com/rubycut)
* **CloudWatch**: Make it possible to specify custom api endpoint. [#31402](https://github.com/grafana/grafana/pull/31402), [@sunker](https://github.com/sunker)
* **Cloudwatch**: Add AWS/DDoSProtection metrics and dimensions. [#31297](https://github.com/grafana/grafana/pull/31297), [@relvira](https://github.com/relvira)
* **Dashboard**: Remove template variables option from ShareModal. [#30395](https://github.com/grafana/grafana/pull/30395), [@oscarkilhed](https://github.com/oscarkilhed)
* **Docs**: Define TLS/SSL terminology. [#30533](https://github.com/grafana/grafana/pull/30533), [@aknuds1](https://github.com/aknuds1)
* **Elasticsearch**: Add word highlighting to search results. [#30293](https://github.com/grafana/grafana/pull/30293), [@simianhacker](https://github.com/simianhacker)
* **Folders**: Editors should be able to edit name and delete folders. [#31242](https://github.com/grafana/grafana/pull/31242), [@torkelo](https://github.com/torkelo)
* **Graphite/SSE**: update graphite to work with server side expressions. [#31455](https://github.com/grafana/grafana/pull/31455), [@kylebrandt](https://github.com/kylebrandt)
* **InfluxDB**: Improve maxDataPoints error-message in Flux-mode, raise limits. [#31259](https://github.com/grafana/grafana/pull/31259), [@gabor](https://github.com/gabor)
* **InfluxDB**: In flux query editor, do not run query when disabled. [#31324](https://github.com/grafana/grafana/pull/31324), [@gabor](https://github.com/gabor)
* **LogsPanel**: Add deduplication option for logs. [#31019](https://github.com/grafana/grafana/pull/31019), [@ivanahuckova](https://github.com/ivanahuckova)
* **Loki**: Add line limit for annotations. [#31183](https://github.com/grafana/grafana/pull/31183), [@ivanahuckova](https://github.com/ivanahuckova)
* **Loki**: Add support for alerting. [#31424](https://github.com/grafana/grafana/pull/31424), [@ivanahuckova](https://github.com/ivanahuckova)
* **Loki**: Label browser. [#30351](https://github.com/grafana/grafana/pull/30351), [@davkal](https://github.com/davkal)
* **PieChart**: Add color changing options to pie chart. [#31588](https://github.com/grafana/grafana/pull/31588), [@oscarkilhed](https://github.com/oscarkilhed)
* **PostgreSQL**: Allow providing TLS/SSL certificates as text in addition to file paths. [#30353](https://github.com/grafana/grafana/pull/30353), [@ying-jeanne](https://github.com/ying-jeanne)
* **Postgres**: SSL certification. [#30352](https://github.com/grafana/grafana/pull/30352), [@ying-jeanne](https://github.com/ying-jeanne)
* **Profile**: Prevent OAuth users from changing user details or password. [#27886](https://github.com/grafana/grafana/pull/27886), [@dupondje](https://github.com/dupondje)
* **Prometheus**: Change default httpMethod for new instances to POST. [#31292](https://github.com/grafana/grafana/pull/31292), [@ivanahuckova](https://github.com/ivanahuckova)
* **Prometheus**: Min step defaults to seconds when no unit is set. [#30966](https://github.com/grafana/grafana/pull/30966), [@nutmos](https://github.com/nutmos)
* **Stats**: Exclude folders from total dashboard count. [#31320](https://github.com/grafana/grafana/pull/31320), [@bergquist](https://github.com/bergquist)
* **Tracing**: Specify type of data frame that is expected for TraceView. [#31465](https://github.com/grafana/grafana/pull/31465), [@aocenas](https://github.com/aocenas)
* **Transformers**: Add search to transform selection. [#30854](https://github.com/grafana/grafana/pull/30854), [@ryantxu](https://github.com/ryantxu)
### Bug fixes
* **Alerting**: Ensure Discord notification is sent when metric name is absent. [#31257](https://github.com/grafana/grafana/pull/31257), [@LeviHarrison](https://github.com/LeviHarrison)
* **Alerting**: Fix case when Alertmanager notifier fails if a URL is not working. [#31079](https://github.com/grafana/grafana/pull/31079), [@kurokochin](https://github.com/kurokochin)
* **CloudMonitoring**: Prevent resource type variable function from crashing. [#30901](https://github.com/grafana/grafana/pull/30901), [@sunker](https://github.com/sunker)
* **Color**: Fix issue where colors are reset to gray when switching panels. [#31611](https://github.com/grafana/grafana/pull/31611), [@torkelo](https://github.com/torkelo)
* **Explore**: Show ANSI colored logs in logs context. [#31510](https://github.com/grafana/grafana/pull/31510), [@ivanahuckova](https://github.com/ivanahuckova)
* **Explore**: keep enabled/disabled state in angular based QueryEditors correctly. [#31558](https://github.com/grafana/grafana/pull/31558), [@gabor](https://github.com/gabor)
* **Graph**: Fix tooltip not being displayed when close to edge of viewport. [#31493](https://github.com/grafana/grafana/pull/31493), [@msober](https://github.com/msober)
* **Heatmap**: Fix missing value in legend. [#31430](https://github.com/grafana/grafana/pull/31430), [@kurokochin](https://github.com/kurokochin)
* **InfluxDB**: Handle columns named "table". [#30985](https://github.com/grafana/grafana/pull/30985), [@gabor](https://github.com/gabor)
* **Prometheus**: Use configured HTTP method for /series and /labels endpoints. [#31401](https://github.com/grafana/grafana/pull/31401), [@ivanahuckova](https://github.com/ivanahuckova)
* **RefreshPicker**: Make valid intervals in url visible in RefreshPicker. [#30474](https://github.com/grafana/grafana/pull/30474), [@hugohaggmark](https://github.com/hugohaggmark)
* **TimeSeriesPanel**: Fix overlapping time axis ticks. [#31332](https://github.com/grafana/grafana/pull/31332), [@torkelo](https://github.com/torkelo)
* **TraceViewer**: Fix show log marker in spanbar. [#30742](https://github.com/grafana/grafana/pull/30742), [@zoltanbedi](https://github.com/zoltanbedi)
### Plugin development fixes & changes
* **Plugins**: Add autoEnabled plugin JSON field to auto enable App plugins and add configuration link to menu by default. [#31354](https://github.com/grafana/grafana/pull/31354), [@torkelo](https://github.com/torkelo)
* **Pagination**: Improve pagination for large number of pages. [#30151](https://github.com/grafana/grafana/pull/30151), [@nathanrodman](https://github.com/nathanrodman)
<!-- 7.5.0-beta1 END -->
<!-- 7.4.5 START -->
# 7.4.5 (2021-03-18)
### Bug fixes
* **Security**: Fix API permissions issues related to team-sync CVE-2021-28146, CVE-2021-28147. (Enterprise)
* **Security**: Usage insights requires signed in users CVE-2021-28148. (Enterprise)
* **Security**: Do not allow editors to incorrectly bypass permissions on the default data source. CVE-2021-27962. (Enterprise)
<!-- 7.4.5 END -->
<!-- 7.4.3 START -->
# 7.4.3 (2021-02-24)
@@ -21,7 +267,7 @@
### Features and enhancements
* **Explore**: Do not show non queryable data sources in data source picker. [#31144](https://github.com/grafana/grafana/pull/31144), [@torkelo](https://github.com/torkelo)
* **Snapshots**: Do not allow an anonymous user to create snapshots. [#31263](https://github.com/grafana/grafana/pull/31263), [@marefr](https://github.com/marefr)
* **Security**: Do not allow an anonymous user to create snapshots. CVE-2021-27358. [#31263](https://github.com/grafana/grafana/pull/31263), [@marefr](https://github.com/marefr)
### Bug fixes
@@ -256,6 +502,17 @@ This option to group query variable values into groups by tags has been an exper
<!-- 7.4.0-beta1 END -->
<!-- 7.3.10 START -->
# 7.3.10 (2021-03-18)
### Bug fixes
* **Security**: Fix API permissions issues related to team-sync CVE-2021-28146, CVE-2021-28147. (Enterprise)
* **Security**: Usage insights requires signed in users CVE-2021-28148. (Enterprise)
<!-- 7.3.10 END -->
<!-- 7.3.7 START -->
# 7.3.7 (2021-01-14)
@@ -1249,6 +1506,17 @@ We have also extended the time zone options so you can select any of the standar
- **Rich history**: Fix create url and run query for various datasources. [#23627](https://github.com/grafana/grafana/pull/23627), [@ivanahuckova](https://github.com/ivanahuckova)
- **Security**: Fix XSS vulnerability in table panel. [#23816](https://github.com/grafana/grafana/pull/23816), [@torkelo](https://github.com/torkelo)
<!-- 6.7.6 START -->
# 6.7.6 (2021-03-18)
### Bug fixes
* **Security**: Fix API permissions issues related to team-sync CVE-2021-28147. (Enterprise)
* **Security**: Usage insights requires signed in users CVE-2021-28148. (Enterprise)
<!-- 6.7.6 END -->
<!-- 6.7.5 START -->
# 6.7.5 (2020-12-17)
+1 -1
View File
@@ -76,4 +76,4 @@ Before we can accept your pull request, you need to [sign our CLA](https://grafa
- Set up your [development environment](contribute/developer-guide.md).
- Learn how to [contribute documentation](contribute/documentation.md).
- Get started [developing plugins](https://grafana.com/docs/grafana/latest/developers/plugins/) for Grafana.
- Look through the resources in the [contribute](https://github.com/grafana/grafana/tree/master/contribute) folder.
- Look through the resources in the [contribute](https://github.com/grafana/grafana/tree/main/contribute) folder.
+7 -4
View File
@@ -1,10 +1,11 @@
FROM node:14.15.5-alpine3.13 as js-builder
FROM node:14.16.0-alpine3.13 as js-builder
WORKDIR /usr/src/app/
COPY package.json yarn.lock ./
COPY packages packages
RUN apk --no-cache add git
RUN yarn install --pure-lockfile --no-progress
COPY tsconfig.json .eslintrc .editorconfig .browserslistrc .prettierrc.js ./
@@ -16,16 +17,18 @@ COPY emails emails
ENV NODE_ENV production
RUN yarn build
FROM golang:1.16.0-alpine3.13 as go-builder
FROM golang:1.16.1-alpine3.13 as go-builder
RUN apk add --no-cache gcc g++
WORKDIR $GOPATH/src/github.com/grafana/grafana
COPY go.mod go.sum ./
COPY go.mod go.sum embed.go ./
RUN go mod verify
COPY cue cue
COPY public/app/plugins public/app/plugins
COPY pkg pkg
COPY build.go package.json ./
@@ -73,7 +76,7 @@ RUN export GF_GID_NAME=$(getent group $GF_GID | cut -d':' -f1) && \
chown -R "grafana:$GF_GID_NAME" "$GF_PATHS_DATA" "$GF_PATHS_HOME/.aws" "$GF_PATHS_LOGS" "$GF_PATHS_PLUGINS" "$GF_PATHS_PROVISIONING" && \
chmod -R 777 "$GF_PATHS_DATA" "$GF_PATHS_HOME/.aws" "$GF_PATHS_LOGS" "$GF_PATHS_PLUGINS" "$GF_PATHS_PROVISIONING"
COPY --from=go-builder /go/src/github.com/grafana/grafana/bin/linux-amd64/grafana-server /go/src/github.com/grafana/grafana/bin/linux-amd64/grafana-cli ./bin/
COPY --from=go-builder /go/src/github.com/grafana/grafana/bin/*/grafana-server /go/src/github.com/grafana/grafana/bin/*/grafana-cli ./bin/
COPY --from=js-builder /usr/src/app/public ./public
COPY --from=js-builder /usr/src/app/tools ./tools
+6 -3
View File
@@ -5,6 +5,7 @@ WORKDIR /usr/src/app/
COPY package.json yarn.lock ./
COPY packages packages
RUN apt-get update && apt-get install -yq git
RUN yarn install --pure-lockfile
COPY tsconfig.json .eslintrc .editorconfig .browserslistrc .prettierrc.js ./
@@ -16,16 +17,18 @@ COPY emails emails
ENV NODE_ENV production
RUN yarn build
FROM golang:1.15.1 AS go-builder
FROM golang:1.16 AS go-builder
WORKDIR /src/grafana
COPY go.mod go.sum ./
COPY go.mod go.sum embed.go ./
RUN go mod verify
COPY build.go package.json ./
COPY pkg pkg/
COPY cue cue/
COPY public/app/plugins public/app/plugins/
RUN go run build.go build
@@ -67,7 +70,7 @@ RUN mkdir -p "$GF_PATHS_HOME/.aws" && \
chown -R grafana:grafana "$GF_PATHS_DATA" "$GF_PATHS_HOME/.aws" "$GF_PATHS_LOGS" "$GF_PATHS_PLUGINS" "$GF_PATHS_PROVISIONING" && \
chmod -R 777 "$GF_PATHS_DATA" "$GF_PATHS_HOME/.aws" "$GF_PATHS_LOGS" "$GF_PATHS_PLUGINS" "$GF_PATHS_PROVISIONING"
COPY --from=go-builder /src/grafana/bin/linux-amd64/grafana-server /src/grafana/bin/linux-amd64/grafana-cli bin/
COPY --from=go-builder /src/grafana/bin/*/grafana-server /src/grafana/bin/*/grafana-cli bin/
COPY --from=js-builder /usr/src/app/public public
COPY --from=js-builder /usr/src/app/tools tools
+2 -2
View File
@@ -198,8 +198,8 @@ The ex-member is
If needed, we reserve the right to publicly announce removal.
[coc]: https://github.com/grafana/grafana/blob/master/CODE_OF_CONDUCT.md
[coc]: https://github.com/grafana/grafana/blob/main/CODE_OF_CONDUCT.md
[devs]: https://groups.google.com/forum/#!forum/grafana-developers
[maintainers]: https://github.com/grafana/grafana/blob/master/MAINTAINERS.md
[maintainers]: https://github.com/grafana/grafana/blob/main/MAINTAINERS.md
[rough]: https://tools.ietf.org/html/rfc7282
[team]: https://groups.google.com/forum/#!forum/grafana-team
+2 -2
View File
@@ -301,12 +301,12 @@ Even if you don't have the time or knowledge to investigate an issue we highly r
## Automation
We have some automation that triggers on comments or labels being added to issues. Many of these automated behaviors are defined in [commands.json](https://github.com/grafana/grafana/blob/master/.github/commands.json). Or in other [GitHub Actions](https://github.com/grafana/grafana/tree/master/.github/workflows)
We have some automation that triggers on comments or labels being added to issues. Many of these automated behaviors are defined in [commands.json](https://github.com/grafana/grafana/blob/main/.github/commands.json). Or in other [GitHub Actions](https://github.com/grafana/grafana/tree/main/.github/workflows)
* Add /duplicate `#<issue number>` to have Grafana label & close issue with an appropriate message.
* Add `bot/question` and the bot will close it with an appropriate message.
[Read more on bot actions](https://github.com/grafana/grafana/blob/master/.github/bot.md)
[Read more on bot actions](https://github.com/grafana/grafana/blob/main/.github/bot.md)
## External PRs
+628 -169
View File
@@ -1,202 +1,661 @@
GNU AFFERO GENERAL PUBLIC LICENSE
Version 3, 19 November 2007
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
Preamble
1. Definitions.
The GNU Affero General Public License is a free, copyleft license for
software and other kinds of works, specifically designed to ensure
cooperation with the community in the case of network server software.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
our General Public Licenses are intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
Developers that use our General Public Licenses protect your rights
with two steps: (1) assert copyright on the software, and (2) offer
you this License which gives you legal permission to copy, distribute
and/or modify the software.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
A secondary benefit of defending all users' freedom is that
improvements made in alternate versions of the program, if they
receive widespread use, become available for other developers to
incorporate. Many developers of free software are heartened and
encouraged by the resulting cooperation. However, in the case of
software used on network servers, this result may fail to come about.
The GNU General Public License permits making a modified version and
letting the public access it on a server without ever releasing its
source code to the public.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
The GNU Affero General Public License is designed specifically to
ensure that, in such cases, the modified source code becomes available
to the community. It requires the operator of a network server to
provide the source code of the modified version running there to the
users of that server. Therefore, public use of a modified version, on
a publicly accessible server, gives the public access to the source
code of the modified version.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
An older license, called the Affero General Public License and
published by Affero, was designed to accomplish similar goals. This is
a different license, not a version of the Affero GPL, but Affero has
released a new version of the Affero GPL which permits relicensing under
this license.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
The precise terms and conditions for copying, distribution and
modification follow.
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
TERMS AND CONDITIONS
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
0. Definitions.
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
"This License" refers to version 3 of the GNU Affero General Public License.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
A "covered work" means either the unmodified Program or a work based
on the Program.
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
1. Source Code.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
END OF TERMS AND CONDITIONS
The Corresponding Source for a work in source code form is that
same work.
APPENDIX: How to apply the Apache License to your work.
2. Basic Permissions.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
Copyright 2015 Grafana Labs
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
http://www.apache.org/licenses/LICENSE-2.0
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Remote Network Interaction; Use with the GNU General Public License.
Notwithstanding any other provision of this License, if you modify the
Program, your modified version must prominently offer all users
interacting with it remotely through a computer network (if your version
supports such interaction) an opportunity to receive the Corresponding
Source of your version by providing access to the Corresponding Source
from a network server at no charge, through some standard or customary
means of facilitating copying of software. This Corresponding Source
shall include the Corresponding Source for any work covered by version 3
of the GNU General Public License that is incorporated pursuant to the
following paragraph.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the work with which it is combined will remain governed by version
3 of the GNU General Public License.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU Affero General Public License from time to time. Such new versions
will be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU Affero General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU Affero General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU Affero General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If your software can interact with users remotely through a computer
network, you should also make sure that it provides a way for users to
get its source. For example, if your program is a web application, its
interface could display a "Source" link that leads users to an archive
of the code. There are many ways you could offer source, and different
solutions will be better for different programs; see section 13 for the
specific requirements.
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU AGPL, see
<https://www.gnu.org/licenses/>.
+23
View File
@@ -0,0 +1,23 @@
# Licensing
License names used in this document are as per [SPDX License List](https://spdx.org/licenses/).
The default license for this project is [AGPL-3.0-only](LICENSE).
## Apache-2.0
The following folders and their subfolders are licensed under Apache-2.0:
```
packages/grafana-data/
packages/grafana-e2e/
packages/grafana-e2e-selectors/
packages/grafana-runtime/
packages/grafana-toolkit/
packages/grafana-ui/
packages/jaeger-ui-components/
plugins-bundled/internal/input-datasource/
packaging/
grafana-mixin/
cue/
```
+2 -18
View File
@@ -4,7 +4,7 @@
-include local/Makefile
.PHONY: all deps-go deps-js deps build-go build-server build-cli build-js build build-docker-dev build-docker-full lint-go revive golangci-lint test-go test-js test run run-frontend clean devenv devenv-down revive-strict protobuf help
.PHONY: all deps-go deps-js deps build-go build-server build-cli build-js build build-docker-dev build-docker-full lint-go golangci-lint test-go test-js test run run-frontend clean devenv devenv-down protobuf help
GO = GO111MODULE=on go
GO_FILES ?= ./pkg/...
@@ -69,22 +69,6 @@ test-js: ## Run tests for frontend.
test: test-go test-js ## Run all tests.
##@ Linting
scripts/go/bin/revive: scripts/go/go.mod
@cd scripts/go; \
$(GO) build -o ./bin/revive github.com/mgechev/revive
revive: scripts/go/bin/revive
@echo "lint via revive"
@scripts/go/bin/revive \
-formatter stylish \
-config ./scripts/go/configs/revive.toml \
$(GO_FILES)
revive-strict: scripts/go/bin/revive
@echo "lint via revive (strict)"
@scripts/revive-strict scripts/go/bin/revive
scripts/go/bin/golangci-lint: scripts/go/go.mod
@cd scripts/go; \
$(GO) build -o ./bin/golangci-lint github.com/golangci/golangci-lint/cmd/golangci-lint
@@ -95,7 +79,7 @@ golangci-lint: scripts/go/bin/golangci-lint
--config ./scripts/go/configs/.golangci.toml \
$(GO_FILES)
lint-go: golangci-lint revive revive-strict # Run all code checks for backend.
lint-go: golangci-lint # Run all code checks for backend.
# with disabled SC1071 we are ignored some TCL,Expect `/usr/bin/env expect` scripts
shellcheck: $(SH_FILES) ## Run checks for shell scripts.
+1 -1
View File
@@ -17,7 +17,7 @@ for built-in plugins and everything internal. External plugins still use systemj
set of Grafana components they can import. Plugins can depend on libs like lodash & moment and internal components
like before using the same import paths. However since everything in Grafana is no longer accessible, a few plugins could encounter issues when importing a Grafana dependency.
[List of exposed components plugins can import/require](https://github.com/grafana/grafana/blob/master/public/app/features/plugins/plugin_loader.ts#L48)
[List of exposed components plugins can import/require](https://github.com/grafana/grafana/blob/main/public/app/features/plugins/plugin_loader.ts#L48)
If you think we missed exposing a crucial lib or Grafana component let us know by opening an issue.
+3 -2
View File
@@ -3,7 +3,7 @@
The open-source platform for monitoring and observability.
[![License](https://img.shields.io/github/license/grafana/grafana)](LICENSE)
[![Circle CI](https://img.shields.io/circleci/build/gh/grafana/grafana)](https://circleci.com/gh/grafana/grafana)
[![Drone](https://drone.grafana.net/api/badges/grafana/grafana/status.svg)](https://drone.grafana.net/grafana/grafana)
[![Go Report Card](https://goreportcard.com/badge/github.com/grafana/grafana)](https://goreportcard.com/report/github.com/grafana/grafana)
Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data driven culture:
@@ -33,6 +33,7 @@ If you're interested in contributing to the Grafana project:
- Start by reading the [Contributing guide](/CONTRIBUTING.md).
- Learn how to set up your local environment, in our [Developer guide](/contribute/developer-guide.md).
- Explore our [beginner-friendly issues](https://github.com/grafana/grafana/issues?q=is%3Aopen+is%3Aissue+label%3A%22beginner+friendly%22).
- Look through our [style guide and Storybook](https://developers.grafana.com/ui/latest/index.html).
## Get involved
@@ -43,4 +44,4 @@ If you're interested in contributing to the Grafana project:
## License
Grafana is distributed under the [Apache 2.0 License](https://github.com/grafana/grafana/blob/master/LICENSE).
Grafana is distributed under [AGPL-3.0-only](LICENSE). For Apache-2.0 exceptions, see [LICENSING.md](LICENSING.md).
+2 -2
View File
@@ -68,7 +68,7 @@ Our builds run on CircleCI through our build script.
The main build step (in CircleCI) is built using a custom build container that comes pre-baked with some of the necessary dependencies.
Link: [grafana/build-container](https://github.com/grafana/grafana/tree/master/scripts/build/ci-build)
Link: [grafana/build-container](https://github.com/grafana/grafana/tree/main/scripts/build/ci-build)
#### Dependencies
@@ -79,7 +79,7 @@ Link: [grafana/build-container](https://github.com/grafana/grafana/tree/master/s
### Appveyor
Master and release builds trigger test runs on Appveyors build environment so that tests will run on Windows.
Main and release builds trigger test runs on Appveyors build environment so that tests will run on Windows.
#### Files:
+6 -6
View File
@@ -12,7 +12,7 @@ Team members and their access to repositories is maintained through [GitHub team
## Proposing changes
Examples of proposed changes are overarching architecture, component design, and specific code or graphical elements. Proposed changes SHOULD cover the big picture and intention, but individual parts SHOULD be split into the smallest possible changes. Changes SHOULD be based on and target the master branch. Depending on size of the proposed change, each change SHOULD be discussed, in increasing order of change size and complexity:
Examples of proposed changes are overarching architecture, component design, and specific code or graphical elements. Proposed changes SHOULD cover the big picture and intention, but individual parts SHOULD be split into the smallest possible changes. Changes SHOULD be based on and target the main branch. Depending on size of the proposed change, each change SHOULD be discussed, in increasing order of change size and complexity:
- Directly in a RR (Pull Request) - this MAY be done, but SHOULD not be the common case.
- Issue
- Developer mailing list
@@ -23,7 +23,7 @@ Significant changes MUST be discussed and agreed upon with the relevant subsyste
## Merging PRs (Pull Requests)
Depending on the size and complexity of a PR, different requirements MUST be applied. Any team member contributing substantially to a PR MUST NOT count against review requirements.
Commits MUST be merged into master using PRs. They MUST NOT be merged into master directly.
Commits MUST be merged into main using PRs. They MUST NOT be merged into main directly.
- Every merge MUST be approved by at least one team member.
- Non-trivial changes MUST be approved by at least
- two team members, or
@@ -40,7 +40,7 @@ Once a PR is approved as per above, any team member MAY merge the PR.
## Backporting a PR
PRs intended for inclusion in the next PATCH release they must be backported to the release branch. The bot can do this automatically. [Read more on backport PRs](https://github.com/grafana/grafana/blob/master/.github/bot.md). Both the source PR and the backport PR should be assigned to the patch release milestone, unless you are backporting to many releases then it can differ.
PRs intended for inclusion in the next PATCH release they must be backported to the release branch. The bot can do this automatically. [Read more on backport PRs](https://github.com/grafana/grafana/blob/main/.github/bot.md). Both the source PR and the backport PR should be assigned to the patch release milestone, unless you are backporting to many releases then it can differ.
Backport PRs are also needed during the beta period to get fixes into the stable release.
@@ -51,7 +51,7 @@ Backport PRs are also needed during the beta period to get fixes into the stable
Grafana uses trunk-based development.
In particular, we found that the following principles match how we work:
- Master and release branches MUST always build without failure.
- Main and release branches MUST always build without failure.
- Branches SHOULD be merged often. Larger changes SHOULD be activated with feature flags until they are ready. Long-lived development branches SHOULD be avoided.
- Changes MAY be enabled by default once they are in a complete state
- Changes which span multiple PRs MUST be described in an overarching issue or Google Doc.
@@ -61,8 +61,8 @@ In particular, we found that the following principles match how we work:
Releases MUST follow [Semantic Versioning](https://semver.org/) in naming and SHOULD follow Semantic Versioning as closely as reasonably possible for non-library software.
Release branches MUST be split from the following branches.
- MAJOR release branches MUST be based on master.
- MINOR release branches MUST be based on master.
- MAJOR release branches MUST be based on main.
- MINOR release branches MUST be based on main.
- PATCH release branches MUST be split from the relevant MINOR release branchs most current PATCH
Security releases follow the same process but MUST be prepared in secret. Security releases MUST NOT include changes which are not related to the security fix. Normal release processes MUST accommodate the security release process. SECURITY.md MUST be followed.
+1 -1
View File
@@ -356,7 +356,7 @@ func setBuildEnv() {
func getGitBranch() string {
v, err := runError("git", "rev-parse", "--abbrev-ref", "HEAD")
if err != nil {
return "master"
return "main"
}
return string(v)
}
+62 -4
View File
@@ -69,6 +69,10 @@ socket = /tmp/grafana.sock
# CDN Url
cdn_url =
# Sets the maximum time in minutes before timing out read of an incoming request and closing idle connections.
# `0` means there is no timeout for reading the request.
read_timeout = 0
#################################### Database ############################
[database]
# You can configure the database connection by specifying type, host, name, user and password
@@ -101,6 +105,12 @@ log_queries =
# For "mysql", use either "true", "false", or "skip-verify".
ssl_mode = disable
# Database drivers may support different transaction isolation levels.
# Currently, only "mysql" driver supports isolation levels.
# If the value is empty - driver's default isolation level is applied.
# For "mysql" use "READ-UNCOMMITTED", "READ-COMMITTED", "REPEATABLE-READ" or "SERIALIZABLE".
isolation_level =
ca_cert_path =
client_key_path =
client_cert_path =
@@ -300,6 +310,9 @@ password_hint = password
# Default UI theme ("dark" or "light")
default_theme = dark
# Path to a custom home page. Users are only redirected to this if the default home dashboard is used. It should match a frontend route and contain a leading slash.
home_page =
# External user management
external_manage_link_url =
external_manage_link_name =
@@ -333,7 +346,7 @@ token_rotation_interval_minutes = 10
# Set to true to disable (hide) the login form, useful if you use OAuth
disable_login_form = false
# Set to true to disable the signout link in the side menu. useful if you use auth.proxy
# Set to true to disable the sign out link in the side menu. Useful if you use auth.proxy or auth.jwt.
disable_signout_menu = false
# URL to redirect the user to after sign out
@@ -451,6 +464,7 @@ api_url = https://<tenant-id>.okta.com/oauth2/v1/userinfo
allowed_domains =
allowed_groups =
role_attribute_path =
role_attribute_strict = false
#################################### Generic OAuth #######################
[auth.generic_oauth]
@@ -460,11 +474,13 @@ allow_sign_up = true
client_id = some_id
client_secret =
scopes = user:email
empty_scopes = false
email_attribute_name = email:primary
email_attribute_path =
login_attribute_path =
name_attribute_path =
role_attribute_path =
role_attribute_strict = false
id_token_attribute_name =
auth_url =
token_url =
@@ -494,6 +510,18 @@ whitelist =
headers =
enable_login_token = false
#################################### Auth JWT ##########################
[auth.jwt]
enabled = false
header_name =
email_claim =
username_claim =
jwk_set_url =
jwk_set_file =
cache_ttl = 60m
expected_claims = {}
key_file =
#################################### Auth LDAP ###########################
[auth.ldap]
enabled = false
@@ -507,14 +535,33 @@ active_sync_enabled = true
#################################### AWS ###########################
[aws]
# Enter a comma-separated list of allowed AWS authentication providers.
# Options are: default (AWS SDK Default), keys (Access && secret key), credentials (Credentials field), ec2_IAM_role (EC2 IAM Role)
# Enter a comma-separated list of allowed AWS authentication providers.
# Options are: default (AWS SDK Default), keys (Access && secret key), credentials (Credentials field), ec2_iam_role (EC2 IAM Role)
allowed_auth_providers = default,keys,credentials
# Allow AWS users to assume a role using temporary security credentials.
# Allow AWS users to assume a role using temporary security credentials.
# If true, assume role will be enabled for all AWS authentication providers that are specified in aws_auth_providers
assume_role_enabled = true
# Specify max no of pages to be returned by the ListMetricPages API
list_metrics_page_limit = 500
#################################### Azure ###############################
[azure]
# Azure cloud environment where Grafana is hosted
# Possible values are AzureCloud, AzureChinaCloud, AzureUSGovernment and AzureGermanCloud
# Default value is AzureCloud (i.e. public cloud)
cloud = AzureCloud
# Specifies whether Grafana hosted in Azure service with Managed Identity configured (e.g. Azure Virtual Machines instance)
# If enabled, the managed identity can be used for authentication of Grafana in Azure services
# Disabled by default, needs to be explicitly enabled
managed_identity_enabled = false
# Client ID to use for user-assigned managed identity
# Should be set for user-assigned identity and should be empty for system-assigned identity
managed_identity_client_id =
#################################### SMTP / Emailing #####################
[smtp]
enabled = false
@@ -627,6 +674,9 @@ org_data_source = 10
# limit number of api_keys per Org.
org_api_key = 10
# limit number of alerts per Org.
org_alert_rule = 100
# limit number of orgs a user can create.
user_org = 10
@@ -645,6 +695,9 @@ global_api_key = -1
# global limit on number of logged in users.
global_session = -1
# global limit of alerts
global_alert_rule = -1
#################################### Alerting ############################
[alerting]
# Disable alerting engine & UI features
@@ -682,6 +735,9 @@ max_annotation_age =
max_annotations_to_keep =
#################################### Annotations #########################
[annotations]
# Configures the batch size for the annotation clean-up job. This setting is used for dashboard, API, and alert annotations.
cleanupjob_batchsize = 100
[annotations.dashboard]
# Dashboard annotations means that annotations are associated with the dashboard they are created on.
@@ -822,6 +878,8 @@ app_tls_skip_verify_insecure = false
# Enter a comma-separated list of plugin identifiers to identify plugins that are allowed to be loaded even if they lack a valid signature.
allow_loading_unsigned_plugins =
marketplace_url = https://grafana.com/grafana/plugins/
# Enable or disable the Marketplace app which can be used to manage plugins from within Grafana.
marketplace_app_enabled = false
#################################### Grafana Image Renderer Plugin ##########################
[plugin.grafana-image-renderer]
+59 -4
View File
@@ -70,6 +70,10 @@
# CDN Url
;cdn_url =
# Sets the maximum time using a duration format (5s/5m/5ms) before timing out read of an incoming request and closing idle connections.
# `0` means there is no timeout for reading the request.
;read_timeout = 0
#################################### Database ####################################
[database]
# You can configure the database connection by specifying type, host, name, user and password
@@ -90,6 +94,12 @@
# For "postgres" only, either "disable", "require" or "verify-full"
;ssl_mode = disable
# Database drivers may support different transaction isolation levels.
# Currently, only "mysql" driver supports isolation levels.
# If the value is empty - driver's default isolation level is applied.
# For "mysql" use "READ-UNCOMMITTED", "READ-COMMITTED", "REPEATABLE-READ" or "SERIALIZABLE".
;isolation_level =
;ca_cert_path =
;client_key_path =
;client_cert_path =
@@ -300,6 +310,9 @@
# Default UI theme ("dark" or "light")
;default_theme = dark
# Path to a custom home page. Users are only redirected to this if the default home dashboard is used. It should match a frontend route and contain a leading slash.
; home_page =
# External user management, these options affect the organization users view
;external_manage_link_url =
;external_manage_link_name =
@@ -333,7 +346,7 @@
# Set to true to disable (hide) the login form, useful if you use OAuth, defaults to false
;disable_login_form = false
# Set to true to disable the signout link in the side menu. useful if you use auth.proxy, defaults to false
# Set to true to disable the sign out link in the side menu. Useful if you use auth.proxy or auth.jwt, defaults to false
;disable_signout_menu = false
# URL to redirect the user to after sign out
@@ -442,6 +455,7 @@
;allowed_domains =
;allowed_groups =
;role_attribute_path =
;role_attribute_strict = false
#################################### Generic OAuth ##########################
[auth.generic_oauth]
@@ -451,6 +465,7 @@
;client_id = some_id
;client_secret = some_secret
;scopes = user:email,read:org
;empty_scopes = false
;email_attribute_name = email:primary
;email_attribute_path =
;login_attribute_path =
@@ -463,6 +478,7 @@
;team_ids =
;allowed_organizations =
;role_attribute_path =
;role_attribute_strict = false
;tls_skip_verify_insecure = false
;tls_client_cert =
;tls_client_key =
@@ -484,6 +500,18 @@
# Read the auth proxy docs for details on what the setting below enables
;enable_login_token = false
#################################### Auth JWT ##########################
[auth.jwt]
;enabled = true
;header_name = X-JWT-Assertion
;email_claim = sub
;username_claim = sub
;jwk_set_url = https://foo.bar/.well-known/jwks.json
;jwk_set_file = /path/to/jwks.json
;cache_ttl = 60m
;expected_claims = {"aud": ["foo", "bar"]}
;key_file = /path/to/key/file
#################################### Auth LDAP ##########################
[auth.ldap]
;enabled = false
@@ -497,14 +525,30 @@
#################################### AWS ###########################
[aws]
# Enter a comma-separated list of allowed AWS authentication providers.
# Options are: default (AWS SDK Default), keys (Access && secret key), credentials (Credentials field), ec2_IAM_role (EC2 IAM Role)
# Enter a comma-separated list of allowed AWS authentication providers.
# Options are: default (AWS SDK Default), keys (Access && secret key), credentials (Credentials field), ec2_iam_role (EC2 IAM Role)
; allowed_auth_providers = default,keys,credentials
# Allow AWS users to assume a role using temporary security credentials.
# Allow AWS users to assume a role using temporary security credentials.
# If true, assume role will be enabled for all AWS authentication providers that are specified in aws_auth_providers
; assume_role_enabled = true
#################################### Azure ###############################
[azure]
# Azure cloud environment where Grafana is hosted
# Possible values are AzureCloud, AzureChinaCloud, AzureUSGovernment and AzureGermanCloud
# Default value is AzureCloud (i.e. public cloud)
;cloud = AzureCloud
# Specifies whether Grafana hosted in Azure service with Managed Identity configured (e.g. Azure Virtual Machines instance)
# If enabled, the managed identity can be used for authentication of Grafana in Azure services
# Disabled by default, needs to be explicitly enabled
;managed_identity_enabled = false
# Client ID to use for user-assigned managed identity
# Should be set for user-assigned identity and should be empty for system-assigned identity
;managed_identity_client_id =
#################################### SMTP / Emailing ##########################
[smtp]
;enabled = false
@@ -619,6 +663,9 @@
# limit number of api_keys per Org.
; org_api_key = 10
# limit number of alerts per Org.
;org_alert_rule = 100
# limit number of orgs a user can create.
; user_org = 10
@@ -637,6 +684,9 @@
# global limit on number of logged in users.
; global_session = -1
# global limit of alerts
;global_alert_rule = -1
#################################### Alerting ############################
[alerting]
# Disable alerting engine & UI features
@@ -675,6 +725,9 @@
;max_annotations_to_keep =
#################################### Annotations #########################
[annotations]
# Configures the batch size for the annotation clean-up job. This setting is used for dashboard, API, and alert annotations.
;cleanupjob_batchsize = 100
[annotations.dashboard]
# Dashboard annotations means that annotations are associated with the dashboard they are created on.
@@ -811,6 +864,8 @@
# Enter a comma-separated list of plugin identifiers to identify plugins that are allowed to be loaded even if they lack a valid signature.
;allow_loading_unsigned_plugins =
;marketplace_url = https://grafana.com/grafana/plugins/
# Enable or disable the Marketplace app which can be used to manage plugins from within Grafana.
;marketplace_app_enabled = false
#################################### Grafana Image Renderer Plugin ##########################
[plugin.grafana-image-renderer]
+3 -3
View File
@@ -4,9 +4,9 @@ Are you looking to take on contributions with bigger impact? These guides help y
Learn more about the backend architecture:
- Part 1: [Services](services.md)
- Part 2: [Communication](communication.md)
- Part 3: [Database](database.md)
- Part 1: [Services](backend/services.md)
- Part 2: [Communication](backend/communication.md)
- Part 3: [Database](backend/database.md)
Learn more about the frontend architecture:
- Part 1: [Data requests](frontend-data-requests.md)
@@ -79,7 +79,7 @@ To see all the types of migrations you can add, refer to [migrations.go](/pkg/se
Before you add a migration, make sure that you:
- Never change a migration that has been committed and pushed to master.
- Never change a migration that has been committed and pushed to main.
- Always add new migrations, to change or undo previous migrations.
Add a migration using one of the following methods:
@@ -0,0 +1,16 @@
# Package hierarchy
The Go package hierarchy in Grafana should be organized logically (Ben Johnson's
[article](https://medium.com/@benbjohnson/standard-package-layout-7cdbc8391fc1) served as inspiration), according to the
following principles:
* Domain types and interfaces should be in "root" packages (not necessarily at the very top, of the hierarchy, but
logical roots)
* Sub-packages should depend on roots - sub-packages here typically contain implementations, for example of services
## Practical example
The `pkg/plugins` package contains plugin domain types, for example `DataPlugin`, and also interfaces
such as `RequestHandler`. Then you have the `pkg/plugins/managers` subpackage, which contains concrete implementations
such as the service `PluginManager`. The subpackage `pkg/plugins/backendplugin/coreplugin` contains `plugins.DataPlugin`
implementations.
@@ -12,7 +12,7 @@ If we wait for canceled requests to complete, it might create unnecessary load o
Grafana uses a concept called _request cancelation_ to cancel any ongoing request that Grafana doesn't need.
#### Before Grafana 7.2
Before Grafana can cancel any data request, it has to identify that request. Grafana identifies a request using the property `requestId` [passed as options](https://github.com/grafana/grafana/blob/master/docs/sources/packages_api/runtime/backendsrvrequest.md) when you use [BackendSrv](https://grafana.com/docs/grafana/latest/packages_api/runtime/backendsrv).
Before Grafana can cancel any data request, it has to identify that request. Grafana identifies a request using the property `requestId` [passed as options](https://github.com/grafana/grafana/blob/main/docs/sources/packages_api/runtime/backendsrvrequest.md) when you use [BackendSrv](https://grafana.com/docs/grafana/latest/packages_api/runtime/backendsrv).
The cancellation logic is as follows:
- When an ongoing request discovers that an additional request with the same `requestId` has started, then Grafana will cancel the ongoing request.
+1 -1
View File
@@ -19,7 +19,7 @@ To increase the chance of having your pull request accepted, make sure your pull
- Commits within the pull request follow the [Formatting guidelines](#Formatting-guidelines).
- The pull request closes one related issue.
- The pull request contains necessary tests that verify the intended behavior.
- If your pull request has conflicts, rebase your branch onto the master branch.
- If your pull request has conflicts, rebase your branch onto the main branch.
If the pull request fixes a bug:
+2 -2
View File
@@ -27,7 +27,7 @@ npm install -g yarn
### Windows
If you are running Grafana on Windows 10, we recommend installing the Windows Subsystem for Linux (WSL). For installation instructions, refer to the [Microsoft WSL Installation Guide](https://docs.microsoft.com/en-us/windows/wsl/install-win10).
If you are running Grafana on Windows 10, we recommend installing the Windows Subsystem for Linux (WSL). For installation instructions, refer to our [Grafana setup guide for Windows environment](https://grafana.com/blog/2021/03/03/how-to-set-up-a-grafana-development-environment-on-a-windows-pc-using-wsl/).
## Download Grafana
@@ -177,7 +177,7 @@ make devenv sources=influxdb,loki
The script generates a Docker Compose file with the databases you specify as `sources`, and runs them in the background.
See the repository for all the [available data sources](/devenv/docker/blocks). Note that some data sources have specific Docker images for macOS, e.g. `prometheus_mac`.
See the repository for all the [available data sources](/devenv/docker/blocks). Note that some data sources have specific Docker images for macOS, e.g. `nginx_proxy_mac`.
## Build a Docker image
@@ -0,0 +1,22 @@
# Upgrading dependencies
Notes on upgrading various backend dependencies.
# Protobuf
When upgrading the [protobuf](http://github.com/golang/protobuf) library in Grafana and the plugin SDK,
you typically also want to upgrade your protobuf compiler toolchain and re-compile protobuf files:
```
cd $GRAFANA
make protobuf
cd $GRAFANA_PLUGIN_SDK_GO
mage protobuf
```
After upgrading the protobuf dependency in Grafana and the plugin SDK, it might be wise to test that things still work,
before making corresponding PRs:
* Test a plugin built with upgraded SDK on upgraded Grafana
* Test a plugin built with non-upgraded SDK on upgraded Grafana
* Test a plugin built with upgraded SDK on non-upgraded Grafana
+1 -1
View File
@@ -20,7 +20,7 @@ We use the standard following linters:
In addition to the standard linters, we also use:
- [revive](https://revive.run/) with a [custom config](https://github.com/grafana/grafana/blob/master/conf/revive.toml)
- [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)
@@ -14,7 +14,7 @@ The *Documentation style guide* is a living document. Add to it whenever a style
## Published guides
For all items that are not covered in this guide, refer to the [Microsoft Style Guide](https://docs.microsoft.com/en-us/style-guide/welcome/) and the [Chicago Manual of Style](https://www.chicagomanualofstyle.org/home.html).
For all items that are not covered in this guide, refer to the [Google developer documentation style guide](https://developers.google.com/style) and the [Microsoft style guide](https://docs.microsoft.com/en-us/style-guide/welcome/), in that order.
## Spelling
@@ -46,7 +46,7 @@ Avoid _master_ or _slave_.
## Grafana-specific style
The following guidelines are specific to Grafana documentation. For the most part, these are *guidelines* are not rigid rules. If you have questions, ask in the #docs channel of Grafana Slack.
The following guidelines are specific to Grafana documentation. For the most part, these are *guidelines* are not rigid rules. If you have questions, then please ask in the #docs channel of Grafana Slack.
### General
@@ -114,10 +114,17 @@ If that is the case, then use the following format for headings:
- Assume all graphics will be exclusively viewed on the web.
- Maximum image size is 3840px X 2160px.
- Screenshots should be readable, but not too large.
- _Do not_ use image shortcodes. Follow the guidance in the [Grafana markdown guide](https://github.com/grafana/grafana/blob/master/contribute/style-guides/documentation-markdown-guide.md#images).
- _Do not_ use image shortcodes. Follow the guidance in the [Grafana markdown guide](https://github.com/grafana/grafana/blob/main/contribute/style-guides/documentation-markdown-guide.md#images).
- Markdown image links are preferred. Only use the HTML image links if you need to style the image in ways unsupported in Markdown.
- When you name a file, follow the [file naming conventions](#file-naming-conventions). Example: image-name-7-3.png
### Unordered lists
Here are a few general rules about unordered lists. For more guidance, refer to [Lists](https://developers.google.com/style/lists) in the [Google developer style guide](https://developers.google.com/style/).
- List items should begin with a capital letter unless there is a strong reason not to. For example, you are listing case-sensitive parameters.
- List items should end with periods if they are complete sentences. If one item in a list ends with a period, then apply periods to all of them.
### Capitalization
- Grafana, Loki, and Prometheus are always capitalized unless part of a code block.
@@ -287,6 +294,15 @@ Do not hyphenate when used as an adjective unless the lack of hyphen would cause
Do not hyphenate when it is used as a noun. For example: _Open source is the best way to develop software._
#### plugin, plug in
Two words if used as a verb, one word if used as a noun. Do not use _plug-in_.
**Examples**
- Plug in the appliance.
- Download the plugin.
#### setup, set up
Two words if used as a verb, one word if used as a noun.
@@ -296,7 +312,7 @@ Two words if used as a verb, one word if used as a noun.
- Set up the workspace.
- Initial setup might take five minutes.
### node_exporter, windows_exporter
#### node_exporter, windows_exporter
When referencing the Prometheus data source exporters, always use "node_exporter" and "windows_exporter" when referring to those tools.
@@ -307,8 +323,8 @@ When referencing the Prometheus data source exporters, always use "node_exporter
Two words, not one.
**Correct:** webserver
**Incorrect:** web server
**Correct:** web server
**Incorrect:** webserver
### MS SQL Server
Always use "MS SQL" when referring to MS SQL Server application.
+1 -1
View File
@@ -147,7 +147,7 @@ The [controls addon](https://storybook.js.org/docs/react/essentials/controls) pr
#### Migrating a story from Knobs to Controls
As a test, we migrated the [button story](https://github.com/grafana/grafana/blob/master/packages/grafana-ui/src/components/Button/Button.story.tsx). Here's the guide on how to migrate a story to controls.
As a test, we migrated the [button story](https://github.com/grafana/grafana/blob/main/packages/grafana-ui/src/components/Button/Button.story.tsx). Here's the guide on how to migrate a story to controls.
1. Remove the `@storybook/addon-knobs` dependency.
2. Import the Story type from `@storybook/react`
+7 -9
View File
@@ -10,7 +10,7 @@ For styling components, use [Emotion's `css` function](https://emotion.sh/docs/e
```tsx
import React from 'react';
import { css } from 'emotion';
import { css } from '@emotion/css';
const ComponentA = () => (
<div
@@ -33,14 +33,13 @@ To access the theme in your styles, use the `useStyles` hook. It provides basic
import React, { FC } from 'react';
import { GrafanaTheme } from '@grafana/data';
import { useStyles } from '@grafana/ui';
import { css } from 'emotion';
import { css } from '@emotion/css';
const Foo: FC<FooProps> = () => {
const styles = useStyles(getStyles);
// Use styles with classNames
return <div className={styles}>...</div>
return <div className={styles}>...</div>;
};
const getStyles = (theme: GrafanaTheme) => css`
@@ -56,15 +55,15 @@ Let's say you need to style a component that has a different background dependin
```tsx
import React from 'react';
import { css } from 'emotion';
import { css } from '@emotion/css';
import { GrafanaTheme } from '@grafana/data';
import { selectThemeVariant, stylesFactory, useTheme } from '@grafana/ui';
interface ComponentAProps {
isActive: boolean
isActive: boolean;
}
const ComponentA: React.FC<ComponentAProps> = ({isActive}) => {
const ComponentA: React.FC<ComponentAProps> = ({ isActive }) => {
const theme = useTheme();
const styles = getStyles(theme, isActive);
@@ -76,7 +75,6 @@ const ComponentA: React.FC<ComponentAProps> = ({isActive}) => {
);
};
// Mind, that you can pass multiple arguments, theme included
const getStyles = stylesFactory((theme: GrafanaTheme, isActive: boolean) => {
const backgroundColor = isActive ? theme.colors.red : theme.colors.blue;
@@ -100,7 +98,7 @@ For class composition, use [Emotion's `cx` function](https://emotion.sh/docs/emo
```tsx
import React from 'react';
import { css, cx } from 'emotion';
import { css, cx } from '@emotion/css';
interface Props {
className?: string;
+3 -4
View File
@@ -26,7 +26,7 @@ Here's how to use Grafana themes in React components.
import React, { FC } from 'react';
import { GrafanaTheme } from '@grafana/data';
import { useStyles } from '@grafana/ui';
import { css } from 'emotion';
import { css } from '@emotion/css';
const getComponentStyles = (theme: GrafanaTheme) => css`
padding: ${theme.spacing.md};
@@ -57,7 +57,7 @@ const Foo: FC<FooProps> = () => {
```tsx
import { ThemeContext } from '@grafana/ui';
<ThemeContext.Consumer>{theme => <Foo theme={theme} />}</ThemeContext.Consumer>;
<ThemeContext.Consumer>{(theme) => <Foo theme={theme} />}</ThemeContext.Consumer>;
```
#### Using `withTheme` higher-order component (HOC)
@@ -97,9 +97,8 @@ describe('MyComponent', () => {
restoreThemeContext();
});
it('renders correctly', () => {
const wrapper = mount(<MyComponent />)
const wrapper = mount(<MyComponent />);
expect(wrapper).toMatchSnapshot();
});
});
+1
View File
@@ -0,0 +1 @@
module: "github.com/grafana/grafana"
+214
View File
@@ -0,0 +1,214 @@
package grafanaschema
import "github.com/grafana/grafana/cue/scuemata"
Family: scuemata.#Family & {
lineages: [
[
{ // 0.0
// Unique numeric identifier for the dashboard.
// TODO must isolate or remove identifiers local to a Grafana instance...?
id?: number
// Unique dashboard identifier that can be generated by anyone. string (8-40)
uid?: string
// Title of dashboard.
title?: string
// Description of dashboard.
description?: string
gnetId?: string
// Tags associated with dashboard.
tags?: [...string]
// Theme of dashboard.
style: *"light" | "dark"
// Timezone of dashboard,
timezone?: *"browser" | "utc"
// Whether a dashboard is editable or not.
editable: bool | *true
// 0 for no shared crosshair or tooltip (default).
// 1 for shared crosshair.
// 2 for shared crosshair AND shared tooltip.
graphTooltip: >=0 & <=2 | *0
// Time range for dashboard, e.g. last 6 hours, last 7 days, etc
time?: {
from: string | *"now-6h"
to: string | *"now"
}
// Timepicker metadata.
timepicker?: {
// Whether timepicker is collapsed or not.
collapse: bool | *false
// Whether timepicker is enabled or not.
enable: bool | *true
// Whether timepicker is visible or not.
hidden: bool | *false
// Selectable intervals for auto-refresh.
refresh_intervals: [...string] | *["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"]
}
// Templating.
templating?: list: [...{...}]
// Annotations.
annotations?: list: [...{
builtIn: number | *0
// Datasource to use for annotation.
datasource: string
// Whether annotation is enabled.
enable?: bool | *true
// Whether to hide annotation.
hide?: bool | *false
// Annotation icon color.
iconColor?: string
// Name of annotation.
name?: string
type: string | *"dashboard"
// Query for annotation data.
rawQuery?: string
showIn: number | *0
}]
// Auto-refresh interval.
refresh?: string
// Version of the JSON schema, incremented each time a Grafana update brings
// changes to said schema.
schemaVersion: number | *25
// Version of the dashboard, incremented each time the dashboard is updated.
version?: number
panels?: [...#Panel]
// Dashboard panels. Panels are canonically defined inline
// because they share a version timeline with the dashboard
// schema; they do not vary independently. We create a separate,
// synthetic Family to represent them in Go, for ease of generating
// e.g. JSON Schema.
#Panel: {
...
// The panel plugin type id.
type: !=""
// Internal - the exact major and minor versions of the panel plugin
// schema. Hidden and therefore not a part of the data model, but
// expected to be filled with panel plugin schema versions so that it's
// possible to figure out which schema version matched on a successful
// unification.
// _pv: { maj: int, min: int }
// The major and minor versions of the panel plugin for this schema.
// TODO 2-tuple list instead of struct?
panelSchema?: { maj: number, min: number }
// Panel title.
title?: string
// Description.
description?: string
// Whether to display the panel without a background.
transparent: bool | *false
// Name of default datasource.
datasource?: string
// Grid position.
gridPos?: {
// Panel
h: number & >0 | *9
// Panel
w: number & >0 & <=24 | *12
// Panel x
x: number & >=0 & <24 | *0
// Panel y
y: number & >=0 | *0
// true if fixed
static?: bool
}
// Panel links.
// links?: [..._panelLink]
// Name of template variable to repeat for.
repeat?: string
// Direction to repeat in if 'repeat' is set.
// "h" for horizontal, "v" for vertical.
repeatDirection: *"h" | "v"
// Schema for panel targets is specified by datasource
// plugins. We use a placeholder definition, which the Go
// schema loader either left open/as-is with the Base
// variant of the Dashboard and Panel families, or filled
// with types derived from plugins in the Instance variant.
// When working directly from CUE, importers can extend this
// type directly to achieve the same effect.
targets?: [...{...}]
// The values depend on panel type
options: {...}
fieldConfig: {
defaults: {
// The display value for this field. This supports template variables blank is auto
displayName?: string
// This can be used by data sources that return and explicit naming structure for values and labels
// When this property is configured, this value is used rather than the default naming strategy.
displayNameFromDS?: string
// Human readable field metadata
description?: string
// An explict path to the field in the datasource. When the frame meta includes a path,
// This will default to `${frame.meta.path}/${field.name}
//
// When defined, this value can be used as an identifier within the datasource scope, and
// may be used to update the results
path?: string
// True if data source can write a value to the path. Auth/authz are supported separately
writeable?: bool
// True if data source field supports ad-hoc filters
filterable?: bool
// Numeric Options
unit?: string
// Significant digits (for display)
decimals?: number
min?: number
max?: number
// // Convert input values into a display string
// mappings?: ValueMapping[];
// // Map numeric values to states
// thresholds?: ThresholdsConfig;
// // Map values to a display color
// color?: FieldColor;
// // Used when reducing field values
// nullValueMode?: NullValueMode;
// // The behavior when clicking on a result
links?: [...]
// Alternative to empty string
noValue?: string
// Can always exist. Valid fields within this are
// defined by the panel plugin - that's the
// PanelFieldConfig that comes from the plugin.
custom?: {...}
}
overrides: [...{
matcher: {
id: string | *""
options?: _
}
properties: [...{
id: string | *""
value?: _
}]
}]
}
}
}
]
]
}
#Latest: {
#Dashboard: Family.latest
#Panel: Family.latest._Panel
}
+27
View File
@@ -0,0 +1,27 @@
package scuemata
// Definition of the shape of a panel plugin's schema declarations in its
// schema.cue file.
//
// Note that these keys do not appear directly in any real JSON artifact;
// rather, they are composed into panel structures as they are defined within
// the larger Dashboard schema.
#PanelSchema: {
// Defines plugin specific options for a panel
PanelOptions: {...}
// Define the custom properties that exist within standard field config
PanelFieldConfig?: {...}
// Panels may define their own types
...
}
// A lineage of panel schema
#PanelLineage: [#PanelSchema, ...#PanelSchema]
// Panel plugin-specific Family
#PanelFamily: {
lineages: [#PanelLineage, ...#PanelLineage]
migrations: [...#Migration]
}
+60
View File
@@ -0,0 +1,60 @@
package scuemata
// A family is a collection of schemas that specify a single kind of object,
// allowing evolution of the canonical schema for that kind of object over time.
//
// The schemas are organized into a list of Lineages, which are themselves ordered
// lists of schemas where each schema with its predecessor in the lineage.
//
// If it is desired to define a schema with a breaking schema relative to its
// predecessors, a new Lineage must be created, as well as a Migration that defines
// a mapping to the new schema from the latest schema in prior Lineage.
//
// The version number of a schema is not controlled by the schema itself, but by
// its position in the list of lineages - e.g., 0.0 corresponds to the first
// schema in the first lineage.
#Family: {
lineages: [#Lineage, ...#Lineage]
migrations: [...#Migration]
let lseq = lineages[len(lineages)-1]
latest: #LastSchema & {_p: lseq}
}
// A Lineage is a non-empty list containing an ordered series of schemas that
// all describe a single kind of object, where each schema is backwards
// compatible with its predecessor.
#Lineage: [{...}, ...{...}]
#LastSchema: {
_p: #Lineage
_p[len(_p)-1]
}
// A Migration defines a relation between two schemas, "_from" and "_to". The
// relation expresses any complex mappings that must be performed to
// transform an input artifact valid with respect to the _from schema, into
// an artifact valid with respect to the _to schema. This is accomplished
// in two stages:
// 1. A Migration is initially defined by passing in schemas for _from and _to,
// and mappings that translate _from to _to are defined in _rel.
// 2. A concrete object may then be unified with _to, resulting in its values
// being mapped onto "result" by way of _rel.
//
// This is the absolute simplest possible definition of a Migration. It's
// incumbent on the implementor to manually ensure the correctness and
// completeness of the mapping. The primary value in defining such a generic
// structure is to allow comparably generic logic for migrating concrete
// artifacts through schema changes.
//
// If _to isn't backwards compatible (accretion-only) with _from, then _rel must
// explicitly enumerate every field in _from and map it to a field in _to, even
// if they're identical. This is laborious for anything outside trivially tiny
// schema. We'll want to eventually add helpers for whitelisting or blacklisting
// of paths in _from, so that migrations of larger schema can focus narrowly on
// the points of actual change.
#Migration: {
from: {...}
to: {...}
rel: {...}
result: to & rel
}
+93
View File
@@ -0,0 +1,93 @@
package grafanaschema
TableCellDisplayMode: {
Auto: "auto",
ColorText: "color-text",
ColorBackground: "color-background",
GradientGauge: "gradient-gauge",
LcdGauge: "lcd-gauge",
JSONView: "json-view",
BasicGauge: "basic",
Image: "image",
} @cuetsy(targetType="enum")
TableFieldOptions: {
width?: number
align: FieldTextAlignment | *"auto"
displayMode: TableCellDisplayMode | *"auto"
hidden?: bool // ?? default is missing or false ??
} @cuetsy(targetType="interface")
TableSortByFieldState: {
displayName: string
desc?: bool
} @cuetsy(targetType="interface")
TooltipDisplayMode: "single" | "multi" | "none" @cuetsy(targetType="enum")
FieldTextAlignment: "auto" | "left" | "right" | "center" @cuetsy(targetType="type")
AxisPlacement: "auto" | "top" | "right" | "bottom" | "left" | "hidden" @cuetsy(targetType="enum")
PointVisibility: "auto" | "never" | "always" @cuetsy(targetType="enum")
DrawStyle: "line" | "bars" | "points" @cuetsy(targetType="enum")
LineInterpolation: "linear" | "smooth" | "stepBefore" | "stepAfter" @cuetsy(targetType="enum")
ScaleDistribution: "linear" | "log" @cuetsy(targetType="enum")
GraphGradientMode: "none" | "opacity" | "hue" | "scheme" @cuetsy(targetType="enum")
LineStyle: {
fill?: "solid" | "dash" | "dot" | "square"
dash?: [number]
} @cuetsy(targetType="interface")
LineConfig: {
lineColor?: string
lineWidth?: number
lineInterpolation?: LineInterpolation
lineStyle?: LineStyle
spanNulls?: bool
} @cuetsy(targetType="interface")
FillConfig: {
fillColor?: string
fillOpacity?: number
fillBelowTo?: string
} @cuetsy(targetType="interface")
PointsConfig: {
showPoints?: PointVisibility
pointSize?: number
pointColor?: string
pointSymbol?: string
} @cuetsy(targetType="interface")
ScaleDistributionConfig: {
type: ScaleDistribution
log?: number
} @cuetsy(targetType="interface")
AxisConfig: {
axisPlacement?: AxisPlacement
axisLabel?: string
axisWidth?: number
axisSoftMin?: number
axisSoftMax?: number
scaleDistribution?: ScaleDistributionConfig
} @cuetsy(targetType="interface")
HideSeriesConfig: {
tooltip: bool
legend: bool
graph: bool
} @cuetsy(targetType="interface")
LegendPlacement: "bottom" | "right" @cuetsy(targetType="type")
LegendDisplayMode: "list" | "table" | "hidden" @cuetsy(targetType="enum")
TableFieldOptions: {
width?: number
align: FieldTextAlignment | *"auto"
displayMode: TableCellDisplayMode | *"auto"
hidden?: bool
} @cuetsy(targetType="interface")
GraphFieldConfig: LineConfig & FillConfig & PointsConfig & AxisConfig & {
drawStyle?: DrawStyle
gradientMode?: GraphGradientMode
hideFrom?: HideSeriesConfig
} @cuetsy(targetType="interface")
VizLegendOptions: {
displayMode: LegendDisplayMode
placement: LegendPlacement
calcs: [string]
} @cuetsy(targetType="interface")
VizTooltipOptions: {
mode: TooltipDisplayMode
} @cuetsy(targetType="interface")
-68
View File
@@ -1,68 +0,0 @@
package main
#Dashboard: {
// Unique numeric identifier for the dashboard. (generated by the db)
id: int
// Unique dashboard identifier that can be generated by anyone. string (8-40)
uid: string
// Title of dashboard.
title?: string
// Description of dashboard.
description?: string
// Tags associated with dashboard.
tags?: [...string]
// Theme of dashboard.
style: *"light" | "dark"
// Timezone of dashboard,
timezone?: *"browser" | "utc"
// Whether a dashboard is editable or not.
editable: bool | *true
// 0 for no shared crosshair or tooltip (default).
// 1 for shared crosshair.
// 2 for shared crosshair AND shared tooltip.
graphTooltip: int >= 0 <= 2 | *0
// Time range for dashboard, e.g. last 6 hours, last 7 days, etc
time?: {
from: string | *"now-6h"
to: string | *"now"
}
// Timepicker metadata.
timepicker?: {
// Whether timepicker is collapsed or not.
collapse: bool | *false
// Whether timepicker is enabled or not.
enable: bool | *true
// Whether timepicker is visible or not.
hidden: bool | *false
// Selectable intervals for auto-refresh.
refresh_intervals: [...string] | *["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"]
}
// Templating.
templating?: list: [...{}]
// Annotations.
annotations?: list: [...{
builtIn: int | *0
// Datasource to use for annotation.
datasource: string
// Whether annotation is enabled.
enable?: bool | *true
// Whether to hide annotation.
hide?: bool | *false
// Annotation icon color.
iconColor?: string
// Name of annotation.
name?: string
// Query for annotation data.
rawQuery: string
showIn: int | *0
}] | *[]
// Auto-refresh interval.
refresh: string
// Version of the JSON schema, incremented each time a Grafana update brings
// changes to said schema.
schemaVersion: int | *25
// Version of the dashboard, incremented each time the dashboard is updated.
version: string
// Dashboard panels.
panels?: [...{}]
}
-86
View File
@@ -1,86 +0,0 @@
# Dashboard Schemas
Schema description documents for [Grafana Dashboard
JSON](https://grafana.com/docs/grafana/latest/reference/dashboard/) and core
panels.
> **Note:** This directory is experimental. The schemas are not currently
> implemented or enforced in Grafana.
Schemas are defined in [Cue](https://cuelang.org/). Cue was chosen because it
strongly facilitates our primary use cases - [schema
definition](https://cuelang.org/docs/usecases/datadef/), [data
validation](https://cuelang.org/docs/usecases/validation/), and [code
generation/extraction](https://cuelang.org/docs/usecases/generate/).
## Schema Organization
Each schema describes part of a dashboard. `Dashboard.cue` is the main dashboard
schema object. All other schemas describe nested objects within a dashboard.
They are grouped in the following directories:
* `panels` - schemas for
[panels](https://grafana.com/docs/grafana/latest/panels/panels-overview/).
* `targets` - targets represent
[queries](https://grafana.com/docs/grafana/latest/panels/queries/). Each [data
source](https://grafana.com/docs/grafana/latest/datasources/) type has a
unique target schema.
* `variables` - schemas for
[variables](https://grafana.com/docs/grafana/latest/variables/variable-types/).
* `transformations` - schemas for
[transformations](https://grafana.com/docs/grafana/latest/panels/transformations/types-options/).
The following somewhat conveys how they fit together when constructing a
dashboard:
```
+-----------+ +-----------+
| Dashboard +------> Variables |
+---------+-+ +-----------+
| +--------+ +---------+
+----> Panels +----> Targets |
+------+-+ +---------+
| +-----------------+
+------> Transformations |
+-----------------+
```
## Definitions
All schemas are [Cue
definitions](https://cuelang.org/docs/references/spec/#definitions-and-hidden-fields).
Schemas intended to be exported must begin with a capital letter. For example,
[Gauge](./panels/Gauge.cue). Definitions beginning with a lowercase letter will
not be exported. These are reusable components for constructing the exported
definitions. For example, [`#panel`](./panels/panel.cue) is intended to
be a base schema for panels. `#Gauge` extends `#panel` with the following:
```
#Gauge: panel & {
...
}
```
## Exporting OpenAPI
[OpenAPI](https://www.openapis.org/) schemas can be exported from these CUE
sources.
### Command Line
While you can use `cue export` to output OpenAPI documents, it does not expand
references which makes the output unusable.
```
cue export --out openapi -o - ./...
```
### Using Go
You need to use Go to generate useable OpenAPI schemas. This directory contains
a Go program that will output just the OpenAPI schemas for one or many Cue
packages.
```
go run . <entrypoint> ...
```
-1
View File
@@ -1 +0,0 @@
module: "github.com/grafana/grafana/dashboard-schemas"
-5
View File
@@ -1,5 +0,0 @@
module github.com/grafana/grafana/dashboard-schemas
go 1.15
require cuelang.org/go v0.2.2
-185
View File
@@ -1,185 +0,0 @@
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cuelang.org/go v0.2.2 h1:i/wFo48WDibGHKQTRZ08nB8PqmGpVpQ2sRflZPj73nQ=
cuelang.org/go v0.2.2/go.mod h1:Dyjk8Y/B3CfFT1jQKJU0g5PpCeMiDe0yMOhk57oXwqo=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I=
github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ=
github.com/cockroachdb/apd/v2 v2.0.1 h1:y1Rh3tEU89D+7Tgbw+lp52T6p/GJLpDmNvr10UWqLTE=
github.com/cockroachdb/apd/v2 v2.0.1/go.mod h1:DDxRlzC2lo3/vSlmSoS7JkqbbrARPuFOGr0B9pvN3Gw=
github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
github.com/emicklei/proto v1.6.15 h1:XbpwxmuOPrdES97FrSfpyy67SSCV/wBIKXqgJzh6hNw=
github.com/emicklei/proto v1.6.15/go.mod h1:rn1FgRS/FANiZdD2djyH7TMA9jdRDcYQ9IEN9yvjX0A=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
github.com/lib/pq v1.0.0 h1:X5PMW56eZitiTeO7tKzZxFCSpbFZJtkMMooicw2us9A=
github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
github.com/mpvl/unique v0.0.0-20150818121801-cbe035fff7de h1:D5x39vF5KCwKQaw+OC9ZPiLVHXz3UFw2+psEX+gYcto=
github.com/mpvl/unique v0.0.0-20150818121801-cbe035fff7de/go.mod h1:kJun4WP5gFuHZgRjZUWWuH1DTxCtxbHDOIJsudS8jzY=
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
github.com/rogpeppe/go-internal v1.6.0/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE=
github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20200513190911-00229845015e/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b h1:0mm1VjtFUOIlE1SbDlwjYaDxZVDP2S5ou6y0gSgXHu8=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200612220849-54c614fe050c h1:g6oFfz6Cmw68izP3xsdud3Oxu145IPkeFzyRg58AKHM=
golang.org/x/tools v0.0.0-20200612220849-54c614fe050c/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3 v3.0.0-20200121175148-a6ecf24a6d71 h1:Xe2gvTZUJpsvOWUnvmL/tmhVBZUmHSvLbMjRj6NUUKo=
gopkg.in/yaml.v3 v3.0.0-20200121175148-a6ecf24a6d71/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-58
View File
@@ -1,58 +0,0 @@
package main
import (
"fmt"
"log"
"os"
"cuelang.org/go/cue"
"cuelang.org/go/cue/load"
"cuelang.org/go/encoding/openapi"
)
func main() {
b, err := openAPISchemas(os.Args[1:])
if err != nil {
log.Fatal(err)
}
fmt.Println(string(b))
}
// openAPISchemas returns OpenAPI schema JSON of the Cue entrypoints passed to
// it. It is not a valid OpenAPI document - just the schemas.
func openAPISchemas(entrypoints []string) ([]byte, error) {
var r cue.Runtime
cfg := openapi.Config{
ExpandReferences: true,
}
bis := load.Instances(entrypoints, nil)
// collect all schemas
var pairs []openapi.KeyValue
for _, bi := range bis {
if bi.Err != nil {
return nil, bi.Err
}
inst, err := r.Build(bi)
if err != nil {
return nil, err
}
om, err := cfg.Schemas(inst)
if err != nil {
return nil, err
}
pairs = append(pairs, om.Pairs()...)
}
// add all schemas to new ordered map
om := openapi.OrderedMap{}
om.SetAll(pairs)
j, err := om.MarshalJSON()
if err != nil {
return nil, err
}
return j, nil
}
-47
View File
@@ -1,47 +0,0 @@
package main
import (
"encoding/json"
"testing"
)
func TestOpenAPISchemas(t *testing.T) {
tests := map[string]struct {
entrypoints []string
}{
"All packages": {
entrypoints: []string{"./..."},
},
"One package": {
entrypoints: []string{"./panels"},
},
"Many packags": {
entrypoints: []string{
"./panels",
"./targets",
"./transformations",
"./variables",
},
},
}
for testName, test := range tests {
t.Logf("Running test case %s...", testName)
j, err := openAPISchemas(test.entrypoints)
if err != nil {
t.Fatal(err)
}
// We don't want to validate the JSON content since it's expected to change
// often. Only that it is valid JSON by unmarshalling it.
var iface interface{}
err = json.Unmarshal(j, &iface)
if err != nil {
t.Fatal(err)
}
}
}
-74
View File
@@ -1,74 +0,0 @@
package panels
// Gauge is a single value panel that can repeat a gauge for every series,
// column or row.
#Gauge: _panel & {
// Field config.
fieldConfig: {
// Defaults.
defaults: {
// Custom.
custom: {}
// Unit.
unit: string
// Min.
min: int
// Max.
max: int
// Decimals.
decimals: int
// Change the field or series name.
displayName: string
// What to show when there is no value.
noValue: string
// Threshold config.
thresholds: _thresholds
// Mappings.
mappings: [..._mapping]
// Data Links.
links: [..._dataLink]
}
// Overrides.
overrides: [..._override]
}
// Options.
options: {
// Reduce options.
reduceOptions: {
// * `true` - Show a calculated value based on all rows.
// * `false` - Show a separate stat for every row.
values: bool | *false
// If values is false, sets max number of rows to
// display.
limit: int
// Reducer function/calculation.
calcs: [
"allIsZero",
"allIsNull",
"changeCount",
"count",
"delta",
"diff",
"distinctCount",
"first",
"firstNotNull",
"lastNotNull",
"last",
"logmin",
"max",
"min",
"range",
"step",
"sum",
] | *["mean"]
// Fields that should be included in the panel.
fields: string | *""
}
// Render the threshold values around the gauge bar.
showThresholdLabels: bool | *false
// Render the thresholds as an outer bar.
showThresholdMarkers: bool | *true
}
// Panel type.
type: string | *"gauge"
}
-192
View File
@@ -1,192 +0,0 @@
package panels
#Graph: _panel & {
// Display values as a bar chart.
bars: bool | *false
// Dashed line length.
dashLength: int | *10
// Show line with dashes.
dashes: bool | *false
// Dashed line spacing when `dashes` is true.
spaceLength: int | *10
// Controls how many decimals are displayed for legend values and graph hover
// tooltips.
decimals: int
// Field config.
fieldConfig: {
// Defaults.
defaults: custom: {}
// Overrides.
overrides: [..._override]
}
// Amount of color fill for a series. Expects a value between 0 and 1.
fill: number >= 0 <= 1 | *1
// Degree of gradient on the area fill. 0 is no gradient, 10 is a steep
// gradient.
fillGradient: int >= 0 <= 10 | *0
// Hide the series.
hiddenSeries: bool | *false
// Lengend options.
legend: {
// Whether to display legend in table.
alignAsTable: bool | *false
// Average of all values returned from the metric query.
avg: bool | *false
// Last value returned from the metric query.
current: bool | *false
// Maximum of all values returned from the metric query.
max: bool | *false
// Minimum of all values returned from the metric query.
min: bool | *false
// Display legend to the right.
rightSide: bool | *false
// Show or hide the legend.
show: bool | *true
// Available when `rightSide` is true. The minimum width for the legend in
// pixels.
sideWidth?: int
// Sum of all values returned from the metric query.
total: bool | *false
// Values.
values: bool | *true
}
// Display values as a line graph.
lines: bool | *true
// The width of the line for a series.
linewidth: int | *1
// How null values are displayed.
// * 'null' - If there is a gap in the series, meaning a null value, then the
// line in the graph will be broken and show the gap.
// * 'null as zero' - If there is a gap in the series, meaning a null value,
// then it will be displayed as a zero value in the graph panel.
// * 'connected' - If there is a gap in the series, meaning a null value or
// values, then the line will skip the gap and connect to the next non-null
// value.
nullPointMode: string | *"null"
// Options.
options: {
// Data links.
dataLinks: [..._dataLink]
}
// Available when `stack` is true. Each series is drawn as a percentage of the
// total of all series.
percentage: bool | *false
// Controls how large the points are.
pointradius: int
// Display points for values.
points: bool | *true
// Renderer.
renderer: string | *"flot"
// Series overrides allow a series in a graph panel to be rendered
// differently from the others. You can customize display options on a
// per-series bases or by using regex rules. For example, one series can have
// a thicker line width to make it stand out or be moved to the right Y-axis.
seriesOverrides: [...{
// Alias or regex matching the series you'd like to target.
alias?: string
bars?: bool
lines?: bool
fill?: int
fillGradient?: int
linewidth?: int
nullPointMode?: string
fillBelowTo?: string
steppedLine?: bool
dashes?: bool
hiddenSeries?: bool
dashLength?: int
spaceLength?: int
points?: bool
pointradius?: int
stack?: int
color?: string
yaxis?: int
zindex?: int
transform?: string
legend?: bool
hideTooltip?: bool
}]
// Each series is stacked on top of another.
stack: bool | *false
// Draws adjacent points as staircase.
steppedLine: bool | *false
// Threshold config.
thresholds: _thresholds
// Time from.
timeFrom: string
// Time regions.
timeRegions: [...string]
// Time shift
timeShift: string
// Tooltip settings.
tooltip: {
// * true - The hover tooltip shows all series in the graph. Grafana
// highlights the series that you are hovering over in bold in the series
// list in the tooltip.
// * false - The hover tooltip shows only a single series, the one that you
// are hovering over on the graph.
shared: bool | *true
// * 0 (none) - The order of the series in the tooltip is determined by the
// sort order in your query. For example, they could be alphabetically
// sorted by series name.
// * 1 (increasing) - The series in the hover tooltip are sorted by value
// and in increasing order, with the lowest value at the top of the list.
// * 2 (decreasing) - The series in the hover tooltip are sorted by value
// and in decreasing order, with the highest value at the top of the list.
sort: int >= 0 <= 2 | *2
// Value type.
value_type: string | *"individual"
}
// Panel type.
type: string | *"graph"
xaxis: {
// Buckets.
buckets: string
// The display mode completely changes the visualization of the graph
// panel. Its like three panels in one. The main mode is the time series
// mode with time on the X-axis. The other two modes are a basic bar chart
// mode with series on the X-axis instead of time and a histogram mode.
// * 'time' - The X-axis represents time and that the data is grouped by
// time (for example, by hour, or by minute).
// * 'series' - The data is grouped by series and not by time. The Y-axis
// still represents the value.
// * 'histogram' - Converts the graph into a histogram. A histogram is a
// kind of bar chart that groups numbers into ranges, often called buckets
// or bins. Taller bars show that more data falls in that range.
mode: string | *"time"
// Name.
name: string
// Show or hide the axis.
show: bool | *true
// Values
values: [...number]
}
yaxes: [...{
// Defines how many decimals are displayed for Y value.
decimals: int
// The display unit for the Y value.
format: string | *"short"
// The Y axis label.
label: string
// The scale to use for the Y value - linear, or logarithmic.
// * 1 - linear
// * 2 - log (base 2)
// * 10 - log (base 10)
// * 32 - log (base 32)
// * 1024 - log (base 1024)
logBase: int | *1
// The maximum Y value.
max?: int
// The minimum Y value.
min?: int
// Show or hide the axis.
show: bool | *true
}]
yaxis: {
// Align left and right Y-axes by value.
align: bool | *false
// Available when align is true. Value to use for alignment of left and
// right Y-axes, starting from Y=0.
alignLevel: int | *0
}
}
-24
View File
@@ -1,24 +0,0 @@
package panels
// A row is a logical divider within a dashboard. It is used
// to group panels together.
#Row: {
// Whether the row is collapsed or not.
collapsed: bool | *true
// Name of default data source.
datasource?: string
// Grid position.
gridPos?: _gridPos
// Dashboard panels.
panels?: [...{}]
// Name of template variable to repeat for.
repeat?: string
// Whether to display the title.
showTitle: bool | *true
// Title.
title?: string
// Size of title.
titleSize: string | *"h6"
// Panel type.
type: string | *"row"
}
-12
View File
@@ -1,12 +0,0 @@
package panels
_gridPos: {
// Panel height.
h?: int > 0 | *9
// Panel width.
w?: int > 0 <= 24 | *12
// Panel x position.
x?: int >= 0 < 24 | *0
// Panel y position.
y?: int >= 0 | *0
}
-14
View File
@@ -1,14 +0,0 @@
package panels
_link: {
// Link title.
title?: string
// Whether to open link in new browser tab.
targetBlank: bool | *true
// URL of link.
url: string
}
_panelLink: _link
_dataLink: _link
-11
View File
@@ -1,11 +0,0 @@
package panels
_mapping: {
id: int
from: string
operator: string
to: string
text: string
type: int
value: string
}
-12
View File
@@ -1,12 +0,0 @@
package panels
_override: {
matcher: {
id: string
options: string
}
properties: [...{
id: string
value: int
}]
}
-24
View File
@@ -1,24 +0,0 @@
package panels
_panel: {
// Panel title.
title?: string
// Description.
description?: string
// Whether to display the panel without a background.
transparent: bool | *false
// Name of default datasource.
datasource?: string
// Grid position.
gridPos?: _gridPos
// Panel links.
links?: [..._panelLink]
// Name of template variable to repeat for.
repeat?: string
// Direction to repeat in if 'repeat' is set.
// "h" for horizontal, "v" for vertical.
repeatDirection: *"h" | "v"
// Panel targets - datasource and query configurations to use as
// a basis for vizualization.
targets?: [...{}]
}
-11
View File
@@ -1,11 +0,0 @@
package panels
_thresholds: {
// Threshold mode.
mode: string | *"absolute"
// Threshold steps.
steps: [...{
color: string
value: number
}]
}
-19
View File
@@ -1,19 +0,0 @@
package targets
#Prometheus: {
// Query expression.
expr: string
// Controls the name of the time series, using name or pattern.
legendFormat?: string
// Interval.
interval?: int | *1
// Target reference ID.
refId: string
// Perform an “instant” query, to return only the latest value that
// Prometheus has scraped for the requested time series.
instant: bool | *false
// Resolution.
intervalFactor?: int
// Format.
format: *"time_series" | "table" | "heat_map"
}
@@ -1,39 +0,0 @@
package transformations
// Add field from calculation.
#CalculateField: {
// Transformation ID.
id: string | *"calculateField"
// Configuration options.
options: {
// The name of your new field. If you leave this blank, then the field will
// be named to match the calculation.
alias: string
// Binary options.
binary: {
// Field or number for left side of equation.
left: string
// Field or number for right side of equation.
right: string
// Operator.
operator: string | *"+"
// Calculation to use.
reducer: string | *"sum"
}
// 'reduceRow' - apply selected calculation on each row of selected fields
// independently.
// 'binary' - apply basic math operation(sum, multiply, etc) on values in a
// single row from two selected fields.
mode: *"reduceRow" | "binary"
// Reduce options.
reduce: {
// Calculation to use.
reducer: string
// Fields to include in calculation.
include: [...string]
}
// Hide all other fields and display only your calculated field in the
// visualization.
replaceFields: bool | *false
}
}
@@ -1,16 +0,0 @@
package transformations
// Reorder, hide, or rename fields/columns.
#Organize: {
// Transformation ID.
id: string | *"organize"
// Configuration options.
options: {
// Exclude fields by name.
excludeByName: {}
// Set field order by name.
indexByName: {}
// Rename a field by name.
renameByName: {}
}
}
-9
View File
@@ -1,9 +0,0 @@
package variables
// Custom variables are for values that do not change.
#Custom: _variable & {
// Options as comma separated values.
query: string
// Variable type.
type: string | *"custom"
}
@@ -1,18 +0,0 @@
package variables
// Data source variables allow you to quickly change the data source for an
// entire dashboard.
#Datasource: _variable & {
// Data source type.
query: string
// Query value.
queryValue: string | *""
// Refresh.
refresh: int | *1
// Regex filter for which data source instances to choose
// from in the variable value dropdown. Leave empty for
// all.
regex: string
// Variable type.
type: string | *"datasource"
}
-30
View File
@@ -1,30 +0,0 @@
package variables
// Query variables allow you to write a data source query that can return a
// list of metric names, tag values, or keys.
#Query: _variable & {
// Data source to use.
datasource: string
// Definition.
definition?: string
// Query.
query: string
// Refresh.
refresh: int | *1
// Regex.
regex?: string
// * 0 - Disabled.
// * 1 - Alphabetical (asc).
// * 2 - Alphabetical (desc).
// * 3 - Numerical (asc).
// * 4 - Numerical (desc).
// * 5 - Alphabetical (case-insensitive, asc).
// * 6 - Alphabetical (case-insensitive, desc).
sort: int >= 0 <= 6 | *0
tagValuesQuery?: string
tags: [...string] | *[]
tagsQuery?: string
// Variable type.
type: "query"
useTags: bool | *false
}
-33
View File
@@ -1,33 +0,0 @@
package variables
_variable: {
// Currently selected value.
current: {
selected: bool | *false
text: string | [...string]
value: string | [...string]
}
// Whether to hide the label and variable.
// * 0 - Show all.
// * 1 - Hide label.
// * 2 - Hide label and variable.
hide: int >= 0 <= 2 | *0
// Enable include all option.
includeAll: bool | *false
// When includeAll is enabled, this sets its value.
allValue?: string
// Optional display name.
label?: string
// Allows mutltiple values to be selected at the same time.
multi: bool | *false
// Variable name.
name: string
// Options for variable.
options: [...{
selected: bool
text: string
value: string
}]
// Skip URL sync.
skipUrlSync: bool | *false
}
+10 -3
View File
@@ -26,11 +26,10 @@ found. The dashboards are located in the `devenv/dev-dashboards` folder.
This command creates a docker-compose file with specified databases configured and ready to run. Each database has
a prepared image with some fake data ready to use. For available databases, see `docker/blocks` directory. Notice that
for some databases there are multiple images, for example there is prometheus_mac specifically for Macs or different
version.
for some databases there are multiple images with different versions. Some blocks such as `slow_proxy_mac` or `apache_proxy_mac` are specifically for Macs.
```bash
make devenv sources=influxdb,prometheus2,elastic5
make devenv sources=influxdb,prometheus,elastic5
```
Some of the blocks support dynamic change of the image version used in the Docker file. The signature looks like this:
@@ -48,6 +47,14 @@ The grafana block is pre-configured with the dev-datasources and dashboards.
#### Jaeger
Jaeger block runs both Jaeger and Loki container. Loki container sends traces to Jaeger and also logs its own logs into itself so it is possible to setup derived field for traceID from Loki to Jaeger. You need to install a docker plugin for the self logging to work, without it the container won't start. See https://github.com/grafana/loki/tree/master/cmd/docker-driver#plugin-installation for installation instructions.
#### Graphite
| version | source name | graphite-web port | plaintext port | pickle port |
|---------|-------------|-------------------|----------------|-------------|
| 1.1 | graphite | 8180 | 2103 | 2103 |
| 1.0 | graphite1 | 8280 | 2203 | 2203 |
| 0.9 | graphite09 | 8380 | 2303 | 2303 |
## Troubleshooting
### Containers fail to start (Mac OS)
+39 -13
View File
@@ -1,5 +1,13 @@
apiVersion: 1
deleteDatasources:
- name: gdev-influxdb
- name: gdev-influxdb-telegraf
- name: gdev-influxdb2
- name: gdev-influxdb2-influxql
- name: gdev-loki-0.3
- name: gdev-loki-0.4
datasources:
- name: gdev-graphite
type: graphite
@@ -8,6 +16,20 @@ datasources:
jsonData:
graphiteVersion: "1.1"
- name: gdev-graphite-1.0
type: graphite
access: proxy
url: http://localhost:8280
jsonData:
graphiteVersion: "1.0"
- name: gdev-graphite-0.9
type: graphite
access: proxy
url: http://localhost:8380
jsonData:
graphiteVersion: "0.9"
- name: gdev-prometheus
type: prometheus
access: proxy
@@ -22,21 +44,19 @@ datasources:
isDefault: true
type: testdata
- name: gdev-influxdb
- name: gdev-influxdb1-influxql
type: influxdb
access: proxy
database: site
user: grafana
url: http://localhost:8086
jsonData:
timeInterval: "15s"
url: http://localhost:8087
secureJsonData:
password: grafana
- name: gdev-influxdb2
- name: gdev-influxdb-flux
type: influxdb
access: proxy
url: http://localhost:8087
url: http://localhost:8086
user: grafana
secureJsonData:
token: mytoken
@@ -46,17 +66,16 @@ datasources:
organization: myorg
defaultBucket: mybucket
- name: gdev-influxdb-telegraf
- name: gdev-influxdb-influxql
type: influxdb
access: proxy
database: telegraf
user: grafana
database: mybucket
url: http://localhost:8086
jsonData:
timeInterval: "10s"
httpHeaderName1: "Authorization"
secureJsonData:
password: grafana
httpHeaderValue1: "Token mytoken"
- name: gdev-opentsdb
type: opentsdb
access: proxy
@@ -269,3 +288,10 @@ datasources:
access: proxy
url: http://localhost:9411
editable: false
- name: gdev-tempo
type: tempo
uid: gdev-tempo
access: proxy
url: http://localhost:3101
editable: false
+9 -12
View File
@@ -23,21 +23,19 @@ datasources:
isDefault: true
type: testdata
- name: gdev-influxdb
- name: gdev-influxdb1-influxql
type: influxdb
access: proxy
database: site
user: grafana
url: http://influxdb:8086
jsonData:
timeInterval: "15s"
url: http://influxdb1:8086
secureJsonData:
password: grafana
- name: gdev-influxdb2
- name: gdev-influxdb-flux
type: influxdb
access: proxy
url: http://influxdb2:8086
url: http://influxdb:8086
secureJsonData:
token: mytoken
jsonData:
@@ -45,16 +43,15 @@ datasources:
organization: myorg
defaultBucket: mybucket
- name: gdev-influxdb-telegraf
- name: gdev-influxdb-influxql
type: influxdb
access: proxy
database: telegraf
user: grafana
url: http://telegraf:8086
database: mybucket
url: http://influxdb:8086
jsonData:
timeInterval: "10s"
httpHeaderName1: "Authorization"
secureJsonData:
password: grafana
httpHeaderValue1: "Token mytoken"
- name: gdev-opentsdb
type: opentsdb
@@ -685,6 +685,10 @@
"text": "meter (m)",
"value": "lengthm"
},
{
"text": "inch (in)",
"value": "lengthin"
},
{
"text": "feet (ft)",
"value": "lengthft"
@@ -727,6 +731,10 @@
"text": "gram (g)",
"value": "massg"
},
{
"text": "pound (lb)",
"value": "masslb"
},
{
"text": "kilogram (kg)",
"value": "masskg"
@@ -1788,6 +1796,10 @@
"text": "meter (m)",
"value": "lengthm"
},
{
"text": "inch (in)",
"value": "lengthin"
},
{
"text": "feet (ft)",
"value": "lengthft"
@@ -1830,6 +1842,10 @@
"text": "gram (g)",
"value": "massg"
},
{
"text": "pound (lb)",
"value": "masslb"
},
{
"text": "kilogram (kg)",
"value": "masskg"
@@ -2871,6 +2887,10 @@
"text": "meter (m)",
"value": "lengthm"
},
{
"text": "inch (in)",
"value": "lengthin"
},
{
"text": "feet (ft)",
"value": "lengthft"
@@ -2913,6 +2933,10 @@
"text": "gram (g)",
"value": "massg"
},
{
"text": "pound (lb)",
"value": "masslb"
},
{
"text": "kilogram (kg)",
"value": "masskg"
@@ -23,7 +23,7 @@
"bars": true,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-influxdb-telegraf",
"datasource": "gdev-influxdb1-influxql",
"fill": 1,
"fillGradient": 0,
"gridPos": {
@@ -70,7 +70,7 @@
"type": "fill"
}
],
"measurement": "logs",
"measurement": "t_logs",
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
@@ -132,7 +132,7 @@
}
},
{
"datasource": "gdev-influxdb-telegraf",
"datasource": "gdev-influxdb1-influxql",
"gridPos": {
"h": 18,
"w": 24,
@@ -149,7 +149,7 @@
"targets": [
{
"groupBy": [],
"measurement": "logs",
"measurement": "t_logs",
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
@@ -27,7 +27,7 @@
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-influxdb",
"datasource": "gdev-influxdb1-influxql",
"editable": true,
"error": false,
"fill": 2,
@@ -167,7 +167,7 @@
"text": "America",
"value": "America"
},
"datasource": "gdev-influxdb",
"datasource": "gdev-influxdb1-influxql",
"definition": "",
"hide": 0,
"includeAll": false,
@@ -193,7 +193,7 @@
"text": "All",
"value": "$__all"
},
"datasource": "gdev-influxdb",
"datasource": "gdev-influxdb1-influxql",
"definition": "",
"hide": 0,
"includeAll": true,
@@ -137,7 +137,7 @@
"displayMode": "hidden",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -250,7 +250,7 @@
"displayMode": "hidden",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -363,7 +363,7 @@
"displayMode": "hidden",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -517,7 +517,7 @@
"displayMode": "list",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -619,7 +619,7 @@
"displayMode": "list",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -722,7 +722,7 @@
"displayMode": "list",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -825,7 +825,7 @@
"displayMode": "list",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -1028,7 +1028,7 @@
"displayMode": "list",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "multi"
}
},
@@ -1336,7 +1336,7 @@
"displayMode": "hidden",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -1591,7 +1591,7 @@
"displayMode": "hidden",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -1717,7 +1717,7 @@
"displayMode": "hidden",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -1895,7 +1895,7 @@
"displayMode": "hidden",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -2078,7 +2078,7 @@
"displayMode": "list",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
File diff suppressed because it is too large Load Diff
@@ -97,7 +97,7 @@
"displayMode": "hidden",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -186,7 +186,7 @@
"displayMode": "hidden",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -275,7 +275,7 @@
"displayMode": "hidden",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -363,7 +363,7 @@
"displayMode": "hidden",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -452,7 +452,7 @@
"displayMode": "hidden",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -541,7 +541,7 @@
"displayMode": "hidden",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -105,7 +105,7 @@
"displayMode": "hidden",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -200,7 +200,7 @@
"displayMode": "hidden",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -295,7 +295,7 @@
"displayMode": "hidden",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -390,7 +390,7 @@
"displayMode": "hidden",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -485,7 +485,7 @@
"displayMode": "hidden",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -580,7 +580,7 @@
"displayMode": "hidden",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -675,7 +675,7 @@
"displayMode": "hidden",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -770,7 +770,7 @@
"displayMode": "hidden",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -865,7 +865,7 @@
"displayMode": "hidden",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -85,7 +85,7 @@
"displayMode": "list",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -187,7 +187,7 @@
"displayMode": "list",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -297,7 +297,7 @@
"displayMode": "list",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -425,7 +425,7 @@
"displayMode": "list",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -527,7 +527,7 @@
"displayMode": "list",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -637,7 +637,7 @@
"displayMode": "list",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -822,7 +822,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -983,7 +983,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -1026,6 +1026,104 @@
"title": "Null values in second series show gaps (bugged)",
"transformations": [],
"type": "timeseries"
},
{
"datasource": null,
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"graph": false,
"legend": false,
"tooltip": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": 3600000
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 10,
"x": 14,
"y": 14
},
"id": 13,
"options": {
"graph": {},
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"pluginVersion": "7.5.0-pre",
"targets": [
{
"alias": "",
"csvWave": {
"timeStep": 60,
"valuesCSV": "0,0,2,2,1,1"
},
"lines": 10,
"points": [],
"pulseWave": {
"offCount": 3,
"offValue": 1,
"onCount": 3,
"onValue": 2,
"timeStep": 60
},
"refId": "A",
"scenarioId": "csv_metric_values",
"stream": {
"bands": 1,
"noise": 2.2,
"speed": 250,
"spread": 3.5,
"type": "signal"
},
"stringInput": "1,20,90,null,30,5,0"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Span nulls below 1hr",
"type": "timeseries"
}
],
"schemaVersion": 27,
@@ -107,7 +107,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -227,7 +227,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -347,7 +347,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -467,7 +467,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -587,7 +587,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -707,7 +707,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -827,7 +827,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -951,7 +951,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -1075,7 +1075,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -1199,7 +1199,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -1323,7 +1323,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -1447,7 +1447,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -1571,7 +1571,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -1695,7 +1695,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -1815,7 +1815,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -1936,7 +1936,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -2057,7 +2057,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -2180,7 +2180,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -0,0 +1,896 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"links": [],
"panels": [
{
"datasource": null,
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"graph": false,
"legend": false,
"tooltip": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 16,
"w": 8,
"x": 0,
"y": 0
},
"id": 14,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"pluginVersion": "7.5.0-pre",
"targets": [
{
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 15, 14, 30, 30, 30, 30, 30, 30, 30, -15, 30, 30, 30, 15, 0"
},
{
"hide": false,
"refId": "B",
"scenarioId": "csv_metric_values",
"stringInput": "10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 20, 10, 10, 10, 10, 10"
},
{
"hide": false,
"refId": "C",
"scenarioId": "csv_metric_values",
"stringInput": "10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 20, 10, 10, 10, 10, 10"
},
{
"hide": false,
"refId": "D",
"scenarioId": "csv_metric_values",
"stringInput": "5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5"
},
{
"hide": false,
"refId": "E",
"scenarioId": "csv_metric_values",
"stringInput": "5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Data not stacked",
"type": "timeseries"
},
{
"datasource": null,
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"graph": false,
"legend": false,
"tooltip": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "normal"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 16,
"x": 8,
"y": 0
},
"id": 3,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"pluginVersion": "7.5.0-pre",
"targets": [
{
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 15, 14, 30, 30, 30, 30, 30, 30, 30, -15, 30, 30, 30, 15, 0"
},
{
"hide": false,
"refId": "B",
"scenarioId": "csv_metric_values",
"stringInput": "10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 20, 10, 10, 10, 10, 10"
},
{
"hide": false,
"refId": "C",
"scenarioId": "csv_metric_values",
"stringInput": "10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 20, 10, 10, 10, 10, 10"
},
{
"hide": false,
"refId": "D",
"scenarioId": "csv_metric_values",
"stringInput": "5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5"
},
{
"hide": false,
"refId": "E",
"scenarioId": "csv_metric_values",
"stringInput": "5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Normal stacking (series order 1)",
"type": "timeseries"
},
{
"datasource": null,
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"graph": false,
"legend": false,
"tooltip": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "normal"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 16,
"x": 8,
"y": 8
},
"id": 5,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"pluginVersion": "7.5.0-pre",
"targets": [
{
"hide": false,
"refId": "D",
"scenarioId": "csv_metric_values",
"stringInput": "5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5"
},
{
"hide": false,
"refId": "E",
"scenarioId": "csv_metric_values",
"stringInput": "5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5"
},
{
"hide": false,
"refId": "B",
"scenarioId": "csv_metric_values",
"stringInput": "10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 20, 10, 10, 10, 10, 10"
},
{
"hide": false,
"refId": "C",
"scenarioId": "csv_metric_values",
"stringInput": "10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 20, 10, 10, 10, 10, 10"
},
{
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 15, 14, 30, 30, 30, 30, 30, 30, 30, -15, 30, 30, 30, 15, 0"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Normal stacking (series order 2)",
"type": "timeseries"
},
{
"datasource": null,
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "bars",
"fillOpacity": 100,
"gradientMode": "none",
"hideFrom": {
"graph": false,
"legend": false,
"tooltip": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 16,
"w": 8,
"x": 0,
"y": 16
},
"id": 9,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"pluginVersion": "7.5.0-pre",
"targets": [
{
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "109,117,122,104,105,117,119,121,117,121,122,129,119,113,113,121,108,108,100,103,113,110,null,null,null,null,87,83,91,85,81,69,76,61,63,74,76,68,55,61,48,39,54,44,37,30,22,33,29,21,22,43,47,33,47,28,29,31,32,35,37,25,-5,-14,-7,-14,-7,-18,-18,-18,-16,-41,-22,-30,-27,-30,-47,-49,-47,-42,-55,-34,-27,-22,-23,-34,-23,-32,-36,-47,-33,-32,-18,-23,-21,-33,-39,-21,-18,-27,-5"
},
{
"hide": false,
"refId": "B",
"scenarioId": "csv_metric_values",
"stringInput": "253,248,247,282,212,275,306,276,253,243,276,261,313,233,231,315,302,288,251,300,263,227,232,271,258,212,225,234,244,200,249,205,231,173,263,246,190,184,198,233,246,232,228,201,212,163,194,155,177,179,130,160,245,184,225,221,217,229,165,172,227,212,181,133,140,128,111,177,177,159,92,100,92,154,161,124,83,99,104,76,117,87,151,154,77,71,164,68,94,105,107,74,130,156,91,103,97,98,96,76,117"
},
{
"hide": false,
"refId": "C",
"scenarioId": "csv_metric_values",
"stringInput": "408,436,368,422,383,454,459,380,360,400,378,419,468,394,343,457,411,422,448,419,431,389,414,381,415,357,419,398,352,398,379,400,337,299,369,416,329,303,333,362,438,383,350,337,348,289,362,298,355,285,294,319,445,308,375,387,337,406,323,372,342,389,311,254,270,248,271,309,374,323,255,289,223,280,331,237,247,229,293,230,239,242,271,343,255,185,296,217,236,268,257,273,323,346,205,285,277,265,277,253,219"
},
{
"hide": false,
"refId": "D",
"scenarioId": "csv_metric_values",
"stringInput": "556,581,482,552,550,589,575,565,471,575,565,605,663,544,471,641,567,535,630,535,623,579,582,559,611,509,521,563,513,544,523,558,450,486,478,584,440,432,473,480,555,510,451,476,490,470,555,418,463,402,403,476,591,431,560,581,532,579,427,501,452,551,479,405,397,376,458,439,490,508,389,488,360,413,509,351,434,392,430,426,375,414,401,459,435,327,491,406,397,406,384,423,439,538,338,467,421,406,477,428,371"
}
],
"title": "Bars, data not stacked",
"type": "timeseries"
},
{
"datasource": null,
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "bars",
"fillOpacity": 100,
"gradientMode": "none",
"hideFrom": {
"graph": false,
"legend": false,
"tooltip": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "normal"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 16,
"x": 8,
"y": 16
},
"id": 11,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"stacking": "none",
"tooltip": {
"mode": "single"
}
},
"pluginVersion": "7.5.0-pre",
"targets": [
{
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "109,117,122,104,105,117,119,121,117,121,122,129,119,113,113,121,108,108,100,103,113,110,null,null,null,null,87,83,91,85,81,69,76,61,63,74,76,68,55,61,48,39,54,44,37,30,22,33,29,21,22,43,47,33,47,28,29,31,32,35,37,25,-5,-14,-7,-14,-7,-18,-18,-18,-16,-41,-22,-30,-27,-30,-47,-49,-47,-42,-55,-34,-27,-22,-23,-34,-23,-32,-36,-47,-33,-32,-18,-23,-21,-33,-39,-21,-18,-27,-5"
},
{
"hide": false,
"refId": "B",
"scenarioId": "csv_metric_values",
"stringInput": "253,248,247,282,212,275,306,276,253,243,276,261,313,233,231,315,302,288,251,300,263,227,232,271,258,212,225,234,244,200,249,205,231,173,263,246,190,184,198,233,246,232,228,201,212,163,194,155,177,179,130,160,245,184,225,221,217,229,165,172,227,212,181,133,140,128,111,177,177,159,92,100,92,154,161,124,83,99,104,76,117,87,151,154,77,71,164,68,94,105,107,74,130,156,91,103,97,98,96,76,117"
},
{
"hide": false,
"refId": "C",
"scenarioId": "csv_metric_values",
"stringInput": "408,436,368,422,383,454,459,380,360,400,378,419,468,394,343,457,411,422,448,419,431,389,414,381,415,357,419,398,352,398,379,400,337,299,369,416,329,303,333,362,438,383,350,337,348,289,362,298,355,285,294,319,445,308,375,387,337,406,323,372,342,389,311,254,270,248,271,309,374,323,255,289,223,280,331,237,247,229,293,230,239,242,271,343,255,185,296,217,236,268,257,273,323,346,205,285,277,265,277,253,219"
},
{
"hide": false,
"refId": "D",
"scenarioId": "csv_metric_values",
"stringInput": "556,581,482,552,550,589,575,565,471,575,565,605,663,544,471,641,567,535,630,535,623,579,582,559,611,509,521,563,513,544,523,558,450,486,478,584,440,432,473,480,555,510,451,476,490,470,555,418,463,402,403,476,591,431,560,581,532,579,427,501,452,551,479,405,397,376,458,439,490,508,389,488,360,413,509,351,434,392,430,426,375,414,401,459,435,327,491,406,397,406,384,423,439,538,338,467,421,406,477,428,371"
}
],
"title": "Bars, normal stacking (series order 1)",
"type": "timeseries"
},
{
"datasource": null,
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "bars",
"fillOpacity": 100,
"gradientMode": "none",
"hideFrom": {
"graph": false,
"legend": false,
"tooltip": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "normal"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 16,
"x": 8,
"y": 24
},
"id": 15,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"stacking": "none",
"tooltip": {
"mode": "single"
}
},
"pluginVersion": "7.5.0-pre",
"targets": [
{
"hide": false,
"refId": "D",
"scenarioId": "csv_metric_values",
"stringInput": "556,581,482,552,550,589,575,565,471,575,565,605,663,544,471,641,567,535,630,535,623,579,582,559,611,509,521,563,513,544,523,558,450,486,478,584,440,432,473,480,555,510,451,476,490,470,555,418,463,402,403,476,591,431,560,581,532,579,427,501,452,551,479,405,397,376,458,439,490,508,389,488,360,413,509,351,434,392,430,426,375,414,401,459,435,327,491,406,397,406,384,423,439,538,338,467,421,406,477,428,371"
},
{
"hide": false,
"refId": "C",
"scenarioId": "csv_metric_values",
"stringInput": "408,436,368,422,383,454,459,380,360,400,378,419,468,394,343,457,411,422,448,419,431,389,414,381,415,357,419,398,352,398,379,400,337,299,369,416,329,303,333,362,438,383,350,337,348,289,362,298,355,285,294,319,445,308,375,387,337,406,323,372,342,389,311,254,270,248,271,309,374,323,255,289,223,280,331,237,247,229,293,230,239,242,271,343,255,185,296,217,236,268,257,273,323,346,205,285,277,265,277,253,219"
},
{
"hide": false,
"refId": "B",
"scenarioId": "csv_metric_values",
"stringInput": "253,248,247,282,212,275,306,276,253,243,276,261,313,233,231,315,302,288,251,300,263,227,232,271,258,212,225,234,244,200,249,205,231,173,263,246,190,184,198,233,246,232,228,201,212,163,194,155,177,179,130,160,245,184,225,221,217,229,165,172,227,212,181,133,140,128,111,177,177,159,92,100,92,154,161,124,83,99,104,76,117,87,151,154,77,71,164,68,94,105,107,74,130,156,91,103,97,98,96,76,117"
},
{
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "109,117,122,104,105,117,119,121,117,121,122,129,119,113,113,121,108,108,100,103,113,110,null,null,null,null,87,83,91,85,81,69,76,61,63,74,76,68,55,61,48,39,54,44,37,30,22,33,29,21,22,43,47,33,47,28,29,31,32,35,37,25,-5,-14,-7,-14,-7,-18,-18,-18,-16,-41,-22,-30,-27,-30,-47,-49,-47,-42,-55,-34,-27,-22,-23,-34,-23,-32,-36,-47,-33,-32,-18,-23,-21,-33,-39,-21,-18,-27,-5"
}
],
"title": "Bars, normal stacking (series order 2)",
"type": "timeseries"
},
{
"datasource": null,
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"graph": false,
"legend": false,
"tooltip": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 8,
"x": 0,
"y": 32
},
"id": 13,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"stacking": "none",
"tooltip": {
"mode": "single"
}
},
"pluginVersion": "7.5.0-pre",
"targets": [
{
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "5,6,7,8,7,6"
},
{
"refId": "B",
"scenarioId": "csv_metric_values",
"stringInput": "5,5,5,5,5,5"
},
{
"hide": false,
"refId": "C",
"scenarioId": "csv_metric_values",
"stringInput": "5,5,5,5,5,5"
},
{
"hide": false,
"refId": "D",
"scenarioId": "csv_metric_values",
"stringInput": "5,5,5,5,5,5"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Stacking groups, data not stacked",
"type": "timeseries"
},
{
"datasource": null,
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"graph": false,
"legend": false,
"tooltip": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "A-series"
},
"properties": [
{
"id": "custom.stacking",
"value": {
"group": "A",
"mode": "normal"
}
}
]
},
{
"matcher": {
"id": "byName",
"options": "B-series"
},
"properties": [
{
"id": "custom.stacking",
"value": {
"group": "A",
"mode": "normal"
}
}
]
},
{
"matcher": {
"id": "byName",
"options": "C-series"
},
"properties": [
{
"id": "custom.stacking",
"value": {
"group": "B",
"mode": "normal"
}
}
]
},
{
"matcher": {
"id": "byName",
"options": "D-series"
},
"properties": [
{
"id": "custom.stacking",
"value": {
"group": "B",
"mode": "normal"
}
}
]
}
]
},
"gridPos": {
"h": 8,
"w": 16,
"x": 8,
"y": 32
},
"id": 16,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"stacking": "none",
"tooltip": {
"mode": "single"
}
},
"pluginVersion": "7.5.0-pre",
"targets": [
{
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "5,6,7,8,7,6"
},
{
"refId": "B",
"scenarioId": "csv_metric_values",
"stringInput": "5,5,5,5,5,5"
},
{
"hide": false,
"refId": "C",
"scenarioId": "csv_metric_values",
"stringInput": "5,5,5,5,5,5"
},
{
"hide": false,
"refId": "D",
"scenarioId": "csv_metric_values",
"stringInput": "5,5,5,5,5,5"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Stacking groups, data stacked, two stacking groups",
"type": "timeseries"
}
],
"schemaVersion": 27,
"style": "dark",
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Panel Tests - TimeSeries - stacking",
"uid": "Ei86FP_Mx",
"version": 6
}
File diff suppressed because it is too large Load Diff
@@ -86,7 +86,7 @@
"displayMode": "hidden",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -157,7 +157,7 @@
"displayMode": "hidden",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -228,7 +228,7 @@
"displayMode": "hidden",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -299,7 +299,7 @@
"displayMode": "hidden",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -370,7 +370,7 @@
"displayMode": "hidden",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -441,7 +441,7 @@
"displayMode": "hidden",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -87,7 +87,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -166,7 +166,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -245,7 +245,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -324,7 +324,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -403,7 +403,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -482,7 +482,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -562,7 +562,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -642,7 +642,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -721,7 +721,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
+24 -24
View File
@@ -122,7 +122,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -246,7 +246,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -370,7 +370,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -494,7 +494,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -618,7 +618,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -742,7 +742,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -866,7 +866,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -990,7 +990,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -1193,7 +1193,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -1473,7 +1473,7 @@
"displayMode": "list",
"placement": "right"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -1608,7 +1608,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -1746,7 +1746,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -1884,7 +1884,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -2022,7 +2022,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -2188,7 +2188,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -2328,7 +2328,7 @@
"isVisible": false,
"placement": "right"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -2482,7 +2482,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -2635,7 +2635,7 @@
"isVisible": true,
"placement": "right"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -2777,7 +2777,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -2885,7 +2885,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "multi"
}
},
@@ -2992,7 +2992,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "none"
}
},
@@ -3100,7 +3100,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "multi"
}
},
@@ -3224,7 +3224,7 @@
"isVisible": true,
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -3363,7 +3363,7 @@
"displayMode": "hidden",
"placement": "bottom"
},
"tooltipOptions": {
"tooltip": {
"mode": "single"
}
},
@@ -0,0 +1,561 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"gnetId": null,
"graphTooltip": 2,
"id": 396,
"links": [],
"panels": [
{
"datasource": null,
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"graph": false,
"legend": false,
"tooltip": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "degree"
},
"overrides": []
},
"gridPos": {
"h": 9,
"w": 8,
"x": 0,
"y": 0
},
"id": 2,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"pluginVersion": "7.5.0-pre",
"targets": [
{
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "-9.4, -8.2, -8, -8, -7, -7.9, -5.9, -6.1, -5.5, -5.8, -4.7, -4.7, -4.1, -4.5, -3.5, -4, -2.4, -3.4, -1, -1, -0.3, -0.8, 0.8, 0.5, 1.7, 1.2, 2, 1.9, 2.4, 2.3, 3.3, 3.2, 3.9, 3.8, 4.5, 4.5, 5.6, 5.1, 7.1, 6.7, 7.2, 7.1, 7.6, 7.5, 8.4, 7.9, 9, 8.5, 9.4, 9.2"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Origin",
"type": "timeseries"
},
{
"datasource": null,
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"graph": false,
"legend": false,
"tooltip": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "degree"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "B-series"
},
"properties": [
{
"id": "unit",
"value": "tflops"
}
]
}
]
},
"gridPos": {
"h": 9,
"w": 8,
"x": 8,
"y": 0
},
"id": 9,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"pluginVersion": "7.5.0-pre",
"targets": [
{
"hide": false,
"max": 10,
"min": -10,
"noise": 1,
"refId": "A",
"scenarioId": "random_walk",
"spread": 2
},
{
"hide": false,
"max": 10,
"min": -10,
"noise": 1,
"refId": "B",
"scenarioId": "random_walk",
"spread": 2
},
{
"hide": false,
"max": 10,
"min": -10,
"noise": 1,
"refId": "C",
"scenarioId": "random_walk",
"spread": 2
}
],
"timeFrom": null,
"timeShift": null,
"title": "Sensor 1, ranging as Origin panel",
"type": "timeseries"
},
{
"datasource": null,
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"graph": false,
"legend": false,
"tooltip": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "degree"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "B-series"
},
"properties": [
{
"id": "unit",
"value": "tflops"
}
]
},
{
"matcher": {
"id": "byName",
"options": "A-series"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "purple",
"mode": "fixed"
}
}
]
}
]
},
"gridPos": {
"h": 9,
"w": 8,
"x": 16,
"y": 0
},
"id": 10,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"pluginVersion": "7.5.0-pre",
"targets": [
{
"hide": false,
"max": 4,
"min": -4,
"noise": 0,
"refId": "B",
"scenarioId": "random_walk",
"spread": 2
},
{
"hide": false,
"max": 4,
"min": -4,
"noise": 0,
"refId": "A",
"scenarioId": "random_walk",
"spread": 2
}
],
"timeFrom": null,
"timeShift": null,
"title": "Sensor 2, ranging [-4, 4]",
"type": "timeseries"
},
{
"datasource": null,
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"graph": false,
"legend": false,
"tooltip": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "degree"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "B-series"
},
"properties": [
{
"id": "unit",
"value": "tflops"
}
]
}
]
},
"gridPos": {
"h": 9,
"w": 8,
"x": 8,
"y": 9
},
"id": 7,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"pluginVersion": "7.5.0-pre",
"targets": [
{
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "5, 4.6, 4.4, 3.5, 3.3, 3, 2.6, 2.6, 2.4, 2.1, 1.8, 1.8, 1.7, 1.6, 1.5, 1.5, 1.4, 0.5, 0.5, 0, -0.2, -0.2, -0.4, -0.6, -1.2, -1.6, -2.4, -2.4, -2.8, -2.9, -2.9, -3.2, -3.3, -3.4, -4.3, -4.3, -4.6, -6.1, -6.3, -6.6, -6.7, -7, -7.2, -7.3, -7.5, -7.8, -8.2, -8.3, -9.1, -9.3"
},
{
"refId": "B",
"scenarioId": "csv_metric_values",
"stringInput": "6,4,2"
},
{
"hide": false,
"refId": "C",
"scenarioId": "csv_metric_values",
"stringInput": "-3,-4,-2"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Sensor 3",
"type": "timeseries"
},
{
"datasource": null,
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"graph": false,
"legend": false,
"tooltip": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "degree"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "B-series"
},
"properties": [
{
"id": "unit",
"value": "tflops"
}
]
}
]
},
"gridPos": {
"h": 9,
"w": 8,
"x": 16,
"y": 9
},
"id": 8,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"pluginVersion": "7.5.0-pre",
"targets": [
{
"refId": "B",
"scenarioId": "csv_metric_values",
"stringInput": "6,4,2"
},
{
"hide": false,
"refId": "C",
"scenarioId": "csv_metric_values",
"stringInput": "-3,-4,-2"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Sensor 5",
"type": "timeseries"
}
],
"refresh": false,
"schemaVersion": 28,
"style": "dark",
"tags": [
"gdev",
"panel-tests",
"graph-ng"
],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Panel Tests - shared tooltips cursor positioning",
"uid": "ICiqZ1rGk",
"version": 51
}
@@ -0,0 +1,780 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"gnetId": null,
"graphTooltip": 1,
"links": [],
"panels": [
{
"datasource": null,
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"graph": false,
"legend": false,
"tooltip": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "celsius"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Speed"
},
"properties": [
{
"id": "unit",
"value": "velocitykmh"
}
]
}
]
},
"gridPos": {
"h": 8,
"w": 9,
"x": 0,
"y": 0
},
"id": 4,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"pluginVersion": "7.5.0-pre",
"targets": [
{
"alias": "Temperature",
"max": 25,
"min": 1,
"refId": "A",
"scenarioId": "random_walk"
},
{
"alias": "Speed",
"hide": false,
"refId": "B",
"scenarioId": "random_walk"
}
],
"timeFrom": null,
"timeShift": null,
"title": "two units",
"type": "timeseries"
},
{
"datasource": null,
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "points",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"graph": false,
"legend": false,
"tooltip": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "celsius"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Temperature"
},
"properties": [
{
"id": "unit",
"value": "celsius"
}
]
},
{
"matcher": {
"id": "byName",
"options": "Speed"
},
"properties": [
{
"id": "unit",
"value": "velocitykmh"
}
]
}
]
},
"gridPos": {
"h": 8,
"w": 8,
"x": 9,
"y": 0
},
"id": 13,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"pluginVersion": "7.5.0-pre",
"targets": [
{
"max": 25,
"min": 1,
"refId": "A",
"scenarioId": "random_walk",
"seriesCount": 2
}
],
"title": "Speed vs Temperature (XY)",
"transformations": [
{
"id": "seriesToColumns",
"options": {
"byField": "time"
}
},
{
"id": "organize",
"options": {
"excludeByName": {
"time": true
},
"indexByName": {},
"renameByName": {
"A-series": "Temperature",
"A-series1": "Speed"
}
}
}
],
"type": "xychart"
},
{
"datasource": null,
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 7,
"x": 17,
"y": 0
},
"id": 2,
"options": {
"counters": {
"dataChanged": true,
"render": true,
"schemaChanged": true
},
"mode": "cursor"
},
"pluginVersion": "7.5.0-pre",
"timeFrom": null,
"timeShift": null,
"title": "Cursor info",
"type": "debug"
},
{
"datasource": null,
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"graph": false,
"legend": false,
"tooltip": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "celsius"
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 9,
"x": 0,
"y": 8
},
"id": 5,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"pluginVersion": "7.5.0-pre",
"targets": [
{
"alias": "Temperature",
"max": 25,
"min": 5,
"refId": "A",
"scenarioId": "random_walk"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Only temperature",
"type": "timeseries"
},
{
"datasource": null,
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"graph": false,
"legend": false,
"tooltip": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "velocitykmh"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Speed"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "yellow",
"mode": "fixed"
}
}
]
}
]
},
"gridPos": {
"h": 6,
"w": 8,
"x": 9,
"y": 8
},
"id": 9,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"pluginVersion": "7.5.0-pre",
"targets": [
{
"alias": "Speed",
"hide": false,
"refId": "B",
"scenarioId": "random_walk"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Only Speed",
"type": "timeseries"
},
{
"datasource": null,
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"graph": false,
"legend": false,
"tooltip": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true,
"stacking": {
"group": "A",
"mode": "none"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "accMS2"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "Speed"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "yellow",
"mode": "fixed"
}
}
]
},
{
"matcher": {
"id": "byName",
"options": "Acceleration"
},
"properties": [
{
"id": "color",
"value": {
"fixedColor": "purple",
"mode": "fixed"
}
}
]
}
]
},
"gridPos": {
"h": 6,
"w": 7,
"x": 17,
"y": 8
},
"id": 11,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"pluginVersion": "7.5.0-pre",
"targets": [
{
"alias": "Acceleration",
"hide": false,
"refId": "B",
"scenarioId": "random_walk"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Panel Title",
"type": "timeseries"
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": null,
"fieldConfig": {
"defaults": {
"unit": "celsius"
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 6,
"w": 12,
"x": 0,
"y": 14
},
"hiddenSeries": false,
"id": 8,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"nullPointMode": "null",
"options": {
"alertThreshold": true
},
"percentage": false,
"pluginVersion": "7.5.0-pre",
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"max": 25,
"min": 1,
"refId": "A",
"scenarioId": "random_walk"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "flot panel (temperature)",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "celsius",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": null,
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 6,
"w": 12,
"x": 12,
"y": 14
},
"hiddenSeries": false,
"id": 10,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"nullPointMode": "null",
"options": {
"alertThreshold": true
},
"percentage": false,
"pluginVersion": "7.5.0-pre",
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "flot panel (no units)",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
}
],
"refresh": false,
"schemaVersion": 28,
"style": "dark",
"tags": [
"gdev",
"panel-tests",
"graph-ng"
],
"templating": {
"list": []
},
"time": {
"from": "2020-09-14T16:13:20.000Z",
"to": "2020-09-15T20:00:00.000Z"
},
"timepicker": {},
"timezone": "",
"title": "Panel Tests - shared tooltips",
"uid": "TX2VU59MZ",
"version": 2
}
@@ -685,6 +685,10 @@
"text": "meter (m)",
"value": "lengthm"
},
{
"text": "inch (in)",
"value": "lengthin"
},
{
"text": "feet (ft)",
"value": "lengthft"
@@ -727,6 +731,10 @@
"text": "gram (g)",
"value": "massg"
},
{
"text": "pound (lb)",
"value": "masslb"
},
{
"text": "kilogram (kg)",
"value": "masskg"
@@ -1788,6 +1796,10 @@
"text": "meter (m)",
"value": "lengthm"
},
{
"text": "inch (in)",
"value": "lengthin"
},
{
"text": "feet (ft)",
"value": "lengthft"
@@ -1830,6 +1842,10 @@
"text": "gram (g)",
"value": "massg"
},
{
"text": "pound (lb)",
"value": "masslb"
},
{
"text": "kilogram (kg)",
"value": "masskg"
@@ -2871,6 +2887,10 @@
"text": "meter (m)",
"value": "lengthm"
},
{
"text": "inch (in)",
"value": "lengthin"
},
{
"text": "feet (ft)",
"value": "lengthft"
@@ -2913,6 +2933,10 @@
"text": "gram (g)",
"value": "massg"
},
{
"text": "pound (lb)",
"value": "masslb"
},
{
"text": "kilogram (kg)",
"value": "masskg"
@@ -1,757 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"links": [],
"panels": [
{
"cacheTimeout": null,
"colorBackground": false,
"colorValue": true,
"colors": ["#299c46", "rgba(237, 129, 40, 0.89)", "#d44a3a"],
"datasource": "gdev-testdata",
"decimals": null,
"description": "",
"format": "ms",
"gauge": {
"maxValue": 100,
"minValue": 0,
"show": false,
"thresholdLabels": false,
"thresholdMarkers": true
},
"gridPos": {
"h": 7,
"w": 8,
"x": 0,
"y": 0
},
"id": 2,
"interval": null,
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"nullText": null,
"postfix": "postfix",
"postfixFontSize": "50%",
"prefix": "prefix",
"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": [
{
"expr": "",
"format": "time_series",
"intervalFactor": 1,
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "1,2,3,4,5"
}
],
"thresholds": "5,10",
"title": "prefix 3 ms (green) postfix + sparkline",
"type": "singlestat",
"valueFontSize": "80%",
"valueMaps": [
{
"op": "=",
"text": "N/A",
"value": "null"
}
],
"valueName": "avg"
},
{
"cacheTimeout": null,
"colorBackground": false,
"colorPrefix": false,
"colorValue": true,
"colors": ["#d44a3a", "rgba(237, 129, 40, 0.89)", "#299c46"],
"datasource": "gdev-testdata",
"decimals": null,
"description": "",
"format": "ms",
"gauge": {
"maxValue": 100,
"minValue": 0,
"show": false,
"thresholdLabels": false,
"thresholdMarkers": true
},
"gridPos": {
"h": 7,
"w": 8,
"x": 8,
"y": 0
},
"id": 3,
"interval": null,
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"nullText": null,
"postfix": "",
"postfixFontSize": "50%",
"prefix": "",
"prefixFontSize": "50%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": true,
"lineColor": "rgb(31, 120, 193)",
"show": true
},
"tableColumn": "",
"targets": [
{
"expr": "",
"format": "time_series",
"intervalFactor": 1,
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "1,2,3,4,5"
}
],
"thresholds": "5,10",
"title": "3 ms (red) + full height sparkline",
"type": "singlestat",
"valueFontSize": "200%",
"valueMaps": [
{
"op": "=",
"text": "N/A",
"value": "null"
}
],
"valueName": "avg"
},
{
"cacheTimeout": null,
"colorBackground": true,
"colorPrefix": false,
"colorValue": false,
"colors": ["#d44a3a", "rgba(237, 129, 40, 0.89)", "#299c46"],
"datasource": "gdev-testdata",
"decimals": null,
"description": "",
"format": "ms",
"gauge": {
"maxValue": 100,
"minValue": 0,
"show": false,
"thresholdLabels": false,
"thresholdMarkers": true
},
"gridPos": {
"h": 7,
"w": 8,
"x": 16,
"y": 0
},
"id": 4,
"interval": null,
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"nullText": null,
"postfix": "",
"postfixFontSize": "50%",
"prefix": "",
"prefixFontSize": "50%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": true,
"lineColor": "rgb(31, 120, 193)",
"show": false
},
"tableColumn": "",
"targets": [
{
"expr": "",
"format": "time_series",
"intervalFactor": 1,
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "1,2,3,4,5"
}
],
"thresholds": "5,10",
"title": "3 ms + red background",
"type": "singlestat",
"valueFontSize": "200%",
"valueMaps": [
{
"op": "=",
"text": "N/A",
"value": "null"
}
],
"valueName": "avg"
},
{
"cacheTimeout": null,
"colorBackground": false,
"colorPrefix": false,
"colorValue": true,
"colors": ["#299c46", "rgba(237, 129, 40, 0.89)", "#d44a3a"],
"datasource": "gdev-testdata",
"decimals": null,
"description": "",
"format": "ms",
"gauge": {
"maxValue": 150,
"minValue": 0,
"show": true,
"thresholdLabels": true,
"thresholdMarkers": true
},
"gridPos": {
"h": 7,
"w": 8,
"x": 0,
"y": 7
},
"id": 5,
"interval": null,
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"nullText": null,
"postfix": "",
"postfixFontSize": "50%",
"prefix": "",
"prefixFontSize": "50%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": true,
"lineColor": "rgb(31, 120, 193)",
"show": false
},
"tableColumn": "",
"targets": [
{
"expr": "",
"format": "time_series",
"intervalFactor": 1,
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "10,20,80"
}
],
"thresholds": "81,90",
"title": "80 ms green gauge, thresholds 81, 90",
"type": "singlestat",
"valueFontSize": "80%",
"valueMaps": [
{
"op": "=",
"text": "N/A",
"value": "null"
}
],
"valueName": "current"
},
{
"cacheTimeout": null,
"colorBackground": false,
"colorPrefix": false,
"colorValue": true,
"colors": ["#299c46", "rgba(237, 129, 40, 0.89)", "#d44a3a"],
"datasource": "gdev-testdata",
"decimals": null,
"description": "",
"format": "ms",
"gauge": {
"maxValue": 150,
"minValue": 0,
"show": true,
"thresholdLabels": false,
"thresholdMarkers": true
},
"gridPos": {
"h": 7,
"w": 8,
"x": 8,
"y": 7
},
"id": 6,
"interval": null,
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"nullText": null,
"postfix": "",
"postfixFontSize": "50%",
"prefix": "",
"prefixFontSize": "50%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": true,
"lineColor": "rgb(31, 120, 193)",
"show": false
},
"tableColumn": "",
"targets": [
{
"expr": "",
"format": "time_series",
"intervalFactor": 1,
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "10,20,80"
}
],
"thresholds": "81,90",
"title": "80 ms green gauge, thresholds 81, 90, no labels",
"type": "singlestat",
"valueFontSize": "80%",
"valueMaps": [
{
"op": "=",
"text": "N/A",
"value": "null"
}
],
"valueName": "current"
},
{
"cacheTimeout": null,
"colorBackground": false,
"colorPrefix": false,
"colorValue": true,
"colors": ["#299c46", "rgba(237, 129, 40, 0.89)", "#d44a3a"],
"datasource": "gdev-testdata",
"decimals": null,
"description": "",
"format": "ms",
"gauge": {
"maxValue": 150,
"minValue": 0,
"show": true,
"thresholdLabels": false,
"thresholdMarkers": false
},
"gridPos": {
"h": 7,
"w": 8,
"x": 16,
"y": 7
},
"id": 7,
"interval": null,
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"nullText": null,
"postfix": "",
"postfixFontSize": "50%",
"prefix": "",
"prefixFontSize": "50%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": true,
"lineColor": "rgb(31, 120, 193)",
"show": false
},
"tableColumn": "",
"targets": [
{
"expr": "",
"format": "time_series",
"intervalFactor": 1,
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "10,20,80"
}
],
"thresholds": "81,90",
"title": "80 ms green gauge, thresholds 81, 90, no markers or labels",
"type": "singlestat",
"valueFontSize": "80%",
"valueMaps": [
{
"op": "=",
"text": "N/A",
"value": "null"
}
],
"valueName": "current"
},
{
"cacheTimeout": null,
"colorBackground": false,
"colorPrefix": false,
"colorValue": false,
"colors": ["#299c46", "rgba(237, 129, 40, 0.89)", "#d44a3a"],
"datasource": "gdev-testdata",
"decimals": null,
"description": "",
"format": "none",
"gauge": {
"maxValue": 150,
"minValue": 0,
"show": false,
"thresholdLabels": false,
"thresholdMarkers": true
},
"gridPos": {
"h": 4,
"w": 8,
"x": 0,
"y": 14
},
"id": 8,
"interval": null,
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"nullText": null,
"options": {},
"postfix": "",
"postfixFontSize": "50%",
"prefix": "",
"prefixFontSize": "50%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": true,
"lineColor": "rgb(31, 120, 193)",
"show": false
},
"tableColumn": "Info",
"targets": [
{
"alias": "",
"expr": "",
"format": "time_series",
"intervalFactor": 1,
"refId": "A",
"scenarioId": "random_walk_table",
"stringInput": ""
}
],
"thresholds": "81,90",
"title": "TableData 'Info' string Column",
"type": "singlestat",
"valueFontSize": "80%",
"valueMaps": [],
"valueName": "current"
},
{
"cacheTimeout": null,
"colorBackground": false,
"colorPrefix": false,
"colorValue": false,
"colors": ["#299c46", "rgba(237, 129, 40, 0.89)", "#d44a3a"],
"datasource": "gdev-testdata",
"decimals": 2,
"description": "",
"format": "celsius",
"gauge": {
"maxValue": 150,
"minValue": 0,
"show": false,
"thresholdLabels": false,
"thresholdMarkers": true
},
"gridPos": {
"h": 4,
"w": 8,
"x": 8,
"y": 14
},
"id": 9,
"interval": null,
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"nullText": null,
"options": {},
"postfix": "",
"postfixFontSize": "50%",
"prefix": "",
"prefixFontSize": "50%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": true,
"lineColor": "rgb(31, 120, 193)",
"show": false
},
"tableColumn": "Min",
"targets": [
{
"alias": "",
"expr": "",
"format": "time_series",
"intervalFactor": 1,
"refId": "A",
"scenarioId": "random_walk_table",
"stringInput": ""
}
],
"thresholds": "81,90",
"title": "TableData 'Value' as temp Column",
"type": "singlestat",
"valueFontSize": "80%",
"valueMaps": [],
"valueName": "current"
},
{
"cacheTimeout": null,
"colorBackground": false,
"colorPrefix": false,
"colorValue": false,
"colors": ["#299c46", "rgba(237, 129, 40, 0.89)", "#d44a3a"],
"datasource": "gdev-testdata",
"decimals": null,
"description": "",
"format": "dateTimeFromNow",
"gauge": {
"maxValue": 150,
"minValue": 0,
"show": false,
"thresholdLabels": false,
"thresholdMarkers": true
},
"gridPos": {
"h": 4,
"w": 8,
"x": 16,
"y": 14
},
"id": 10,
"interval": null,
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"nullText": null,
"options": {},
"postfix": "",
"postfixFontSize": "50%",
"prefix": "",
"prefixFontSize": "50%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": true,
"lineColor": "rgb(31, 120, 193)",
"show": false
},
"tableColumn": "time",
"targets": [
{
"alias": "",
"expr": "",
"format": "time_series",
"intervalFactor": 1,
"refId": "A",
"scenarioId": "random_walk",
"stringInput": ""
}
],
"thresholds": "81,90",
"title": "last_time display (a few seconds ago)",
"type": "singlestat",
"valueFontSize": "80%",
"valueMaps": [],
"valueName": "last_time"
}
],
"refresh": false,
"revision": 8,
"schemaVersion": 16,
"style": "dark",
"tags": ["gdev", "panel-tests"],
"templating": {
"list": []
},
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {
"refresh_intervals": ["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"],
"time_options": ["5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d"]
},
"timezone": "browser",
"title": "Panel Tests - Singlestat",
"uid": "singlestat",
"version": 14
}
@@ -0,0 +1,354 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"links": [],
"panels": [
{
"datasource": null,
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 10,
"w": 24,
"x": 0,
"y": 0
},
"id": 8,
"options": {
"colWidth": 0.9,
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"mode": "changes",
"rowHeight": 0.9,
"showValue": "always"
},
"pluginVersion": "7.5.0-pre",
"targets": [
{
"alias": "",
"csvWave": {
"timeStep": 60,
"valuesCSV": "0,0,2,2,1,1"
},
"lines": 10,
"points": [
[
0,
1616551651000
],
[
1,
1616556554000
],
[
2,
1616559873000
],
[
0,
1616561077000
],
[
3,
1616563090000
]
],
"pulseWave": {
"offCount": 3,
"offValue": 1,
"onCount": 3,
"onValue": 2,
"timeStep": 60
},
"refId": "A",
"scenarioId": "manual_entry",
"stream": {
"bands": 1,
"noise": 2.2,
"speed": 250,
"spread": 3.5,
"type": "signal"
},
"stringInput": ""
},
{
"alias": "",
"csvWave": {
"timeStep": 60,
"valuesCSV": "0,0,2,2,1,1"
},
"hide": false,
"lines": 10,
"points": [
[
4,
1616555060000
],
[
5,
1616560081000
],
[
4,
1616562217000
],
[
5,
1616565458000
]
],
"pulseWave": {
"offCount": 3,
"offValue": 1,
"onCount": 3,
"onValue": 2,
"timeStep": 60
},
"refId": "B",
"scenarioId": "manual_entry",
"stream": {
"bands": 1,
"noise": 2.2,
"speed": 250,
"spread": 3.5,
"type": "signal"
},
"stringInput": ""
},
{
"points": [
[
4,
1616557148000
],
[
null,
1616558756000
],
[
4,
1616561658000
],
[
null,
1616562446000
],
[
4,
1616564104000
],
[
null,
1616564548000
],
[
4,
1616564871000
]
],
"refId": "C",
"scenarioId": "manual_entry"
}
],
"title": "\"State changes\" Mode",
"type": "timeline"
},
{
"datasource": null,
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 11,
"w": 24,
"x": 0,
"y": 10
},
"id": 9,
"options": {
"colWidth": 0.9,
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"mode": "changes",
"rowHeight": 0.9,
"showValue": "always"
},
"pluginVersion": "7.5.0-pre",
"targets": [
{
"alias": "",
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "a,a,b,b,b,b,c,a,a,d,d,d,d,d"
},
{
"alias": "",
"refId": "B",
"scenarioId": "csv_metric_values",
"stringInput": "null,null,e,e,e,null,null,e,null,null,e,null,e,e,e,e"
},
{
"refId": "C",
"scenarioId": "csv_metric_values",
"stringInput": "true,null,false,null,true,false"
}
],
"title": "\"State changes\" Mode (strings & booleans)",
"type": "timeline"
},
{
"datasource": null,
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 11,
"w": 24,
"x": 0,
"y": 21
},
"id": 4,
"interval": null,
"maxDataPoints": 20,
"options": {
"colWidth": 0.9,
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"mode": "samples",
"rowHeight": 0.9,
"showValue": "always"
},
"pluginVersion": "7.5.0-pre",
"targets": [
{
"alias": "",
"csvWave": {
"timeStep": 60,
"valuesCSV": "0,0,2,2,1,1"
},
"lines": 10,
"points": [],
"pulseWave": {
"offCount": 3,
"offValue": 1,
"onCount": 3,
"onValue": 2,
"timeStep": 60
},
"refId": "A",
"scenarioId": "random_walk",
"seriesCount": 4,
"spread": 14.9,
"stream": {
"bands": 1,
"noise": 2.2,
"speed": 250,
"spread": 3.5,
"type": "signal"
},
"stringInput": ""
}
],
"title": "\"Periodic samples\" Mode",
"type": "timeline"
}
],
"refresh": false,
"schemaVersion": 29,
"style": "dark",
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "2021-03-24T03:00:00.000Z",
"to": "2021-03-24T07:00:00.000Z"
},
"timepicker": {},
"timezone": "utc",
"title": "Timeline Modes",
"uid": "mIJjFy8Gz",
"version": 7
}
@@ -1,8 +0,0 @@
elasticsearch1:
image: elasticsearch:1.7.6
command: elasticsearch -Des.network.host=0.0.0.0
ports:
- "11200:9200"
- "11300:9300"
volumes:
- ./blocks/elastic/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
@@ -1,2 +0,0 @@
script.inline: on
script.indexed: on

Some files were not shown because too many files have changed in this diff Show More