* Remove helper properties from the AM config object
* Make the omitTemporaryIdentifiers a pure function
* Add formValuesToCloudReceiver test
* Remove immer produce to prevent object freezing
* Add filtering by dashboard UID annotation
* Update the inline doc for search
* Add AlertRulesDrawer to the dashboards toolbar
* Use DashboardPicker as a filter on the alert rules page
* Fix accessibility errors
* Update drawer subtitle
* Display Alerting toolbar button only if there are linked alert rules
* Change toolbar rendering method, prevent displaying when no linked rules
* Improve text
* Use React.lazy to load the Alert rule toolbar button and drawer when needed
* Add interactive mode to the Badge component
* Add expression errors as Alert components instead of badges
* Revert "Add interactive mode to the Badge component"
This reverts commit 9558743fc7.
* Basic implementation in web worker
* Move instances discovery to the worker
* Remove filtering from the worker
* Use normalized routes, use rtk query for alert groups fetching
* Reorganize matchers utilities to be available for web workers
* Move object matchers to the machers util file, rename worker
* Move worker code to a separate hook, add perf logging
* Add a mock for the web worker code, fix tests
* Fix tests warnings
* Remove notification policy feature flag
* Add normalizeRoute tests, change the regex match to test for label matching
* Move worker init to the file scope
* Simplify useAsyncFn hook
* Use CorsWorker as a workaround for web workers loading from CDN
* Use a feature flag to enable/disable worker-based preview, add worker error handling
* Add POC for react-enable working with grafana feature toggles
* Code cleanup
* Remove console error, add useRouteGroupsMatcher tests
* Fix tests mock
* 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
* Basic implementation in web worker
* Move instances discovery to the worker
* Remove filtering from the worker
* Use normalized routes, use rtk query for alert groups fetching
* Reorganize matchers utilities to be available for web workers
* Move object matchers to the machers util file, rename worker
* Move worker code to a separate hook, add perf logging
* Add a mock for the web worker code, fix tests
* Fix tests warnings
* Remove notification policy feature flag
* Add normalizeRoute tests, change the regex match to test for label matching
* Move worker init to the file scope
* Simplify useAsyncFn hook
* Use alertmanager /alerts endpoint to show preview of instances affected by silence
* Fix debounce dependency, add no instances warning
* Rename silences preview component
* Fix the preview file name, use IsNulLDate to check the date
* Fix valid matchers condition
* Cleanup
* Remove unused code
* adds alertstatehistory backend config to grafanaBootData
* add alertStateHistory api
* show different ASH modal when using loki implementation
* group log lines by instance (unique set of labels)
Co-Authored-By: Konrad Lalik <konrad.lalik@grafana.com>
* render log lines for each instance
Co-Authored-By: Konrad Lalik <konrad.lalik@grafana.com>
* Add visual improvements to the log record of state changes
* Add values to log records
* compute common labels and show unique labels
* Add state changes visualization
* fix common labels extraction
* Code cleanup
* Add timespan-based log record view
* WIP
* scroll to timestamp - poc
* Use SortedVector for timestamp field
* add conditional accessor for frames
* update some of the log formats and styles
* Timestamp-based visualization with scrolling
* minor improvements
* Split Loki's state history viewer into multiple files
* Add memoization to prevent graph rerender on filter updates
* make chart size shrink when fewer instances
* style updates
* show warning when instances are hidden
* Add basic label-based filtering
* Improve label-based filtering
* Add regex validation
* Improve no instances message when everything was filtered out
* Update warning message
* Move timeline viewer to a separate file, refactor handling timeline pointer changes
* Remove unused component, add comments
* Fix test snapshot, fix type error
* adds tests for common.ts
* Add tests for converting log records into data frames
* Add basic component test, fix type guards
* Use a constant for timeseries limit
* Improve a11y, update component test
* Memoize AlertStateTag, migrate from deprecated ArrayVector
* Update public/app/features/alerting/unified/components/rules/state-history/common.ts
* Move helper hook into a separate file. Add Search input component
* Change the limit of visible time series on the timeline
* Add LogRecordViewer perf improvements, refactor timeline cursor events tracking
* Use callback to pass timeline refs
* Add grouping tests for the log record viewer
---------
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
* 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
* Add basic fuzzy search
* Add fuzzy search to rule name, group and namespace filters
* Add tests
* Apply sort order when filtering
* Filter rules on Enter instead of onChange
* Add minor rule stats performance improvements
* Fix tests
* Remove unused code, add ufuzzy inline docs
* Use form submit to set query string, add debounce docs
* 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
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>
* Add permission check to the find route, add query not accessible warning for the view page
* Hide grafana or mimir rule buttons depending on user's permissions
* Add grafana and cloud read rules checking on the alert rules list view
* Improve missing data source handling, refactor edit and remove permissions handling
* Add tests for rule edit permissions
* PR feedback
* Apply FGAC on the alert rules list page
* Add tests for edit, delete and silence buttons
* Unify access-control helpers
* Fix import
* Add route permissions for alert groups, unify access control helpers
* Improve buttons with data source explore permission
* Fix test