Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'config/initializers/click_house.rb')
-rw-r--r--config/initializers/click_house.rb21
1 files changed, 20 insertions, 1 deletions
diff --git a/config/initializers/click_house.rb b/config/initializers/click_house.rb
index 481942d775e..ecf1ccb97bf 100644
--- a/config/initializers/click_house.rb
+++ b/config/initializers/click_house.rb
@@ -17,15 +17,34 @@ ClickHouse::Client.configure do |config|
)
end
+ if Rails.env.development? || Rails.env.test?
+ config.logger = ::ClickHouse::Logger.build
+ config.log_proc = ->(query) do
+ structured_log(query.to_sql)
+ end
+ else
+ config.logger = Logger.new('/dev/null')
+ config.log_proc = ->(query) do
+ structured_log(query.to_redacted_sql)
+ end
+ end
+
config.json_parser = Gitlab::Json
config.http_post_proc = ->(url, headers, body) do
options = {
+ multipart: true,
headers: headers,
- body: ActiveSupport::Gzip.compress(body),
allow_local_requests: Rails.env.development? || Rails.env.test?
}
+ body_key = body.is_a?(IO) ? :body_stream : :body
+ options[body_key] = body
+
response = Gitlab::HTTP.post(url, options)
ClickHouse::Client::Response.new(response.body, response.code, response.headers)
end
end
+
+def structured_log(query_string)
+ { query: query_string, correlation_id: Labkit::Correlation::CorrelationId.current_id.to_s }
+end