summaryrefslogtreecommitdiff
path: root/lib/gitlab/database/reindexing/grafana_notifier.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/database/reindexing/grafana_notifier.rb')
-rw-r--r--lib/gitlab/database/reindexing/grafana_notifier.rb22
1 files changed, 17 insertions, 5 deletions
diff --git a/lib/gitlab/database/reindexing/grafana_notifier.rb b/lib/gitlab/database/reindexing/grafana_notifier.rb
index f4ea59deb50..ece9327b658 100644
--- a/lib/gitlab/database/reindexing/grafana_notifier.rb
+++ b/lib/gitlab/database/reindexing/grafana_notifier.rb
@@ -5,10 +5,10 @@ module Gitlab
module Reindexing
# This can be used to send annotations for reindexing to a Grafana API
class GrafanaNotifier
- def initialize(api_key = ENV['GITLAB_GRAFANA_API_KEY'], api_url = ENV['GITLAB_GRAFANA_API_URL'], additional_tag = ENV['GITLAB_REINDEXING_GRAFANA_TAG'] || Rails.env)
- @api_key = api_key
- @api_url = api_url
- @additional_tag = additional_tag
+ def initialize(api_key: nil, api_url: nil, additional_tag: nil)
+ @api_key = api_key || default_api_key
+ @api_url = api_url || default_api_url
+ @additional_tag = additional_tag || default_additional_tag
end
def notify_start(action)
@@ -35,10 +35,22 @@ module Gitlab
private
+ def default_api_key
+ Gitlab::CurrentSettings.database_grafana_api_key || ENV['GITLAB_GRAFANA_API_KEY']
+ end
+
+ def default_api_url
+ Gitlab::CurrentSettings.database_grafana_api_url || ENV['GITLAB_GRAFANA_API_URL']
+ end
+
+ def default_additional_tag
+ Gitlab::CurrentSettings.database_grafana_tag || ENV['GITLAB_REINDEXING_GRAFANA_TAG'] || Rails.env
+ end
+
def base_payload(action)
{
time: (action.action_start.utc.to_f * 1000).to_i,
- tags: ['reindex', @additional_tag, action.index.tablename, action.index.name].compact
+ tags: ['reindex', @additional_tag.presence, action.index.tablename, action.index.name].compact
}
end