Commit d7281e68 authored by Kamil Trzciński's avatar Kamil Trzciński

Merge branch 'add-database-chosen-to-structured-log' into 'master'

Add database-chosen to the structured log

See merge request gitlab-org/gitlab!60643
parents b9338d5c 9a074489
...@@ -106,6 +106,24 @@ RSpec.describe Gitlab::SidekiqLogging::StructuredLogger do ...@@ -106,6 +106,24 @@ RSpec.describe Gitlab::SidekiqLogging::StructuredLogger do
end end
end end
context 'when the job uses load balancing capabilities' do
let(:expected_payload) { { 'database_chosen' => 'retry' } }
before do
allow(Time).to receive(:now).and_return(timestamp)
allow(Process).to receive(:clock_gettime).and_call_original
end
it 'logs the database chosen' do
expect(logger).to receive(:info).with(start_payload).ordered
expect(logger).to receive(:info).with(include(expected_payload)).ordered
call_subject(job, 'test_queue') do
job[:database_chosen] = 'retry'
end
end
end
def call_subject(job, queue) def call_subject(job, queue)
# This structured logger strongly depends on execution of `InstrumentationLogger` # This structured logger strongly depends on execution of `InstrumentationLogger`
subject.call(job, queue) do subject.call(job, queue) do
......
...@@ -70,6 +70,8 @@ module Gitlab ...@@ -70,6 +70,8 @@ module Gitlab
message = base_message(payload) message = base_message(payload)
payload['database_chosen'] = job[:database_chosen] if job[:database_chosen]
if job_exception if job_exception
payload['message'] = "#{message}: fail: #{payload['duration_s']} sec" payload['message'] = "#{message}: fail: #{payload['duration_s']} sec"
payload['job_status'] = 'fail' payload['job_status'] = 'fail'
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment