grafana/pkg/services/sqlstore/migrations
Yuri Tseretyan f6a46744a6
Alerting: Support hysteresis command expression (#75189)
Backend: 

* Update the Grafana Alerting engine to provide feedback to HysteresisCommand. The feedback information is stored in state.Manager as a fingerprint of each state. The fingerprint is persisted to the database. Only fingerprints that belong to Pending and Alerting states are considered as "loaded" and provided back to the command.
   - add ResultFingerprint to state.State. It's different from other fingerprints we store in the state because it is calculated from the result labels.
  -  add rule_fingerprint column to alert_instance
   - update alerting evaluator to accept AlertingResultsReader via context, and update scheduler to provide it.
   - add AlertingResultsFromRuleState that implements the new interface in eval package
   - update getExprRequest to patch the hysteresis command.

* Only one "Recovery Threshold" query is allowed to be used in the alert rule and it must be the Condition.


Frontend:

* Add hysteresis option to Threshold in UI. It's called "Recovery Threshold"
* Add test for getUnloadEvaluatorTypeFromCondition
* Hide hysteresis in panel expressions

* Refactor isInvalid and add test for it
* Remove unnecesary React.memo
* Add tests for updateEvaluatorConditions

---------

Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
2024-01-04 11:47:13 -05:00
..
accesscontrol Authz: Remove use of SignedInUser copy for permission evaluation (#78448) 2023-11-22 14:20:22 +01:00
anonservice Anon: Scaffold anon service (#74744) 2023-09-25 16:25:29 +02:00
oauthserver AuthN: Embed an OAuth2 server for external service authentication (#68086) 2023-05-25 15:38:30 +02:00
signingkeys Auth: Signing Key persistence (#75487) 2023-10-04 10:37:27 +02:00
ssosettings Auth: SSO settings foundations (#77724) 2023-11-08 10:50:01 +01:00
ualert Alerting: Support hysteresis command expression (#75189) 2024-01-04 11:47:13 -05:00
alert_mig.go SQL: Define primary key for tables without it (#22255) 2020-11-17 17:58:56 +01:00
annotation_mig.go Chore: Fix goimports grouping in pkg/services (#62420) 2023-01-30 08:21:27 +00:00
apikey_mig.go API Keys: Add revocation for SATs (#53896) 2022-08-18 16:54:39 +02:00
cache_data_mig.go renames key to cache_key 2019-03-11 10:49:55 +01:00
common.go SQLStore: Add deprecation comments for breaking migrations (#49740) 2022-06-03 17:42:08 +02:00
correlations_mig.go Correlations: Allow creating correlations for provisioned data sources (#73737) 2023-09-13 15:10:09 +02:00
dashboard_acl.go Rename Acl to ACL (#52342) 2022-07-18 15:14:58 +02:00
dashboard_mig.go add isPublic to dashboard (#48012) 2022-05-17 14:11:55 -08:00
dashboard_public_mig.go PublicDashboards: Backfills share column with default value (#63407) 2023-02-27 15:54:16 -06:00
dashboard_snapshot_mig.go Chore: Fix SQL related Go variable naming (#28887) 2020-11-11 06:21:08 +01:00
dashboard_version_mig.go Chore: Fix SQL related Go variable naming (#28887) 2020-11-11 06:21:08 +01:00
datasource_mig.go SQLStore: Prevent migration_id duplicates (#47774) 2022-06-04 01:59:49 +02:00
db_file_storage.go Storage: increase size of the contents column (#69152) 2023-05-30 21:11:04 +04:00
entity_events_mig.go Search: in-memory index (#47709) 2022-04-27 12:29:39 +04:00
external_alertmanagers.go Alerting: Move legacy alert migration from sqlstore migration to service (#72702) 2023-10-12 13:43:10 +01:00
folder_mig.go Chore: Move folder sync logic into one-shot migration (#78985) 2023-12-12 17:13:47 +01:00
heartbeat_mig.go feat(query_part): refactoring query part 2016-08-15 17:20:45 +02:00
kv_store_mig.go add key/value store service (#36868) 2021-08-31 11:05:45 -04:00
libraryelements.go Library elements: Add MySQL migration for increasing the column size (#63856) 2023-03-06 12:13:30 +01:00
login_attempt_mig.go login: migration fix. 2018-02-16 17:36:28 +01:00
migrations_test.go Database: Make dialects independent of xorm Engine (#69955) 2023-06-14 16:13:36 -04:00
migrations.go Alerting: Keep track of individual org migration status (#78369) 2023-11-30 10:25:59 -05:00
org_mig.go Extract search users functions into a service (#39002) 2021-09-29 12:51:49 +02:00
playlist_mig.go Playlist: Add create+update timestamps to the database (#76295) 2023-10-10 12:46:12 -07:00
plugin_setting.go Chore: Enable whitespace linter (#25903) 2020-07-06 20:17:28 +02:00
preferences_mig.go Preferences: Create indices (#48356) 2022-11-07 15:52:26 +01:00
query_history_mig.go Migrate user_id to BIGINT (#55084) 2022-09-15 13:29:46 +02:00
query_history_star_mig.go Migrate user_id to BIGINT (#55084) 2022-09-15 13:29:46 +02:00
quota_mig.go Chore: Enable whitespace linter (#25903) 2020-07-06 20:17:28 +02:00
secrets_mig.go Encryption: Fix multiple data keys migration (#49848) 2022-06-04 12:55:49 +02:00
serverlock_migrations.go moves migrations to /sqlstore/migrations 2018-12-17 16:36:57 +01:00
session_mig.go Issue 3461: Session table is now created automatically 2015-12-23 01:33:46 -06:00
short_url_mig.go Migrate user_id to BIGINT (#55084) 2022-09-15 13:29:46 +02:00
stats_mig.go Chore/fix lint issues (#27704) 2020-09-22 16:22:19 +02:00
tag_mig.go Chore: Enable whitespace linter (#25903) 2020-07-06 20:17:28 +02:00
team_mig.go add uid to team table (#66920) 2023-05-09 13:03:28 -04:00
temp_user.go Chore: Fix goimports grouping in pkg/services (#62420) 2023-01-30 08:21:27 +00:00
user_auth_mig.go OAuth: persisting the id token (#42938) 2021-12-14 15:22:10 +01:00
user_auth_token_mig.go Auth: Refactor for revoking user tokens within last hours (#74616) 2023-09-13 10:24:37 +01:00
user_mig.go Chore: Fix goimports grouping in pkg/services (#62420) 2023-01-30 08:21:27 +00:00