Commit Graph

629 Commits

Author SHA1 Message Date
Joey
06a4b6da62
Tempo: Use pipe in TraceQL by default for multi-value variables (#70051)
* Use pipe in traceQL by default for multi value variables

* Use constant
2023-06-19 13:28:56 +01:00
Matias Chomicki
a75752b085
Elasticsearch: remove usages of any (#69575)
* Elasticsearch: remove usages of any

* Elasticsearch: check for filter type when accessing field aggs

* Elasticsearch: use type guards instead of checking types

* Use unknown for isPrimitive function

* Add deprecation notice

* Remove unused type

* Fix bug in "isPrimitive" function

* Remove unused import

* Revert "Fix bug in "isPrimitive" function"

This reverts commit 27f9874cce.
2023-06-19 11:01:08 +02:00
Brendan O'Handley
3425012ee4
Prometheus: Variable query editor improvements (#69884)
* refactor metric select and label filters, add variables to label names dropdown

* use MetricsLabelsSection in variable editor

* use variable editor UI with MetricsLabelsSection

* filter label names by optional metric and allow metric to be cleared

* fix tests

* testing types for onChangeLabels

* testing types for onChangeLabels

* testing types for onChangeLabels

* Ismails review, remove comment and indent

* wrap label filters

* improved behavior for selects and inputs, add tests and document behavior
2023-06-16 15:03:34 -04:00
Ivan Ortega Alba
9b1f1df9e8
Mixed DS: Use new DS picker (#70052) 2023-06-16 15:12:52 +02:00
Gilles De Mey
7952907e48
Alerting: Allow executing "hidden" queries (#70064) 2023-06-16 13:14:46 +02:00
ismail simsek
3341229bc2
Chore: InfluxDB - Reformatting and restructuring (#69669)
* Reformatting and restructuring

* Update unit test

* Export as function
2023-06-09 12:57:46 +02:00
Laura Benz
24502c4c4a
Add tooltip to instances of IconButton (#68880)
* refactor: tooltip is required

* refactor: add tooltips

* refactor: add tooltips

* refactor: add tooltips

* refactor: add tooltips

* refactor: add tooltips

* refactor: add tooltips

* refactor: adjust tests

* refactor: apply changes from code review

* refactor: adjust component for e2e test

* refactor: adjust fallback

* refactor: apply changes from code review

* refactor: apply changes from code review

* refactor: set IconButton default as type=button and remove from use cases

* refactor:  remove aria-labels when duplicated and type=button from use cases

* refactor: clean up

* refactor: fix tests

* refactor: fix type errors

* refactor: remove changes in order in order to add them to a separate PR

* refactor: set IconButton default as type=button

* refactor: remove tooltip

* refactor: apply changes requested in review
2023-06-08 10:23:28 +02:00
Giordano Ricci
067bbcbe56
Explore: Refactor & centralize URL/state sync (#66286)
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2023-06-06 15:31:39 +01:00
Alexa V
07dd90b5a8
Dashboards: Variables - Improve slow template variable loading due same variable loaded multiple times on time range change (#66965) 2023-06-06 16:12:09 +03:00
ismail simsek
e770bd6cd1
Chore: InfluxDB - Restructure the folders (#69554)
* Move useUniqueId to a general place

* Use new built-in useId hook

* Rename query builder and metadata query

* Move and rename the query builder tests

* Refactor query_builder and metadata_query

* Fix test

* Fix test

* Restructure folders

* update texts

* Update the mock

* Fix test

* update imports

* update imports again
2023-06-06 14:28:59 +02:00
Ivan Ortega Alba
819041c732
Schema: Improve Dashboard kind docs and remove deprecated props (#69359)
Remove unused properties: 
  * `FieldColorModeId.PaletteSaturated`: It doesn't exist and it is not a valid palette.
  * `VariableModel.rootStateKey`: It is not persisted in the DB, so it shouldn't be in the schema. It is a property only used in the frontend to store the Redux store key.
  * `VariableModel.error`: It is not persisted in the DB, so it shouldn't be in the schema. It is a property only used in the frontend to store fetching errors.
  * `Panel.thresholds`: old property only existing in previous versions of the dashboard schema.
  * `Panel.timeRegions`: old property only existing in previous versions of the dashboard schema.
2023-06-06 14:28:10 +02:00
ismail simsek
ae0f94e616
InfluxDB: Refactor query_builder and metadata_query (#69550)
* Move useUniqueId to a general place

* Use new built-in useId hook

* Rename query builder and metadata query

* Move and rename the query builder tests

* Refactor query_builder and metadata_query

* Fix test

* Fix test
2023-06-06 13:58:51 +02:00
ismail simsek
a0dd981f85
Chore: Rename influxql query builder and metadata request files (#69549)
* Move useUniqueId to a general place

* Use new built-in useId hook

* Rename query builder and metadata query

* Move and rename the query builder tests
2023-06-05 21:57:21 +02:00
Esteban Beltran
1ed4c0382b
Plugins: Add Initial implementation for frontend plugins sandboxing (#68889) 2023-06-05 10:51:36 +02:00
ismail simsek
6c7b17b59f
InfluxDB: Strong types and backend migration preparation (#69469)
* Type definitions

* Move non-backend-migration code into unified place

* Update public/app/plugins/datasource/influxdb/datasource.ts
2023-06-03 12:39:01 +02:00
Levente Balogh
d25cea90b0
Datasources: Make the datasources config extendable by plugins (#68064)
* feat: add a new UI extension type: component

* fix: remove reference to not existing type

* chore: update betterer results

* review: use a single type notation in import

* review: stop exporting `PluginExtensionBase`

* refactor: make extension config types more explicit

By using some repetition now these types are much easier to oversee.

* feat: add a new extension point to the datasources config

* fix: export tcontext type from grafana-data

* chore: update betterer results

* chore: fix tests

* feat: extend the context shared with extensions

* feat: stop omitting jsonData props & update context type

* tests: update tests
2023-06-02 11:01:36 +02:00
Levente Balogh
a91033c025
Plugins: Add a new UI Extension type (#68600)
* feat: add a new UI extension type: component

* tests: add tests for checking if it is a react component

* fix: remove reference to not existing type

* chore: update betterer results

* review: remove unnecessary override function for components

* review: use a single type notation in import

* review: stop exporting `PluginExtensionBase`

* refactor: make extension config types more explicit

By using some repetition now these types are much easier to oversee.
2023-05-31 09:26:37 +02:00
Andreas Christou
6b67bade55
AzureMonitor: Frontend cleanup (#66871)
* Remove unused mocks

* Remove time grain converter anys

* Improve mocks

- Add context mock
- Update datasource mock
- Add util functions

* Remove anys from log_analytics_test

* Improve response typing

* Remove redundant angular code

* Remove more anys

- Add Resource type

* More type updates

* Remove unused code and update arg ds test

* Remove old annotations test

* Remove unused code and update some more types

* Fix lint

* Fix lint
2023-05-26 16:30:46 +01:00
Nathan Marrs
f49b9b89cf
chore: high level restructure of canvas panel files (#69004) 2023-05-24 18:32:36 +02:00
Haris Rozajac
69c4da618c
Explore: Reorganized data viz components (#68510)
* Move logs-related files to its own folder; update ownership paths

* Fix failing tests

* Put Flame graph and Node graph related files into separate folders

* Put RawPrometheus related files into a separate folder

* Put Table related files into a separate folder

* Add owners to three visualization categories

* observability-logs team owns everything under logs

* Move logs utils to their separate folder under Logs
2023-05-23 07:42:38 -06:00
Andreas Christou
108acee08e
CloudMonitoring: Initial GCM Schema (#67739)
* Initial GCM schema work

- Split types for convenience
- Update conditionals where needed
- Update type references

* Add additional supporting types

* Add some more accessory and legacy types

* Add missing type

* Rename backend folder

* Add missing generated file

* Review
2023-05-22 17:19:54 +01:00
Ashley Harrison
e8ca3c0409
Chore: More typescript improvements 💪 (#68699)
* fix some anys

* some canvas/geomap improvements

* some more panel type fixes

* just omit the type in TagOption
2023-05-22 11:53:58 +01:00
Khushi Jain
416e347e70
Accessibility: Corrected aria-label for Edit Panel (#67185)
* Accessibility: Corrected aria-label for Edit Panel

* Added data-testid

* Added data-testid

* Added betterer results
2023-05-17 18:20:38 +03:00
Nathan Marrs
8390fcc80f
Chore: Remove alpha icon panel (#68573) 2023-05-16 10:32:25 -07:00
Andreas Christou
51c15f3a89
E2E: Fix configurePanel flow (#68487)
* Updates for new datasource picker

* Correct typing to ensure datasource selection

* Remove unused import

* Update labels

* Update labels and fix test

* Fix another test
2023-05-16 10:33:52 +01:00
Ashley Harrison
07c725800b
Chore: some minor type fixes (#68402)
* some minor type fixes

* undo card change
2023-05-15 09:15:26 +01:00
Leon Sorokin
ea0bf989cb
XYChart: Use fixed opacity, reduce memory pressure (#68423) 2023-05-12 18:56:12 -05:00
Torkel Ödegaard
c8fd3c20cd
NewsDrawer: Add grot to news drawer (after news items) (#68173)
* NewsDrawer: Add grot to drawer header

* Update

* Move to bottom

* Updates

* reverted unrelated change

* Update

* fixing test
2023-05-12 14:38:19 +00:00
Brendan O'Handley
1d710408df
add bug fix for multiple nested functions as params (#66882)
* add bug fix for multiple nested functions as params

* add types for parser (#67067)

* add types for parser

* add comment for future work

* handle any function with 2 seriesByTags func params, add test
2023-05-10 14:52:12 -04:00
kay delaney
7801cf6585
Dashboards: Only refresh panels on panel edit exit if refresh is set (#67652)
Closes #66838

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-05-10 14:12:55 +01:00
Ivana Huckova
d88da205f6
Elasticsearch: Migrate annotation calls to be run trough resources (#68075)
* Update

* Remove comment

* Add annotation to test dashboard

* Update devenv dashboard to correctly use textField
2023-05-10 09:30:57 +02:00
Torkel Ödegaard
32fafffed7
PanelQueryRunner: Return previous processed (transform+field config) series for loading state (#67768)
* Return same series for loading state

* Fix shared query issue

* include structureRev

* heatmap should depend on the series, not the wrapper

* fix more panels

* keep config for comparison

* fieldConfig.fieldConfig!

* cleanup

* cmon

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-05-07 15:21:40 +02:00
Ryan McKinley
854d497f94
Schema: Fix dimension schemas (#67935) 2023-05-05 12:16:31 -07:00
Torkel Ödegaard
ae1a85b5ad
Drawer: Position under nav & minor redesign (#67824)
* Drawer: Redesign WIP

* Fix double margin

* Teak pos

* align paddings

* Hide toolbar actions when drawer is open

* deprecate expandable

* Updated test

* remove expandable var

* Added clickaway
2023-05-05 17:00:33 +02:00
Karl Persson
e03a8b6826
BackendSrv: Restructure response stream to resolve a retried request correctly (#66095)
* BackendSrv: Restrucutre response stream to resolve a retried request
correctly

* BackendSrv: Get signed in property from user

* Fix test with correct number of calls

* To prevent retry we need to throw error

* Fix tests

* revert change

* Fixes to token rotation

* Align tests

* Remove commented out code

---------

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
Co-authored-by: Mihaly Gyongyosi <mgyongyosi@users.noreply.github.com>
2023-05-04 11:56:51 +02:00
Giordano Ricci
f03d0698d3
Explore: move panes into a keyed object (#66117) 2023-05-03 16:45:11 +01:00
Ivana Huckova
3bfb50f989
Elastic: Create legacy runner for proxy queries (#67397)
* Elastic: Rename request to legacy request and call directly

* Apply content header directly in request

* Move legacy running queries to legacyqueryrunner
2023-05-02 09:52:02 +02:00
Ryan McKinley
86302bc1ec
DataFrame: Deprecate MutableDataFrame (#67569) 2023-05-01 19:41:40 -07:00
Kuba Siemiatkowski
ba8bba78fc
Datasource: Move the Delete data source button back to the bottom (#67552)
* - move delete button back to the lower section

* - remove the top Delete button

* - fix e2e tests
2023-05-01 12:16:16 +02:00
Shirley
8516e63937
CloudWatch: Deprecate dynamic labels feature toggle, remove support for Alias in frontend (#67222) 2023-05-01 11:10:36 +03:00
Kuba Siemiatkowski
f8faacd54a
Datasource: Overhaul plugin error handling and action buttons (#67014)
* - initial work on data source config page

* - add links to test status box
- add tracking function

* - add test for the DataSourceConfigAlert component

* - fix flicker of the alert box

* - fix the build

* - small improvements

* - fix failing build

* - fix failing unit tests

* - prettier and betterer fixes

* - fix failing e2e tests

* - fix build again

* - rewrite solution according to the PR comments

* - cleanup

* - fix failing e2e

* - use absolute path in link

* Minor fixes

---------

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-04-28 15:57:17 +02:00
Laura Fernández
fe59b65f9e
Grafana UI: Create Text component (#66932) 2023-04-28 15:31:40 +02:00
Esteban Beltran
50fb1497e5
Toolkit: Remove deprecated plugin:build (#67485)
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2023-04-28 14:33:16 +02:00
Esteban Beltran
0ec40a51eb
Toolkit: Remove deprecated package:build, node-version-check and toolkit:build commands (#67475) 2023-04-28 11:53:23 +03:00
Esteban Beltran
82838a2176
Toolkit: Remove deprecated plugin:github-publish command (#67471) 2023-04-28 09:54:16 +02:00
Ryan McKinley
8352e716dd
ArrayDataFrame: Convert to a simple utility function rather than dynamically loaded values (#67427) 2023-04-27 12:38:19 -07:00
Andreas Christou
63383ef545
AzureMonitor: Application Insights Traces (#64859)
* Build out barebones Traces editor

- Add Traces query type and operation ID prop to query type
- Add necessary header types
- Update resource picker to appropriately work with traces query type
- Build out TracesQueryEditor component
- Include logic to retrieve operationId's for AI Workspaces
- Add backend route mapping
- Update macro to use timestamp as default time field for traces

* AzureMonitor: Traces - Response parsing (#65442)

* Update FormatAsField component

- Add trace ResultFormat type
- Generalise FormatAsField component
- Add component to TracesQueryEditor
- Remove duplicate code in setQueryValue

* Add custom filter function to improve performance

* Add basic conversion for logs to trace

- Add serviceTags converter
- Pass through required parameters (queryType and resultFormat)
- Appropriately set visualisation

* Update parsing to also fill trace tags

- Add constant values for each table schema (include legacy mapping for now if needed)
- Add constant for list of table tags
- Set the foundation for dynamic query building
- Update query to build tags value
- Appropriately set operationName
- Update tagsConverter to filter empty values

* Fix lint and test issues

* AzureMonitor: Traces - Data links (#65566)

* Add portal link for traces

- Pull out necessary values (itemId and itemType)
- Appropriately construct
- Fix ordering

* Set default format as value

- Also set default visualisation

* Fix event schema

* Set default formatAsField value

* Include logs link on traces results

- Adapt config links to allow custom title to be set

* Correctly set operationId for query

* Update backend types

- Include OperationID in query
- Pass forward datasource name and UID

* Ensure setTime doesn't consistently get called if operationID is defined

* Add explore link

- Update util functions to allow setting custom datalinks

* Fix tests

* AzureMonitor: Traces - Query and Editor updates (#66076)

* Add initial query

- Will query the resource as soon as a resource has been selected
- Updates the data links for the query without operationId
- Remove initial operationId query and timeRange dependency
- Update query building

* Add entirely separate traces query property

- Update shared types (also including future types for Azure traces)
- Update backend log analytics datasource to accept both azureLogAnalytics and azureTraces queries
- Update backend specific types
- Update frontend datasource for new properties
- Update mock query

* Update FormatAsField to be entirely generic

* Update query building to be done in backend

- Add required mappings in backend
- Update frontend querying

* Fix query and explore data link

* Add trace type selection

* Better method for setting explore link

* Fix operationId updating

* Run go mod tidy

* Unnecessary changes

* Fix tests

* AzureMonitor: Traces - Add correlation API support (#65855)

Add correlation API support

- Add necessary types
- Add correlation API request when conditions are met
- Update query

* Fix property from merge

* AzureMonitor: Traces - Filtering (#66303)

* Add initial query

- Will query the resource as soon as a resource has been selected
- Updates the data links for the query without operationId
- Remove initial operationId query and timeRange dependency
- Update query building

* Add entirely separate traces query property

- Update shared types (also including future types for Azure traces)
- Update backend log analytics datasource to accept both azureLogAnalytics and azureTraces queries
- Update backend specific types
- Update frontend datasource for new properties
- Update mock query

* Update FormatAsField to be entirely generic

* Update query building to be done in backend

- Add required mappings in backend
- Update frontend querying

* Fix query and explore data link

* Add trace type selection

* Better method for setting explore link

* Fix operationId updating

* Run go mod tidy

* Unnecessary changes

* Fix tests

* Start building out Filters component

- Configure component to query for Filter property values when a filter property is set
- Add setFilters function
- Add typing to tablesSchema
- Use component in TracesQueryEditor

* Update Filters

- Asynchronously pull property options
- Setup list of Filter components

* Update filters component

- Remove unused imports
- Have local filters state and query filters
- Correctly set filters values
- Don't update query every time a filter property changes (not performant)

* Update properties query

- Use current timeRange
- Get count to provide informative labels

* Reset map when time changes

* Add operation selection

* Reset filters when property changes

* Appropriate label name for empty values

* Add filtering to query

* Update filter components

- Fix rendering issue
- Correctly compare and update timeRange
- Split out files for simplicity

* Add checkbox option to multiselect

- Add custom option component
- Correctly call onChange
- Add variableOptionGroup for template variable selection

* Fix adding template vars

* Improve labels and refresh labels on query prop changes

* AzureMonitor: Traces - Testing (#66474)

* Select ds for template variable interpolation

* Update az logs ds tests

- Add templateVariables test
- Add filter test
- Update mock
- Remove anys

* Update QueryEditor test

- Update mocks with timeSrv for log analytics datasource
- Fix query mock
- Use appropriate and consistent selectors

* Add TracesQueryEditor test

- Update resourcePickerRows mock to include app insights resources
- Remove comments and extra new line

* Add FormatAsField test

- Remove unneeded condition

* Update resourcePicker utils test

* Don't hide selected options in filters

* Fix multi-selection on filters

* Add TraceTypeField test

- Add test file
- Update selectors (remove copy/paste mistake)
- Update placeholder text for select and add label

* Add basic filters test

* Begin filters test

* Update filters test

* Add final tests and simplify/generalise addFilter helper

* Minor update to datasource test

* Update macros test

* Update selectors in tests

* Add response-table-frame tests

* Add datasource tests

- Use sorting where JSON models are inconsistent
- Update filters clause
- Dedupe tags
- Correct operationId conditions

* Don't set a default value for blurInputOnSelect

* Simplify datasource test

* Update to use CheckGoldenJSON utils

- Update with generated frame files
- Remove redundant expected frame code
- Update all usages

* Fix lint

* AzureMonitor: Traces feedback (#67292)

* Filter traces if the visualisation is set to trace

- Update build query logic
- Added additional test cases
- Return an error if the traces type is set by itself with the trace visualisation
- Add descriptions to event types
- Update tests

* Fix bug for error displaying traces

* Update mappings and add error field

- Update tests
- Remove unnecessary comments

* Switch location of Operation ID field

* Re-order fields

* Update link title

* Update label for event type selection

* Update correct link title

* Update logs datalink to link to Azure Logs in explore

* Fix lint
2023-04-27 20:24:11 +01:00
Brendan O'Handley
0a9240aeba
Prometheus: Configuration page overhaul (#66198)
* organize layout, make design uniform, add doc link

* fix e2e test

* move overhauled config parts into prometheus code

* update tooltips with doc links

* clean component styles for section padding, top and bottom 32px

* make additional settings subsection headers h6

* use secondary gray for section descriptions

* fix merge issues

* change inlineswitch to switch only in prom settings because the other components are shared

* remove legacy formfield and input, replace with inlinefield and input from grafana-ui

* find more formfield and UI design fixes like changing inlineformlabel to inlinefield

* remove unused inline form label

* replace legacy duration validations with <FieldValidationMessage>

* fix styles secondary gray from theme

* change language, headings and datasource -> data source

* update alert setting styles with new component

* update prom url heading and tooltip

* update default editor tooltip and set builder as default editor

* update interval tooltip

* update prom type tooltip

* update custom query params tooltip

* update exemplar internal link tooltip

* fix inline form styling inconsistency

* allow for using the DataSourceHTTPSettings component without the connection string

* remove overhaul component, re-use dshtttps comp, and use connection input in config editor

* make tooltips interactive to click links

* consistent label width across the elements we can control for now, fix exemplar switch

* make connection url a component

* refactor onBlur validation

* remove unused component

* add tests for config validations

* add more meaningful health check

* fix e2e test

* fix e2e test

* fix e2e test

* add error handling for more url errors

* remove unnecessary conversion

* health check tests

* Clean up the health check

* health check unit tests

* health check unit tests improved

* make pretty for drone

* lint check go

* lint check go

* add required attr to connection component

* Update public/app/plugins/datasource/prometheus/configuration/Connection.tsx

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

* fix read only issue for provisioned datasources

* validate multiple durations for incremental query setting

* use sentence case for headers

* use className consistently for styles

* add tests for url regex

* remove console logs

* only use query as healthcheck as the healthy api is not supported by Mimir

* fix exemplar e2e test

* remove overhaul prop from custom headers setting component

* remove connection section and use DatasourceHttpSettings connection with custom label and interactive tooltip

* add spaces back

* spaces

---------

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2023-04-27 09:43:54 -04:00
Adela Almasan
2beee35567
Timeseries: Time regions migration (#66998)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-04-27 05:28:58 +03:00
Esteban Beltran
22713186cb
Toolkit: Remove plugin:ci-build plugin:ci-package plugin:ci-report and related files (#67212) 2023-04-26 15:01:32 +02:00