115 Commits

Author SHA1 Message Date
ee05e3675a Alerting: Fixes Alert list panel "ungrouped" regression (#68018) 2023-05-09 15:18:38 +02:00
b5fbce50b3 Alerting:Fix alert panel not rendering correct number for cloud rules instances (#67487)
Fix alert panel not rendering correct number for cloud rules instances
2023-04-28 12:50:29 +02: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
9f1fe51edc Alerting: Fix filtering when panel variables are in use (#66977)
Fix alert instances filtering when panel variables are in use
2023-04-21 12:07:06 +02:00
008bf143ac Alerting: Add label filters to the logic of showing hidden instances (#65674)
* Add label filters to the logic of showing hidden instances

Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com>

* Add tests

Co-Authored-By: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>

---------

Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com>
2023-04-03 15:39:06 +02: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
9765c98b3d Alerting: Fix UI crashing when selecting custom grouping in alert panel (#64124)
Fix UI crashing when selecting custom grouping in alert panel
2023-03-03 06:59:36 -05:00
a41e9b2dc7 Alerting: Create alert link from dashboard alerting panel (#63648)
* WIP

* feat: update CSS for long names

also adds broken href, to fix later

* Create correct link using CombinedRules

* Use link instead of button for alert link

* Updates from PR review

* Handle loading,haveResults and dispatched state for both promRules and rulerRules

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-02-27 15:24:58 +01:00
5f35995cd4 Alerting: Fix available labels in the alert panel groupby dropdown (#63573) 2023-02-27 14:48:05 +01:00
4a2695349d Chore: more ts test fixes (#63438)
* replace anys in tests

* more test fixes

* clean up any's in tests
2023-02-23 10:07:44 +00:00
53a8998c85 Alerting: a11y improvements (#63072) 2023-02-10 10:23:40 +01:00
48fbe51d37 Chore: Avoid FC in canvas elements and dimension editors (#61014) 2023-01-05 09:55:55 -08:00
Leo
27b6b3b3bd Folder: Replace folderId with folderUid (#58393)
* support folderuid in FolderPicker

* support folderuid in unified alerting

* support folderuid when returning to view mode after editing a panel

* support folderuid when preselecting the folderpicker in dashboard general settings

* support folderuid when saving dashboard

* support folderuid when pre-selecting folderpicker in dashboard form

* support folderuid in routes when loading a dashboard

* support folderuid when saving dashboard json

* support folderuid when validating new dashboard name

* support folderuid when moving dashboard to another folder

* support folderuid on dashboard action buttons

* support folderuid when creating a new dashboard on an empty folder

* support folderuid when showing library panel modal

* support folderuid when saving library panel

* support folderuid when importing dashboard

* fixed broken tests

* use folderuid when importing dashboards

* remove commented line

* fix typo when comparing uid values
2022-11-17 09:22:57 +01:00
05ceff5188 Chore: Migrate usage of v1 themes to v2 (#57617) 2022-10-26 13:28:12 +01:00
9d0380cbdd Alerting: Fix folder picker clear action (#56864) 2022-10-14 08:48:05 +02:00
48f0f4bb91 Alerting: subscribe to Dashboard refresh interval for alert panels (#56347)
* Subscribe to Dashboard refresh interval for alert panels

* Add test

* Remove unused import

* Use useEffectOnce when obtaining dashboard
2022-10-06 12:02:19 -03:00
64bbb7a7ce Chore: Update and enforce usage of typed react-redux hooks (#55349)
* Chore: Update and enforce usage of typed react-redux hooks
2022-09-19 10:49:35 +01:00
509e34cfe7 Alert list panel: Add view mode "Stat" (#53281)
* add stat mode

* remove unused import
2022-08-09 16:37:09 +02:00
0507b3564f Alerting: Fix alert panel instance-based rules filtering (#52583) 2022-07-22 12:52:56 +02:00
765b995b1b Alerting: Alert rules pagination (#50612) 2022-06-22 11:33:39 +02:00
ab4171770e Alerting: Unify alert status labels on the alert list panel (#50240)
We do not use the "Inactive" state anywhere in the alerting product, this PR removes the Inactive state filter and instead uses the "Normal" state filter. Backwards compatibility has been added to the alert list panel.

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2022-06-09 10:58:57 +02:00
b1e1a97c63 Alerting: Make folder filter clearable in Alert list panel (#50093) 2022-06-03 15:43:29 +02:00
5191870c24 Alerting: Fix alert list panel showing firing alerts with no instances (#50069) 2022-06-02 15:44:03 +02:00
4c28d09d6d Alerting: Add fgac support to alert list panel (#47934)
* Add fgac support to alert list panel

* Fix typo

* test: fix test suite for UnifiedAlertStatesWorker

* Update worker permission check

* Update alert worker tests

Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
2022-05-31 14:27:08 +02:00
1cc034d960 Alerting: Add a "Reason" to Alert Instances to show underlying cause of state. (#49259)
This change adds a field to state.State and models.AlertInstance
that indicate the "Reason" that an instance has its current state. This
helps us account for cases where the state is "Normal" but the
underlying evaluation returned "NoData" or "Error", for example.

Fixes #42606

Signed-off-by: Joe Blubaugh <joe.blubaugh@grafana.com>
2022-05-23 16:49:49 +08:00
06d3c27bc1 Select: Portal menu by default (#48176)
* Remove menuShouldPortal from all <Select /> components

* fix unit tests

* leave menuShouldPortal as an escape hatch

* Fix import order
2022-05-04 15:12:59 +01:00
3c6e0e8ef8 Chore: ESlint import order (#44959)
* Add and configure eslint-plugin-import

* Fix the lint:ts npm command

* Autofix + prettier all the files

* Manually fix remaining files

* Move jquery code in jest-setup to external file to safely reorder imports

* Resolve issue caused by circular dependencies within Prometheus

* Update .betterer.results

* Fix missing // @ts-ignore

* ignore iconBundle.ts

* Fix missing // @ts-ignore
2022-04-22 14:33:13 +01:00
459c64fd44 Alerting: adds variable replacement to panel filters (#47962) 2022-04-20 16:29:55 +02:00
c1a0c2664c Alerting: add custom grouping to Alert Panel (#44559)
Co-authored-by: Peter Holmberg <peterholmberg@users.noreply.github.com>
2022-02-03 19:07:27 +01:00
890c43adf1 UI/Card: Refactor Card component for improved accessibility (#41890)
* UI/Card: Improve accessibility of Card component

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2022-01-06 15:48:12 +00:00
187a8703c8 Alerting: Add filters for AlertList panel (#43130)
* add state filters for prom alerts

* combine state filters

* add datasource filter for panel

* remove duplicate state check

* show only prom, loki, and grafana datasources
2021-12-16 10:17:24 -08:00
62c20ebd77 Alerting: Add label and state filters to alert instance components (#42550) 2021-12-13 11:54:36 +01:00
cb7e047c68 Alerting: Fix refresh on legacy Alert List panel (#42322) 2021-11-29 10:22:47 +01:00
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
7c7b21b39e DashboardList/AlertList: Fix for missing All folder value (#39772)
* DashboardList/AlertList: Fix for missing All folder value

* Refactor: Fixes case where folder does not exist in results
2021-10-01 06:20:25 +02:00
012d4f0905 Alerting: Remove ngalert feature toggle and introduce two new settings for enabling Grafana 8 alerts and disabling them for specific organisations (#38746)
* Remove `ngalert` feature toggle

* Update frontend

Remove all references of ngalert feature toggle

* Update docs

* Disable unified alerting for specific orgs

* Add backend tests

* Apply suggestions from code review

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

* Disabled unified alerting by default

* Ensure backward compatibility with old ngalert feature toggle

* Apply suggestions from code review

Co-authored-by: gotjosh <josue@grafana.com>
2021-09-29 16:16:40 +02:00
27b7c35ccc add defaults to alert list migration handler (#36547) 2021-07-19 12:25:53 +03:00
5ac2a7cca6 AlertList: make sure we sort the alert list when displayed in "recent state changes" mode. (#35544) 2021-06-11 09:18:35 +02:00
7dd5a065ba Alerting: New alert list panel component (#34614) 2021-05-31 14:08:05 +02:00
bad048b7ba Performance: Standardize lodash imports to use destructured members (#33040)
* Performance: Standardize lodash imports to use destructured members
Changes lodash imports of the form `import x from 'lodash/x'` to
`import { x } from 'lodash'` to reduce bundle size.

* Remove unnecessary _ import from Graph component

* Enforce lodash import style

* Fix remaining lodash imports
2021-04-21 09:38:00 +02:00
34b4f7c717 Chore: Reduces strict errors (#33012)
* Chore: reduces strict error in OptionPicker tests

* Chore: reduces strict errors in FormDropdownCtrl

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

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

* Chore: lowers strict count limit

* Tests: updates snapshots

* Tests: updates snapshots

* Chore: updates after PR comments

* Refactor: removes throw and changes signature for DashboardSrv.getCurrent
2021-04-15 14:21:06 +02:00
10badea19e Emotion: Upgrades emotion from 10 to 11 and updates all import paths (#32541)
* Babel: Updates babel dependencies to latest version

* Emotion: Upgrade form 10 to 11

* Fixing tests

* Updated to use emotion/css instead in test
2021-04-01 14:15:23 +02:00
48d2dff987 Migration/AlertList: Migrates AlertList from AngularJS to React (#31872)
* Migration/AlertList: Migrates AlertList from AngularJS to React
2021-03-11 14:53:13 +00:00
1d689888b0 Prettier: Upgrade to 2 (#30387)
* Updated package json but not updated source files

* Update eslint plugin

* updated files
2021-01-20 07:59:48 +01:00
d0f52d5334 AlertListPanel: Add options to sort by Time(asc) and Time(desc) (#29764)
This also makes all the sortOrderOptions available when using
the "changes" showOption.

Resolves: #29156
2020-12-11 06:57:08 +01:00
6d0a98b249 Plugins: Changed alertlist alert url to view instead of edit (#29060) 2020-11-18 20:15:26 +01:00
7e8bd0c1b7 Chore: Fix typescript strict null errors from 674 -> 565 (#26057)
* Chore: Fix typescript strict null errors

* Added new limit

* Fixed ts issue

* fixed tests

* trying to fix type inference

* Fixing more ts errors

* Revert tsconfig option

* Fix

* Fixed code

* More fixes

* fix tests

* Updated snapshot
2020-07-06 21:16:27 +02:00
c0762b6ddc Chore: reduce null check errors/warnigns (#25223)
* fix a few null errors

* more

* flip logic

* merge master

* more

* fewer changes

* processor

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2020-07-03 17:49:29 +02:00
63d25944c4 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
2020-05-08 12:40:42 +02:00