diff options
Diffstat (limited to 'config/initializers/click_house.rb')
-rw-r--r-- | config/initializers/click_house.rb | 21 |
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 |