Skip to content

Add the possibility to output the logs of the Java tracer in JSON #8083

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 26 commits into from
Mar 10, 2025

Conversation

cecile75
Copy link
Collaborator

@cecile75 cecile75 commented Dec 12, 2024

What Does This Do

Add the possibility to output the logs of the Java tracer in JSON.
The JSON keys have been chosen to be compatible out of the box with the Logs UI of Datadog.
You will be able to identify all the logs coming from the tracer by filtering them using @origin:dd.trace

Note:

If you don’t configure a specific datadog.slf4j.simpleLogger.dateTimeFormat,

  • when JSON output is enabled, the dateTime format will be yyyy-MM-dd'T'HH:mm:ss.SSSZ to be compatible with the logs UI .
  • when JSON output is disabled, the default dateTime is still [dd.trace 'yyyy-MM-dd HH:mm:ss:SSS Z']

Usage

System property: datadog.slf4j.simpleLogger.jsonEnabled

Default: false

Description: This configuration key set to true will output the logs of the Java tracer in JSON.

Motivation

#1109

Additional Notes

Contributor Checklist

Jira ticket: [PROJ-IDENT]

Copy link
Contributor

Hi! 👋 Looks like you updated a Git Submodule.
If this was not intentional please make sure to:

Copy link
Contributor

Hi! 👋 Looks like you updated a Git Submodule.
If this was not intentional please make sure to:

@pr-commenter
Copy link

pr-commenter bot commented Dec 12, 2024

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master cecile/json-logs
git_commit_date 1741344572 1741348840
git_commit_sha b34cd6d ef0181b
release_version 1.48.0-SNAPSHOT~b34cd6dbd9 1.48.0-SNAPSHOT~ef0181b8ac
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1741351330 1741351330
ci_job_id 837644149 837644149
ci_pipeline_id 58073032 58073032
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-j57kgy2v-project-304-concurrent-0-7ctu2sjs 6.8.0-1023-aws #25~22.04.1-Ubuntu SMP Tue Jan 28 12:51:22 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-j57kgy2v-project-304-concurrent-0-7ctu2sjs 6.8.0-1023-aws #25~22.04.1-Ubuntu SMP Tue Jan 28 12:51:22 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None
variant iast iast

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 58 metrics, 5 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.48.0-SNAPSHOT~ef0181b8ac, baseline=1.48.0-SNAPSHOT~b34cd6dbd9

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.04 s) : 0, 1040088
Total [baseline] (8.675 s) : 0, 8674829
Agent [candidate] (1.042 s) : 0, 1041886
Total [candidate] (8.662 s) : 0, 8662101
section iast
Agent [baseline] (1.167 s) : 0, 1167247
Total [baseline] (9.224 s) : 0, 9223718
Agent [candidate] (1.168 s) : 0, 1168066
Total [candidate] (9.221 s) : 0, 9221249
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.189 s) : 0, 1188820
Total [baseline] (9.202 s) : 0, 9201661
Agent [candidate] (1.181 s) : 0, 1180705
Total [candidate] (9.2 s) : 0, 9200268
section iast_TELEMETRY_OFF
Agent [baseline] (1.165 s) : 0, 1165026
Total [baseline] (9.244 s) : 0, 9243547
Agent [candidate] (1.164 s) : 0, 1164343
Total [candidate] (9.208 s) : 0, 9208278
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.04 s -
Agent iast 1.167 s 127.159 ms (12.2%)
Agent iast_HARDCODED_SECRET_DISABLED 1.189 s 148.732 ms (14.3%)
Agent iast_TELEMETRY_OFF 1.165 s 124.938 ms (12.0%)
Total tracing 8.675 s -
Total iast 9.224 s 548.889 ms (6.3%)
Total iast_HARDCODED_SECRET_DISABLED 9.202 s 526.832 ms (6.1%)
Total iast_TELEMETRY_OFF 9.244 s 568.718 ms (6.6%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.042 s -
Agent iast 1.168 s 126.18 ms (12.1%)
Agent iast_HARDCODED_SECRET_DISABLED 1.181 s 138.819 ms (13.3%)
Agent iast_TELEMETRY_OFF 1.164 s 122.457 ms (11.8%)
Total tracing 8.662 s -
Total iast 9.221 s 559.147 ms (6.5%)
Total iast_HARDCODED_SECRET_DISABLED 9.2 s 538.166 ms (6.2%)
Total iast_TELEMETRY_OFF 9.208 s 546.177 ms (6.3%)
gantt
    title insecure-bank - break down per module: candidate=1.48.0-SNAPSHOT~ef0181b8ac, baseline=1.48.0-SNAPSHOT~b34cd6dbd9

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (715.917 ms) : 0, 715917
BytebuddyAgent [candidate] (718.832 ms) : 0, 718832
GlobalTracer [baseline] (239.7 ms) : 0, 239700
GlobalTracer [candidate] (238.784 ms) : 0, 238784
AppSec [baseline] (55.139 ms) : 0, 55139
AppSec [candidate] (55.604 ms) : 0, 55604
Remote Config [baseline] (673.029 µs) : 0, 673
Remote Config [candidate] (699.505 µs) : 0, 700
Telemetry [baseline] (13.736 ms) : 0, 13736
Telemetry [candidate] (13.052 ms) : 0, 13052
section iast
BytebuddyAgent [baseline] (833.886 ms) : 0, 833886
BytebuddyAgent [candidate] (835.063 ms) : 0, 835063
GlobalTracer [baseline] (229.383 ms) : 0, 229383
GlobalTracer [candidate] (229.625 ms) : 0, 229625
IAST [baseline] (22.943 ms) : 0, 22943
IAST [candidate] (22.899 ms) : 0, 22899
AppSec [baseline] (56.75 ms) : 0, 56750
AppSec [candidate] (56.327 ms) : 0, 56327
Remote Config [baseline] (609.868 µs) : 0, 610
Remote Config [candidate] (614.014 µs) : 0, 614
Telemetry [baseline] (8.717 ms) : 0, 8717
Telemetry [candidate] (8.665 ms) : 0, 8665
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (852.14 ms) : 0, 852140
BytebuddyAgent [candidate] (846.117 ms) : 0, 846117
GlobalTracer [baseline] (232.277 ms) : 0, 232277
GlobalTracer [candidate] (230.511 ms) : 0, 230511
IAST [baseline] (23.157 ms) : 0, 23157
IAST [candidate] (22.878 ms) : 0, 22878
AppSec [baseline] (56.76 ms) : 0, 56760
AppSec [candidate] (56.876 ms) : 0, 56876
Remote Config [baseline] (631.607 µs) : 0, 632
Remote Config [candidate] (604.605 µs) : 0, 605
Telemetry [baseline] (8.73 ms) : 0, 8730
Telemetry [candidate] (8.639 ms) : 0, 8639
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (832.362 ms) : 0, 832362
BytebuddyAgent [candidate] (831.919 ms) : 0, 831919
GlobalTracer [baseline] (229.678 ms) : 0, 229678
GlobalTracer [candidate] (229.51 ms) : 0, 229510
IAST [baseline] (23.908 ms) : 0, 23908
IAST [candidate] (22.354 ms) : 0, 22354
AppSec [baseline] (55.084 ms) : 0, 55084
AppSec [candidate] (56.543 ms) : 0, 56543
Remote Config [baseline] (616.593 µs) : 0, 617
Remote Config [candidate] (613.577 µs) : 0, 614
Telemetry [baseline] (8.526 ms) : 0, 8526
Telemetry [candidate] (8.58 ms) : 0, 8580
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.48.0-SNAPSHOT~ef0181b8ac, baseline=1.48.0-SNAPSHOT~b34cd6dbd9

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.04 s) : 0, 1039590
Total [baseline] (10.445 s) : 0, 10445202
Agent [candidate] (1.04 s) : 0, 1039577
Total [candidate] (10.385 s) : 0, 10384879
section appsec
Agent [baseline] (1.18 s) : 0, 1180122
Total [baseline] (10.71 s) : 0, 10709745
Agent [candidate] (1.182 s) : 0, 1182481
Total [candidate] (10.768 s) : 0, 10767707
section iast
Agent [baseline] (1.175 s) : 0, 1175310
Total [baseline] (10.915 s) : 0, 10914709
Agent [candidate] (1.169 s) : 0, 1168598
Total [candidate] (10.974 s) : 0, 10973615
section profiling
Agent [baseline] (1.26 s) : 0, 1259870
Total [baseline] (10.925 s) : 0, 10925423
Agent [candidate] (1.263 s) : 0, 1262820
Total [candidate] (10.84 s) : 0, 10839836
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.04 s -
Agent appsec 1.18 s 140.532 ms (13.5%)
Agent iast 1.175 s 135.72 ms (13.1%)
Agent profiling 1.26 s 220.28 ms (21.2%)
Total tracing 10.445 s -
Total appsec 10.71 s 264.543 ms (2.5%)
Total iast 10.915 s 469.507 ms (4.5%)
Total profiling 10.925 s 480.221 ms (4.6%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.04 s -
Agent appsec 1.182 s 142.904 ms (13.7%)
Agent iast 1.169 s 129.02 ms (12.4%)
Agent profiling 1.263 s 223.243 ms (21.5%)
Total tracing 10.385 s -
Total appsec 10.768 s 382.827 ms (3.7%)
Total iast 10.974 s 588.736 ms (5.7%)
Total profiling 10.84 s 454.956 ms (4.4%)
gantt
    title petclinic - break down per module: candidate=1.48.0-SNAPSHOT~ef0181b8ac, baseline=1.48.0-SNAPSHOT~b34cd6dbd9

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (715.967 ms) : 0, 715967
BytebuddyAgent [candidate] (716.566 ms) : 0, 716566
GlobalTracer [baseline] (239.091 ms) : 0, 239091
GlobalTracer [candidate] (239.714 ms) : 0, 239714
AppSec [baseline] (55.371 ms) : 0, 55371
AppSec [candidate] (55.47 ms) : 0, 55470
Remote Config [baseline] (688.468 µs) : 0, 688
Remote Config [candidate] (687.774 µs) : 0, 688
Telemetry [baseline] (13.55 ms) : 0, 13550
Telemetry [candidate] (12.263 ms) : 0, 12263
section appsec
BytebuddyAgent [baseline] (733.263 ms) : 0, 733263
BytebuddyAgent [candidate] (733.989 ms) : 0, 733989
GlobalTracer [baseline] (235.783 ms) : 0, 235783
GlobalTracer [candidate] (236.523 ms) : 0, 236523
AppSec [baseline] (176.662 ms) : 0, 176662
AppSec [candidate] (177.489 ms) : 0, 177489
Remote Config [baseline] (652.016 µs) : 0, 652
Remote Config [candidate] (657.898 µs) : 0, 658
Telemetry [baseline] (8.232 ms) : 0, 8232
Telemetry [candidate] (8.293 ms) : 0, 8293
IAST [baseline] (21.351 ms) : 0, 21351
IAST [candidate] (21.229 ms) : 0, 21229
section iast
BytebuddyAgent [baseline] (841.849 ms) : 0, 841849
BytebuddyAgent [candidate] (834.98 ms) : 0, 834980
GlobalTracer [baseline] (229.623 ms) : 0, 229623
GlobalTracer [candidate] (229.873 ms) : 0, 229873
AppSec [baseline] (56.491 ms) : 0, 56491
AppSec [candidate] (55.86 ms) : 0, 55860
Remote Config [baseline] (610.198 µs) : 0, 610
Remote Config [candidate] (621.435 µs) : 0, 621
Telemetry [baseline] (8.741 ms) : 0, 8741
Telemetry [candidate] (8.685 ms) : 0, 8685
IAST [baseline] (22.991 ms) : 0, 22991
IAST [candidate] (23.693 ms) : 0, 23693
section profiling
BytebuddyAgent [baseline] (710.293 ms) : 0, 710293
BytebuddyAgent [candidate] (710.573 ms) : 0, 710573
GlobalTracer [baseline] (349.108 ms) : 0, 349108
GlobalTracer [candidate] (351.409 ms) : 0, 351409
AppSec [baseline] (54.389 ms) : 0, 54389
AppSec [candidate] (54.445 ms) : 0, 54445
Remote Config [baseline] (669.918 µs) : 0, 670
Remote Config [candidate] (675.458 µs) : 0, 675
Telemetry [baseline] (8.826 ms) : 0, 8826
Telemetry [candidate] (9.067 ms) : 0, 9067
ProfilingAgent [baseline] (95.891 ms) : 0, 95891
ProfilingAgent [candidate] (96.288 ms) : 0, 96288
Profiling [baseline] (95.915 ms) : 0, 95915
Profiling [candidate] (96.314 ms) : 0, 96314
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-03-07T12:12:30 2025-03-07T12:20:14
git_branch master cecile/json-logs
git_commit_date 1741344572 1741348840
git_commit_sha b34cd6d ef0181b
release_version 1.48.0-SNAPSHOT~b34cd6dbd9 1.48.0-SNAPSHOT~ef0181b8ac
start_time 2025-03-07T12:12:16 2025-03-07T12:20:00
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1741350414 1741350414
ci_job_id 837644150 837644150
ci_pipeline_id 58073032 58073032
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-pctlsheo-project-304-concurrent-0-u0hgl80g 6.8.0-1023-aws #25~22.04.1-Ubuntu SMP Tue Jan 28 12:51:22 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-pctlsheo-project-304-concurrent-0-u0hgl80g 6.8.0-1023-aws #25~22.04.1-Ubuntu SMP Tue Jan 28 12:51:22 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
variant iast iast

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 14 metrics, 16 unstable metrics.

Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.48.0-SNAPSHOT~ef0181b8ac, baseline=1.48.0-SNAPSHOT~b34cd6dbd9
    dateFormat X
    axisFormat %s
section baseline
no_agent (383.679 µs) : 363, 404
.   : milestone, 384,
iast (516.591 µs) : 495, 538
.   : milestone, 517,
iast_FULL (738.814 µs) : 717, 761
.   : milestone, 739,
iast_GLOBAL (560.308 µs) : 539, 582
.   : milestone, 560,
iast_HARDCODED_SECRET_DISABLED (519.092 µs) : 497, 541
.   : milestone, 519,
iast_INACTIVE (474.334 µs) : 453, 496
.   : milestone, 474,
iast_TELEMETRY_OFF (502.309 µs) : 481, 524
.   : milestone, 502,
tracing (463.32 µs) : 442, 485
.   : milestone, 463,
section candidate
no_agent (385.289 µs) : 365, 405
.   : milestone, 385,
iast (514.393 µs) : 493, 536
.   : milestone, 514,
iast_FULL (735.338 µs) : 714, 757
.   : milestone, 735,
iast_GLOBAL (561.265 µs) : 540, 583
.   : milestone, 561,
iast_HARDCODED_SECRET_DISABLED (517.265 µs) : 495, 539
.   : milestone, 517,
iast_INACTIVE (468.033 µs) : 447, 489
.   : milestone, 468,
iast_TELEMETRY_OFF (503.873 µs) : 481, 527
.   : milestone, 504,
tracing (460.102 µs) : 439, 482
.   : milestone, 460,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 383.679 µs [363.312 µs, 404.045 µs] -
iast 516.591 µs [494.75 µs, 538.432 µs] 132.912 µs (34.6%)
iast_FULL 738.814 µs [717.005 µs, 760.622 µs] 355.135 µs (92.6%)
iast_GLOBAL 560.308 µs [538.901 µs, 581.716 µs] 176.63 µs (46.0%)
iast_HARDCODED_SECRET_DISABLED 519.092 µs [497.069 µs, 541.115 µs] 135.413 µs (35.3%)
iast_INACTIVE 474.334 µs [452.592 µs, 496.077 µs] 90.656 µs (23.6%)
iast_TELEMETRY_OFF 502.309 µs [480.662 µs, 523.955 µs] 118.63 µs (30.9%)
tracing 463.32 µs [441.984 µs, 484.655 µs] 79.641 µs (20.8%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 385.289 µs [365.41 µs, 405.168 µs] -
iast 514.393 µs [492.57 µs, 536.216 µs] 129.104 µs (33.5%)
iast_FULL 735.338 µs [713.573 µs, 757.104 µs] 350.049 µs (90.9%)
iast_GLOBAL 561.265 µs [539.653 µs, 582.876 µs] 175.975 µs (45.7%)
iast_HARDCODED_SECRET_DISABLED 517.265 µs [495.469 µs, 539.061 µs] 131.975 µs (34.3%)
iast_INACTIVE 468.033 µs [446.772 µs, 489.294 µs] 82.744 µs (21.5%)
iast_TELEMETRY_OFF 503.873 µs [481.013 µs, 526.733 µs] 118.584 µs (30.8%)
tracing 460.102 µs [438.696 µs, 481.507 µs] 74.812 µs (19.4%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.48.0-SNAPSHOT~ef0181b8ac, baseline=1.48.0-SNAPSHOT~b34cd6dbd9
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.372 ms) : 1352, 1393
.   : milestone, 1372,
appsec (1.724 ms) : 1700, 1748
.   : milestone, 1724,
appsec_no_iast (1.746 ms) : 1722, 1771
.   : milestone, 1746,
code_origins (1.672 ms) : 1640, 1705
.   : milestone, 1672,
iast (1.508 ms) : 1484, 1532
.   : milestone, 1508,
profiling (1.525 ms) : 1501, 1548
.   : milestone, 1525,
tracing (1.489 ms) : 1464, 1513
.   : milestone, 1489,
section candidate
no_agent (1.351 ms) : 1332, 1371
.   : milestone, 1351,
appsec (1.735 ms) : 1711, 1758
.   : milestone, 1735,
appsec_no_iast (1.76 ms) : 1736, 1784
.   : milestone, 1760,
code_origins (1.677 ms) : 1644, 1711
.   : milestone, 1677,
iast (1.541 ms) : 1518, 1564
.   : milestone, 1541,
profiling (1.558 ms) : 1534, 1583
.   : milestone, 1558,
tracing (1.489 ms) : 1464, 1514
.   : milestone, 1489,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.372 ms [1.352 ms, 1.393 ms] -
appsec 1.724 ms [1.7 ms, 1.748 ms] 352.03 µs (25.7%)
appsec_no_iast 1.746 ms [1.722 ms, 1.771 ms] 374.368 µs (27.3%)
code_origins 1.672 ms [1.64 ms, 1.705 ms] 300.24 µs (21.9%)
iast 1.508 ms [1.484 ms, 1.532 ms] 135.597 µs (9.9%)
profiling 1.525 ms [1.501 ms, 1.548 ms] 152.715 µs (11.1%)
tracing 1.489 ms [1.464 ms, 1.513 ms] 116.502 µs (8.5%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.351 ms [1.332 ms, 1.371 ms] -
appsec 1.735 ms [1.711 ms, 1.758 ms] 383.291 µs (28.4%)
appsec_no_iast 1.76 ms [1.736 ms, 1.784 ms] 408.396 µs (30.2%)
code_origins 1.677 ms [1.644 ms, 1.711 ms] 325.999 µs (24.1%)
iast 1.541 ms [1.518 ms, 1.564 ms] 189.772 µs (14.0%)
profiling 1.558 ms [1.534 ms, 1.583 ms] 206.733 µs (15.3%)
tracing 1.489 ms [1.464 ms, 1.514 ms] 137.218 µs (10.2%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master cecile/json-logs
git_commit_date 1741344572 1741348840
git_commit_sha b34cd6d ef0181b
release_version 1.48.0-SNAPSHOT~b34cd6dbd9 1.48.0-SNAPSHOT~ef0181b8ac
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1741350933 1741350933
ci_job_id 837644151 837644151
ci_pipeline_id 58073032 58073032
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-s3yupehv-project-304-concurrent-0-3w9rv91a 6.8.0-1023-aws #25~22.04.1-Ubuntu SMP Tue Jan 28 12:51:22 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-s3yupehv-project-304-concurrent-0-3w9rv91a 6.8.0-1023-aws #25~22.04.1-Ubuntu SMP Tue Jan 28 12:51:22 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
variant appsec appsec

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 0 unstable metrics.

Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.48.0-SNAPSHOT~ef0181b8ac, baseline=1.48.0-SNAPSHOT~b34cd6dbd9
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.829 s) : 14829000, 14829000
.   : milestone, 14829000,
appsec (14.918 s) : 14918000, 14918000
.   : milestone, 14918000,
iast (18.458 s) : 18458000, 18458000
.   : milestone, 18458000,
iast_GLOBAL (18.033 s) : 18033000, 18033000
.   : milestone, 18033000,
profiling (14.933 s) : 14933000, 14933000
.   : milestone, 14933000,
tracing (15.306 s) : 15306000, 15306000
.   : milestone, 15306000,
section candidate
no_agent (15.533 s) : 15533000, 15533000
.   : milestone, 15533000,
appsec (15.052 s) : 15052000, 15052000
.   : milestone, 15052000,
iast (18.787 s) : 18787000, 18787000
.   : milestone, 18787000,
iast_GLOBAL (17.882 s) : 17882000, 17882000
.   : milestone, 17882000,
profiling (15.052 s) : 15052000, 15052000
.   : milestone, 15052000,
tracing (14.724 s) : 14724000, 14724000
.   : milestone, 14724000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.829 s [14.829 s, 14.829 s] -
appsec 14.918 s [14.918 s, 14.918 s] 89.0 ms (0.6%)
iast 18.458 s [18.458 s, 18.458 s] 3.629 s (24.5%)
iast_GLOBAL 18.033 s [18.033 s, 18.033 s] 3.204 s (21.6%)
profiling 14.933 s [14.933 s, 14.933 s] 104.0 ms (0.7%)
tracing 15.306 s [15.306 s, 15.306 s] 477.0 ms (3.2%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.533 s [15.533 s, 15.533 s] -
appsec 15.052 s [15.052 s, 15.052 s] -481.0 ms (-3.1%)
iast 18.787 s [18.787 s, 18.787 s] 3.254 s (20.9%)
iast_GLOBAL 17.882 s [17.882 s, 17.882 s] 2.349 s (15.1%)
profiling 15.052 s [15.052 s, 15.052 s] -481.0 ms (-3.1%)
tracing 14.724 s [14.724 s, 14.724 s] -809.0 ms (-5.2%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.48.0-SNAPSHOT~ef0181b8ac, baseline=1.48.0-SNAPSHOT~b34cd6dbd9
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.479 ms) : 1467, 1491
.   : milestone, 1479,
appsec (2.357 ms) : 2314, 2400
.   : milestone, 2357,
iast (2.108 ms) : 2053, 2162
.   : milestone, 2108,
iast_GLOBAL (2.181 ms) : 2125, 2237
.   : milestone, 2181,
profiling (1.97 ms) : 1927, 2013
.   : milestone, 1970,
tracing (1.952 ms) : 1910, 1994
.   : milestone, 1952,
section candidate
no_agent (1.485 ms) : 1473, 1497
.   : milestone, 1485,
appsec (2.36 ms) : 2317, 2403
.   : milestone, 2360,
iast (2.122 ms) : 2067, 2177
.   : milestone, 2122,
iast_GLOBAL (2.166 ms) : 2110, 2221
.   : milestone, 2166,
profiling (1.989 ms) : 1944, 2033
.   : milestone, 1989,
tracing (1.965 ms) : 1922, 2007
.   : milestone, 1965,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.479 ms [1.467 ms, 1.491 ms] -
appsec 2.357 ms [2.314 ms, 2.4 ms] 877.792 µs (59.4%)
iast 2.108 ms [2.053 ms, 2.162 ms] 628.823 µs (42.5%)
iast_GLOBAL 2.181 ms [2.125 ms, 2.237 ms] 701.998 µs (47.5%)
profiling 1.97 ms [1.927 ms, 2.013 ms] 490.942 µs (33.2%)
tracing 1.952 ms [1.91 ms, 1.994 ms] 472.881 µs (32.0%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.485 ms [1.473 ms, 1.497 ms] -
appsec 2.36 ms [2.317 ms, 2.403 ms] 874.921 µs (58.9%)
iast 2.122 ms [2.067 ms, 2.177 ms] 636.835 µs (42.9%)
iast_GLOBAL 2.166 ms [2.11 ms, 2.221 ms] 680.509 µs (45.8%)
profiling 1.989 ms [1.944 ms, 2.033 ms] 503.456 µs (33.9%)
tracing 1.965 ms [1.922 ms, 2.007 ms] 479.593 µs (32.3%)

@cecile75 cecile75 marked this pull request as ready for review March 3, 2025 10:40
@cecile75 cecile75 requested a review from a team as a code owner March 3, 2025 10:40
@cecile75 cecile75 requested a review from amarziali March 3, 2025 10:40
Copy link
Contributor

github-actions bot commented Mar 3, 2025

Hi! 👋 Thanks for your pull request! 🎉

To help us review it, please make sure to:

  • Add at least one type, and one component or instrumentation label to the pull request

If you need help, please check our contributing guidelines.

@cecile75 cecile75 added comp: logging Tracer internal logging type: enhancement labels Mar 3, 2025
setSystemPropertyDefault(
SIMPLE_LOGGER_DATE_TIME_FORMAT_PROPERTY, SIMPLE_LOGGER_DATE_TIME_FORMAT_DEFAULT);
setSystemPropertyDefault(SIMPLE_LOGGER_JSON_ENABLED_PROPERTY, "false");
if (System.getProperty(SIMPLE_LOGGER_JSON_ENABLED_PROPERTY).equalsIgnoreCase("true")) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the property is set by using an environment variable this if won't go inside while it should. you should put || ddGetEnv(...)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mimic the behaviour of datadog.slf4j.simpleLogger.showDateTime:

  • if the environment variable is set to any value => value applied: the default value in SLCompatSettings
  • if the system property key is set => value applied: the system property value
  • if nothing is set => value applied: the default value in Agent.java

This being said, I agree that it's probably something we want to revisit in another dedicated PR

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that's acceptable as soon as it is well documented right now

writer.beginObject();
writer.name("message").value(t.getMessage());
if (t.getStackTrace().length > 0) {
List<StackTraceElement> stackTraceElementList = Arrays.asList(t.getStackTrace());
Copy link
Collaborator

@amarziali amarziali Mar 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the code above each call stack is iterated using a foreach:

    for (StackTraceElement element : t.getStackTrace()) {

Why there here we need to use an extra list and copy the array?

Copy link
Collaborator

@amarziali amarziali left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the addition. It looks globally ok to me. I've left a couple of comments I'd like to clarify

@cecile75 cecile75 merged commit 735b705 into master Mar 10, 2025
220 checks passed
@cecile75 cecile75 deleted the cecile/json-logs branch March 10, 2025 09:58
@github-actions github-actions bot added this to the 1.48.0 milestone Mar 10, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Apr 11, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
| org.flywaydb.flyway | plugin | misk/gradle/libs.versions.toml | gradle
| minor | `11.6.0` -> `11.7.0` |
|
[com.squareup.okio:okio-fakefilesystem](https://github.com/square/okio)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`3.10.2` -> `3.11.0` |
| [com.squareup.okio:okio](https://github.com/square/okio) |
dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`3.10.2` -> `3.11.0` |
|
[com.autonomousapps.dependency-analysis](https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin)
| plugin | misk/gradle/libs.versions.toml | gradle | minor | `2.15.0` ->
`2.16.0` |
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.47.3` -> `1.48.1` |
| [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.47.3` -> `1.48.1` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
| [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |

---

### Release Notes

<details>
<summary>square/okio (com.squareup.okio:okio-fakefilesystem)</summary>

###
[`v3.11.0`](https://github.com/square/okio/blob/HEAD/CHANGELOG.md#Version-3110)

*2025-04-09*

-   Fix: Clear the deflater's byte array reference
-   New: Faster implementation of `String.decodeHex()` on Kotlin/JS.
- New: Declare `EXACTLY_ONCE` execution for blocks like `Closeable.use
{}` and `FileSystem.read {}`.
-   Upgrade: \[Kotlin 2.1.20]\[kotlin\_2\_1\_20].

</details>

<details>
<summary>autonomousapps/dependency-analysis-android-gradle-plugin
(com.autonomousapps.dependency-analysis)</summary>

###
[`v2.16.0`](https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin/blob/HEAD/CHANGELOG.md#Version-2160)

-   \[Feat]: support `com.android.test` projects.
-   \[Feat]: support typesafe project accessors with opt-in.

```kotlin
dependencyAnalysis {
  useTypesafeProjectAccessors(true) // false by default
}
```

</details>

<details>
<summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary>

###
[`v1.48.1`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.48.1):
1.48.1

### Components

#### Tracer internal logging

- 🐛 Remove print line causing unnecessary logs
([#&#8203;8687](DataDog/dd-trace-java#8687) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))

###
[`v1.48.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.48.0):
1.48.0

### Known Bugs

> \[!NOTE]
> If you are experiencing issues with spamming timeout logs, please
update to the [latest
version](https://github.com/DataDog/dd-trace-java/releases/latest) or
set
[JDK_SOCKET_ENABLED](https://github.com/DataDog/dd-trace-java/blob/33fc3c9a9b7cda3beda88b8b3e5224ae2b10764a/dd-trace-api/src/main/java/datadog/trace/api/config/GeneralConfig.java#L98)
to false.

### Components

#### Application Security Management (IAST)

- ✨ Fix vulnerability location org.jose4j.lang.HashUtil
([#&#8203;8610](DataDog/dd-trace-java#8610) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Fix weak randomness in oracle.ucp.util.OpaqueString
([#&#8203;8609](DataDog/dd-trace-java#8609) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Fix weak hash false positive in
oracle.security.o5logon.O5Logon
([#&#8203;8608](DataDog/dd-trace-java#8608) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Prevent before callsites targeting constructors in super calls
([#&#8203;8549](DataDog/dd-trace-java#8549) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))

#### Application Security Management (WAF)

- ✨ Update login events public SDK to V2
([#&#8203;8620](DataDog/dd-trace-java#8620) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- 🐛 Send RASP LFI capability only when AppSec is statically enabled
([#&#8203;8573](DataDog/dd-trace-java#8573) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Improve detection of missing request end events
([#&#8203;8510](DataDog/dd-trace-java#8510) -
[@&#8203;smola](https://github.com/smola))
- 🧹 Remove remote configuration for API Security sampling rate
([#&#8203;8486](DataDog/dd-trace-java#8486) -
[@&#8203;smola](https://github.com/smola))
- ✨ Add setUser to user monitoring SDK
([#&#8203;8482](DataDog/dd-trace-java#8482) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Add missing address for signup event
([#&#8203;8469](DataDog/dd-trace-java#8469) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Allow login events SDK to be used with appsec disabled
([#&#8203;8464](DataDog/dd-trace-java#8464) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Add support for endpoint discovery in spring mvc
([#&#8203;8352](DataDog/dd-trace-java#8352) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ New API Security sampling algorithm
([#&#8203;8178](DataDog/dd-trace-java#8178) -
[@&#8203;ValentinZakharov](https://github.com/ValentinZakharov))

#### Build & Tooling

- ✨ Add buffer size customizability to JDK UDS support
([#&#8203;8629](DataDog/dd-trace-java#8629) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))
- ✨ Add JDK built-in support for UDS on Java 16+
([#&#8203;8314](DataDog/dd-trace-java#8314) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))

#### Configuration at Runtime

- 🐛 Send RASP LFI capability only when AppSec is statically enabled
([#&#8203;8573](DataDog/dd-trace-java#8573) -
[@&#8203;jandro996](https://github.com/jandro996))

#### Continuous Integration Visibility

- 🐛 Prevent double reporting of Scalatest events when using SBT with
test forking
([#&#8203;8682](DataDog/dd-trace-java#8682) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Shutdown CI Visibility test event handlers before tracer
([#&#8203;8677](DataDog/dd-trace-java#8677) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Do not apply JUnit 4 instrumentation to MUnit runners
([#&#8203;8675](DataDog/dd-trace-java#8675),
[#&#8203;8683](DataDog/dd-trace-java#8683) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Remove error log when source path resolution fails on
isModified check
([#&#8203;8663](DataDog/dd-trace-java#8663) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Implement tests reordering for JUnit 4
([#&#8203;8650](DataDog/dd-trace-java#8650) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- 🐛 Set default Attempt to Fix retries if none provided from the
backend
([#&#8203;8615](DataDog/dd-trace-java#8615) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Allow to manually set PR info
([#&#8203;8566](DataDog/dd-trace-java#8566) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Fix Test Optimization init when repo root cannot be determined
([#&#8203;8533](DataDog/dd-trace-java#8533) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add capabilities tagging
([#&#8203;8499](DataDog/dd-trace-java#8499),
[#&#8203;8540](DataDog/dd-trace-java#8540) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))

#### Crash tracking

- 🐛 Remove dependency on bash from crash/oome uploder scripts
([#&#8203;8652](DataDog/dd-trace-java#8652) -
[@&#8203;jbachorik](https://github.com/jbachorik))

#### Data Streams Monitoring

- ✨ e2e pipeline configuration when data jobs is enabled
([#&#8203;8553](DataDog/dd-trace-java#8553) -
[@&#8203;kr-igor](https://github.com/kr-igor))

#### Dynamic Instrumentation

- 🐛 Fix In-Product when config is empty
([#&#8203;8679](DataDog/dd-trace-java#8679) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add support for filtering shaded third-party libs
([#&#8203;8612](DataDog/dd-trace-java#8612) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add In-Product Enablement
([#&#8203;8587](DataDog/dd-trace-java#8587) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨⚡ Reduce footprint of SourceFile tracking
([#&#8203;8524](DataDog/dd-trace-java#8524) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨⚡ Optimize the SourceFile tracking
([#&#8203;8520](DataDog/dd-trace-java#8520) -
[@&#8203;jpbempel](https://github.com/jpbempel))

#### OpenTracing

- 🧹 Remove activeScope() use in OpenTracing shim
([#&#8203;8478](DataDog/dd-trace-java#8478) -
[@&#8203;mcculls](https://github.com/mcculls))

#### Profiling

- ✨ Add profiler env check command to AgentCLI
([#&#8203;8671](DataDog/dd-trace-java#8671) -
[@&#8203;jbachorik](https://github.com/jbachorik))

- ✨ Bump ddprof to 1.23.0
([#&#8203;8668](DataDog/dd-trace-java#8668) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- Fix a crash related to ElfParser::loadSymbolTable
([#&#8203;191](DataDog/dd-trace-java#191)) by
[@&#8203;yanglong1010](https://github.com/yanglong1010) in
DataDog/java-profiler#192
- Unwind String.indexOf intrinsic on AArch64 by
[@&#8203;MattAlp](https://github.com/MattAlp) in
DataDog/java-profiler#193
- Fix Java 24 support by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#194
- A set of fixes related to clang, aarch64 and musl pecularities of
vmstructs stack unwinder by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#199

- 🐛 Remove process information from JFR recording
([#&#8203;8661](DataDog/dd-trace-java#8661) -
[@&#8203;r1viollet](https://github.com/r1viollet))

- 🐛 Make TempLocationManager USER aware
([#&#8203;8605](DataDog/dd-trace-java#8605) -
[@&#8203;jbachorik](https://github.com/jbachorik))

- ✨ Extract git tags from embedded git.properties and
datadog_git.properties
([#&#8203;8561](DataDog/dd-trace-java#8561) -
[@&#8203;wmouchere](https://github.com/wmouchere))

#### Telemetry

- 🐛 Fix appsec.rasp.error and appsec.waf.error telemetry metrics
([#&#8203;8624](DataDog/dd-trace-java#8624) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Create metric: appsec.rasp.rule.skipped
([#&#8203;8618](DataDog/dd-trace-java#8618) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Extract git tags from embedded git.properties and
datadog_git.properties
([#&#8203;8561](DataDog/dd-trace-java#8561) -
[@&#8203;wmouchere](https://github.com/wmouchere))

#### Testing

- 🧹 Simplify ssi tests one-pipeline
([#&#8203;8558](DataDog/dd-trace-java#8558) -
[@&#8203;robertomonteromiguel](https://github.com/robertomonteromiguel))
- ✨ Add smoke tests for java's concurrent API
([#&#8203;8438](DataDog/dd-trace-java#8438) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))

#### Trace context propagation

- ✨ Adding Support for `TRACE_PROPAGATION_BEHAVIOR_EXTRACT`
([#&#8203;8535](DataDog/dd-trace-java#8535) -
[@&#8203;mhlidd](https://github.com/mhlidd))

#### Tracer core

- 🐛 Ensure shaded helpers have unique names
([#&#8203;8559](DataDog/dd-trace-java#8559) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Support common config sources for user-provided git info
([#&#8203;8547](DataDog/dd-trace-java#8547) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Make the default config sources more robust when a security
manager is installed
([#&#8203;8544](DataDog/dd-trace-java#8544) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Support targeting services with configurations in stable
configuration file
([#&#8203;8526](DataDog/dd-trace-java#8526) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
- ✨ Add new parser for `DD_TAGS` and prioritizing `DD_SERVICE`
([#&#8203;8296](DataDog/dd-trace-java#8296) -
[@&#8203;mhlidd](https://github.com/mhlidd))

#### Tracer internal logging

- 🐛 Add missing debug log for the cloudPayloadTaggingServices config
([#&#8203;8600](DataDog/dd-trace-java#8600) -
[@&#8203;ygree](https://github.com/ygree))
- ✨ Add the possibility to output the logs of the Java tracer
in JSON
([#&#8203;8083](DataDog/dd-trace-java#8083) -
[@&#8203;cecile75](https://github.com/cecile75))

#### Tracer public API

- ✨ Introducing `DD_TRACE_EXPERIMENTAL_FEATURES_ENABLED` Config
([#&#8203;8536](DataDog/dd-trace-java#8536) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- ✨ Config Consistency Round 2
([#&#8203;8489](DataDog/dd-trace-java#8489) -
[@&#8203;mhlidd](https://github.com/mhlidd))

### Instrumentations

####

- 🐛 Fix NPE in getMdcCopy of LoggingEventInstrumentation
([#&#8203;8599](DataDog/dd-trace-java#8599) -
[@&#8203;ygree](https://github.com/ygree))

#### Apache Spark instrumentation

- ✨ Instrument Runtime.exit() to finish spark application spans
([#&#8203;8572](DataDog/dd-trace-java#8572) -
[@&#8203;paul-laffon-dd](https://github.com/paul-laffon-dd))
- ✨ Configure OpenLineage if present in Spark instrumentation
([#&#8203;8541](DataDog/dd-trace-java#8541) -
[@&#8203;mobuchowski](https://github.com/mobuchowski))

#### Armeria Instrumentation

- ✨ Support armeria grpc 1.32.3
([#&#8203;8606](DataDog/dd-trace-java#8606) -
[@&#8203;github-actions](https://github.com/github-actions)\[bot])

#### AWS DynamoDB Instrumentation

- ✨ Create DynamoDB instrumentation + add span pointers for
`updateItem` and `deleteItem`
([#&#8203;8490](DataDog/dd-trace-java#8490) -
[@&#8203;nhulston](https://github.com/nhulston))

#### AWS SDK instrumentation

- ✨ Add DynamoDB in
DEFAULT_TRACE_CLOUD_PAYLOAD_TAGGING_SERVICES
([#&#8203;8595](DataDog/dd-trace-java#8595) -
[@&#8203;joeyzhao2018](https://github.com/joeyzhao2018))

#### Azure Functions instrumentation

- ✨ Enable tracer computed trace metrics by default for Azure
Functions
([#&#8203;8518](DataDog/dd-trace-java#8518) -
[@&#8203;duncanpharvey](https://github.com/duncanpharvey))
- 💡 Add azure-functions instrumentation
([#&#8203;8432](DataDog/dd-trace-java#8432) -
[@&#8203;duncanpharvey](https://github.com/duncanpharvey))

#### Core Java language instrumentation

- 🐛 Fix ForkJoinPool.execute() instrumentation on Java 21+
([#&#8203;8560](DataDog/dd-trace-java#8560) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

#### Eclipse Vert.x instrumentation

- ✨ Add vertx postgresql client instrumentation
([#&#8203;8471](DataDog/dd-trace-java#8471) -
[@&#8203;vandonr](https://github.com/vandonr) - thanks for the
contribution!)

#### Kafka instrumentation

- ✨ Support and test kafka-clients 4
([#&#8203;8581](DataDog/dd-trace-java#8581) -
[@&#8203;amarziali](https://github.com/amarziali))

#### Kotlin instrumentation

- ✨ Avoid disconnected traces when using Kotlin flowOn
([#&#8203;8651](DataDog/dd-trace-java#8651) -
[@&#8203;mcculls](https://github.com/mcculls))

#### OpenTelemetry instrumentation

- 🧹 Migrate OtelContext wrapper to new internal Context API
([#&#8203;8645](DataDog/dd-trace-java#8645) -
[@&#8203;mcculls](https://github.com/mcculls))

#### Spring instrumentation

- 🐛 Support CompletableFuture on spring webmvc controllers
([#&#8203;8659](DataDog/dd-trace-java#8659) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add support for endpoint discovery in spring mvc
([#&#8203;8352](DataDog/dd-trace-java#8352) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))

#### WebSocket Instrumentation

- ✨ Instrument Jetty websocket pojo
([#&#8203;8562](DataDog/dd-trace-java#8562) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡 Instrument Java Websocket API (JSR356)
([#&#8203;8440](DataDog/dd-trace-java#8440) -
[@&#8203;amarziali](https://github.com/amarziali))

#### All other instrumentations

- ✨ Introduce cache for peer.hostname lookup
([#&#8203;8601](DataDog/dd-trace-java#8601) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Support pekko http 1.1
([#&#8203;8532](DataDog/dd-trace-java#8532) -
[@&#8203;amarziali](https://github.com/amarziali))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 6pm every weekday,before 2am
every weekday" in timezone Australia/Melbourne, Automerge - At any time
(no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://github.com/renovatebot/renovate).

GitOrigin-RevId: 331314f71acaced3adc75ea5d7e855c248d593fc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp: logging Tracer internal logging type: enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants