debian-mirror-gitlab/config/initializers/zz_metrics.rb

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

59 lines
2.1 KiB
Ruby
Raw Normal View History

2021-03-11 19:13:27 +05:30
# frozen_string_literal: true
2019-02-15 15:39:39 +05:30
# This file was prefixed with zz_ because we want to load it the last!
2019-12-04 20:38:33 +05:30
# See: https://gitlab.com/gitlab-org/gitlab-foss/issues/55611
2023-07-09 08:55:56 +05:30
if Gitlab::Metrics.enabled? && Gitlab::Runtime.application?
2017-08-17 22:00:37 +05:30
require 'pathname'
require 'connection_pool'
# These are manually require'd so the classes are registered properly with
# ActiveSupport.
2021-04-17 20:07:23 +05:30
require_dependency 'gitlab/metrics/subscribers/action_cable'
2017-08-17 22:00:37 +05:30
require_dependency 'gitlab/metrics/subscribers/action_view'
require_dependency 'gitlab/metrics/subscribers/active_record'
require_dependency 'gitlab/metrics/subscribers/rails_cache'
2023-03-04 22:38:38 +05:30
require_dependency 'gitlab/metrics/subscribers/ldap'
2017-08-17 22:00:37 +05:30
Gitlab::Application.configure do |config|
2021-09-30 23:02:18 +05:30
# We want to track certain metrics during the Load Balancing host resolving process.
# Because of that, we need to have metrics code available earlier for Load Balancing.
2021-11-18 22:05:49 +05:30
config.middleware.insert_before Gitlab::Database::LoadBalancing::RackMiddleware,
Gitlab::Metrics::RackMiddleware
2021-09-30 23:02:18 +05:30
2022-07-23 23:45:48 +05:30
config.middleware.insert_before Gitlab::Database::LoadBalancing::RackMiddleware,
Gitlab::Middleware::RailsQueueDuration
2020-06-23 00:09:42 +05:30
config.middleware.use(Gitlab::Metrics::ElasticsearchRackMiddleware)
2017-08-17 22:00:37 +05:30
end
2022-04-04 11:22:00 +05:30
if Gitlab::Runtime.puma?
Gitlab::Metrics::RequestsRackMiddleware.initialize_metrics
2022-10-11 01:57:18 +05:30
Gitlab::Metrics::GlobalSearchSlis.initialize_slis!
2023-01-13 00:05:48 +05:30
elsif Gitlab::Runtime.sidekiq?
Gitlab::Metrics::GlobalSearchIndexingSlis.initialize_slis! if Gitlab.ee?
Gitlab::Metrics::LooseForeignKeysSlis.initialize_slis!
2022-04-04 11:22:00 +05:30
end
2017-08-17 22:00:37 +05:30
GC::Profiler.enable
module TrackNewRedisConnections
def connect(*args)
val = super
2021-12-11 22:18:48 +05:30
if current_transaction = (::Gitlab::Metrics::WebTransaction.current || ::Gitlab::Metrics::BackgroundTransaction.current)
2020-10-24 23:57:45 +05:30
current_transaction.increment(:gitlab_transaction_new_redis_connections_total, 1)
2017-08-17 22:00:37 +05:30
end
val
end
end
class ::Redis::Client
prepend TrackNewRedisConnections
end
2021-03-11 19:13:27 +05:30
Labkit::NetHttpPublisher.labkit_prepend!
Labkit::ExconPublisher.labkit_prepend!
Labkit::HTTPClientPublisher.labkit_prepend!
2017-08-17 22:00:37 +05:30
end