Commit Graph

14114 Commits

Author SHA1 Message Date
Josh Hunt
419c465edf Grafana-UI: Editor UI components (#41136)
* Grafana-UI: Update theme.spacing to support string value when called with just one arugment

This allows theme.spacing("auto") to be valid

* Grafana-UI: Support width="auto" for Select component

This allows for inline Selects that are sized based on their content,
rather than occupying block-width

* Add toOption for creating Select options to @grafana/data

* Add test util
2021-11-01 12:06:28 +01:00
Will Browne
b80fbe03f0 Plugins: Refactor Plugin Management (#40477)
* add core plugin flow

* add instrumentation

* move func

* remove cruft

* support external backend plugins

* refactor + clean up

* remove comments

* refactor loader

* simplify core plugin path arg

* cleanup loggers

* move signature validator to plugins package

* fix sig packaging

* cleanup plugin model

* remove unnecessary plugin field

* add start+stop for pm

* fix failures

* add decommissioned state

* export fields just to get things flowing

* fix comments

* set static routes

* make image loading idempotent

* merge with backend plugin manager

* re-use funcs

* reorder imports + remove unnecessary interface

* add some TODOs + remove unused func

* remove unused instrumentation func

* simplify client usage

* remove import alias

* re-use backendplugin.Plugin interface

* re order funcs

* improve var name

* fix log statements

* refactor data model

* add logic for dupe check during loading

* cleanup state setting

* refactor loader

* cleanup manager interface

* add rendering flow

* refactor loading + init

* add renderer support

* fix renderer plugin

* reformat imports

* track errors

* fix plugin signature inheritance

* name param in interface

* update func comment

* fix func arg name

* introduce class concept

* remove func

* fix external plugin check

* apply changes from pm-experiment

* fix core plugins

* fix imports

* rename interface

* comment API interface

* add support for testdata plugin

* enable alerting + use correct core plugin contracts

* slim manager API

* fix param name

* fix filter

* support static routes

* fix rendering

* tidy rendering

* get tests compiling

* fix install+uninstall

* start finder test

* add finder test coverage

* start loader tests

* add test for core plugins

* load core + bundled test

* add test for nested plugin loading

* add test files

* clean interface + fix registering some core plugins

* refactoring

* reformat and create sub packages

* simplify core plugin init

* fix ctx cancel scenario

* migrate initializer

* remove Init() funcs

* add test starter

* new logger

* flesh out initializer tests

* refactoring

* remove unused svc

* refactor rendering flow

* fixup loader tests

* add enabled helper func

* fix logger name

* fix data fetchers

* fix case where plugin dir doesn't exist

* improve coverage + move dupe checking to loader

* remove noisy debug logs

* register core plugins automagically

* add support for renderer in catalog

* make private func + fix req validation

* use interface

* re-add check for renderer in catalog

* tidy up from moving to auto reg core plugins

* core plugin registrar

* guards

* copy over core plugins for test infra

* all tests green

* renames

* propagate new interfaces

* kill old manager

* get compiling

* tidy up

* update naming

* refactor manager test + cleanup

* add more cases to finder test

* migrate validator to field

* more coverage

* refactor dupe checking

* add test for plugin class

* add coverage for initializer

* split out rendering

* move

* fixup tests

* fix uss test

* fix frontend settings

* fix grafanads test

* add check when checking sig errors

* fix enabled map

* fixup

* allow manual setup of CM

* rename to cloud-monitoring

* remove TODO

* add installer interface for testing

* loader interface returns

* tests passing

* refactor + add more coverage

* support 'stackdriver'

* fix frontend settings loading

* improve naming based on package name

* small tidy

* refactor test

* fix renderer start

* make cloud-monitoring plugin ID clearer

* add plugin update test

* add integration tests

* don't break all if sig can't be calculated

* add root URL check test

* add more signature verification tests

* update DTO name

* update enabled plugins comment

* update comments

* fix linter

* revert fe naming change

* fix errors endpoint

* reset error code field name

* re-order test to help verify

* assert -> require

* pm check

* add missing entry + re-order

* re-check

* dump icon log

* verify manager contents first

* reformat

* apply PR feedback

* apply style changes

* fix one vs all loading err

* improve log output

* only start when no signature error

* move log

* rework plugin update check

* fix test

* fix multi loading from cfg.PluginSettings

* improve log output #2

* add error abstraction to capture errors without registering a plugin

* add debug log

* add unsigned warning

* e2e test attempt

* fix logger

* set home path

* prevent panic

* alternate

* ugh.. fix home path

* return renderer even if not started

* make renderer plugin managed

* add fallback renderer icon, update renderer badge + prevent changes when renderer is installed

* fix icon loading

* rollback renderer changes

* use correct field

* remove unneccessary block

* remove newline

* remove unused func

* fix bundled plugins base + module fields

* remove unused field since refactor

* add authorizer abstraction

* loader only returns plugins expected to run

* fix multi log output
2021-11-01 10:53:33 +01:00
Piotr Jamróz
f4282571c7 Chore: Fix NodeGraph useCallback dependencies (#41105) 2021-11-01 10:52:34 +01:00
Nathan Marrs
268c20203b Canvas: Improve Selection System (#41065) 2021-10-29 14:32:52 -07:00
Ryan McKinley
7319efe077 Dashboard: replace datasource name with a reference object (#33817)
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Elfo404 <me@giordanoricci.com>
2021-10-29 10:57:24 -07:00
Giordano Ricci
218aed324f Tempo: add info message about beut beta features (#41107) 2021-10-29 17:46:46 +02:00
Gábor Farkas
24db1efa9d influxdb: influxql: fix table-format data processing with renamed time field (#41052) 2021-10-29 15:49:45 +02:00
Giordano Ricci
e375558fa5 Chore: Clenaup unused exports/modules in explore (#41072)
* Chore: remove unused files

* Chore: Remove unused explore  extports and files
2021-10-29 11:34:48 +01:00
Jack Westbrook
5d98155b5f Plugins Catalog: Set external manage link to installation tab (#40994)
* feat(catalog): set external manage link to installation tab

* fix(catalog): use pluginCatalogURL when getting external manage link
2021-10-29 12:23:05 +02:00
Giordano Ricci
914d8d6f15 Explore: fix footer margin in Query History (#40970) 2021-10-29 11:03:09 +01:00
Dominik Prokop
afdd9b2455 Angular: only bootstrap the root application element (#40822)
* Angular: Do not bootstrap Angular against entire document

* Do not retrieve injector by using angular instance directly.
2021-10-29 11:31:41 +02:00
Gábor Farkas
fcaf9e68ee prometheus: monaco: stricter autocomplete and handle space (#41028)
* prometheus: monaco: stricter autocomplete

* autocomplete on space
2021-10-29 08:22:40 +02:00
ArturWierzbicki
e8a30f651e Live: Extract scopes from CentrifugeSrv (#41051)
* Refactor: remove `scopes` from CentrifugeSrv, remove dependencies on window/config/user context

* Refactor: add GrafanaLiveChannelConfigService to wrap direct access to *Scope classes

* Refactor: added GrafanaLiveService acting like a proxy to GrafanaLiveSrv + LiveChannelConfigSrv

* Refactor: live module instantiation

* Refactor: import fixes

* Fix: URL construction in centrifugeSrv
2021-10-28 21:48:57 +04:00
Nathan Marrs
84d13c3f35 Canvas: add layer elements editor functionality (#40968) 2021-10-28 09:58:31 -07:00
Devin Smith
8869df2ffe Loki/Prometheus: Improve facetting message in label browser (#40998)
* Chore: Improve Loki/Prometheus facetting message in label browser

* Chore: Remove uneeded console log and comment
2021-10-28 16:19:54 +02:00
Domas
05f22e5c7d remove explicit timeouts on receiver tests (#41032) 2021-10-28 14:55:43 +03:00
Torkel Ödegaard
4c52ada7a9 Dashboard: Fixes lazy loading of panels not in view for mobile layout (#41009)
* Dashboard: Fixes lazy loading of panels not in view for mobile layout

* Refactoring and adding more comments

* Removed console.log
2021-10-28 13:02:01 +02:00
Piotr Jamróz
877c726246 Loki: Use fixed bucket size for logs volume (#40873)
* Use fixed bucket size for logs volume

* Fix unit tests
2021-10-28 10:53:15 +02:00
Hugo Häggmark
fbd68c4e96 Dashboard: Fix repeats in snapshots (#41018) 2021-10-28 10:52:01 +02:00
Gábor Farkas
25fe5bc027 prometheus: autocomplete: handle label-ops better (#41004) 2021-10-28 10:39:26 +02:00
Erik Sundell
7521d56cec CloudWatch: Handle nested panels when migrating CloudWatch queries (#40993)
* support nested targets when migrating cloudwatch queries

* cleanup

* use panelUpgrades array

* bump schema version number
2021-10-28 09:47:35 +02:00
nikki-kiga
963544ffe6 Transformations: Add gazetteer transformation (#40967) 2021-10-27 20:20:56 -07:00
Ryan McKinley
45e1765733 Geomap: support multiple layers (#40906) 2021-10-27 14:49:11 -07:00
Andrej Ocenas
00ffe1a4fd TraceView: Allow span links defined on dataFrame (#40563)
* Align range to seconds in log queries

* Use default display processor if there is none in FieldDisplayProxy

* Allow links defined in dataframe

* Remove debug log

* Fix typings for span links

* Lint go

* Fix tests

* Update tests

* Add test for the display proxy

* Streamline the fallback for diplayProcessor
2021-10-27 18:40:40 +02:00
renovate[bot]
99b50ffa00 Update dependency @testing-library/dom to v8 (#40990)
* Update dependency @testing-library/dom to v8

* Update our use of useFakeTimers

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2021-10-27 16:57:20 +01:00
nikki-kiga
5449bd9ae7 Geomap: Add text labels layer (#40778)
* Geomap: add initial text labels layer

* add fontsize to text labels layer

* refactor feature styles in marker and text layers

* hide template and pick default field

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-10-27 08:46:32 -07:00
Ashley Harrison
3ed5ade78d Suggestions: Make the visualization suggestions more accessible (#40944)
* Suggestions: Make the visualization suggestions more accessible

* Reintroduce wrapping div to prevent title overlapping
2021-10-27 16:35:59 +01:00
Ryan McKinley
f52ec5e5b0 IconPanel: force 100% size (#40961) 2021-10-27 08:21:09 -07:00
kay delaney
3a7c5a0755 Chore: Switch yarn 2 to plug-n-play strategy (#40300) 2021-10-27 14:21:07 +01:00
Gábor Farkas
844d2c8621 prometheus: monaco: handle in-dashboard and in-explore use cases (#40922)
* prometheus: monaco: handle in-dashboard and in-explore use cases

* refactor is-explore handling

* improved comment

* removed unnecessary comment

* reordered props

* simplify code

* refactor: better prop-name

* fixed test snapshot
2021-10-27 11:45:32 +02:00
Torkel Ödegaard
858d654d1c Barchart: Fixes barchart switching from palette to thresholds color mode (#40954) 2021-10-27 09:42:47 +02:00
James Wang
41530482ec Plugins Catalog: Fix plugin details header styles (#40917) 2021-10-26 16:32:39 +02:00
Gábor Farkas
2c3b35df64 Explore: allow changing the graph type (#40522)
* explore: allow switching graph-styles

* refactor: simplify code

* adjust test to test a case that can really happen

* better generate-options approach

* explore: graph styles: remove url functionality

* not-stacked-bars should be filled
2021-10-26 15:51:59 +02:00
Marcus Andersson
fe11a31175 PluginsCatalog: disable post-installation steps if user does not have sufficient permissions (#40853)
* added missing permissions check

* moved the permission check to the datasource component.

* added test for checking permissions.

* added tests with different permissions.

* minor refactoring so the mockUserPermisson can be reused.
2021-10-26 15:18:12 +02:00
Ivana Huckova
92cd44940a Prometheus: Refactor backend for scalability for other query types (#40921)
* Prometheus: Refactor backend for scalability for other query types

* Fix linting
2021-10-26 14:47:40 +02:00
Andrej Ocenas
c9507f8f8a NodeGraph: Fix zooming sensitivity on touchpads (#40718) 2021-10-26 13:17:54 +02:00
Ivana Huckova
ce8e569700 Fix error reseting (#40893) 2021-10-26 13:07:11 +02:00
Zoltán Bedi
c43776aec3 Mixed-ds: Return both results from the same datasource (#39865)
* Mixed-ds: Return both results from the same datasource

* fix mixed data source

* Change concatMap to mergeMap

* Make sure to return correct state at the end

* Make sure to count the targets as well

* Use Marcus's version

* Fix stict error

* Apply suggestions from code review

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

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2021-10-26 12:54:22 +02:00
Andrej Ocenas
8cf7e520e8 CloudWatch Logs: Fix variable interpolation in queries (#40899)
* Interpolate variables in queries

* Remove test
2021-10-26 11:40:49 +02:00
Josh Hunt
90b802a62d AzureMonitor: Prevent incomplete Logs queries from running (#40512)
* AzureMonitor: Prevent incomplete queries from running

* fix
2021-10-25 17:37:50 +02:00
Giordano Ricci
2ee54b7ffe Explore: Fix running queries without a datasource property set (#40805)
* Explore: Fix running queries without a datasource property set

* fix test

* adjust test
2021-10-25 14:25:17 +01:00
Gábor Farkas
cc271b0a42 Explore: rich history: add more tests (#40769)
* explore: rich history: add unit test

* explore: rich-history: added info comment

* improved comment

* better test names
2021-10-25 15:23:47 +02:00
Gábor Farkas
b5ae62d6ae grafana-ui: simplify and centralize monaco-theme-handling (#40643)
* grafana-ui: simplify and centralize monaco-theme-handling

* simplify code

* monaco: better theme-setup code

* eslint fix

* fix useEffect dependency
2021-10-25 14:55:39 +02:00
Peter Holmberg
57750639cd Alerting: Prevent alerting routes from working if alerting is not enabled (#40521)
* show alerting not enabled when not enabled

* correct navmodel index

* use correct config values
2021-10-25 14:40:45 +02:00
Torkel Ödegaard
54af57b8e6 VisualizationSelection: Real previews of suitable visualisation and options based on current data (#40527)
* Initial pass to move panel state to it's own, and make it by key not panel.id

* Progress

* Not making much progress, having panel.key be mutable is causing a lot of issues

* Think this is starting to work

* Began fixing tests

* Add selector

* Bug fixes and changes to cleanup, and fixing all flicking when switching library panels

* Removed console.log

* fixes after merge

* fixing tests

* fixing tests

* Added new test for changePlugin thunk

* Initial struture in place

* responding to state changes in another part of the state

* bha

* going in a different direction

* This is getting exciting

* minor

* More structure

* More real

* Added builder to reduce boiler plate

* Lots of progress

* Adding more visualizations

* More smarts

* tweaks

* suggestions

* Move to separate view

* Refactoring to builder concept

* Before hover preview test

* Increase line width in preview

* More suggestions

* Removed old elements of onSuggestVisualizations

* Don't call suggestion suppliers if there is no data

* Restore card styles to only borders

* Changing supplier interface to support data vs option suggestion scenario

* Renamed functions

* Add dynamic width support

* not sure about this

* Improve suggestions

* Improve suggestions

* Single grid/list

* Store vis select pane & size

* Prep for option suggestions

* more suggestions

* Name/title option for preview cards

* Improve barchart suggestions

* Support suggestions when there are no data

* Minor change

* reverted some changes

* Improve suggestions for stacking

* Removed size option

* starting on unit tests, hit cyclic dependency issue

* muuu

* First test for getting suggestion seems to work, going to bed

* add missing file

* A basis for more unit tests

* More tests

* More unit tests

* Fixed unit tests

* Update

* Some extreme scenarios

* Added basic e2e test

* Added another unit test for changePanelPlugin action

* More cleanup

* Minor tweak

* add wait to e2e test

* Renamed function and cleanup of unused function

* Adding search support and adding search test to e2e test
2021-10-25 13:55:06 +02:00
Gábor Farkas
9e030970aa prometheus: remove handling of control+enter (#40869)
we are standardizing on shift+enter
2021-10-25 12:20:13 +02:00
Zoltán Bedi
e6d2324516 Time series/Bar chart panel: Add ability to sort series via legend (#40226)
* Make legend sorting work in Time series panel

* Import from schema

Add properties to the cue schema as well

* Order stacking

* Add tests for orderIdsByCalcs

* Add check for legend options

* Fix cue schema

* UI fixes

* Order bars as well in barchart

* Use different index when ordered

* Legend sort series doc

* Fix nits

* Update docs/sources/panels/legend-options.md

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

* Fix linting

* Apply suggestions from code review

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

* Update docs/sources/panels/legend-options.md

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Ursula Kallio <73951760+osg-grafana@users.noreply.github.com>
2021-10-25 11:21:51 +02:00
Junya Hayashi
d5de885633 CloudMonitoring: Fix TypeError in annotation queries (#40740) 2021-10-25 10:53:08 +02:00
renovate[bot]
f496c31018 Update dependency @types/jest to v27 (#40403)
* Update dependency @types/jest to v27

* Fix type errors

* Linting!

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2021-10-22 17:44:01 +01:00
Ryan McKinley
814a78ba46 Value mappings: scroll values when many items exist (#40733) 2021-10-22 18:16:32 +02:00