Skip to content

Commit e239a85

Browse files
authored
Merge pull request #4528 from DataDog/munir/enable-128bit-logging-by-default
chore(logging): enable 128bit trace id logging by default
2 parents 679838e + 5c65c0c commit e239a85

File tree

12 files changed

+99
-83
lines changed

12 files changed

+99
-83
lines changed

lib/datadog/tracing/configuration/settings.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ def self.extended(base)
188188
# It is not supported by our backend yet. Do not enable it.
189189
option :trace_id_128_bit_logging_enabled do |o|
190190
o.env Tracing::Configuration::Ext::Correlation::ENV_TRACE_ID_128_BIT_LOGGING_ENABLED
191-
o.default false
191+
o.default true
192192
o.type :bool
193193
end
194194

lib/datadog/tracing/correlation.rb

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,15 @@ def identifier_from_digest(digest)
9494
end
9595

9696
def format_trace_id(trace_id)
97-
if Datadog.configuration.tracing.trace_id_128_bit_logging_enabled &&
98-
!Tracing::Utils::TraceId.to_high_order(trace_id).zero?
97+
if Datadog.configuration.tracing.trace_id_128_bit_logging_enabled
98+
format_trace_id_128(trace_id)
99+
else
100+
Tracing::Utils::TraceId.to_low_order(trace_id).to_s
101+
end
102+
end
103+
104+
def format_trace_id_128(trace_id)
105+
if !Tracing::Utils::TraceId.to_high_order(trace_id).zero?
99106
Kernel.format('%032x', trace_id)
100107
else
101108
Tracing::Utils::TraceId.to_low_order(trace_id).to_s

spec/datadog/tracing/configuration/settings_spec.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -944,7 +944,7 @@ def propagation_style_inject
944944
context 'is not defined' do
945945
let(:env_var) { nil }
946946

947-
it { is_expected.to eq(false) }
947+
it { is_expected.to eq(true) }
948948
end
949949

950950
context 'is `true`' do
@@ -964,10 +964,10 @@ def propagation_style_inject
964964
describe '#trace_id_128_bit_logging_enabled=' do
965965
it 'updates the #trace_id_128_bit_logging_enabled setting' do
966966
expect do
967-
settings.tracing.trace_id_128_bit_logging_enabled = true
967+
settings.tracing.trace_id_128_bit_logging_enabled = false
968968
end.to change { settings.tracing.trace_id_128_bit_logging_enabled }
969-
.from(false)
970-
.to(true)
969+
.from(true)
970+
.to(false)
971971
end
972972
end
973973

spec/datadog/tracing/contrib/lograge/instrumentation_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
env: 'env',
5151
service: 'service',
5252
span_id: span_id.to_s,
53-
trace_id: low_order_trace_id(trace_id).to_s,
53+
trace_id: format_for_correlation(trace_id),
5454
version: 'version'
5555
},
5656
ddsource: 'ruby' }

spec/datadog/tracing/contrib/rails/rails_active_job_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ def perform(test_retry: false, test_discard: false)
210210
it 'injects trace correlation' do
211211
perform_later
212212
expect(output).to include('my-log')
213-
expect(output).to include(low_order_trace_id(span.trace_id).to_s)
213+
expect(output).to include(format_for_correlation(span.trace_id))
214214
end
215215
end
216216

spec/datadog/tracing/contrib/rails/rails_log_auto_injection_spec.rb

Lines changed: 55 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,9 @@ def index
8989
expect(log_entries).to have(2).items
9090
rack_rails_logger_entry, my_entry = log_entries
9191

92-
expect(rack_rails_logger_entry).not_to include low_order_trace_id(trace.id).to_s
92+
expect(rack_rails_logger_entry).not_to include format_for_correlation(trace.id)
9393

94-
expect(my_entry).not_to include low_order_trace_id(trace.id).to_s
94+
expect(my_entry).not_to include format_for_correlation(trace.id)
9595
end
9696
end
9797

@@ -109,9 +109,9 @@ def index
109109
expect(log_entries).to have(2).items
110110
rack_rails_logger_entry, my_entry = log_entries
111111

112-
expect(rack_rails_logger_entry).to include "dd.trace_id=#{low_order_trace_id(trace.id)}"
112+
expect(rack_rails_logger_entry).to include "dd.trace_id=#{format_for_correlation(trace.id)}"
113113

114-
expect(my_entry).to include low_order_trace_id(trace.id).to_s
114+
expect(my_entry).to include format_for_correlation(trace.id)
115115
end
116116
end
117117

@@ -128,11 +128,11 @@ def index
128128
expect(log_entries).to have(2).items
129129
rack_rails_logger_entry, my_entry = log_entries
130130

131-
expect(rack_rails_logger_entry).to include "dd.trace_id=#{low_order_trace_id(trace.id)}"
131+
expect(rack_rails_logger_entry).to include "dd.trace_id=#{format_for_correlation(trace.id)}"
132132
expect(rack_rails_logger_entry).to include '[some_info]'
133133
expect(rack_rails_logger_entry).to include '[some_other_info]'
134134

135-
expect(my_entry).to include low_order_trace_id(trace.id).to_s
135+
expect(my_entry).to include format_for_correlation(trace.id)
136136
expect(my_entry).to include '[some_info]'
137137
expect(my_entry).to include '[some_other_info]'
138138
end
@@ -158,12 +158,12 @@ def index
158158

159159
rack_rails_logger_entry, my_entry, controller_logger_entry = log_entries
160160

161-
expect(rack_rails_logger_entry).not_to include low_order_trace_id(trace.id).to_s
161+
expect(rack_rails_logger_entry).not_to include format_for_correlation(trace.id)
162162

163-
expect(controller_logger_entry).to include low_order_trace_id(low_order_trace_id(trace.id)).to_s
163+
expect(controller_logger_entry).to include format_for_correlation(trace.id)
164164
expect(controller_logger_entry).to include 'ddsource=ruby'
165165

166-
expect(my_entry).not_to include low_order_trace_id(trace.id).to_s
166+
expect(my_entry).not_to include format_for_correlation(trace.id)
167167
end
168168
end
169169

@@ -185,14 +185,14 @@ def index
185185

186186
rack_rails_logger_entry, my_entry, controller_logger_entry = log_entries
187187

188-
expect(rack_rails_logger_entry).not_to include low_order_trace_id(trace.id).to_s
188+
expect(rack_rails_logger_entry).not_to include format_for_correlation(trace.id)
189189

190-
expect(controller_logger_entry).to include low_order_trace_id(trace.id).to_s
190+
expect(controller_logger_entry).to include format_for_correlation(trace.id)
191191
expect(controller_logger_entry).to include 'ddsource=ruby'
192192
expect(controller_logger_entry).to include 'some_hash_info=test_hash_value'
193193
expect(controller_logger_entry).to include 'some_other_hash_info=other_test_hash_value'
194194

195-
expect(my_entry).not_to include low_order_trace_id(trace.id).to_s
195+
expect(my_entry).not_to include format_for_correlation(trace.id)
196196
end
197197
end
198198

@@ -216,14 +216,14 @@ def index
216216

217217
rack_rails_logger_entry, my_entry, controller_logger_entry = log_entries
218218

219-
expect(rack_rails_logger_entry).not_to include low_order_trace_id(low_order_trace_id(trace.id)).to_s
219+
expect(rack_rails_logger_entry).not_to include format_for_correlation(trace.id)
220220

221-
expect(controller_logger_entry).to include low_order_trace_id(trace.id).to_s
221+
expect(controller_logger_entry).to include format_for_correlation(trace.id)
222222
expect(controller_logger_entry).to include 'ddsource=ruby'
223223
expect(controller_logger_entry).to include 'some_lambda_info=test_lambda_value'
224224
expect(controller_logger_entry).to include 'some_other_lambda_info=other_test_lambda_value'
225225

226-
expect(my_entry).not_to include low_order_trace_id(trace.id).to_s
226+
expect(my_entry).not_to include format_for_correlation(trace.id)
227227
end
228228
end
229229
end
@@ -241,11 +241,11 @@ def index
241241

242242
rack_rails_logger_entry, my_entry, controller_logger_entry = log_entries
243243

244-
expect(rack_rails_logger_entry).not_to include low_order_trace_id(trace.id).to_s
244+
expect(rack_rails_logger_entry).not_to include format_for_correlation(trace.id)
245245

246-
expect(my_entry).not_to include low_order_trace_id(trace.id).to_s
246+
expect(my_entry).not_to include format_for_correlation(trace.id)
247247

248-
expect(controller_logger_entry).not_to include low_order_trace_id(trace.id).to_s
248+
expect(controller_logger_entry).not_to include format_for_correlation(trace.id)
249249
end
250250
end
251251
end
@@ -272,11 +272,11 @@ def index
272272

273273
rack_rails_logger_entry, my_entry, controller_logger_entry = log_entries
274274

275-
expect(rack_rails_logger_entry).to include "dd.trace_id=#{low_order_trace_id(trace.id)}"
275+
expect(rack_rails_logger_entry).to include "dd.trace_id=#{format_for_correlation(trace.id)}"
276276

277-
expect(my_entry).to include "dd.trace_id=#{low_order_trace_id(trace.id)}"
277+
expect(my_entry).to include "dd.trace_id=#{format_for_correlation(trace.id)}"
278278

279-
expect(controller_logger_entry.scan(low_order_trace_id(trace.id).to_s)).to have(2).times
279+
expect(controller_logger_entry.scan(format_for_correlation(trace.id))).to have(2).times
280280
expect(controller_logger_entry).to include 'ddsource=ruby'
281281
end
282282
end
@@ -292,15 +292,15 @@ def index
292292

293293
rack_rails_logger_entry, my_entry, controller_logger_entry = log_entries
294294

295-
expect(rack_rails_logger_entry).to include "dd.trace_id=#{low_order_trace_id(trace.id)}"
295+
expect(rack_rails_logger_entry).to include "dd.trace_id=#{format_for_correlation(trace.id)}"
296296
expect(rack_rails_logger_entry).to include '[some_info]'
297297
expect(rack_rails_logger_entry).to include '[some_other_info]'
298298

299-
expect(my_entry).to include "dd.trace_id=#{low_order_trace_id(trace.id)}"
299+
expect(my_entry).to include "dd.trace_id=#{format_for_correlation(trace.id)}"
300300
expect(my_entry).to include '[some_info]'
301301
expect(my_entry).to include '[some_other_info]'
302302

303-
expect(controller_logger_entry.scan(low_order_trace_id(trace.id).to_s)).to have(2).times
303+
expect(controller_logger_entry.scan(format_for_correlation(trace.id))).to have(2).times
304304
expect(controller_logger_entry).to include 'ddsource=ruby'
305305
expect(controller_logger_entry).to include '[some_info]'
306306
expect(controller_logger_entry).to include '[some_other_info]'
@@ -325,11 +325,11 @@ def index
325325

326326
rack_rails_logger_entry, my_entry, controller_logger_entry = log_entries
327327

328-
expect(rack_rails_logger_entry).to include "dd.trace_id=#{low_order_trace_id(trace.id)}"
328+
expect(rack_rails_logger_entry).to include "dd.trace_id=#{format_for_correlation(trace.id)}"
329329

330-
expect(my_entry).to include "dd.trace_id=#{low_order_trace_id(trace.id)}"
330+
expect(my_entry).to include "dd.trace_id=#{format_for_correlation(trace.id)}"
331331

332-
expect(controller_logger_entry.scan(low_order_trace_id(trace.id).to_s)).to have(2).times
332+
expect(controller_logger_entry.scan(format_for_correlation(trace.id))).to have(2).times
333333
expect(controller_logger_entry).to include 'ddsource=ruby'
334334
expect(controller_logger_entry).to include 'some_hash_info=test_hash_value'
335335
expect(controller_logger_entry).to include 'some_other_hash_info=other_test_hash_value'
@@ -356,11 +356,11 @@ def index
356356

357357
rack_rails_logger_entry, my_entry, controller_logger_entry = log_entries
358358

359-
expect(rack_rails_logger_entry).to include "dd.trace_id=#{low_order_trace_id(trace.id)}"
359+
expect(rack_rails_logger_entry).to include "dd.trace_id=#{format_for_correlation(trace.id)}"
360360

361-
expect(my_entry).to include "dd.trace_id=#{low_order_trace_id(trace.id)}"
361+
expect(my_entry).to include "dd.trace_id=#{format_for_correlation(trace.id)}"
362362

363-
expect(controller_logger_entry.scan(low_order_trace_id(trace.id).to_s)).to have(2).times
363+
expect(controller_logger_entry.scan(format_for_correlation(trace.id))).to have(2).times
364364
expect(controller_logger_entry).to include 'ddsource=ruby'
365365
expect(controller_logger_entry).to include 'some_lambda_info=test_lambda_value'
366366
expect(controller_logger_entry).to include 'some_other_lambda_info=other_test_lambda_value'
@@ -387,15 +387,15 @@ def index
387387

388388
rack_rails_logger_entry, my_entry, controller_logger_entry = log_entries
389389

390-
expect(rack_rails_logger_entry).to include "dd.trace_id=#{low_order_trace_id(trace.id)}"
390+
expect(rack_rails_logger_entry).to include "dd.trace_id=#{format_for_correlation(trace.id)}"
391391
expect(rack_rails_logger_entry).to include '[some_info]'
392392
expect(rack_rails_logger_entry).to include '[some_other_info]'
393393

394-
expect(my_entry).to include "dd.trace_id=#{low_order_trace_id(trace.id)}"
394+
expect(my_entry).to include "dd.trace_id=#{format_for_correlation(trace.id)}"
395395
expect(my_entry).to include '[some_info]'
396396
expect(my_entry).to include '[some_other_info]'
397397

398-
expect(controller_logger_entry.scan(low_order_trace_id(trace.id).to_s)).to have(2).times
398+
expect(controller_logger_entry.scan(format_for_correlation(trace.id))).to have(2).times
399399
expect(controller_logger_entry).to include '[some_info]'
400400
expect(controller_logger_entry).to include '[some_other_info]'
401401
expect(controller_logger_entry).to include 'ddsource=ruby'
@@ -420,9 +420,9 @@ def index
420420
expect(log_entries).to have(2).item
421421
rack_rails_logger_entry, my_entry = log_entries
422422

423-
expect(rack_rails_logger_entry).not_to include low_order_trace_id(trace.id).to_s
423+
expect(rack_rails_logger_entry).not_to include format_for_correlation(trace.id)
424424

425-
expect(my_entry).not_to include low_order_trace_id(trace.id).to_s
425+
expect(my_entry).not_to include format_for_correlation(trace.id)
426426
end
427427
end
428428

@@ -440,9 +440,9 @@ def index
440440

441441
rack_rails_logger_entry, my_entry = log_entries
442442

443-
expect(rack_rails_logger_entry).not_to include low_order_trace_id(trace.id).to_s
443+
expect(rack_rails_logger_entry).not_to include format_for_correlation(trace.id)
444444

445-
expect(my_entry).not_to include low_order_trace_id(trace.id).to_s
445+
expect(my_entry).not_to include format_for_correlation(trace.id)
446446
end
447447
end
448448

@@ -457,11 +457,11 @@ def index
457457

458458
rack_rails_logger_entry, my_entry = log_entries
459459

460-
expect(rack_rails_logger_entry).not_to include low_order_trace_id(trace.id).to_s
460+
expect(rack_rails_logger_entry).not_to include format_for_correlation(trace.id)
461461
expect(rack_rails_logger_entry).to include '[some_info]'
462462
expect(rack_rails_logger_entry).to include '[some_other_info]'
463463

464-
expect(my_entry).not_to include low_order_trace_id(trace.id).to_s
464+
expect(my_entry).not_to include format_for_correlation(trace.id)
465465
expect(my_entry).to include '[some_info]'
466466
expect(my_entry).to include '[some_other_info]'
467467
end
@@ -481,8 +481,10 @@ def index
481481
expect(log_entries).to have(2).items
482482

483483
rack_rails_logger_entry, my_entry = log_entries
484-
expect(rack_rails_logger_entry).to include "dd.trace_id=#{low_order_trace_id(low_order_trace_id(trace.id))}"
485-
expect(my_entry).to include "dd.trace_id=#{low_order_trace_id(low_order_trace_id(trace.id))}"
484+
expect(rack_rails_logger_entry).to include "dd.trace_id=#{
485+
format_for_correlation(trace.id)
486+
}"
487+
expect(my_entry).to include "dd.trace_id=#{format_for_correlation(trace.id)}"
486488
end
487489
end
488490
end
@@ -507,11 +509,11 @@ def index
507509

508510
rack_rails_logger_entry, my_entry, controller_logger_entry = log_entries
509511

510-
expect(rack_rails_logger_entry).not_to include low_order_trace_id(trace.id).to_s
512+
expect(rack_rails_logger_entry).not_to include format_for_correlation(trace.id)
511513

512-
expect(my_entry).not_to include low_order_trace_id(trace.id).to_s
514+
expect(my_entry).not_to include format_for_correlation(trace.id)
513515

514-
expect(controller_logger_entry).not_to include low_order_trace_id(trace.id).to_s
516+
expect(controller_logger_entry).not_to include format_for_correlation(trace.id)
515517
end
516518
end
517519

@@ -533,11 +535,11 @@ def index
533535

534536
rack_rails_logger_entry, my_entry, controller_logger_entry = log_entries
535537

536-
expect(rack_rails_logger_entry).not_to include low_order_trace_id(trace.id).to_s
538+
expect(rack_rails_logger_entry).not_to include format_for_correlation(trace.id)
537539

538-
expect(my_entry).not_to include low_order_trace_id(trace.id).to_s
540+
expect(my_entry).not_to include format_for_correlation(trace.id)
539541

540-
expect(controller_logger_entry).not_to include low_order_trace_id(trace.id).to_s
542+
expect(controller_logger_entry).not_to include format_for_correlation(trace.id)
541543
expect(controller_logger_entry).to include 'some_hash_info=test_hash_value'
542544
expect(controller_logger_entry).to include 'some_other_hash_info=other_test_hash_value'
543545
end
@@ -563,11 +565,11 @@ def index
563565

564566
rack_rails_logger_entry, my_entry, controller_logger_entry = log_entries
565567

566-
expect(rack_rails_logger_entry).not_to include low_order_trace_id(trace.id).to_s
568+
expect(rack_rails_logger_entry).not_to include format_for_correlation(trace.id)
567569

568-
expect(my_entry).not_to include low_order_trace_id(trace.id).to_s
570+
expect(my_entry).not_to include format_for_correlation(trace.id)
569571

570-
expect(controller_logger_entry).not_to include low_order_trace_id(trace.id).to_s
572+
expect(controller_logger_entry).not_to include format_for_correlation(trace.id)
571573
expect(controller_logger_entry).to include 'some_lambda_info=test_lambda_value'
572574
expect(controller_logger_entry).to include 'some_other_lambda_info=other_test_lambda_value'
573575
end
@@ -587,11 +589,11 @@ def index
587589

588590
rack_rails_logger_entry, my_entry, controller_logger_entry = log_entries
589591

590-
expect(rack_rails_logger_entry).not_to include low_order_trace_id(trace.id).to_s
592+
expect(rack_rails_logger_entry).not_to include format_for_correlation(trace.id)
591593

592-
expect(my_entry).not_to include low_order_trace_id(trace.id).to_s
594+
expect(my_entry).not_to include format_for_correlation(trace.id)
593595

594-
expect(controller_logger_entry).not_to include low_order_trace_id(trace.id).to_s
596+
expect(controller_logger_entry).not_to include format_for_correlation(trace.id)
595597
end
596598
end
597599
end

0 commit comments

Comments
 (0)