Commit Graph

2652 Commits

Author SHA1 Message Date
Marcus Efraimsson 9af809ff8a Merge pull request #13440 from grafana/reminder_refactoring
Transaction issues for alert reminder
2018-10-02 15:55:18 +02:00
Marcus Efraimsson 0e0901874b better comment about state changes 2018-10-02 15:11:33 +02:00
Marcus Efraimsson 418f77e70e get or create alert notification should use transaction 2018-10-02 15:07:44 +02:00
bergquist 7b781e4c3c use notification state id instead of notifier id 2018-10-02 14:53:39 +02:00
bergquist 9289cba625 merges defaultShouldNotify and ShouldNotify 2018-10-02 14:28:48 +02:00
bergquist 67e5f62514 move version conflict logging for mark as complete to sqlstore package 2018-10-02 14:23:18 +02:00
bergquist 9d3659d30d improve local variable name 2018-10-02 14:04:50 +02:00
bergquist b45a1bd45c avoid exporting notificationState and notificationStateSlice 2018-10-02 14:03:30 +02:00
bergquist 9022e871e3 avoid sending full notification state to pending/complete 2018-10-02 13:57:41 +02:00
bergquist 341d8af637 rename GetNotificationStateQuery to GetOrCreateNotificationStateQuery 2018-10-02 11:23:40 +02:00
bergquist 7f1d7cefc0 reminder: uses UpdatedAt to track state changes. 2018-10-02 11:19:09 +02:00
Mario Trangoni dde650905d Fix megacheck issue unused code.
I removed some code, and commented out other one.

See,
$ gometalinter --vendor --disable-all --disable=gotype --enable=megacheck --deadline 6m ./... | grep unused
pkg/api/avatar/avatar.go:100:26⚠️ func (*CacheServer).mustInt is unused (U1000) (megacheck)
pkg/api/folder_test.go:136:6⚠️ func callGetFolderByUID is unused (U1000) (megacheck)
pkg/api/folder_test.go:141:6⚠️ func callDeleteFolder is unused (U1000) (megacheck)
pkg/api/live/hub.go:40:15⚠️ func (*hub).removeConnection is unused (U1000) (megacheck)
pkg/components/imguploader/azureblobuploader.go:130:5⚠️ var client is unused (U1000) (megacheck)
pkg/middleware/middleware_test.go:438:28⚠️ func (*scenarioContext).withInvalidApiKey is unused (U1000) (megacheck)
pkg/services/alerting/ticker.go:40:18⚠️ func (*Ticker).updateOffset is unused (U1000) (megacheck)
pkg/services/notifications/notifications_test.go:12:6⚠️ type testTriggeredAlert is unused (U1000) (megacheck)
pkg/services/sqlstore/dashboard_service_integration_test.go:935:6⚠️ type scenarioContext is unused (U1000) (megacheck)
pkg/services/sqlstore/dashboard_service_integration_test.go:939:6⚠️ type scenarioFunc is unused (U1000) (megacheck)
pkg/services/sqlstore/dashboard_service_integration_test.go:941:6⚠️ func dashboardGuardianScenario is unused (U1000) (megacheck)
pkg/services/sqlstore/transactions_test.go:13:6⚠️ type testQuery is unused (U1000) (megacheck)
2018-10-01 18:23:59 +02:00
bergquist 75f832cda8 use alert state changes counter as secondary version 2018-10-01 15:58:30 +02:00
Torkel Ödegaard b3c78f1265 wip: data source permissions hooks 2018-10-01 15:38:55 +02:00
Marcus Efraimsson 1be8fb76b8 cleanup alert_notification_state when deleting alert rules and channels 2018-09-30 21:57:15 +02:00
Marcus Efraimsson 5ec086dc56 don't notify if notification state pending
If notification state is pending and last update of state was made
less than a minute ago. In the case of a grafana instance is shut down/crashes
between setting pending state and before sending the notification/marks as complete
this logic should allow the notification to be sent after some time instead of
being left in an inconsistent state where no notifications are being sent.
2018-09-30 21:52:50 +02:00
Marcus Efraimsson d412aafb7e remove unused code 2018-09-30 20:16:01 +02:00
Marcus Efraimsson 8551ffa0b0 alert -> ok with reminders enabled should send 2018-09-28 18:34:20 +02:00
Marcus Efraimsson a0e1a1a1f9 Merge remote-tracking branch 'origin/master' into reminder_refactoring 2018-09-28 15:17:30 +02:00
Marcus Efraimsson 67c58fa5e4 fix set sent_at on complete 2018-09-28 15:11:03 +02:00
Torkel Ödegaard d2464812eb noop services poc 2018-09-28 14:52:12 +02:00
Marcus Efraimsson c1763508e0 handle pending and completed state for alert notifications 2018-09-28 14:22:03 +02:00
Marcus Efraimsson 2bf399d3c8 No need to get alert notification state in ShouldNotify 2018-09-28 12:59:35 +02:00
Marcus Efraimsson 69cc24ea3f wip: test get alert notification state 2018-09-28 11:17:03 +02:00
Marcus Efraimsson 88bbc452a7 wip: send and mark as complete 2018-09-28 11:14:36 +02:00
Leonard Gram 1a75aa54de wip: impl so that get alertstate also creates it if it does not exist 2018-09-28 10:48:08 +02:00
bergquist 15ce474639 wip 2018-09-27 16:21:53 +02:00
Marcus Efraimsson d093244282 sqlstore: add support for checking if error is constraint validation error 2018-09-27 13:38:22 +02:00
bergquist c5278af6c4 add support for mysql and postgres unique index error codes 2018-09-27 11:33:13 +02:00
bergquist 3fab616239 implement sql queries for transactional alert reminders 2018-09-27 11:14:44 +02:00
bergquist ff79f80685 initial rename refactoring 2018-09-27 09:43:00 +02:00
Carl Bergquist 464f3f738f Merge pull request #13360 from sapcc/symlinks
resolve symlink on each run
2018-09-27 09:21:29 +02:00
Torkel Ödegaard ec4b165b3c Merge pull request #13392 from mjtrangoni/fix-goconst-issues
Fix goconst issues
2018-09-26 20:12:44 +02:00
bergquist b04052f515 alerting: move all notification conditions to defaultShouldNotify 2018-09-26 14:34:10 +02:00
Carl Bergquist af0f3f2119 Merge pull request #13391 from grafana/provisioning-interval
provisioning: changed update interval default 3 to 10 seconds
2018-09-25 22:43:34 +02:00
Torkel Ödegaard 862ca07f03 fix: updated tests 2018-09-25 14:01:38 +02:00
Torkel Ödegaard cb96c6d942 Changed setting to be an alerting setting 2018-09-25 12:17:04 +02:00
Torkel Ödegaard 4dab595ed7 rendering: Added concurrent rendering limits 2018-09-24 16:14:11 +02:00
Mario Trangoni 0870464ea5 Fix goconst issues
See,
$ gometalinter --vendor --disable-all --enable=goconst --disable=gotype --deadline=6m ./...
build.go:113:15⚠️ 2 other occurrence(s) of "linux" found in: build.go:119:15 build.go:491:34 (goconst)
build.go:119:15⚠️ 2 other occurrence(s) of "linux" found in: build.go:113:15 build.go:491:34 (goconst)
build.go:491:34⚠️ 2 other occurrence(s) of "linux" found in: build.go:113:15 build.go:119:15 (goconst)
build.go:381:21⚠️ 2 other occurrence(s) of "windows" found in: build.go:423:13 build.go:487:13 (goconst)
build.go:423:13⚠️ 2 other occurrence(s) of "windows" found in: build.go:381:21 build.go:487:13 (goconst)
build.go:487:13⚠️ 2 other occurrence(s) of "windows" found in: build.go:381:21 build.go:423:13 (goconst)
pkg/api/dashboard.go:67:22⚠️ 5 other occurrence(s) of "Anonymous" found in: pkg/api/dashboard.go:67:35 pkg/api/dashboard.go:131:10 pkg/api/dashboard.go:406:13 pkg/api/folder.go:98:22 pkg/api/folder.go:98:35 (goconst)
pkg/api/dashboard.go:67:35⚠️ 5 other occurrence(s) of "Anonymous" found in: pkg/api/dashboard.go:67:22 pkg/api/dashboard.go:131:10 pkg/api/dashboard.go:406:13 pkg/api/folder.go:98:22 pkg/api/folder.go:98:35 (goconst)
pkg/api/dashboard.go:131:10⚠️ 5 other occurrence(s) of "Anonymous" found in: pkg/api/dashboard.go:67:22 pkg/api/dashboard.go:67:35 pkg/api/dashboard.go:406:13 pkg/api/folder.go:98:22 pkg/api/folder.go:98:35 (goconst)
pkg/api/dashboard.go:406:13⚠️ 5 other occurrence(s) of "Anonymous" found in: pkg/api/dashboard.go:67:22 pkg/api/dashboard.go:67:35 pkg/api/dashboard.go:131:10 pkg/api/folder.go:98:22 pkg/api/folder.go:98:35 (goconst)
pkg/api/folder.go:98:22⚠️ 5 other occurrence(s) of "Anonymous" found in: pkg/api/dashboard.go:67:22 pkg/api/dashboard.go:67:35 pkg/api/dashboard.go:131:10 pkg/api/dashboard.go:406:13 pkg/api/folder.go:98:35 (goconst)
pkg/api/folder.go:98:35⚠️ 5 other occurrence(s) of "Anonymous" found in: pkg/api/dashboard.go:67:22 pkg/api/dashboard.go:67:35 pkg/api/dashboard.go:131:10 pkg/api/dashboard.go:406:13 pkg/api/folder.go:98:22 (goconst)
pkg/api/index.go:63:47⚠️ 2 other occurrence(s) of "light" found
in: pkg/api/index.go:91:22 pkg/api/index.go:93:16 (goconst)
pkg/api/index.go:91:22⚠️ 2 other occurrence(s) of "light" found in: pkg/api/index.go:63:47 pkg/api/index.go:93:16 (goconst)
pkg/api/index.go:93:16⚠️ 2 other occurrence(s) of "light" found in: pkg/api/index.go:63:47 pkg/api/index.go:91:22 (goconst)
pkg/components/null/float.go:71:25⚠️ 2 other occurrence(s) of "null" found in: pkg/components/null/float.go:103:10 pkg/components/null/float.go:112:10 (goconst)
pkg/components/null/float.go:103:10⚠️ 2 other occurrence(s) of "null" found in: pkg/components/null/float.go:71:25 pkg/components/null/float.go:112:10 (goconst)
pkg/components/null/float.go:112:10⚠️ 2 other occurrence(s) of "null" found in: pkg/components/null/float.go:71:25 pkg/components/null/float.go:103:10 (goconst)
pkg/services/alerting/notifiers/pagerduty.go:79:16⚠️ 2 other occurrence(s) of "Triggered metrics:\n\n" found in: pkg/services/alerting/notifiers/kafka.go:64:16 pkg/services/alerting/notifiers/opsgenie.go:98:16 (goconst)
pkg/services/alerting/notifiers/kafka.go:64:16⚠️ 2 other occurrence(s) of "Triggered metrics:\n\n" found in: pkg/services/alerting/notifiers/pagerduty.go:79:16 pkg/services/alerting/notifiers/opsgenie.go:98:16 (goconst)
pkg/services/alerting/notifiers/opsgenie.go:98:16⚠️ 2 other occurrence(s) of "Triggered metrics:\n\n" found in: pkg/services/alerting/notifiers/pagerduty.go:79:16 pkg/services/alerting/notifiers/kafka.go:64:16 (goconst)
pkg/social/social.go:85:11⚠️ 2 other occurrence(s) of "grafana_com" found in: pkg/social/social.go:162:14 pkg/social/social.go:197:11 (goconst)
pkg/social/social.go:162:14⚠️ 2 other occurrence(s) of "grafana_com" found in: pkg/social/social.go:85:11 pkg/social/social.go:197:11 (goconst)
pkg/social/social.go:197:11⚠️ 2 other occurrence(s) of "grafana_com" found in: pkg/social/social.go:85:11 pkg/social/social.go:162:14 (goconst)
pkg/tsdb/elasticsearch/time_series_query.go:92:17⚠️ 3 other occurrence(s) of "count" found in: pkg/tsdb/elasticsearch/response_parser.go:152:8 pkg/tsdb/elasticsearch/response_parser.go:167:31 pkg/tsdb/elasticsearch/response_parser.go:315:9 (goconst)
pkg/tsdb/elasticsearch/response_parser.go:152:8⚠️ 3 other occurrence(s) of "count" found in: pkg/tsdb/elasticsearch/time_series_query.go:92:17 pkg/tsdb/elasticsearch/response_parser.go:167:31 pkg/tsdb/elasticsearch/response_parser.go:315:9 (goconst)
pkg/tsdb/elasticsearch/response_parser.go:167:31⚠️ 3 other occurrence(s) of "count" found in: pkg/tsdb/elasticsearch/time_series_query.go:92:17 pkg/tsdb/elasticsearch/response_parser.go:152:8 pkg/tsdb/elasticsearch/response_parser.go:315:9 (goconst)
pkg/tsdb/elasticsearch/response_parser.go:315:9⚠️ 3 other occurrence(s) of "count" found in: pkg/tsdb/elasticsearch/time_series_query.go:92:17 pkg/tsdb/elasticsearch/response_parser.go:152:8 pkg/tsdb/elasticsearch/response_parser.go:167:31 (goconst)
pkg/tsdb/elasticsearch/time_series_query.go:78:9⚠️ 2 other occurrence(s) of "date_histogram" found in: pkg/tsdb/elasticsearch/response_parser.go:84:22 pkg/tsdb/elasticsearch/response_parser.go:369:24 (goconst)
pkg/tsdb/elasticsearch/response_parser.go:84:22⚠️ 2 other occurrence(s) of "date_histogram" found in: pkg/tsdb/elasticsearch/time_series_query.go:78:9 pkg/tsdb/elasticsearch/response_parser.go:369:24 (goconst)
pkg/tsdb/elasticsearch/response_parser.go:369:24⚠️ 2 other occurrence(s) of "date_histogram" found in: pkg/tsdb/elasticsearch/time_series_query.go:78:9 pkg/tsdb/elasticsearch/response_parser.go:84:22 (goconst)
2018-09-23 21:19:21 +02:00
Torkel Ödegaard 98dad530e2 provisioning: changed provisioning default update interval from 3 to 10 seconds 2018-09-22 10:06:57 +02:00
Mario Trangoni 60dfff11a0 Fix datbase > database 2018-09-21 13:41:31 +02:00
Mario Trangoni 80fa66fcb0 Fix some typos found by codespell
See,
$ codespell -S "./.git*,./vendor*,./public*"
2018-09-21 11:54:52 +02:00
Mario Trangoni 0dea8fe1e0 pkg/services/sqlstore/user.go: empty branch
$ gometalinter --vendor --disable-all --enable=megacheck --disable=gotype --deadline=6m ./...
pkg/services/sqlstore/user.go:274:3⚠️ empty branch (SA9003) (megacheck)
2018-09-20 20:16:14 +02:00
Arno Uhlig 1355c00c44 fix reader linux test 2018-09-20 13:42:56 +02:00
Arno Uhlig 6b2d91815a resolve symlink on each run 2018-09-20 11:46:32 +02:00
Mario Trangoni bb5aaa2dce pkg/services/sqlstore/alert_notification.go: Simplify err check
$ gometalinter --vendor --disable=all --enable=megacheck --deadline=10m ./...
pkg/services/sqlstore/alert_notification.go:242:3⚠️ 'if err != nil { return err }; return nil' can be simplified to 'return err' (S1013) (megacheck)
2018-09-18 23:42:20 +02:00
Carl Bergquist f22f1d46c8 Merge pull request #10163 from grafana/9587_annotation_tags_wih_temp_var
annotations: allows template variables to be used in tag filter
2018-09-17 10:34:38 +02:00
Carl Bergquist 6dff5e6bc7 Merge pull request #13295 from mjtrangoni/fix-some-megacheck-issues
Fix some megacheck issues
2018-09-17 10:13:34 +02:00
Marcus Efraimsson b2833daf32 Merge pull request #13285 from marefr/team_member_ext
Team member labels
2018-09-17 09:14:06 +02:00
Mario Trangoni e85d0e8d6b pkg/services/sqlstore: Fix sess.Id is deprecated: use ID instead. (megacheck)
See,
$ gometalinter --vendor --disable-all --enable=megacheck --disable=gotype --deadline 6m ./... | grep ID
alert.go:193:15⚠️ sess.Id is deprecated: use ID instead  (SA1019) (megacheck)
alert.go:252:18⚠️ sess.Id is deprecated: use ID instead  (SA1019) (megacheck)
annotation.go:113:12⚠️ sess.Table("annotation").Id is deprecated: use ID instead  (SA1019) (megacheck)
org.go:136:24⚠️ sess.Id is deprecated: use ID instead  (SA1019) (megacheck)
org.go:169:16⚠️ sess.Id is deprecated: use ID instead  (SA1019) (megacheck)
org_users.go:24:21⚠️ sess.Id is deprecated: use ID instead  (SA1019) (megacheck)
org_users.go:88:12⚠️ sess.Id is deprecated: use ID instead  (SA1019) (megacheck)
org_users.go:141:21⚠️ sess.Id is deprecated: use ID instead  (SA1019) (megacheck)
plugin_setting.go:103:12⚠️ sess.Id is deprecated: use ID instead  (SA1019) (megacheck)
preferences.go:97:12⚠️ sess.Id is deprecated: use ID instead  (SA1019) (megacheck)
quota.go:119:17⚠️ sess.Id is deprecated: use ID instead  (SA1019) (megacheck)
quota.go:221:17⚠️ sess.Id is deprecated: use ID instead  (SA1019) (megacheck)
team.go:77:24⚠️ sess.Id is deprecated: use ID instead  (SA1019) (megacheck)
user.go:243:16⚠️ sess.Id is deprecated: use ID instead  (SA1019) (megacheck)
user.go:267:13⚠️ sess.Id is deprecated: use ID instead  (SA1019) (megacheck)
user.go:282:13⚠️ sess.Id is deprecated: use ID instead  (SA1019) (megacheck)
user.go:313:12⚠️ sess.Id is deprecated: use ID instead  (SA1019) (megacheck)
user.go:475:3⚠️ sess.Id is deprecated: use ID instead  (SA1019) (megacheck)
user.go:479:13⚠️ sess.Id is deprecated: use ID instead  (SA1019) (megacheck)
user.go:493:13⚠️ sess.Id is deprecated: use ID instead  (SA1019) (megacheck)
2018-09-16 12:37:08 +02:00