Compare commits

..

211 Commits

Author SHA1 Message Date
Arve Knudsen
aee1438ff2 CircleCI: Enable internal v7.0.0 release (#24733)
* CircleCI: Sync with master branch

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

* CirclecI: Temporarily modify release pipeline to only publish internally

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-05-15 16:30:30 +02:00
Arve Knudsen
0167f43d74 7.0.0 cherry-picks (#24726)
* TablePanel: Fix JSON tooltip positioning (#24420)

* Fix block element and overflow

* Width not needed

* Add to styles file

(cherry picked from commit f714357fbf)

* Minor UI touches (#24371)

* Justify to alignment in stat

* No stats label in inspect

* Use sentence case in panel names

* typos

* typo

* Typo

* Query -> query options

* prettier

* Transformer -> transform data

* Do not show deprecated plugins in the viz picker

* Update viz picker layout

(cherry picked from commit 63d25944c4)

* Reporting: tzdata is needed for reporting (#24422)

(cherry picked from commit de8c1b9ad7)

* Storybook: Position panel to right (#24429)

(cherry picked from commit 8257633b1d)

* Chore: move dataFramesReceived event to @grafana/data (#24443)

(cherry picked from commit 7e6ac12b9a)

* Explore: Revert QueryRows refactor (#24444)

While query fields should not rely on getting unmounted when the data source changes (and instead react to that change in e.g. componentDidUpdate()), query fields other than PromQueryField still rely on this.

(cherry picked from commit 221042c293)

* Logs: Clicking "Load more" from context overlay doesn't expand log row (#24299)

Closes #24184

(cherry picked from commit 35c097e475)

* Datasource/CloudWatch: Add data links to CloudWatch logs for deep linking to AWS (#24334)

* Datasource/CloudWatch: Fix encoding of CloudWatch Logs deep link URL

* Adds data links to cloudwatch logs responses for deep linking to aws console

* Implements PR feedback

(cherry picked from commit a655aa1ca8)

* OldTable: Make old table options align & look better (#24485)

(cherry picked from commit e333d61b97)

* Buttons: Use text color (#24439)

(cherry picked from commit c671fdbbf8)

* StatPanels: Hide calc option if all values is selected (#24416)

(cherry picked from commit 352f22042c)

* grafana/toolkit: Support paging in cherrypick task (#24402)

* Support paging in cherrypick task

* Update packages/grafana-toolkit/src/cli/tasks/cherrypick.ts

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

* Update packages/grafana-toolkit/src/cli/tasks/cherrypick.ts

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

* Do not cherry pick closed PRs

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
(cherry picked from commit c5fc18ac02)

* Reduce Transform: sort order is preserved as entered by user (#24494)

(cherry picked from commit e341d4b26f)

* TimeZone: added e2e tests for the custom time zone support. (#24442)

(cherry picked from commit a521a39ebf)

* CloudWatch/Logs: Add error message when log groups are not selected (#24361)

* Add error message

* Fix empty check

(cherry picked from commit d385045d16)

* CloudWatch/Log: Fix field autocomplete suggestions inside function (#24406)

* Fix autocomplete inside function

* Remove debug log

* Add comment and return type

(cherry picked from commit b16202acc2)

* Editor: No default suggestion selected (#24479)

* QueryField: No default suggestion selected

It's been a long-standing issue that careless typing lead to unwanted
tab completion insertions. With this change the completion item list no
longer selects the first item by default. The user has to actively click
ArrowDown to select the first one.

* Added type export

* Remove width limit of typeahead list

(cherry picked from commit 34f61934a1)

* TablePanel: Fixed persisting column resize time series fields (#24505)

(cherry picked from commit f13a15ae48)

* PluginsList: Remove unused panel options (#24501)

* Remove unused panel options

* satisfy ts

(cherry picked from commit 2e69b86990)

* CloudWatch/Logs: Language provider refactor and test (#24425)

(cherry picked from commit 876011d931)

* Datasource/CloudWatch: Usability improvements (#24447)

* Datasource/CloudWatch: Improve handling of long-running queries

* Datasource/CloudWatch: Make order of dataframe fields consistent

(cherry picked from commit c26374b0b2)

* CloudWatch/Logs: Fix suggestions of fields after comma (#24520)

(cherry picked from commit 2d29997bda)

* GraphLegend: Only display scrollbar if necessary (#24527)

(cherry picked from commit cb74bc6828)

* CloudWatch/Logs: Fix fields not being refetched when log group changed (#24529)

(cherry picked from commit 55533d12fd)

* Datasource/CloudWatch: Switch to metrics mode, logs API, when choosing stats query from cheatsheet (#24398)

* Datasource/CloudWatch: Switch to metrics mode, logs API, when choosing stats query from cheatsheet

(cherry picked from commit ae7f0aeb7a)

* azuremonitor: Deep linking from Log Analytic queries to the Azure Portal (#24417)

* azuremonitor: add gzipped and base64 encoded query to metadata

for Azure Log Analytic query responses

* azure monitor: add fields to metadata for log analytics

* azuremonitor: correction to text in query editor

* azuremonitor: adds subscription id to result metadata

* azuremonitor: build deep link url for Log Analytics

Most of the information needed for building the url
comes from the backend. The workspace friendly name
and the resource group that the workspace belongs
to are fetched in a separate API call. This call is
cached otherwise there would be a workspaces call
per query on the dashboard.

* docs: azure log analytics deep linking

* Apply suggestions from code review

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

* docs: fixing review comments for azure monitor

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
(cherry picked from commit 67ed579647)

* Datasource/CloudWatch: Results of CloudWatch Logs stats queries are now grouped (#24396)

* Datasource/CloudWatch: Results of CloudWatch Logs stats queries are now grouped

(cherry picked from commit db91961405)

* PanelEditor: Fixed issue changing a panel from transparent back to normal  (#24483)

* PanelModel: Fixed issues with persisting some changes

* Fixed other issues

(cherry picked from commit 5caf7f59e6)

* LabelsToFields: avoid MutableDataFrame (#24493)

(cherry picked from commit c8d3d15292)

* Prometheus: Show results of instant queries only in table (#24508)

* Show results of instant queries only in table, remove them from graph

* Update table model

(cherry picked from commit 143a26769b)

* PanelEditor: Fix so defaults is selected when datasource can't be found. (#24526)

(cherry picked from commit cb4266bae0)

* Graphite: makes query annotations work again (#24556)

(cherry picked from commit 7992f8bfbc)

* azuremonitor: limit macro regex to known macros (#24528)

(cherry picked from commit 64046e9a27)

* TimePicker: fixed so you can enter a relative range in the time picker without being converted to absolute range (#24534)

* fixed so you can enter a relative date in the time range form.

* did some small adjustments to make sure proper value is stored.

(cherry picked from commit 28f54bc2f7)

* Admin Settings: makes long settings line break (#24559)

(cherry picked from commit 74ddfe07a2)

* Update light variable theme for dropdown (#24566)

(cherry picked from commit 67dab0b767)

* UI spelling: use US form of visualization (#24558)

(cherry picked from commit bffa0fa4f6)

* e2e: adds verify release (#24568)

(cherry picked from commit 7d800e7318)

* Search: Save folder expanded state (#24496)

* Search: Save folder expanded state

* Search: Remember expanded state on search close

(cherry picked from commit 0396b220a3)

* Data sources: Don't fail if URL doesn't specify protocol (#24497)

(cherry picked from commit 164242f5fd)

* Security: Tag value sanitization fix in OpenTSDB data source (#24539)

Adds HTML sanitization to the tag value of the OpenTSDB datasource.

Fixes #24537

(cherry picked from commit 125ba95686)

* Field: UI & Code consistency Title -> Display name  (#24507)

* Field: Change getFieldTitle to getFieldDisplayNamne and change the NAME of the title field config from Title to Display name

* Review feedback

* fixed unit tests

* Rename fieldConfig.title to displayName

* Fixed tests

* Added migration

* Renamed getFrameDisplayTitle to getFrameDisplayName

(cherry picked from commit 8de10a8b9f)

* Do not set insertText if the same as label (#24581)

(cherry picked from commit 20f0ee2f22)

* Plugins: Fix manifest verification (#24573)

(cherry picked from commit 892f9f789c)

* Search: Safari UI fixes (#24567)

* Search: Add height: 100% to page containers

* Search: Reset TagOption display to block

* Search: Add title to result list

* Search: Use flex-basis vs height

* Search: Remove IconButton

* Search: Do not shrink select options

* Search: Fix hasEditPermissionInFolders

* Search: Update tests

* Search: Fix prop

* Remove select wrapper class

* Update snapshot

(cherry picked from commit 15ac76a47b)

* OrgUsersTable: Fix width when there are long cells in table (#24533)

* Set width for cells and text overflow

* Add title and update snapshot

(cherry picked from commit 0c1f1dd8fd)

* Loki: Allow multiple derived fields with the same name (#24437)

(cherry picked from commit a50cb6aa1f)

* Datasource/CloudWatch: Fixes various autocomplete issues (#24583)

(cherry picked from commit c1919944ea)

* CircleCI: Update grabpl to 0.4.5 in order to include manifest with GEL (#24577)

* CircleCI: Update grabpl to 0.4.5
* GEL: Upgrade version

(cherry picked from commit 824eb94efe)

* CloudWatch/Logs: Make stats hint show consistently (#24392)

(cherry picked from commit 5feef22034)

* Table: fixes Cannot read property subRows of null (#24578)

(cherry picked from commit 2d19c046f2)

* TimePicker: some fixes and polish after testing feedback (#24585)

* make sure we render the delaynow value from dashboard to the time picker settings.

* Added the time zone in the tooltip.

(cherry picked from commit cab066f8ce)

* Onboarding: New getting started panel (#23826)

* image and card component

* change height of getting started panel

* progress

* setup basic step

* advanced steps

* step forward and backward

* do checks

* fix button size

* minor styling on butttons

* add correct links

* save tutorial click in localstorage

* types and gradients

* fix gradients

* use spacing variable

* lots of responsiveness

* add links to help

* Getting started work

* redo according to split panel design

* minor touch ups

* new background images

* split up docs card to different hrefs

* welcome bar touch ups

* hide icon on small screens

* transparent false on welcome banner

* fix urls

* source tag in welcome urls

* move images to panel dir, removed unused images

* Nicer loading message

* make the cards look nicer on wide screens

* append utm tag on render instead

* replace width with margin

* new background image for light

* remove target on a element

* removing buttonselect, add tag to href

* more polishing

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
(cherry picked from commit 36fa54a288)

* Chore: Fix strict null errors on getting started (#24605)

* fix strict nulls

* fix typings

(cherry picked from commit 1848900070)

* CircleCI: Upgrade grabpl in order to fix package publishing (#24609)

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
(cherry picked from commit 03940c8471)

* Fix Safari Icon alignment (#24610)

(cherry picked from commit 04c75265b5)

* Transformations: Make transform dropdowns not cropped (#24615)

(cherry picked from commit 9e24c0944f)

* Inspect: Allow showing data without transformations and field config is applied (#24314)

* Inspect: Should not subscribe to transformed data

* PQR- allow controll whether or not field overrides and transformations should be applied

* UI for inspector data options

* fix

* Null check fix

* Update public/app/features/dashboard/components/Inspector/InspectDataTab.tsx

* Update public/app/features/dashboard/components/Inspector/InspectDataTab.tsx

* Apply transformations by default

* Update panel inspect docs

* Fix apply overrides

* Apply time formatting in panel inspect

* fix ts

* Post review update

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

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

* lazy numbering

* fix ts

* Renames

* Renames 2

* Layout update

* Run shared request without field config

* Minor details

* fix ts

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
(cherry picked from commit f23ecc40b4)

* Transformers: fix binary operation (#24604)

* check the display name

* remove unchanged line

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

* SharedPreferences: fixes so UI Theme can be set back to Default (#24628)

(cherry picked from commit cd9cbe5e16)

* Datasource/CloudWatch: Prevents hidden dataframe fields from displaying in tables (#24580)

* Datasource/CloudWatch: Prevents hidden dataframe fields from displaying in tables

(cherry picked from commit 277aee8642)

* Datasource/CloudWatch: Correctly interpolate variables in CloudWatch Logs queries (#24619)

Closes #24603

(cherry picked from commit bfd337dd00)

* Explore: Fix rendering of react query editors (#24593)

* Fix rendering of react query editors

* Refactor solution for improved readability

* Update

* Add test coverage

* Refactor

(cherry picked from commit 285ea7595d)

* CloudWatch: Don't assume that errors are awserr.Error instances (#24641)

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
(cherry picked from commit 8e5a3a578a)

* Zipkin: Fix error when span contains remoteEndpoint (#24524)

(cherry picked from commit 0f964c0214)

* Templating: fixes so Textbox variables get value from url (#24623)

(cherry picked from commit 622246d56d)

* Templating: fixes filtering options with more than 1000 entries (#24614)

* Templating: fixes filtering options with more then 1000 entries

* Chore: reduces strict null errors by 2

(cherry picked from commit 083a2ce220)

* PanelEdit: Make sure side pane is displayed with tabs by default (#24636)

* Make sure side pane is displayed with tabs by default

* Update e2e tests for

(cherry picked from commit f769ed035d)

* @grafana/ui: Update RadioButtonGroup documentation (#23143)

* Add "When to use" info to RadioButtonGroup.mdx

* Clarify more clearly when to use 'Select' instead

* Update RadioButtonGroup.mdx

Add line explaining why we want select for more than four options instead of a radio button group

* Update RadioButtonGroup.mdx

remove part about when elements are triggering changes.

Co-authored-by: Tobias Skarhed <tobias.skarhed@gmail.com>
(cherry picked from commit f1386c7892)

* Search: Fix select item pressing enter 404 (#24634)

* Remove appSubUrl for navigation

* stripBaseFromUrl

* Remove unused imports

(cherry picked from commit 37a2ac20c3)

* @grafana/ui: Buttons documentation (#23144)

* Add info: when to use which and how to mix buttons

* Update description for Button.mdx

- add note about scenario without primary action
- add note about secondary button being the default

* Refine docs info for secondary and destructive

Co-authored-by: Tobias Skarhed <tobias.skarhed@gmail.com>
(cherry picked from commit 54a90166a5)

* Datasource Config: adds back correct styles for autofill fields (#24671)

(cherry picked from commit 9481b7bcf2)

* Changelog and Readme: Update packages to beta and add Select breaking change (#24670)

(cherry picked from commit 85ae144a87)

* Orgs: Add future deprecation notice (#24502)

* Orgs: Fist draft of orgs deprecation infobox

* adds warning about potentially deprecating orgs (#24512)

* Updates

* Fixed ts issue

Co-authored-by: Carl Bergquist <carl@grafana.com>
(cherry picked from commit 2f22781cd8)

* Provisioning: Use proxy as default access mode in provisioning (#24669)

fixes #24591
fixes #19501

(cherry picked from commit 7610d5717a)

* Fallback to process.cwd() when PWD is not present (#24677)

Fixes #24582 - Error running yarn dev command

(cherry picked from commit 660f2b4e99)

* SaveDashboard: Allow editing provisioned dashboard JSON and add confirmation when JSON is copied to dashboard (#24680)

(cherry picked from commit cfac591234)

* Units: adds scale symbol for currencies with suffixed symbol (#24678)

(cherry picked from commit 51509bb2ff)

* CloudWatch/Logs: Fix panic on multiple aggregations queries (#24683)

(cherry picked from commit c60765a178)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* Docs: Updated instructions on screens for Dashboard Import (#24584)

* change text and image links

* Review feedback

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

* uppercase JSON

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

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
(cherry picked from commit abfa1b5d74)

* CloudWatch: Unify look of query mode select between dashboard and explore (#24648)

(cherry picked from commit e754bcdcf9)

* Datasources: fixes async mount errors (#24579)

* Chore: updates Elasticsearch DataLinks test async wrapper mount

* Chore: updates Loki DervidedFields test async wrapper mount

* Chore: fixes typecheck issues

* Chore: small strict-null fix

(cherry picked from commit e11504dcd2)

* Editor: New line on Enter, run query on Shift+Enter (#24654)

* Editor: New line on Enter, run query on Shift+Enter

- default Enter behavior on query editor fields should be a new line
- special behavior should require a special key: running a query is now
done on Shift-Enter
- Plugins order had to be changed because when typeahead is shown, Enter
is accepting the suggestion

* Run with ctrl-enter, hint in query placeholder

* Fix Kusto field behavior for Enter

* Fix Kusto field behavior for default suggestion

(cherry picked from commit 01bbcf4eea)

* Add deprecation note about the unofficial first version of backend plugins (#24675)

(cherry picked from commit 0c8ee5b2c9)

* CloudWatch/Logs: Fix autocomplete after by keyword (#24644)

(cherry picked from commit 2b9cc8ba30)

* TablePanel: Do not include angular options in options when switching from angular panel (#24684)

(cherry picked from commit c59f5436c0)

* Datasources: fix pre styles (#24687)

(cherry picked from commit 7fbed90b89)

* @grafana/ui: Checkbox docs (#23141)

* Add "When to use" info to Checkbox.mdx

Added info about how checkboxes generally work and when to use another component instead.

* Replaced words with proper component names

* Update Checkbox.mdx

Elaborate on explanations. Add examples for how to use checkboxes the user-friendliest way.

* Apply suggestions from code review

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

Co-authored-by: Tobias Skarhed <tobias.skarhed@gmail.com>
Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
(cherry picked from commit 405145fdd3)

* Logs: Fix total bytes process calculation (#24691)

- log stats for Loki are per query
- this change tracks the query stats by refId, preventing the summing of
    the same stats across multiple series of the same response.

(cherry picked from commit 25e1238022)

* Strict null fixes: updates return type of getMessageFromError, fixes QueryOperationAction props (#24690)

* Chore: updates getMessageFromError return type

* Chore: updates the position of incorrectly placed bang operator

* Chore: updates typing on dropdown typeahead directive

* Chore: updates QueryOperationAction props to require title

* Revert "Chore: updates QueryOperationAction props to require title"

(cherry picked from commit ee12f5e742)

* Docs: Panel inspector release highlights (#24686)

* Add Panel inspector highlight

* Update CHANGELOG.md

* Update CHANGELOG.md

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

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
(cherry picked from commit e4cbeb5cb3)

* Explore: fixes loading more logs in logs context view (#24135)

(cherry picked from commit d3a8f6d026)

* Datasource/CloudWatch: Handle invalidation of log groups when switching datasources (#24703)

(cherry picked from commit 1b29d3460e)

* PanelInspect: Make header names reflect the field name in the exported CSV file (#24624)

* fix header names and filename

* use panel title as filename

* add frame argument

* escaping double quotes

* wrapping header name in  quotes

* Fix replace

* Add test for csv double quotes escaping

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

* CloudWatch/Logs: Fix query error when results are sparse (#24702)

(cherry picked from commit bc8c05137b)

* Datasource/CloudWatch: Allows a user to search for log groups that aren't there initially (#24695)

Closes #24554

(cherry picked from commit 0e8638ec92)

* Transform: fixes so we match the field based on the proper name. (#24659)

* fixes so we match the transformer based on name properly.

* changed the signature on the FieldMatcher.

* introduced a names option so you can filter in name specificly.

* changed so the matcher UI uses the new options format.

* moved the exported functions together.

* changing editors a bit.

* made the filter by name work with both regex and name filtering.

* fixed failing tests and make sure we always parse regex the same way.

* removed unused code.

* simplified to make the existing field overrides still working.

* fixed issue reported by hugo.

* added tests for the name matcher.

* added tests for filter by name.

* added more tests.

(cherry picked from commit 96f26cbd5b)

* Fix: changing so we are using date/time values in UTC during test. (#24707)

(cherry picked from commit 98d5633601)

* Docs: generated a 7.0 version of the packages reference docs. (#24708)

* fixes so we match the transformer based on name properly.

* changed the signature on the FieldMatcher.

* introduced a names option so you can filter in name specificly.

* changed so the matcher UI uses the new options format.

* moved the exported functions together.

* changing editors a bit.

* made the filter by name work with both regex and name filtering.

* fixed failing tests and make sure we always parse regex the same way.

* removed unused code.

* simplified to make the existing field overrides still working.

* fixed issue reported by hugo.

* added tests for the name matcher.

* added tests for filter by name.

* added more tests.

* generated new version of the packages docs.

* fixed spelling error.

* regenerated the docs.

(cherry picked from commit 6a0abf895e)

* Query: do not require datasource name and id (#24718)

(cherry picked from commit b73d237bf8)

* Metrictank: Fixed updated schema and dedupe strategy (#24685)

* Metrictank: Fixed updated schema and dedupe strategy

* revert schema change

* fix

(cherry picked from commit 7fcf2615e1)

* Release 7.0.0

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

* CircleCI: Upgrade build pipeline tool

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

Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Leonard Gram <leo@xlson.com>
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
Co-authored-by: Andreas Opferkuch <andreas.opferkuch@gmail.com>
Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Peter Holmberg <peterholmberg@users.noreply.github.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
Co-authored-by: David <david.kaltschmidt@gmail.com>
Co-authored-by: Daniel Lee <dan.limerick@gmail.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Rotem Reiss <reiss.r@gmail.com>
Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
Co-authored-by: Jess <53754871+jessover9000@users.noreply.github.com>
Co-authored-by: Carl Bergquist <carl@grafana.com>
Co-authored-by: Lukas Siatka <lukasz.siatka@grafana.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2020-05-15 14:00:13 +02:00
Torkel Ödegaard
2169fc1a3f Prometheus: Fix for prometheus legend formats for instant time series queries (#24407)
* Prometheus: Fix for prometheus legend formats for instance time series queries

* correct old test
2020-05-08 09:13:40 +02:00
Steven Vachon
ca077f31f5 @grafana/e2e: only skip password reset on local tests (#24411) 2020-05-08 09:13:40 +02:00
Ivana Huckova
2a0138d1d0 Elastic: Fix building of raw document queries resulting in error Unknown BaseAggregationBuilder error (#24403)
* Fix building of elastic document query

* Update comments
2020-05-08 09:13:40 +02:00
Tobias Skarhed
908af75083 Forms: Remove Forms namespace [BREAKING] (#24378)
* Remove index and export

* Fix Forms import
2020-05-08 09:13:40 +02:00
Dominik Prokop
575d898955 PanelEdit: Field Config options Fix numeric option bug (#24397) 2020-05-08 09:13:40 +02:00
Ryan McKinley
10bf03b221 TransformersUI: move transformer ui to grafana app (#24360) 2020-05-08 09:13:40 +02:00
Amal
fbd3b4b969 Docs: Minor correction in documentation (#24259) 2020-05-08 09:13:40 +02:00
Amal
91824e2bfa Docs: Minor correction in documentation (#24306) 2020-05-08 09:13:40 +02:00
Amal
014fc0f3f5 Docs: Grammatical correction (#24248) 2020-05-08 09:13:40 +02:00
Marcus Olsson
2422fd7e26 Restructure plugin docs (#24381) 2020-05-08 09:13:40 +02:00
Arve Knudsen
01b5032fbc Release 7.0.0-beta3 (#24400)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-05-07 18:47:18 +02:00
Marcus Efraimsson
f88ec875a6 Update changelog for v7.0.0-beta2 (#24384)
* Update 7.0 breaking changes

* Update changelog for v7.0.0-beta2

* Apply suggestions from code review

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

* Enterprise update

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2020-05-07 17:51:57 +02:00
Marcus Olsson
eff194e1a0 Docs: Add plugin overview (#24332)
* Docs: Add plugin overview

* Add plugin dev overview

* Fix review comments

* Fix review comments
2020-05-07 17:45:50 +02:00
Dominik Prokop
07fc248626 Field/panel options - do not trigger change events onChange, but onBlur or enter key press (#24388)
* Field options - do not trigger change events onChange, but onBlur or enter key press

* Review changes

* fix ts
2020-05-07 16:07:49 +02:00
Lukas Siatka
bb436e7447 Chore: fixes PermissionListItem strict-null-error (#24389) 2020-05-07 15:06:48 +02:00
Josh Soref
43f33dddb4 Changelog: spelling (#24385) 2020-05-07 14:56:37 +02:00
Lukas Siatka
dbd77e0ab5 Explore: fixes log entries sorting - changes milliseconds to nanoseconds (#24303)
* Chore: adds timeEpochNs to LogRowModel in @grafana/data

* Chore: updates explore utils ResultProcessor getLogsResult and explore utils tests

* Chore: updates core/logs_model to include nanoseconds

* Chore: updates LogRowModel sorting key from milliseconds to nanoseconds and adds timeEpochNs to tests

* Chore: adds timeEpochNs to LogRowModel mock in Explore LiveLogs test

* Chore: fixes logs model timeEpochNs padding

* Chore: updates timeEpochNs padding in tests

* Chore: updates LogRowModel mocks

* Chore: changes isLoki to datasourceId

* Chore: adds hasFieldWithNameAndType method to FieldCache in grafana-data dataframe

* Chore: changes timeEpochNs from number to string as it can overflow Number.MAX_SAFE_INTEGER

* Chore: updates LogRowModel sorting to use milliseconds and nanoseconds

* Chore: removes datasourceId from logSeriesToLogsModel method

* Chore: updates ResultProcessor tests to include nanosecond-level precision log rows sorting
2020-05-07 13:53:24 +02:00
Lukas Siatka
2c9eed360d Chore: fixes few strict-null errors (#23775)
* Chore: fixes strict-null-error in Login > ChangePassword component

* Chore: fixes strict-null-error in Login > LoginForm component

* Chore: fixes strict-null-errors in OrgActionBar component and components that render it

* Chore: fixes strict-null-errors in PageHeader component

* Chore: fixes strict-null-errors in PermissionList components

* Chore: fixes strict-null-errors in loki language provider

* Chore: fixes strict-null-errors in loki datasource

* Chore: fixes strict-null-errors in panel_editor > EditorTabBody component

* Chore: fixes strict-null-errors in flatten utility

* Chore: fixes strict-null-errors in search component

* Chore: fixes strict-null-errors in SharedPreferences component

* Chore: fixes strict-null-errors in MetricSelect component

* Chore: updates type on a param to type on argument

* Chore: updates strict-null errors count from 791 to 757

* Chore: updates PageHeader - adds null checks

* Chore: updates PageHeader - updates null checks

* Chore: updates PageHeader null checks to longer format

* Chore: updates strict-null fixes

* Chore: updates error count limit in ci-frontend-metrics
2020-05-07 13:53:05 +02:00
Andrej Ocenas
bc3d5ee01d CloudWatch/Metrics: Fix error with expression only query (#24362) 2020-05-07 13:22:45 +02:00
Peter Holmberg
01b46d17bd Getting started: Welcome banner (#24286)
* welcome banner

* use login background

* use login background

* minor margins and paddings

* remove button select, remove useful links

* updates

* component type

* readd margin for smaller screens

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2020-05-07 13:02:01 +02:00
David
9208c8efd7 Prometheus: Add metadata for summary metrics (#24201)
* Prometheus: Add metadata for summary metrics

- summary metrics don't have metadata available from the metadata API,
so Grafana can help and just add it
- given a summary metric `foo`, we add metadata info for `foo_sum` and
`foo_count`
- with tests

* Update public/app/plugins/datasource/prometheus/language_utils.ts

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

Co-authored-by: gotjosh <josue@grafana.com>
2020-05-07 12:02:45 +02:00
Marcus Andersson
dc49d81693 Docs: adding documentation for the new time zone functionality (#24080)
* added timezone override information.

* added usp.

* added some code comments.

* added more documentation of the date and time functionality.

* Update docs/sources/reference/timerange.md

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

* some small adjustments.

* fixed comments according to feedback.

* Update packages/grafana-data/src/datetime/parser.ts

* Update packages/grafana-data/src/datetime/parser.ts

* Update packages/grafana-data/src/datetime/parser.ts

* fixed final feedback.

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-05-07 11:59:40 +02:00
Tobias Skarhed
61eba3e275 Docs: New whitelabel settings (#24345)
* Update whitelabel settings

* Update feedback
2020-05-07 11:00:47 +02:00
Ryan McKinley
ddb6464bdf Alerts: set zindex above the panel inspector (#24354)
* set alert zindex

* use tooltip zindex
2020-05-07 10:58:19 +02:00
Torkel Ödegaard
26f15233fb Graph: Improves graph edit options in side pane (#24352)
* Graph: Improves graph edit options in side pane

* Fixed spell issue and order

* Fixed ts issue
2020-05-07 10:54:05 +02:00
Marcus Andersson
5800009951 Docs: added information about improved time zone support to change log. (#24372) 2020-05-07 10:42:43 +02:00
Ryan McKinley
5dca59f720 Field: getFieldTitle as field / series display identity and use it in all field name matchers & field / series name displays (#24024)
* common title handling

* show labels

* update comment

* Update changelog for v7.0.0-beta1 (#24007)

Co-Authored-By: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-Authored-By: Andrej Ocenas <mr.ocenas@gmail.com>
Co-Authored-By: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>

* verify-repo-update: Fix Dockerfile.deb (#24030)

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

* CircleCI: Upgrade build pipeline tool (#24021)

* CircleCI: Upgrade build pipeline tool

* Devenv: ignore enterprise (#24037)

* Add header icon to Add data source page (#24033)

* latest.json: Update testing version (#24038)

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

* Fix login page redirected from password reset (#24032)

* Storybook: Rewrite stories to CSF (#23989)

* ColorPicker to CSF format

* Convert stories to CSF

* Do not export ClipboardButton

* Update ConfirmButton

* Remove unused imports

* Fix feedback

* changelog enterprise 7.0.0-beta1 (#24039)

* CircleCI: Bump grafana/build-container revision (#24043)

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

* Changelog: Updates changelog with more feature details (#24040)

* Changelog: Updates changelog with more feature details

* spell fix

* spell fix

* Updates

* Readme update

* Updates

* Select: fixes so component loses focus on selecting value or pressing outside of input. (#24008)

* changed the value container to a class component to get it to work with focus (maybe something with context?).

* added e2e tests to verify that the select focus is working as it should.

* fixed according to feedback.

* updated snapshot.

* Devenv: add remote renderer to grafana (#24050)

* NewPanelEditor: minor UI twekas (#24042)

* Forward ref for tabs, use html props

* Inspect:  add inspect label to drawer title

* Add tooltips to sidebar pane tabs, copy changes

* Remove unused import

* Place tooltips over tabs

* Inspector: dont show transformations select if there is only one data frame

* Review

* Changelog: Add a breaking change (#24051)

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

* CircleCI: Unpin grafana/docs-base (#24054)

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

* Search: close overlay on Esc press (#24003)

* Search: Close on Esc

* Search: Increase bottom padding for the last item in section

* Search: Move closing search to keybindingsSrv

* Search: Fix folder view

* Search: Do not move folders if already in folder

* Docs: Adds deprecation notice to changelog and docs for scripted dashboards (#24060)

* Update CHANGELOG.md (#24047)

Fix typo

Co-authored-by: Daniel Lee <dan.limerick@gmail.com>

* Documentation: Alternative Team Sync Wording (#23960)

* Alternative wording for team sync docs

Signed-off-by: Joe Elliott <number101010@gmail.com>

* Update docs/sources/auth/team-sync.md

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

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

* Fix misspell issues (#23905)

* Fix misspell issues

See,
$ golangci-lint run --timeout 10m --disable-all -E misspell ./...

Signed-off-by: Mario Trangoni <mjtrangoni@gmail.com>

* Fix codespell issues

See,
$ codespell -S './.git*' -L 'uint,thru,pres,unknwon,serie,referer,uptodate,durationm'

Signed-off-by: Mario Trangoni <mjtrangoni@gmail.com>

* ci please?

* non-empty commit - ci?

* Trigger build

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

* fix compile error

* better series display

* better display

* now with prometheus and loki

* a few more tests

* Improvements and tests

* thinking

* More advanced and smart default title generation

* Another fix

* Progress but dam this will be hard

* Reverting the time series Value field name change

* revert revert going in circles

* add a field state object

* Use state title when converting back to legacy format

* Improved the join (series to columsn) transformer

* Got tests running again

* Rewrite of seriesToColums that simplifies and fixing tests

* Fixed the tricky problem of multiple time field when not used in join

* Prometheus: Restoring prometheus formatting

* Graphite: Disable Grafana's series naming

* fixed imports

* Fixed tests and made rename transform change title instead

* Fixing more tests

* fix more tests

* fixed import issue

* Fixed more circular dependencies

* Renamed to getFieldTitle

* More rename

* Review feedback

* Fix for showing field title in calculate field transformer

* fieldOverride: Make it clear that state title after applying defaults & overrides

* Fixed ts issue

* Update packages/grafana-ui/src/components/TransformersUI/OrganizeFieldsTransformerEditor.tsx

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: Leonard Gram <leo@xlson.com>
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Richard Hartmann <RichiH@users.noreply.github.com>
Co-authored-by: Daniel Lee <dan.limerick@gmail.com>
Co-authored-by: Joe Elliott <joe.elliott@grafana.com>
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
Co-authored-by: Mario Trangoni <mario@mariotrangoni.de>
Co-authored-by: bergquist <carl.bergquist@gmail.com>
Co-authored-by: Kyle Brandt <kyle@grafana.com>
2020-05-07 10:42:03 +02:00
Steven Vachon
184941eab4 @grafana/e2e: added login credential env vars (#24359)
... for remote instances
2020-05-06 18:44:14 -04:00
Ryan McKinley
ff7db709ab @grafana/ui: avoid imports to @grafana/data/src/... (#24358) 2020-05-06 14:09:09 -07:00
Josh Soref
91a83b71c3 Docs: Fix table of contents link (#24339) 2020-05-06 12:50:55 -07:00
Ryan McKinley
d891cc5949 TemplateSrv: expose the replace function (#24353) 2020-05-06 11:15:31 -07:00
Lukas Siatka
fa260fec87 Chore: fixes Loki annotation tags deduplication (#24275) 2020-05-06 19:05:00 +02:00
Diana Payton
c0a1319a25 Docs: Create thresholds.md (#24265)
* Create thresholds.md

* Update docs/sources/panels/thresholds.md

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

* Update thresholds.md

* Update thresholds.md

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2020-05-06 09:45:55 -07:00
Amal
067e169b93 Docs: Correcting one of the usage in documentation (#24197)
* Correcting one of the usage in documentation

* Correcting usage of a word

* Correcting usage of a word in docs

* Correcting same word in 2 more occurrences

* Correcting a word in docs

* Correcting a word in docs

* Update docs/sources/variables/advanced-variable-format-options.md

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

* Incorporated reviewer's suggestion in other occurrences

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-05-06 09:43:52 -07:00
David
314d442dc7 Loki: Fix query stats display in Explore (#24348)
- the stats label changed in the original PR, so the custom key did no
longer work, this change fixes it and the total bytes processed show up
in the explore logs meta data
2020-05-06 18:06:35 +02:00
Andrej Ocenas
bfaec17c51 CloudWatch logs: Fix default region interpolation and reset log groups on region change (#24346) 2020-05-06 17:54:24 +02:00
Ryan McKinley
1896828bd0 QueryEditor: preserve the datasource attribute if when chaning queries (#24350) 2020-05-06 08:47:11 -07:00
Ryan McKinley
d747fcf9c3 toDataQueryResponse: check arrow parse errors (#24349) 2020-05-06 08:46:33 -07:00
Torkel Ödegaard
75ce947267 OverrideEditor: Use field config default value when adding a new override (#24347) 2020-05-06 17:43:34 +02:00
Dan Cech
66b7398fb6 expose metrics for the number of configured datasources (#24267) 2020-05-06 11:36:18 -04:00
kay delaney
3451d09272 Datasource/CloudWatch: Adds more examples to CloudWatch Logs cheatsheet (#24288) 2020-05-06 16:19:46 +01:00
Torkel Ödegaard
33123c7e7e PanelEdit: Fixed re-using query result after leaving panel edit (#24340) 2020-05-06 16:06:21 +02:00
Marcus Andersson
8de6ef473f Graph: Fixed issue with x-axis labels showing "MM/DD" after viewing dashboard with pie chart . 2020-05-06 16:05:00 +02:00
Tobias Skarhed
6a4bb556a5 Storybook: Fix broken StatsPicker story (#24326)
* Fix non-story

* Update packages/grafana-ui/src/components/Badge/Badge.story.tsx
2020-05-06 15:43:23 +02:00
Dominik Prokop
368594e89e Field options: show field name when title option config is empty (#24335) 2020-05-06 14:52:17 +02:00
Marcus Efraimsson
7219d9bd7f Publish data frames documentation (#24328) 2020-05-06 14:14:26 +02:00
kay delaney
dbac77d239 Datasource/CloudWatch: Fix CloudWatch logs dataframe transformation (#24327)
* Datasource/CloudWatch: Fix CloudWatch logs dataframe transformation
2020-05-06 12:52:21 +01:00
Alex Khomenko
3a2c844a8a Search: folder view improvements (#24324)
* Search: Do not set items if no results returned

* Search: Simplify canSave logic

* Search: Add initialLoading state

* Search: Add itemsFetching state to folder

* Search: Fix props and tests

* Search: Fix strict null check
2020-05-06 12:53:28 +03:00
Emil Tullstedt
078d08d036 Search: Support multiple order filters (#24230) 2020-05-06 11:42:52 +02:00
kay delaney
9b7bbc3d1c Field/Overrides: Allow title override for 'Time' column (#24295)
Closes #24245
2020-05-06 11:36:33 +02:00
Lukas Siatka
36896f5077 Explore/Loki: Removes old query syntax support for regex filter (#24281)
* Chore: removed regex from LokiQuery

* Chore: removes parseQuery from Loki datasource

* Chore: removes regex param from format query in lokiStreamsToDataframes in Loki result transformer

* Chore: updates formatQuery and removes parseQuery from Loki query utils

* Chore: removes highlighter test with unsupported syntax from Loki query utils
2020-05-06 11:21:25 +02:00
Andrej Ocenas
2b028e38f0 Devenv: Fix trace id pattern (#24298) 2020-05-06 10:39:46 +02:00
Alexander Tymchuk
702e007de4 Migration: snapshot list (#24266)
* Migration: snapshots list

* chore: converted SnapshotListPage to functional component

* fix: dependencies for doRemoveSnapshot
2020-05-06 10:11:25 +02:00
Marcus Andersson
67b4c84399 Panel: will fix so the correct links is generated to the panel view. (#24301)
* fixed a couple of bad links.

* adjusted so we use the correct type of links.

* cleaning up links regarding edit/viewing panels.

* fixing edit link.

* reverted back to panelId for the image urls.

* reverted back.

* remvoed the editPanel: null since it is obsolete.
2020-05-06 09:48:30 +02:00
Emil Tullstedt
2284f46edb Reporting: Update docs (#23993) 2020-05-06 09:28:33 +02:00
Daniel Lee
5b32d422ad import: enable creating new folders in import (#24317) 2020-05-06 08:36:22 +02:00
Arve Knudsen
980b930641 Inspect: Fix typo (#24311)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-05-06 07:40:52 +02:00
Ryan McKinley
b34a5b5648 Toolkit: use grabpl for manifest (#24319) 2020-05-05 19:47:58 -07:00
Diana Payton
376749ee32 Docs: Added Intro to histograms and heatmaps (#24174)
* Moved files

Moved files from guides folder into getting-started folder, added aliases, added Intro to histograms topic

* Updated links

* Update intro-histograms.md

Co-authored-by: Daniel Lee <dan.limerick@gmail.com>
2020-05-05 15:23:30 -07:00
Amal
f597a686fa Minor correction in documentation (#24263) 2020-05-05 23:56:04 +02:00
Amal
2918d79d43 Minor correction in documentation (#24249) 2020-05-05 23:53:34 +02:00
Amal
a76b6537c3 Minor change for readability (#24305) 2020-05-05 23:51:20 +02:00
Diana Payton
41bdd5d3bb Docs: Variable edits (#24170)
* Update templates-and-variables.md

* Update advanced-variable-format-options.md
2020-05-05 23:37:34 +02:00
Tobias Skarhed
1947683ad0 SaveDashboard: Fix for folder picker menu not being visible outside modal (#24296)
* Change z-index

* Add position and width to menuPortal
2020-05-05 22:21:34 +02:00
Stephanie Closson
21bd9dacd6 Toolkit: Docker images/Add grabpl tool for deploys (#24309)
* Add grabpl tool for deploys

* Rest of the files
2020-05-05 13:57:08 -06:00
Amal
9b59ee58eb Docs: Inserted a comma for better readability (#24198) 2020-05-05 10:55:06 -07:00
Amal
13232533ad Docs: Minor typo correction (#24193) 2020-05-05 10:53:57 -07:00
Amal
8f4c795a99 Docs: Placed a comma, for readability (#24187) 2020-05-05 10:52:54 -07:00
Arve Knudsen
a87381ece6 CircleCI: Enable plug-in signing (#24240)
* CircleCI: Include signed manifest when building plug-ins
2020-05-05 19:38:09 +02:00
Andreas Opferkuch
de0e1b2c58 Prometheus: Add off switch for metric/label name lookup (#24034)
* Prometheus: Add off switch for metric/label name lookup

This will help users with amounts of metric name
data that is too much for a browser to handle.

Autocomplete will be disabled and metrics chooser hidden,
since obviously both rely on this data.

Fixes #22702

* Use onUpdateDatasourceJsonDataOptionChecked

... from `@grafana/data`. Refactor naming to faciliate its
use and stick with prop names as passed down from
`ConfigEditor`.

PLUS:
- Rephrase switch label, add a tooltip and reduce the
size of the to what "Custom query parameters" originally
was.
- Change `languageProvider` type in `PromQueryField`.

* Put language provider back in

Functions and history still work, even when metrics
lookup gets disabled.
Also: Rewording of setting.

* Display a message when lookup got disabled manually

* Call property for setting disableMetricsLookup

* Show disabled metrics chooser instead of warning
2020-05-05 18:02:55 +02:00
Tobias Skarhed
42ba13b346 Input: Set autofill color (#24290) 2020-05-05 17:59:33 +02:00
Andrej Ocenas
d3b19adbed Docs: Update style guide with explicit return types (#23918) 2020-05-05 17:36:28 +02:00
Andreas Opferkuch
dfe2ab9502 Prometheus: Show "Loading metrics..." when switching sources (#24292)
syntaxLoaded needed resetting at the beginning of refreshing
metrics.

Fixes #24291
2020-05-05 17:34:49 +02:00
Marcus Olsson
7dee3e27ac Update data frame docs (#23983) 2020-05-05 17:12:25 +02:00
Andrej Ocenas
66b3e08a7f Links: Filter data sources in derived link to tracing only (#23948) 2020-05-05 17:08:31 +02:00
Diana Payton
a8ba503b35 Update documentation-style-guide.md (#24020)
* Update documentation-style-guide.md

Added guidance on jargon

* Update documentation-style-guide.md
2020-05-05 07:50:18 -07:00
Torkel Ödegaard
912c963455 QueryOptions: Fixed min interval placeholder now is real min interval from data source settings (#24227) 2020-05-05 15:48:31 +02:00
Torkel Ödegaard
cdc5203d8a Dashboard: Variable without a current value in json model causes crash on load (#24261)
* Variables: Fixes variable initilization and default values

* fixed failing tests.

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2020-05-05 15:47:48 +02:00
Tobias Skarhed
a2363f4d0c Storybook: Convert final CSF stories (#24283)
* Convert BigValue and GraphLegend

* Convert last stories
2020-05-05 15:42:36 +02:00
Hugo Häggmark
428b4ae565 Stat/Gauge/BarGauge: shows default cursor when missing links (#24284)
* Stat/Gauge/BarGauge: shows default cursor when missing links

* Stat/Gauge/BarGauge: shows default cursor when missing links

* Refactor: changes after PR comments
2020-05-05 15:26:42 +02:00
Andrej Ocenas
9b1c0455c4 Jaeger: Fix root span label in cascader (#24164) 2020-05-05 14:21:23 +02:00
kay delaney
79a084392f Datasource/Loki: Fixes issue where cached log values weren't merged when labels were refreshed (#24101)
* Datasource/Loki: Fixes issue where cached log values weren't merged when labels were refreshed

Closes #24087
2020-05-05 13:19:52 +01:00
Hugo Häggmark
ed73d06846 Variables: migrates old tags format for consistency (#24276)
* Variables: migrates old tags format for consistency

* Update DashboardGrid.test.tsx.snap

* Update DashboardPage.test.tsx.snap

* Update DashboardGrid.test.tsx.snap
2020-05-05 13:27:05 +02:00
Arve Knudsen
1ff0d9f612 CircleCI: Temporarily ignore publishing of master Docker images (#24280)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-05-05 13:14:42 +02:00
Andrej Ocenas
9962f6961e Tracing: Remove collapsing of header (#24153) 2020-05-05 12:30:16 +02:00
Marcus Efraimsson
224aa4dde8 Backend plugins: Fix incorrect JSON Unmarshal (#24243) 2020-05-05 11:54:50 +02:00
Marcus Efraimsson
898df2b778 Chore: Remove git add for lint-staged to resolve warning (#24279) 2020-05-05 11:54:15 +02:00
Arve Knudsen
b4570de92d Docker: Remove another Alpine edge channel usage (#24136)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-05-05 11:16:03 +02:00
kay delaney
65c1a16786 Explore: No longer changes run button red with "cancel" text when live tailing (#24106)
Closes #24079
2020-05-05 09:40:47 +01:00
Dominik Prokop
97c0285543 Enable svg bundle with rollup (#24258) 2020-05-05 10:39:49 +02:00
Marcus Efraimsson
890e1d8f94 Backend plugins: Send query type to backend plugins (#24120)
Use v0.60.0 of sdk.
2020-05-05 10:32:34 +02:00
Andrej Ocenas
d66d9aa62a Devenv: Add loki self logging to Jaeger block (#23646) 2020-05-05 09:51:21 +02:00
Peter Holmberg
341822450c Migration: Dashboard links (#23553)
* first things

* extract dropdown to component

* sanitize links and titles

* fix import

* remove console log and move typings

* SAML Role and Team sync (open source part) (#23391)

* SAML: add default params for role and team sync

* SAML: add org_mapping option

* SAML: support allowed_organizations option

* Chore: expose RedirectWithError from HTTPServer

* Chore: return RedirectResponse (fix superfluous response.writeheader message)

* HTTPServer: expose ValidateRedirectTo() and CookieOptionsFromCfg()

* Config: move SAML section to the enterprise

* Forms migration: Change password (#23623)

* Migrate ChangePassword

* Add validation

* FieldOverrides: UI updates (#23630)

* UI improvements for field overrides

* Update tests

* Fix missing key

* Fix e2e

* docs/sources/features/datasources/graphite.md: Fix typos

* Inspect: Transformers (#23598)

* WIP: Inspect transformers

* Updated

* Transformations working in inspect drawer and series to columns working as normal transformation

* Minor name change

* Updated

* Updated

* Fix: fixes crash with dataFrameIndex out of bounds

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

* Search: migrate manage dashboards (#23530)

* Search: add search wrapper

* Search: add DashboardSearch.tsx

* Search: enable search

* Search: update types

* Search: useReducer for saving search results

* Search: use default query

* Search: add toggle custom action

* Search: add onQueryChange

* Search: debounce search

* Search: pas dispatch as a prop

* Search: add tag filter

* Search: Fix types

* Search: revert changes

* Search: close overlay on esc

* Search: enable tag filtering

* Search: clear query

* Search: add autofocus to search field

* Search: Rename close to closeSearch

* Search: Add no results message

* Search: Add loading state

* Search: Remove Select from Forms namespace

* Remove Add selectedIndex

* Remove Add getFlattenedSections

* Remove Enable selecting items

* Search: add hasId

* Search: preselect first item

* Search: Add utils tests

* Search: Fix moving selection down

* Search: Add findSelected

* Search: Add type to section

* Search: Handle Enter key press on item highlight

* Search: Move reducer et al. to separate files

* Search: Remove redundant render check

* Search: Close overlay on Esc and ArrowLeft press

* Search: Add close button

* Search: Document utils

* Search: use Icon for remove icon

* Search: Add DashboardSearch.test.tsx

* Search: Move test data to a separate file

* Search: Finalise DashboardSearch.test.tsx

* Add search reducer tests

* Search: Add search results loading indicator

* Search: Remove inline function

* Search: Do not mutate item

* Search: Tweak utils

* Search: Do not clear query on tag clear

* Search: Fix folder:current search

* Search: Fix results scroll

* Search: Update tests

* Search: Close overlay on cog icon click

* Add mobile styles for close button

* Search: Use CustomScrollbar

* Search: Memoize TagList.tsx

* Search: Fix type errors

* Search: More strictNullChecks fixes

* Search: Add ManageDashboards.tsx

* Search: Add mergeReducers

* Search: Use mergeReducers

* Search: remove default state from reducers

* Search: Fix recent and starred icons

* Search: Enable search

* Search: Add markup

* Search: Separate manageDashboardsReducer

* Search: Add DashboardActions.tsx

* Use new Select for TagFilter

* Search: Use TagFilter for search filters

* Search: Use TagList

* Search: Add toggleSection

* Search: Add more actions

* Search add manageDashboards.test.ts

* Search: Add getCheckedUids

* Search: Add modify and toggle checked actions

* Search: Update tests

* Search: Update component template

* Search: Enable section toggle

* Search: Derive canMove and canDelete

* Search: Handle delete items

* Search: Fix tests

* Search: Enable toggle items

* Search: Add confirm modal subtitle

* Search: Use theme vars

* Search: Add getCheckedDashboardsUids

* Search: Add MoveToFolderModal

* Search: Enable moving dashboards

* Search: Fix strict null checks errors

* Search: Fix strict null checks errors[2]

* Search: Enable filters

* Search: Add useSearchQuery.ts

* Search: Toggle items when toggling all

* Search: Update useSearchQuery to accept custom params

* Search: Add useSearchQuery to dashboard search

* Search: use SearchField for manage dashboards

* Search: Remove event param from query change

* Search: Add base search hooks

* Search: refactor useSearch to accept reducer

* Search: use useDashboardSearch hook

* Search: Fix useSearchQuery params

* Search: Enable folder search

* Search: Update tests

* Search: Pass the props to manage-dashboards

* Search: Add search filters margin

* Search: Remove search-field-wrapper class and hide logic for it

* Search: Adjust SearchField styles

* Search: Move search-results-container inside SearchResults

* Search: Fix type errors

* Search: Add EmptyListCTA

* Search: Update move message

* Search: Cleanup

* Search: Add todo

* Search: Fix action type

* Search: Use React wrapper vs FolderDashboardsCtrl and DashboardListCtrl

* Search: DashboardList => DashboardListPage

* Search: Remove ManageDashboards from angular_wrappers

* Minor style tweaks

* Search: Use LinkButton

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

* PanelEditorTabs: adds counter to Query, Alert and Transform (#23645)

* Transformers: changes reduce transformer  (#23611)

* Transformers: changes reduce transformer

* Refactor: fixes lenght of frame

* Minor tweaks and polish

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

* Docs: Grafana internal metrics update (#23448)

* Update metrics.md

* Updated metrics.md and configuration.md

* Added links to data sources

* Update metrics.md

* Update docs/sources/administration/metrics.md

Co-Authored-By: Carl Bergquist <carl@grafana.com>

Co-authored-by: Carl Bergquist <carl@grafana.com>
Co-authored-by: bergquist <carl.bergquist@gmail.com>

* Remove temporary NewPanelEditorContext (#23652)

* Toolkit: Update slim debian image for e2e testing (#23629)

* Because alpine uses musl instead of libc, the e2e/cypress was not compatible
So:
- Created new VM based on debian-slim
- Could also be used as a build VM

Fixes:
- ginstall issue with merge somewhere.
- Trimmed down the alpine VM since we don't need the extra libraries for cypress

* Fix: Don't need cp on debian
Fix: Don't use /bin/sh on debian. Only for alpine. Use /bin/bash on debian
Fix: Missing dependencies to e2e tests

* Tweaks and comments for ci-improvements, stability, and readibility (#23658)

* Tweaks and comments for ci-improvements, stability, and readibility
- Made naming more obvious and intuitive
- CI supports grafana e2e plus more granular design
  (side effect that it takes slightly longer, but negligable)
- disable strict e2e errors through environment variable
- Added tools for linting and for building plugin-ci

* feedback from stevev - remove version. Causes problems

* Overrides: Show option group counters for options that represent collections (#23655)

* NewPanelEdit: Minor edit mode fixes (#23666)

* Minor edit mode fixes

* Updated

* NewPanelEditor: Save dashboard from edit mode now works, and other fixes (#23668)

* QueryEditors: include error when no data is returned (#23632)

* toDataFrame: detect field properties using in rather than hasOwnProperty (#23673)

* Bundled Plugins: fix build issues with DirectInput (#23640)

* pass query error

* and the root

* not optional

* building bundled plugin

* missing file

* remove other branch

* fix prettier

* Docs: Update README.md (#23660)

* Docs: Update documentation-style-guide.md (#23659)

Added Divio link

* Dashboard: Add fields in DashboardMeta (#23647)

* Fix: grafana/ui imports (#23680)

* Prometheus: Fixed error in PromLink

* Prometheus: Fixed error in PromLink, fixed ts issue

* FieldOverride: Support data links via field overrides (#23590)

* Move xss and sanitize packages to grafana-data

* Move text, url and location utils to grafana-data

* Move grafana config types to grafana-data

* Move field display value proxy to grafana-data

* Fix

* Move data links built in vars to grafana-data

* Attach links supplier to when applying field overrides

* Prep tests

* Use links suppliers attached via field overrides

* locationUtil dependencies type

* Move sanitize-url declaration to grafana-data

* Revert "Move sanitize-url declaration to grafana-data"

This reverts commit 11db9f5e55.

* Fix typo

* fix ts vol1

* Remove import from runtime in data.... Make TS happy at the same time ;)

* Lovely TS, please shut up

* Lovely TS, please shut up vol2

* fix tests

* Fixes

* minor refactor

* Attach get links to FieldDisplayValue for seamless usage

* Update packages/grafana-data/src/field/fieldOverrides.ts

* Make storybook build

* NewPanelEdit: Improvements to angular panels and other fixes (#23678)

* Removed old editor components

* Angular panel improvements

* Progress

* Updated tests

* Simple persistence for angular panel option state

* Improving graph edit experiance

* Improving series overrides

* updated e2e test

* Regstry: refactoring

* Table: Improvements to column resizing, style and alignment  (#23663)

* Table: Fixed to column alignment

* testing table state reducer

* Styles starting to work

* Persisting column resize now works

* Trying to fix Table storybook stories

* Minor updates

* fixed ts issue

* Table: Support duplicate field names, and use data frame directly instead of copying data and other improvements (#23681)

* Poc at use data frame directly

* working ok

* Table improvements

* Alertmanager: Basic auth should not be required (#23691)

* Storybook: Small fixes (#23692)

* Fix getLogLevelFromKey when non-string supplied (#23654)

* Fix failing master (#23702)

* Store: Error handling for setObject  (#23650)

* Error handling for setObject to store

* Update public/app/core/store.ts

Co-Authored-By: kay delaney <45561153+kaydelaney@users.noreply.github.com>

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

Co-Authored-By: kay delaney <45561153+kaydelaney@users.noreply.github.com>

* Move setState outside of try-catch block

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

* Drawer: align component style with PanelInspector (#23694)

* Drawer: add subtitle, expandable button and refactor style

* Drawer: update header style and z-index

* Drawer: refactor Drawer component and PanelInspector

* PanelInspector: add expandable

* Drawer: update stories with new props

* Inspector: rename InspectHeader -> InspectSubtitle

* Inspector: fix tabs spacing

* Drawer: remove z-index

* Update public/app/features/dashboard/components/Inspector/InspectSubtitle.tsx

Co-Authored-By: Dominik Prokop <dominik.prokop@grafana.com>

* Drawer: apply PR feedbacks

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

* Provisioning: Allows specifying uid for datasource and use that in derived fields (#23585)

* Add uid to datasource

* Fix uid passing when provisioning

* Better error handling and Uid column type change

* Fix test and strict null error counts

* Add backend tests

* Add tests

* Fix strict null checks

* Update test

* Improve tests

* Update pkg/services/sqlstore/datasource.go

Co-Authored-By: Arve Knudsen <arve.knudsen@gmail.com>

* Variable rename

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

* Refactor search (#23550)

Co-Authored-By: Arve Knudsen <arve.knudsen@grafana.com>
Co-Authored-By: Leonard Gram <leonard.gram@grafana.com>

* Search: Toggle Search based on search query (#23648)

* Search: Toggle Search based on search query

* Search: Fix types and closed search param

* Search: Remove appEvents from SearchWrapper

* Search: Reset folder on close

Co-Authored-By: Alexander Zobnin <alexanderzobnin@gmail.com>

* Search: Disable reloadOnSearch for manage dashboards urls

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

* Search: Fix title search null pointer (#23705)

* Add ServerlessDatabaseCapacity to AWS/RDS metrics (#23635)

* Dashboard: Add failsafe for slug generation (#23709)

* Transformers: calculate a new field based on the row values (#23675)

* TableCell: show JSON rather than [object Object] (#23683)

* NewPanelEditor: Move visualisation picker to the sidebar pane (#23696)

* Move visualisation picker to the sidebar pane

* Remove vis tab from bottom pane

* Visualisation to panel type title

* docs/sources/features/dashboard/dashboards.md: Improve language

* docs/sources/installation/configuration.md: Improve language

* docs/sources/administration/metrics.md: Improve language

* CSS: Various css bug fixes (Safari fix for graph panels and more)  (#23704)

* CSS: Various css bug fixes

* Updated

* InputDatasource: Fixed prettier errors (#23679)

* InputDatasource: Fixed prettier errors

* Fixed prettier config in toolkit to make it consistent with grafana core prettier config

* Docs: run the api-extractor on master to update docs (#23726)

* regenerated packages docs.

* fixed spelling issues.

* fixed spelling issues.

* Input: Width prop (#23615)

* Add width property

* Remove unused import

* Spelling mistake

* Add width to interface

* Make width optional

* Remove size

* Update snapshot

* Remove size from places

* Add size prop for button

* Update width

* Update snapshots

* Docs: Datasource uid docs (#23700)

* @grafana/ui: Fix login icon (#23732)

* Fix sign in button

* Fix modal button in button

* Dashboard: Update tests for testing fallback support (#23730)

* Form migrations: Final components to LegacyForms (#23707)

* FormField to LegacyForms

* FormLabel to InlineFormLabel

* Move SecretFormField to LeagcyForms

* NewPanelEditor: UI update of add panel widget (#23715)

* Small update proposal to add panel widget

* Fix smoketest

* Minor tweaks

* update snaps god damn it

* Tracing: Add some error handling to JaegerQueryField (#23599)

* docs/sources/plugins/developing/datasources.md: Improve language

* Search: raise service init prio (#23740)

* Remove file (#23741)

* Backend plugins: Renderer v2 plugin (#23625)

grafana-plugin-model is legacy and is replaced by new backend 
plugins SDK and architecture. Renderer is not part of SDK and 
we want to keep it that way for now since it's highly unlikely there 
will be more than one kind of renderer plugin.
So this PR adds support for renderer plugin v2.
Also adds support sending a Device Scale Factor parameter to the 
plugin v2 remote rendering service and by that replaces #22474.
Adds support sending a Headers parameter to the plugin v2 and
remote rendering service which for now only include 
Accect-Language header (the user locale in browser when using 
Grafana), ref grafana/grafana-image-renderer#45.
Fixes health check json details response.
Adds image renderer plugin configuration settings in defaults.ini 
and sample.ini.

Co-Authored-By: Arve Knudsen <arve.knudsen@gmail.com>

* UI: Adds option to limit number of visible selected options for Select component (#23722)

* UI: Adds option to limit number of visible selected options to Select component

* Prettier: Add prettier config that imports prettier from toolkit (#23729)

* TextArea: Fixed default height (#23743)

* Image Rendering: Make it work using serve_from_sub_path configured (#23706)

Make rendering work when using serve_from_sub_path and not have rendering.renderer_url configured.

Fixes #21925

* docs/sources/tutorials/ha_setup.md: Fix typo

* Docs: Grammatical correction in documentation (#23752)

* Tracing: Change color palette. (#23656)

* Docs: Minor typo fix in documentation (#23745)

* TablePanel: avoid toArray for memoizedData  (#23744)

* DevEnv: Revert to clean stale assets (#23742)

* Dashboard import: Bug fixes (#23591)

* clear dashboard on unmount

* fix menu z-index, folderpicker width

* fix issue with saving dashboard in another folder

* use foldermodel instead of selectablevalue

* using z-index from theme

* updated names

* update snapshot

* remove size from folderpicker

* use connectWithCleanup

* update snapshot

* docs/sources/features/explore/index.md: Fix language

* Docker: Fix root docker file build (#23772)

Fixes #23754

* Search: Load folder page (#23768)

* Drawer: update z-index to show tooltips (#23770)

* DataSourceProxy: Handle URL parsing error (#23731)

* pluginproxy: Handle URL parsing error
* pkg/api: Validate data source URLs
* pkg/api: Return 400 for URL validation error

* Dockerfile: Copy in the tools directory, to fix build (#23773)

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

* E2E: Fixed e2e test issue due to change in testdata scenario change logic (#23774)

* VizRepeater: fixed issue with resolved auto orientation passed back from VizRepeater (#23767)

* VizRepeater: fixed issue with resolved auto orientation passed back from VizRepeater

* Updated variable name

* Transformers: adds labels as columns transformer (#23703)

* Transformers: adds labels as columns transformer

* Refactor: adds support for same timestamps with different labels

* Refactor: adds basic transform ui

* Refactor: adds sorted result

* Refactor: renames transformer

* Transformations: Improve UI and add some love to filter by name (#23751)

* Change filterByName options to accept arrays instead of strings

* Improve transformations UI

* Minor updates

* Minor UI changes

* Review

* Datasource/Loki: Remove code dealing with legacy Loki endpoints (#23437)

* Docs: Move Postgres version warning and remove details (#23782)

* docs/sources/installation/upgrading.md: Fix language

* UI: add InfoBox component (#23701)

* UI: inherit LinkButton props from ButtonHTMLAttributes

* Chore: fix implicit any

* UI: add InfoBox component

* UI: fix InfoBox border color

* Chore: use new style for defining stories

* Chore: InfoBox refactor

* Chore: inherit className attribute from HTMLDivElement

* Select: Fixed z-index issue (#23786)

* Forms migration: LayoutSelector  (#23790)

* Buttons: Center text in buttons (#23789)

* Buttons: Center buttons

* Updated size of transformation button

* removed snapshot

* Transformations: Make sidebar subscribe to panel's query runner (#23785)

* Make panel edit sidebar options use lates data from panel query runner

* Update select's z-index

* Review

* Logs: Add href to internal link (#23757)

* PanelEditor: stores option group collapse state (#23781)

* PanelEditor: stores option group collapse state

* Refactor: adds props to OptionsGroup instead

* Docs: Correcting a reference link in documentation (#23747)

* Correcting a reference link in documentation

* Changed link as relative path, as asked by reviewer

* Search add sorting picker (#23746)

* Search: Extend search_srv with getSortOptions

* Search: Enable sorting

* Search: Fullwidth search

* Search: Add SortPicker

* Search: Add useSearchLayout

* Search: Update sort query

* Search: Refactor items rendering

* Search: Add sort to manage dashboards

* Search: Add sort icon

* Search: Mock getSortOptions

* Search: Fix Select sizes

* Search: Move SortPicker to Select

* Grafana-UI: Add ActionRow.tsx

* Grafana-UI: Use ActionRow in dashboard search

* Grafana-UI: Update ActionRow styles

* Search: Update tests

* Search: enable clearing TagFilter

* Search: Move getSortOptions outside of component

* Search: Fix import

* Search: Limit container width

* Search: Replace SearchField's clear text with icon

* Search: Fix section items query #23792

* Search: Add icons for layout switch

* Search: Remove layout switch for folder page

* Search: Fix strict null errors (#23804)

* Transformations: debug mode tweaks (#23802)

* Transformations: UI tweaks, filter by name regex validation (#23800)

* Add validation to filter by name regex, minor layout tweaks

* Use cards uin for non configured transformations

* UI Docs: ColorPicker component group (#23366)

* Create .mdx for ColorPicker component group

Describes the building blocks of the component and how they work together.

* Rename ColorPicker.mdx to ColorPicker.story.mdx

* Update packages/grafana-ui/src/components/ColorPicker/ColorPicker.story.mdx

Clean up tags

Co-Authored-By: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>

* Update packages/grafana-ui/src/components/ColorPicker/ColorPicker.story.mdx

Co-Authored-By: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>

Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>

* Explore: Fix split functionality (#23801)

* Fix splitting functionality, remove passing of parameters from button

* Format comment

* Security: Fix annotation popup XSS vulnerability (#23813)

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

* Typeahead: Fix z-index (#23809)

* Plugins: show signing status on datasources and plugins (#23542)

* show signing status

* show signing status

* Progress on signed badge style

* Progress on signing status look and updated card background

* Updates

* Transforms card tweak

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

* CircleCI: Upgrade shellcheck to v0.7.1 and pin version (#23815)

* CircleCI: Upgrade shellcheck to v0.7.1 and pin version

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

* Table: Add default cell link style and tooltip to data links in table (#23818)

* TablePanel: Fix XSS issue in header column rename (#23816)

* prevent xss

* added escaping on tooltip.

* Rebase done

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>

* Rendering: makes sure IsAvailable can be used during init of other services (#23817)

* Rendering: makes sure service knows if it is configured after Init()

* Rendering: refactor

* Transformations: Organise fields transformer fixes & detailing (#23812)

* Transformers: Organise fields transformer detailing

* Table header cell - fix text overflowing columns

* Backend: Remove Go vendor folder (#23796)

* CHANGELOG.md: Update (#23831)

* CHANGELOG.md: Update
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>

* Update latest.json (#23833)

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

* Backend Plugins: (breaking change) Add PluginContext (#23788)

* breaking change for newer backend plugins
* use exported protobuf converters and sdk types to reduce duplicate code
* uses grafana-plugin-sdk-go@v0.54.0

* NewPanelEditor: don't break when plugin is skipDataQuery (#23836)

* Tracing: Remove feature flag (#23834)

* Logs: Derived fields link design update (#23695)

* Toolkit: fixes for security and publishing (#23749)

* Fixes and security patches:
1. Always keep the source directory, just don't package the source
2. Do not publish the SSH key for common plugin tasks.
Changed to environment variable

* env variable renamed.

* Re-added the src remove

* touch config.yml for rebuild

* NewDataSourcePage: Restore signature badge lost in merge (#23832)

* NewPanelEditor: bring back queries not being run on editmode navigation (#23837)

* Docs: URL update to Relref to repair broken links (#23783)

* NewPanelEditor: Panel edit tweaks (#22415)

* NewPanelEditor: Alternative edit layout

* Fixed full height issue

* panel-edit-tabs experiment

* minor tweaks

* PanelEditor: Minor tweaks

* Docs: URL update to Relref to repair broken links

Rewrote URL references in the text for the Administration guide
and older Whats New page to repair broken links, and change
to the Relref format to build the website with Hugo.

Closes #22378

* Remove stale file, caught in this
branch and PR from my Fork. contribute/style-guides/markdown-style-guide.md

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* e2e: adds inspect drawer tests (#23823)

* Explore: Create basic E2E test

* Feature: adds e2e tests for panel inspector

* Refactor: adds ts-ignore because of type checking errors

* Refactor: changes after PR comments and updates snapshot

* Refactor: adds typings back for IScope

* Refactor: changes after PR comments

Co-authored-by: Andreas Opferkuch <andreas.opferkuch@gmail.com>

* Form migrations: Teams and alert list (#23810)

* Basic migration

* Update test

* Fix feedback

* Forms migration: Data/Panel link editor (#23778)

* DataLink input to new form styles

* Make Angular work with inline editor

* Remove onRemove and desiableRemove

* Remove DataLinksEditor

* Change order of inputs

* Enable syntax highlight

* Fix datalinks for Elastic

* Fix PromQuery cascader when selected option has no children (#23835)

* Adding debug line to search ldap. (#23824)

* Search/virtualize list (#23710)

* Search: Add FixedSizeList for result items

* Search: Move SectionHeader to a separate file

* Search: Add useListHeight hook

* Search: Fix horizontal scrollbar

* Search: Remove custom scrollbar

* Search: Do not fetch dashboard folder on route change

* Search: Update tests

* Search: Remove extra checkbox renders

* Search: Move wrapper ref outside search results

* Search: Fix param type

* Search: Fix merge conflicts

* Search: Virtualize dashboard list

* Search: Update layout

* Search: Pass wrapper to search results

* Search: Update dashboard redirect

* Search: Remove unused css

* Search: Revert config

* Search: Use AutoSizer

* Search: Remove redundant appEvents call

* Search: Use List layout in folder view

* Transformations: Simple fix for labels to fields  problem with time series field names (#23828)

* Simple fix for labels to fields transform problem

* Added unit test

* dsproxy: adds support for url params for plugin routes (#23503)

* dsproxy: adds support for url params for plugin routes

* docs: fixes after review

* pluginproxy: rename Params to URLParams

* Update pkg/plugins/app_plugin.go

Co-Authored-By: Arve Knudsen <arve.knudsen@gmail.com>

* Apply suggestions from code review

Co-Authored-By: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
Co-Authored-By: Arve Knudsen <arve.knudsen@gmail.com>

* pluginproxy: rename struct

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>

* Alerting: Handle image renderer unavailable when edit notifiers (#23711)

If no image renderer available/installed when adding a new  alert notification 
channel will set Include image to false per default, otherwise true as before.
If no image renderer available/installed when adding/edit alert notification 
channel will show an informational message that you need to install the 
Grafana Image Renderer plugin for Grafana to be able to render an image. 

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

* Alerting: Upload error image when image renderer unavailable (#23713)

When Include image is enabled for an alert notification channel, but there's 
no image renderer available/installed when sending notification an error 
image will be uploaded/attached explaining that you need to install the 
Grafana Image Renderer plugin.

Ref #13802

Co-Authored-By: Arve Knudsen <arve.knudsen@gmail.com>

* Metriktank: Linage UI updates (#23848)

* e2e: adds e2e for panel edit (#23849)

* Explore: Create basic E2E test

* Feature: adds e2e tests for panel inspector

* Refactor: adds ts-ignore because of type checking errors

* Refactor: changes after PR comments and updates snapshot

* Refactor: adds typings back for IScope

* e2e: adds e2e for panel edit

Co-authored-by: Andreas Opferkuch <andreas.opferkuch@gmail.com>

* CloudWatch: Prefer webIdentity over EC2 role also when assuming a role (#23807)

Same as #23452 but for assumed roles.
When using service accounts (webIdentity) on EKS in combination 
with assuming roles in other AWS accounts Grafana needs to retrieve 
the service account credentials first and then needs to assume the 
configured role.

* Devenv: fix prometheus scrape ips (#23850)

* Devenv: fix prometheus scrape ips

* Devenv: fix grafana in devenv reference

* Devenv: fixes prom random data reference

* Docker: Upgrade to Ubuntu 20.04 in Dockerfiles (#23852)

* Chore: Upgrade to Ubuntu 20.04
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>

* PanelEditor: Fixed switch tabs (#23859)

* Grafana-UI: Extend Layout props (#23771)

* Grafana-UI: Extend Layout props

* Grafana-UI: Merge container styles

* Search: Fix prop types

* Grafana-UI: remove className prop

* Dashboard: Handle no renderer available in panel share dialog (#23856)

Show a message when sharing dashboard panel on the Link tab and
 there's no renderer available/installed. 

Ref #13802

* Storybook sorting (#23857)

* Resort Icon.story.tsx into Docs Overview category

* Make CallToActionCard.story.tsx internal

* Move ThemeColors to Docs Overview category

* Move Tag.story.tsx to Forms category

* Move TagList.story.tsx to Forms category

Co-authored-by: Clarity-89 <homes89@ukr.net>

* Tracing: Zipkin datasource (#23829)

* Search: cleanup old Angular files (#23860)

* Search: Remove wrapperRef

* Search: Remove angular search files

* Search: Unify search types

* Search: Remove redundant hideHeader prop

* Search: Remove app/types/search.ts

* Search: Update imports

* Search: Fix type errors

* Migration: Alerting - notifications list (#22548)

* Handle empty list

* Connect to redux

* Finish migration

* Remove comments

* Remove old files

* Remove console log

* Remove old import

* Forgot to add the new button

* Fix href

* Fix feedback

* Rich history: Fix create url and run query & style updates (#23627)

* Styling updates

* Create getQueryFromDisplayText method for Jaeger, Loki, Prometheus

* Fix createLink and runQuery methods for all datasources

* Update test

* Update Select from Legacy to current

* Update filtering

* Update public/app/core/utils/richHistory.test.ts

* Fix strictnullcheck errors

* Remove getQueryFromDisplayText method, as not needed

* Update saving of full query and use displayText for formatting

* Update tests

* Refactor create data query

* Remove parsing, store object instead

* Fix formatting error

* Remove object checking, transform everything to DataQuery

* Remove console.log

* Rename migrate function, add datasourceName as a useEffect dependency

* Fix z-index, move query

* Packages: Bundle plugins (#23787)

* Add manifest for external plugins
* CircleCI: Build internal plug-ins
* CircleCI: Package internal and external plug-ins

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

* Search: Improving search look and feel (#23854)

* Search: Improving search look and feel

* Fixed issue with tag filter beeing cramped and wrapping tags

* Minor tag polish

* fixed type

* adds template for backend datasource (#23864)

* Zipkin: Add method to display query text (#23870)

* Docs: Add version note about Stackdriver SLO queries (#23844)

Ref #22917

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

* Revert rc-slider dependency update, add z-index to tooltip (#23873)

* Search: Improvements to design (#23874)

* Search: updated design

* Fixed z-index

* Fixes

* Minor pixel push

* NewPanelEditor: Make variables wrap and small layout refactor (#23862)

* NewPanelEditor: Make variables wrap  and small layout refactor

* review fix

* Singlestat: Adds migration button and logic to migrate singlestat to stat panel (#23845)

* Singlestat: Migration button to migrate to new stat panel

* updated test

* ManageDashboards: Fixes and improvements (#23879)

* ManageDashboards: Fixes and improvements

* Fixed tests

* Fixed issue with item height and margin

* RadioButtons: Updates design and no longer full width in panel edit (#23883)

* Migration: Admin org edit page (#23866)

* Start migration

* Migrate admin org edit page

* NewPanelEditor: adjust panel menu items (#23888)

* Minor grammatical correction (#23885)

* Minor change for better readability (#23884)

* NewPanelEditor: increase sidebar min width, value mappings radio no longer full width (#23889)

* Docs: Plugin docs for Dataframes (#23483)

Co-authored-by: Carl Bergquist <carl@grafana.com>
Co-authored-by: bergquist <carl.bergquist@gmail.com>
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
Co-authored-by: Marcus Olsson <accounts+github@marcus.se.net>

* PanelPlugin: add deprecation notice to setEditor method (#23895)

* Datasource/Cloudwatch: Adds support for Cloudwatch Logs (#23566)

* Datasource/Cloudwatch: Adds support for Cloudwatch Logs

* Fix rebase leftover

* Use jsurl for AWS url serialization

* WIP: Temporary workaround for CLIQ metrics

* Only allow up to 20 log groups to be selected

* WIP additional changes

* More changes based on feedback

* More changes based on PR feedback

* Fix strict null errors

* Docs: Edit prometheus data source doc (#23760)

* Update prometheus.md

* Editing

* Update prometheus.md

* Update add-a-data-source.md

* Update prometheus.md

Co-authored-by: Daniel Lee <dan.limerick@gmail.com>

* Search: Minor tweak to placeholder color

* Minor grammatical correction (#23898)

* Docs: Add doc comments for PanelPlugin (#23896)

* Fix grammatical errors in documentation (#23900)

Co-Authored-By: Arve Knudsen <arve.knudsen@gmail.com>

* grafana/toolkit: Do not suggest Angular panel anymore, add note about Grafana tutorials (#23902)

* NewPanelEditor: vis picker UI update (#23894)

* Fix storybook

* Add deprecated/alpha badge to panels in viz picker, fix long title display

* Move getFocusCss to mixins

* Updated hover/active state of vis picker item

* try fixing e2e

* Add removed label for e2e to be happy happy happy

* Search: Fix expanded folder icon (#23903)

* QueryTab: Design updates (#23906)

* WIP: first stage

* Another take

* argghhh

* Updated

* My brain is mush

* Minor progress

* Progres

* Starting to work

* Fixes

* fixed e2e

* Chore: show grafana labs not project (#23913)

* DashboardSave: fix save dashboard when changes are detected (#23909)

* e2e: creates a separate package for selectors (#23858)

* Initial commit

* Chore: fixes after merge

* Chore: removes todos

* Chore: uncomment test

* Chore: adds missing externals to rollup config

* Refactor: selectors is master for everything

* Docs: updates Docs

* Chore: adds e2e-selectors to publish

* Angular/Forms migration: Orgs list (#23821)

* Create new components

* Fix async issues

* Remove comments

* Update public/app/features/admin/AdminOrgsTable.tsx

* Update public/app/features/admin/AdminListOrgsPage.tsx

* Update public/app/features/admin/AdminListOrgsPage.tsx

* Remove angular code

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

* Fix strict nulls (#23931)

* azuremonitor: fix for app insights azure china url (#23877)

* DashNav: refactor action buttons and custom content (#23868)

* DashNav: refactor action buttons and custom content

* DashNav: remove code duplication

* DashNav: fix custom element display

* DashNav: fix strictNullChecks

* docs/sources/features/datasources/testdata.md: Fix language

* Icon: Update sigin icon (#23933)

* NewPanelEditor: Fix visualisation list badge verflow (#23936)

* Search/fix folder sort (#23893)

* Search: Move layout to query reducer/hook

* Search: Refactor search_srv

* Search: Fix types

* Search: Move extra layout/sort logic to reducer

* Search: Fix Select min-width

* Search: Fix filter by starred

* Search: Update tests

* Search: Simplify query return

* Search: Set width to auto on HorizontalGroup

* Search: Fix tests

* Fix build-container (#23942)

* Search: Replace search implementation (#23855)

* Rendering: Add metrics (#23827)

* Rendering: base metrics

* Rendering: rendering_queue_size metric

* Chore: fix linter error

* Rendering metrics: refactoring

* Apply suggestions from code review

Co-Authored-By: Marcus Efraimsson <marcus.efraimsson@gmail.com>

* Rendering metrics: handle DeadlineExceeded errors

* Rendering metrics: don't measure canceled request time

* Rendering metrics: revert deleting summary for canceled requests

* Update pkg/services/rendering/rendering.go

Co-Authored-By: Marcus Efraimsson <marcus.efraimsson@gmail.com>

* Rendering: return ErrTimeout if context deadline exceeded

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

* docs/sources/features/datasources/prometheus.md: Fix language

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

* docs/sources/features/datasources/opentsdb.md: Language improvements

* docs/sources/features/datasources/mysql.md: Improve language

* DateTime: adding support to select preferred timezone for presentation of date and time values. (#23586)

* added moment timezone package.

* added a qnd way of selecting timezone.

* added a first draft to display how it can be used.

* fixed failing tests.

* made moment.local to be in utc when running tests.

* added tests to verify that the timeZone support works as expected.

* Fixed so we use the formatter in the graph context menu.

* changed so we will format d3 according to timeZone.

* changed from class base to function based for easier consumption.

* fixed so tests got green.

* renamed to make it shorter.

* fixed formatting in logRow.

* removed unused value.

* added time formatter to flot.

* fixed failing tests.

* changed so history will use the formatting with support for timezone.

* added todo.

* added so we append the correct abbrivation behind time.

* added time zone abbrevation in timepicker.

* adding timezone in rangeutil tool.

* will use timezone when formatting range.

* changed so we use new functions to format date so timezone is respected.

* wip - dashboard settings.

* changed so the time picker settings is in react.

* added force update.

* wip to get the react graph to work.

* fixed formatting and parsing on the timepicker.

* updated snap to be correct.

* fixed so we format values properly in time picker.

* make sure we pass timezone on all the proper places.

* fixed so we use correct timeZone in explore.

* fixed failing tests.

* fixed so we always parse from local to selected timezone.

* removed unused variable.

* reverted back.

* trying to fix issue with directive.

* fixed issue.

* fixed strict null errors.

* fixed so we still can select default.

* make sure we reads the time zone from getTimezone

* Disable emitDataRequest from explore (#23926)

* NewPanelEditor: fix wrong path to time regions template causing panel editor to bug (#23946)

* Storybook: Add intro and reorganize (#23924)

* Update Intro

* Reorganize stories

* Hide panel for ThemeColors

* Update packages/grafana-ui/src/components/ColorPicker/ColorPicker.story.mdx

Co-Authored-By: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Update intro

* Hide panel on Icon story

* Update README

* Add link

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

* Search: Adds search to main nav and removes open search click on dashboard name (#23943)

* Search: Adds search to main nav and removes open search click on dashboard name

* Updated snapshots

* Fixed strict null errors

* Fixed type issue

* Dashboard: Enforce min dashboard refresh interval to 5 seconds per default (#23929)

Fixes #22493

* Build: adding support to rollup *.json files to include moment-timezone data. (#23951)

* Image Rendering: New setting to control render request concurrency (#23950)

Fixes #23806

Co-Authored-By: Torkel Ödegaard <torkel@grafana.com>
Co-Authored-By: Arve Knudsen <arve.knudsen@gmail.com>

* PanelEditor: Fixed issue with PanelModel change plugin type (#23949)

* azuremonitor:  port azure log analytics query function to the backend (#23839)

* azuremonitor: add support for log analytics macros

Also adds tests for the kql macros

* azuremonitor: backend implementation for Log Analytics

* azuremonitor: remove gzip header from plugin route

The Go net/http library adds an accept encoding header
for gzip automatically.

https://golang.org/src/net/http/transport.go\#L2454

So no need to specify it manually

* azuremonitor: parses log analytics time series

* azuremonitor: support for table data for Log Analytics

* azuremonitor: for log analytics switch to calling the API...

...from the backend for time series and table queries.

* azuremonitor: fix missing err check

* azuremonitor: support Azure China, Azure Gov...

for log analytics on the backend.

* azuremonitor: review fixes

* azuremonitor: rename test files folder to testdata

To follow Go conventions for test data in tests

* azuremonitor: review fixes

* azuremonitor: better error message for http requests

* azuremonitor: fix for load workspaces on config page

* azuremonitor: strict null check fixes

Co-authored-by: bergquist <carl.bergquist@gmail.com>

* Update data frame concept doc (#23921)

* Update data frame concept doc

* Fix typo

* Fix typo

* Fix Dockerfile* (#23954)

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

* Search/ui issues (#23945)

* Search: Move layout to query reducer/hook

* Search: Move extra layout/sort logic to reducer

* Search: Tweak action row spacing

* Search: Update TagOption

* Search: Remove duplicate function

* Search: Add Clear tags button

* Search: Align checkbox

* Search: Add TagFilter.displayName

* Search: Update default placeholder

* Search: Return all dashboards for list view

* Search: Apply custom line-height to ActionRow checkbox

* MaxDataPoints: Now used in interval calculation for all data sources (#23915)

* MaxDataPoints: Now enabled for all

* Updates to code and test

* Moved the panel query inspector

* PaneQueryRunner: Simplify logic and only take in maxDataPoints not width

* Make sidemenu header accept onClick events (#23957)

* backend_plugins: duration support in Frame (#23962)

sdk v0.57.0
go mod tidy

* PanelEditor: fixes save/apply for undefined props in restoreModel (#23939)

* PanelEditor: fixes save/apply for undefined props in restoreModel

* Refactor: changes after PR comments

* Refactor: changes sourcePanel refresh strategy

* Added unit tests and minor refactoring of method, starting with cleanup, then setting properties from model

* Update public/app/features/dashboard/state/PanelModel.test.ts

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>

* docs: adds provisioning config example (#23940)

* Docs: Minor correction in documentation (#23899)

* Minor correction in documentation

* Refactoring the previous change

* Docs: Add DescribeAlarmHistory to minimal IAM policy (#23965)

DescribeAlarmHistory is used in the annotations query.

* Image rendering: Fix missing icon on plugins list (#23958)

Fixes #23189

* Dashboard: Handle min refresh interval when importing dashboard (#23959)

If refresh interval is lower than minimum refresh interval
when importing dashboard, use the minimum refresh interval
instead of returning error.

Fixes #23099

* Docs: Multiple changes to make document easier to read (#23842)

* multiple changes to make document easier to read

* Update docs/sources/features/datasources/loki.md

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

* Update docs/sources/features/datasources/loki.md

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

* Update docs/sources/features/datasources/loki.md

Co-Authored-By: Arve Knudsen <arve.knudsen@gmail.com>

* Update docs/sources/features/datasources/loki.md

Co-Authored-By: Arve Knudsen <arve.knudsen@gmail.com>

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Docs: Suggesting multiple changes for better readability (#23843)

* Suggesting multiple changes for better readability

* Update docs/sources/features/datasources/mssql.md

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

* Update docs/sources/features/datasources/mssql.md

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

* Update docs/sources/features/datasources/mssql.md

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

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

* Docs: Mark macro examples as code (#23932)

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

* Docs: Add DescribeAlarms to minimal IAM policy (#23968)

DescribeAlarmHistory is used in the prefix matching of the annotations query

* Panels: Update panel logos (#23964)

* Various 7.0 UI tweaks (#23972)

* Set min height of panel pane to 200px

* Disable badge on viz picker when item is in disabled in search results

* Fix UserProfile inputs width

* Remove select caret in user admin permissions editor

* fix 23911

* Explore: Fix query rows styles (#23973)

* CloudWatch: Remove cloud watch flag (#23974)

* TestData/Graph: load arrow and zoom to data range (#23764)

* Docs: Fix building of docs (#23923)

* Docs: Fix building of docs
* CircleCI: Fixate grafana/docs-base image revision in job for building docs

* Docs: enable packages reference docs for 7-beta (#23953)

* added packages reference menu item.

* removed the draft flag.

* Updated docs by running script.

* AlertTab: some ui updates (#23971)

* updated the alerting tab.

* changed so we use a confirm button.

* removed uncommeneted import.

* Change to secondary buttons

Co-Authored-By: Dominik Prokop <dominik.prokop@grafana.com>

* trying to fix issue with panel of undefined.

* Fix prettier

* Update public/app/features/alerting/AlertTab.tsx

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

* Docs: Query history 7.0 updates  (#23955)

* Update docs about query history

* Update docs/sources/features/explore/index.md

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

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

* Metrictank: Fix meta inspector consolidator field names (#23838)

to match https://github.com/grafana/metrictank/pull/1798

* Chore: Update Grafana version (#23985)

* Update Grafana version

* fix after merge

* merge conflicts

* migration script and new icons in editor

* revert migration, use iconmap lookup

* add tooltip

* cleanup after merge

* revert

* remove angular dashboard links and related components

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Mohit Nain <Mohit_Nain@infosys.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
Co-authored-by: Carl Bergquist <carl@grafana.com>
Co-authored-by: bergquist <carl.bergquist@gmail.com>
Co-authored-by: Stephanie Closson <srclosson@gmail.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: Emil Tullstedt <sakjur@gmail.com>
Co-authored-by: Arve Knudsen <arve.knudsen@grafana.com>
Co-authored-by: Leonard Gram <leonard.gram@grafana.com>
Co-authored-by: Jack Stevenson <jackstevenson@users.noreply.github.com>
Co-authored-by: Amal <56926487+amalkurup89@users.noreply.github.com>
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
Co-authored-by: Leonard Gram <leo@xlson.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: Jess <53754871+jessover9000@users.noreply.github.com>
Co-authored-by: Kyle Brandt <kyle@grafana.com>
Co-authored-by: Joseph Robinson <josephremail@gmail.com>
Co-authored-by: Andreas Opferkuch <andreas.opferkuch@gmail.com>
Co-authored-by: Omar Nahhas Sanchez <omar@innovativerealities.com>
Co-authored-by: Daniel Lee <dan.limerick@gmail.com>
Co-authored-by: Johannes Brück <6677058+bruecktech@users.noreply.github.com>
Co-authored-by: Clarity-89 <homes89@ukr.net>
Co-authored-by: tmarszal <tmarszal@gmail.com>
Co-authored-by: Marcus Olsson <accounts+github@marcus.se.net>
Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>
Co-authored-by: Jon Gyllenswärd <jon.gyllensward@grafana.com>
Co-authored-by: Jan Garaj <jan.garaj@gmail.com>
Co-authored-by: Dieter Plaetinck <dieter@grafana.com>
2020-05-05 09:49:34 +02:00
Ryan McKinley
dd5814b51b Runtime: expose angular injector (#24262) 2020-05-04 14:40:52 -07:00
Amal
1eb52465d7 Added a missing closing bracket (#24254) 2020-05-04 22:15:02 +02:00
Amal
1f784ad1a0 Minor typo correction (#24255) 2020-05-04 22:14:22 +02:00
Marcus Efraimsson
bcf5c937d5 Plugins: Require backend plugins to be signed when using plugin path (#24244) 2020-05-04 22:12:18 +02:00
Amal
b3ccae9c93 Fixed a minor issue in dcoumentation (#24251) 2020-05-04 21:50:33 +02:00
Amal
963254e824 Minor typo correction in docs (#24252) 2020-05-04 21:49:44 +02:00
Diana Payton
c6da8542af Docs: Panel inspector (#24172)
* added panel inspector content

Added inspect-panel content and placeholders for future doc architecture

* Updated topics

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

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

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

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

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2020-05-04 12:24:09 -07:00
Torkel Ödegaard
726009870b LoginPage: New design (#23892)
* LoginPage: initial poc

* wIP

* Prgress

* Start Forms migration

* Fix layout and change password animation

* Migrate style to emotion

* Fix small things

* Remove classes

* Fix logo and title

* Disable disabled button

* Add custom fields and fix layout

* Update flyin animation

* Change animation timing

* Update comment

* Same styles for submit button

* Update snapshot

* Minor tweaks and made slogan random

Co-authored-by: Tobias Skarhed <tobias.skarhed@gmail.com>
2020-05-04 21:14:37 +02:00
Ryan McKinley
3487e518ab Signing: allow unsigned plugin in dev mode (#24242) 2020-05-04 11:57:11 -07:00
Ryan McKinley
83683d87f8 Errors: support errors with frame data from backend responses (#24176) 2020-05-04 11:05:04 -07:00
David
9e06f9c402 Logs: Add log level Fatal (#24185)
- recognizes log levels "fatal" and "information"
- renders "fatal" with same color as other levels similar to "critical"
2020-05-04 18:17:31 +02:00
Ivana Huckova
4f5ce48b2a Loki: Fix label matcher for log metrics queries (#24238)
* Fix switched filter buttons

* Fix filter for and filter out for metrics queries

* Add test coverage
2020-05-04 18:16:54 +02:00
David
9420873e6c Loki: Show loki datasource stats in panel inspector (#24190)
* Loki: Show loki datasource stats in panel inspector

- puts the loki query result stats into the query results meta stat API
of Grafana, this allows the display of all backend loki stats in the
panel inspector in the dashboards
- added a hack to also display one of those values in Explore as a meta
label using the dataframe meta `custom` mechanims to point to a single
stat entry for each series which is then added together to show total
bytes processed across all query row results (this should be changed for
7.1 to make full use of the panel inspector in Explore)

* Fix test

* nicer stats labels for loki stats with units
2020-05-04 18:06:21 +02:00
Arve Knudsen
2fc2a7c3f5 Plugins: Only load transform plug-ins if expressions feature on (#24110)
* PluginManager: Only load transform plugins if expressions feature on

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2020-05-04 17:39:20 +02:00
Dominik Prokop
89db44e6f3 DataLinks: Do not add empty links (#24088)
* Do not add empty links

* Review
2020-05-04 17:36:57 +02:00
Agnès Toulet
a5b377e701 Docs: add Usage Insights documentation (#23982)
* Docs: start on usage insights

* Docs: first draft for Usage Insights content

* Docs: clean up usage insights docs

* Docs: revert prettier updates

* Update docs/sources/enterprise/usage-insights.md

Co-Authored-By: Emil Tullstedt <emil.tullstedt@grafana.com>

* Docs: rewrite presence indicators paragraph

* Docs: feedback update

* Update docs/sources/enterprise/_index.md

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

* Docs: headings to sentence case

* Update docs/sources/enterprise/usage-insights.md

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

* Update docs/sources/enterprise/usage-insights.md

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

* Update docs/sources/enterprise/usage-insights.md

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

* Update docs/sources/enterprise/usage-insights.md

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

* Docs: add dashboard insights button image

* Docs: add consistency

* Docs: add lower case

* Update docs/sources/enterprise/usage-insights.md

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

* Update docs/sources/enterprise/usage-insights.md

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

* Update docs/sources/enterprise/usage-insights.md

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

* Docs: singular presence indicator and improved search feedback

* Docs: Apply PR feedback

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2020-05-04 17:14:23 +02:00
Tobias Skarhed
3c433b218e DashboardManager: Disable editing if there are no folder permissions (#24237)
* Disable editing if there are no folder permissions

* Remove log
2020-05-04 17:06:53 +02:00
Torkel Ödegaard
92a16d2e10 Transforms: Adds beta notice and updates transform descriptions (#24158)
* Transforms: Adds beta notice and updates transform descriptions

* Rename organize fields

* Webpack - enable images import

* Introduce FeatureState type

* Alow Container component grow/shrink config

* Enable svg import in main app

* Jest + webpack for svgs

* InfoBox refactor (+ added feature info box), Badge component introduced

* Update packages/grafana-ui/src/components/TransformersUI/FilterByNameTransformerEditor.tsx

Co-authored-by: Carl Bergquist <carl@grafana.com>

* Minor fixes

* Update packages/grafana-ui/src/components/TransformersUI/OrganizeFieldsTransformerEditor.tsx

Co-authored-by: Carl Bergquist <carl@grafana.com>

* Update packages/grafana-ui/src/components/TransformersUI/SeriesToFieldsTransformerEditor.tsx

Co-authored-by: Carl Bergquist <carl@grafana.com>

* fix typo

* Build storybook fixed

* Fix padding

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Carl Bergquist <carl@grafana.com>
2020-05-04 15:05:31 +02:00
Hugo Häggmark
0fe9e7e242 e2e: upgrades Cypress to 4.50 (#24099)
* Chore: upgrades Cypress to 4.5.0

* Refactor: splits up huge it into several

* Refactor: prevent flakiness

* Refactor: updates yarn.lock

* Refactor: changes after PR comments

* Refactor: uses e2e.flows instead of import
2020-05-04 14:44:25 +02:00
Ryan McKinley
53328718e1 Transformers: improve timeseries support (#23978)
* extract out the field creation parts

* extract out the field creation parts

* three math modes

* better timeseries support

* TestData/Graph: load arrow and zoom to data range (#23764)

* Docs: Fix building of docs (#23923)

* Docs: Fix building of docs
* CircleCI: Fixate grafana/docs-base image revision in job for building docs

* Docs: enable packages reference docs for 7-beta (#23953)

* added packages reference menu item.

* removed the draft flag.

* Updated docs by running script.

* AlertTab: some ui updates (#23971)

* updated the alerting tab.

* changed so we use a confirm button.

* removed uncommeneted import.

* Change to secondary buttons

Co-Authored-By: Dominik Prokop <dominik.prokop@grafana.com>

* trying to fix issue with panel of undefined.

* Fix prettier

* Update public/app/features/alerting/AlertTab.tsx

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

* Docs: Query history 7.0 updates  (#23955)

* Update docs about query history

* Update docs/sources/features/explore/index.md

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

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

* Metrictank: Fix meta inspector consolidator field names (#23838)

to match https://github.com/grafana/metrictank/pull/1798

* Chore: Update Grafana version (#23985)

* Update Grafana version

* Docs: What's new in 7.0 placeholder (#23987)

* Docs: What's new in 7.0 placeholder

* Updated makefile

* Search: minor fixes (#23984)

* Search: Use folder id as key when present

* Search: Do not render modals if not open

* Enterprise: List 7.0 features (#23956)

* CircleCI: Fix triggering of jobs for releases (#23999)

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

* Fix pagination of issues/PR's in changelog generator (#23997)

Fix pagination of issues/PR's in changelog generator

* Search: Convert time pickers to CSF (#24002)

* updated docs for reporting (#23733)

* updated docs

* peering comments

* Added info about what version test mails requires

* Tracing: Fix view bounds after trace change (#23994)

* Docs: fix image link (#24011)

* Update whats new (#24012)

* Chore: Put what's new and release notes URLs in package.json (#24006)

* Put what's new and release notes URLs in package.json
* Upgrade build pipeline tool

* Update changelog for v7.0.0-beta1 (#24007)

Co-Authored-By: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-Authored-By: Andrej Ocenas <mr.ocenas@gmail.com>
Co-Authored-By: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>

* verify-repo-update: Fix Dockerfile.deb (#24030)

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

* CircleCI: Upgrade build pipeline tool (#24021)

* CircleCI: Upgrade build pipeline tool

* Devenv: ignore enterprise (#24037)

* Add header icon to Add data source page (#24033)

* latest.json: Update testing version (#24038)

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

* Fix login page redirected from password reset (#24032)

* Storybook: Rewrite stories to CSF (#23989)

* ColorPicker to CSF format

* Convert stories to CSF

* Do not export ClipboardButton

* Update ConfirmButton

* Remove unused imports

* Fix feedback

* changelog enterprise 7.0.0-beta1 (#24039)

* CircleCI: Bump grafana/build-container revision (#24043)

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

* Changelog: Updates changelog with more feature details (#24040)

* Changelog: Updates changelog with more feature details

* spell fix

* spell fix

* Updates

* Readme update

* Updates

* Select: fixes so component loses focus on selecting value or pressing outside of input. (#24008)

* changed the value container to a class component to get it to work with focus (maybe something with context?).

* added e2e tests to verify that the select focus is working as it should.

* fixed according to feedback.

* updated snapshot.

* Devenv: add remote renderer to grafana (#24050)

* NewPanelEditor: minor UI twekas (#24042)

* Forward ref for tabs, use html props

* Inspect:  add inspect label to drawer title

* Add tooltips to sidebar pane tabs, copy changes

* Remove unused import

* Place tooltips over tabs

* Inspector: dont show transformations select if there is only one data frame

* Review

* Changelog: Add a breaking change (#24051)

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

* CircleCI: Unpin grafana/docs-base (#24054)

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

* Search: close overlay on Esc press (#24003)

* Search: Close on Esc

* Search: Increase bottom padding for the last item in section

* Search: Move closing search to keybindingsSrv

* Search: Fix folder view

* Search: Do not move folders if already in folder

* Docs: Adds deprecation notice to changelog and docs for scripted dashboards (#24060)

* Update CHANGELOG.md (#24047)

Fix typo

Co-authored-by: Daniel Lee <dan.limerick@gmail.com>

* Documentation: Alternative Team Sync Wording (#23960)

* Alternative wording for team sync docs

Signed-off-by: Joe Elliott <number101010@gmail.com>

* Update docs/sources/auth/team-sync.md

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

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

* Fix misspell issues (#23905)

* Fix misspell issues

See,
$ golangci-lint run --timeout 10m --disable-all -E misspell ./...

Signed-off-by: Mario Trangoni <mjtrangoni@gmail.com>

* Fix codespell issues

See,
$ codespell -S './.git*' -L 'uint,thru,pres,unknwon,serie,referer,uptodate,durationm'

Signed-off-by: Mario Trangoni <mjtrangoni@gmail.com>

* ci please?

* non-empty commit - ci?

* Trigger build

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

* more tests

* remove FieldConfig setting

* merged binary and reduce

* improve tests

* update options after values change

* Minor refactoring and polish to UI

* Minor fixes

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
Co-authored-by: Dieter Plaetinck <dieter@grafana.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Emil Tullstedt <sakjur@gmail.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: Jon Gyllenswärd <jon.gyllensward@grafana.com>
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
Co-authored-by: Leonard Gram <leo@xlson.com>
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
Co-authored-by: Richard Hartmann <RichiH@users.noreply.github.com>
Co-authored-by: Daniel Lee <dan.limerick@gmail.com>
Co-authored-by: Joe Elliott <joe.elliott@grafana.com>
Co-authored-by: Mario Trangoni <mario@mariotrangoni.de>
Co-authored-by: bergquist <carl.bergquist@gmail.com>
Co-authored-by: Kyle Brandt <kyle@grafana.com>
2020-05-04 14:37:52 +02:00
Torkel Ödegaard
5a20782499 NewPanelEdit: Fixes issue with angular panel clean up, and cleanup after leaving edit mode (#24224) 2020-05-04 14:11:15 +02:00
Torkel Ödegaard
5f621a736a Dashboard: Go to explore now works even after discarding dashboard changes (#24149)
* Explore: Fix issue with going to explore

* removed console log
2020-05-04 14:11:03 +02:00
Hugo Häggmark
215f2e005b PanelInspector: hides Query tab for plugins without Query ability (#24216)
* PanelInspector: fixes so Query tab is hidden for plugins without Query ability

* Refactor: changes after PR comments
2020-05-04 13:58:05 +02:00
Torkel Ödegaard
2d5e675d4e PanelEdit: Fixed scroll pos moved to top when clicking new radio buttons (#24146) 2020-05-04 13:37:43 +02:00
Torkel Ödegaard
b57802e61f NewPanelEdit: Copy untransformed result from source panel (#24211) 2020-05-04 12:14:32 +02:00
Ryan McKinley
7e1bf0e7e2 Gauge: apply decimal limits to gauge min/max labels (#24192)
* limit label size

* fix tests
2020-05-04 12:13:12 +02:00
Michael Cristina
4a5434bffa Graph: align form switch in graph panel (#24202) 2020-05-04 12:12:32 +02:00
Arve Knudsen
6fb7a60a2b Dockerfile: Move Go step after JS step, since it's faster (#24221)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-05-04 11:59:10 +02:00
Alex Khomenko
6768fb3672 Search: Add filterOption prop to Select (#24213) 2020-05-04 12:43:09 +03:00
Lukas Siatka
8a88632791 Chore: changes elastic terms min_doc_count default from 1 to 0 (#24204) 2020-05-04 11:31:52 +02:00
Leonard Gram
e8341a09b2 Docs: make sure we always use the latest docs image (#24217) 2020-05-04 11:15:51 +02:00
Arve Knudsen
96ffcaa134 Plugins: Require signing of external back-end plugins (#24075)
* PluginManager: Require signing of external plugins

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-05-04 10:57:55 +02:00
Andreas Opferkuch
827f99f0cb Prometheus: Refresh query field metrics on data source change (#24116)
... in `componentDidUpdate`, not just `componentDidMount`.

Also unify query field behavior of Explore with Dashboard - when the
data source changes, it doesn't unmount but instead refreshes its
metrics.

Fixes #23162
2020-05-04 10:17:57 +02:00
Ivana Huckova
e9243215a6 Remove beta references from Query history (#24114) 2020-05-04 10:02:34 +02:00
Amal
fae2356a86 Minor grammatical fix (#24200) 2020-05-03 22:31:48 +02:00
Marcus Efraimsson
94efd06858 End2end: Make it possible to run e2e tests with BASE_URL (#24041) 2020-05-03 13:51:30 +02:00
Torkel Ödegaard
f273e56adc Graph: Fixed graph tooltip getting stuck / not being cleared when leaving dashboard, fixes #23881 (#24162) 2020-05-03 13:41:45 +02:00
Amal
98ea52ce6f Minor fix in documentation (#24168) 2020-05-02 20:03:39 +02:00
Amal
8f3b405f63 Inserting a comma for better readability (#24169) 2020-05-02 20:02:37 +02:00
Amal
71e8b79986 Minor typo fix (#24166) 2020-05-02 19:58:06 +02:00
Ryan McKinley
7c66241310 Filter by RefId: update options after input changes (#24160) 2020-05-02 08:32:43 -07:00
Alex Khomenko
89ee84a909 Storybook/fix modal docs (#24150)
* Convert modal

* Storybook: Add mdx for Modal

* Storybook: Add mdx for ConfirmModal

Co-authored-by: Tobias Skarhed <tobias.skarhed@gmail.com>
2020-05-02 12:52:22 +03:00
Steven Vachon
861fa8cae6 @grafana/e2e: update datasource dropdown selector (#24141) 2020-05-01 19:49:56 -04:00
Ryan McKinley
5a2efe1f62 Plugins: list app dynamics as an enterprise plugin (#24165) 2020-05-01 13:21:33 -07:00
Ryan McKinley
4710f6bebe ArrayDataFrame: use normal property for fields and length (#24145) 2020-05-01 07:41:55 -07:00
Andrej Ocenas
442c087f98 Tracing: Update Typescript version in jaeger-ui-component (#24156) 2020-05-01 15:26:54 +02:00
Peter Holmberg
707b2c5e89 PanelEditor: Only show cache timeout if enabled in data source plugin json (#24095)
* only show cache timeout if enabled in datasource

* move conditional

* Update public/app/features/dashboard/panel_editor/QueryOptions.tsx

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2020-05-01 14:15:26 +02:00
Torkel Ödegaard
a00636b2ec PanelEditor: Fixes issue changing panel type from graph to stat and thresholds not taking affect after going back to dashboard (#24144)
* PanelEditor: Fixes issue with panel type change and query result reuse

* removed unused imports

* removed unused imports
2020-05-01 14:14:52 +02:00
Torkel Ödegaard
4f81125af0 Search: Bring back open search by clicking dashboard name (#24151) 2020-05-01 14:13:22 +02:00
Amal
e7d906d445 Changed the tense of the verb inline with other entries (#24147) 2020-05-01 10:02:28 +02:00
Amal
94d7d9aa89 Minor grammatical correction (#24148) 2020-05-01 10:01:10 +02:00
Amal
905e644c22 Docs: Minor fix for better readability (#24126)
* Minor fix for better readability

* Update docs/sources/guides/glossary.md

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

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-05-01 07:43:29 +02:00
Amal
416ec8a99f Docs: Minor grammatical correction in docs (#24142) 2020-05-01 07:43:05 +02:00
Torkel Ödegaard
1314f0b651 Docs: Fixed location of items in docs (#24143) 2020-05-01 07:42:43 +02:00
Abhi Ramani
080be436e2 Storybook: Update new favicon (#24111) 2020-05-01 06:44:52 +02:00
Amal
e2c404518b Minor correction in doc (#24129)
* Minor correction in doc

* Update docs/sources/plugins/developing/plugin-review-guidelines.md

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

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-05-01 06:41:53 +02:00
Diana Payton
5ee5d23db8 Docs: Update navigation-links.md (#23970) 2020-04-30 16:25:12 -07:00
Diana Payton
e7057387a2 Docs: Refactor Variables and Templating content (#23952)
* Moved templating.md

Moved file to a different folder, added alias information, updated menu.yaml

* Split out advanced variable format options from templating.md

* Reworked Advanced variable format options

* Update templating.md

* Moved global variables to another topic

* Moved template files

* Update global-variables.md

* Update global-variables.md

* Update templates-and-variables.md

* made new repeating panels and rows topic

* updated links and menu

* Update advanced-variable-format-options.md

* Update repeat-panels-or-rows.md

* Update menu.yaml

* Update prometheus.md

* Applied Daniel's edits
2020-04-30 16:24:59 -07:00
Amal
1bdc9703d3 Minor correction in documentation (#24130) 2020-05-01 00:48:59 +02:00
Amal
bd0e56caac Minor grammatical correction in docs (#24133) 2020-05-01 00:46:09 +02:00
Amal
a688a67c26 Typo correction in docs (#24131) 2020-05-01 00:45:20 +02:00
Amal
9945713a7b Grammatical correction in doc (#24127) 2020-04-30 23:57:57 +02:00
Daniel Lee
b756d49da8 docs: 7.0 beta what's new draft (#24066)
* docs: 7.0 beta what's new draft

* Updates

* Update docs/sources/guides/whats-new-in-v7-0.md

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

* Update docs/sources/guides/whats-new-in-v7-0.md

Co-authored-by: Jon Gyllenswärd <jon.gyllensward@grafana.com>

* Update docs/sources/guides/whats-new-in-v7-0.md

Co-authored-by: Jon Gyllenswärd <jon.gyllensward@grafana.com>

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

* Update docs/sources/guides/whats-new-in-v7-0.md

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

* Update docs/sources/guides/whats-new-in-v7-0.md

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

* Update docs/sources/guides/whats-new-in-v7-0.md

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

* Update docs/sources/guides/whats-new-in-v7-0.md

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

* Update docs/sources/guides/whats-new-in-v7-0.md

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

* docs: time zones, query history and links for whats new

* docs: spelling in whats new

* docs: rollup indicator and backend plugins for whats new

* docs: what's new tweak

* docs: what's new formatting

* docs: whats new. Headings tweak

* Update docs/sources/guides/whats-new-in-v7-0.md

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

* Update docs/sources/guides/whats-new-in-v7-0.md

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

* Update docs/sources/guides/whats-new-in-v7-0.md

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

* Update docs/sources/guides/whats-new-in-v7-0.md

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

* Update docs/sources/guides/whats-new-in-v7-0.md

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

* Update docs/sources/guides/whats-new-in-v7-0.md

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

* Update docs/sources/guides/whats-new-in-v7-0.md

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

* Update docs/sources/guides/whats-new-in-v7-0.md

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

* docs: whats new review fixes

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Jon Gyllenswärd <jon.gyllensward@grafana.com>
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-04-30 23:18:15 +02:00
Amal
04ed8801f6 Refactoring the statement for better readability (#24124) 2020-04-30 22:52:50 +02:00
Amal
b487b90143 Grammatical correction in docs (#24123) 2020-04-30 22:51:49 +02:00
Steven Vachon
6558df83ad @grafana/e2e: fix module paths for runtime (#24121)
... because the "src" dir only exists at compile time.
2020-04-30 16:46:33 -04:00
Amal
4ddc0e02e2 Docs: Minor typo correction in documentation (#24122) 2020-04-30 13:41:37 -07:00
Amal
e1f6a5c193 docs/sources/administration/image_rendering.md: Improve language 2020-04-30 22:09:37 +02:00
Steven Vachon
b027e25127 @grafana/e2e: fix dependencies (#24109)
* @cypress/webpack-preprocessor is needed at runtime

* Removed redundant packages

* Removed unnecessary packages
2020-04-30 11:55:37 -04:00
Arve Knudsen
22840241ed scripts/tag_release.sh: Push only tag, not branch (#24055)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-04-30 17:24:21 +02:00
Tobias Skarhed
7b7c365018 Storybook: CSF Modal conversion (#24085)
* Convert modal

* Update packages/grafana-ui/src/components/Modal/Modal.story.tsx

Co-Authored-By: Alex Khomenko <Clarity-89@users.noreply.github.com>

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2020-04-30 16:47:29 +02:00
Andrej Burger
2e4a8d4d5a Docs: Bullets indentation fixed in Stats panel (#24100) 2020-04-30 07:18:30 -07:00
Hassan Farid
ad51e60a70 Docs: Updated dashboard heading for side navigation (#24102)
Updated heading level to reflect correctly on side navigation. It was being merged with under Datasources
2020-04-30 07:17:13 -07:00
Jess
ab60a8d37a Another storybook csf conversion (#24097)
* Convert Spinner to CSF

* Convert TableInputCSV to CSF

* Convert ToggleButtonGroup to CSF

* Convert ValueMappingsEditor to CSF

* Convert useDelayedSwitch to CSF
2020-04-30 17:00:05 +03:00
Arve Knudsen
9939d3bb38 Upgrade build pipeline tool (#24093)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-04-30 14:24:20 +02:00
Peter Holmberg
ca7a373983 Fix: Propagate unhandled errors when saving Dashboard (#24081)
* only handle error for cases we handle

* added missing case

* remove not used import
2020-04-30 14:08:43 +02:00
Arve Knudsen
dda8caf48c Docker: Upgrade to Alpine 3.11 (#24056)
* Docker: Upgrade to Alpine 3.11
2020-04-30 13:42:06 +02:00
Jess
37b1ae32cc More Storybook csf conversion (#24090)
* Convert ClipboardButton to CSF

* Convert CallToActionCard to CSF

* Convert BarGauge to CSF

* Convert DataSourceHttpSettings to CSF

* Convert ConfirmModal to CSF

* Convert FormField to CSF

* Convert Input to CSF

* Convert ButtonSelect to CSF

* Removed unused import from ButtonSelect story

* Convert InfoTooltip to CSF

* Convert List to CSF

* Convert QueryField to CSF

* Convert RefreshPicker to CSF

* Convert SecretFormField to CSF
2020-04-30 14:30:23 +03:00
Jess
15c44f3db5 Storybook csf conversion (#24084)
* Convert ClipboardButton to CSF

* Convert CallToActionCard to CSF

* Convert BarGauge to CSF

* Convert DataSourceHttpSettings to CSF

* Convert ConfirmModal to CSF

* Convert FormField to CSF
2020-04-30 13:58:17 +03:00
Ivana Huckova
e2436b29c0 Explore: Fix showing of results of queries in table (#24018)
* Fix: Show results of instant queries in Explore tables

* Add PreferredVisualisationType to meta

* Implement visualisation exception for Prometheus

* Implement visualisation exception for Elastic
2020-04-30 12:41:03 +02:00
Jon Gyllenswärd
f2254081c2 added out option (#24052)
* added out option

* Added example in readme
2020-04-30 10:53:19 +02:00
Hugo Häggmark
55ac97dccc e2e: adds panel editor tests for test data queries (#23996) 2020-04-30 09:26:59 +02:00
Ryan McKinley
efeb4c1341 Graph Panel: show warnings with actions (#23975) 2020-04-29 23:21:28 -07:00
Mario Trangoni
5116420e9a Fix misspell issues (#23905)
* Fix misspell issues

See,
$ golangci-lint run --timeout 10m --disable-all -E misspell ./...

Signed-off-by: Mario Trangoni <mjtrangoni@gmail.com>

* Fix codespell issues

See,
$ codespell -S './.git*' -L 'uint,thru,pres,unknwon,serie,referer,uptodate,durationm'

Signed-off-by: Mario Trangoni <mjtrangoni@gmail.com>

* ci please?

* non-empty commit - ci?

* Trigger build

Co-authored-by: bergquist <carl.bergquist@gmail.com>
Co-authored-by: Kyle Brandt <kyle@grafana.com>
2020-04-29 21:37:21 +02:00
Joe Elliott
023c1a6e3f Documentation: Alternative Team Sync Wording (#23960)
* Alternative wording for team sync docs

Signed-off-by: Joe Elliott <number101010@gmail.com>

* Update docs/sources/auth/team-sync.md

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

Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2020-04-29 21:35:07 +02:00
Richard Hartmann
2ac8a6dbd6 Update CHANGELOG.md (#24047)
Fix typo

Co-authored-by: Daniel Lee <dan.limerick@gmail.com>
2020-04-29 21:33:31 +02:00
Torkel Ödegaard
11134efcda Docs: Adds deprecation notice to changelog and docs for scripted dashboards (#24060) 2020-04-29 18:24:26 +02:00
Alex Khomenko
ab07326169 Search: close overlay on Esc press (#24003)
* Search: Close on Esc

* Search: Increase bottom padding for the last item in section

* Search: Move closing search to keybindingsSrv

* Search: Fix folder view

* Search: Do not move folders if already in folder
2020-04-29 19:18:37 +03:00
Arve Knudsen
11eca387a0 CircleCI: Unpin grafana/docs-base (#24054)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-04-29 16:16:46 +02:00
Arve Knudsen
edf5a2cec1 Changelog: Add a breaking change (#24051)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-04-29 15:47:21 +02:00
Dominik Prokop
7601e0bbd3 NewPanelEditor: minor UI twekas (#24042)
* Forward ref for tabs, use html props

* Inspect:  add inspect label to drawer title

* Add tooltips to sidebar pane tabs, copy changes

* Remove unused import

* Place tooltips over tabs

* Inspector: dont show transformations select if there is only one data frame

* Review
2020-04-29 15:41:33 +02:00
Leonard Gram
4645167421 Devenv: add remote renderer to grafana (#24050) 2020-04-29 15:16:37 +02:00
Marcus Andersson
be8c62033c Select: fixes so component loses focus on selecting value or pressing outside of input. (#24008)
* changed the value container to a class component to get it to work with focus (maybe something with context?).

* added e2e tests to verify that the select focus is working as it should.

* fixed according to feedback.

* updated snapshot.
2020-04-29 15:02:09 +02:00
Torkel Ödegaard
a35babee40 Changelog: Updates changelog with more feature details (#24040)
* Changelog: Updates changelog with more feature details

* spell fix

* spell fix

* Updates

* Readme update

* Updates
2020-04-29 14:50:54 +02:00
Arve Knudsen
8d8d9aac64 CircleCI: Bump grafana/build-container revision (#24043)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-04-29 14:47:31 +02:00
Leonard Gram
a7fa0e45eb changelog enterprise 7.0.0-beta1 (#24039) 2020-04-29 13:10:22 +02:00
Tobias Skarhed
82f055ac1d Storybook: Rewrite stories to CSF (#23989)
* ColorPicker to CSF format

* Convert stories to CSF

* Do not export ClipboardButton

* Update ConfirmButton

* Remove unused imports

* Fix feedback
2020-04-29 13:08:27 +02:00
Alexander Zobnin
afc78339bd Fix login page redirected from password reset (#24032) 2020-04-29 14:04:32 +03:00
Arve Knudsen
670c96a1db latest.json: Update testing version (#24038)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-04-29 12:44:22 +02:00
Ivana Huckova
c2ae64b64a Add header icon to Add data source page (#24033) 2020-04-29 11:05:58 +02:00
Leonard Gram
7a7dca232c Devenv: ignore enterprise (#24037) 2020-04-29 10:57:29 +02:00
Arve Knudsen
f2e37b79dc CircleCI: Upgrade build pipeline tool (#24021)
* CircleCI: Upgrade build pipeline tool
2020-04-29 10:42:23 +02:00
Arve Knudsen
33ba9bb21b verify-repo-update: Fix Dockerfile.deb (#24030)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-04-29 10:14:35 +02:00
Marcus Efraimsson
64aba38f49 Update changelog for v7.0.0-beta1 (#24007)
Co-Authored-By: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-Authored-By: Andrej Ocenas <mr.ocenas@gmail.com>
Co-Authored-By: Hugo Häggmark <hugo.haggmark@grafana.com>
Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
2020-04-29 09:52:55 +02:00
Arve Knudsen
2a57e1108c Chore: Put what's new and release notes URLs in package.json (#24006)
* Put what's new and release notes URLs in package.json
* Upgrade build pipeline tool
2020-04-28 21:26:36 +02:00
Torkel Ödegaard
773dbb791a Update whats new (#24012) 2020-04-28 18:38:09 +02:00
Torkel Ödegaard
aaa249aa3b Docs: fix image link (#24011) 2020-04-28 18:31:54 +02:00
Andrej Ocenas
1f9ebf0402 Tracing: Fix view bounds after trace change (#23994) 2020-04-28 17:55:40 +02:00
Jon Gyllenswärd
6c7a917232 updated docs for reporting (#23733)
* updated docs

* peering comments

* Added info about what version test mails requires
2020-04-28 17:29:24 +02:00
Alex Khomenko
4c823d9221 Search: Convert time pickers to CSF (#24002) 2020-04-28 18:09:32 +03:00
Marcus Efraimsson
7c43dca9bb Fix pagination of issues/PR's in changelog generator (#23997)
Fix pagination of issues/PR's in changelog generator
2020-04-28 16:32:12 +02:00
Arve Knudsen
c24ca8ce41 CircleCI: Fix triggering of jobs for releases (#23999)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-04-28 16:05:35 +02:00
Emil Tullstedt
f722c665e7 Enterprise: List 7.0 features (#23956) 2020-04-28 15:22:30 +02:00
Alex Khomenko
dd31207ecf Search: minor fixes (#23984)
* Search: Use folder id as key when present

* Search: Do not render modals if not open
2020-04-28 15:31:11 +03:00
Torkel Ödegaard
88e9fccbc7 Docs: What's new in 7.0 placeholder (#23987)
* Docs: What's new in 7.0 placeholder

* Updated makefile
2020-04-28 14:17:54 +02:00
Arve Knudsen
154dc18809 Chore: Update Grafana version (#23985)
* Update Grafana version
2020-04-28 12:29:28 +02:00
849 changed files with 30965 additions and 8251 deletions

View File

@@ -2,6 +2,10 @@ version: 2.1
aliases:
# Workflow filters
# filter-all triggers for all branches and version tags
- &filter-all
tags:
only: /^v[0-9]+(\.[0-9]+){2}(-.+|[^-.]*)$/
- &filter-only-release
branches:
only: chore/test-release-pipeline
@@ -11,7 +15,9 @@ aliases:
tags:
ignore: /^v[0-9]+(\.[0-9]+){2}(-.+|[^-.]*)$/
branches:
ignore: master
ignore:
- master
- chore/test-release-pipeline
- &filter-only-master
branches:
only: master
@@ -35,7 +41,7 @@ executors:
- image: cimg/go:1.14
grafana-build:
docker:
- image: grafana/build-container:1.2.15
- image: grafana/build-container:1.2.16
grafana-publish:
docker:
- image: grafana/grafana-ci-deploy:1.2.5
@@ -50,7 +56,7 @@ commands:
- run:
name: "Install Grafana build pipeline tool"
command: |
VERSION=0.3.0
VERSION=0.4.8
curl -fLO https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v${VERSION}/grabpl
chmod +x grabpl
mv grabpl /tmp
@@ -87,7 +93,7 @@ jobs:
elif [[ $CIRCLE_BRANCH == "chore/test-release-pipeline" ]]; then
# We're testing the release pipeline
/tmp/grabpl build-backend --edition << parameters.edition >> \
--variants << parameters.variant >> v6.7.0-beta1
--variants << parameters.variant >> v7.0.0-test
else
# A master or PR build
/tmp/grabpl build-backend --edition << parameters.edition >> \
@@ -188,7 +194,13 @@ jobs:
- run:
name: Build internal Grafana plug-ins
command: |
/tmp/grabpl build-plugins --jobs 2 --edition << parameters.edition >>
if [[ -n "$CIRCLE_PR_NUMBER" ]]; then
# This is a forked PR, so don't sign as it requires an API secret
/tmp/grabpl build-plugins --jobs 2 --edition << parameters.edition >>
else
export GRAFANA_API_KEY=$GRAFANA_COM_API_KEY
/tmp/grabpl build-plugins --jobs 2 --edition << parameters.edition >> --sign --signing-admin
fi
- run:
name: Move artifacts
command: |
@@ -388,19 +400,25 @@ jobs:
source scripts/build/gpg-test-vars.sh
fi
# Necessary for signing bundled plugins
export GRAFANA_API_KEY=$GRAFANA_COM_API_KEY
if [[ -n $CIRCLE_TAG ]]; then
# A release build
/tmp/grabpl package --jobs 2 --edition oss $CIRCLE_TAG
/tmp/grabpl package --jobs 2 --edition oss --sign $CIRCLE_TAG
elif [[ $CIRCLE_BRANCH == "chore/test-release-pipeline" ]]; then
# We're testing the release pipeline
/tmp/grabpl package --jobs 2 --edition oss v6.7.0-beta1
/tmp/grabpl package --jobs 2 --edition oss --sign v7.0.0-test
elif [[ $CIRCLE_BRANCH == "master" ]]; then
# A master build
/tmp/grabpl package --jobs 2 --edition oss --build-id $CIRCLE_WORKFLOW_ID
else
# A PR build
/tmp/grabpl package --jobs 2 --edition oss --sign --build-id $CIRCLE_WORKFLOW_ID
elif [[ -n "$CIRCLE_PR_NUMBER" ]]; then
# A forked forked PR build, don't sign as it requires an API secret
/tmp/grabpl package --jobs 2 --edition oss --build-id $CIRCLE_WORKFLOW_ID --variants \
linux-x64,linux-x64-musl,osx64,win64
else
# A non-forked PR build
/tmp/grabpl package --jobs 2 --edition oss --sign --build-id $CIRCLE_WORKFLOW_ID --variants \
linux-x64,linux-x64-musl,osx64,win64
fi
- run:
name: Move artifacts
@@ -443,18 +461,25 @@ jobs:
- run:
name: Package Grafana
command: |
# Necessary for signing bundled plugins
export GRAFANA_API_KEY=$GRAFANA_COM_API_KEY
if [[ -n $CIRCLE_TAG ]]; then
# A release build
/tmp/grabpl package --jobs 2 --edition enterprise $CIRCLE_TAG
/tmp/grabpl package --jobs 2 --edition enterprise --sign $CIRCLE_TAG
elif [[ $CIRCLE_BRANCH == "chore/test-release-pipeline" ]]; then
# We're testing the release pipeline
/tmp/grabpl package --jobs 2 --edition enterprise v6.7.0-beta1
/tmp/grabpl package --jobs 2 --edition enterprise --sign v7.0.0-test
elif [[ $CIRCLE_BRANCH == "master" ]]; then
# A master build
/tmp/grabpl package --jobs 2 --edition enterprise --build-id $CIRCLE_WORKFLOW_ID
/tmp/grabpl package --jobs 2 --edition enterprise --sign --build-id $CIRCLE_WORKFLOW_ID
elif [[ -n "$CIRCLE_PR_NUMBER" ]]; then
# A forked forked PR build, don't sign as it requires an API secret
/tmp/grabpl package --jobs 2 --edition enterprise --build-id $CIRCLE_WORKFLOW_ID --variants \
linux-x64,linux-x64-musl,osx64,win64
else
# A PR build
/tmp/grabpl package --jobs 2 --edition enterprise --build-id $CIRCLE_WORKFLOW_ID --variants \
/tmp/grabpl package --jobs 2 --edition enterprise --sign --build-id $CIRCLE_WORKFLOW_ID --variants \
linux-x64,linux-x64-musl,osx64,win64
fi
- run:
@@ -506,7 +531,10 @@ jobs:
--deb-db-bucket grafana-testing-aptly-db --deb-repo-bucket grafana-testing-repo --packages-bucket \
grafana-downloads-test --rpm-repo-bucket grafana-testing-repo --simulate-release
else
/tmp/grabpl publish-packages --edition << parameters.edition >>
# TODO: Revert to non-simulation
/tmp/grabpl publish-packages --edition << parameters.edition >> \
--deb-db-bucket grafana-testing-aptly-db --deb-repo-bucket grafana-testing-repo --packages-bucket \
grafana-downloads-test --rpm-repo-bucket grafana-testing-repo --simulate-release
fi
- run:
name: CI job failed
@@ -587,6 +615,14 @@ jobs:
# This version is necessary for building cross-platform images
version: 18.09.3
- install-grabpl
- run:
name: Install gcloud SDK
command: |
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | \
sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \
sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
sudo apt-get update && sudo apt-get install google-cloud-sdk
# XXX: Is this necessary?
- run: docker run --privileged linuxkit/binfmt:v0.6
- run:
@@ -618,8 +654,14 @@ jobs:
if [[ $CIRCLE_BRANCH == "chore/test-release-pipeline" ]]; then
# We're testing the release pipeline
/tmp/grabpl publish-docker --jobs 4 --edition << parameters.edition >> --ubuntu=<< parameters.ubuntu >> --dry-run
elif [[ -n $CIRCLE_TAG ]]; then
# This is a release
# TODO: Revert to non-internal
/tmp/grabpl publish-docker --jobs 4 --edition << parameters.edition >> --ubuntu=<< parameters.ubuntu >> \
--internal
else
/tmp/grabpl publish-docker --jobs 4 --edition << parameters.edition >> --ubuntu=<< parameters.ubuntu >>
# TODO: Don't ignore errors, temporary workaround until we fix #22955
/tmp/grabpl publish-docker --jobs 4 --edition << parameters.edition >> --ubuntu=<< parameters.ubuntu >> || echo Publishing failed!
fi
- run:
name: CI job failed
@@ -659,6 +701,9 @@ jobs:
name: Start grafana-server
command: ./e2e/start-server
background: true
- run:
name: "Wait for Grafana to start"
command: './e2e/wait-for-grafana'
- run:
name: Run end-to-end tests
command: ./e2e/run-suite
@@ -854,7 +899,8 @@ jobs:
- run:
name: Build Grafana docs website
command: |
IMAGE=grafana/docs-base@sha256:63758b74e3990ab61e274f5e98da092d5c38378829dad0488aa97c59f0144f34
# Use latest revision here, since we want to catch if it breaks
IMAGE=grafana/docs-base:latest
# In order to copy sources into the remote container, we need to employ a trick of creating a container
# with a volume, that we copy the sources into. Then, we launch the build container, with the volume
@@ -901,6 +947,14 @@ jobs:
- run:
name: npm - Prepare auth token
command: "echo //registry.npmjs.org/:_authToken=$NPM_TOKEN >> ~/.npmrc"
- run:
name: Exit if release pipeline test
command: |
if [[ $CIRCLE_BRANCH == "chore/test-release-pipeline" ]]; then
# We're testing the release pipeline
echo "We're testing the release pipeline, so stopping before publishing"
circleci step halt
fi
- run:
name: Release packages
command: ./scripts/build/release-packages.sh "${CIRCLE_TAG}"
@@ -967,207 +1021,180 @@ jobs:
workflows:
build-pipeline:
jobs:
# No filters, meaning this job runs for all branches
- build-backend:
filters: *filter-master-or-release
edition: oss
variant: armv6
name: build-oss-backend-armv6
requires:
- test-backend
- test-frontend
- lint-go
- build-backend:
filters: *filter-master-or-release
edition: oss
variant: armv7
name: build-oss-backend-armv7
requires:
- test-backend
- test-frontend
- lint-go
- build-backend:
filters: *filter-master-or-release
edition: oss
variant: armv7-musl
name: build-oss-backend-armv7-musl
requires:
- test-backend
- test-frontend
- lint-go
- build-backend:
filters: *filter-master-or-release
edition: oss
variant: arm64
name: build-oss-backend-arm64
requires:
- test-backend
- test-frontend
- lint-go
- build-backend:
filters: *filter-master-or-release
edition: oss
variant: arm64-musl
name: build-oss-backend-arm64-musl
requires:
- test-backend
- test-frontend
- lint-go
- build-backend:
# No filters, meaning this job runs for all branches
filters: *filter-all
edition: oss
variant: osx64
name: build-oss-backend-osx64
requires:
- test-backend
- test-frontend
- lint-go
- build-backend:
# No filters, meaning this job runs for all branches
filters: *filter-all
edition: oss
variant: win64
name: build-oss-backend-win64
requires:
- test-backend
- test-frontend
- lint-go
- build-backend:
# No filters, meaning this job runs for all branches
filters: *filter-all
edition: oss
variant: linux-x64
name: build-oss-backend-linux-x64
requires:
- test-backend
- test-frontend
- lint-go
- build-backend:
# No filters, meaning this job runs for all branches
filters: *filter-all
edition: oss
variant: linux-x64-musl
name: build-oss-backend-linux-x64-musl
requires:
- test-backend
- test-frontend
- lint-go
- build-frontend:
# No filters, meaning this job runs for all branches
filters: *filter-all
name: build-oss-frontend
edition: oss
requires:
- test-backend
- test-frontend
- build-plugins:
# No filters, meaning this job runs for all branches
filters: *filter-all
name: build-oss-plugins
edition: oss
requires:
- test-backend
- test-frontend
- lint-go
- build-backend:
filters: *filter-master-or-release
name: build-enterprise-backend-armv6
edition: enterprise
variant: armv6
requires:
- test-backend
- test-frontend
- lint-go
- build-backend:
filters: *filter-master-or-release
name: build-enterprise-backend-armv7
edition: enterprise
variant: armv7
requires:
- test-backend
- test-frontend
- lint-go
- build-backend:
filters: *filter-master-or-release
name: build-enterprise-backend-armv7-musl
edition: enterprise
variant: armv7-musl
requires:
- test-backend
- test-frontend
- lint-go
- build-backend:
filters: *filter-master-or-release
name: build-enterprise-backend-arm64
edition: enterprise
variant: arm64
requires:
- test-backend
- test-frontend
- lint-go
- build-backend:
filters: *filter-master-or-release
name: build-enterprise-backend-arm64-musl
edition: enterprise
variant: arm64-musl
requires:
- test-backend
- test-frontend
- lint-go
- build-backend:
# No filters, meaning this job runs for all branches
filters: *filter-all
name: build-enterprise-backend-osx64
edition: enterprise
variant: osx64
requires:
- test-backend
- test-frontend
- lint-go
- build-backend:
# No filters, meaning this job runs for all branches
filters: *filter-all
name: build-enterprise-backend-win64
edition: enterprise
variant: win64
requires:
- test-backend
- test-frontend
- lint-go
- build-backend:
# No filters, meaning this job runs for all branches
filters: *filter-all
name: build-enterprise-backend-linux-x64
edition: enterprise
variant: linux-x64
requires:
- test-backend
- test-frontend
- lint-go
- build-backend:
# No filters, meaning this job runs for all branches
filters: *filter-all
name: build-enterprise-backend-linux-x64-musl
edition: enterprise
variant: linux-x64-musl
requires:
- test-backend
- test-frontend
- lint-go
- build-frontend:
# No filters, meaning this job runs for all branches
filters: *filter-all
name: build-enterprise-frontend
edition: enterprise
requires:
- test-backend
- test-frontend
- build-plugins:
# No filters, meaning this job runs for all branches
filters: *filter-all
name: build-enterprise-plugins
edition: enterprise
requires:
- test-backend
- test-frontend
- lint-go
- build-release-publisher:
filters: *filter-master-or-release
# No filters, meaning this job runs for all branches
- codespell
# No filters, meaning this job runs for all branches
- lint-go
# No filters, meaning this job runs for all branches
- shellcheck
# No filters, meaning this job runs for all branches
- codespell:
filters: *filter-all
- lint-go:
filters: *filter-all
- shellcheck:
filters: *filter-all
- test-backend:
filters: *filter-all
requires:
- lint-go
# No filters, meaning this job runs for all branches
- test-frontend
# No filters, meaning this job runs for all branches
- test-frontend:
filters: *filter-all
- mysql-integration-test:
filters: *filter-all
requires:
- lint-go
- test-backend
- test-frontend
- postgres-integration-test:
# No filters, meaning this job runs for all branches
filters: *filter-all
requires:
- lint-go
- test-backend
- test-frontend
- package-oss:
# No filters, meaning this job runs for all branches
filters: *filter-all
requires:
- build-oss-backend-armv6
- build-oss-backend-armv7
@@ -1185,7 +1212,7 @@ workflows:
- shellcheck
- build-oss-plugins
- package-enterprise:
# No filters, meaning this job runs for all branches
filters: *filter-all
requires:
- build-enterprise-backend-armv6
- build-enterprise-backend-armv7
@@ -1203,23 +1230,17 @@ workflows:
- shellcheck
- build-enterprise-plugins
- build-oss-windows-installer:
# No filters, meaning this job runs for all branches
filters: *filter-all
requires:
- package-oss
- build-enterprise-windows-installer:
# No filters, meaning this job runs for all branches
filters: *filter-all
requires:
- package-enterprise
- release-next-packages:
filters: *filter-only-master
requires:
- end-to-end-tests
- release-packages:
filters: *filter-only-release
requires:
- end-to-end-tests
- mysql-integration-test
- postgres-integration-test
- publish-packages:
filters: *filter-master-or-release
name: publish-oss-packages
@@ -1242,12 +1263,14 @@ workflows:
- mysql-integration-test
- postgres-integration-test
- build-release-publisher
# Is this OK to run on Friday?
- publish-storybook:
filters: *filter-all
requires:
- test-backend
- test-frontend
- build-docker-images:
# No filters, meaning this job runs for all branches
filters: *filter-all
name: build-oss-docker-images
edition: oss
ubuntu: false
@@ -1258,7 +1281,7 @@ workflows:
- package-oss
- build-oss-windows-installer
- build-docker-images:
# No filters, meaning this job runs for all branches
filters: *filter-all
name: build-oss-ubuntu-docker-images
edition: oss
ubuntu: true
@@ -1269,7 +1292,7 @@ workflows:
- package-oss
- build-oss-windows-installer
- build-docker-images:
# No filters, meaning this job runs for all branches
filters: *filter-all
name: build-enterprise-docker-images
edition: enterprise
ubuntu: false
@@ -1280,7 +1303,7 @@ workflows:
- package-enterprise
- build-enterprise-windows-installer
- build-docker-images:
# No filters, meaning this job runs for all branches
filters: *filter-all
name: build-enterprise-ubuntu-docker-images
edition: enterprise
ubuntu: true
@@ -1291,7 +1314,7 @@ workflows:
- package-enterprise
- build-enterprise-windows-installer
- end-to-end-tests:
# No filters, meaning this job runs for all branches
filters: *filter-all
requires:
- package-oss
- build-docs-website:

9
.gitignore vendored
View File

@@ -20,6 +20,9 @@ vendor/
/emails/templates/enterprise_*
/public/emails/enterprise_*
# Enterprise devenv
/devenv/docker/blocks/grafana-enterprise
/tmp
tools/phantomjs/phantomjs
tools/phantomjs/phantomjs.exe
@@ -108,9 +111,9 @@ compilation-stats.json
/packages/grafana-e2e/cypress/videos
/packages/grafana-e2e/cypress/logs
/e2e/server.log
/e2e/suite1/screenshots
!/e2e/suite1/screenshots/expeced/*
/e2e/suite1/videos/*
/e2e/**/screenshots
!/e2e/**/screenshots/expeced/*
/e2e/**/videos/*
# report dumping the whole system env
/report.*.json

View File

@@ -1,3 +1,133 @@
# 7.0.0 (unreleased)
## Breaking changes
- **Removed PhantomJS**: PhantomJS was deprecated in [Grafana v6.4](https://grafana.com/docs/grafana/latest/guides/whats-new-in-v6-4/#phantomjs-deprecation) and starting from Grafana v7.0.0, all PhantomJS support has been removed. This means that Grafana no longer ships with a built-in image renderer, and we advise you to install the [Grafana Image Renderer plugin](https://grafana.com/grafana/plugins/grafana-image-renderer).
- **Docker**: Our Ubuntu based images have been upgraded to Ubuntu [20.04 LTS](https://releases.ubuntu.com/20.04/).
- **Dashboard**: A global minimum dashboard refresh interval is now enforced and defaults to 5 seconds.
- **@grafana/ui**: Forms migration notice, see [@grafana/ui changelog](https://github.com/grafana/grafana/blob/master/packages/grafana-ui/CHANGELOG.md)
- **@grafana/ui**: Select API change for creating custom values, see [@grafana/ui changelog](https://github.com/grafana/grafana/blob/master/packages/grafana-ui/CHANGELOG.md)
- **Interval calculation**: There is now a new option `Max data points` that controls the auto interval `$__interval` calculation. Interval was previously calculated by dividing the panel width by the time range. With the new max data points option it is now easy to set `$__interval` to a dynamic value that is time range agnostic. For example if you set `Max data points` to 10 Grafana will dynamically set `$__interval` by dividing the current time range by 10.
- **Datasource/Loki**: Support for [deprecated Loki endpoints](https://github.com/grafana/loki/blob/master/docs/api.md#lokis-http-api) has been removed.
**Deprecation warnings**
- Scripted dashboards is now deprecated. The feature is not removed but will be in a future release. We hope to address the underlying requirement of dynamic dashboards in a different way. [#24059](https://github.com/grafana/grafana/issues/24059)
- The unofficial first version of backend plugins together with usage of [grafana/grafana-plugin-model](https://github.com/grafana/grafana-plugin-model) is now deprecated and support for that will be removed in a future release. Please refer to [backend plugins documentation](https://grafana.com/docs/grafana/latest/developers/plugins/backend/) for information about the new officially supported backend plugins.
## 7.0 Feature highlights
### Data transformations
Not just visualizing data from anywhere, in Grafana 7 you can transform it too. By chaining a simple set of point and click transformations users will be able join, pivot, filter, re-name and calculate to get the results they need. Perfect for operations across queries or data sources missing essential data transformations.
Data transformations will provide a common set of data operations that were previously duplicated as custom features in many panels or data sources but are now an integral part of the Grafana data processing pipeline and something all data sources and panels can take advantage of.
In Grafana 7.0 we have a shared data model for both time series and table data that we call [DataFrame](https://github.com/grafana/grafana/blob/master/docs/sources/plugins/developing/dataframe.md). A DataFrame is like a table with columns but we refer to columns as fields. A time series is simply a DataFrame with two fields (time & value).
**Transformations shipping in 7.0**
- **Reduce**: Reduce many rows / data points to a single value
- **Filter by name**: Filter fields by name or regex
- **Filter by refId**: Filter by query letter
- **Organize fields**: Reorder, rename and hide fields.
- **Labels to fields**: Transform time series with labels into a table where labels get's converted to fields and the result is joined by time
- **Join by field**: Join many result sets (series) together using for example the time field. Useful for transforming time series into a table with a shared time column and where each series get it's own column.
- **Add field from calculation**: This is a powerful transformation that allows you perform many different types of math operations and add the result as a new field. Examples:
- Calculate the difference between two series or fields and add the result to a new field
- Multiply one field with another another and add the result to a new field
### New panel edit experience
In Grafana 7 we have redesigned the UI for editing panels. The first visible change is that we have separated panel display settings to a right hand side pane that you can collapse or expand depending on what your focus is on. With this change we are also introducing our new unified option model & UI for defining data configuration and display options. This unified data configuration system powers a consistent UI for setting data options across visualizations as well as making all data display settings data driven and overridable.
This new option architecture and UI will make all panels have a consistent set of options and behaviors for attributes like `unit`, `min`, `max`, `thresholds`, `links`, `decimals`. Not only that but all these options will share a consistent UI for specifying override rules and is extensible for custom panel specific options.
We have yet to migrate all core panels to this new architecture so in 7.0 there will sadly be some big inconsistencies in the UI between panels. Hopefully this will be fixed soon in future releases as we update all the core panels and help the community update the community panel plugins.
### New table panel
Grafana 7.0 comes with a new table panel (and deprecates the old one). This new table panel supports horizontal scrolling and column resize. Paired with the new `Organize fields` transformation detailed above you can reorder, hide & rename columns. This new panel also supports new cell display modes, like showing a bar gauge inside a cell.
### Panel inspector
The panel inspector is a feature that every panel will support, including internal as well as external community plugins. In this new panel inspector, you can view the raw data in a table format, apply some pre-defined transformations, and download as CSV. You can find the __Inspect__ setting in the panel menu. Use the keyboard shortcut `i` when hovering over a panel to get the panel inspector to appear.
### Improved time zone support
Starting in version 7.0, you can override the time zone used to display date and time values in a dashboard.
With this feature, you can specify the local time zone of the service or system that you are monitoring. This can be helpful when monitoring a system or service that operates across several time zones.
We have also extended the time zone options so you can select any of the standard [ISO 8601 time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
# 7.0.0-beta3 (2020-05-08)
### Features / Enhancements
- **Docker**: Upgrade to Alpine 3.11. [#24056](https://github.com/grafana/grafana/pull/24056), [@aknuds1](https://github.com/aknuds1)
- **Forms**: Remove Forms namespace [BREAKING]. Will cause all `Forms` imports to stop working. See migration guide in [@grafana/ui changelog](https://github.com/grafana/grafana/blob/master/packages/grafana-ui/CHANGELOG.md)[#24378](https://github.com/grafana/grafana/pull/24378), [@tskarhed](https://github.com/tskarhed)
### Bug Fixes
- **CloudWatch**: Fix error with expression only query. [#24362](https://github.com/grafana/grafana/pull/24362), [@aocenas](https://github.com/aocenas)
- **Elasticsearch**: Fix building of raw document queries resulting in error Unknown BaseAggregationBuilder error. [#24403](https://github.com/grafana/grafana/pull/24403), [@ivanahuckova](https://github.com/ivanahuckova)
- **Prometheus**: Fix for prometheus legend formats for instant time series queries. [#24407](https://github.com/grafana/grafana/pull/24407), [@torkelo](https://github.com/torkelo)
# 7.0.0-beta2 (2020-05-07)
## Breaking changes
- **Removed PhantomJS**: PhantomJS was deprecated in [Grafana v6.4](https://grafana.com/docs/grafana/latest/guides/whats-new-in-v6-4/#phantomjs-deprecation) and starting from Grafana v7.0.0, all PhantomJS support has been removed. This means that Grafana no longer ships with a built-in image renderer, and we advise you to install the [Grafana Image Renderer plugin](https://grafana.com/grafana/plugins/grafana-image-renderer).
- **Docker**: Our Ubuntu based images have been upgraded to Ubuntu [20.04 LTS](https://releases.ubuntu.com/20.04/).
- **Dashboard**: A global minimum dashboard refresh interval is now enforced and defaults to 5 seconds.
- **@grafana/ui**: Forms migration notice, see [@grafana/ui changelog](https://github.com/grafana/grafana/blob/master/packages/grafana-ui/CHANGELOG.md)
- **Interval calculation**: There is now a new option `Max data points` that controls the auto interval `$__interval` calculation. Interval was previously calculated by dividing the panel width by the time range. With the new max data points option it is now easy to set `$__interval` to a dynamic value that is time range agnostic. For example if you set `Max data points` to 10 Grafana will dynamically set `$__interval` by dividing the current time range by 10.
- **Datasource/Loki**: Support for [deprecated Loki endpoints](https://github.com/grafana/loki/blob/master/docs/api.md#lokis-http-api) has been removed.
**Deprecation warnings**
- Scripted dashboards are now deprecated. The feature is not removed but will be in a future release. We hope to address the underlying requirement of dynamic dashboards in a different way. [#24059](https://github.com/grafana/grafana/issues/24059)
### Features / Enhancements
- **CloudWatch**: Adds more examples to CloudWatch Logs cheatsheet. [#24288](https://github.com/grafana/grafana/pull/24288), [@kaydelaney](https://github.com/kaydelaney)
- **Elasticsearch**: Changes terms min_doc_count default from 1 to 0. [#24204](https://github.com/grafana/grafana/pull/24204), [@Estrax](https://github.com/Estrax)
- **Login Page**: New design. [#23892](https://github.com/grafana/grafana/pull/23892), [@torkelo](https://github.com/torkelo)
- **Logs**: Add log level Fatal. [#24185](https://github.com/grafana/grafana/pull/24185), [@davkal](https://github.com/davkal)
- **Loki**: Show loki datasource stats in panel inspector. [#24190](https://github.com/grafana/grafana/pull/24190), [@davkal](https://github.com/davkal)
- **Migration**: Dashboard links. [#23553](https://github.com/grafana/grafana/pull/23553), [@peterholmberg](https://github.com/peterholmberg)
- **Plugins**: Require signing of external back-end plugins. [#24075](https://github.com/grafana/grafana/pull/24075), [@aknuds1](https://github.com/aknuds1)
- **Prometheus**: Add off switch for metric/label name lookup. [#24034](https://github.com/grafana/grafana/pull/24034), [@s-h-a-d-o-w](https://github.com/s-h-a-d-o-w)
- **Search**: Bring back open search by clicking dashboard name. [#24151](https://github.com/grafana/grafana/pull/24151), [@torkelo](https://github.com/torkelo)
- **Tracing**: Header updates. [#24153](https://github.com/grafana/grafana/pull/24153), [@aocenas](https://github.com/aocenas)
- **Transformations**: Improve time series support. [#23978](https://github.com/grafana/grafana/pull/23978), [@ryantxu](https://github.com/ryantxu)
### Bug Fixes
- **CloudWatch logs**: Fix default region interpolation and reset log groups on region change. [#24346](https://github.com/grafana/grafana/pull/24346), [@aocenas](https://github.com/aocenas)
- **Dashboard**: Fix for folder picker menu not being visible outside modal when saving dashboard. [#24296](https://github.com/grafana/grafana/pull/24296), [@tskarhed](https://github.com/tskarhed)
- **Dashboard**: Go to explore now works even after discarding dashboard changes. [#24149](https://github.com/grafana/grafana/pull/24149), [@torkelo](https://github.com/torkelo)
- **Dashboard**: Only show cache timeout option in panel edit if enabled in data source plugin json. [#24095](https://github.com/grafana/grafana/pull/24095), [@peterholmberg](https://github.com/peterholmberg)
- **Dashboard**: Propagate unhandled errors when saving dashboard. [#24081](https://github.com/grafana/grafana/pull/24081), [@peterholmberg](https://github.com/peterholmberg)
- **Dashboard**: Variable without a current value in json model causes crash on load. [#24261](https://github.com/grafana/grafana/pull/24261), [@torkelo](https://github.com/torkelo)
- **DashboardManager**: Disable editing if there are no folder permissions. [#24237](https://github.com/grafana/grafana/pull/24237), [@tskarhed](https://github.com/tskarhed)
- **DataLinks**: Do not add empty links. [#24088](https://github.com/grafana/grafana/pull/24088), [@dprokop](https://github.com/dprokop)
- **Explore/Loki**: Removes old query syntax support for regex filter. [#24281](https://github.com/grafana/grafana/pull/24281), [@Estrax](https://github.com/Estrax)
- **Explore**: Fix showing of results of queries in table. [#24018](https://github.com/grafana/grafana/pull/24018), [@ivanahuckova](https://github.com/ivanahuckova)
- **Field options**: show field name when title option config is empty. [#24335](https://github.com/grafana/grafana/pull/24335), [@dprokop](https://github.com/dprokop)
- **Graph**: Fixed graph tooltip getting stuck / not being cleared when leaving dashboard. [#24162](https://github.com/grafana/grafana/pull/24162), [@torkelo](https://github.com/torkelo)
- **Graph**: Fixed issue with x-axis labels showing "MM/DD" after viewing dashboard with pie chart. [#24341](https://github.com/grafana/grafana/pull/24341), [@mckn](https://github.com/mckn)
- **Jaeger**: Fix how label is created in cascader. [#24164](https://github.com/grafana/grafana/pull/24164), [@aocenas](https://github.com/aocenas)
- **Loki**: Fix label matcher for log metrics queries. [#24238](https://github.com/grafana/grafana/pull/24238), [@ivanahuckova](https://github.com/ivanahuckova)
- **Panel inspect**: hides Query tab for plugins without Query ability. [#24216](https://github.com/grafana/grafana/pull/24216), [@hugohaggmark](https://github.com/hugohaggmark)
- **Prometheus**: Refresh query field metrics on data source change. [#24116](https://github.com/grafana/grafana/pull/24116), [@s-h-a-d-o-w](https://github.com/s-h-a-d-o-w)
- **Select**: Fixes so component loses focus on selecting value or pressing outside of input. [#24008](https://github.com/grafana/grafana/pull/24008), [@mckn](https://github.com/mckn)
- **Stat/Gauge/BarGauge**: Shows default cursor when missing links. [#24284](https://github.com/grafana/grafana/pull/24284), [@hugohaggmark](https://github.com/hugohaggmark)
- **Tracing**: Fix view bounds after trace change. [#23994](https://github.com/grafana/grafana/pull/23994), [@aocenas](https://github.com/aocenas)
- **Variables**: Migrates old tags format for consistency. [#24276](https://github.com/grafana/grafana/pull/24276), [@hugohaggmark](https://github.com/hugohaggmark)
- **Reporting**: Update report schedule as soon as a report is updated (Enterprise)
# 7.0.0-beta1 (2020-04-28)
## Breaking changes
@@ -5,115 +135,145 @@
- **Removed PhantomJS**: PhantomJS was deprecated in [Grafana v6.4](https://grafana.com/docs/grafana/latest/guides/whats-new-in-v6-4/#phantomjs-deprecation) and starting from Grafana v7.0.0, all PhantomJS support has been removed. This means that Grafana no longer ships with a built-in image renderer, and we advise you to install the [Grafana Image Renderer plugin](https://grafana.com/grafana/plugins/grafana-image-renderer).
- **Docker**: Our Ubuntu based images have been upgraded to Ubuntu [20.04 LTS](https://releases.ubuntu.com/20.04/).
- **Dashboard**: A global minimum dashboard refresh interval is now enforced and defaults to 5 seconds.
- **@grafana/ui**: Forms migration notice, see [@grafana/ui changelog](https://github.com/grafana/grafana/blob/master/packages/grafana-ui/CHANGELOG.md)
- **@grafana/ui**: Select API change for creating custom values, see [@grafana/ui changelog](https://github.com/grafana/grafana/blob/master/packages/grafana-ui/CHANGELOG.md)
- **Interval calculation**: There is now a new option `Max data points` that controls the auto interval `$__interval` calculation. Interval was previously calculated by dividing the panel width by the time range. With the new max data points option it is now easy to set `$__interval` to a dynamic value that is time range agnostic. For example if you set `Max data points` to 10 Grafana will dynamically set `$__interval` by dividing the current time range by 10.
- **Datasource/Loki**: Support for [deprecated Loki endpoints](https://github.com/grafana/loki/blob/master/docs/api.md#lokis-http-api) has been removed.
### Features / Enhancements
* **@grafana/ui**: Create Icon component and replace icons. [#23402](https://github.com/grafana/grafana/pull/23402), [@ivanahuckova](https://github.com/ivanahuckova)
* **@grafana/ui**: Create slider component. [#22275](https://github.com/grafana/grafana/pull/22275), [@ivanahuckova](https://github.com/ivanahuckova)
* **@grafana/ui**: Remove ColorPallete component. [#23592](https://github.com/grafana/grafana/pull/23592), [@ivanahuckova](https://github.com/ivanahuckova)
* **AWS IAM**: Support for AWS EKS ServiceAccount roles. [#21594](https://github.com/grafana/grafana/pull/21594), [@patstrom](https://github.com/patstrom)
* **Add ServerlessDatabaseCapacity to AWS/RDS metrics**. [#23635](https://github.com/grafana/grafana/pull/23635), [@jackstevenson](https://github.com/jackstevenson)
* **AlertNotifications**: Translate notifications IDs to UIDs in Rule builder. [#19882](https://github.com/grafana/grafana/pull/19882), [@aSapien](https://github.com/aSapien)
* **Alerting**: Adds support for basic auth in Alertmanager notifier. [#23231](https://github.com/grafana/grafana/pull/23231), [@melchiormoulin](https://github.com/melchiormoulin)
* **Alerting**: Enable Alert rule tags to override PagerDuty Severity setting. [#22736](https://github.com/grafana/grafana/pull/22736), [@AndrewBurian](https://github.com/AndrewBurian)
* **Alerting**: Handle image renderer unavailable when edit notifiers. [#23711](https://github.com/grafana/grafana/pull/23711), [@marefr](https://github.com/marefr)
* **Alerting**: Upload error image when image renderer unavailable. [#23713](https://github.com/grafana/grafana/pull/23713), [@marefr](https://github.com/marefr)
* **Allow API to assign new user to a specific organization**. [#21775](https://github.com/grafana/grafana/pull/21775), [@Sytten](https://github.com/Sytten)
* **Auth**: update cookies' path value to reduce requests and avoid query param truncation. [#22265](https://github.com/grafana/grafana/pull/22265), [@consideRatio](https://github.com/consideRatio)
* **Build**: Remove usage of Go vendoring. [#23796](https://github.com/grafana/grafana/pull/23796), [@kylebrandt](https://github.com/kylebrandt)
* **Build**: Upgrade to Go 1.14. [#23371](https://github.com/grafana/grafana/pull/23371), [@aknuds1](https://github.com/aknuds1)
* **CloudWatch**: Added AWS Chatbot metrics and dimensions. [#23516](https://github.com/grafana/grafana/pull/23516), [@ilyastoli](https://github.com/ilyastoli)
* **CloudWatch**: Added Cassandra namespace. [#23299](https://github.com/grafana/grafana/pull/23299), [@vikkyomkar](https://github.com/vikkyomkar)
* **CloudWatch**: Added missing Cassandra metrics. [#23467](https://github.com/grafana/grafana/pull/23467), [@ilyastoli](https://github.com/ilyastoli)
* **CloudWatch**: Prefer webIdentity over EC2 role. [#23452](https://github.com/grafana/grafana/pull/23452), [@dnascimento](https://github.com/dnascimento)
* **CloudWatch**: Prefer webIdentity over EC2 role also when assuming a role. [#23807](https://github.com/grafana/grafana/pull/23807), [@bruecktech](https://github.com/bruecktech)
* **Dashboard**: Add failsafe for slug generation. [#23709](https://github.com/grafana/grafana/pull/23709), [@sakjur](https://github.com/sakjur)
* **Dashboard**: Enforce minimum dashboard refresh interval to 5 seconds per default. [#23929](https://github.com/grafana/grafana/pull/23929), [@marefr](https://github.com/marefr)
* **Dashboard**: Handle no renderer available in panel share dialog. [#23856](https://github.com/grafana/grafana/pull/23856), [@marefr](https://github.com/marefr)
* **Data source**: Max data points now used in interval calculation for all data sources. [#23915](https://github.com/grafana/grafana/pull/23915), [@torkelo](https://github.com/torkelo)
* **Database**: Update the xorm dependency to v0.8.1. [#22376](https://github.com/grafana/grafana/pull/22376), [@novalagung](https://github.com/novalagung)
* **Datasource/Cloudwatch**: Adds support for Cloudwatch Logs. [#23566](https://github.com/grafana/grafana/pull/23566), [@kaydelaney](https://github.com/kaydelaney)
* **DateTime**: adding support to select preferred timezone for presentation of date and time values.. [#23586](https://github.com/grafana/grafana/pull/23586), [@mckn](https://github.com/mckn)
* **Docker**: Upgrade to Ubuntu 20.04 in Dockerfiles. [#23852](https://github.com/grafana/grafana/pull/23852), [@aknuds1](https://github.com/aknuds1)
* **Docs**: adding API reference documentation support for the packages libraries.. [#21931](https://github.com/grafana/grafana/pull/21931), [@mckn](https://github.com/mckn)
* **Explore**: Add trace UI to show traces from tracing datasources. [#23047](https://github.com/grafana/grafana/pull/23047), [@aocenas](https://github.com/aocenas)
* **FieldOverrides**: Support data links via field overrides. [#23590](https://github.com/grafana/grafana/pull/23590), [@dprokop](https://github.com/dprokop)
* **Grafana Toolkit**: Adds template for backend datasource. [#23864](https://github.com/grafana/grafana/pull/23864), [@bergquist](https://github.com/bergquist)
* **Graphite**: Rollup indicator and custom meta data inspector . [#22738](https://github.com/grafana/grafana/pull/22738), [@torkelo](https://github.com/torkelo)
* **Image Rendering**: New setting to control render request concurrency. [#23950](https://github.com/grafana/grafana/pull/23950), [@marefr](https://github.com/marefr)
* **Image Rendering**: Remove PhantomJS support. [#23460](https://github.com/grafana/grafana/pull/23460), [@marefr](https://github.com/marefr)
* **Logs**: Derived fields link design. [#23695](https://github.com/grafana/grafana/pull/23695), [@aocenas](https://github.com/aocenas)
* **Migration**: Add old Input to legacy namespace. [#23286](https://github.com/grafana/grafana/pull/23286), [@tskarhed](https://github.com/tskarhed)
* **Migration**: Admin org edit page. [#23866](https://github.com/grafana/grafana/pull/23866), [@tskarhed](https://github.com/tskarhed)
* **Migration**: Change password. [#23623](https://github.com/grafana/grafana/pull/23623), [@tskarhed](https://github.com/tskarhed)
* **Migration**: Data/Panel link editor. [#23778](https://github.com/grafana/grafana/pull/23778), [@tskarhed](https://github.com/tskarhed)
* **Migration**: Final components to LegacyForms. [#23707](https://github.com/grafana/grafana/pull/23707), [@tskarhed](https://github.com/tskarhed)
* **Migration**: Layout Selector. [#23790](https://github.com/grafana/grafana/pull/23790), [@tskarhed](https://github.com/tskarhed)
* **Migration**: Move Switch from Forms namespace. [#23386](https://github.com/grafana/grafana/pull/23386), [@tskarhed](https://github.com/tskarhed)
* **Migration**: Move last components from Forms namespace. [#23556](https://github.com/grafana/grafana/pull/23556), [@tskarhed](https://github.com/tskarhed)
* **Migration**: Move old Switch to legacy namespace. [#23357](https://github.com/grafana/grafana/pull/23357), [@tskarhed](https://github.com/tskarhed)
* **Migration**: Org users page. [#23372](https://github.com/grafana/grafana/pull/23372), [@tskarhed](https://github.com/tskarhed)
* **Migration**: Orgs list. [#23821](https://github.com/grafana/grafana/pull/23821), [@tskarhed](https://github.com/tskarhed)
* **Migration**: Teams and alert list. [#23810](https://github.com/grafana/grafana/pull/23810), [@tskarhed](https://github.com/tskarhed)
* **Migration**: TextArea from Forms namespace. [#23436](https://github.com/grafana/grafana/pull/23436), [@tskarhed](https://github.com/tskarhed)
* **OAuth **: Introduce new setting for configuring max age of OAuth state cookie . [#23195](https://github.com/grafana/grafana/pull/23195), [@rtrompier](https://github.com/rtrompier)
* **OAuth**: Adds Okta provider. [#22972](https://github.com/grafana/grafana/pull/22972), [@alexanderzobnin](https://github.com/alexanderzobnin)
* **Packages**: Bundle plugins. [#23787](https://github.com/grafana/grafana/pull/23787), [@aknuds1](https://github.com/aknuds1)
* **PanelPlugin**: add deprecation notice to setEditor method. [#23895](https://github.com/grafana/grafana/pull/23895), [@dprokop](https://github.com/dprokop)
* **Plugins**: Adds support for URL params in plugin routes. [#23503](https://github.com/grafana/grafana/pull/23503), [@daniellee](https://github.com/daniellee)
* **Plugins**: Hide plugins page from viewers, and limit /api/plugins to only core plugins when called by viewer role . [#21901](https://github.com/grafana/grafana/pull/21901), [@dprokop](https://github.com/dprokop)
* **Postgres**: Add SSL support for datasource. [#21341](https://github.com/grafana/grafana/pull/21341), [@ryankurte](https://github.com/ryankurte)
* **Prometheus**: Render missing labels in legend formats as an empty string. [#22355](https://github.com/grafana/grafana/pull/22355), [@Hixon10](https://github.com/Hixon10)
* **Provisioning**: Allows specifying uid for datasource and use that in derived fields. [#23585](https://github.com/grafana/grafana/pull/23585), [@aocenas](https://github.com/aocenas)
* **Provisioning**: Validate that dashboard providers have unique names. [#22898](https://github.com/grafana/grafana/pull/22898), [@youshy](https://github.com/youshy)
* **Rendering**: Add metrics. [#23827](https://github.com/grafana/grafana/pull/23827), [@alexanderzobnin](https://github.com/alexanderzobnin)
* **Search**: Replace search implementation. [#23855](https://github.com/grafana/grafana/pull/23855), [@sakjur](https://github.com/sakjur)
* **Stackdriver**: Support for SLO queries. [#22917](https://github.com/grafana/grafana/pull/22917), [@sunker](https://github.com/sunker)
* **Table**: Improvements to column resizing, style and alignment . [#23663](https://github.com/grafana/grafana/pull/23663), [@torkelo](https://github.com/torkelo)
* **Table**: upgrades react-table to 7.0.0 and typings. [#23247](https://github.com/grafana/grafana/pull/23247), [@hugohaggmark](https://github.com/hugohaggmark)
* **TablePanel**: Handle column overflow and horizontal scrolling in table panel. [#4157](https://github.com/grafana/grafana/pull/4157), [@jerryxguo](https://github.com/jerryxguo)
* **Tracing**: Zipkin datasource. [#23829](https://github.com/grafana/grafana/pull/23829), [@aocenas](https://github.com/aocenas)
* **Transformations**: Improve UI and add some love to filter by name. [#23751](https://github.com/grafana/grafana/pull/23751), [@dprokop](https://github.com/dprokop)
* **Transformers**: adds labels as columns transformer. [#23703](https://github.com/grafana/grafana/pull/23703), [@hugohaggmark](https://github.com/hugohaggmark)
* **Transformers**: calculate a new field based on the row values. [#23675](https://github.com/grafana/grafana/pull/23675), [@ryantxu](https://github.com/ryantxu)
* **Units**: add (IEC) and (Metric) to bits and bytes. [#23175](https://github.com/grafana/grafana/pull/23175), [@flopp999](https://github.com/flopp999)
* **Usagestats**: Add usage stats about what type of datasource is used in alerting. . [#23125](https://github.com/grafana/grafana/pull/23125), [@bergquist](https://github.com/bergquist)
* **Variable**: Support more variable formatting.. [#21622](https://github.com/grafana/grafana/pull/21622), [@xiaobeiyang](https://github.com/xiaobeiyang)
* **azuremonitor**: add alerting support - port azure log analytics to the backend. [#23839](https://github.com/grafana/grafana/pull/23839), [@daniellee](https://github.com/daniellee)
* **delete old dashboard versions in multiple batches**. [#23348](https://github.com/grafana/grafana/pull/23348), [@DanCech](https://github.com/DanCech)
* **grafana/data**: PanelTypeChangedHandler API update to use PanelModel instead of panel options object [BREAKING]. [#22754](https://github.com/grafana/grafana/pull/22754), [@dprokop](https://github.com/dprokop)
* **grafana/ui**: Add basic horizontal and vertical layout components. [#22303](https://github.com/grafana/grafana/pull/22303), [@dprokop](https://github.com/dprokop)
- **@grafana/ui**: Create Icon component and replace icons. [#23402](https://github.com/grafana/grafana/pull/23402), [@ivanahuckova](https://github.com/ivanahuckova)
- **@grafana/ui**: Create slider component. [#22275](https://github.com/grafana/grafana/pull/22275), [@ivanahuckova](https://github.com/ivanahuckova)
- **@grafana/ui**: Remove ColorPalette component. [#23592](https://github.com/grafana/grafana/pull/23592), [@ivanahuckova](https://github.com/ivanahuckova)
- **AWS IAM**: Support for AWS EKS ServiceAccount roles for CloudWatch and S3 image upload. [#21594](https://github.com/grafana/grafana/pull/21594), [@patstrom](https://github.com/patstrom)
- **Alerting**: Adds support for basic auth in Alertmanager notifier. [#23231](https://github.com/grafana/grafana/pull/23231), [@melchiormoulin](https://github.com/melchiormoulin)
- **Alerting**: Enable Alert rule tags to override PagerDuty Severity setting. [#22736](https://github.com/grafana/grafana/pull/22736), [@AndrewBurian](https://github.com/AndrewBurian)
- **Alerting**: Handle image renderer unavailable when edit notifiers. [#23711](https://github.com/grafana/grafana/pull/23711), [@marefr](https://github.com/marefr)
- **Alerting**: Upload error image when image renderer unavailable. [#23713](https://github.com/grafana/grafana/pull/23713), [@marefr](https://github.com/marefr)
- **Alerting**: support alerting on data.Frame (that can be time series). [#22812](https://github.com/grafana/grafana/pull/22812), [@kylebrandt](https://github.com/kylebrandt)
- **Azure Monitor**: Add alerting support - Port Azure log analytics to the backend. [#23839](https://github.com/grafana/grafana/pull/23839), [@daniellee](https://github.com/daniellee)
- **Backend plugins**: Support alerting in external data source plugins. [#6841](https://github.com/grafana/grafana/issues/6841)
- **Build**: Bundle plugins. [#23787](https://github.com/grafana/grafana/pull/23787), [@aknuds1](https://github.com/aknuds1)
- **Build**: Remove usage of Go vendoring. [#23796](https://github.com/grafana/grafana/pull/23796), [@kylebrandt](https://github.com/kylebrandt)
- **Build**: Upgrade to Go 1.14. [#23371](https://github.com/grafana/grafana/pull/23371), [@aknuds1](https://github.com/aknuds1)
- **CloudWatch**: Added AWS Chatbot metrics and dimensions. [#23516](https://github.com/grafana/grafana/pull/23516), [@ilyastoli](https://github.com/ilyastoli)
- **CloudWatch**: Added Cassandra namespace. [#23299](https://github.com/grafana/grafana/pull/23299), [@vikkyomkar](https://github.com/vikkyomkar)
- **CloudWatch**: Added missing Cassandra metrics. [#23467](https://github.com/grafana/grafana/pull/23467), [@ilyastoli](https://github.com/ilyastoli)
- **CloudWatch**: Adds support for Cloudwatch Logs. [#23566](https://github.com/grafana/grafana/pull/23566), [@kaydelaney](https://github.com/kaydelaney)
- **CloudWatch**: Prefer webIdentity over EC2 role. [#23452](https://github.com/grafana/grafana/pull/23452), [@dnascimento](https://github.com/dnascimento)
- **CloudWatch**: Prefer webIdentity over EC2 role also when assuming a role. [#23807](https://github.com/grafana/grafana/pull/23807), [@bruecktech](https://github.com/bruecktech)
- **Components**: IconButton. [#23510](https://github.com/grafana/grafana/pull/23510), [@torkelo](https://github.com/torkelo)
- **Dashboard**: Add failsafe for slug generation. [#23709](https://github.com/grafana/grafana/pull/23709), [@sakjur](https://github.com/sakjur)
- **Dashboard**: Enforce minimum dashboard refresh interval to 5 seconds per default. [#23929](https://github.com/grafana/grafana/pull/23929), [@marefr](https://github.com/marefr)
- **Dashboard**: Handle no renderer available in panel share dialog. [#23856](https://github.com/grafana/grafana/pull/23856), [@marefr](https://github.com/marefr)
- **Dashboard**: Support additional variable format options (singlequote, doublequote, sqlstring). [#21622](https://github.com/grafana/grafana/pull/21622), [@xiaobeiyang](https://github.com/xiaobeiyang)
- **Dashboard**: Support data links via field overrides. [#23590](https://github.com/grafana/grafana/pull/23590), [@dprokop](https://github.com/dprokop)
- **Data source**: Max data points now used in interval calculation for all data sources. [#23915](https://github.com/grafana/grafana/pull/23915), [@torkelo](https://github.com/torkelo)
- **Database**: Order results in UserSearch by username/email. [#23328](https://github.com/grafana/grafana/pull/23328), [@aknuds1](https://github.com/aknuds1)
- **Database**: Update the xorm dependency to v0.8.1. [#22376](https://github.com/grafana/grafana/pull/22376), [@novalagung](https://github.com/novalagung)
- **Docker**: Upgrade to Ubuntu 20.04 in Dockerfiles. [#23852](https://github.com/grafana/grafana/pull/23852), [@aknuds1](https://github.com/aknuds1)
- **Docs**: Adding API reference documentation support for the packages libraries. [#21931](https://github.com/grafana/grafana/pull/21931), [@mckn](https://github.com/mckn)
- **Tracing**: Add trace UI to show traces from tracing datasources and Jaeger datasource. [#23047](https://github.com/grafana/grafana/pull/23047), [@aocenas](https://github.com/aocenas)
- **Frontend**: Adding support to select preferred timezone for presentation of date and time values. [#23586](https://github.com/grafana/grafana/pull/23586), [@mckn](https://github.com/mckn)
- **Grafana Toolkit**: Adds template for backend data source. [#23864](https://github.com/grafana/grafana/pull/23864), [@bergquist](https://github.com/bergquist)
- **Graphite**: Rollup indicator and custom meta data inspector. [#22738](https://github.com/grafana/grafana/pull/22738), [@torkelo](https://github.com/torkelo)
- **HTTP API**: Allow assigning a specific organization when creating a new user. [#21775](https://github.com/grafana/grafana/pull/21775), [@Sytten](https://github.com/Sytten)
- **Image Rendering**: New setting to control render request concurrency. [#23950](https://github.com/grafana/grafana/pull/23950), [@marefr](https://github.com/marefr)
- **Image Rendering**: Remove PhantomJS support. [#23460](https://github.com/grafana/grafana/pull/23460), [@marefr](https://github.com/marefr)
- **Logs**: Derived fields link design. [#23695](https://github.com/grafana/grafana/pull/23695), [@aocenas](https://github.com/aocenas)
- **Metrics**: Add image rendering metrics. [#23827](https://github.com/grafana/grafana/pull/23827), [@alexanderzobnin](https://github.com/alexanderzobnin)
- **Metrics**: Instrument backend plugin requests. [#23346](https://github.com/grafana/grafana/pull/23346), [@bergquist](https://github.com/bergquist)
- **Migration**: Add old Input to legacy namespace. [#23286](https://github.com/grafana/grafana/pull/23286), [@tskarhed](https://github.com/tskarhed)
- **Migration**: Admin org edit page. [#23866](https://github.com/grafana/grafana/pull/23866), [@tskarhed](https://github.com/tskarhed)
- **Migration**: Alerting - notifications list. [#22548](https://github.com/grafana/grafana/pull/22548), [@tskarhed](https://github.com/tskarhed)
- **Migration**: Change password. [#23623](https://github.com/grafana/grafana/pull/23623), [@tskarhed](https://github.com/tskarhed)
- **Migration**: Create org. [#22542](https://github.com/grafana/grafana/pull/22542), [@tskarhed](https://github.com/tskarhed)
- **Migration**: Data/Panel link editor. [#23778](https://github.com/grafana/grafana/pull/23778), [@tskarhed](https://github.com/tskarhed)
- **Migration**: Final components to LegacyForms. [#23707](https://github.com/grafana/grafana/pull/23707), [@tskarhed](https://github.com/tskarhed)
- **Migration**: Layout Selector. [#23790](https://github.com/grafana/grafana/pull/23790), [@tskarhed](https://github.com/tskarhed)
- **Migration**: Migrate admin/users. [#22759](https://github.com/grafana/grafana/pull/22759), [@mckn](https://github.com/mckn)
- **Migration**: Migrates ad hoc variable type to react/redux. [#22784](https://github.com/grafana/grafana/pull/22784), [@mckn](https://github.com/mckn)
- **Migration**: Move Switch from Forms namespace. [#23386](https://github.com/grafana/grafana/pull/23386), [@tskarhed](https://github.com/tskarhed)
- **Migration**: Move last components from Forms namespace. [#23556](https://github.com/grafana/grafana/pull/23556), [@tskarhed](https://github.com/tskarhed)
- **Migration**: Move old Switch to legacy namespace. [#23357](https://github.com/grafana/grafana/pull/23357), [@tskarhed](https://github.com/tskarhed)
- **Migration**: New datasource. [#23221](https://github.com/grafana/grafana/pull/23221), [@tskarhed](https://github.com/tskarhed)
- **Migration**: Org users page. [#23372](https://github.com/grafana/grafana/pull/23372), [@tskarhed](https://github.com/tskarhed)
- **Migration**: Orgs list. [#23821](https://github.com/grafana/grafana/pull/23821), [@tskarhed](https://github.com/tskarhed)
- **Migration**: Remove Button from Forms namespace. [#23105](https://github.com/grafana/grafana/pull/23105), [@tskarhed](https://github.com/tskarhed)
- **Migration**: Teams and alert list. [#23810](https://github.com/grafana/grafana/pull/23810), [@tskarhed](https://github.com/tskarhed)
- **Migration**: TextArea from Forms namespace. [#23436](https://github.com/grafana/grafana/pull/23436), [@tskarhed](https://github.com/tskarhed)
- **Migration**: User edit. [#23110](https://github.com/grafana/grafana/pull/23110), [@tskarhed](https://github.com/tskarhed)
- **OAuth**: Adds Okta provider. [#22972](https://github.com/grafana/grafana/pull/22972), [@alexanderzobnin](https://github.com/alexanderzobnin)
- **OAuth**: Introduce new setting for configuring max age of OAuth state cookie. [#23195](https://github.com/grafana/grafana/pull/23195), [@rtrompier](https://github.com/rtrompier)
- **Plugins**: Add deprecation notice to setEditor method in PanelPlugin. [#23895](https://github.com/grafana/grafana/pull/23895), [@dprokop](https://github.com/dprokop)
- **Plugins**: Adds support for URL params in plugin routes. [#23503](https://github.com/grafana/grafana/pull/23503), [@daniellee](https://github.com/daniellee)
- **Plugins**: Fluent API for custom field config and panel options creation for PanelPlugin. [#23070](https://github.com/grafana/grafana/pull/23070), [@dprokop](https://github.com/dprokop)
- **Plugins**: Hide plugins page from viewers, and limit /api/plugins to only core plugins when called by viewer role. [#21901](https://github.com/grafana/grafana/pull/21901), [@dprokop](https://github.com/dprokop)
- **Postgres**: Add SSL support for datasource. [#21341](https://github.com/grafana/grafana/pull/21341), [@ryankurte](https://github.com/ryankurte)
- **Prometheus**: Render missing labels in legend formats as an empty string. [#22355](https://github.com/grafana/grafana/pull/22355), [@Hixon10](https://github.com/Hixon10)
- **Provisioning**: Allows specifying uid for datasource and use that in derived fields. [#23585](https://github.com/grafana/grafana/pull/23585), [@aocenas](https://github.com/aocenas)
- **Provisioning**: Validate that dashboard providers have unique names. [#22898](https://github.com/grafana/grafana/pull/22898), [@youshy](https://github.com/youshy)
- **Search**: Replace search implementation. [#23855](https://github.com/grafana/grafana/pull/23855), [@sakjur](https://github.com/sakjur)
- **Search**: migrate dashboard search to react. [#23274](https://github.com/grafana/grafana/pull/23274), [@Clarity-89](https://github.com/Clarity-89)
- **Server**: Don't include trailing slash in cookie path when hosting Grafana in a sub path. [#22265](https://github.com/grafana/grafana/pull/22265), [@consideRatio](https://github.com/consideRatio)
- **Stackdriver**: Support for SLO queries. [#22917](https://github.com/grafana/grafana/pull/22917), [@sunker](https://github.com/sunker)
- **Table**: Add support for organizing fields/columns. [#23135](https://github.com/grafana/grafana/pull/23135), [@mckn](https://github.com/mckn)
- **Table**: Improvements to column resizing, style and alignment. [#23663](https://github.com/grafana/grafana/pull/23663), [@torkelo](https://github.com/torkelo)
- **Table**: upgrades react-table to 7.0.0 and typings. [#23247](https://github.com/grafana/grafana/pull/23247), [@hugohaggmark](https://github.com/hugohaggmark)
- **Table**: Handle column overflow and horizontal scrolling in table panel. [#4157](https://github.com/grafana/grafana/issues/4157)
- **Tracing**: Dark theme styling for TraceView. [#23406](https://github.com/grafana/grafana/pull/23406), [@aocenas](https://github.com/aocenas)
- **Tracing**: Zipkin datasource. [#23829](https://github.com/grafana/grafana/pull/23829), [@aocenas](https://github.com/aocenas)
- **Transformations**: Adds labels as fields transformer. [#23703](https://github.com/grafana/grafana/pull/23703), [@hugohaggmark](https://github.com/hugohaggmark)
- **Transformations**: Improve UI and add some love to filter by name. [#23751](https://github.com/grafana/grafana/pull/23751), [@dprokop](https://github.com/dprokop)
- **Transformations**: calculate a new field based on the row values. [#23675](https://github.com/grafana/grafana/pull/23675), [@ryantxu](https://github.com/ryantxu)
- **Units**: add (IEC) and (Metric) to bits and bytes. [#23175](https://github.com/grafana/grafana/pull/23175), [@flopp999](https://github.com/flopp999)
- **Usagestats**: Add usage stats about what type of data source is used in alerting. [#23125](https://github.com/grafana/grafana/pull/23125), [@bergquist](https://github.com/bergquist)
- **delete old dashboard versions in multiple batches**. [#23348](https://github.com/grafana/grafana/pull/23348), [@DanCech](https://github.com/DanCech)
- **grafana/data**: PanelTypeChangedHandler API update to use PanelModel instead of panel options object [BREAKING]. [#22754](https://github.com/grafana/grafana/pull/22754), [@dprokop](https://github.com/dprokop)
- **grafana/ui**: Add basic horizontal and vertical layout components. [#22303](https://github.com/grafana/grafana/pull/22303), [@dprokop](https://github.com/dprokop)
- **Auth** SAML Role and Team Sync (Enterprise)
- **Presence Indicators**: Display the avatars of active users on dashboards (Enterprise)
- **Reporting**: Makes it possible to disable the scheduler (Enterprise)
- **Dashboard**: Dashboard usage view (Enterprise)
- **Reporting** Makes it possible to trigger report emails without scheduler (Enterprise)
- **Search**: Sorting based on dashboard views and errors (Enterprise)
- **Reporting**: Improved landscape mode and panel image quality (Enterprise)
- **Reporting**: Adds config setting for image_scale_factor of panel images (Enterprise)
### Bug Fixes
* **@grafana/ui**: Fix time range when only partial datetime is provided. [#23122](https://github.com/grafana/grafana/pull/23122), [@ivanahuckova](https://github.com/ivanahuckova)
* **Alerting**: Only include image in notifier when enabled. [#23194](https://github.com/grafana/grafana/pull/23194), [@marefr](https://github.com/marefr)
* **Alertmanager**: Basic auth should not be required.. [#23691](https://github.com/grafana/grafana/pull/23691), [@bergquist](https://github.com/bergquist)
* **Dashboard**: Handle min refresh interval when importing dashboard. [#23959](https://github.com/grafana/grafana/pull/23959), [@marefr](https://github.com/marefr)
* **DataSourceProxy**: Handle URL parsing error. [#23731](https://github.com/grafana/grafana/pull/23731), [@aknuds1](https://github.com/aknuds1)
* **Fix**: Shows organization popup in alphabetical order. [#22259](https://github.com/grafana/grafana/pull/22259), [@vikkyomkar](https://github.com/vikkyomkar)
* **Image Rendering**: Make it work using serve_from_sub_path configured. [#23706](https://github.com/grafana/grafana/pull/23706), [@marefr](https://github.com/marefr)
* **Image rendering**: Fix missing icon on plugins list. [#23958](https://github.com/grafana/grafana/pull/23958), [@marefr](https://github.com/marefr)
* **Logs**: Fix error when non-string log level supplied. [#23654](https://github.com/grafana/grafana/pull/23654), [@ivanahuckova](https://github.com/ivanahuckova)
* **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)
* **Templating**: Fix global variable "__org.id". [#23362](https://github.com/grafana/grafana/pull/23362), [@vikkyomkar](https://github.com/vikkyomkar)
* **azuremonitor**: fix for app insights azure china plugin route. [#23877](https://github.com/grafana/grafana/pull/23877), [@daniellee](https://github.com/daniellee)
- **@grafana/ui**: Fix time range when only partial datetime is provided. [#23122](https://github.com/grafana/grafana/pull/23122), [@ivanahuckova](https://github.com/ivanahuckova)
- **Alerting**: Only include image in notifier when enabled. [#23194](https://github.com/grafana/grafana/pull/23194), [@marefr](https://github.com/marefr)
- **Alerting**: Basic auth should not be required in the Alertmanager notifier. [#23691](https://github.com/grafana/grafana/pull/23691), [@bergquist](https://github.com/bergquist)
- **Alerting**: Translate notification IDs to UIDs when extracting alert rules. [#19882](https://github.com/grafana/grafana/pull/19882), [@aSapien](https://github.com/aSapien)
- **Azure Monitor**: Fix for application insights Azure China plugin route. [#23877](https://github.com/grafana/grafana/pull/23877), [@daniellee](https://github.com/daniellee)
- **CloudWatch**: Add ServerlessDatabaseCapacity to AWS/RDS metrics. [#23635](https://github.com/grafana/grafana/pull/23635), [@jackstevenson](https://github.com/jackstevenson)
- **Dashboard**: Fix global variable "\_\_org.id". [#23362](https://github.com/grafana/grafana/pull/23362), [@vikkyomkar](https://github.com/vikkyomkar)
- **Dashboard**: Handle min refresh interval when importing dashboard. [#23959](https://github.com/grafana/grafana/pull/23959), [@marefr](https://github.com/marefr)
- **DataSourceProxy**: Handle URL parsing error. [#23731](https://github.com/grafana/grafana/pull/23731), [@aknuds1](https://github.com/aknuds1)
- **Frontend**: Fix sorting of organization popup in alphabetical order. [#22259](https://github.com/grafana/grafana/pull/22259), [@vikkyomkar](https://github.com/vikkyomkar)
- **Image Rendering**: Make it work using serve_from_sub_path configured. [#23706](https://github.com/grafana/grafana/pull/23706), [@marefr](https://github.com/marefr)
- **Image rendering**: Fix missing icon on plugins list. [#23958](https://github.com/grafana/grafana/pull/23958), [@marefr](https://github.com/marefr)
- **Logs**: Fix error when non-string log level supplied. [#23654](https://github.com/grafana/grafana/pull/23654), [@ivanahuckova](https://github.com/ivanahuckova)
- **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.3 (2020-04-23)
### Bug Fixes
* **Admin**: Fix Synced via LDAP message for non-LDAP external users. [#23477](https://github.com/grafana/grafana/pull/23477), [@alexanderzobnin](https://github.com/alexanderzobnin)
* **Alerting**: Fixes notifications for alerts with empty message in Google Hangouts notifier. [#23559](https://github.com/grafana/grafana/pull/23559), [@hugohaggmark](https://github.com/hugohaggmark)
* **AuthProxy**: Fixes bug where long username could not be cached.. [#22926](https://github.com/grafana/grafana/pull/22926), [@jcmcken](https://github.com/jcmcken)
* **Dashboard**: Fix saving dashboard when editing raw dashboard JSON model. [#23314](https://github.com/grafana/grafana/pull/23314), [@peterholmberg](https://github.com/peterholmberg)
* **Dashboard**: Try to parse 8 and 15 digit numbers as timestamps if parsing of time range as date fails. [#21694](https://github.com/grafana/grafana/pull/21694), [@jessetan](https://github.com/jessetan)
* **DashboardListPanel**: Fixed problem with empty panel after going into edit mode (General folder filter being automatically added) . [#23426](https://github.com/grafana/grafana/pull/23426), [@torkelo](https://github.com/torkelo)
* **Data source**: Handle datasource withCredentials option properly. [#23380](https://github.com/grafana/grafana/pull/23380), [@hvtuananh](https://github.com/hvtuananh)
* **Security**: Fix annotation popup XSS vulnerability [#23813](https://github.com/grafana/grafana/pull/23813), [@torkelo](https://github.com/torkelo). Big thanks to Juha Laaksonen for reporting this issue.
* **Security**: Fix XSS vulnerability in table panel [#23816](https://github.com/grafana/grafana/pull/23816), [@torkelo](https://github.com/torkelo). Big thanks to Rotem Reiss for reporting this issue.
* **Server**: Exit Grafana with status code 0 if no error. [#23312](https://github.com/grafana/grafana/pull/23312), [@aknuds1](https://github.com/aknuds1)
* **TablePanel**: Fix XSS issue in header column rename (backport). [#23814](https://github.com/grafana/grafana/pull/23814), [@torkelo](https://github.com/torkelo)
* **Variables**: Fixes error when setting adhoc variable values. [#23580](https://github.com/grafana/grafana/pull/23580), [@hugohaggmark](https://github.com/hugohaggmark)
- **Admin**: Fix Synced via LDAP message for non-LDAP external users. [#23477](https://github.com/grafana/grafana/pull/23477), [@alexanderzobnin](https://github.com/alexanderzobnin)
- **Alerting**: Fixes notifications for alerts with empty message in Google Hangouts notifier. [#23559](https://github.com/grafana/grafana/pull/23559), [@hugohaggmark](https://github.com/hugohaggmark)
- **AuthProxy**: Fixes bug where long username could not be cached.. [#22926](https://github.com/grafana/grafana/pull/22926), [@jcmcken](https://github.com/jcmcken)
- **Dashboard**: Fix saving dashboard when editing raw dashboard JSON model. [#23314](https://github.com/grafana/grafana/pull/23314), [@peterholmberg](https://github.com/peterholmberg)
- **Dashboard**: Try to parse 8 and 15 digit numbers as timestamps if parsing of time range as date fails. [#21694](https://github.com/grafana/grafana/pull/21694), [@jessetan](https://github.com/jessetan)
- **DashboardListPanel**: Fixed problem with empty panel after going into edit mode (General folder filter being automatically added) . [#23426](https://github.com/grafana/grafana/pull/23426), [@torkelo](https://github.com/torkelo)
- **Data source**: Handle datasource withCredentials option properly. [#23380](https://github.com/grafana/grafana/pull/23380), [@hvtuananh](https://github.com/hvtuananh)
- **Security**: Fix annotation popup XSS vulnerability [#23813](https://github.com/grafana/grafana/pull/23813), [@torkelo](https://github.com/torkelo). Big thanks to Juha Laaksonen for reporting this issue.
- **Security**: Fix XSS vulnerability in table panel [#23816](https://github.com/grafana/grafana/pull/23816), [@torkelo](https://github.com/torkelo). Big thanks to Rotem Reiss for reporting this issue.
- **Server**: Exit Grafana with status code 0 if no error. [#23312](https://github.com/grafana/grafana/pull/23312), [@aknuds1](https://github.com/aknuds1)
- **TablePanel**: Fix XSS issue in header column rename (backport). [#23814](https://github.com/grafana/grafana/pull/23814), [@torkelo](https://github.com/torkelo)
- **Variables**: Fixes error when setting adhoc variable values. [#23580](https://github.com/grafana/grafana/pull/23580), [@hugohaggmark](https://github.com/hugohaggmark)
# 6.7.2 (2020-04-02)
@@ -126,7 +286,7 @@
- **Security**: Fix for dashboard snapshot original dashboard link could contain XSS vulnerability in url. [#23254](https://github.com/grafana/grafana/pull/23254), [@torkelo](https://github.com/torkelo). Big thanks to Ahmed A. Sherif for reporting this issue.
- **Variables**: Fixes issue with too many queries being issued for nested template variables after value change. [#23220](https://github.com/grafana/grafana/pull/23220), [@torkelo](https://github.com/torkelo)
- **Plugins**: Expose promiseToDigest. [#23249](https://github.com/grafana/grafana/pull/23249), [@torkelo](https://github.com/torkelo)
- **Reporting (Enterprise)**: Fixes issue updating a report created by someone else
- **Reporting**: Fixes issue updating a report created by someone else (Enterprise)
# 6.7.1 (2020-03-20)
@@ -189,7 +349,7 @@ if (!responseHeaders) {
}
// Support pre 6.7 angular HTTP rather than fetch
if (typeof responseHeaders === "function") {
if (typeof responseHeaders === 'function') {
responseHeaders = responseHeaders();
}
```
@@ -215,7 +375,7 @@ You can test your plugin with the `master` branch version of Grafana.
- **OAuth**: Implement Azure AD provide. [#20030](https://github.com/grafana/grafana/pull/20030), [@twendt](https://github.com/twendt)
- **Prometheus**: Implement region annotation. [#22225](https://github.com/grafana/grafana/pull/22225), [@secustor](https://github.com/secustor)
- **Prometheus**: make \$\_\_range more precise. [#21722](https://github.com/grafana/grafana/pull/21722), [@bmerry](https://github.com/bmerry)
- **Promethus**: Do not show rate hint when increase function is used in query. [#21955](https://github.com/grafana/grafana/pull/21955), [@fredwangwang](https://github.com/fredwangwang)
- **Prometheus**: Do not show rate hint when increase function is used in query. [#21955](https://github.com/grafana/grafana/pull/21955), [@fredwangwang](https://github.com/fredwangwang)
- **Stackdriver**: Project selector. [#22447](https://github.com/grafana/grafana/pull/22447), [@sunker](https://github.com/sunker)
- **TablePanel**: display multi-line text. [#20210](https://github.com/grafana/grafana/pull/20210), [@michael-az](https://github.com/michael-az)
- **Templating**: Add new global built-in variables. [#21790](https://github.com/grafana/grafana/pull/21790), [@dcastanier](https://github.com/dcastanier)
@@ -570,7 +730,7 @@ You can test your plugin with the `master` branch version of Grafana.
#### Security vulnerability
The MySQL data source connnection string fix, [#20192](https://github.com/grafana/grafana/pull/20192), that was part of this release
The MySQL data source connection string fix, [#20192](https://github.com/grafana/grafana/pull/20192), that was part of this release
also fixed a security vulnerability. Thanks Yuriy Dyachenko for discovering and notifying us about this.
# 6.4.3 (2019-10-16)
@@ -719,7 +879,7 @@ also fixed a security vulnerability. Thanks Yuriy Dyachenko for discovering and
### Annotations
There are some breaking changes in the annotations HTTP API for region annotations. Region annotations are now represented
using a single event instead of two seperate events. Check breaking changes in HTTP API [below](#http-api) and [HTTP API documentation](https://grafana.com/docs/http_api/annotations/) for more details.
using a single event instead of two separate events. Check breaking changes in HTTP API [below](#http-api) and [HTTP API documentation](https://grafana.com/docs/http_api/annotations/) for more details.
### Docker
@@ -991,7 +1151,7 @@ More details in bug report: https://github.com/grafana/grafana/issues/17613
- **Database**: Retry transaction if sqlite returns database is locked error. [#17276](https://github.com/grafana/grafana/pull/17276), [@marefr](https://github.com/marefr)
- **Explore**: Fixes so clicking in a Prometheus Table the query is filtered by clicked value. [#17083](https://github.com/grafana/grafana/pull/17083), [@hugohaggmark](https://github.com/hugohaggmark)
- **Singlestat**: Fixes issue with value placement and line wraps. [#17249](https://github.com/grafana/grafana/pull/17249), [@torkelo](https://github.com/torkelo)
- **Tech**: Update jQuery to 3.4.1 to fix issue on iOS 10 based browers as well as Chrome 53.x . [#17290](https://github.com/grafana/grafana/pull/17290), [@timbutler](https://github.com/timbutler)
- **Tech**: Update jQuery to 3.4.1 to fix issue on iOS 10 based browsers as well as Chrome 53.x . [#17290](https://github.com/grafana/grafana/pull/17290), [@timbutler](https://github.com/timbutler)
# 6.2.0 (2019-05-22)
@@ -1066,7 +1226,7 @@ repo on July 1st. Make sure you have switched to the new repo by then. The new r
- **Loki**: Search is now case insensitive. [#15948](https://github.com/grafana/grafana/pull/15948), [@steven-sheehy](https://github.com/steven-sheehy)
- **OAuth**: Update jwt regexp to include `=`. [#16521](https://github.com/grafana/grafana/pull/16521), [@DanCech](https://github.com/DanCech)
- **Panels**: No title will no longer make panel header take up space. [#16884](https://github.com/grafana/grafana/pull/16884), [@torkelo](https://github.com/torkelo)
- **Prometheus**: Adds tracing headers for Prometheus datas ource. [#16724](https://github.com/grafana/grafana/pull/16724), [@svagner](https://github.com/svagner)
- **Prometheus**: Adds tracing headers for Prometheus datasource. [#16724](https://github.com/grafana/grafana/pull/16724), [@svagner](https://github.com/svagner)
- **Provisioning**: Add API endpoint to reload provisioning configs. [#16579](https://github.com/grafana/grafana/pull/16579), [@aocenas](https://github.com/aocenas)
- **Provisioning**: Do not allow deletion of provisioned dashboards. [#16211](https://github.com/grafana/grafana/pull/16211), [@aocenas](https://github.com/aocenas)
- **Provisioning**: Interpolate env vars in provisioning files. [#16499](https://github.com/grafana/grafana/pull/16499), [@aocenas](https://github.com/aocenas)
@@ -1205,7 +1365,7 @@ repo on July 1st. Make sure you have switched to the new repo by then. The new r
- **Explore**: Fix for url does not keep query after browser refresh. [#16189](https://github.com/grafana/grafana/pull/16189), [@hugohaggmark](https://github.com/hugohaggmark)
- **Gauge**: Interpolate scoped variables in repeated gauges [#15739](https://github.com/grafana/grafana/issues/15739)
- **Graphite**: Fixed issue with using series ref and series by tag. [#16111](https://github.com/grafana/grafana/pull/16111), [@torkelo](https://github.com/torkelo)
- **Graphite**: Fixed variable quoting when variable value is nummeric. [#16149](https://github.com/grafana/grafana/pull/16149), [@torkelo](https://github.com/torkelo)
- **Graphite**: Fixed variable quoting when variable value is numeric. [#16149](https://github.com/grafana/grafana/pull/16149), [@torkelo](https://github.com/torkelo)
- **Heatmap**: Fixes Y-axis tick labels being in wrong order for some Prometheus queries. [#15932](https://github.com/grafana/grafana/pull/15932), [@alexanderzobnin](https://github.com/alexanderzobnin)
- **Heatmap**: Negative values are now displayed correctly in graph & legend. [#15953](https://github.com/grafana/grafana/pull/15953), [@alexanderzobnin](https://github.com/alexanderzobnin)
- **Heatmap**: legend shows wrong colors for small values [#14019](https://github.com/grafana/grafana/issues/14019)
@@ -1344,7 +1504,7 @@ repo on July 1st. Make sure you have switched to the new repo by then. The new r
- **Dataproxy**: Override incoming Authorization header [#13815](https://github.com/grafana/grafana/issues/13815), thx [@kornholi](https://github.com/kornholi)
- **Dataproxy**: Add global data source proxy timeout setting [#5699](https://github.com/grafana/grafana/issues/5699), thx [@RangerRick](https://github.com/RangerRick)
- **Database**: Support specifying database host using IPV6 for backend database and sql data sources [#13711](https://github.com/grafana/grafana/issues/13711), thx [@ellisvlad](https://github.com/ellisvlad)
- **Database**: Support defining additonal database connection string args when using `url` property in database settings [#14709](https://github.com/grafana/grafana/pull/14709), thx [@tpetr](https://github.com/tpetr)
- **Database**: Support defining additional database connection string args when using `url` property in database settings [#14709](https://github.com/grafana/grafana/pull/14709), thx [@tpetr](https://github.com/tpetr)
- **Stackdriver**: crossSeriesAggregation not being sent with the query [#15129](https://github.com/grafana/grafana/issues/15129), thx [@Legogris](https://github.com/Legogris)
### Bug fixes
@@ -1363,7 +1523,7 @@ repo on July 1st. Make sure you have switched to the new repo by then. The new r
### Breaking changes
- **Text Panel**: The text panel does no longer by default allow unsantizied HTML. [#4117](https://github.com/grafana/grafana/issues/4117). This means that if you have text panels with scripts tags they will no longer work as before. To enable unsafe javascript execution in text panels enable the settings `disable_sanitize_html` under the section `[panels]` in your Grafana ini file, or set env variable `GF_PANELS_DISABLE_SANITIZE_HTML=true`.
- **Text Panel**: The text panel does no longer by default allow unsanitized HTML. [#4117](https://github.com/grafana/grafana/issues/4117). This means that if you have text panels with scripts tags they will no longer work as before. To enable unsafe javascript execution in text panels enable the settings `disable_sanitize_html` under the section `[panels]` in your Grafana ini file, or set env variable `GF_PANELS_DISABLE_SANITIZE_HTML=true`.
- **Dashboard**: Panel property `minSpan` replaced by `maxPerRow`. Dashboard migration will automatically migrate all dashboard panels using the `minSpan` property to the new `maxPerRow` property [#12991](https://github.com/grafana/grafana/pull/12991)
# 5.4.5 (2019-08-29)
@@ -1452,7 +1612,7 @@ repo on July 1st. Make sure you have switched to the new repo by then. The new r
- **Table**: Fix CSS alpha background-color applied twice in table cell with link [#13606](https://github.com/grafana/grafana/issues/13606), thx [@grisme](https://github.com/grisme)
- **Singlestat**: Fix XSS in prefix/postfix [#13946](https://github.com/grafana/grafana/issues/13946), thx [@cinaglia](https://github.com/cinaglia)
- **Units**: New clock time format, to format ms or second values as for example `01h:59m`, [#13635](https://github.com/grafana/grafana/issues/13635), thx [@franciscocpg](https://github.com/franciscocpg)
- **Alerting**: Increaste default duration for queries [#13945](https://github.com/grafana/grafana/pull/13945)
- **Alerting**: Increase default duration for queries [#13945](https://github.com/grafana/grafana/pull/13945)
- **Alerting**: More options for the Slack Alert notifier [#13993](https://github.com/grafana/grafana/issues/13993), thx [@andreykaipov](https://github.com/andreykaipov)
- **Alerting**: Can't receive DingDing alert when alert is triggered [#13723](https://github.com/grafana/grafana/issues/13723), thx [@Yukinoshita-Yukino](https://github.com/Yukinoshita-Yukino)
- **Alerting**: Increase Telegram captions length limit [#13876](https://github.com/grafana/grafana/pull/13876), thx [@skgsergio](https://github.com/skgsergio)
@@ -2403,7 +2563,7 @@ Pull Request: [#8472](https://github.com/grafana/grafana/pull/8472)
## Minor Enhancements
- **Optimzation**: Never issue refresh event when Grafana tab is not visible [#7218](https://github.com/grafana/grafana/issues/7218), thx [@mtanda](https://github.com/mtanda)
- **Optimization**: Never issue refresh event when Grafana tab is not visible [#7218](https://github.com/grafana/grafana/issues/7218), thx [@mtanda](https://github.com/mtanda)
- **Browser History**: Browser back/forward now works time ranges / zoom, [#7259](https://github.com/grafana/grafana/issues/7259)
- **Elasticsearch**: Support for Min Doc Count options in Terms aggregation [#7324](https://github.com/grafana/grafana/pull/7324), thx [@lpic10](https://github.com/lpic10)
- **Elasticsearch**: Term aggregation limit can now be changed in template queries [#7112](https://github.com/grafana/grafana/issues/7112), thx [@FFalcon](https://github.com/FFalcon)
@@ -2473,7 +2633,7 @@ Pull Request: [#8472](https://github.com/grafana/grafana/pull/8472)
- **Postgres**: Add support for Certs for Postgres database [#6655](https://github.com/grafana/grafana/issues/6655)
- **Victorops**: Add VictorOps notification integration [#6411](https://github.com/grafana/grafana/issues/6411), thx [@ichekrygin](https://github.com/ichekrygin)
- **Opsgenie**: Add OpsGenie notification integratiion [#6687](https://github.com/grafana/grafana/issues/6687), thx [@kylemcc](https://github.com/kylemcc)
- **Opsgenie**: Add OpsGenie notification integration [#6687](https://github.com/grafana/grafana/issues/6687), thx [@kylemcc](https://github.com/kylemcc)
- **Singlestat**: New aggregation on singlestat panel [#6740](https://github.com/grafana/grafana/pull/6740), thx [@dirk-leroux](https://github.com/dirk-leroux)
- **Cloudwatch**: Make it possible to specify access and secret key on the data source config page [#6697](https://github.com/grafana/grafana/issues/6697)
- **Table**: Added Hidden Column Style for Table Panel [#5677](https://github.com/grafana/grafana/pull/5677), thx [@bmundt](https://github.com/bmundt)
@@ -2493,7 +2653,7 @@ Pull Request: [#8472](https://github.com/grafana/grafana/pull/8472)
- **API**: HTTP API for deleting org returning incorrect message for a non-existing org [#6679](https://github.com/grafana/grafana/issues/6679)
- **Dashboard**: Posting empty dashboard result in corrupted dashboard [#5443](https://github.com/grafana/grafana/issues/5443)
- **Logging**: Fixed logging level confing issue [#6978](https://github.com/grafana/grafana/issues/6978)
- **Logging**: Fixed logging level config issue [#6978](https://github.com/grafana/grafana/issues/6978)
- **Notifications**: Remove html escaping the email subject. [#6905](https://github.com/grafana/grafana/issues/6905)
- **Influxdb**: Fixes broken field dropdown when using template vars as measurement. [#6473](https://github.com/grafana/grafana/issues/6473)
@@ -2560,12 +2720,12 @@ Pull Request: [#8472](https://github.com/grafana/grafana/pull/8472)
### Enhancements
- **Login**: Adds option to disable username/password logins, closes [#4674](https://github.com/grafana/grafana/issues/4674)
- **SingleStat**: Add seriename as option in singlestat panel, closes [#4740](https://github.com/grafana/grafana/issues/4740)
- **SingleStat**: Add seriesName as option in singlestat panel, closes [#4740](https://github.com/grafana/grafana/issues/4740)
- **Localization**: Week start day now dependent on browser locale setting, closes [#3003](https://github.com/grafana/grafana/issues/3003)
- **Templating**: Update panel repeats for variables that change on time refresh, closes [#5021](https://github.com/grafana/grafana/issues/5021)
- **Templating**: Add support for numeric and alphabetical sorting of variable values, closes [#2839](https://github.com/grafana/grafana/issues/2839)
- **Elasticsearch**: Support to set Precision Threshold for Unique Count metric, closes [#4689](https://github.com/grafana/grafana/issues/4689)
- **Navigation**: Add search to org swithcer, closes [#2609](https://github.com/grafana/grafana/issues/2609)
- **Navigation**: Add search to org switcher, closes [#2609](https://github.com/grafana/grafana/issues/2609)
- **Database**: Allow database config using one property, closes [#5456](https://github.com/grafana/grafana/pull/5456)
- **Graphite**: Add support for groupByNodes, closes [#5613](https://github.com/grafana/grafana/pull/5613)
- **Influxdb**: Add support for elapsed(), closes [#5827](https://github.com/grafana/grafana/pull/5827)
@@ -2608,7 +2768,7 @@ Pull Request: [#8472](https://github.com/grafana/grafana/pull/8472)
- **IFrame embedding**: Fixed issue of using full iframe height, fixes [#5605](https://github.com/grafana/grafana/issues/5606)
- **Panel PNG rendering**: Fixed issue detecting render completion, fixes [#5605](https://github.com/grafana/grafana/issues/5606)
- **Elasticsearch**: Fixed issue with templating query and json parse error, fixes [#5615](https://github.com/grafana/grafana/issues/5615)
- **Tech**: Upgraded JQuery to 2.2.4 to fix Security vulnerabilitie in 2.1.4, fixes [#5627](https://github.com/grafana/grafana/issues/5627)
- **Tech**: Upgraded JQuery to 2.2.4 to fix Security vulnerabilities in 2.1.4, fixes [#5627](https://github.com/grafana/grafana/issues/5627)
- **Graphite**: Fixed issue with mixed data sources and Graphite, fixes [#5617](https://github.com/grafana/grafana/issues/5617)
- **Templating**: Fixed issue with template variable query was issued multiple times during dashboard load, fixes [#5637](https://github.com/grafana/grafana/issues/5637)
- **Zoom**: Fixed issues with zoom in and out on embedded (iframed) panel, fixes [#4489](https://github.com/grafana/grafana/issues/4489), [#5666](https://github.com/grafana/grafana/issues/5666)
@@ -2625,7 +2785,7 @@ Pull Request: [#8472](https://github.com/grafana/grafana/pull/8472)
### Enhancements
- **Dashboard Export/Import**: Dashboard export now templetize data sources and constant variables, users pick these on import, closes [#5084](https://github.com/grafana/grafana/issues/5084)
- **Dashboard Export/Import**: Dashboard export now templatize data sources and constant variables, users pick these on import, closes [#5084](https://github.com/grafana/grafana/issues/5084)
- **Dashboard Url**: Time range changes updates url, closes [#458](https://github.com/grafana/grafana/issues/458)
- **Dashboard Url**: Template variable change updates url, closes [#5002](https://github.com/grafana/grafana/issues/5002)
- **Singlestat**: Add support for range to text mappings, closes [#1319](https://github.com/grafana/grafana/issues/1319)
@@ -2822,7 +2982,7 @@ slack channel (link to slack channel in readme).
- **Row repeat**: Repeated rows will now appear next to each other and not by the bottom of the dashboard, fixes [#3942](https://github.com/grafana/grafana/issues/3942)
- **Png renderer**: Fix for phantomjs path on windows, fixes [#3657](https://github.com/grafana/grafana/issues/3657)
# 2.6.1 (unrelased, 2.6.x branch)
# 2.6.1 (unreleased, 2.6.x branch)
### New Features
@@ -2917,9 +3077,9 @@ slack channel (link to slack channel in readme).
- [Issue #2574](https://github.com/grafana/grafana/issues/2574). Snapshot: Fix for snapshot with expire 7 days option, 7 days option not correct, was 7 hours
- [Issue #2568](https://github.com/grafana/grafana/issues/2568). AuthProxy: Fix for server side rendering of panel when using auth proxy
- [Issue #2490](https://github.com/grafana/grafana/issues/2490). Graphite: Dashboard import was broken in 2.1 and 2.1.1, working now
- [Issue #2565](https://github.com/grafana/grafana/issues/2565). TimePicker: Fix for when you applied custom time range it did not refreh dashboard
- [Issue #2563](https://github.com/grafana/grafana/issues/2563). Annotations: Fixed issue when html sanitizer failes for title to annotation body, now fallbacks to html escaping title and text
- [Issue #2564](https://github.com/grafana/grafana/issues/2564). Templating: Another atempt at fixing #2534 (Init multi value template var used in repeat panel from url)
- [Issue #2565](https://github.com/grafana/grafana/issues/2565). TimePicker: Fix for when you applied custom time range it did not refresh dashboard
- [Issue #2563](https://github.com/grafana/grafana/issues/2563). Annotations: Fixed issue when html sanitizer fails for title to annotation body, now fallbacks to html escaping title and text
- [Issue #2564](https://github.com/grafana/grafana/issues/2564). Templating: Another attempt at fixing #2534 (Init multi value template var used in repeat panel from url)
- [Issue #2620](https://github.com/grafana/grafana/issues/2620). Graph: multi series tooltip did no highlight correct point when stacking was enabled and series were of different resolution
- [Issue #2636](https://github.com/grafana/grafana/issues/2636). InfluxDB: Do no show template vars in dropdown for tag keys and group by keys
- [Issue #2604](https://github.com/grafana/grafana/issues/2604). InfluxDB: More alias options, can now use `$[0-9]` syntax to reference part of a measurement name (separated by dots)
@@ -2948,7 +3108,7 @@ Grunt & Watch tasks:
**Fixes**
- [Issue #2580](https://github.com/grafana/grafana/issues/2580). Packaging: ldap.toml was not marked as config file and could be overwritten in upgrade
- [Issue #2564](https://github.com/grafana/grafana/issues/2564). Templating: Another atempt at fixing #2534 (Init multi value template var used in repeat panel from url)
- [Issue #2564](https://github.com/grafana/grafana/issues/2564). Templating: Another attempt at fixing #2534 (Init multi value template var used in repeat panel from url)
# 2.1.2 (2015-08-20)
@@ -3001,7 +3161,7 @@ Grunt & Watch tasks:
**Backend**
- [Issue #2218](https://github.com/grafana/grafana/issues/2218). Auth: You can now authenicate against api with username / password using basic auth
- [Issue #2218](https://github.com/grafana/grafana/issues/2218). Auth: You can now authenticate against api with username / password using basic auth
- [Issue #2095](https://github.com/grafana/grafana/issues/2095). Search: Search now supports filtering by multiple dashboard tags
- [Issue #1905](https://github.com/grafana/grafana/issues/1905). Github OAuth: You can now configure a Github team membership requirement, thx @dewski
- [Issue #2052](https://github.com/grafana/grafana/issues/2052). Github OAuth: You can now configure a Github organization requirement, thx @indrekj
@@ -3012,7 +3172,7 @@ Grunt & Watch tasks:
**Breaking changes**
- [Issue #1826](https://github.com/grafana/grafana/issues/1826). User role 'Viewer' are now prohibited from entering edit mode (and doing other transient dashboard edits). A new role `Read Only Editor` will replace the old Viewer behavior
- [Issue #1928](https://github.com/grafana/grafana/issues/1928). HTTP API: GET /api/dashboards/db/:slug response changed property `model` to `dashboard` to match the POST request nameing
- [Issue #1928](https://github.com/grafana/grafana/issues/1928). HTTP API: GET /api/dashboards/db/:slug response changed property `model` to `dashboard` to match the POST request naming
- Backend render URL changed from `/render/dashboard/solo` `render/dashboard-solo/` (in order to have consistent dashboard url `/dashboard/:type/:slug`)
- Search HTTP API response has changed (simplified), tags list moved to separate HTTP resource URI
- Data source HTTP api breaking change, ADD data source is now POST /api/datasources/, update is now PUT /api/datasources/:id
@@ -3035,7 +3195,7 @@ Grunt & Watch tasks:
**Fixes**
- [Issue #1832](https://github.com/grafana/grafana/issues/1832). Graph Panel + Legend Table mode: Many series caused zero height graph, now legend will never reduce the height of the graph below 50% of row height.
- [Issue #1846](https://github.com/grafana/grafana/issues/1846). Snapshots: Fixed issue with snapshoting dashboards with an interval template variable
- [Issue #1846](https://github.com/grafana/grafana/issues/1846). Snapshots: Fixed issue with snapshotting dashboards with an interval template variable
- [Issue #1848](https://github.com/grafana/grafana/issues/1848). Panel timeshift: You can now use panel timeshift without a relative time override
# 2.0.1 (2015-04-20)
@@ -3149,7 +3309,7 @@ Grafana 2.x is fundamentally different from 1.x; it now ships with an integrated
**Enhancements**
- [Issue #1028](https://github.com/grafana/grafana/issues/1028). Graph: New legend option `hideEmtpy` to hide series with only null values from legend
- [Issue #1028](https://github.com/grafana/grafana/issues/1028). Graph: New legend option `hideEmpty` to hide series with only null values from legend
- [Issue #1242](https://github.com/grafana/grafana/issues/1242). OpenTSDB: Downsample query field now supports interval template variable
- [Issue #1126](https://github.com/grafana/grafana/issues/1126). InfluxDB: Support more than 10 series name segments when using alias `$number` patterns
@@ -3157,7 +3317,7 @@ Grafana 2.x is fundamentally different from 1.x; it now ships with an integrated
- [Issue #1251](https://github.com/grafana/grafana/issues/1251). Graph: Fix for y axis and scaled units (GiB etc) caused rounding, for example 400 GiB instead of 378 GiB
- [Issue #1199](https://github.com/grafana/grafana/issues/1199). Graph: fix for series tooltip when one series is hidden/disabled
- [Issue #1207](https://github.com/grafana/grafana/issues/1207). Graphite: movingAverage / movingMedian parameter type impovement, now handles int and interval parameter
- [Issue #1207](https://github.com/grafana/grafana/issues/1207). Graphite: movingAverage / movingMedian parameter type improvement, now handles int and interval parameter
# 1.9.0 (2014-12-02)
@@ -3350,7 +3510,7 @@ Read this [blog post](https://grafana.com/blog/2014/09/11/grafana-1.8.0-rc1-rele
- [Issue #584](https://github.com/grafana/grafana/issues/584). InfluxDB: Support for alias & alias patterns when using raw query mode
- [Issue #394](https://github.com/grafana/grafana/issues/394). InfluxDB: Annotation support
- [Issue #633](https://github.com/grafana/grafana/issues/633). InfluxDB: InfluxDB can now act as a datastore for dashboards
- [Issue #610](https://github.com/grafana/grafana/issues/610). InfluxDB: Support for InfluxdB v0.8 list series response schemea (series typeahead)
- [Issue #610](https://github.com/grafana/grafana/issues/610). InfluxDB: Support for InfluxdB v0.8 list series response schema (series typeahead)
- [Issue #525](https://github.com/grafana/grafana/issues/525). InfluxDB: Enhanced series aliasing (legend names) with pattern replacements
- [Issue #266](https://github.com/grafana/grafana/issues/266). Graphite: New option cacheTimeout to override graphite default memcache timeout
- [Issue #606](https://github.com/grafana/grafana/issues/606). General: New global option in config.js to specify admin password (useful to hinder users from accidentally make changes)
@@ -3360,7 +3520,7 @@ Read this [blog post](https://grafana.com/blog/2014/09/11/grafana-1.8.0-rc1-rele
- [Issue #511](https://github.com/grafana/grafana/issues/511). Text panel: Allow [[..]] filter notation in all text panels (markdown/html/text)
- [Issue #136](https://github.com/grafana/grafana/issues/136). Graph: New legend display option "Align as table"
- [Issue #556](https://github.com/grafana/grafana/issues/556). Graph: New legend display option "Right side", will show legend to the right of the graph
- [Issue #604](https://github.com/grafana/grafana/issues/604). Graph: New axis format, 'bps' (SI unit in steps of 1000) useful for network gear metics
- [Issue #604](https://github.com/grafana/grafana/issues/604). Graph: New axis format, 'bps' (SI unit in steps of 1000) useful for network gear metrics
- [Issue #626](https://github.com/grafana/grafana/issues/626). Graph: Downscale y axis to more precise unit, value of 0.1 for seconds format will be formatted as 100 ms. Thanks @kamaradclimber
- [Issue #618](https://github.com/grafana/grafana/issues/618). OpenTSDB: Series alias option to override metric name returned from opentsdb. Thanks @heldr
@@ -3389,7 +3549,7 @@ Read this [blog post](https://grafana.com/blog/2014/09/11/grafana-1.8.0-rc1-rele
**Fixes**
- [Issue #500](https://github.com/grafana/grafana/issues/360). Fixes regex InfluxDB queries intoduced in 1.6.0
- [Issue #500](https://github.com/grafana/grafana/issues/360). Fixes regex InfluxDB queries introduced in 1.6.0
- [Issue #506](https://github.com/grafana/grafana/issues/506). Bug in when using % sign in legends (aliases), fixed by removing url decoding of metric names
- [Issue #522](https://github.com/grafana/grafana/issues/522). Series names and column name typeahead cache fix
- [Issue #504](https://github.com/grafana/grafana/issues/504). Fixed influxdb issue with raw query that caused wrong value column detection
@@ -3452,7 +3612,7 @@ Read this [blog post](https://grafana.com/blog/2014/09/11/grafana-1.8.0-rc1-rele
### Changes
- Graph default setting for Y-Min changed from zero to auto scalling (will not effect existing dashboards). ([Issue #386](https://github.com/grafana/grafana/issues/386)) - thx @kamaradclimber
- Graph default setting for Y-Min changed from zero to auto scaling (will not effect existing dashboards). ([Issue #386](https://github.com/grafana/grafana/issues/386)) - thx @kamaradclimber
### Fixes

View File

@@ -1,21 +1,4 @@
# Golang build container
FROM golang:1.14.1-alpine
RUN apk add --no-cache gcc g++
WORKDIR $GOPATH/src/github.com/grafana/grafana
COPY go.mod go.sum ./
RUN go mod verify
COPY pkg pkg
COPY build.go package.json ./
RUN go run build.go build
# Node build container
FROM node:12.13.0-alpine
FROM node:12.16.3-alpine3.11 as js-builder
WORKDIR /usr/src/app/
@@ -33,8 +16,23 @@ COPY emails emails
ENV NODE_ENV production
RUN ./node_modules/.bin/grunt build
# Final container
FROM alpine:3.10
FROM golang:1.14.2-alpine3.11 as go-builder
RUN apk add --no-cache gcc g++
WORKDIR $GOPATH/src/github.com/grafana/grafana
COPY go.mod go.sum ./
RUN go mod verify
COPY pkg pkg
COPY build.go package.json ./
RUN go run build.go build
# Final stage
FROM alpine:3.11
LABEL maintainer="Grafana team <hello@grafana.com>"
@@ -52,7 +50,7 @@ ENV PATH="/usr/share/grafana/bin:$PATH" \
WORKDIR $GF_PATHS_HOME
RUN apk add --no-cache ca-certificates bash tzdata && \
apk add --no-cache --upgrade --repository=http://dl-cdn.alpinelinux.org/alpine/edge/main openssl musl-utils
apk add --no-cache --upgrade openssl musl-utils
COPY conf ./conf
@@ -70,9 +68,9 @@ 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=0 /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=1 /usr/src/app/public ./public
COPY --from=1 /usr/src/app/tools ./tools
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=js-builder /usr/src/app/public ./public
COPY --from=js-builder /usr/src/app/tools ./tools
EXPOSE 3000

View File

@@ -1,17 +1,4 @@
FROM golang:1.14.1 AS go-builder
WORKDIR /src/grafana
COPY go.mod go.sum ./
RUN go mod verify
COPY build.go package.json ./
COPY pkg pkg/
RUN go run build.go build
FROM node:12.13 AS js-builder
FROM node:12.16.3-slim AS js-builder
WORKDIR /usr/src/app/
@@ -29,6 +16,19 @@ COPY emails emails
ENV NODE_ENV production
RUN ./node_modules/.bin/grunt build
FROM golang:1.14.2 AS go-builder
WORKDIR /src/grafana
COPY go.mod go.sum ./
RUN go mod verify
COPY build.go package.json ./
COPY pkg pkg/
RUN go run build.go build
FROM ubuntu:20.04
LABEL maintainer="Grafana team <hello@grafana.com>"

View File

@@ -15,6 +15,15 @@ Grafana allows you to query, visualize, alert on and understand your metrics no
- **Alerting:** Visually define alert rules for your most important metrics. Grafana will continuously evaluate and send notifications to systems like Slack, PagerDuty, VictorOps, OpsGenie.
- **Mixed Data Sources:** Mix different data sources in the same graph! You can specify a data source on a per-query basis. This works for even custom datasources.
### Grafana 7.0 and GrafanaCONline
- Grafana 7.0 Beta is [available for download](https://grafana.com/grafana/download).
- Read [what's is new](https://grafana.com/docs/grafana/latest/guides/whats-new-in-v7-0/).
Want to learn more about Grafana 7 and more? Sign up for our online conference!
[![GrafanaCONline](public/img/grafanaconline.png)](https://grafana.com/about/events/grafanacon/2020/?source=grafana-readme)
## Get started
- [Get Grafana](https://grafana.com/get)

View File

@@ -695,6 +695,8 @@ disable_sanitize_html = false
[plugins]
enable_alpha = false
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 =
#################################### Grafana Image Renderer Plugin ##########################
[plugin.grafana-image-renderer]

View File

@@ -684,6 +684,8 @@
[plugins]
;enable_alpha = false
;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 =
#################################### Grafana Image Renderer Plugin ##########################
[plugin.grafana-image-renderer]

View File

@@ -97,29 +97,35 @@ go test -v ./pkg/...
### Run end-to-end tests
The end to end tests in Grafana use [Cypress](https://www.cypress.io/) to run automated scripts in a headless Chromium browser. Read more about our [e2e framework](/contribute/style-guides/e2e.md).
The end to end tests in Grafana use [Cypress](https://www.cypress.io/) to run automated scripts in a headless Chromium browser. Read more about our [e2e framework](/contribute/style-guides/e2e.md).
To run the tests:
```
yarn e2e-tests
yarn e2e
```
By default, the end-to-end tests assume Grafana is available on `localhost:3000`. To use a specific URL, set the `BASE_URL` environment variable:
By default, the end-to-end tests starts a Grafana instance listening on `localhost:3001`. To use a specific URL, set the `BASE_URL` environment variable:
```
BASE_URL=http://localhost:3333 yarn e2e-tests
BASE_URL=http://localhost:3333 yarn e2e
```
To follow the tests in the browser while they're running, use the `yarn e2e-tests:debug` instead.
To follow the tests in the browser while they're running, use the `yarn e2e:debug`.
```
yarn e2e-tests:debug
yarn e2e:debug
```
If you want to pick a test first, use the `yarn e2e:dev`, to pick a test and follow the test in the browser while it runs.
```
yarn e2e:dev
```
## Configure Grafana for development
The default configuration, `grafana.ini`, is located in the `conf` directory.
The default configuration, `grafana.ini`, is located in the `conf` directory.
To override the default configuration, create a `custom.ini` file in the `conf` directory. You only need to add the options you wish to override.
@@ -198,14 +204,14 @@ The number of files needed may be different on your environment. To determine th
find ./conf ./pkg ./public/views | wc -l
```
Another alternative is to limit the files being watched. The directories that are watched for changes are listed in the `.bra.toml` file in the root directory.
Another alternative is to limit the files being watched. The directories that are watched for changes are listed in the `.bra.toml` file in the root directory.
To retain your `ulimit` configuration, i.e. so it will be remembered for future sessions, you need to commit it to your command line shell initialization file. Which file this will be depends on the shell you are using, here are some examples:
* zsh -> ~/.zshrc
* bash -> ~/.bashrc
Commit your ulimit configuration to your shell initialization file as follows ($LIMIT being your chosen limit and $INIT_FILE being the initialization file for your shell):
Commit your ulimit configuration to your shell initialization file as follows ($LIMIT being your chosen limit and $INIT_FILE being the initialization file for your shell):
```
echo ulimit -S -n $LIMIT >> $INIT_FILE

View File

@@ -33,6 +33,7 @@ The following sections provide general guidelines on topics specific to Grafana
- Use: The panel opens. Grafana opens the panel.
* Do not use an ampersand (&) as an abbreviation for "and."
- **Exceptions:** If an ampersand is used in the Grafana UI, then match the UI.
* Avoid using internal slang and jargon in technical documentation.
### File naming conventions
@@ -112,7 +113,7 @@ Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
### Word usage
Grafana products has some words, abbreviations, and slang particular to this discourse community.
Grafana products has some words, abbreviations, and terms particular to the Grafana discourse community.
#### checkout, check out
@@ -141,6 +142,10 @@ Two words, not one
* Correct, but passive voice: Your list of active alarms is displayed.
* Incorrect: The list of active alarms displays.
#### drawer
Do not use. This is developer jargon that refers to a UI panel. Refer to the panel or feature by its proper name.
#### intro, introduction
"Introduction" is the preferred word. Use "intro" if there are space constraints (like on the side menu) or you are specifically trying for a less formal, more conversational tone.

View File

@@ -5,15 +5,22 @@ Grafana Labs uses a minimal home grown solution built on top of Cypress for our
## Commands
- `yarn e2e` Creates an isolated grafana-server home under `<repo-root>/e2e/tmp` with provisioned data sources and dashboards. This
copies locally build binary and frontned assets from your repo root so you need to have a built backend and frontend
copies locally build binary and frontend assets from your repo root so you need to have a built backend and frontend
for this to run locally. The server starts on port 3001 so it does not conflict with your normal dev server.
- `yarn e2e:debug` Same as above but runs the tests in chrome and does not shutdown after completion.
- `yarn e2e:dev` Same as above but does not run any tests on startup. It lets you pick a test first.
If you already have a Grafana instance running, you can provide a specific URL by setting the `BASE_URL` environment variable:
```
BASE_URL=http://172.0.10.2:3333 yarn e2e
```
The above commands use some utils scripts under `<repo-root>/e2e` that can also be used for more control.
- `./e2e/start-server` This creates a fresh new grafana server working dir, setup's config and starts the server. It
will also kill any previously started server that is still running using pid file at `<repo-root>/e2e/tmp/pid`.
- `./e2e/wait-for-grafana` waits for `$HOST` and `$PORT` to be available. Per default localhost and 3001.
- `./e2e/run-suite <debug|dev|noarg>` Starts cypress in different modes.
## Test Suites

View File

@@ -8,7 +8,7 @@ Generally we follow the Airbnb [React Style Guide](https://github.com/airbnb/jav
- [Table of Contents](#table-of-contents)
- [Basic rules](#basic-rules)
- [Naming conventions](#naming-conventions)
- [Files and directories naming conventions](#files-and-directories-naming-conventions)
- [File and directory naming conventions](#file-and-directory-naming-conventions)
- [Code organization](#code-organization)
- [Exports](#exports)
- [Comments](#comments)
@@ -172,6 +172,44 @@ const CONSTANT_VALUE = "This string won't change";
_SASS styles are deprecated. Please migrate to Emotion whenever you need to modify SASS styles._
### Typing
In general, you should let Typescript infer the types so that there's no need to explicitly define type for each variable.
There are some exceptions to this:
```typescript
// Typescript needs to know type of arrays or objects otherwise it would infer it as array of any
// bad
const stringArray = [];
// good
const stringArray: string[] = [];
```
Specify function return types explicitly in new code. This improves readability by being able to tell what a function returns just by looking at the signature. It also prevents errors when a function's return type is broader than expected by the author.
> Note: We don't have linting for this enabled because of lots of old code that needs to be fixed first.
```typescript
// bad
function transform(value?: string) {
if (!value) {
return undefined
}
return applyTransform(value)
};
// good
function transform(value?: string): TransformedValue | undefined {
if (!value) {
return undefined
}
return applyTransform(value)
};
```
### File and directory naming conventions
Name files according to the primary export:

View File

@@ -39,4 +39,11 @@ Some of the blocks support dynamic change of the image version used in the Docke
make devenv sources=postgres,openldap,grafana postgres_version=9.2 grafana_version=6.7.0-beta1
```
Note: The grafana block is pre-configured with the dev-datasources and dashboards.
### Notes per block
#### Grafana
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.

View File

@@ -246,5 +246,29 @@ datasources:
access: proxy
url: http://localhost:3100
editable: false
jsonData:
derivedFields:
- name: "traceID"
matcherRegex: "traceID=(\\w+)"
url: "$${__value.raw}"
datasourceUid: gdev-jaeger
- name: "traceID"
matcherRegex: "traceID=(\\w+)"
url: "$${__value.raw}"
datasourceUid: gdev-zipkin
- name: gdev-jaeger
type: jaeger
uid: gdev-jaeger
access: proxy
url: http://localhost:16686
editable: false
- name: gdev-zipkin
type: zipkin
uid: gdev-zipkin
access: proxy
url: http://localhost:9411
editable: false

View File

@@ -0,0 +1,695 @@
{
"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,
"id": 28,
"links": [],
"panels": [
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-testdata",
"editable": true,
"error": false,
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 0
},
"hiddenSeries": false,
"id": 4,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "connected",
"options": {
"dataLinks": []
},
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"refId": "A",
"scenario": "random_walk",
"scenarioId": "random_walk",
"target": ""
}
],
"thresholds": [],
"timeFrom": "2s",
"timeRegions": [],
"timeShift": null,
"title": "Millisecond res x-axis and tooltip",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"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
}
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-testdata",
"editable": true,
"error": false,
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 0
},
"hiddenSeries": false,
"id": 3,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "connected",
"options": {
"dataLinks": []
},
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"refId": "A",
"scenario": "random_walk",
"scenarioId": "random_walk",
"target": ""
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Random walk series",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"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
}
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-testdata",
"editable": true,
"error": false,
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 7
},
"hiddenSeries": false,
"id": 5,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "connected",
"options": {
"dataLinks": []
},
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [
{
"alias": "B-series",
"yaxis": 2
}
],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "1,20,90,30,5,0",
"target": ""
},
{
"refId": "B",
"scenarioId": "csv_metric_values",
"stringInput": "2000,3000,4000,1000,3000,10000",
"target": ""
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "2 yaxis and axis labels",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "percent",
"label": "Perecent",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": "Pressure",
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-testdata",
"editable": true,
"error": false,
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 7
},
"hiddenSeries": false,
"id": 9,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "null",
"options": {
"dataLinks": []
},
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [
{
"alias": "B-series",
"zindex": -3
}
],
"spaceLength": 10,
"stack": true,
"steppedLine": false,
"targets": [
{
"hide": false,
"refId": "B",
"scenarioId": "csv_metric_values",
"stringInput": "1,20,null,null,null,null,null,null,100,10,10,20,30,40,10",
"target": ""
},
{
"alias": "",
"hide": false,
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "1,20,90,30,5,10,20,30,40,40,40,100,10,20,20",
"target": ""
},
{
"alias": "",
"hide": false,
"refId": "C",
"scenarioId": "csv_metric_values",
"stringInput": "1,20,90,30,5,10,20,30,40,40,40,100,10,20,20",
"target": ""
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Stacking value ontop of nulls",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"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
}
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-testdata",
"editable": true,
"error": false,
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"fill": 0,
"fillGradient": 0,
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 15
},
"hiddenSeries": false,
"id": 21,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "null",
"options": {
"dataLinks": []
},
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [
{
"alias": "C-series",
"steppedLine": true
}
],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"alias": "",
"hide": false,
"refId": "B",
"scenarioId": "csv_metric_values",
"stringInput": "1,null,40,null,90,null,null,100,null,null,100,null,null,80,null",
"target": ""
},
{
"alias": "",
"hide": false,
"refId": "C",
"scenarioId": "csv_metric_values",
"stringInput": "20,null40,null,null,50,null,70,null,100,null,10,null,30,null",
"target": ""
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Null between points",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"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
}
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "gdev-testdata",
"decimals": 3,
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 15
},
"hiddenSeries": false,
"id": 16,
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"max": true,
"min": true,
"show": true,
"total": true,
"values": true
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"options": {
"dataLinks": []
},
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"refId": "A",
"scenarioId": "csv_metric_values",
"stringInput": "1,20,90,30,5,0",
"target": ""
},
{
"refId": "B",
"scenarioId": "csv_metric_values",
"stringInput": "1,20,90,30,5,0",
"target": ""
},
{
"refId": "C",
"scenarioId": "csv_metric_values",
"stringInput": "1,20,90,30,5,0",
"target": ""
},
{
"refId": "D",
"scenarioId": "csv_metric_values",
"stringInput": "1,20,90,30,5,0",
"target": ""
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Legend Table No Scroll Visible",
"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,
"revision": 8,
"schemaVersion": 25,
"style": "dark",
"tags": ["gdev", "panel-tests", "graph", "table"],
"templating": {
"list": []
},
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {
"refresh_intervals": ["10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"],
"time_options": ["5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d"]
},
"timezone": "utc",
"title": "Panel Tests - Time zone support",
"uid": "5SdHCasdf",
"version": 1
}

View File

@@ -6,3 +6,9 @@
- "./dashboards.yaml:/etc/grafana/provisioning/dashboards/dashboards.yaml"
- "./dev-dashboards:/usr/share/grafana/devenv/dev-dashboards"
- "./datasources_docker.yaml:/etc/grafana/provisioning/datasources/datasources.yaml"
environment:
GF_RENDERING_SERVER_URL: http://renderer:8081/render
GF_RENDERING_CALLBACK_URL: http://grafana:3000/
renderer:
image: grafana/grafana-image-renderer:latest

View File

@@ -10,6 +10,11 @@
ports:
- "3100:3100"
command: -config.file=/etc/loki/local-config.yaml
# For this to work you need to install the logging driver see https://github.com/grafana/loki/tree/master/cmd/docker-driver#plugin-installation
logging:
driver: loki
options:
loki-url: "http://localhost:3100/loki/api/v1/push"
# Optional jaeger tracing
environment:
- JAEGER_AGENT_HOST=jaeger

View File

@@ -35,6 +35,12 @@ Run load test for 10 virtual users:
$ ./run.sh -v 10
```
Run load test and send the results to the database "myDb" in influxDB running locally on port 8086 (with no authentication):
```bash
$ ./run.sh -o influxdb=http://localhost:8086/myDb
```
Run auth token slow test (random query latency between 1 and 30 seconds):
```bash

View File

@@ -8,8 +8,9 @@ run() {
vus='2'
testcase='auth_token_test'
slowQuery=''
out=''
while getopts ":d:u:v:c:s:" o; do
while getopts ":d:u:v:c:s:o:" o; do
case "${o}" in
d)
duration=${OPTARG}
@@ -26,11 +27,14 @@ run() {
s)
slowQuery=${OPTARG}
;;
o) out=${OPTARG}
;;
esac
done
shift $((OPTIND-1))
docker run -t --network=host -v $PWD:/src -e URL=$url -e SLOW_QUERY=$slowQuery --rm -i loadimpact/k6:master run --vus $vus --duration $duration src/$testcase.js
docker run -t --network=host -v $PWD:/src -e URL=$url -e SLOW_QUERY=$slowQuery -e K6_OUT=$out --rm -i loadimpact/k6:master run --vus $vus --duration $duration src/$testcase.js
}
run "$@"

View File

@@ -1,9 +1,11 @@
.PHONY: docs docs-test
IMAGE = grafana/docs-base@sha256:63758b74e3990ab61e274f5e98da092d5c38378829dad0488aa97c59f0144f34
IMAGE = grafana/docs-base:latest
docs:
docker pull ${IMAGE}
docker run -v $(shell pwd)/sources:/hugo/content/docs/grafana/latest -p 3002:3002 --rm -it $(IMAGE) /bin/bash -c 'make server'
docs-test:
docker pull ${IMAGE}
docker run -v $(shell pwd)/sources:/hugo/content/docs/grafana/latest --rm -it $(IMAGE) /bin/bash -c 'make prod'

View File

@@ -45,11 +45,11 @@ aliases = ["/docs/grafana/v1.1", "/docs/grafana/latest/guides/reference/admin",
## Guides
<div class="nav-cards">
<a href="{{< relref "guides/what-is-grafana.md" >}}" class="nav-cards__item nav-cards__item--guide">
<a href="{{< relref "getting-started/what-is-grafana.md" >}}" class="nav-cards__item nav-cards__item--guide">
<h4>What is Grafana?</h4>
<p>Get an overview of Grafana's key features.</p>
</a>
<a href="{{< relref "guides/getting_started.md" >}}" class="nav-cards__item nav-cards__item--guide">
<a href="{{< relref "getting-started/getting-started.md" >}}" class="nav-cards__item nav-cards__item--guide">
<h4>Getting started</h4>
<p>Learn the basics of using Grafana.</p>
</a>
@@ -57,7 +57,7 @@ aliases = ["/docs/grafana/v1.1", "/docs/grafana/latest/guides/reference/admin",
<h4>Configure Grafana</h4>
<p>Review the configuration and setup options.</p>
</a>
<a href="{{< relref "guides/timeseries.md" >}}" class="nav-cards__item nav-cards__item--guide">
<a href="{{< relref "getting-started/timeseries.md" >}}" class="nav-cards__item nav-cards__item--guide">
<h4>Intro to time series</h4>
<p>Learn about time series data.</p>
</a>

View File

@@ -12,7 +12,7 @@ weight = 8
Grafana supports automatic rendering of panels and dashboards as PNG images. This allows Grafana to automatically generate images of your panels to include in [alert notifications]({{< relref "../alerting/notifications.md" >}}).
When an image is being rendered the PNG-image is temporarily written to the file system. When an image is rendered, the PNG image is temporary written to the `png` folder in the Grafana `data` folder.
While an image is being rendered, the PNG image is temporarily written to the file system. When the image is rendered, the PNG image is temporarily written to the `png` folder in the Grafana `data` folder.
A background job runs every 10 minutes and removes temporary images. You can configure how long an image should be stored before being removed by configuring the [temp-data-lifetime]({{< relref "../installation/configuration/#temp-data-lifetime" >}}) setting.
@@ -156,7 +156,7 @@ libx11-6 libx11-xcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3
**Centos:**
On a minimal Centos install the following dependencies have been confirmed as needed for the image rendering to function:
On a minimal Centos installation, the following dependencies have been confirmed as needed for the image rendering to function:
```bash
libXcomposite libXdamage libXtst cups libXScrnSaver pango atk adwaita-cursor-theme adwaita-icon-theme at at-spi2-atk at-spi2-core cairo-gobject colord-libs dconf desktop-file-utils ed emacs-filesystem gdk-pixbuf2 glib-networking gnutls gsettings-desktop-schemas gtk-update-icon-cache gtk3 hicolor-icon-theme jasper-libs json-glib libappindicator-gtk3 libdbusmenu libdbusmenu-gtk3 libepoxy liberation-fonts liberation-narrow-fonts liberation-sans-fonts liberation-serif-fonts libgusb libindicator-gtk3 libmodman libproxy libsoup libwayland-cursor libwayland-egl libxkbcommon m4 mailx nettle patch psmisc redhat-lsb-core redhat-lsb-submod-security rest spax time trousers xdg-utils xkeyboard-config
@@ -164,7 +164,7 @@ libXcomposite libXdamage libXtst cups libXScrnSaver pango atk adwaita-cursor-the
### Certificate signed by internal certificate authorities
In many cases Grafana, runs on internal servers and uses certificates that have not been signed by a CA ([Certificate Authority](https://en.wikipedia.org/wiki/Certificate_authority)) known to Chrome, and therefore cannot be validated. Chrome internally uses NSS ([Network Security Services](https://en.wikipedia.org/wiki/Network_Security_Services)) for cryptogtraphic operations such as the validation of certificates.
In many cases, Grafana runs on internal servers and uses certificates that have not been signed by a CA ([Certificate Authority](https://en.wikipedia.org/wiki/Certificate_authority)) known to Chrome, and therefore cannot be validated. Chrome internally uses NSS ([Network Security Services](https://en.wikipedia.org/wiki/Network_Security_Services)) for cryptogtraphic operations such as the validation of certificates.
If you are using the Grafana Image Renderer with a Grafana server that uses a certificate signed by such a custom CA (for example a company-internal CA), rendering images will fail and you will see messages like this in the Grafana log:

View File

@@ -51,7 +51,7 @@ If you have a literal `$` in your value and want to avoid interpolation, `$$` ca
## Configuration Management Tools
Currently we do not provide any scripts/manifests for configuring Grafana. Rather than spending time learning and creating scripts/manifests for each tool, we think our time is better spent making Grafana easier to provision. Therefore, we heavily relay on the expertise of the community.
Currently we do not provide any scripts/manifests for configuring Grafana. Rather than spending time learning and creating scripts/manifests for each tool, we think our time is better spent making Grafana easier to provision. Therefore, we heavily rely on the expertise of the community.
Tool | Project
-----|------------
@@ -206,7 +206,7 @@ datasources:
httpHeaderValue2: "Bearer XXXXXXXXX"
```
### Dashboards
## Dashboards
It's possible to manage dashboards in Grafana by adding one or more yaml config files in the [`provisioning/dashboards`]({{< relref "../installation/configuration.md" >}}) directory. Each config file can contain a list of `dashboards providers` that will load dashboards into Grafana from the local filesystem.

View File

@@ -216,7 +216,7 @@ Grafana can render the panel associated with the alert rule as a PNG image and i
Most Notification Channels require that this image be publicly accessible (Slack and PagerDuty for example). In order to include images in alert notifications, Grafana can upload the image to an image store. It currently supports
Amazon S3, Webdav, Google Cloud Storage and Azure Blob Storage. So to set that up you need to configure the [external image uploader]({{< relref "../installation/configuration/#external-image-storage" >}}) in your grafana-server ini config file.
Be aware that some notifiers requires public access to the image to be able to include it in the notification. So make sure to enable public access to the images. If you're using local image uploader, your Grafana instance need to be accessible by the internet.
Be aware that some notifiers require public access to the image to be able to include it in the notification. So make sure to enable public access to the images. If you're using local image uploader, your Grafana instance need to be accessible by the internet.
Notification services which need public image access are marked as 'external only'.

View File

@@ -11,7 +11,7 @@ weight = 1
# Alerting Engine and Rules Guide
Alerting in Grafana allows you to attach rules to your dashboard panels. When you save the dashboard
Alerting in Grafana allows you to attach rules to your dashboard panels. When you save the dashboard,
Grafana will extract the alert rules into a separate alert rule storage and schedule them for evaluation.
{{< imgbox max-width="40%" img="/img/docs/v4/drag_handles_gif.gif" caption="Alerting overview" >}}

View File

@@ -12,7 +12,7 @@ weight = 5
# Team sync
With the Team Sync it's possible to setup synchronization between your auth providers teams and teams in Grafana. This enables LDAP or GitHub OAuth users which are members
With Team Sync, you can set up synchronization between your auth provider's teams and teams in Grafana. This enables LDAP or GitHub OAuth users which are members
of certain teams/groups to automatically be added/removed as members to certain teams in Grafana. Currently the synchronization will only happen every
time a user logs in, unless LDAP is used together with active background synchronization that was added in Grafana 6.3.
@@ -23,4 +23,4 @@ This mechanism allows Grafana to remove an existing synchronized user from a tea
<div class="clearfix"></div>
> Team Sync is only available in Grafana Enterprise. For more information, refer to [Team sync]({{< relref "../enterprise/team-sync.md" >}}) in [Grafana Enterprise]({{< relref "../enterprise" >}}).
> Team Sync is only available in Grafana Enterprise. For more information, refer to [Team sync]({{< relref "../enterprise/team-sync.md" >}}) in [Grafana Enterprise]({{< relref "../enterprise" >}}).

View File

@@ -0,0 +1,7 @@
+++
title = "Dashboards"
type = "docs"
[menu.docs]
identifier = "dashboards"
weight = 4
+++

View File

@@ -1,9 +1,4 @@
+++
title = "Contribute"
description = "Contribute"
title = "Developers"
type = "docs"
[menu.docs]
name = "Contribute"
identifier = "contribute"
weight = 20
+++

View File

@@ -3,9 +3,6 @@ title = "Contributor License Agreement (CLA)"
description = "Contributor License Agreement (CLA)"
type = "docs"
aliases = ["/docs/grafana/latest/project/cla", "docs/contributing/cla.html"]
[menu.docs]
parent = "contribute"
weight = 1
+++
# Grafana Labs Contributor License Agreement

View File

@@ -1,19 +1,14 @@
+++
title = "Developer resources"
description = "Resources for Grafana developers"
title = "Contribute to Grafana"
keywords = ["grafana", "documentation", "developers", "resources"]
type = "docs"
[menu.docs]
name = "Grafana resources"
identifier = "Developer resources"
weight = 30
+++
# Developer resources
# Contribute to Grafana
This page lists resources for developers who want to contribute to the Grafana software ecosystem or build plugins for Grafana.
##
##
General resources
These resources are useful for all developers.

View File

@@ -0,0 +1,67 @@
+++
title = "Build a plugin"
type = "docs"
+++
# Build a plugin
For more information on the types of plugins you can build, refer to the [Plugin Overview]({{< relref "../../plugins/_index.md" >}}).
## Get started
The easiest way to start developing Grafana plugins is to use the [Grafana Toolkit](https://www.npmjs.com/package/@grafana/toolkit).
Open the terminal, and run the following command in your [plugin directory]({{< relref "../../installation/configuration/_index.md#plugins" >}}):
```bash
npx @grafana/toolkit plugin:create my-grafana-plugin
```
If you want a more guided introduction to plugin development, check out our tutorials:
- [Build a panel plugin]({{< relref "../../../../../tutorials/build-a-panel-plugin.md" >}})
- [Build a data source plugin]({{< relref "../../../../../tutorials/build-a-data-source-plugin.md" >}})
## Go further
Learn more about specific areas of plugin development.
### Concepts
Deepen your knowledge through a series of high-level overviews of plugin concepts.
- [Data frames]({{< relref "data-frames.md" >}})
- [Authentication for data source plugins]({{< relref "authentication.md" >}})
### UI library
Explore the many UI components in our [Grafana UI library](https://developers.grafana.com/ui).
### Tutorials
If you're looking to build your first plugin, check out these introductory tutorials:
- [Build a panel plugin]({{< relref "../../../../../tutorials/build-a-panel-plugin.md" >}})
- [Build a data source plugin]({{< relref "../../../../../tutorials/build-a-data-source-plugin.md" >}})
Ready to learn more? Check out our other tutorials:
- [Build a panel plugin with D3.js]({{< relref "../../../../../tutorials/build-a-panel-plugin-with-d3.md" >}})
### API reference
Learn more about Grafana options and packages.
#### Metadata
- [Plugin metadata]({{< relref "metadata.md" >}})
#### Typescript
- [Grafana Data]({{< relref "../../packages_api/data/_index.md" >}})
- [Grafana Runtime]({{< relref "../../packages_api/runtime/_index.md" >}})
- [Grafana UI]({{< relref "../../packages_api/ui/_index.md" >}})
#### Go
- [Grafana Plugin SDK](https://pkg.go.dev/mod/github.com/grafana/grafana-plugin-sdk-go?tab=overview)

View File

@@ -1,10 +1,7 @@
+++
title = "Authentication for Datasource Plugins"
title = "Authentication for data source plugins"
type = "docs"
[menu.docs]
name = "Authentication for Datasource Plugins"
parent = "developing"
weight = 3
aliases = ["/docs/grafana/latest/plugins/developing/auth-for-datasources/"]
+++
# Authentication for data source plugins

View File

@@ -1,18 +1,15 @@
+++
title = "Developing Backend Plugins"
title = "Backend plugins"
keywords = ["grafana", "plugins", "backend", "plugin", "backend-plugins", "documentation"]
type = "docs"
[menu.docs]
name = "Developing Backend Plugins"
parent = "developing"
weight = 5
aliases = ["/docs/grafana/latest/plugins/developing/backend-plugins-guide/"]
+++
# Backend Plugins
# Backend plugins
Grafana added support for plugins in Grafana 3.0 and this enabled the Grafana community to create panel plugins and data source plugins. It was wildly successful and has made Grafana much more useful as you can integrate it with anything and do any type of custom visualization that you want. However, these plugin hooks are on the frontend only and we also want to provide hooks into the Grafana backend to allow the community to extend and improve Grafana in new ways.
Once Grafana introduced the alerting feature, external data source plugins needed a backend component for the Grafana server to execute queries for evaluating alert rules (as the alerting engine cannot call frontend JavaScript code). So the the obvious first backend plugin type is the **Datasource backend plugin** and it is a new component for an existing data source plugin. This new plugin type will enable alerting for external data source plugins but can also be used for achieving different goals such as query caching, request proxying, custom authentication methods, and more.
Once Grafana introduced the alerting feature, external data source plugins needed a backend component for the Grafana server to execute queries for evaluating alert rules (as the alerting engine cannot call frontend JavaScript code). So the obvious first backend plugin type is the **Datasource backend plugin** and it is a new component for an existing data source plugin. This new plugin type will enable alerting for external data source plugins but can also be used for achieving different goals such as query caching, request proxying, custom authentication methods, and more.
## Grafana's Backend Plugin System

View File

@@ -1,22 +1,19 @@
+++
title = "Introduction Data frames"
title = "Data frames"
type = "docs"
[menu.docs]
name = "Data frames"
parent = "developing"
weight = 9
draft = true
+++
## Introduction to data frames
# Data frames
Grafana supports a variety of different data sources, each with its own data model. To make this possible, Grafana consolidates the query results from each of these data sources into one, unified data structure called _data frames_.
Grafana supports a variety of different data sources, each with its own data model. To make this possible, Grafana consolidates the query results from each of these data sources into one unified data structure called a _data frame_.
Data frames were introduced in Grafana 7.0 to replace the Time series and Table structures with a more generic data structure that can support a wider range of data types.
The data frame structure is a concept that's borrowed from data analysis tools like the [R programming language](https://www.r-project.org), and [Pandas](https://pandas.pydata.org/).
> Data frames are available in Grafana 7.0+, and replaced the Time series and Table structures with a more generic data structure that can support a wider range of data types.
This document gives an overview of the data frame structure, and of how data is handled within Grafana.
### The data frame
## The data frame
A data frame is a columnar-oriented table structure, which means it stores data by column and not by row. To understand what this means, lets look at the TypeScript definition used by Grafana:
@@ -56,17 +53,29 @@ Let's look an example. The table below demonstrates a data frame with two fields
| 2020-01-02 03:05:00 | 47.0 |
| 2020-01-02 03:06:00 | 48.0 |
Each field has three values, and each value in a field must share the same type. In this case, all values in the time field are timestamp, and all values in the temperature field are numbers.
Each field has three values, and each value in a field must share the same type. In this case, all values in the time field are timestamps, and all values in the temperature field are numbers.
One restriction on data frames is that all fields in the frame must be of the same length to be a valid data frame.
### Data frames as time series
### Field configuration
Each field in a data frame contains optional information about the values in the field, such as units, scaling, and so on.
By adding field configurations to a data frame, Grafana can configure visualizations automatically. For example, you could configure Grafana to automatically set the unit provided by the data source.
## Transformations
Along with the type information, field configs enables _data transformations_ within Grafana.
A data transformation is any function that accepts a data frame as input, and returns another data frame as output. By using data frames in your plugin, you get a range of transformations for free.
## Data frames as time series
A data frame with at least one time field is considered a _time series_.
For more information on time series, refer to our [Introduction to time series](https://grafana.com/docs/grafana/latest/guides/timeseries/).
#### Wide format
### Wide format
When a collection of time series share the same _time index_—the time fields in each time series are identical—they can be stored together, in a _wide_ format. By reusing the time field, we can reduce the amount of data being sent to the browser.

View File

@@ -1,14 +1,12 @@
+++
title = "Developer Guide"
title = "Legacy plugins"
type = "docs"
aliases = ["/docs/grafana/latest/plugins/development/", "/docs/grafana/latest/plugins/datasources/", "/docs/grafana/latest/plugins/apps/", "/docs/grafana/latest/plugins/panels/"]
[menu.docs]
name = "Developer Guide"
parent = "developing"
weight = 1
aliases = ["/docs/grafana/latest/plugins/development/", "/docs/grafana/latest/plugins/datasources/", "/docs/grafana/latest/plugins/apps/", "/docs/grafana/latest/plugins/panels/", "/docs/grafana/latest/plugins/developing/development/"]
+++
# Developer Guide
# Legacy plugins
> **Note**: Since Grafana 7.0, writing plugins using Angular is no longer recommended. If you're looking to build a new plugin, refer to [Plugins]({{< relref "../_index.md" >}}).
You can extend Grafana by writing your own plugins and then share them with other users in [our plugin repository](https://grafana.com/plugins).
@@ -47,20 +45,20 @@ Grafana that can impact your plugin.
## Metadata
See the [coding styleguide]({{< relref "code-styleguide.md" >}}) for details on the metadata.
See the [coding styleguide]({{< relref "style-guide.md" >}}) for details on the metadata.
## module.(js|ts)
This is the entry point for every plugin. This is the place where you should export
your plugin implementation. Depending on what kind of plugin you are developing you
will be expected to export different things. You can find what's expected for [datasource]({{< relref "datasources.md" >}}), [panels]({{< relref "panels.md" >}})
will be expected to export different things. You can find what's expected for [datasource]({{< relref "data-sources.md" >}}), [panels]({{< relref "panels.md" >}})
and [apps]({{< relref "apps.md" >}}) plugins in the documentation.
The Grafana SDK is quite small so far and can be found here:
- [SDK file in Grafana](https://github.com/grafana/grafana/blob/master/public/app/plugins/sdk.ts)
The SDK contains three different plugin classes: PanelCtrl, MetricsPanelCtrl and QueryCtrl. For plugins of the panel type, the module.js file should export one of these. There are some extra classes for [data sources]({{< relref "datasources.md" >}}).
The SDK contains three different plugin classes: PanelCtrl, MetricsPanelCtrl and QueryCtrl. For plugins of the panel type, the module.js file should export one of these. There are some extra classes for [data sources]({{< relref "data-sources.md" >}}).
Example:
@@ -128,7 +126,7 @@ We have three different examples that you can fork/download to get started devel
- [Getting Plugins to work in Snapshot Mode]({{< relref "snapshot-mode.md" >}})
- [Plugin Defaults and Editor Mode]({{< relref "defaults-and-editor-mode.md" >}})
- [Grafana Plugin Code Styleguide]({{< relref "code-styleguide.md" >}})
- [Grafana Plugin Code Styleguide]({{< relref "style-guide.md" >}})
- [Grafana Apps]({{< relref "apps.md" >}})
- [Grafana Data Sources]({{< relref "datasources.md" >}})
- [plugin.json Schema]({{< relref "plugin.json.md" >}})
- [Grafana Data Sources]({{< relref "data-sources.md" >}})
- [plugin.json Schema]({{< relref "metadata.md" >}})

View File

@@ -1,14 +1,11 @@
+++
title = "Developing App Plugins"
title = "Legacy app plugins"
keywords = ["grafana", "plugins", "documentation"]
type = "docs"
[menu.docs]
name = "Developing App Plugins"
parent = "developing"
weight = 4
aliases = ["/docs/grafana/latest/plugins/developing/apps/"]
+++
# Grafana Apps
# Legacy app plugins
App plugins are a Grafana plugin that can bundle data source and panel plugins within one package. They also enable the plugin author to create custom pages within Grafana. The custom pages enable the plugin author to include things like documentation, sign-up forms, or to control other services with HTTP requests.

View File

@@ -1,14 +1,11 @@
+++
title = "Developing Datasource Plugins"
title = "Legacy data source plugins"
keywords = ["grafana", "plugins", "documentation"]
type = "docs"
[menu.docs]
name = "Developing Datasource Plugins"
parent = "developing"
weight = 5
aliases = ["/docs/grafana/latest/plugins/developing/datasources/"]
+++
# Data Sources
# Legacy data source plugins
Data source plugins enable people to develop plugins for any database that
communicates over HTTP. Its up to the plugin to transform the data into

View File

@@ -1,13 +1,10 @@
+++
title = "Plugin Defaults and Editor Mode"
title = "Legacy defaults and editor mode"
type = "docs"
[menu.docs]
name = "Plugin Defaults and Editor Mode"
parent = "developing"
weight = 3
aliases = ["/docs/grafana/latest/plugins/developing/defaults-and-editor-mode/"]
+++
# Plugin Defaults and Editor Mode
# Legacy defaults and editor mode
Most plugins allow users to customize the behavior by changing settings on an editor tab. These setting fields are saved in the dashboard json.
@@ -59,7 +56,7 @@ If you want your users to be able to change these panel values then you need to
## Editor Mode
Editor mode is when a user clicks Edit on a panel. Every panel has a general tab where you change the title and width and some panels have more inbuilt tabs like the Metrics tab or Time Range tab. A panel plugin can add its own tab(s) so that a user can customize the panel.
Editor mode is when a user clicks Edit on a panel. Every panel has a general tab where you change the title and width and some panels have more inbuilt tabs like the Metrics tab or Time Range tab. A panel plugin can add its own tab(s) so that a user can customize the panel.
Grafana conventions mean all you need to do is to hook up an Angular template with input fields and Grafana will automatically save the values to the dashboard json and load them on dashboard load.

View File

@@ -1,21 +1,16 @@
+++
title = "Developing Panel Plugins"
title = "Legacy panel plugins"
keywords = ["grafana", "plugins", "panel", "documentation"]
type = "docs"
[menu.docs]
name = "Developing Panel Plugins"
parent = "developing"
weight = 4
aliases = ["/docs/grafana/latest/plugins/developing/panels/"]
+++
# Panels
# Legacy panel plugins
Panels are the main building blocks of dashboards.
## Panel development
### Scrolling
The grafana dashboard framework controls the panel height. To enable a scrollbar within the panel the PanelCtrl needs to set the scrollable static variable:
@@ -27,10 +22,7 @@ export class MyPanelCtrl extends PanelCtrl {
In this case, make sure the template has a single `<div>...</div>` root. The plugin loader will modify that element adding a scrollbar.
### Examples
- [clock-panel](https://github.com/grafana/clock-panel)
- [singlestat-panel](https://github.com/grafana/grafana/tree/master/public/app/plugins/panel/singlestat)

View File

@@ -1,19 +1,16 @@
+++
title = "Plugin Review Guidelines"
title = "Legacy review guidelines"
type = "docs"
[menu.docs]
name = "Plugin Review Guidelines"
parent = "developing"
weight = 2
aliases = ["/docs/grafana/latest/plugins/developing/plugin-review-guidelines/"]
+++
# Plugin Review Guidelines
# Legacy review guidelines
The Grafana team reviews all plugins that are published on Grafana.com. There are two areas we review, the metadata for the plugin and the plugin functionality.
## Metadata
The plugin metadata consists of a `plugin.json` file and the README.md file. These `plugin.json` file is used by Grafana to load the plugin and the README.md file is shown in the plugins section of Grafana and the plugins section of Grafana.com.
The plugin metadata consists of a `plugin.json` file and the README.md file. The `plugin.json` file is used by Grafana to load the plugin, and the README.md file is shown in the plugins section of Grafana and the plugins section of https://grafana.com.
### README.md
@@ -157,7 +154,7 @@ A basic guide for data sources can be found [here](http://docs.grafana.org/plugi
If possible, any passwords or secrets should be be saved in the `secureJsonData` blob. To encrypt sensitive data, the Grafana server's proxy feature must be used. The Grafana server has support for token authentication (OAuth) and HTTP Header authentication. If the calls have to be sent directly from the browser to a third-party API, this will not be possible and sensitive data will not be encrypted.
Read more here about how [authentication for data sources]({{< relref "auth-for-datasources.md" >}}) works.
Read more here about how [authentication for data sources]({{< relref "../authentication.md" >}}) works.
If using the proxy feature, the Config page should use the `secureJsonData` blob like this:

View File

@@ -1,17 +1,14 @@
+++
title = "Snapshot Mode"
title = "Legacy snapshot mode"
type = "docs"
[menu.docs]
name = "Snapshot Mode"
parent = "developing"
weight = 6
aliases = ["/docs/grafana/latest/plugins/developing/snapshot-mode/"]
+++
# Getting Plugins to work in Snapshot Mode
# Legacy snapshot mode
{{< imgbox img="/img/docs/Grafana-snapshot-example.png" caption="A dashboard using snapshot data and not live data." >}}
Grafana has this great feature where you can [save a snapshot of your dashboard]({{< relref "../../reference/share_dashboard.md" >}}). Instead of sending a screenshot of a dashboard to someone, you can send them a working, interactive Grafana dashboard with the snapshot data embedded inside it. The snapshot can be saved on your Grafana server and is available to all your co-workers. Raintank also hosts a [snapshot server](http://snapshot.raintank.io/) if you want to send the snapshot to someone who does not have access to your Grafana server.
Grafana has this great feature where you can [save a snapshot of your dashboard]({{< relref "../../../reference/share_dashboard.md" >}}). Instead of sending a screenshot of a dashboard to someone, you can send them a working, interactive Grafana dashboard with the snapshot data embedded inside it. The snapshot can be saved on your Grafana server and is available to all your co-workers. Raintank also hosts a [snapshot server](http://snapshot.raintank.io/) if you want to send the snapshot to someone who does not have access to your Grafana server.
{{< imgbox img="/img/docs/animated_gifs/snapshots.gif" caption="Selecting a snapshot" >}}

View File

@@ -1,13 +1,10 @@
+++
title = "Plugin Code Styleguide"
title = "Legacy code style guide"
type = "docs"
[menu.docs]
name = "Plugin Code Styleguide"
parent = "developing"
weight = 2
aliases = ["/docs/grafana/latest/plugins/developing/code-styleguide/"]
+++
# Grafana Plugin Code Styleguide
# Legacy code style guide
This guide has two parts. The first part describes the metadata and the second part is a styleguide for HTML/CSS and JavaScript in Grafana plugins and applies if you are using ES6 in your plugin. If using TypeScript then the [Angular TypeScript styleguide](https://angular.io/styleguide) is recommended.
@@ -30,7 +27,7 @@ grafana-piechart-panel
mtanda-histogram-panel
```
The full file format for plugin.json is described [here]({{< relref "plugin.json.md" >}}).
The full file format for plugin.json is described [here]({{< relref "metadata.md" >}}).
Minimal plugin.json:

View File

@@ -1,22 +1,19 @@
+++
title = "plugin.json Schema"
title = "plugin.json"
keywords = ["grafana", "plugins", "documentation"]
type = "docs"
[menu.docs]
name = "plugin.json Schema"
parent = "developing"
weight = 8
aliases = ["/docs/grafana/latest/plugins/developing/plugin.json/"]
+++
# Plugin.json
# plugin.json
The plugin.json file is mandatory for all plugins. When Grafana starts it will scan the plugin folders and mount every folder that contains a plugin.json file unless the folder contains a subfolder named `dist`. In that case grafana will mount the `dist` folder instead.
## Plugin.json Schema
## Schema
| Property | Description |
| --------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| id | Unique name of the plugin. See [naming conventions described in styleguide]({{< relref "code-styleguide.md" >}}) |
|-----------------------------|-------------------------------------------------------------------------------------------------------------------------------|
| id | Unique name of the plugin. |
| type | One of `app`, `datasource`, `panel` |
| name | Human-readable name of the plugin |
| dependencies.grafanaVersion | Required Grafana version for this plugin |
@@ -26,11 +23,11 @@ The plugin.json file is mandatory for all plugins. When Grafana starts it will s
| info.description | Description of plugin. Used for search on grafana.com |
| info.keywords | Array of plugin keywords. Used for search on grafana.com |
| info.links | An array of link objects to be displayed on this plugin's project page in the form `{name: 'foo', url: 'http://example.com'}` |
| info.logos.small | Link to the "small" version of the plugin logo, which must be an SVG image. "Large" and "small" logos can be the same image. |
| info.logos.large | Link to the "large" version of the plugin logo, which must be an SVG image. "Large" and "small" logos can be the same image. |
| info.logos.small | Link to the "small" version of the plugin logo, which must be an SVG image. "Large" and "small" logos can be the same image. |
| info.logos.large | Link to the "large" version of the plugin logo, which must be an SVG image. "Large" and "small" logos can be the same image. |
| info.screenshots | An array of screenshot objects in the form `{name: 'bar', path: 'img/screenshot.png'}` |
| info.updated | Date when this plugin was built. Use `%TODAY%` for Grafana to autopopulate this value. |
| info.version | Project version of this commit. Use `%VERSION%` for Grafana to autopopulate this value. |
| info.version | Project version of this commit. Use `%VERSION%` for Grafana to autopopulate this value. |
## Plugin.json Example

View File

@@ -1,7 +1,7 @@
+++
title = "Grafana Enterprise"
description = "Grafana Enterprise overview"
keywords = ["grafana", "documentation", "datasource", "permissions", "ldap", "licensing", "enterprise"]
keywords = ["grafana", "documentation", "datasource", "permissions", "ldap", "licensing", "enterprise", "insights", "reporting"]
type = "docs"
[menu.docs]
name = "Grafana Enterprise"
@@ -58,6 +58,10 @@ Supported auth providers:
[White labeling]({{< relref "white-labeling.md" >}}) allows you to replace the Grafana brand and logo with your own corporate brand and logo. You can also change footer links to point to your custom resources.
## Usage insights
[Usage insights]({{< relref "usage-insights.md" >}}) allow you to understand how your Grafana instance is used. You can see who is looking at a dashboard, how often a dashboard is seen, and which dashboards are prone to errors. You'll also be able to discover what are the least and the most used dashboards.
## Enterprise plugins
With a Grafana Enterprise license, you get access to premium plugins, including:

View File

@@ -39,12 +39,68 @@ Currently only Organization Admins can create reports.
1. Select the layout option for generated report: **Portrait** or **Landscape**.
1. Enter scheduling information. Options vary depending on the frequency you select.
1. **Save** the report.
1. **Send test mail** after saving the report to verify that the whole configuration is working as expected.
{{< docs-imagebox img="/img/docs/enterprise/reports_create_new.png" max-width="500px" class="docs-image--no-shadow" >}}
### Scheduling
Scheduled reports can be sent on a weekly, daily, or hourly basis. You may also disable scheduling for when you either want to pause a report or send it via the API.
All scheduling indicates when the reporting service will start rendering the dashboard. It can take a few minutes to render a dashboard with a lot of panels.
#### Hourly
Hourly reports are generated once per hour. All fields are required.
* **At minute -** The number of minutes after full hour when the report should be generated.
* **Time zone -** Time zone to determine the offset of the full hour. Does not currently change the time in the rendered report.
#### Daily
Daily reports are generated once per day. All fields are required.
* **Time -** Time of day in 24 hours format when the report should be sent.
* **Time zone -** Time zone for the **Time** field.
#### Weekly
Weekly reports are generated once per week. All fields are required.
* **Day -** Weekday which the report should be sent on.
* **Time -** Time of day in 24 hours format when the report should be sent.
* **Time zone -** Time zone for the **Time** field.
#### Never
> Only available in Grafana Enterprise v7.0+.
Reports which are scheduled to never be sent have no parameter and will not be sent to the scheduler. They may be manually generated from the **Send test email** prompt or via the API.
### Send test mail
> Only available in Grafana Enterprise v7.0+.
1. In the report, click **Send test mail**.
1. In the Email field, enter the email address or addresses that you want to test, separated by semicolon.
If you want to use email addresses from the report, then select the **Use emails from report** check box.
1. Click **Send**.
The last saved version of the report will be sent to selected emails. You can use this to verify emails are working and to make sure the report is generated and displayed as you expect.
{{< docs-imagebox img="/img/docs/enterprise/reports_send_test_mail.png" max-width="500px" class="docs-image--no-shadow" >}}
## Send report via the API
You can send reports programmatically with the [send report]({{< relref "../http_api/reporting.md#send-report" >}}) endpoint in the [HTTP APIs]({{< relref "../http_api" >}}).
## Rendering configuration
When Grafana generates a report, it will render each panel separately and then put them together in a PDF file. You can configure the per-panel rendering request timeout and the maximum number of concurrent calls to the rendering service. These options are available in the [configuration]({{< relref "../installation/configuration.md">}}) file.
When generating reports, each panel renders separately before being collected in a PDF. The per panel rendering timeout and number of concurrently rendered panels can be configured.
To modify the panels' clarity you can set a scale factor for the rendered images. A higher scale factor is more legible but will increase the file size of the generated PDF.
These options are available in the [configuration]({{< relref "../installation/configuration.md">}}) file.
```ini
[reporting]
@@ -52,8 +108,19 @@ When Grafana generates a report, it will render each panel separately and then p
rendering_timeout = 10s
# Set maximum number of concurrent calls to the rendering service
concurrent_render_limit = 4
# Set the scale factor for rendering images. 2 is enough for monitor resolutions
# 4 would be better for printed material. Setting a higher value affects performance and memory
image_scale_factor = 2
```
## Report time range
Reports use the saved time range of the dashboard. Changing the time range of the report is done by saving a modified time range to the dashboard.
The page header of the report displays the time range for the dashboard's data queries. Dashboards set to use the browser's time zone will use the time zone on the Grafana server.
If the time zone is set differently between your Grafana server and its remote image renderer, then the time ranges in the report might be different between the page header and the time axes in the panels. We advise always setting the time zone to UTC for dashboards when using a remote renderer to avoid this.
## Troubleshoot reporting
To troubleshoot and get more log information, enable debug logging in the configuration file. Refer to [Configuration]({{< relref "../installation/configuration.md#filters" >}}) for more information.

View File

@@ -65,7 +65,7 @@ The SAML SSO standard uses asymmetric encryption to exchange information between
Grafana supports two ways of specifying both the `certificate` and `private_key`.
* Without a suffix (`certificate` or `private_key`), the configuration assumes you've supplied the base64-encoded file contents.
* With the `_path` suffix (`certificate_path` or `private_key_path`), then Grafana treats the value entered as a file path and attempt to read the file from the file system.
* With the `_path` suffix (`certificate_path` or `private_key_path`), then Grafana treats the value entered as a file path and attempts to read the file from the file system.
You can only use one form of each configuration option. Using multiple forms, such as both `certificate` and `certificate_path`, results in an error.

View File

@@ -0,0 +1,57 @@
+++
title = "Usage-insights"
description = "Usage-insights"
keywords = ["grafana", "usage-insights", "enterprise"]
aliases = ["/docs/grafana/latest/enterprise/usage-insights/"]
type = "docs"
[menu.docs]
name = "Usage-insights"
parent = "enterprise"
weight = 700
+++
# Usage insights
Usage insights allow you to have a better understanding of how your Grafana instance is used. The collected data are the number of:
- Dashboard views (aggregated and per user)
- Data source errors
- Data source queries
> Only available in Grafana Enterprise v7.0+.
## Presence indicator
The presence indicator is visible to all signed-in users on all dashboards. It shows the avatars of users who interacted with the dashboard recently (last 10 minutes by default). You can see the user's name by hovering your cursor over the user's avatar. The avatars come from [Gravatar](https://gravatar.com) based on the user's email.
When more users are active on a dashboard than can fit in the presence indicator section, click on the `+X` icon that opens [dashboard insights]({{< relref "#dashboard-insights" >}}) to see more details about recent user activity.
{{< docs-imagebox img="/img/docs/enterprise/presence_indicators.png" max-width="400px" class="docs-image--no-shadow" >}}
You can choose your own definition of "recent" by setting it in the [configuration]({{< relref "../installation/configuration.md">}}) file.
```ini
[analytics.views]
# Set age for recent active users
recent_users_age = 10m
```
## Dashboard insights
You can see dashboard usage information by clicking on the `Dashboard insights` button in the top bar.
{{< docs-imagebox img="/img/docs/enterprise/dashboard_insights_button.png" max-width="400px" class="docs-image--no-shadow" >}}
It shows two kinds of information:
- **Stats:** Shows the daily query count and error count for the last 30 days.
- **Users & activity:** Shows the daily view count for the last 30 days; last activities on the dashboard and recent users (with a limit of 20).
{{< docs-imagebox img="/img/docs/enterprise/dashboard_insights_stats.png" max-width="400px" class="docs-image--no-shadow" >}}{{< docs-imagebox img="/img/docs/enterprise/dashboard_insights_users.png" max-width="400px" class="docs-image--no-shadow" >}}
## Improved dashboard search
In the search view, you can sort dashboards using these insights data. It helps you find unused or broken dashboards or discover most viewed ones.
{{< docs-imagebox img="/img/docs/enterprise/improved_search.png" max-width="650px" class="docs-image--no-shadow" >}}

View File

@@ -16,7 +16,7 @@ White labeling allows you to replace the Grafana brand and logo with your own co
> Only available in Grafana Enterprise v6.6+.
Grafana Enterprise has white labeling options in the `grafana.ini` file. As with all configuration options, you can also be set set them with environment variables.
Grafana Enterprise has white labeling options in the `grafana.ini` file. As with all configuration options, you can also set them with environment variables.
You can change the following elements:
@@ -26,6 +26,9 @@ You can change the following elements:
- Side menu top logo
- Footer and help menu links
- Fav icon (shown in browser tab)
- Login title (will not appear if a login logo is set, Grafana v7.0+)
- Login subtitle (will not appear if a login logo is set, Grafana v7.0+)
- Login box background (Grafana v7.0+)
> You will have to host your logo and other images used by the white labeling feature separately. Make sure Grafana can access the URL where the assets are stored.
@@ -39,13 +42,22 @@ The configuration file in Grafana Enterprise contains the following options. Eac
# Set to your company name to override application title
;app_title =
# Set to main title on the login page (Will not appear if a login logo is set)
;login_title =
# Set to login subtitle (Will not appear if a login logo is set)
;login_subtitle =
# Set to complete URL to override login logo
;login_logo =
# Set to complete css background expression to override login background
# Set to complete CSS background expression to override login background
# example: login_background = url(http://www.bhmpics.com/wallpapers/starfield-1920x1080.jpg)
;login_background =
# Set to complete CSS background expression to override login box background
;login_box_background =
# Set to complete URL to override menu logo
;menu_logo =
@@ -73,5 +85,5 @@ GF_WHITE_LABELING_FOOTER_LINKS=support guides
GF_WHITE_LABELING_FOOTER_LINKS_SUPPORT_TEXT=Support
GF_WHITE_LABELING_FOOTER_LINKS_SUPPORT_URL=http://your.support.site
GF_WHITE_LABELING_FOOTER_LINKS_GUIDES_TEXT=Guides
GF_WHITE_LABELING_FOOTER_LINKS_GUIDES_URL=http://your.guides.site
GF_WHITE_LABELING_FOOTER_LINKS_GUIDES_URL=http://your.guides.site
```

View File

@@ -41,7 +41,7 @@ The image above shows you the top header for a Dashboard.
The time period for the dashboard can be controlled by the [Time range controls]({{< relref "../../reference/timerange.md" >}}) in the upper right of the dashboard.
Dashboards can use [templating]({{< relref "../../reference/templating.md" >}}) to make them more dynamic and interactive.
Dashboards can use [templating]({{< relref "../../variables/templates-and-variables.md" >}}) to make them more dynamic and interactive.
Dashboards can use [annotations]({{< relref "../../reference/annotations.md" >}}) to display event data across panels. This can help correlate the time series data in the panel with other events.
@@ -61,4 +61,4 @@ We use a unit abstraction so that Grafana looks great on all screens sizes.
Collapse a row by clicking on the row title. If you save a dashboard with a row collapsed, then it saves in that state and does not load those graphs until you expand the row.
Use the [repeating rows]({{< relref "../../reference/templating.md#repeating-rows" >}}) functionality to dynamically create or remove entire rows, which can be filled with panels, based on the template variables selected.
Use the [repeating rows]({{< relref "../../variables/templates-and-variables.md#repeating-rows" >}}) functionality to dynamically create or remove entire rows, which can be filled with panels, based on the template variables selected.

View File

@@ -1,16 +1,18 @@
+++
title = "Navigation links"
title = "Add navigation links"
description = ""
keywords = ["grafana", "linking", "create links", "link panels", "link dashboards", "navigate"]
type = "docs"
aliases = ["/docs/grafana/latest/features/navigation-links/"]
[menu.docs]
identifier = "dashboards"
parent = "features"
weight = 9
weight = 1
+++
# Navigation links
# Add navigation links
You can use links to navigate between commonly used dashboards. Links let you create shortcuts to other dashboards, panels, and even external websites.
You can use links to navigate between commonly-used dashboards or to connect others to your visualizations. Links let you create shortcuts to other dashboards, panels, and even external websites.
Grafana supports three types of links: Dashboard Links, Panel Links, and Data Links. They are all available from your dashboard.
@@ -18,13 +20,13 @@ Grafana supports three types of links: Dashboard Links, Panel Links, and Data Li
## Which link should you use?
Start by figuring out how you're currently navigating between dashboards. If you're often jumping between a set of dashboards and struggling to find the same context in each, links can help optimize your workflow.
Start by figuring out how you're currently navigating between dashboards. If you're often jumping between a set of dashboards and struggling to find the same context in each, links can help optimize your workflow.
The next step is to figure out which link type is right for your workflow. Even though all the link types in Grafana are used to create shortcuts to other dashboards or external websites, they work in different contexts.
- If the link relates to most if not all of the panels in the dashboard, use a *dashboard link*.
- If you want to drill down into specific panels, use a *panel link*.
- If you want to drill down into a specific series, or even a single measurement, use a *data link*.
- If the link relates to most if not all of the panels in the dashboard, use a _dashboard link_.
- If you want to drill down into specific panels, use a _panel link_.
- If you want to drill down into a specific series, or even a single measurement, use a _data link_.
## Dashboard links
@@ -66,7 +68,7 @@ Add a link to a URL at the top of your current dashboard. You can link to any av
- **Time range** Select this option to include the dashboard time range in the link. When the user clicks the link, the linked dashboard opens with the indicated time range already set. **Example:** https://play.grafana.org/d/000000010/annotations?orgId=1&from=now-3h&to=now
- **Variable values** Select this option to include template variables currently used as query parameters in the link. When the user clicks the link, any matching templates in the linked dashboard are set to the values from the link. **Example:** https://play.grafana.org/d/000000074/alerting?var-app=backend&var-server=backend_01&var-server=backend_03&var-interval=1h
- **Open in new tab** Select this option if you want the dashboard link to open in a new tab or window.
1. Click **Add**.
1. Click **Add**.
### Update a dashboard link

View File

@@ -79,7 +79,7 @@ In the query editor for a panel, after choosing your Azure Monitor data source,
The query editor will change depending on which one you pick. Azure Monitor is the default.
## Querying the Azure Monitor Service
## Querying the Azure Monitor service
The Azure Monitor service provides metrics for all the Azure services that you have running. It helps you understand how your applications on Azure are performing and to proactively find issues affecting your applications.
@@ -93,7 +93,7 @@ Examples of metrics that you can get from the service are:
{{< docs-imagebox img="/img/docs/v60/azuremonitor-service-query-editor.png" class="docs-image--no-shadow" caption="Azure Monitor Query Editor" >}}
### Formatting Legend Keys with Aliases for the Azure Monitor Service
### Formatting legend keys with aliases for Azure Monitor
The default legend formatting for the Azure Monitor API is:
@@ -106,7 +106,7 @@ Azure Monitor Examples:
- `dimension: {{dimensionvalue}}`
- `{{resourcegroup}} - {{resourcename}}`
### Alias Patterns for Azure Monitor
### Alias patterns for Azure Monitor
- `{{resourcegroup}}` = replaced with the value of the Resource Group
- `{{namespace}}` = replaced with the value of the Namespace (e.g. Microsoft.Compute/virtualMachines)
@@ -115,7 +115,7 @@ Azure Monitor Examples:
- `{{dimensionname}}` = replaced with dimension key/label (e.g. blobtype)
- `{{dimensionvalue}}` = replaced with dimension value (e.g. BlockBlob)
### Templating with Variables for the Azure Monitor Service
### Templating with variables for Azure Monitor
Instead of hard-coding things like server, application and sensor name in your metric queries you can use variables in their place. Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data being displayed in your dashboard.
@@ -146,14 +146,14 @@ Examples:
{{< docs-imagebox img="/img/docs/v60/azuremonitor-service-variables.png" class="docs-image--no-shadow" caption="Nested Azure Monitor Template Variables" >}}
Check out the [Templating]({{< relref "../../reference/templating.md" >}}) documentation for an introduction to the templating feature and the different
Check out the [Templating]({{< relref "../../variables/templates-and-variables.md" >}}) documentation for an introduction to the templating feature and the different
types of template variables.
### Azure Monitor Metrics Whitelist
### Azure Monitor metrics whitelist
Not all metrics returned by the Azure Monitor API have values. The Grafana data source has a whitelist to only return metric names if it is possible they might have values. This whitelist is updated regularly as new services and metrics are added to the Azure cloud. You can find the current whitelist [here](https://github.com/grafana/grafana/blob/master/public/app/plugins/datasource/grafana-azure-monitor-datasource/azure_monitor/supported_namespaces.ts).
### Azure Monitor Alerting
### Azure Monitor alerting
Grafana alerting is supported for the Azure Monitor service. This is not Azure Alerts support. Read more about how alerting in Grafana works [here]({{< relref "../../alerting/rules.md" >}}).
@@ -163,7 +163,7 @@ Grafana alerting is supported for the Azure Monitor service. This is not Azure A
{{< docs-imagebox img="/img/docs/v60/appinsights-service-query-editor.png" class="docs-image--no-shadow" caption="Application Insights Query Editor" >}}
### Formatting Legend Keys with Aliases for the Application Insights Service
### Formatting legend keys with aliases for Application Insights
The default legend formatting is:
@@ -177,13 +177,13 @@ Application Insights Examples:
- `city: {{groupbyvalue}}`
- `{{groupbyname}}: {{groupbyvalue}}`
### Alias Patterns for Application Insights
### Alias patterns for Application Insights
- `{{groupbyvalue}}` = replaced with the value of the group by
- `{{groupbyname}}` = replaced with the name/label of the group by
- `{{metric}}` = replaced with metric name (e.g. requests/count)
### Filter Expressions for Application Insights
### Filter expressions for Application Insights
The filter field takes an OData filter expression.
@@ -194,11 +194,11 @@ Examples:
- `client/city ne 'Boydton' and client/city ne 'Dublin'`
- `client/city eq 'Boydton' or client/city eq 'Dublin'`
### Templating with Variables for Application Insights
### Templating with variables for Application Insights
Use the one of the following queries in the `Query` field in the Variable edit view.
Check out the [Templating]({{< relref "../../reference/templating.md" >}}) documentation for an introduction to the templating feature and the different
Check out the [Templating]({{< relref "../../variables/templates-and-variables.md" >}}) documentation for an introduction to the templating feature and the different
types of template variables.
| Name | Description |
@@ -214,13 +214,13 @@ Examples:
{{< docs-imagebox img="/img/docs/v60/appinsights-service-variables.png" class="docs-image--no-shadow" caption="Nested Application Insights Template Variables" >}}
### Application Insights Alerting
### Application Insights alerting
Grafana alerting is supported for Application Insights. This is not Azure Alerts support. Read more about how alerting in Grafana works [here]({{< relref "../../alerting/rules.md" >}}).
{{< docs-imagebox img="/img/docs/v60/azuremonitor-alerting.png" class="docs-image--no-shadow" caption="Azure Monitor Alerting" >}}
## Querying the Azure Log Analytics Service
## Querying the Azure Log Analytics service
Queries are written in the new [Azure Log Analytics (or KustoDB) Query Language](https://docs.loganalytics.io/index). A Log Analytics Query can be formatted as Time Series data or as Table data.
@@ -246,7 +246,7 @@ If your credentials give you access to multiple subscriptions then choose the ap
{{< docs-imagebox img="/img/docs/v60/azureloganalytics-service-query-editor.png" class="docs-image--no-shadow" caption="Azure Log Analytics Query Editor" >}}
### Azure Log Analytics Macros
### Azure Log Analytics macros
To make writing queries easier there are several Grafana macros that can be used in the where clause of a query:
@@ -268,17 +268,17 @@ To make writing queries easier there are several Grafana macros that can be used
If using the `All` option, then check the `Include All Option` checkbox and in the `Custom all value` field type in the following value: `all`. If `$myVar` has value `all` then the macro will instead expand to `1 == 1`. For template variables with a lot of options, this will increase the query performance by not building a large where..in clause.
### Azure Log Analytics Builtin Variables
### Azure Log Analytics builtin variables
There are also some Grafana variables that can be used in Azure Log Analytics queries:
- `$__interval` - Grafana calculates the minimum time grain that can be used to group by time in queries. More details on how it works [here]({{< relref "../../reference/templating.md#interval-variables" >}}). It returns a time grain like `5m` or `1h` that can be used in the bin function. E.g. `summarize count() by bin(TimeGenerated, $__interval)`
- `$__interval` - Grafana calculates the minimum time grain that can be used to group by time in queries. More details on how it works [here]({{< relref "../../variables/templates-and-variables.md#interval-variables" >}}). It returns a time grain like `5m` or `1h` that can be used in the bin function. E.g. `summarize count() by bin(TimeGenerated, $__interval)`
### Templating with Variables for Azure Log Analytics
### Templating with variables for Azure Log Analytics
Any Log Analytics query that returns a list of values can be used in the `Query` field in the Variable edit view. There is also one Grafana function for Log Analytics that returns a list of workspaces.
Refer to the [Variables]({{< relref "../../reference/templating.md" >}}) documentation for an introduction to the templating feature and the different
Refer to the [Variables]({{< relref "../../variables/templates-and-variables.md" >}}) documentation for an introduction to the templating feature and the different
types of template variables.
| Name | Description |
@@ -313,11 +313,25 @@ Perf
| order by TimeGenerated asc
```
### Azure Log Analytics Alerting
### Deep linking from Grafana panels to the Log Analytics query editor in Azure Portal
Not implemented yet.
> Only available in Grafana v7.0+.
### Writing Analytics Queries For the Application Insights Service
{{< docs-imagebox img="/img/docs/v70/azure-log-analytics-deep-linking.png" max-width="500px" class="docs-image--right" caption="Azure Log Analytics deep linking" >}}
Click on a time series in the panel to see a context menu with a link to `View in Azure Portal`. Clicking that link opens the Azure Log Analytics query editor in the Azure Portal and runs the query from the Grafana panel there.
If you're not currently logged in to the Azure Portal, then the link opens the login page. The provided link is valid for any account, but it only displays the query if your account has access to the Azure Log Analytics workspace specified in the query.
<div class="clearfix"></div>
### Azure Log Analytics alerting
> Only available in Grafana v7.0+.
Grafana alerting is supported for Application Insights. This is not Azure Alerts support. Read more about how alerting in Grafana works in [Alerting rules]({{< relref "../../alerting/rules.md" >}}).
### Writing analytics queries For the Application Insights service
If you change the service type to "Application Insights", the menu icon to the right adds another option, "Toggle Edit Mode". Once clicked, the query edit mode changes to give you a full text area in which to write log analytics queries. (This is identical to how the InfluxDB data source lets you write raw queries.)
@@ -362,4 +376,4 @@ datasources:
appInsightsApiKey: <app-insights-api-key>
logAnalyticsClientSecret: <log-analytics-client-secret>
version: 1
```
```

View File

@@ -184,7 +184,7 @@ To import the pre-configured dashboards, go to the configuration page of your Cl
Instead of hard-coding things like server, application and sensor name in you metric queries you can use variables in their place. Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data being displayed in your dashboard.
See the [Templating]({{< relref "../../reference/templating.md" >}}) documentation for an introduction to the templating feature and the different types of template variables.
See the [Templating]({{< relref "../../variables/templates-and-variables.md" >}}) documentation for an introduction to the templating feature and the different types of template variables.
### Query variable

View File

@@ -17,6 +17,6 @@ Each data source has a specific query editor that is customized for the features
Use the query editor to build one or more queries in your time series database. The panel instantly updates, allowing you to effectively explore your data in real time and build a perfect query for that particular panel.
You can use [template variables]({{< relref "../../reference/templating.md" >}}) in the query editor within the queries themselves. This provides a powerful way to explore data dynamically based on the templating variables selected on the dashboard.
You can use [template variables]({{< relref "../../variables/templates-and-variables.md" >}}) in the query editor within the queries themselves. This provides a powerful way to explore data dynamically based on the templating variables selected on the dashboard.
Grafana allows you to reference queries in the query editor by the row that theyre on. If you add a second query to graph, you can reference the first query by typing in #A. This provides an easy and convenient way to build compound queries.

View File

@@ -120,7 +120,7 @@ Instead of hard-coding things like server, application and sensor name in your m
Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data
being displayed in your dashboard.
Check out the [Templating]({{< relref "../../reference/templating.md" >}}) documentation for an introduction to the templating feature and the different
Check out the [Templating]({{< relref "../../variables/templates-and-variables.md" >}}) documentation for an introduction to the templating feature and the different
types of template variables.
### Query variable

View File

@@ -91,7 +91,7 @@ Instead of hard-coding things like server, application and sensor name in your m
Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data
being displayed in your dashboard.
Check out the [Templating]({{< relref "../../reference/templating.md" >}}) documentation for an introduction to the templating feature and the different
Check out the [Templating]({{< relref "../../variables/templates-and-variables.md" >}}) documentation for an introduction to the templating feature and the different
types of template variables.
Graphite 1.1 introduced tags and Grafana added support for Graphite queries with tags in version 5.0. To create a variable using tag values, then you need to use the Grafana functions `tags` and `tag_values`.
@@ -158,7 +158,7 @@ Example of a tag expression with regex formatting and using the Equal Tilde oper
server=~${servers:regex}
```
Check out the [Advanced Formatting Options section in the Variables]({{< relref "../../reference/templating.md#advanced-formatting-options" >}}) documentation for examples and details.
Check out the [Advanced Formatting Options section in the Variables]({{< relref "../../variables/templates-and-variables.md#advanced-formatting-options" >}}) documentation for examples and details.
## Annotations

View File

@@ -144,7 +144,7 @@ Instead of hard-coding things like server, application and sensor name in your m
Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data
being displayed in your dashboard.
Check out the [Templating]({{< relref "../../reference/templating.md" >}}) documentation for an introduction to the templating feature and the different
Check out the [Templating]({{< relref "../../variables/templates-and-variables.md" >}}) documentation for an introduction to the templating feature and the different
types of template variables.
### Query variable

View File

@@ -146,7 +146,7 @@ log message you're interested in.
Instead of hard-coding things like server, application and sensor name in your metric queries, you can use variables in their place. Variables are shown as drop-down select boxes at the top of the dashboard. These drop-down boxes make it easy to change the data being displayed in your dashboard.
Check out the [Templating]({{< relref "../../reference/templating" >}}) documentation for an introduction to the templating feature and the different types of template variables.
Check out the [Templating]({{< relref "../../variables/templates-and-variables" >}}) documentation for an introduction to the templating feature and the different types of template variables.
## Annotations
@@ -189,14 +189,15 @@ datasources:
jsonData:
maxLines: 1000
derivedFields:
# Field with internal link pointing to datasource in Grafana
# Field with internal link pointing to data source in Grafana.
# Right now, Grafana supports only Jaeger and Zipkin data sources as link targets.
- datasourceUid: my_jaeger_uid
matcherRegex: "traceID=(\\w+)"
name: TraceID
# url will be interpreted as query for the datasource
url: "$${__value.raw}"
# Field with external link
# Field with external link.
- matcherRegex: "traceID=(\\w+)"
name: TraceID
url: "http://localhost:16686/trace/$${__value.raw}"

View File

@@ -39,7 +39,7 @@ Name | Description
### Min time interval
A lower limit for the [$__interval]({{< relref "../../reference/templating/#the-interval-variable" >}}) and [$__interval_ms]({{< relref "../../reference/templating/#the-interval-ms-variable" >}}) variables.
A lower limit for the [$__interval]({{< relref "../../variables/templates-and-variables/#the-interval-variable" >}}) and [$__interval_ms]({{< relref "../../variables/templates-and-variables/#the-interval-ms-variable" >}}) variables.
Recommended to be set to write frequency, for example `1m` if your data is written every minute.
This option can also be overridden/configured in a dashboard panel under data source options. It's important to note that this value **needs** to be formatted as a
number followed by a valid time identifier, e.g. `1m` (1 minute) or `30s` (30 seconds). The following time identifiers are supported:
@@ -300,7 +300,7 @@ Any series lacking a value in a 3 minute window will have a value of zero which
Instead of hard-coding things like server, application and sensor name in your metric queries you can use variables in their place. Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data being displayed in your dashboard.
Check out the [Templating]({{< relref "../../reference/templating.md" >}}) documentation for an introduction to the templating feature and the different types of template variables.
Check out the [Templating]({{< relref "../../variables/templates-and-variables.md" >}}) documentation for an introduction to the templating feature and the different types of template variables.
### Query Variable
@@ -370,7 +370,7 @@ Grafana automatically creates a quoted, comma-separated string for multi-value v
`${servers:csv}`
Read more about variable formatting options in the [Variables]({{< relref "../../reference/templating.md#advanced-formatting-options" >}}) documentation.
Read more about variable formatting options in the [Variables]({{< relref "../../variables/templates-and-variables.md#advanced-formatting-options" >}}) documentation.
## Annotations
@@ -452,7 +452,7 @@ Please note that any macro function will not work inside a stored procedure.
### Examples
{{< docs-imagebox img="/img/docs/v51/mssql_metrics_graph.png" class="docs-image--no-shadow docs-image--right" >}}
For the following examples the database table defined in [Time series queries](#time-series-queries). Let's say that we want to visualize 4 series in a graph panel, i.e. all combinations of columns `valueOne`, `valueTwo` and `measurement`. Graph panel to the right visualizes what we want to achieve. To solve this we actually need to use two queries:
For the following examples the database table is defined in [Time series queries](#time-series-queries). Let's say that we want to visualize 4 series in a graph panel, i.e. all combinations of columns `valueOne`, `valueTwo` and `measurement`. Graph panel to the right visualizes what we want to achieve. To solve this we actually need to use two queries:
**First query:**

View File

@@ -41,7 +41,7 @@ Name | Description
### Min time interval
A lower limit for the [$__interval]({{< relref "../../reference/templating/#the-interval-variable" >}}) and [$__interval_ms]({{< relref "../../reference/templating/#the-interval-ms-variable" >}}) variables.
A lower limit for the [$__interval]({{< relref "../../variables/templates-and-variables/#the-interval-variable" >}}) and [$__interval_ms]({{< relref "../../variables/templates-and-variables/#the-interval-ms-variable" >}}) variables.
Recommended to be set to write frequency, for example `1m` if your data is written every minute.
This option can also be overridden/configured in a dashboard panel under data source options. It's important to note that this value **needs** to be formatted as a
number followed by a valid time identifier, e.g. `1m` (1 minute) or `30s` (30 seconds). The following time identifiers are supported:
@@ -238,7 +238,7 @@ This feature is currently available in the nightly builds and will be included i
Instead of hard-coding things like server, application and sensor name in your metric queries you can use variables in their place. Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data being displayed in your dashboard.
Check out the [Templating]({{< relref "../../reference/templating.md" >}}) documentation for an introduction to the templating feature and the different types of template variables.
Check out the [Templating]({{< relref "../../variables/templates-and-variables.md" >}}) documentation for an introduction to the templating feature and the different types of template variables.
### Query Variable
@@ -331,7 +331,7 @@ Grafana automatically creates a quoted, comma-separated string for multi-value v
`${servers:csv}`
Read more about variable formatting options in the [Variables]({{< relref "../../reference/templating.md#advanced-formatting-options" >}}) documentation.
Read more about variable formatting options in the [Variables]({{< relref "../../variables/templates-and-variables.md#advanced-formatting-options" >}}) documentation.
## Annotations

View File

@@ -53,7 +53,7 @@ Instead of hard-coding things like server, application and sensor name in your m
Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data
being displayed in your dashboard.
Check out the [Templating]({{< relref "../../reference/templating.md" >}}) documentation for an introduction to the templating feature and the different
Check out the [Templating]({{< relref "../../variables/templates-and-variables.md" >}}) documentation for an introduction to the templating feature and the different
types of template variables.
### Query variable

View File

@@ -39,7 +39,7 @@ Name | Description
### Min time interval
A lower limit for the [$__interval]({{< relref "../../reference/templating/#the-interval-variable" >}}) and [$__interval_ms]({{< relref "../../reference/templating/#the-interval-ms-variable" >}}) variables.
A lower limit for the [$__interval]({{< relref "../../variables/templates-and-variables/#the-interval-variable" >}}) and [$__interval_ms]({{< relref "../../variables/templates-and-variables/#the-interval-ms-variable" >}}) variables.
Recommended to be set to write frequency, for example `1m` if your data is written every minute.
This option can also be overridden/configured in a dashboard panel under data source options. It's important to note that this value **needs** to be formatted as a
number followed by a valid time identifier, e.g. `1m` (1 minute) or `30s` (30 seconds). The following time identifiers are supported:
@@ -242,7 +242,7 @@ ORDER BY time
Instead of hard-coding things like server, application and sensor name in your metric queries you can use variables in their place. Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data being displayed in your dashboard.
Check out the [Templating]({{< relref "../../reference/templating.md" >}}) documentation for an introduction to the templating feature and the different types of template variables.
Check out the [Templating]({{< relref "../../variables/templates-and-variables.md" >}}) documentation for an introduction to the templating feature and the different types of template variables.
### Query Variable
@@ -333,7 +333,7 @@ Grafana automatically creates a quoted, comma-separated string for multi-value v
`${servers:csv}`
Read more about variable formatting options in the [Variables]({{< relref "../../reference/templating.md#advanced-formatting-options" >}}) documentation.
Read more about variable formatting options in the [Variables]({{< relref "../../variables/templates-and-variables.md#advanced-formatting-options" >}}) documentation.
## Annotations

7
docs/sources/features/datasources/prometheus.md Executable file → Normal file
View File

@@ -32,7 +32,7 @@ To access Prometheus settings, click the **Configuration** (gear) icon, then cli
## Prometheus query editor
Open a graph in edit mode by click the title > Edit (or by pressing `e` key while hovering over panel).
Open a graph in edit mode by clicking the title > Edit (or by pressing `e` key while hovering over panel).
{{< docs-imagebox img="/img/docs/v45/prometheus_query_editor_still.png"
animated-gif="/img/docs/v45/prometheus_query_editor.gif" >}}
@@ -67,7 +67,7 @@ Instead of hard-coding things like server, application and sensor name in your m
Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data
being displayed in your dashboard.
Check out the [Templating]({{< relref "../../reference/templating.md" >}}) documentation for an introduction to the templating feature and the different
Check out the [Templating]({{< relref "../../variables/templates-and-variables.md" >}}) documentation for an introduction to the templating feature and the different
types of template variables.
### Query variable
@@ -89,7 +89,8 @@ For details of what _metric names_, _label names_ and _label values_ are please
> Support for `$__range`, `$__range_s` and `$__range_ms` only available from Grafana v5.3
You can use some global built-in variables in query variables; `$__interval`, `$__interval_ms`, `$__range`, `$__range_s` and `$__range_ms`, see [Global built-in variables]({{< relref "../../reference/templating/#global-built-in-variables" >}}) for more information. These can be convenient to use in conjunction with the `query_result` function when you need to filter variable queries since
You can use some global built-in variables in query variables; `$__interval`, `$__interval_ms`, `$__range`, `$__range_s` and `$__range_ms`, see [Global built-in variables]({{< relref "../../variables/global-variables.md" >}}) for more information. These can be convenient to use in conjunction with the `query_result` function when you need to filter variable queries since
`label_values` function doesn't support queries.
Make sure to set the variable's `refresh` trigger to be `On Time Range Change` to get the correct instances when changing the time range on the dashboard.

View File

@@ -133,7 +133,7 @@ The option is called `Stackdriver auto` and the defaults are:
- 5m for time ranges >= 23 hours and < 6 days
- 1h for time ranges >= 6 days
The other automatic option is `Grafana auto`. This will automatically set the group by time depending on the time range chosen and the width of the graph panel. Read more about the details [here](http://docs.grafana.org/reference/templating/#the-interval-variable).
The other automatic option is `Grafana auto`. This will automatically set the group by time depending on the time range chosen and the width of the graph panel. Read more about the details [here](http://docs.grafana.org/variables/templates-and-variables/#the-interval-variable).
It is also possible to choose fixed time intervals to group by, like `1h` or `1d`.
@@ -227,11 +227,11 @@ SLO queries use the same [alignment period functionality as metric queries]({{<
## Templating
Instead of hard-coding things like server, application and sensor name in you metric queries you can use variables in their place.
Instead of hard-coding things like server, application and sensor name in your metric queries you can use variables in their place.
Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data
being displayed in your dashboard.
Check out the [Templating]({{< relref "../../reference/templating.md" >}}) documentation for an introduction to the templating feature and the different
Check out the [Templating]({{< relref "../../variables/templates-and-variables.md" >}}) documentation for an introduction to the templating feature and the different
types of template variables.
### Query Variable

View File

@@ -19,7 +19,7 @@ This makes it much easier to verify functionality since the data can be shared v
The `TestData DB` data source is not enabled by default. To enable it:
1. In the **Configuration** menu (small gear on the left side of the screen, click **Data Sources**.
1. In the **Configuration** menu (small gear on the left side of the screen), click **Data Sources**.
2. Click **Add Data Source**.
3. Search and click `TestData DB`.
4. Click **Save & Test** to enable it.

View File

@@ -51,8 +51,6 @@ You can close the newly created query by clicking on the Close Split button.
## Query history
> BETA: Query history is a beta feature.
Query history is a list of queries that you have used in Explore. The history is local to your browser and is not shared with others. To open and interact with your history, click the **Query history** button in Explore.
### View query history
@@ -124,7 +122,7 @@ On the left-hand side of the query field is a `Metrics` button, clicking on this
The Query field supports autocomplete for metric names, function and works mostly the same way as the standard Prometheus query editor. Press the enter key to execute a query.
The autocomplete menu can be trigger by pressing Ctrl+Space. The Autocomplete menu contains a new History section with a list of recently executed queries.
The autocomplete menu can be triggered by pressing Ctrl+Space. The Autocomplete menu contains a new History section with a list of recently executed queries.
Suggestions can appear under the query field - click on them to update your query with the suggested change.

View File

@@ -33,7 +33,7 @@ The general tab allows customization of a panel's appearance and menu options.
- **Transparent** - If checked, removes the solid background of the panel (default not checked).
### Repeat
Repeat a panel for each value of a variable. Repeating panels are described in more detail [here]({{< relref "../../reference/templating.md#repeating-panels" >}}).
Repeat a panel for each value of a variable. Repeating panels are described in more detail [here]({{< relref "../../variables/templates-and-variables.md#repeating-panels" >}}).
## Metrics

View File

@@ -16,7 +16,7 @@ There are a wide variety of styling and formatting options for each panel. Panel
Panels like the [Graph]({{< relref "graph.md" >}}) panel allow you to graph as many metrics and series as you want. Other panels like [Singlestat]({{< relref "singlestat.md" >}}) require a reduction of a single query into a single number.
Panels can be made more dynamic with [Dashboard Templating]({{< relref "../../reference/templating.md" >}}) variable strings within the panel configuration. The template can include queries to your data source configured in the Query Editor.
Panels can be made more dynamic with [Dashboard Templating]({{< relref "../../variables/templates-and-variables.md" >}}) variable strings within the panel configuration. The template can include queries to your data source configured in the Query Editor.
Panels can be [shared]({{< relref "../../reference/share_panel.md" >}}) easily in a variety of ways.

View File

@@ -27,10 +27,10 @@ background or value color using thresholds.
* Color
* `Value` - Color the value and graph area only.
* `Background` - Color the background.
** Graph
* Graph
* `None` - Disable the graph / sparkline
* `Area graph` - Show area graph below value. This requires that your query returns a time column.
** Justify
* Justify
* `Auto` - If only a single value is shown (no repeat) the value is centered. If multiple series or rows the value is
* left aligned.
* `Center` - Force center alignment.

View File

@@ -0,0 +1,9 @@
+++
title = "Getting started"
type = "docs"
[menu.docs]
name = "Getting started"
identifier = "getting-started"
weight = 100
+++

View File

@@ -3,12 +3,12 @@ title = "Getting started"
description = "Guide for getting started with Grafana"
keywords = ["grafana", "intro", "guide", "started"]
type = "docs"
aliases = ["/docs/grafana/latest/guides/gettingstarted"]
aliases = ["/docs/grafana/latest/guides/gettingstarted","/docs/grafana/latest/guides/getting_started"]
[menu.docs]
name = "Getting started"
identifier = "getting_started_guide"
parent = "guides"
weight = 100
weight = 200
+++
# Getting started

View File

@@ -3,16 +3,17 @@ title = "Glossary"
description = "Grafana glossary"
keywords = ["grafana", "intro", "glossary", "dictionary"]
type = "docs"
aliases = ["/docs/grafana/latest/guides/glossary"]
[menu.docs]
name = "Glossary"
identifier = "glossary"
parent = "guides"
weight = 400
weight = 500
+++
# Glossary
This topic lists words and abbreviations that commonly used in the Grafana documentation and community.
This topic lists words and abbreviations that are commonly used in the Grafana documentation and community.
<table>
<tr>
@@ -36,7 +37,7 @@ This topic lists words and abbreviations that commonly used in the Grafana docum
<td>An extension of Grafana that allows users to provide additional functionality to enhance their experience. The types of plugins currently supported are:
<ul>
<li><b>App plugin:</b> Extends Grafana with a customized experience. It includes a set of panel and data source plugins, as well as custom pages.</li>
<li><b>Data source plugin:</b> Extends Grafana with supports additional data sources in Grafana.</li>
<li><b>Data source plugin:</b> Extends Grafana with support for additional data sources.</li>
<li><b>Panel plugin:</b> Extends Grafana with additional visualization options.</li>
</ul>
</td>

View File

@@ -0,0 +1,58 @@
+++
title = "Histograms and heatmaps"
description = "An introduction to histograms and heatmaps"
keywords = ["grafana", "heatmap", "panel", "documentation", "histogram"]
type = "docs"
[menu.docs]
name = "intro-to-histograms"
parent = "panels"
weight = 400
+++
# Introduction to histograms and heatmaps
A histogram is a graphical representation of the distribution of numerical data. It groups values into buckets
(sometimes also called bins) and then counts how many values fall into each bucket.
Instead of graphing the actual values, histograms graph the buckets. Each bar represents a bucket,
and the bar height represents the frequency (such as count) of values that fell into that bucket's interval.
## Histogram example
This histogram shows the value distribution of a couple of time series. You can easily see that
most values land between 240-300 with a peak between 260-280.
![](/img/docs/v43/heatmap_histogram.png)
Histograms only look at _value distributions_ over a specific time range. The problem with histograms is you cannot see any trend or changes in the distribution over time.
This is where heatmaps become useful.
## Heatmaps
A _heatmap_ is like a histogram, but over time where each time slice represents its own histogram. Instead of using bar height as a representation of frequency, it uses cells and colors the cell proportional to the number of values in the bucket.
In this example, you can clearly see what values are more common and how they trend over time.
![](/img/docs/v43/heatmap_histogram_over_time.png)
## Pre-bucketed data
There are a number of data sources supporting histogram over time like Elasticsearch (by using a Histogram bucket
aggregation) or Prometheus (with [histogram](https://prometheus.io/docs/concepts/metric_types/#histogram) metric type
and *Format as* option set to Heatmap). But generally, any data source could be used if it meets the requirements:
returns series with names representing bucket bound or returns series sorted by the bound in ascending order.
## Raw data vs aggregated
If you use the heatmap with regular time series data (not pre-bucketed), then it's important to keep in mind that your data
is often already aggregated by your time series backend. Most time series queries do not return raw sample data
but include a group by time interval or maxDataPoints limit coupled with an aggregation function (usually average).
This all depends on the time range of your query of course. But the important point is to know that the histogram bucketing
that Grafana performs might be done on already aggregated and averaged data. To get more accurate heatmaps it is better
to do the bucketing during metric collection or store the data in Elasticsearch, or in the other data source which
supports doing histogram bucketing on the raw data.
If you remove or lower the group by time (or raise maxDataPoints) in your query to return more data points your heatmap will be
more accurate but this can also be very CPU and memory taxing for your browser and could cause hangs and crashes if the number of
data points becomes unreasonably large.

View File

@@ -4,6 +4,7 @@ description = "Introduction to time series"
keywords = ["grafana", "intro", "guide", "concepts", "timeseries"]
type = "docs"
[menu.docs]
aliases = ["/docs/grafana/latest/guides/timeseries"]
name = "Time series"
identifier = "time_series"
parent = "guides"
@@ -74,7 +75,7 @@ Look at this sequence of Unix timestamps:
1572524345, 1572524375, 1572524404, 1572524434, 1572524464
```
Looking at these timestamp, they all start with `1572524`, leading to poor use of disk space. Instead, we could store each subsequent timestamp as the difference, or _delta_, from the first one:
Looking at these timestamps, they all start with `1572524`, leading to poor use of disk space. Instead, we could store each subsequent timestamp as the difference, or _delta_, from the first one:
```
1572524345, +30, +29, +30, +30

View File

@@ -4,6 +4,7 @@ description = "Overview of Grafana and features"
keywords = ["grafana", "intro", "guide", "started"]
type = "docs"
[menu.docs]
aliases = ["/docs/grafana/latest/guides/what-is-grafana"]
name = "What is Grafana?"
identifier = "what_is_grafana"
parent = "guides"
@@ -12,11 +13,11 @@ weight = 200
# What is Grafana?
This topic provides a high-level look at Grafana, the Grafana process, and Grafana features. It's a good place to start if you want to learn more about Grafana software. To jump right in, refer to [Getting started]({{< relref "getting_started.md" >}}).
This topic provides a high-level look at Grafana, the Grafana process, and Grafana features. It's a good place to start if you want to learn more about Grafana software. To jump right in, refer to [Getting started]({{< relref "getting-started.md" >}}).
Grafana is open source visualization and analytics software. It allows you to query, visualize, alert on, and explore your metrics no matter where they are stored. In plain English, it provides you with tools to turn your time-series database (TSDB) data into beautiful graphs and visualizations.
After creating a dashboard like you do in [Getting started]({{< relref "getting_started.md" >}}), there are many possible things you might do next. It all depends on your needs and your use case.
After creating a dashboard like you do in [Getting started]({{< relref "getting-started.md" >}}), there are many possible things you might do next. It all depends on your needs and your use case.
For example, if you want to view weather data and statistics about your smart home, then you might create a playlist. If you are the administrator for a corporation and are managing Grafana for multiple teams, then you might need to set up provisioning and authentication.
@@ -44,7 +45,7 @@ Refer to [Annotations]({{< relref "../reference/annotations.md" >}}) for more in
## Dashboard variables
[Template variables]({{< relref "../reference/templating.md" >}}) allow you to create dashboards that can be reused for lots of different use cases. Values aren't hard-coded with these templates, so for instance, if you have a production server and a test server, you can use the same dashboard for both.
[Template variables]({{< relref "../variables/templates-and-variables.md" >}}) allow you to create dashboards that can be reused for lots of different use cases. Values aren't hard-coded with these templates, so for instance, if you have a production server and a test server, you can use the same dashboard for both.
Templating allows you to drill down into your data, say, from all data to North America data, down to Texas data, and beyond. You can also share these dashboards across teams within your organization—or if you create a great dashboard template for a popular data source, you can contribute it to the whole community to customize and use.

View File

@@ -95,7 +95,7 @@ New enhancements includes support for mapping a numeric value/range to text and
## New variable interpolation syntax
We now support a new option for rendering variables that gives the user full control of how the value(s) should be rendered.
In the table below you can see some examples and you can find all different options in the [Variables documentation](http://docs.grafana.org/reference/templating/#advanced-formatting-options).
In the table below you can see some examples and you can find all different options in the [Variables documentation](http://docs.grafana.org/variables/templates-and-variables/#advanced-formatting-options).
Filter Option | Example | Raw | Interpolated | Description
------------ | ------------- | ------------- | ------------- | -------------

View File

@@ -0,0 +1,197 @@
+++
title = "What's New in Grafana v7"
description = "Feature and improvement highlights for Grafana v7"
keywords = ["grafana", "new", "documentation", "7.0", "release notes"]
type = "docs"
[menu.docs]
name = "Version 7.0"
identifier = "v7.0"
parent = "whatsnew"
weight = -17
+++
# What's new in Grafana v7.0
This topic includes the release notes for the Grafana v7.0, which is currently in beta. For all details, read the full [CHANGELOG.md](https://github.com/grafana/grafana/blob/master/CHANGELOG.md).
This major release of Grafana is the next step in our Observability story. It includes powerful new features for manipulating, transforming, and doing math on data. Grafana Enterprise has the first version of Usage analytics, which will help Grafana Admins better manage large, corporate Grafana ecosystems.
The Grafana 7.0 stable release is scheduled for the 18th of May. In the meantime, if you want to know more about what we've been up to and what is coming, sign up for our online GrafanaCon conference.
[{{< figure src="/assets/img/blog/GrafanaCONline.jpg" max-width="800px" lightbox="false" caption="GrafanaCONline May 13-29" >}}](https://grafana.com/about/events/grafanacon/2020/?source=blog)
The main highlights are:
- [**New Panel Editor** Redesign based on community feedback.]({{< relref "#new-panel-editor" >}})
- [**Explore:** New tracing UI and support for visualizing Jaeger and Zipkin traces.]({{< relref "#new-tracing-ui" >}})
- [**Enterprise** Usage Analytics and Presence.]({{< relref "#grafana-enterprise" >}})
- [**Transformations** Transformations and simple Math operations for all data sources.]({{< relref "#transformations" >}})
- [**Field overrides** Automatically configure panels with data from queries.]({{< relref "#field-overrides" >}})
- [**Table** New Table panel.]({{< relref "#table-panel" >}})
- [**Plugins** New plugins platform.]({{< relref "#plugins-platform" >}})
- [**Tutorials** New tutorials section.]({{< relref "#new-tutorials" >}})
- [**Cloudwatch** Support for Cloudwatch Logs in Explore and the Logs panel.]({{< relref "#cloudwatch-logs" >}})
- [**Breaking change** PhantomJS removed.]({{< relref "#breaking-change-phantomjs-removed" >}})
- [**Time zones** Time zone support]({{< relref "#time-zone-support" >}})
## New panel editor
We redesigned the UI for editing panels. We separated panel display settings to a right-hand side pane that you can collapse or expand depending on what your focus is on. With this change we are also introducing our new unified option model and UI for defining data configuration and display options. This unified data configuration system powers a consistent UI for setting data options across visualizations and making all data display settings data-driven and overridable.
## New tracing UI
This release adds major support for distributed tracing, including a telemetry mode to complement the existing support for metrics and logs. Traces allow you to follow how single requests travel through a distributed system. We are starting with an integrated trace viewer and two new built-in data sources: Jaeger and Zipkin.
You can use the new trace view in Explore either directly to search for a particular trace or you can configure Loki to detect trace IDs in the log lines and link directly to a trace timeline pulled from Jaeger or Zipkin data source.
In the future we will add more workflows and integrations so that correlating between metrics, logs and traces is even easier.
{{< docs-imagebox img="/img/docs/v70/tracing_ui.png" max-width="1024px" caption="Tracing UI" >}}
## Transformations
Not just visualizing data from anywhere, in Grafana 7.0 you can transform them, too. By chaining a simple set of point and click transformations users will be able join, pivot, filter, re-name and calculate to get the results they need. Perfect for operations across queries or data sources missing essential data transformations.
Transformations and maths across queries. The data you want to visualize can come from many different places and it is usually not in exactly the right form. The new transformations feature allows you to rename fields, join separate time series together and more - data munging. Usually this requires writing code but this new feature lets you do it in the Grafana UI instead. It also lets you do maths across queries. Lots of data sources do not support this natively so being able to do it in Grafana is a killer feature. For users, with large dashboards or with heavy queries, being able to reuse the query result from one panel in another panel can be a huge performance gain.
The [Google Sheets data source](https://grafana.com/grafana/plugins/grafana-googlesheets-datasource) that was published a few weeks ago works really well together with the transformations feature.
**Transformations shipping in 7.0**
- **Reduce:** Reduce many rows / data points to a single value
- **Filter by name:** Filter fields by name or regex
- **Filter by refId:** Filter by query letter
- **Organize fields:** Reorder, rename and hide fields.
- **Labels to fields:** Transform time series with labels into a table where labels get converted to fields and the result is joined by time
- **Join by field:** Join many result sets (series) together using for example the time field. Useful for transforming time series into a table with a shared time column and where each series get it's own column.
- **Add field from calculation:** This is a powerful transformation that allows you perform many different types of math operations and add the result as a new field. Examples:
- Calculate the difference between two series or fields and add the result to a new field
- Multiply one field with another another and add the result to a new field
## Field overrides
With Grafana 7.0 we are introducing a new, unified data configuration system that powers a consistent UI for setting data options across visualizations as well as making all data display settings data driven and overridable. This new option architecture and UI will make all panels have a consistent set of options and behaviors for attributes like `unit`, `min`, `max`, `thresholds`, `links`, `decimals` or `value mappings`. Not only that but all these options will share a consistent UI for specifying override rules and is extensible for custom panel specific options.
Up until now the overrides were available only for Graph and Table panel(via Column Styles), but with 7.0 they work consistently across all visualization types and plugins.
This feature enables even more powerful visualizations and fine grained control over how the data is displayed.
## Inspect panels and export data to CSV
{{< docs-imagebox img="/img/docs/v70/panel_edit_export_raw_data.png" max-width="800px" class="docs-image--right" caption="Panel Edit - Export raw data to CSV" >}}
Another new feature of Grafana 7.0 is the panel inspector. Inspect allows you to view the raw data for any Grafana panel as well as export that data to a CSV file. With Panel inspect you will also be able to perform simple raw data transformations like join, view query stats or detailed execution data.
Learn more about this feature in [Inspect a panel]({{< relref "../panels/inspect-panel.md" >}})
<div class="clearfix"></div>
## Table panel
Grafana 7.0 comes with a new table panel (and deprecates the old one). This new table panel supports horizontal scrolling and column resize. Paired with the new `Organize fields` transformation detailed above you can reorder, hide & rename columns. This new panel also supports new cell display modes, like showing a bar gauge inside a cell.
{{< youtube J29wILRh3QQ >}}
<br />
## Auto grid mode for Stat panel and Gauge
This new 7.0 feature is for the gauge and stat panels. Before, stat and gauge only supported horizontal or vertical stacking: The auto layout mode just selected vertical or horizontal stacking based on the panel dimensions (whatever was highest). But in 7.0 the auto layout for these two panels will allow dynamic grid layouts where Grafana will try to optimize the usage of space and lay out each sub-visualization in a grid.
{{< youtube noq1rLGvsrU >}}
<br />
## Cloudwatch Logs
Grafana 7.0 adds logging support to one of our most popular cloud provider data sources. Autocomplete support for Cloudwatch Logs queries is included for improved productivity. There is support for deep linking to the CloudWatch Logs Insights console for log queries, similar to the deep linking feature for Cloudwatch metrics. Since CloudWatch Logs queries can return time series data, for example through the use of the `stats` command, alerting is supported too.
## Plugins platform
The platform for plugins has been completely re-imagined and provides ready-made components and tooling to help both inexperienced and experienced developers get up and running more quickly. The tooling, documentation and new components will improve plugin quality and reduce long-term maintenance. We are seeing already that a a high quality plugin with the Grafana look and feel can be written in much fewer lines of code than previously.
### Front end plugins platform
In Grafana 7.0 we are maturing our panel and front-end datasource plugins platform.
Plugins can use the same React components that the Grafana team uses to build Grafana. Using these components means the Grafana team will support and improve them continually and make your plugin as polished as the rest of Grafanas UI. The new [`@grafana/ui` components library](https://developers.grafana.com/ui) is documented with Storybook (visual documentation) and is available on NPM.
The `@grafana/data`, `@grafana/runtime`, `@grafana/e2e packages` (also available via NPM) aim to simplify the way plugins are developed. We want to deliver a set of [reliable APIs](https://grafana.com/docs/grafana/latest/packages_api/) for plugin developers.
With [@grafana/toolkit](https://www.npmjs.com/package/@grafana/toolkit) we are delivering a simple CLI that helps plugin authors quickly scaffold, develop and test their plugins without worrying about configuration details. A plugin author no longer needs to be a grunt or webpack expert to build their plugin.
### Support for backend plugins
Grafana now officially supports backend plugins and the first type of plugin to be introduced is a backend component for data source plugins. You can optionally add a backend component to your data source plugin and implement the query logic there to automatically enable alerting in Grafana for your plugin. In the 7.0 release, we provide a Go SDK to build plugins and you can generate a plugin scaffold to help you get started using the [`@grafana/toolkit`](https://www.npmjs.com/package/@grafana/toolkit).
Plugins can be monitored with the new metrics and health check capabilities. The new Resources capability means backend components can return non-time series data like JSON or static resources like images and opens up Grafana for new use cases.
With this release, we are deprecating the unofficial first version of backend plugins which will be removed in a future release.
## New tutorials
To help you get started with Grafana, weve launched a brand new tutorials platform. Well continue to expand the platform with more tutorials, but here are some of the ones you can try out now:
- [Grafana fundamentals](https://grafana.com/tutorials/grafana-fundamentals/)
- [Create users and teams](https://grafana.com/tutorials/create-users-and-teams/)
- [Build a panel plugin](https://grafana.com/tutorials/build-a-panel-plugin/)
- [Build a data source plugin](https://grafana.com/tutorials/build-a-data-source-plugin/)
## Rollup indicator for Metrictank queries
{{< docs-imagebox img="/img/docs/v70/metrictank_rollup_metadata.png" max-width="800px" class="docs-image--right" caption="Metrictank rollup metadata" >}}
Depending on the cardinality of the data and the time range MetricTank may return rolled up (aggregated) data. This can be as subtle as potentially only 1 or 2 graphs out of nine being rolled up. The new rollup indicator is visible in the panel title and you can also inspect extensive metadata and stats about the Metrictank query result and its rollups.
<div class="clearfix"></div>
## Breaking change - PhantomJS removed
[PhantomJS](https://phantomjs.org/), have been used for rendering images of dashboards and panels and have been included with Grafana since Grafana v2.0. Since then weve had a lot of related bugs and security related issues, mainly due to the fact that PhantomJS have struggled with supporting modern web technologies. Throughout the years, maintaining PhantomJS support in Grafana has been a nightmare. Removing support for PhantomJS has been a high priority for the Grafana project and got stressed even more when the PhantomJS maintainer in March 2018 [announced](https://github.com/ariya/phantomjs/issues/15344) the end of the project.
Since then we have been working towards removing PhantomJS. In October 2019, when Grafana v6.4 was released, we [announced](https://grafana.com/blog/2019/10/02/grafana-v6.4-released/#phantomjs-deprecation) the deprecation of PhantomJS. Grafana v7.0 removes all PhantomJS support which means that Grafana distribution no longer will include a built-in image renderer.
As a replacement for PhantomJS weve developed the [Grafana Image Renderer plugin](https://grafana.com/grafana/plugins/grafana-image-renderer) which is a plugin that runs on the backend and handles rendering panels and dashboards as PNG images using headless Chromium/Chrome. The [Grafana Image Renderer plugin](https://grafana.com/grafana/plugins/grafana-image-renderer) can either be installed as a Grafana plugin running in its own process side-by-side with Grafana. or runs as an external HTTP service, hosted using Docker or as a standalone application.
Read more about [Image Rendering]({{< relref "../administration/image_rendering/" >}}) in the documentation for further instructions.
## Query history in Explore out of beta
The Query history feature lets you view and interact with the queries that you have previously run in Explore. You can add queries to the Explore query editor, write comments, create and share URL links, star your favorite queries, and much more. Starred queries are displayed in the Starred tab, so it is easier to reuse queries that you run often without typing them from scratch.
It was released as a beta feature in Grafana 6.7. The feedback has been really positive and it is now out of beta for the 7.0 release. Learn more about query history in [Explore]({{< relref "../features/explore" >}}).
## Stackdriver data source supports Service Monitoring
[Service monitoring](https://cloud.google.com/service-monitoring) in Google Cloud Platform (GCP) enables you to monitor based on Service Level Objectives (SLOs) for your GCP services. The new SLO query builder in the Stackdriver data source allows you to display SLO data in Grafana. Read more about it in the [Stackdriver data source documentation]({{< relref "../features/datasources/stackdriver/#slo-service-level-objective-queries" >}}).
## Time zone support
You can now override the time zone used to display date and time values in a dashboard. One benefit of this is that you can specify the local time zone of the service or system that you are monitoring which can be helpful when monitoring a system or service that operates across several time zones.
## Grafana Enterprise
Grafana Enterprise focuses on solving problems for large companies and Grafana installations. And in Grafana 7.0 we are finally
solving one of the most common problems of using Grafana at scale.
This includes problems like:
- There are too many dashboards, how do I find the right one?
- How to find popular dashboards
- How to find dashboards with errors
- How to identify dashboards that are not being used
- Who created or last viewed this dashboard?
{{< docs-imagebox img="/img/docs/v70/dashboard_insights_users.png" max-width="1024px" caption="Dashboard Insights Users" >}}
### Usage analytics and presence
This release includes a series of features that build on our new usage analytics engine. Features like improved dashboard search to sort dashboards by usage and errors. When a user opens a dashboard, they will see a presence indicator of who else is viewing the same dashboard. And finally open a dashboard usage stats drawer to view recent dashboard usage.
{{< docs-imagebox img="/img/docs/v70/presence_indicator.jpg" max-width="1024px" caption="Grafana Enterprise - Presence Indicator" >}}
## Upgrading
See [upgrade notes]({{< relref "../installation/upgrading/#upgrading-to-v7-0" >}}).
## Changelog
Check out [CHANGELOG.md](https://github.com/grafana/grafana/blob/master/CHANGELOG.md) for a complete list of new features, changes, and bug fixes.

View File

@@ -43,3 +43,4 @@ dashboards, creating users and updating data sources.
* [Data Source Permissions API]({{< relref "datasource_permissions.md" >}})
* [External Group Sync API]({{< relref "external_group_sync.md" >}})
* [Reporting API]({{< relref "reporting.md" >}})

View File

@@ -226,7 +226,7 @@ Content-Type: application/json
}
```
> NOTE: `password` and `basicAuthPassword` should be defined under `secureJsonData` in order to be stored securely as an encrypted blob in the database. Then, the encrypted fields are listed under `secureJsonFields` section in the response. See also the [Encrypting Sensitive Data]({{< relref "../plugins/developing/auth-for-datasources.md/#encrypting-sensitive-data">}}) documentation for more details.
> NOTE: `password` and `basicAuthPassword` should be defined under `secureJsonData` in order to be stored securely as an encrypted blob in the database. Then, the encrypted fields are listed under `secureJsonFields` section in the response. See also the [Encrypting Sensitive Data]({{< relref "../developers/plugins/authentication.md/#encrypting-sensitive-data">}}) documentation for more details.
**Example Graphite Request with basic auth enabled**:
@@ -376,7 +376,7 @@ Content-Type: application/json
}
```
> NOTE: Similar to [creating a data source](#create-a-data-source), `password` and `basicAuthPassword` should be defined under `secureJsonData` in order to be stored securely as an encrypted blob in the database. Then, the encrypted fields are listed under `secureJsonFields` section in the response. See also the [Encrypting Sensitive Data]({{< relref "../plugins/developing/auth-for-datasources.md/#encrypting-sensitive-data">}}) documentation for more details.
> NOTE: Similar to [creating a data source](#create-a-data-source), `password` and `basicAuthPassword` should be defined under `secureJsonData` in order to be stored securely as an encrypted blob in the database. Then, the encrypted fields are listed under `secureJsonFields` section in the response. See also the [Encrypting Sensitive Data]({{< relref "../developers/plugins/authentication.md/#encrypting-sensitive-data">}}) documentation for more details.
## Delete an existing data source by id

View File

@@ -0,0 +1,70 @@
+++
title = "Reporting API"
description = "Grafana Enterprise APIs"
keywords = ["grafana", "enterprise", "api", "reporting"]
aliases = ["/docs/grafana/latest/http_api/reporting/"]
type = "docs"
[menu.docs]
name = "Reporting API"
parent = "http_api"
+++
# Reporting API
This API allows you to interact programmatically with the [Reporting]({{< relref "../enterprise/reporting.md" >}}) feature.
> Reporting is only available in Grafana Enterprise. Read more about [Grafana Enterprise]({{< relref "../enterprise" >}}).
## Send a report
> Only available in Grafana Enterprise v7.0+.
> This API endpoint is experimental and may be deprecated in a future release. On deprecation, a migration strategy will be provided and the endpoint will remain functional until the next major release of Grafana.
`POST /api/reports/email`
Generate and send a report. This API waits for the report to be generated before returning. We recommend that you set the client's timeout to at least 60 seconds.
### Example request
```http
POST /api/reports/email HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
### JSON Body Schema
Field name | Data type | Description
---------- | ---- | -----------
id | string | ID of the report to send. It is the same as in the URL when editing a report, not to be confused with the ID of the dashboard. Required.
emails | string | Comma-separated list of emails to which to send the report to. Overrides the emails from the report. Required if **useEmailsFromReport** is not present.
useEmailsFromReport | boolean | Send the report to the emails specified in the report. Required if **emails** is not present.
### Example response
```http
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 29
```
### Status Codes
Code | Description
---- | -----------
200 | Report was sent.
400 | Bad request (invalid json, missing content-type, missing or invalid fields, etc.).
401 | Authentication failed, refer to [Authentication API]({{< relref "../http_api/auth.md" >}}).
403 | User is authenticated but is not authorized to generate the report.
404 | Report not found.
500 | Unexpected error or server misconfiguration. Refer to body and/or server logs for more details.
400 | Bad request (invalid json, missing content-type, missing or invalid fields, etc.).
401 | Authentication failed, refer to [Authentication API]({{< relref "../http_api/auth.md" >}}).
403 | User is authenticated but is not authorized to generate the report.
404 | Report not found.
500 | Unexpected error or server misconfiguration. Refer to body and/or server logs for more details.

View File

@@ -7,7 +7,7 @@ aliases = ["/docs/grafana/latest/installation/installation/", "/docs/grafana/v2.
[menu.docs]
name = "Installation"
identifier = "installation"
weight = 1
weight = 200
+++
## Install Grafana

View File

@@ -840,6 +840,10 @@ is false. This settings was introduced in Grafana v6.0.
Set to true if you want to test alpha plugins that are not yet ready for general usage.
### allow_loading_unsigned_plugins
Enter a comma-separated list of plugin identifiers to identify plugins that are allowed to be loaded even if they lack a valid signature.
## [feature_toggles]
### enable

View File

@@ -164,7 +164,7 @@ Start Grafana by running:
## Next steps
Refer to the [Getting Started]({{< relref "../guides/getting_started/" >}}) guide for information about logging in, setting up data sources, and so on.
Refer to the [Getting Started]({{< relref "../getting-started/getting-started/" >}}) guide for information about logging in, setting up data sources, and so on.
## Configure Grafana

View File

@@ -217,7 +217,7 @@ chown -R grafana:grafana /usr/share/grafana
## Next steps
Refer to the [Getting Started]({{< relref "../guides/getting_started/" >}}) guide for information about logging in, setting up data sources, and so on.
Refer to the [Getting Started]({{< relref "../getting-started/getting-started/" >}}) guide for information about logging in, setting up data sources, and so on.
## Configure Docker image

View File

@@ -135,7 +135,7 @@ sudo rpm -i --nodeps <local rpm package>
### Install from binary .tar.gz file
Download the latest [`.tar.gz` file](https://grafana.com/grafana/download?platform=linux) and extract it. The files extract into a folder named after the Grafana version that you downloaded. This folder contains all files required to run Grafana. There are no init scripts or install scripts in this package.
Download the latest [`.tar.gz` file](https://grafana.com/grafana/download?platform=linux) and extract it. The files are extracted into a folder named after the Grafana version that you downloaded. This folder contains all files required to run Grafana. There are no init scripts or install scripts in this package.
```bash
wget <tar.gz package url>
@@ -202,7 +202,7 @@ Start Grafana by running:
## Next steps
Refer to the [Getting Started]({{< relref "../guides/getting_started/" >}}) guide for information about logging in, setting up data sources, and so on.
Refer to the [Getting Started]({{< relref "../getting-started/getting-started/" >}}) guide for information about logging in, setting up data sources, and so on.
## Configure Grafana

View File

@@ -27,7 +27,7 @@ For more on the query inspector read the Grafana Community article [Using Grafan
## Logging
If you encounter an error or problem, then you can check the Grafana server log. Usually located at `/var/log/grafana/grafana.log` on Unix systems or in `<grafana_install_dir>/data/log` on other platforms and manual installs.
If you encounter an error or problem, then you can check the Grafana server log. Usually located at `/var/log/grafana/grafana.log` on Unix systems or in `<grafana_install_dir>/data/log` on other platforms and manual installations.
You can enable more logging by changing log level in the Grafana configuration file.

View File

@@ -31,19 +31,19 @@ You can either use the Windows installer or you can install a standalone Windows
1. Click **Download the installer**.
1. Open and run the installer.
To run Grafana, open your browser and go to the Grafana port (http://localhost:3000/ is default) and then follow the instructions in [Getting Started]({{< relref "../guides/getting_started/" >}}).
To run Grafana, open your browser and go to the Grafana port (http://localhost:3000/ is default) and then follow the instructions in [Getting Started]({{< relref "../getting-started/getting-started/" >}}).
## Install standalone Windows binary
1. Click **Download the zip file**.
**Important:** After you've downloaded the zip file and before extracting it, make sure to open the properties for that file (right-click **Properties**) and select the `unblock` check box and then click `Ok`.
2. Extract this folder to anywhere you want Grafana to run from.
1. Extract this folder to anywhere you want Grafana to run from.
3. Start Grafana by executing `grafana-server.exe`, located in the `bin` directory, preferably from the command line. If you want to run Grafana as a Windows service, then download
1. Start Grafana by executing `grafana-server.exe`, located in the `bin` directory, preferably from the command line. If you want to run Grafana as a Windows service, then download
[NSSM](https://nssm.cc/). It is very easy to add Grafana as a Windows service using that tool.
To run Grafana, open your browser and go to the Grafana port (http://localhost:3000/ is default) and then follow the instructions in [Getting Started]({{< relref "../guides/getting_started/" >}}).
To run Grafana, open your browser and go to the Grafana port (http://localhost:3000/ is default) and then follow the instructions in [Getting Started]({{< relref "../getting-started/getting-started/" >}}).
> **Note:** The default Grafana port is `3000`. This port might require extra permissions on Windows. If it does not appear in the default port, you can try changing to a different port.
>

View File

@@ -1,94 +1,93 @@
- name: Getting started
link: /guides/
link: /getting-started/
children:
- name: What is Grafana?
link: /guides/what-is-grafana/
- name: Getting started
link: /guides/getting_started/
- name: Intro to time series
link: /guides/timeseries/
- name: Glossary
link: /guides/glossary/
- name: What is Grafana?
link: /getting-started/what-is-grafana/
- name: Getting started
link: /getting-started/getting-started/
- name: Intro to time series
link: /getting-started/timeseries/
- name: Intro to histograms
link: /getting-started/intro-histograms/
- name: Glossary
link: /getting-started/glossary/
- name: Installation
link: /installation/
children:
- name: Requirements
link: /installation/requirements/
- name: Install on Ubuntu/Debian
link: /installation/debian/
- name: Install on Centos/RedHat/SUSE
link: /installation/rpm/
- name: Install on Windows
link: /installation/windows/
- name: Install on macOS
link: /installation/mac/
- name: Run Docker image
link: /installation/docker/
- name: Upgrade Grafana
link: /installation/upgrading/
- name: Requirements
link: /installation/requirements/
- name: Install on Ubuntu/Debian
link: /installation/debian/
- name: Install on Centos/RedHat/SUSE
link: /installation/rpm/
- name: Install on Windows
link: /installation/windows/
- name: Install on macOS
link: /installation/mac/
- name: Run Docker image
link: /installation/docker/
- name: Upgrade Grafana
link: /installation/upgrading/
- name: Administration
link: /administration/
children:
- name: Configuration
link: /installation/configuration/
- name: Configure Docker image
link: /installation/configure-docker/
- name: Security
link: /installation/security/
- name: Authentication
link: /auth/
children:
- link: /auth/overview/
name: Overview
- link: /auth/auth-proxy/
name: Auth Proxy
- link: /auth/ldap/
name: LDAP
- link: /auth/enhanced_ldap/
name: Enhanced LDAP
- link: /auth/generic-oauth/
name: Generic OAuth
- link: /auth/google/
name: Google
- link: /auth/azuread/
name: Azure AD
- link: /auth/github/
name: GitHub
- link: /auth/gitlab/
name: GitLab
- link: /auth/okta/
name: Okta
- link: /auth/saml/
name: SAML
- link: /auth/team-sync/
name: Team Sync
- name: Permissions
link: /permissions/
children:
- link: /permissions/overview/
name: Overview
- link: /permissions/organization_roles/
name: Organization Roles
- link: /permissions/dashboard_folder_permissions/
name: Dashboard and Folder
- link: /permissions/datasource_permissions/
name: Data source
- name: Grafana CLI
link: /administration/cli/
- name: Internal metrics
link: /administration/metrics/
- name: Provisioning
link: /administration/provisioning/
- name: Set up Grafana for high availability
link: /tutorials/ha_setup/
- name: Troubleshooting
link: /installation/troubleshooting/
- name: Features
link: /features/
- name: Configuration
link: /installation/configuration/
- name: Configure Docker image
link: /installation/configure-docker/
- name: Security
link: /installation/security/
- name: Authentication
link: /auth/
children:
- link: /auth/overview/
name: Overview
- link: /auth/auth-proxy/
name: Auth Proxy
- link: /auth/ldap/
name: LDAP
- link: /auth/enhanced_ldap/
name: Enhanced LDAP
- link: /auth/generic-oauth/
name: Generic OAuth
- link: /auth/google/
name: Google
- link: /auth/azuread/
name: Azure AD
- link: /auth/github/
name: GitHub
- link: /auth/gitlab/
name: GitLab
- link: /auth/okta/
name: Okta
- link: /auth/saml/
name: SAML
- link: /auth/team-sync/
name: Team Sync
- name: Permissions
link: /permissions/
children:
- link: /permissions/overview/
name: Overview
- link: /permissions/organization_roles/
name: Organization Roles
- link: /permissions/dashboard_folder_permissions/
name: Dashboard and Folder
- link: /permissions/datasource_permissions/
name: Data source
- name: Grafana CLI
link: /administration/cli/
- name: Internal metrics
link: /administration/metrics/
- name: Provisioning
link: /administration/provisioning/
- name: Set up Grafana for high availability
link: /tutorials/ha_setup/
- name: Troubleshooting
link: /installation/troubleshooting/
- name: Panels
link: /features/panels/
children:
- name: Panels
link: /features/panels/
children:
- link: /features/panels/panels/
name: Overview
- link: /features/panels/graph/
@@ -113,13 +112,11 @@
name: Dashboard list
- link: /features/panels/text/
name: Text
- name: Dashboard features
link: /features/dashboard/
children:
- name: Dashboards
link: /features/dashboard/
children:
- link: /features/dashboard/dashboards/
name: Overview
- link: /reference/templating/
name: Variables
- link: /reference/annotations/
name: Annotations
- link: /reference/dashboard_folders/
@@ -136,17 +133,23 @@
name: Time range
- link: /reference/export_import/
name: Export and import
- link: /features/dashboard/links/
name: Navigation links
- link: /reference/datalinks/
name: Data links
- link: /reference/dashboard_history/
name: Dashboard version history
- name: Keyboard Shortcuts
link: /features/shortcuts/
- name: Reporting
link: /features/reporting/
- link: /reference/dashboard/
name: JSON Model
- link: /reference/scripting/
name: Scripted dashboards
- name: Data sources
link: /features/datasources/
children:
- name: Data sources
link: /features/datasources/
children:
- link: /features/datasources/add-a-data-source/
name: Add data source
- link: /features/datasources/cloudwatch/
@@ -177,181 +180,196 @@
name: Prometheus
- link: /features/datasources/testdata/
name: TestData DB
- name: Explore
link: /features/explore/
- name: Alerting
link: /alerting/
children:
- name: Explore
link: /features/explore/
- name: Alerting
link: /alerting/
children:
- link: /alerting/rules/
name: Engine and Rules
- link: /alerting/metrics/
name: Metrics
- link: /alerting/notifications/
name: Notifications
- name: Image rendering
link: /administration/image_rendering/
- name: Keyboard Shortcuts
link: /features/shortcuts/
- name: Reporting
link: /features/reporting/
- name: Navigation links
link: /features/navigation-links/
- name: Image rendering
link: /administration/image_rendering/
- name: Templates and variables
link: /variables/
children:
- link: /variables/templates-and-variables/
name: Overview
- link: /variables/global-variables/
name: Global variables
- link: /variables/advanced-variable-format-options/
name: Advanced variable formats
- link: /variables/repeat-panels-or-rows/
name: Repeat panels or rows
- name: What's new in Grafana
link: /whatsnew/
children:
- name: Version 6.7
link: /guides/whats-new-in-v6-7/
- name: Version 6.6
link: /guides/whats-new-in-v6-6/
- name: Version 6.5
link: /guides/whats-new-in-v6-5/
- name: Version 6.4
link: /guides/whats-new-in-v6-4/
- name: Version 6.3
link: /guides/whats-new-in-v6-3/
- name: Version 6.2
link: /guides/whats-new-in-v6-2/
- name: Version 6.1
link: /guides/whats-new-in-v6-1/
- name: Version 6.0
link: /guides/whats-new-in-v6-0/
- name: Old versions
link: /whatsnew/
children:
- name: Version 5.4
link: /guides/whats-new-in-v5-4/
- name: Version 5.3
link: /guides/whats-new-in-v5-3/
- name: Version 5.2
link: /guides/whats-new-in-v5-2/
- name: Version 5.1
link: /guides/whats-new-in-v5-1/
- name: Version 5.0
link: /guides/whats-new-in-v5/
- name: Version 4.6
link: /guides/whats-new-in-v4-6/
- name: Version 4.5
link: /guides/whats-new-in-v4-5/
- name: Version 4.4
link: /guides/whats-new-in-v4-4/
- name: Version 4.3
link: /guides/whats-new-in-v4-3/
- name: Version 4.2
link: /guides/whats-new-in-v4-2/
- name: Version 4.1
link: /guides/whats-new-in-v4-1/
- name: Version 4.0
link: /guides/whats-new-in-v4/
- name: Version 3.1
link: /guides/whats-new-in-v3-1/
- name: Version 3.0
link: /guides/whats-new-in-v3/
- name: Version 7.0
link: /guides/whats-new-in-v7-0/
- name: Version 6.7
link: /guides/whats-new-in-v6-7/
- name: Version 6.6
link: /guides/whats-new-in-v6-6/
- name: Version 6.5
link: /guides/whats-new-in-v6-5/
- name: Version 6.4
link: /guides/whats-new-in-v6-4/
- name: Version 6.3
link: /guides/whats-new-in-v6-3/
- name: Version 6.2
link: /guides/whats-new-in-v6-2/
- name: Version 6.1
link: /guides/whats-new-in-v6-1/
- name: Version 6.0
link: /guides/whats-new-in-v6-0/
- name: Old versions
link: /whatsnew/
children:
- name: Version 5.4
link: /guides/whats-new-in-v5-4/
- name: Version 5.3
link: /guides/whats-new-in-v5-3/
- name: Version 5.2
link: /guides/whats-new-in-v5-2/
- name: Version 5.1
link: /guides/whats-new-in-v5-1/
- name: Version 5.0
link: /guides/whats-new-in-v5/
- name: Version 4.6
link: /guides/whats-new-in-v4-6/
- name: Version 4.5
link: /guides/whats-new-in-v4-5/
- name: Version 4.4
link: /guides/whats-new-in-v4-4/
- name: Version 4.3
link: /guides/whats-new-in-v4-3/
- name: Version 4.2
link: /guides/whats-new-in-v4-2/
- name: Version 4.1
link: /guides/whats-new-in-v4-1/
- name: Version 4.0
link: /guides/whats-new-in-v4/
- name: Version 3.1
link: /guides/whats-new-in-v3-1/
- name: Version 3.0
link: /guides/whats-new-in-v3/
- name: Grafana Enterprise
link: /enterprise/
children:
- name: Overview
link: /enterprise/
- name: Data source permissions
link: /enterprise/datasource_permissions/
- name: Enhanced LDAP
link: /enterprise/enhanced_ldap/
- name: Reporting
link: /enterprise/reporting/
- name: SAML authentication
link: /enterprise/saml/
- name: Team sync
link: /enterprise/team-sync/
- name: White labeling
link: /enterprise/white-labeling/
- name: License expiration
link: /enterprise/license-expiration/
- name: Export dashboard as PDF
link: /enterprise/export-pdf/
- name: Overview
link: /enterprise/
- name: Data source permissions
link: /enterprise/datasource_permissions/
- name: Enhanced LDAP
link: /enterprise/enhanced_ldap/
- name: Reporting
link: /enterprise/reporting/
- name: Export dashboard as PDF
link: /enterprise/export-pdf/
- name: SAML authentication
link: /enterprise/saml/
- name: Team sync
link: /enterprise/team-sync/
- name: White labeling
link: /enterprise/white-labeling/
- name: Usage insights
link: /enterprise/usage-insights/
- name: License expiration
link: /enterprise/license-expiration/
- name: Plugins
link: /plugins/
children:
- name: Install plugins
link: /plugins/installation/
- name: Develop plugins
link: /plugins/developing/
children:
- link: /plugins/developing/development/
name: Developer Guide
- link: /plugins/developing/code-styleguide/
name: Plugin Code Styleguide
- link: /plugins/developing/plugin-review-guidelines/
name: Plugin Review Guidelines
- link: /plugins/developing/auth-for-datasources/
name: Authentication for Datasource Plugins
- link: /plugins/developing/defaults-and-editor-mode/
name: Plugin Defaults and Editor Mode
- link: /plugins/developing/apps/
name: Developing App Plugins
- link: /plugins/developing/panels/
name: Developing Panel Plugins
- link: /plugins/developing/backend-plugins-guide/
name: Developing Backend Plugins
- link: /plugins/developing/datasources/
name: Developing Datasource Plugins
- link: /plugins/developing/snapshot-mode/
name: Snapshot Mode
- link: /plugins/developing/plugin.json/
name: plugin.json Schema
- name: Overview
link: /plugins/
- name: Install plugins
link: /plugins/installation/
- name: HTTP APIs
link: /http_api/
children:
- name: API Authentication
link: /http_api/auth/
- name: Create API Tokens and Dashboards for a Specific Organization
link: /tutorials/api_org_token_howto/
- name: Admin API
link: /http_api/admin/
- name: Alerting API
link: /http_api/alerting/
- name: Alerting Notifications API
link: /http_api/alerting_notification_channels/
- name: Annotations API
link: /http_api/annotations/
- name: Dashboard API
link: /http_api/dashboard/
- name: Dashboard Permissions API
link: /http_api/dashboard_permissions/
- name: Dashboard Versions API
link: /http_api/dashboard_versions/
- name: Data Source API
link: /http_api/data_source/
- name: Data source Permissions API
link: /http_api/datasource_permissions/
- name: External Group Sync API
link: /http_api/external_group_sync/
- name: Folder API
link: /http_api/folder/
- name: Folder Permissions API
link: /http_api/folder_permissions/
- name: Folder/Dashboard Search API
link: /http_api/folder_dashboard_search/
- name: Organization API
link: /http_api/org/
- name: Other APIs
link: /http_api/other/
- name: Playlist API
link: /http_api/playlist/
- name: Preferences API
link: /http_api/preferences/
- name: Snapshot API
link: /http_api/snapshot/
- name: Teams API
link: /http_api/team/
- name: Users API
link: /http_api/user/
- name: API Authentication
link: /http_api/auth/
- name: Create API Tokens and Dashboards for a Specific Organization
link: /tutorials/api_org_token_howto/
- name: Admin API
link: /http_api/admin/
- name: Alerting API
link: /http_api/alerting/
- name: Alerting Notifications API
link: /http_api/alerting_notification_channels/
- name: Annotations API
link: /http_api/annotations/
- name: Dashboard API
link: /http_api/dashboard/
- name: Dashboard Permissions API
link: /http_api/dashboard_permissions/
- name: Dashboard Versions API
link: /http_api/dashboard_versions/
- name: Data Source API
link: /http_api/data_source/
- name: Data source Permissions API
link: /http_api/datasource_permissions/
- name: External Group Sync API
link: /http_api/external_group_sync/
- name: Folder API
link: /http_api/folder/
- name: Folder Permissions API
link: /http_api/folder_permissions/
- name: Folder/Dashboard Search API
link: /http_api/folder_dashboard_search/
- name: Organization API
link: /http_api/org/
- name: Other APIs
link: /http_api/other/
- name: Playlist API
link: /http_api/playlist/
- name: Preferences API
link: /http_api/preferences/
- name: Reporting API
link: /http_api/reporting/
- name: Snapshot API
link: /http_api/snapshot/
- name: Teams API
link: /http_api/team/
- name: Users API
link: /http_api/user/
- name: Developers
link: /developers/
children:
- name: Developer resources
link: /developers/developer-resources/
- name: Packages reference
link: /packages_api/
- name: Contributor License Agreement (CLA)
link: /developers/cla/
- name: Plugins
children:
- name: Overview
link: /developers/plugins/
- name: plugin.json
link: /developers/plugins/metadata/
- name: Data frames
link: /developers/plugins/data-frames/
- name: Authentication
link: /developers/plugins/authentication/
- name: Backend plugins
link: /developers/plugins/backend/
- name: Legacy plugins
children:
- link: /developers/plugins/legacy/
name: Overview
- link: /developers/plugins/legacy/style-guide/
name: Code style guide
- link: /developers/plugins/legacy/review-guidelines/
name: Review guidelines
- link: /developers/plugins/legacy/defaults-and-editor-mode/
name: Defaults and editor mode
- link: /developers/plugins/legacy/apps/
name: App plugins
- link: /developers/plugins/legacy/data-sources/
name: Data source plugins
- link: /developers/plugins/legacy/snapshot-mode/
name: Snapshot mode
- name: API reference
link: /packages_api/
- name: Contribute
link: /developers/contribute/
- name: Contributor License Agreement (CLA)
link: /developers/cla/
- name: Docs Archive
link: /archive/

View File

@@ -18,6 +18,7 @@ A library containing most of the core functionality and data types used in Grafa
| [AppendedVectors](./appendedvectors/) | This may be more trouble than it is worth. This trades some computation time for RAM -- rather than allocate a new array the size of all previous arrays, this just points the correct index to their original array values |
| [AppPlugin](./appplugin/) | |
| [ArrayVector](./arrayvector/) | |
| [BinaryOperationVector](./binaryoperationvector/) | |
| [CircularDataFrame](./circulardataframe/) | This dataframe can have values constantly added, and will never exceed the given capacity |
| [CircularVector](./circularvector/) | Circular vector uses a single buffer to capture a stream of values overwriting the oldest value on add.<!-- -->This supports addting to the 'head' or 'tail' and will grow the buffer to match a configured capacity. |
| [ConstantVector](./constantvector/) | |
@@ -34,13 +35,13 @@ A library containing most of the core functionality and data types used in Grafa
| [PanelOptionsEditorBuilder](./paneloptionseditorbuilder/) | Fluent API for declarative creation of panel options |
| [PanelPlugin](./panelplugin/) | |
| [Registry](./registry/) | |
| [ScaledVector](./scaledvector/) | |
| [SortedVector](./sortedvector/) | Values are returned in the order defined by the input parameter |
## Enumerations
| Enumeration | Description |
| --- | --- |
| [BinaryOperationID](./binaryoperationid/) | |
| [ColorScheme](./colorscheme/) | |
| [CoreApp](./coreapp/) | |
| [CSVHeaderStyle](./csvheaderstyle/) | |
@@ -96,9 +97,11 @@ A library containing most of the core functionality and data types used in Grafa
| [getDecimalsForValue(value, decimalOverride)](./getdecimalsforvalue/) | |
| [getDisplayProcessor(options)](./getdisplayprocessor/) | |
| [getDisplayValueAlignmentFactors(values)](./getdisplayvaluealignmentfactors/) | |
| [getFieldDisplayName(field, frame, allFrames)](./getfielddisplayname/) | |
| [getFieldMatcher(config)](./getfieldmatcher/) | |
| [getFlotPairs({ xField, yField, nullValueMode })](./getflotpairs/) | |
| [getFlotPairsConstant(seriesData, range)](./getflotpairsconstant/) | Returns a constant series based on the first value from the provide series. |
| [getFrameDisplayName(frame, index)](./getframedisplayname/) | Get an appropriate display title |
| [getFrameMatchers(config)](./getframematchers/) | |
| [getLogLevel(line)](./getloglevel/) | Returns the log level of a log line. Parse the line for level words. If no level is found, it returns <code>LogLevel.unknown</code>.<!-- -->Example: <code>getLogLevel('WARN 1999-12-31 this is great') // LogLevel.warn</code> |
| [getLogLevelFromKey(key)](./getloglevelfromkey/) | |
@@ -111,13 +114,13 @@ A library containing most of the core functionality and data types used in Grafa
| [guessFieldTypeForField(field)](./guessfieldtypeforfield/) | Looks at the data to guess the column type. This ignores any existing setting |
| [guessFieldTypeFromNameAndValue(name, v)](./guessfieldtypefromnameandvalue/) | Given a name and value, this will pick a reasonable field type |
| [guessFieldTypeFromValue(v)](./guessfieldtypefromvalue/) | Given a value this will guess the best column type<!-- -->TODO: better Date/Time support! Look for standard date strings? |
| [hasLinks(field)](./haslinks/) | |
| [locale(value, decimals)](./locale/) | |
| [parseFlags(text)](./parseflags/) | Converts any mode modifiers in the text to the Javascript equivalent flag |
| [parseLabels(labels)](./parselabels/) | Returns a map of label keys to value from an input selector string.<!-- -->Example: <code>parseLabels('{job=&quot;foo&quot;, instance=&quot;bar&quot;}) // {job: &quot;foo&quot;, instance: &quot;bar&quot;}</code> |
| [readCSV(csv, options)](./readcsv/) | |
| [reduceField(options)](./reducefield/) | |
| [renderMarkdown(str)](./rendermarkdown/) | |
| [resultsToDataFrames(rsp)](./resultstodataframes/) | |
| [reverseDataFrame(data)](./reversedataframe/) | Returns a copy with all values reversed |
| [scaledUnits(factor, extArray)](./scaledunits/) | |
| [setMarkdownOptions(optionsOverride)](./setmarkdownoptions/) | |
@@ -128,6 +131,7 @@ A library containing most of the core functionality and data types used in Grafa
| [stringToJsRegex(str)](./stringtojsregex/) | |
| [stringToMs(str)](./stringtoms/) | |
| [toCSV(data, config)](./tocsv/) | |
| [toDataFrame(data)](./todataframe/) | Inspect any object and return the results as a DataFrame |
| [toDataFrameDTO(data)](./todataframedto/) | Returns a copy that does not include functions |
| [toFixed(value, decimals)](./tofixed/) | |
| [toFixedScaled(value, decimals, scaledDecimals, additionalDecimals, ext)](./tofixedscaled/) | |
@@ -153,7 +157,6 @@ A library containing most of the core functionality and data types used in Grafa
| [AppRootProps](./approotprops/) | |
| [ArrowDataFrame](./arrowdataframe/) | |
| [BuildInfo](./buildinfo/) | Describes the build information that will be available via the Grafana configuration. |
| [CalculateFieldTransformerOptions](./calculatefieldtransformeroptions/) | |
| [ColorFieldConfigSettings](./colorfieldconfigsettings/) | |
| [Column](./column/) | |
| [ConfigOverrideRule](./configoverriderule/) | |
@@ -186,9 +189,9 @@ A library containing most of the core functionality and data types used in Grafa
| [DateTimeBuiltinFormat](./datetimebuiltinformat/) | |
| [DateTimeDuration](./datetimeduration/) | |
| [DateTimeLocale](./datetimelocale/) | |
| [DateTimeOptions](./datetimeoptions/) | |
| [DateTimeOptionsWhenParsing](./datetimeoptionswhenparsing/) | |
| [DateTimeOptionsWithFormat](./datetimeoptionswithformat/) | |
| [DateTimeOptions](./datetimeoptions/) | The type describing date and time options. Used for all the helper functions available to parse or format date and time values. |
| [DateTimeOptionsWhenParsing](./datetimeoptionswhenparsing/) | The type that describes options that can be passed when parsing a date and time value. |
| [DateTimeOptionsWithFormat](./datetimeoptionswithformat/) | The type describing the options that can be passed to the [dateTimeFormat](./data/datetimeformat.md) helper function to control how the date and time value passed to the function is formatted. |
| [DecimalInfo](./decimalinfo/) | |
| [Dimension](./dimension/) | |
| [DisplayValue](./displayvalue/) | |
@@ -211,9 +214,8 @@ A library containing most of the core functionality and data types used in Grafa
| [FieldOverrideContext](./fieldoverridecontext/) | |
| [FieldOverrideEditorProps](./fieldoverrideeditorprops/) | |
| [FieldReducerInfo](./fieldreducerinfo/) | |
| [FieldState](./fieldstate/) | |
| [FieldWithIndex](./fieldwithindex/) | |
| [FilterFieldsByNameTransformerOptions](./filterfieldsbynametransformeroptions/) | |
| [FilterFramesByRefIdTransformerOptions](./filterframesbyrefidtransformeroptions/) | |
| [FlotDataPoint](./flotdatapoint/) | |
| [FormattedValue](./formattedvalue/) | |
| [FrameMatcherInfo](./framematcherinfo/) | |
@@ -242,7 +244,6 @@ A library containing most of the core functionality and data types used in Grafa
| [NavModelBreadcrumb](./navmodelbreadcrumb/) | |
| [NavModelItem](./navmodelitem/) | |
| [NumberFieldConfigSettings](./numberfieldconfigsettings/) | |
| [OrganizeFieldsTransformerOptions](./organizefieldstransformeroptions/) | |
| [PanelData](./paneldata/) | |
| [PanelEditorProps](./paneleditorprops/) | |
| [PanelModel](./panelmodel/) | |
@@ -270,7 +271,7 @@ A library containing most of the core functionality and data types used in Grafa
| [RawTimeRange](./rawtimerange/) | |
| [ReadWriteVector](./readwritevector/) | Apache arrow vectors are Read/Write |
| [ReduceDataOptions](./reducedataoptions/) | Options for how to turn DataFrames into an array of display values |
| [ReduceTransformerOptions](./reducetransformeroptions/) | |
| [RegexpOrNamesMatcherOptions](./regexpornamesmatcheroptions/) | |
| [RegistryItem](./registryitem/) | |
| [RegistryItemWithOptions](./registryitemwithoptions/) | |
| [ScaledValue](./scaledvalue/) | |
@@ -279,7 +280,6 @@ A library containing most of the core functionality and data types used in Grafa
| [ScreenshotInfo](./screenshotinfo/) | |
| [SelectableValue](./selectablevalue/) | Used in select elements |
| [SelectFieldConfigSettings](./selectfieldconfigsettings/) | |
| [SeriesToColumnsOptions](./seriestocolumnsoptions/) | |
| [StandardEditorProps](./standardeditorprops/) | |
| [StandardEditorsRegistryItem](./standardeditorsregistryitem/) | |
| [StringFieldConfigSettings](./stringfieldconfigsettings/) | |
@@ -319,19 +319,19 @@ A library containing most of the core functionality and data types used in Grafa
| Variable | Description |
| --- | --- |
| [binaryOperators](./binaryoperators/) | |
| [booleanOverrideProcessor](./booleanoverrideprocessor/) | |
| [createDimension](./createdimension/) | |
| [createOrderFieldsComparer](./createorderfieldscomparer/) | |
| [DataLinkBuiltInVars](./datalinkbuiltinvars/) | |
| [dataLinksOverrideProcessor](./datalinksoverrideprocessor/) | |
| [dateTime](./datetime/) | |
| [dateTimeAsMoment](./datetimeasmoment/) | |
| [dateTimeFormat](./datetimeformat/) | |
| [dateTimeFormatISO](./datetimeformatiso/) | |
| [dateTimeFormatTimeAgo](./datetimeformattimeago/) | |
| [dateTimeFormatWithAbbrevation](./datetimeformatwithabbrevation/) | |
| [dateTimeFormat](./datetimeformat/) | Helper function to format date and time according to the specified options. If no options are supplied, then default values are used. For more details, see [DateTimeOptionsWithFormat](./data/datetimeoptionswithformat.md)<!-- -->. |
| [dateTimeFormatISO](./datetimeformatiso/) | Helper function to format date and time according to the standard ISO format e.g. 2013-02-04T22:44:30.652Z. If no options are supplied, then default values are used. For more details, see [DateTimeOptionsWithFormat](./data/datetimeoptionswithformat.md)<!-- -->. |
| [dateTimeFormatTimeAgo](./datetimeformattimeago/) | Helper function to return elapsed time since passed date. The returned value will be formatted in a human readable format e.g. 4 years ago. If no options are supplied, then default values are used. For more details, see [DateTimeOptions](./data/datetimeoptions.md)<!-- -->. |
| [dateTimeFormatWithAbbrevation](./datetimeformatwithabbrevation/) | Helper function to format date and time according to the Grafana default formatting, but it also appends the time zone abbreviation at the end e.g. 2020-05-20 13:37:00 CET. If no options are supplied, then default values are used. For more details please see [DateTimeOptions](./data/datetimeoptions.md)<!-- -->. |
| [dateTimeForTimeZone](./datetimefortimezone/) | |
| [dateTimeParse](./datetimeparse/) | |
| [dateTimeParse](./datetimeparse/) | Helper function to parse a number, text or Date to a DateTime value. If a timeZone is supplied the incoming value is parsed with that timeZone as a base. The only exception to this is if the passed value is in a UTC-based format. Then it will use UTC as the base. Examples on UTC-based values are Unix epoch and ISO formatted strings.<!-- -->It can also parse the Grafana quick date and time format, e.g. now-6h will be parsed as Date.now() - 6 hours and returned as a valid DateTime value.<!-- -->If no options are supplied, then default values are used. For more details please see [DateTimeOptions](./data/datetimeoptions.md)<!-- -->. |
| [DEFAULT\_DATE\_TIME\_FORMAT](./default_date_time_format/) | |
| [DEFAULT\_FIELD\_DISPLAY\_VALUES\_LIMIT](./default_field_display_values_limit/) | |
| [DefaultTimeRange](./defaulttimerange/) | |
@@ -381,7 +381,6 @@ A library containing most of the core functionality and data types used in Grafa
| [onUpdateDatasourceSecureJsonDataOptionSelect](./onupdatedatasourcesecurejsondataoptionselect/) | |
| [selectOverrideProcessor](./selectoverrideprocessor/) | |
| [setLocale](./setlocale/) | |
| [setTimeZoneResolver](./settimezoneresolver/) | |
| [standardEditorsRegistry](./standardeditorsregistry/) | |
| [standardFieldConfigEditorRegistry](./standardfieldconfigeditorregistry/) | |
| [standardTransformers](./standardtransformers/) | |
@@ -390,8 +389,10 @@ A library containing most of the core functionality and data types used in Grafa
| [textUtil](./textutil/) | |
| [thresholdsOverrideProcessor](./thresholdsoverrideprocessor/) | |
| [TIME\_FORMAT](./time_format/) | |
| [timeZoneAbbrevation](./timezoneabbrevation/) | |
| [toDataFrame](./todataframe/) | |
| [TIME\_SERIES\_TIME\_FIELD\_NAME](./time_series_time_field_name/) | |
| [TIME\_SERIES\_VALUE\_FIELD\_NAME](./time_series_value_field_name/) | |
| [timeZoneAbbrevation](./timezoneabbrevation/) | Helper function to return only the time zone abbreviation for a given date and time value. If no options are supplied, then default values are used. For more details please see [DateTimeOptions](./data/datetimeoptions.md)<!-- -->. |
| [timeZoneFormatUserFriendly](./timezoneformatuserfriendly/) | |
| [toDuration](./toduration/) | |
| [toLegacyResponseData](./tolegacyresponsedata/) | |
| [toPascalCase](./topascalcase/) | |
@@ -405,6 +406,7 @@ A library containing most of the core functionality and data types used in Grafa
| [valueMappingsOverrideProcessor](./valuemappingsoverrideprocessor/) | |
| [VAR\_CALC](./var_calc/) | |
| [VAR\_CELL\_PREFIX](./var_cell_prefix/) | |
| [VAR\_FIELD\_LABELS](./var_field_labels/) | |
| [VAR\_FIELD\_NAME](./var_field_name/) | |
| [VAR\_SERIES\_NAME](./var_series_name/) | |
@@ -412,15 +414,14 @@ A library containing most of the core functionality and data types used in Grafa
| Type Alias | Description |
| --- | --- |
| [BinaryOperation](./binaryoperation/) | |
| [Color](./color/) | |
| [ColorDefinition](./colordefinition/) | |
| [DataQueryResponseData](./dataqueryresponsedata/) | |
| [DataSourceOptionsType](./datasourceoptionstype/) | |
| [DataSourceQueryType](./datasourcequerytype/) | |
| [DataTransformer](./datatransformer/) | Function that transform data frames (AKA transformer) |
| [DateTimeFormatter](./datetimeformatter/) | |
| [DateTimeInput](./datetimeinput/) | |
| [DateTimeParser](./datetimeparser/) | |
| [DecimalCount](./decimalcount/) | |
| [Dimensions](./dimensions/) | |
| [DisplayProcessor](./displayprocessor/) | |
@@ -440,6 +441,7 @@ A library containing most of the core functionality and data types used in Grafa
| [PanelMigrationHandler](./panelmigrationhandler/) | Called when a panel is first loaded with current panel model |
| [PanelOptionEditorsRegistry](./paneloptioneditorsregistry/) | |
| [PanelTypeChangedHandler](./paneltypechangedhandler/) | Called before a panel is initialized. Allows panel inspection for any updates before changing the panel type. |
| [PreferredVisualisationType](./preferredvisualisationtype/) | |
| [ScaleCalculator](./scalecalculator/) | |
| [Subtract](./subtract/) | |
| [TimeFragment](./timefragment/) | |
@@ -447,7 +449,7 @@ A library containing most of the core functionality and data types used in Grafa
| [TimeSeriesValue](./timeseriesvalue/) | |
| [TimeZone](./timezone/) | |
| [TimeZoneBrowser](./timezonebrowser/) | |
| [TimeZoneResolver](./timezoneresolver/) | |
| [TimeZoneResolver](./timezoneresolver/) | The type to describe the time zone resolver function that will be used to access the default time zone of a user. |
| [TimeZoneUtc](./timezoneutc/) | |
| [UrlQueryMap](./urlquerymap/) | Type to represent the values parsed from the query string. |
| [UrlQueryValue](./urlqueryvalue/) | Type to represent the value of a single query variable. |

View File

@@ -2,22 +2,22 @@
# -----------------------------------------------------------------------
# Do not edit this file. It is automatically generated by API Documenter.
# -----------------------------------------------------------------------
title = "setTimeZoneResolver"
title = "BinaryOperation"
keywords = ["grafana","documentation","sdk","@grafana/data"]
type = "docs"
+++
## setTimeZoneResolver variable
## BinaryOperation type
### setTimeZoneResolver variable
### BinaryOperation type
<b>Signature</b>
```typescript
setTimeZoneResolver: (resolver: TimeZoneResolver) => void
export declare type BinaryOperation = (left: number, right: number) => number;
```
<b>Import</b>
```typescript
import { setTimeZoneResolver } from '@grafana/data';
import { BinaryOperation } from '@grafana/data';
```

View File

@@ -0,0 +1,33 @@
+++
# -----------------------------------------------------------------------
# Do not edit this file. It is automatically generated by API Documenter.
# -----------------------------------------------------------------------
title = "BinaryOperationID"
keywords = ["grafana","documentation","sdk","@grafana/data"]
type = "docs"
+++
## BinaryOperationID enum
### BinaryOperationID enum
<b>Signature</b>
```typescript
export declare enum BinaryOperationID
```
<b>Import</b>
```typescript
import { BinaryOperationID } from '@grafana/data';
```
## Enumeration Members
| Member | Value | Description |
| --- | --- | --- |
| Add | <code>&quot;+&quot;</code> | |
| Divide | <code>&quot;/&quot;</code> | |
| Multiply | <code>&quot;*&quot;</code> | |
| Subtract | <code>&quot;-&quot;</code> | |

View File

@@ -2,28 +2,28 @@
# -----------------------------------------------------------------------
# Do not edit this file. It is automatically generated by API Documenter.
# -----------------------------------------------------------------------
title = "ScaledVector"
title = "BinaryOperationVector"
keywords = ["grafana","documentation","sdk","@grafana/data"]
type = "docs"
+++
## ScaledVector class
## BinaryOperationVector class
<b>Signature</b>
```typescript
export declare class ScaledVector implements Vector<number>
export declare class BinaryOperationVector implements Vector<number>
```
<b>Import</b>
```typescript
import { ScaledVector } from '@grafana/data';
import { BinaryOperationVector } from '@grafana/data';
```
<b>Constructors</b>
| Constructor | Modifiers | Description |
| --- | --- | --- |
| [constructor(source, scale)](#constructor-sourcescale) | | Constructs a new instance of the <code>ScaledVector</code> class |
| [constructor(left, right, operation)](#constructor-leftrightoperation) | | Constructs a new instance of the <code>BinaryOperationVector</code> class |
<b>Properties</b>
@@ -39,21 +39,22 @@ import { ScaledVector } from '@grafana/data';
| [toArray()](#toarray-method) | | |
| [toJSON()](#tojson-method) | | |
### constructor(source, scale)
### constructor(left, right, operation)
Constructs a new instance of the `ScaledVector` class
Constructs a new instance of the `BinaryOperationVector` class
<b>Signature</b>
```typescript
constructor(source: Vector<number>, scale: number);
constructor(left: Vector<number>, right: Vector<number>, operation: BinaryOperation);
```
<b>Parameters</b>
| Parameter | Type | Description |
| --- | --- | --- |
| source | <code>Vector&lt;number&gt;</code> | |
| scale | <code>number</code> | |
| left | <code>Vector&lt;number&gt;</code> | |
| right | <code>Vector&lt;number&gt;</code> | |
| operation | <code>BinaryOperation</code> | |
### length property

View File

@@ -2,22 +2,22 @@
# -----------------------------------------------------------------------
# Do not edit this file. It is automatically generated by API Documenter.
# -----------------------------------------------------------------------
title = "DateTimeParser"
title = "binaryOperators"
keywords = ["grafana","documentation","sdk","@grafana/data"]
type = "docs"
+++
## DateTimeParser type
## binaryOperators variable
### DateTimeParser type
### binaryOperators variable
<b>Signature</b>
```typescript
export declare type DateTimeParser<T extends DateTimeOptions = DateTimeOptions> = (value: DateTimeInput, options?: T) => DateTime;
binaryOperators: Registry<BinaryOperatorInfo>
```
<b>Import</b>
```typescript
import { DateTimeParser } from '@grafana/data';
import { binaryOperators } from '@grafana/data';
```

View File

@@ -1,70 +0,0 @@
+++
# -----------------------------------------------------------------------
# Do not edit this file. It is automatically generated by API Documenter.
# -----------------------------------------------------------------------
title = "CalculateFieldTransformerOptions"
keywords = ["grafana","documentation","sdk","@grafana/data"]
type = "docs"
+++
## CalculateFieldTransformerOptions interface
<b>Signature</b>
```typescript
export interface CalculateFieldTransformerOptions
```
<b>Import</b>
```typescript
import { CalculateFieldTransformerOptions } from '@grafana/data';
```
<b>Properties</b>
| Property | Type | Description |
| --- | --- | --- |
| [alias](#alias-property) | <code>string</code> | |
| [include](#include-property) | <code>string</code> | |
| [nullValueMode](#nullvaluemode-property) | <code>NullValueMode</code> | |
| [reducer](#reducer-property) | <code>ReducerID</code> | |
| [replaceFields](#replacefields-property) | <code>boolean</code> | |
### alias property
<b>Signature</b>
```typescript
alias?: string;
```
### include property
<b>Signature</b>
```typescript
include?: string;
```
### nullValueMode property
<b>Signature</b>
```typescript
nullValueMode?: NullValueMode;
```
### reducer property
<b>Signature</b>
```typescript
reducer: ReducerID;
```
### replaceFields property
<b>Signature</b>
```typescript
replaceFields?: boolean;
```

View File

@@ -23,10 +23,19 @@ import { Column } from '@grafana/data';
| Property | Type | Description |
| --- | --- | --- |
| [custom](#custom-property) | <code>Record&lt;string, any&gt;</code> | |
| [filterable](#filterable-property) | <code>boolean</code> | |
| [text](#text-property) | <code>string</code> | |
| [unit](#unit-property) | <code>string</code> | |
### custom property
<b>Signature</b>
```typescript
custom?: Record<string, any>;
```
### filterable property
<b>Signature</b>

View File

@@ -28,6 +28,7 @@ import { DataTransformerID } from '@grafana/data';
| --- | --- | --- |
| append | <code>&quot;append&quot;</code> | |
| calculateField | <code>&quot;calculateField&quot;</code> | |
| ensureColumns | <code>&quot;ensureColumns&quot;</code> | |
| filterByRefId | <code>&quot;filterByRefId&quot;</code> | |
| filterFields | <code>&quot;filterFields&quot;</code> | |
| filterFieldsByName | <code>&quot;filterFieldsByName&quot;</code> | |

View File

@@ -11,6 +11,8 @@ type = "docs"
### dateTimeFormat variable
Helper function to format date and time according to the specified options. If no options are supplied, then default values are used. For more details, see [DateTimeOptionsWithFormat](./data/datetimeoptionswithformat.md)<!-- -->.
<b>Signature</b>
```typescript

View File

@@ -11,6 +11,8 @@ type = "docs"
### dateTimeFormatISO variable
Helper function to format date and time according to the standard ISO format e.g. 2013-02-04T22:44:30.652Z. If no options are supplied, then default values are used. For more details, see [DateTimeOptionsWithFormat](./data/datetimeoptionswithformat.md)<!-- -->.
<b>Signature</b>
```typescript

View File

@@ -11,6 +11,8 @@ type = "docs"
### dateTimeFormatTimeAgo variable
Helper function to return elapsed time since passed date. The returned value will be formatted in a human readable format e.g. 4 years ago. If no options are supplied, then default values are used. For more details, see [DateTimeOptions](./data/datetimeoptions.md)<!-- -->.
<b>Signature</b>
```typescript

View File

@@ -11,6 +11,8 @@ type = "docs"
### dateTimeFormatWithAbbrevation variable
Helper function to format date and time according to the Grafana default formatting, but it also appends the time zone abbreviation at the end e.g. 2020-05-20 13:37:00 CET. If no options are supplied, then default values are used. For more details please see [DateTimeOptions](./data/datetimeoptions.md)<!-- -->.
<b>Signature</b>
```typescript

View File

@@ -9,6 +9,8 @@ type = "docs"
## DateTimeOptions interface
The type describing date and time options. Used for all the helper functions available to parse or format date and time values.
<b>Signature</b>
```typescript
@@ -23,10 +25,12 @@ import { DateTimeOptions } from '@grafana/data';
| Property | Type | Description |
| --- | --- | --- |
| [timeZone](#timezone-property) | <code>TimeZone</code> | |
| [timeZone](#timezone-property) | <code>TimeZone</code> | Specify this if you want to override the timeZone used when parsing or formatting a date and time value. If no timeZone is set, the default timeZone for the current user is used. |
### timeZone property
Specify this if you want to override the timeZone used when parsing or formatting a date and time value. If no timeZone is set, the default timeZone for the current user is used.
<b>Signature</b>
```typescript

Some files were not shown because too many files have changed in this diff Show More