Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Configure OpenLineage if present in Spark instrumentation #8541

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 2 commits into from
Apr 2, 2025

Conversation

mobuchowski
Copy link
Contributor

@mobuchowski mobuchowski commented Mar 12, 2025

What Does This Do

If OpenLineage library is present on the classpath, instrument SparkListenerBus to inject the OpenLineageSparkListener with additional tags ourselves.

Motivation

https://docs.google.com/document/d/14nmf3UcqhzoOfooiveoEBUO-HHejKalLR-qAKzbR2PI/edit?tab=t.0#heading=h.dpfdi5vyt85h

https://docs.google.com/document/d/1EwNCsnhnilL6YHYMg4UYwqK_yKgBEUsxys669h8l_-M/edit?tab=t.0#heading=h.o8z5ox632qxx

Additional Notes

Contributor Checklist

Jira ticket: [PROJ-IDENT]

@mobuchowski mobuchowski added the inst: apache spark Apache Spark instrumentation label Mar 12, 2025
@mobuchowski mobuchowski requested a review from a team as a code owner March 12, 2025 12:21
Copy link
Contributor

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.

@pr-commenter
Copy link

pr-commenter bot commented Mar 12, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mobuchowski/openlineage-agent-direct
git_commit_date 1743592817 1743596309
git_commit_sha 32046a3 83cf093
release_version 1.48.0-SNAPSHOT~32046a39ed 1.48.0-SNAPSHOT~83cf093182
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1743599430 1743599430
ci_job_id 876869835 876869835
ci_pipeline_id 60789920 60789920
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-m1cw8fbu-project-304-concurrent-0-v0konzd6 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-m1cw8fbu-project-304-concurrent-0-v0konzd6 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 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 65 metrics, 6 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.48.0-SNAPSHOT~83cf093182, baseline=1.48.0-SNAPSHOT~32046a39ed

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.057 s) : 0, 1056860
Total [baseline] (8.756 s) : 0, 8756395
Agent [candidate] (1.052 s) : 0, 1052036
Total [candidate] (8.669 s) : 0, 8668550
section iast
Agent [baseline] (1.179 s) : 0, 1179159
Total [baseline] (9.25 s) : 0, 9249768
Agent [candidate] (1.18 s) : 0, 1180295
Total [candidate] (9.241 s) : 0, 9240989
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.18 s) : 0, 1179974
Total [baseline] (9.193 s) : 0, 9193198
Agent [candidate] (1.189 s) : 0, 1189252
Total [candidate] (9.257 s) : 0, 9257106
section iast_TELEMETRY_OFF
Agent [baseline] (1.175 s) : 0, 1175267
Total [baseline] (9.225 s) : 0, 9224944
Agent [candidate] (1.18 s) : 0, 1180245
Total [candidate] (9.235 s) : 0, 9234735
Loading
  • baseline results
Module Variant Duration Ξ” tracing
Agent tracing 1.057 s -
Agent iast 1.179 s 122.298 ms (11.6%)
Agent iast_HARDCODED_SECRET_DISABLED 1.18 s 123.113 ms (11.6%)
Agent iast_TELEMETRY_OFF 1.175 s 118.407 ms (11.2%)
Total tracing 8.756 s -
Total iast 9.25 s 493.373 ms (5.6%)
Total iast_HARDCODED_SECRET_DISABLED 9.193 s 436.803 ms (5.0%)
Total iast_TELEMETRY_OFF 9.225 s 468.548 ms (5.4%)
  • candidate results
Module Variant Duration Ξ” tracing
Agent tracing 1.052 s -
Agent iast 1.18 s 128.258 ms (12.2%)
Agent iast_HARDCODED_SECRET_DISABLED 1.189 s 137.216 ms (13.0%)
Agent iast_TELEMETRY_OFF 1.18 s 128.208 ms (12.2%)
Total tracing 8.669 s -
Total iast 9.241 s 572.439 ms (6.6%)
Total iast_HARDCODED_SECRET_DISABLED 9.257 s 588.556 ms (6.8%)
Total iast_TELEMETRY_OFF 9.235 s 566.185 ms (6.5%)
gantt
    title insecure-bank - break down per module: candidate=1.48.0-SNAPSHOT~83cf093182, baseline=1.48.0-SNAPSHOT~32046a39ed

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (722.977 ms) : 0, 722977
BytebuddyAgent [candidate] (719.423 ms) : 0, 719423
GlobalTracer [baseline] (241.072 ms) : 0, 241072
GlobalTracer [candidate] (239.602 ms) : 0, 239602
AppSec [baseline] (54.787 ms) : 0, 54787
AppSec [candidate] (54.277 ms) : 0, 54277
Debugger [baseline] (4.466 ms) : 0, 4466
Debugger [candidate] (4.411 ms) : 0, 4411
Remote Config [baseline] (695.648 Β΅s) : 0, 696
Remote Config [candidate] (698.178 Β΅s) : 0, 698
Telemetry [baseline] (12.221 ms) : 0, 12221
Telemetry [candidate] (13.046 ms) : 0, 13046
section iast
BytebuddyAgent [baseline] (837.265 ms) : 0, 837265
BytebuddyAgent [candidate] (838.061 ms) : 0, 838061
GlobalTracer [baseline] (229.65 ms) : 0, 229650
GlobalTracer [candidate] (229.073 ms) : 0, 229073
IAST [baseline] (22.626 ms) : 0, 22626
IAST [candidate] (23.535 ms) : 0, 23535
AppSec [baseline] (55.637 ms) : 0, 55637
AppSec [candidate] (55.685 ms) : 0, 55685
Debugger [baseline] (4.134 ms) : 0, 4134
Debugger [candidate] (4.173 ms) : 0, 4173
Remote Config [baseline] (609.876 Β΅s) : 0, 610
Remote Config [candidate] (610.992 Β΅s) : 0, 611
Telemetry [baseline] (8.752 ms) : 0, 8752
Telemetry [candidate] (8.808 ms) : 0, 8808
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (837.669 ms) : 0, 837669
BytebuddyAgent [candidate] (845.656 ms) : 0, 845656
GlobalTracer [baseline] (229.522 ms) : 0, 229522
GlobalTracer [candidate] (230.526 ms) : 0, 230526
IAST [baseline] (22.735 ms) : 0, 22735
IAST [candidate] (22.921 ms) : 0, 22921
AppSec [baseline] (56.071 ms) : 0, 56071
AppSec [candidate] (56.053 ms) : 0, 56053
Debugger [baseline] (4.159 ms) : 0, 4159
Debugger [candidate] (4.134 ms) : 0, 4134
Remote Config [baseline] (619.782 Β΅s) : 0, 620
Remote Config [candidate] (608.445 Β΅s) : 0, 608
Telemetry [baseline] (8.746 ms) : 0, 8746
Telemetry [candidate] (8.735 ms) : 0, 8735
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (833.838 ms) : 0, 833838
BytebuddyAgent [candidate] (839.013 ms) : 0, 839013
GlobalTracer [baseline] (229.238 ms) : 0, 229238
GlobalTracer [candidate] (229.025 ms) : 0, 229025
IAST [baseline] (22.287 ms) : 0, 22287
IAST [candidate] (22.331 ms) : 0, 22331
AppSec [baseline] (56.115 ms) : 0, 56115
AppSec [candidate] (55.92 ms) : 0, 55920
Debugger [baseline] (4.188 ms) : 0, 4188
Debugger [candidate] (4.163 ms) : 0, 4163
Remote Config [baseline] (616.429 Β΅s) : 0, 616
Remote Config [candidate] (617.675 Β΅s) : 0, 618
Telemetry [baseline] (8.65 ms) : 0, 8650
Telemetry [candidate] (8.664 ms) : 0, 8664
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.48.0-SNAPSHOT~83cf093182, baseline=1.48.0-SNAPSHOT~32046a39ed

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.049 s) : 0, 1049442
Total [baseline] (10.53 s) : 0, 10530093
Agent [candidate] (1.052 s) : 0, 1052209
Total [candidate] (10.461 s) : 0, 10461334
section appsec
Agent [baseline] (1.194 s) : 0, 1194103
Total [baseline] (10.722 s) : 0, 10722065
Agent [candidate] (1.194 s) : 0, 1193507
Total [candidate] (10.727 s) : 0, 10726572
section iast
Agent [baseline] (1.188 s) : 0, 1187776
Total [baseline] (11.07 s) : 0, 11070306
Agent [candidate] (1.18 s) : 0, 1179747
Total [candidate] (11.041 s) : 0, 11040520
section profiling
Agent [baseline] (1.273 s) : 0, 1272804
Total [baseline] (10.863 s) : 0, 10862747
Agent [candidate] (1.283 s) : 0, 1283341
Total [candidate] (10.905 s) : 0, 10905045
Loading
  • baseline results
Module Variant Duration Ξ” tracing
Agent tracing 1.049 s -
Agent appsec 1.194 s 144.661 ms (13.8%)
Agent iast 1.188 s 138.334 ms (13.2%)
Agent profiling 1.273 s 223.362 ms (21.3%)
Total tracing 10.53 s -
Total appsec 10.722 s 191.973 ms (1.8%)
Total iast 11.07 s 540.213 ms (5.1%)
Total profiling 10.863 s 332.654 ms (3.2%)
  • candidate results
Module Variant Duration Ξ” tracing
Agent tracing 1.052 s -
Agent appsec 1.194 s 141.298 ms (13.4%)
Agent iast 1.18 s 127.537 ms (12.1%)
Agent profiling 1.283 s 231.132 ms (22.0%)
Total tracing 10.461 s -
Total appsec 10.727 s 265.238 ms (2.5%)
Total iast 11.041 s 579.186 ms (5.5%)
Total profiling 10.905 s 443.711 ms (4.2%)
gantt
    title petclinic - break down per module: candidate=1.48.0-SNAPSHOT~83cf093182, baseline=1.48.0-SNAPSHOT~32046a39ed

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (717.637 ms) : 0, 717637
BytebuddyAgent [candidate] (718.733 ms) : 0, 718733
GlobalTracer [baseline] (238.937 ms) : 0, 238937
GlobalTracer [candidate] (239.567 ms) : 0, 239567
AppSec [baseline] (54.411 ms) : 0, 54411
AppSec [candidate] (54.482 ms) : 0, 54482
Debugger [baseline] (5.153 ms) : 0, 5153
Debugger [candidate] (4.433 ms) : 0, 4433
Remote Config [baseline] (685.957 Β΅s) : 0, 686
Remote Config [candidate] (701.371 Β΅s) : 0, 701
Telemetry [baseline] (12.132 ms) : 0, 12132
Telemetry [candidate] (13.817 ms) : 0, 13817
section appsec
BytebuddyAgent [baseline] (738.003 ms) : 0, 738003
BytebuddyAgent [candidate] (737.564 ms) : 0, 737564
GlobalTracer [baseline] (235.92 ms) : 0, 235920
GlobalTracer [candidate] (235.483 ms) : 0, 235483
AppSec [baseline] (175.841 ms) : 0, 175841
AppSec [candidate] (175.629 ms) : 0, 175629
Debugger [baseline] (4.279 ms) : 0, 4279
Debugger [candidate] (4.294 ms) : 0, 4294
Remote Config [baseline] (640.17 Β΅s) : 0, 640
Remote Config [candidate] (640.948 Β΅s) : 0, 641
Telemetry [baseline] (8.204 ms) : 0, 8204
Telemetry [candidate] (8.541 ms) : 0, 8541
IAST [baseline] (21.415 ms) : 0, 21415
IAST [candidate] (21.708 ms) : 0, 21708
section iast
BytebuddyAgent [baseline] (844.286 ms) : 0, 844286
BytebuddyAgent [candidate] (837.964 ms) : 0, 837964
GlobalTracer [baseline] (230.656 ms) : 0, 230656
GlobalTracer [candidate] (229.547 ms) : 0, 229547
AppSec [baseline] (55.641 ms) : 0, 55641
AppSec [candidate] (55.889 ms) : 0, 55889
Debugger [baseline] (4.162 ms) : 0, 4162
Debugger [candidate] (4.109 ms) : 0, 4109
Remote Config [baseline] (622.265 Β΅s) : 0, 622
Remote Config [candidate] (615.666 Β΅s) : 0, 616
Telemetry [baseline] (8.795 ms) : 0, 8795
Telemetry [candidate] (8.625 ms) : 0, 8625
IAST [baseline] (22.99 ms) : 0, 22990
IAST [candidate] (22.555 ms) : 0, 22555
section profiling
ProfilingAgent [baseline] (102.23 ms) : 0, 102230
ProfilingAgent [candidate] (103.317 ms) : 0, 103317
BytebuddyAgent [baseline] (709.029 ms) : 0, 709029
BytebuddyAgent [candidate] (715.025 ms) : 0, 715025
GlobalTracer [baseline] (348.306 ms) : 0, 348306
GlobalTracer [candidate] (351.262 ms) : 0, 351262
AppSec [baseline] (53.761 ms) : 0, 53761
AppSec [candidate] (53.734 ms) : 0, 53734
Debugger [baseline] (4.252 ms) : 0, 4252
Debugger [candidate] (4.297 ms) : 0, 4297
Remote Config [baseline] (694.487 Β΅s) : 0, 694
Remote Config [candidate] (707.246 Β΅s) : 0, 707
Telemetry [baseline] (8.93 ms) : 0, 8930
Telemetry [candidate] (9.033 ms) : 0, 9033
Profiling [baseline] (102.256 ms) : 0, 102256
Profiling [candidate] (103.342 ms) : 0, 103342
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-04-02T12:40:41 2025-04-02T12:48:28
git_branch master mobuchowski/openlineage-agent-direct
git_commit_date 1743592817 1743596309
git_commit_sha 32046a3 83cf093
release_version 1.48.0-SNAPSHOT~32046a39ed 1.48.0-SNAPSHOT~83cf093182
start_time 2025-04-02T12:40:27 2025-04-02T12:48:14
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1743598507 1743598507
ci_job_id 876869837 876869837
ci_pipeline_id 60789920 60789920
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-f8yuutny-project-304-concurrent-0-7ajg7zlp 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-f8yuutny-project-304-concurrent-0-7ajg7zlp 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 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 12 metrics, 18 unstable metrics.

Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.48.0-SNAPSHOT~83cf093182, baseline=1.48.0-SNAPSHOT~32046a39ed
    dateFormat X
    axisFormat %s
section baseline
no_agent (386.813 Β΅s) : 367, 406
.   : milestone, 387,
iast (516.4 Β΅s) : 495, 538
.   : milestone, 516,
iast_FULL (735.829 Β΅s) : 714, 758
.   : milestone, 736,
iast_GLOBAL (573.642 Β΅s) : 550, 597
.   : milestone, 574,
iast_HARDCODED_SECRET_DISABLED (511.929 Β΅s) : 490, 533
.   : milestone, 512,
iast_INACTIVE (467.099 Β΅s) : 445, 489
.   : milestone, 467,
iast_TELEMETRY_OFF (508.127 Β΅s) : 486, 530
.   : milestone, 508,
tracing (470.344 Β΅s) : 447, 493
.   : milestone, 470,
section candidate
no_agent (376.262 Β΅s) : 357, 396
.   : milestone, 376,
iast (514.304 Β΅s) : 493, 536
.   : milestone, 514,
iast_FULL (737.11 Β΅s) : 715, 759
.   : milestone, 737,
iast_GLOBAL (560.891 Β΅s) : 539, 583
.   : milestone, 561,
iast_HARDCODED_SECRET_DISABLED (515.283 Β΅s) : 493, 537
.   : milestone, 515,
iast_INACTIVE (468.495 Β΅s) : 447, 490
.   : milestone, 468,
iast_TELEMETRY_OFF (500.898 Β΅s) : 479, 522
.   : milestone, 501,
tracing (462.803 Β΅s) : 442, 484
.   : milestone, 463,
Loading
  • baseline results
Variant Request duration [CI 0.99] Ξ” no_agent
no_agent 386.813 Β΅s [367.199 Β΅s, 406.427 Β΅s] -
iast 516.4 Β΅s [494.904 Β΅s, 537.895 Β΅s] 129.587 Β΅s (33.5%)
iast_FULL 735.829 Β΅s [713.68 Β΅s, 757.977 Β΅s] 349.016 Β΅s (90.2%)
iast_GLOBAL 573.642 Β΅s [549.91 Β΅s, 597.373 Β΅s] 186.829 Β΅s (48.3%)
iast_HARDCODED_SECRET_DISABLED 511.929 Β΅s [490.478 Β΅s, 533.38 Β΅s] 125.116 Β΅s (32.3%)
iast_INACTIVE 467.099 Β΅s [445.185 Β΅s, 489.014 Β΅s] 80.286 Β΅s (20.8%)
iast_TELEMETRY_OFF 508.127 Β΅s [485.767 Β΅s, 530.487 Β΅s] 121.314 Β΅s (31.4%)
tracing 470.344 Β΅s [447.268 Β΅s, 493.42 Β΅s] 83.531 Β΅s (21.6%)
  • candidate results
Variant Request duration [CI 0.99] Ξ” no_agent
no_agent 376.262 Β΅s [356.531 Β΅s, 395.994 Β΅s] -
iast 514.304 Β΅s [492.609 Β΅s, 535.998 Β΅s] 138.041 Β΅s (36.7%)
iast_FULL 737.11 Β΅s [715.197 Β΅s, 759.024 Β΅s] 360.848 Β΅s (95.9%)
iast_GLOBAL 560.891 Β΅s [539.017 Β΅s, 582.764 Β΅s] 184.628 Β΅s (49.1%)
iast_HARDCODED_SECRET_DISABLED 515.283 Β΅s [493.452 Β΅s, 537.114 Β΅s] 139.021 Β΅s (36.9%)
iast_INACTIVE 468.495 Β΅s [446.765 Β΅s, 490.224 Β΅s] 92.232 Β΅s (24.5%)
iast_TELEMETRY_OFF 500.898 Β΅s [479.318 Β΅s, 522.478 Β΅s] 124.635 Β΅s (33.1%)
tracing 462.803 Β΅s [442.048 Β΅s, 483.557 Β΅s] 86.54 Β΅s (23.0%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.48.0-SNAPSHOT~83cf093182, baseline=1.48.0-SNAPSHOT~32046a39ed
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.359 ms) : 1339, 1379
.   : milestone, 1359,
appsec (1.743 ms) : 1719, 1767
.   : milestone, 1743,
appsec_no_iast (1.748 ms) : 1725, 1772
.   : milestone, 1748,
code_origins (1.698 ms) : 1672, 1724
.   : milestone, 1698,
iast (1.524 ms) : 1499, 1549
.   : milestone, 1524,
profiling (1.548 ms) : 1523, 1573
.   : milestone, 1548,
tracing (1.508 ms) : 1483, 1534
.   : milestone, 1508,
section candidate
no_agent (1.346 ms) : 1326, 1366
.   : milestone, 1346,
appsec (1.736 ms) : 1712, 1760
.   : milestone, 1736,
appsec_no_iast (1.757 ms) : 1732, 1782
.   : milestone, 1757,
code_origins (1.685 ms) : 1657, 1712
.   : milestone, 1685,
iast (1.525 ms) : 1501, 1550
.   : milestone, 1525,
profiling (1.565 ms) : 1539, 1590
.   : milestone, 1565,
tracing (1.508 ms) : 1483, 1533
.   : milestone, 1508,
Loading
  • baseline results
Variant Request duration [CI 0.99] Ξ” no_agent
no_agent 1.359 ms [1.339 ms, 1.379 ms] -
appsec 1.743 ms [1.719 ms, 1.767 ms] 384.078 Β΅s (28.3%)
appsec_no_iast 1.748 ms [1.725 ms, 1.772 ms] 389.607 Β΅s (28.7%)
code_origins 1.698 ms [1.672 ms, 1.724 ms] 338.943 Β΅s (24.9%)
iast 1.524 ms [1.499 ms, 1.549 ms] 165.286 Β΅s (12.2%)
profiling 1.548 ms [1.523 ms, 1.573 ms] 189.523 Β΅s (13.9%)
tracing 1.508 ms [1.483 ms, 1.534 ms] 149.578 Β΅s (11.0%)
  • candidate results
Variant Request duration [CI 0.99] Ξ” no_agent
no_agent 1.346 ms [1.326 ms, 1.366 ms] -
appsec 1.736 ms [1.712 ms, 1.76 ms] 389.867 Β΅s (29.0%)
appsec_no_iast 1.757 ms [1.732 ms, 1.782 ms] 410.918 Β΅s (30.5%)
code_origins 1.685 ms [1.657 ms, 1.712 ms] 338.698 Β΅s (25.2%)
iast 1.525 ms [1.501 ms, 1.55 ms] 179.255 Β΅s (13.3%)
profiling 1.565 ms [1.539 ms, 1.59 ms] 218.528 Β΅s (16.2%)
tracing 1.508 ms [1.483 ms, 1.533 ms] 161.782 Β΅s (12.0%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mobuchowski/openlineage-agent-direct
git_commit_date 1743592817 1743596309
git_commit_sha 32046a3 83cf093
release_version 1.48.0-SNAPSHOT~32046a39ed 1.48.0-SNAPSHOT~83cf093182
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1743599018 1743599018
ci_job_id 876869839 876869839
ci_pipeline_id 60789920 60789920
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-m1cw8fbu-project-304-concurrent-1-tpfl6c1d 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-m1cw8fbu-project-304-concurrent-1-tpfl6c1d 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 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~83cf093182, baseline=1.48.0-SNAPSHOT~32046a39ed
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.454 s) : 15454000, 15454000
.   : milestone, 15454000,
appsec (15.176 s) : 15176000, 15176000
.   : milestone, 15176000,
iast (18.992 s) : 18992000, 18992000
.   : milestone, 18992000,
iast_GLOBAL (17.605 s) : 17605000, 17605000
.   : milestone, 17605000,
profiling (15.549 s) : 15549000, 15549000
.   : milestone, 15549000,
tracing (14.945 s) : 14945000, 14945000
.   : milestone, 14945000,
section candidate
no_agent (15.421 s) : 15421000, 15421000
.   : milestone, 15421000,
appsec (14.938 s) : 14938000, 14938000
.   : milestone, 14938000,
iast (18.812 s) : 18812000, 18812000
.   : milestone, 18812000,
iast_GLOBAL (18.259 s) : 18259000, 18259000
.   : milestone, 18259000,
profiling (15.206 s) : 15206000, 15206000
.   : milestone, 15206000,
tracing (14.78 s) : 14780000, 14780000
.   : milestone, 14780000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Ξ” no_agent
no_agent 15.454 s [15.454 s, 15.454 s] -
appsec 15.176 s [15.176 s, 15.176 s] -278.0 ms (-1.8%)
iast 18.992 s [18.992 s, 18.992 s] 3.538 s (22.9%)
iast_GLOBAL 17.605 s [17.605 s, 17.605 s] 2.151 s (13.9%)
profiling 15.549 s [15.549 s, 15.549 s] 95.0 ms (0.6%)
tracing 14.945 s [14.945 s, 14.945 s] -509.0 ms (-3.3%)
  • candidate results
Variant Execution Time [CI 0.99] Ξ” no_agent
no_agent 15.421 s [15.421 s, 15.421 s] -
appsec 14.938 s [14.938 s, 14.938 s] -483.0 ms (-3.1%)
iast 18.812 s [18.812 s, 18.812 s] 3.391 s (22.0%)
iast_GLOBAL 18.259 s [18.259 s, 18.259 s] 2.838 s (18.4%)
profiling 15.206 s [15.206 s, 15.206 s] -215.0 ms (-1.4%)
tracing 14.78 s [14.78 s, 14.78 s] -641.0 ms (-4.2%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.48.0-SNAPSHOT~83cf093182, baseline=1.48.0-SNAPSHOT~32046a39ed
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.472 ms) : 1460, 1483
.   : milestone, 1472,
appsec (2.371 ms) : 2324, 2418
.   : milestone, 2371,
iast (2.166 ms) : 2106, 2226
.   : milestone, 2166,
iast_GLOBAL (2.201 ms) : 2141, 2260
.   : milestone, 2201,
profiling (2.046 ms) : 1998, 2095
.   : milestone, 2046,
tracing (1.981 ms) : 1935, 2027
.   : milestone, 1981,
section candidate
no_agent (1.47 ms) : 1458, 1481
.   : milestone, 1470,
appsec (2.373 ms) : 2327, 2420
.   : milestone, 2373,
iast (2.153 ms) : 2094, 2213
.   : milestone, 2153,
iast_GLOBAL (2.19 ms) : 2131, 2249
.   : milestone, 2190,
profiling (2.013 ms) : 1965, 2062
.   : milestone, 2013,
tracing (1.985 ms) : 1939, 2030
.   : milestone, 1985,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Ξ” no_agent
no_agent 1.472 ms [1.46 ms, 1.483 ms] -
appsec 2.371 ms [2.324 ms, 2.418 ms] 899.259 Β΅s (61.1%)
iast 2.166 ms [2.106 ms, 2.226 ms] 694.053 Β΅s (47.2%)
iast_GLOBAL 2.201 ms [2.141 ms, 2.26 ms] 728.771 Β΅s (49.5%)
profiling 2.046 ms [1.998 ms, 2.095 ms] 574.656 Β΅s (39.0%)
tracing 1.981 ms [1.935 ms, 2.027 ms] 509.061 Β΅s (34.6%)
  • candidate results
Variant Execution Time [CI 0.99] Ξ” no_agent
no_agent 1.47 ms [1.458 ms, 1.481 ms] -
appsec 2.373 ms [2.327 ms, 2.42 ms] 903.547 Β΅s (61.5%)
iast 2.153 ms [2.094 ms, 2.213 ms] 683.577 Β΅s (46.5%)
iast_GLOBAL 2.19 ms [2.131 ms, 2.249 ms] 720.238 Β΅s (49.0%)
profiling 2.013 ms [1.965 ms, 2.062 ms] 543.505 Β΅s (37.0%)
tracing 1.985 ms [1.939 ms, 2.03 ms] 514.933 Β΅s (35.0%)

@mobuchowski mobuchowski force-pushed the mobuchowski/openlineage-agent-direct branch from d36e910 to d48bb91 Compare March 13, 2025 15:13
@SuppressForbidden // called at most once per spark application
private static String removeUuidFromEndOfString(String input) {
return input.replaceAll(
"_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "");
}

private Optional<Class> loadClass(String className) {
Copy link
Contributor

Choose a reason for hiding this comment

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

Why don't we just instrument OL listener instead? I.e. add listener setup code which sets all required settings if not present?

@@ -74,6 +77,7 @@ public abstract class AbstractDatadogSparkListener extends SparkListener {
private final int MAX_COLLECTION_SIZE = 5000;
private final int MAX_ACCUMULATOR_SIZE = 50000;
private final String RUNTIME_TAGS_PREFIX = "spark.datadog.tags.";
private static final String AGENT_OL_ENDPOINT = "openlineage/api/v1/lineage";
Copy link
Contributor

Choose a reason for hiding this comment

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

Not directly related to this PR since it is an agent change, but to keep the same default as openlineage, wondering if it could be easier to keep the endpoint name as /api/v1/lineage in the agent

Copy link
Contributor Author

Choose a reason for hiding this comment

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

My idea was that /api/v1/lineage endpoint was too confusing, and that as we're setting this - not customer - the additional endpoint setting does not matter that much. We can do a change on the client still, it was not yet released.

@@ -151,8 +156,50 @@ public AbstractDatadogSparkListener(SparkConf sparkConf, String appId, String sp
finishApplication(System.currentTimeMillis(), null, 0, null);
}
}));
initApplicationSpanIfNotInitialized();
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think we should create the application span in the constructor/onApplicationStart.

In the case of Databricks or streaming jobs, we are currently not creating a application span:

  • in databricks the parent of a spark job is the databricks task that launched it
  • in streaming, we don't attach the streaming span to the application span

In those cases, I think we should skip overriding OpenLineage for now

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Removed this here, added check for databricks/streaming

@mobuchowski mobuchowski force-pushed the mobuchowski/openlineage-agent-direct branch 5 times, most recently from c3e99e1 to a582374 Compare March 21, 2025 17:23
@mobuchowski mobuchowski force-pushed the mobuchowski/openlineage-agent-direct branch 6 times, most recently from 55d9b0d to ccd94f3 Compare March 26, 2025 09:44
@mobuchowski mobuchowski requested a review from a team as a code owner March 26, 2025 09:44
@mobuchowski mobuchowski requested a review from amarziali March 26, 2025 09:44
@mobuchowski mobuchowski force-pushed the mobuchowski/openlineage-agent-direct branch from b4637a8 to 1c43c96 Compare March 26, 2025 15:11
public static void exit(@Advice.This Object self) throws IllegalAccessException {
LoggerFactory.getLogger(Config.class).debug("Checking for OpenLineageSparkListener");
try {
Field conf = self.getClass().getDeclaredField("conf");
Copy link
Collaborator

Choose a reason for hiding this comment

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

can you use @FieldValue to have the same without using the reflection?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I would like to - but the instrumented class clones the object so it's not the same one as what's passed to the method.

Copy link
Collaborator

@amarziali amarziali Mar 27, 2025

Choose a reason for hiding this comment

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

I was not proposing to capture the argument of the constructor but to use @FieldValue to directly map the field (https://javadoc.io/doc/net.bytebuddy/byte-buddy/1.10.2/net/bytebuddy/asm/Advice.FieldValue.html) like this:

public static void exit(@Advice.This Object self, @FieldValue("conf") SparkConf conf) {
...

@Override
public String[] knownMatchingTypes() {
return new String[] {
"io.openlineage.spark.agent.OpenLineageSparkListener", "org.apache.spark.util.Utils"
Copy link
Collaborator

Choose a reason for hiding this comment

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

why org.apache.spark.util.Utils is also matching the advice activation while the method advice is only filtering by io.openlineage.spark.agent.OpenLineageSparkListener?

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 that addition. I left few comments that might require small changes to improve that instrumentation before merging it

@mobuchowski mobuchowski force-pushed the mobuchowski/openlineage-agent-direct branch from 1c43c96 to 34d6cb4 Compare March 31, 2025 11:03
@mobuchowski
Copy link
Contributor Author

Thanks @amarziali, applied the changes. Added one more change - using InstanceStore rather than setting openLineageSparkListener as a static member directly fron instrumentation - to be more robust for underlying Spark classloader handling.

@mobuchowski mobuchowski requested a review from amarziali March 31, 2025 11:09
@mobuchowski mobuchowski force-pushed the mobuchowski/openlineage-agent-direct branch from 34d6cb4 to 5cd3c14 Compare March 31, 2025 11:34
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.

looks ok. there is a fix for the system test that is failing. I recommend to merge latest master changes to this branch to pass the CI

Signed-off-by: Maciej Obuchowski <[email protected]>
Signed-off-by: Maciej Obuchowski <[email protected]>
@mobuchowski mobuchowski force-pushed the mobuchowski/openlineage-agent-direct branch from c34a423 to 83cf093 Compare April 2, 2025 12:18
@mobuchowski mobuchowski merged commit 089d1cc into master Apr 2, 2025
252 checks passed
@mobuchowski mobuchowski deleted the mobuchowski/openlineage-agent-direct branch April 2, 2025 13:39
@github-actions github-actions bot added this to the 1.48.0 milestone Apr 2, 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
inst: apache spark Apache Spark instrumentation type: enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants