188 Commits

Author SHA1 Message Date
a00d7770bc Alerting: Show disabled provisioned evaluation group (#69932) 2023-06-13 11:26:01 +02:00
848eb01a89 Alerting: Fix broken UI because of query being optional for some ExpressionQuer… (#69650)
* Fix broken UI because of query being optional for some ExpressionQuery coditions field

* Delete query field from conditions in utils.test.ts
2023-06-07 10:58:08 +02:00
e796063a1e Alerting: Reorder new alert and export buttons (#68418)
* Add component for rule creation and dropdown

* Make each route type have a different path

* Remove unneeded import

* Fix tests

* Rename CreateRuleButton to MoreActionRuleButtons

* Remove Recording Rule option from new rule form

* Use alerting and recording for path params on new rules

* Fix tests

* Only show new button if permissions are granted

* Fix tests
2023-05-31 10:56:54 -03:00
ce0c1f0b0b Alerting: Prevent assigning duplicated query/expression names (#68664)
Prevent assigning duplicate query/expression names
2023-05-30 10:52:21 -03:00
b37a6e9d4c Alerting: Fix stale query preview error (#68619)
* Use mutable ref to keep queries to be previewed to prevent stale state

* Extract code related to AlertQueryRunner to a separate hook

* Use hooks form state to keep fresh queries, fix recording rules preview

* Remove unused import

* Update query update explanation
2023-05-22 16:23:30 +02:00
debf04eb2c Modals: Be more consistent with Modal cancel button styling (#68302)
* Modals: Be more consistent with Modal cancel button styling

* Update docs

* Fix tests

* fixing tests
2023-05-12 09:21:07 +02:00
c67bafbd5a Alerting: Survey changes (#68043)
* Track alert rule list navigation

* Change min user creation date to 7 days

* Fix tests
2023-05-10 13:26:57 -03:00
29801a5ec0 Alerting: Fix condition on invalid interval dropdown (#68024)
Fix condiiton on invalid interval dropdown
2023-05-08 14:24:57 -03:00
49ff85ef54 Alerting: Fix action buttons label and placement in several views following standard and being consistent with the rest of the ui (#67799)
* Fix action buttons label and placement in several views following standard and being consistent with the rest of the ui

* Update public/app/features/alerting/unified/components/mute-timings/MuteTimingForm.tsx

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>

* Fix secondary buttons to not have outline

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-05-04 17:05:26 +02:00
3c42dea10b Alerting: Use standard validation/error pattern on group selection (#67787) 2023-05-04 14:30:25 +02:00
c378dbb01b AlertRuleForm: s/Edit yaml/Edit YAML/ (#67714)
YAML is an acronym and should be uppercased when used in texts.

Signed-off-by: Oleg Zaytsev <mail@olegzaytsev.com>
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-05-03 18:57:18 +03:00
b94fceddad Alerting: Make Loki & Prometheus instant vector by default (#66797)
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2023-04-27 17:38:22 +03:00
64ee42d01e Alerting: Add limits and move state and label matching filters to the BE (#66267)
* WIP

* Add instance totals to combined rule. Use totals to display instances stats in the UI

* WIP

* add global summaries, fix TS errors

* fix useCombined test

* fix test

* use activeAt from rule when available

* Fix NaN in global stats

* Add no data total to global summary

* Add totals recalculation for filtered rules

* Fix instances totals, remove instances filtering from alert list view

* Update tests

* Fetch alerts considering filtering label matchers

* WIP - Fetch alerts appending state filter to endpoint

* Fix multiple values for state in request being applyied

* fix test

* Calculate hidden by for grafana managed alerts

* Use INSTANCES_DISPLAY_LIMIT constant for limiting alert instances instead of 1

* Rename matchers parameter according to API changes

* Fix calculating total number of grafana instances

* Rename matcher prop after previous change

* Display button to remove max instances limit

* Change matcher query param to be an array of strings

* Add test for paramsWithMatcherAndState method

* Refactor matcher to be an string array to be consistent with state

* Use matcher query string as matcher object type (encoded JSON)

* Avoind encoding matcher parameters twice

* fix tests

* Enable toggle for the limit/show all button and restore limit and filters when we come back from custom view

* Move getMatcherListFromString method to utils/alertmanager.ts

* Fix limit toggle button being shown when it's not necessary

* Use filteredTotals from be response to calculate hidden by count

* Fix variables not being replaced correctly

* Fix total shown to be all the instances filtered without limits

* Adress some PR review comments

* Move paramsWithMatcherAndState inside prometheusUrlBuilder method

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com>
2023-04-25 11:19:20 +02:00
5d7433d820 RBAC: Make access control metadata for folders work with nested folders (#66464)
* remove metadata for single folder listing

* extendTests

* remove ac metadata from dash and folder search results

* remove test

* remove one more test

* put ac metadata back for single folder API responses

* extend tests

* remove ac metadata from folder frontend object

* undo unneeded change

* PR feedback

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2023-04-21 15:05:11 +01:00
607b94aaa2 FieldValues: Use standard array functions (#67012) 2023-04-20 22:03:38 -07:00
b24ba7b7ae FieldValues: Use plain arrays instead of Vector (part 3 of 2) (#66612)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-04-20 17:59:18 +03:00
2991d4c213 Alerting: Fix creating a recording rule when having multiple datasources (#66415)
Fix creating recording rules when having multiple datasources
2023-04-13 11:58:59 +02:00
3e12b72f58 Alerting: Fix docs link when creating or editing rules (#66019) 2023-04-07 11:31:18 +00:00
402649bae0 Alerting: skip flakey test (#65858)
this one was unskipped but seems to still be flakey
2023-04-03 18:30:54 +03:00
bde77e4f79 Alerting: Disable alerting incompatible panels in the dashboard picker (#65341)
* Hide dashboard hint when dashboard already selected

* Disable panels of types other than graph and timeseries

* Add a test checking disabled panels

* Make all panels selectable

* Fix tests
2023-04-03 10:01:30 +02:00
98e66654d6 Chore: Some type fixes needed for react 18 (#65600)
some type fixes needed for react 18
2023-03-30 13:40:18 +01:00
2b59d1abb6 Alerting: Improve query types usage to prevent ts-errors (#65238)
* Improve query types usage to prevent ts errors

* Detect whether a query's model is Prom or Loki using helper function

* Fix lint errors
2023-03-29 15:42:47 -03:00
54d7e95be1 Alerting: Fix wrong text in step4 (#65279)
* Fix wrong text in step4

* Add link to documentation for annotations in grafana alerts and cloud alerts
2023-03-27 15:28:20 +02:00
d13488a435 NestedFolders: Show nested folders in Browse folder view (#63746)
* dirty dirty code for showing nested folders in folder view

refactor to NestedFolderItem

Update dashboard grid view to new types

update tests

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

Squashed commit of the following:

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

    undo async

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

    Dashboards: Star dashboards by UID

add type for dashboard search dto

clean DashboardSearchItem type

simplify DashboardSearchHit type

remove unused properties from DashboardSearchHit

make uid non-optional

rename + move NestedFolderItem type to DashboardViewItem

clean up

* wip

* fix checkbox selection of nested folders

* show folder's parent correctly

* Add dashboard result kind

* don't render folder empty view in SearchView

* call nested folders api only if feature flag enabled

* remove unused import

* un-rename variable to reduce PR diff

* fix typo in comment

* fix order of pseudoFolders

* Fix General folder not showing in browse

* rename folder view tests

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-03-23 13:28:45 +00:00
a1fc515c88 Alerting: Enable preview for recording rules (#63260)
* Create RecordingRuleEditor component

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

* Set recording rules queries as a new state prop

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

* Show CloudRulesSourcePicker only for Loki/Mimir rules

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

* Fix lint and tests

* Fix saving a recording rule

* Show expression when editing the recording rule

* Show query editor back for cloud rules

* Fix duplicated import

* Tweak after rebase

* Remove ts-ignore

* Refactor to use queries state instead of recordingRuleQueries

* Refacrtor RecordingRuleEditor to use ds QueryEditor

* Revert extra properties previously added to QueryEditor components

* Remove console.log

* Fix saving/editing a recording rule

* Fix tests

* Add margin to vizwrapper component
2023-03-22 09:21:15 -03:00
59bc66f0ef Alerting: Normalize border-radius usage (#64613) 2023-03-20 07:54:50 +01:00
d710507bc5 Chore: Avoid explicit React.FC<Props> when possible (#64722) 2023-03-14 16:38:21 +02:00
c363a81806 Dashboards: Filter out expressions when going to Explore (#64654)
* Filter out expressions when going from dashboard to explore

* Move expression UID constant to types
2023-03-13 07:53:19 -05:00
548a5054ad Table: Introduce sparkline cell type (#63182) 2023-03-10 14:41:06 +02:00
11bc66a0e8 Chore: use React.PropsWithChildren to explicitly define the children prop (#64433)
* use React.PropsWithChildren to explicitly define the children prop

* fix ThemeDemo as well

* provide empty generics
2023-03-08 16:12:54 +00:00
282d021c53 Revert "Alerting: Fix alert form broken coming from panel (#64148)" (#64240) 2023-03-06 16:31:03 +01:00
a669b72641 Alerting: Fix alert form broken coming from panel (#64148)
Fix alert form broken coming from panel
2023-03-06 09:06:24 +01:00
a91e0a49c9 Migrate table to cue model (#61852)
* WIP table cue model

* WIP table types migration

* refactor

* WIP table cue

* docs

* veneer fix, docs

* docs
2023-03-01 17:48:36 +02:00
526cac60e5 Alerting: Fix AlertLabelDropdown to be case sensitive (#63787)
Fix AlertLabelDropdown to be case sensitive
2023-02-28 09:53:33 +01:00
2eba37b95b Alerting: Prevent resetting the form on evaluation group interval change (#63763)
Prevent resetting the form on evaluateEvery change
2023-02-27 09:54:34 -03:00
b42f973a7a Alerting: Fix changing datasource and creating new query not using defaults. (#63092)
* Set default query when changing data source or adding new alert query

* Set default query when creating new alert rule

* Set fefault query for cloud and recording rules

* Create hook for getting defaults in AlertRuleForm

* fixing tests

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

* Add loading indicator for default queries

* Fix tests

* Make newModel a sync method and fix tests error

* Use useAsync instead of useEffect for an async call
2023-02-24 13:43:54 +01:00
69b2aade1b Alerting: Make the folder field read-only on the eval group modal (#62935)
* Make the folder field read-only on the eval group modal

* Code cleanup

* Use useCombinedRuleNamespace to simplify groups fetching

* Fix groups filtering and label

* Revert go test changes, add folder button title

* Revert go changes

* Remove folder link when no url provided, fix messages

* Fix tests

* Fix lint
2023-02-20 08:47:50 +01:00
53a8998c85 Alerting: a11y improvements (#63072) 2023-02-10 10:23:40 +01:00
b8e7ef48d0 AppChrome: Unify logic for chromeless pages that should not have NavBar, CommandPalette, Search etc (#62281)
* Keybindings: No global keybindings on chromeless pages

* simplify condition

* Refactoring

* Align name and file

* Move logic into AppChrome

* minor fix

* Update Page.tsx

* Fixing test

* Fixed tests

* More fixes

* Fixed more tests

* Fixing final test

* Fixed search in old nav
2023-02-02 09:53:06 +01:00
53945afedf Alerting: Allow alert rule pausing from API (#62326)
* Add is_paused attr to the POST alert rule group endpoint

* Add is_paused to alerting API POST alert rule group

* Fixed tests

* Add is_paused to alerting gettable endpoints

* Fix integration tests

* Alerting: allow to pause existing rules (#62401)

* Display Pause Rule switch in Editing Rule form

* add isPaused property to form interface and dto

* map isPaused prop with is_paused value from DTO

Also update test snapshots

* Append '(Paused)' text on alert list state column when appropriate

* Change Switch styles according to discussion with UX

Also adding a tooltip with info what this means

* Adjust styles

* Fix alignment and isPaused type definition

Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>

* Fix test

* Fix test

* Fix RuleList test

---------

Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>

* wip

* Fix tests and add comments to clarify AlertRuleWithOptionals

* Fix one more test

* Fix tests

* Fix typo in comment

* Fix alert rule(s) cannot be paused via API

* Add integration tests for alerting api pausing flow

* Remove duplicated integration test

---------

Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com>
Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
Co-authored-by: George Robinson <george.robinson@grafana.com>
2023-02-01 13:15:03 +01:00
c0865c863d Alerting: Show 'start typing' message in evaluation group folder in case of empty options. (#62611)
Show start typing message in evaluation group folder in case of empty options
2023-02-01 12:20:57 +01:00
91221bc436 Expressions: Fixes the issue showing expressions editor (#62510)
* Use suggested value for uid

* update the snapshot

* use __expr__

* replace all -100 with __expr__

* update snapshot

* more changes

* revert redundant change

* Use expr.DatasourceUID where it's possible

* generate files
2023-01-31 18:50:10 +01:00
a20d1eec32 Alerting: validate alert condition on saving rule (#61958)
* Validate alert condition on saving rule

* Remove unused const
2023-01-26 09:27:08 -03:00
dbdd135298 Alerting: Fix recording rules showing alert notification information. (#61988)
* Fix recording rules form steps not showing alert information

* Fix docs about creating cloud and recording rules

* Update docs with suggested changes
2023-01-25 08:26:51 +00:00
3b73b16245 Alerting: Add maxdatapoints in alert rule form (#61904)
Add maxdatapoints in alert rule form
2023-01-24 09:16:21 +01:00
a6102105af Alerting: Fix QueryAndExpressionStep not using the right query (#61738)
Fix QueryAndExpressionStep not using the right query
2023-01-19 17:33:32 +01:00
f2d4e24710 Alerting: improve FolderPicker and Evaluation Group Select for Huge lists (#61221)
* Add AsyncVirtualizedSelect component in grafana-ui

* Slice FolderPicker results to 1k and virtualize list using AsyncVirtualizedSelect

* Group list in alert form: Use AsyncSelect and slice results to 1000

* Virtualize and slice always in FolderPicker: set default sliceResults value and let consumers change this value

* Always slice results in FolderPicker

* Limit folder results setting the limit in the api call instead slicing in the FE

* Remove warning about the limit in the Select label
2023-01-12 11:45:03 +01:00
f7ae909324 Alerting: Fix General folder being added in alerting FolderPicker (#61277)
Fix General folder being added in alerting FolderPicker
2023-01-11 15:35:47 +01:00
b633d5395d Bugfix: Prevent previous query editor to set default values when changing data source (#60218)
* Fixed issue where the query editor of the previous ds sets default values on query passed to the query editor of the next ds.

* Fixed issue with changing data source for query in Alerting.

* Will apply default values from DS if available.

* Fix failing tests.

* fixed spell error.

* reverted getDefaultQuery call so it can be added in a separate PR.
2023-01-11 14:06:33 +01:00
e9fe9baf66 Alerting: Improve threshold displays (#60046) 2022-12-22 16:28:17 +01:00