Skip to content

Conversation

@paul-laffon-dd
Copy link
Contributor

@paul-laffon-dd paul-laffon-dd commented Mar 17, 2025

What Does This Do

Instrument Runtime.exit() to finish spark application spans

Motivation

Explicitly exiting spark using System.exit(code) will bypass the regular code to finish spark application spans

We are currently using a shutdown hook https://github.com/DataDog/dd-trace-java/blob/v1.47.2/dd-java-agent/instrumentation/spark/src/main/java/datadog/trace/instrumentation/spark/AbstractDatadogSparkListener.java#L139-L153, but it is only best effort:

  • no guarantee it will be executed before the tracer shuts down
  • no access to the exit code

Instrumenting the Runtime.exit() allow to prevent those drawbacks

Additional Notes

Contributor Checklist

Jira ticket: [PROJ-IDENT]


@Override
public String instrumentedType() {
return "java.lang.Runtime";
Copy link
Contributor

@mcculls mcculls Mar 17, 2025

Choose a reason for hiding this comment

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

We already instrument java.lang.Shutdown in ShutdownInstrumentation - this calls ShutdownHelper.shutdownAgent() which in turn calls Agent.shutdown() to safely close out various components.

Other components register a shutdown hook with the JVM using the public API.

I'd prefer it if one of these existing approaches could be (re)used, rather than introduce yet another form of shutdown hook.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Created a new Instrumentation for Runtime.exit() in order to:

  • capture the exit code
  • inject it only when data jobs is enabled

It should not change much to instrument the Shutdown.exit() method in the ShutdownInstrumentation instead, but it means that it would be injected for everyone, not only when data jobs is enabled

@paul-laffon-dd paul-laffon-dd marked this pull request as ready for review March 20, 2025 13:29
@paul-laffon-dd paul-laffon-dd requested a review from a team as a code owner March 20, 2025 13:29
@github-actions
Copy link
Contributor

github-actions bot commented Mar 20, 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.

@paul-laffon-dd paul-laffon-dd added inst: apache spark Apache Spark instrumentation type: enhancement Enhancements and improvements labels Mar 20, 2025
@pr-commenter
Copy link

pr-commenter bot commented Mar 27, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master paul.laffon/spark-exit-advice
git_commit_date 1742990727 1743078338
git_commit_sha 3e2867a 62109bf
release_version 1.48.0-SNAPSHOT~3e2867a84a 1.48.0-SNAPSHOT~62109bfe23
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1743081373 1743081373
ci_job_id 867639249 867639249
ci_pipeline_id 60167255 60167255
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-xjcpkyqs-project-304-concurrent-1-spjfwun1 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-xjcpkyqs-project-304-concurrent-1-spjfwun1 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~62109bfe23, baseline=1.48.0-SNAPSHOT~3e2867a84a

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.057 s) : 0, 1056619
Total [baseline] (8.669 s) : 0, 8668999
Agent [candidate] (1.049 s) : 0, 1048781
Total [candidate] (8.677 s) : 0, 8677405
section iast
Agent [baseline] (1.178 s) : 0, 1178151
Total [baseline] (9.217 s) : 0, 9216651
Agent [candidate] (1.187 s) : 0, 1187412
Total [candidate] (9.267 s) : 0, 9267364
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.192 s) : 0, 1191646
Total [baseline] (9.255 s) : 0, 9254848
Agent [candidate] (1.178 s) : 0, 1178053
Total [candidate] (9.196 s) : 0, 9195529
section iast_TELEMETRY_OFF
Agent [baseline] (1.169 s) : 0, 1169353
Total [baseline] (9.248 s) : 0, 9247547
Agent [candidate] (1.183 s) : 0, 1182521
Total [candidate] (9.285 s) : 0, 9285363
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.057 s -
Agent iast 1.178 s 121.532 ms (11.5%)
Agent iast_HARDCODED_SECRET_DISABLED 1.192 s 135.027 ms (12.8%)
Agent iast_TELEMETRY_OFF 1.169 s 112.735 ms (10.7%)
Total tracing 8.669 s -
Total iast 9.217 s 547.652 ms (6.3%)
Total iast_HARDCODED_SECRET_DISABLED 9.255 s 585.849 ms (6.8%)
Total iast_TELEMETRY_OFF 9.248 s 578.548 ms (6.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.049 s -
Agent iast 1.187 s 138.631 ms (13.2%)
Agent iast_HARDCODED_SECRET_DISABLED 1.178 s 129.271 ms (12.3%)
Agent iast_TELEMETRY_OFF 1.183 s 133.739 ms (12.8%)
Total tracing 8.677 s -
Total iast 9.267 s 589.958 ms (6.8%)
Total iast_HARDCODED_SECRET_DISABLED 9.196 s 518.124 ms (6.0%)
Total iast_TELEMETRY_OFF 9.285 s 607.958 ms (7.0%)
gantt
    title insecure-bank - break down per module: candidate=1.48.0-SNAPSHOT~62109bfe23, baseline=1.48.0-SNAPSHOT~3e2867a84a

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (723.017 ms) : 0, 723017
BytebuddyAgent [candidate] (719.022 ms) : 0, 719022
GlobalTracer [baseline] (240.765 ms) : 0, 240765
GlobalTracer [candidate] (240.197 ms) : 0, 240197
AppSec [baseline] (55.04 ms) : 0, 55040
AppSec [candidate] (54.303 ms) : 0, 54303
Debugger [baseline] (4.435 ms) : 0, 4435
Debugger [candidate] (4.352 ms) : 0, 4352
Remote Config [baseline] (713.776 µs) : 0, 714
Remote Config [candidate] (702.688 µs) : 0, 703
Telemetry [baseline] (16.592 ms) : 0, 16592
Telemetry [candidate] (14.24 ms) : 0, 14240
section iast
BytebuddyAgent [baseline] (840.074 ms) : 0, 840074
BytebuddyAgent [candidate] (847.066 ms) : 0, 847066
GlobalTracer [baseline] (229.653 ms) : 0, 229653
GlobalTracer [candidate] (231.463 ms) : 0, 231463
IAST [baseline] (22.881 ms) : 0, 22881
IAST [candidate] (23.009 ms) : 0, 23009
AppSec [baseline] (56.007 ms) : 0, 56007
AppSec [candidate] (56.192 ms) : 0, 56192
Debugger [baseline] (4.173 ms) : 0, 4173
Debugger [candidate] (4.159 ms) : 0, 4159
Remote Config [baseline] (606.088 µs) : 0, 606
Remote Config [candidate] (599.2 µs) : 0, 599
Telemetry [baseline] (8.771 ms) : 0, 8771
Telemetry [candidate] (8.794 ms) : 0, 8794
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (850.662 ms) : 0, 850662
BytebuddyAgent [candidate] (839.232 ms) : 0, 839232
GlobalTracer [baseline] (231.946 ms) : 0, 231946
GlobalTracer [candidate] (230.543 ms) : 0, 230543
IAST [baseline] (22.911 ms) : 0, 22911
IAST [candidate] (22.85 ms) : 0, 22850
AppSec [baseline] (56.256 ms) : 0, 56256
AppSec [candidate] (55.867 ms) : 0, 55867
Debugger [baseline] (4.165 ms) : 0, 4165
Debugger [candidate] (4.175 ms) : 0, 4175
Remote Config [baseline] (614.45 µs) : 0, 614
Remote Config [candidate] (592.501 µs) : 0, 593
Telemetry [baseline] (8.82 ms) : 0, 8820
Telemetry [candidate] (8.774 ms) : 0, 8774
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (832.423 ms) : 0, 832423
BytebuddyAgent [candidate] (842.738 ms) : 0, 842738
GlobalTracer [baseline] (229.543 ms) : 0, 229543
GlobalTracer [candidate] (231.874 ms) : 0, 231874
IAST [baseline] (23.714 ms) : 0, 23714
IAST [candidate] (22.438 ms) : 0, 22438
AppSec [baseline] (54.451 ms) : 0, 54451
AppSec [candidate] (55.981 ms) : 0, 55981
Debugger [baseline] (4.142 ms) : 0, 4142
Debugger [candidate] (4.124 ms) : 0, 4124
Remote Config [baseline] (599.022 µs) : 0, 599
Remote Config [candidate] (602.814 µs) : 0, 603
Telemetry [baseline] (8.637 ms) : 0, 8637
Telemetry [candidate] (8.706 ms) : 0, 8706
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.48.0-SNAPSHOT~62109bfe23, baseline=1.48.0-SNAPSHOT~3e2867a84a

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.047 s) : 0, 1047357
Total [baseline] (10.563 s) : 0, 10562892
Agent [candidate] (1.049 s) : 0, 1049118
Total [candidate] (10.472 s) : 0, 10472277
section appsec
Agent [baseline] (1.192 s) : 0, 1192033
Total [baseline] (10.721 s) : 0, 10720536
Agent [candidate] (1.189 s) : 0, 1188926
Total [candidate] (10.737 s) : 0, 10737016
section iast
Agent [baseline] (1.184 s) : 0, 1184176
Total [baseline] (11.062 s) : 0, 11061615
Agent [candidate] (1.178 s) : 0, 1177811
Total [candidate] (10.96 s) : 0, 10960281
section profiling
Agent [baseline] (1.279 s) : 0, 1279457
Total [baseline] (10.867 s) : 0, 10866683
Agent [candidate] (1.269 s) : 0, 1268896
Total [candidate] (10.837 s) : 0, 10836566
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.047 s -
Agent appsec 1.192 s 144.676 ms (13.8%)
Agent iast 1.184 s 136.819 ms (13.1%)
Agent profiling 1.279 s 232.099 ms (22.2%)
Total tracing 10.563 s -
Total appsec 10.721 s 157.644 ms (1.5%)
Total iast 11.062 s 498.723 ms (4.7%)
Total profiling 10.867 s 303.791 ms (2.9%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.049 s -
Agent appsec 1.189 s 139.809 ms (13.3%)
Agent iast 1.178 s 128.694 ms (12.3%)
Agent profiling 1.269 s 219.778 ms (20.9%)
Total tracing 10.472 s -
Total appsec 10.737 s 264.739 ms (2.5%)
Total iast 10.96 s 488.004 ms (4.7%)
Total profiling 10.837 s 364.289 ms (3.5%)
gantt
    title petclinic - break down per module: candidate=1.48.0-SNAPSHOT~62109bfe23, baseline=1.48.0-SNAPSHOT~3e2867a84a

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (719.001 ms) : 0, 719001
BytebuddyAgent [candidate] (719.861 ms) : 0, 719861
GlobalTracer [baseline] (239.56 ms) : 0, 239560
GlobalTracer [candidate] (240.084 ms) : 0, 240084
AppSec [baseline] (54.865 ms) : 0, 54865
AppSec [candidate] (54.586 ms) : 0, 54586
Debugger [baseline] (5.863 ms) : 0, 5863
Debugger [candidate] (4.366 ms) : 0, 4366
Remote Config [baseline] (717.105 µs) : 0, 717
Remote Config [candidate] (707.623 µs) : 0, 708
Telemetry [baseline] (11.382 ms) : 0, 11382
Telemetry [candidate] (13.514 ms) : 0, 13514
section appsec
BytebuddyAgent [baseline] (738.628 ms) : 0, 738628
BytebuddyAgent [candidate] (736.79 ms) : 0, 736790
GlobalTracer [baseline] (236.89 ms) : 0, 236890
GlobalTracer [candidate] (236.319 ms) : 0, 236319
IAST [baseline] (21.536 ms) : 0, 21536
IAST [candidate] (21.299 ms) : 0, 21299
AppSec [baseline] (175.862 ms) : 0, 175862
AppSec [candidate] (175.386 ms) : 0, 175386
Debugger [baseline] (4.298 ms) : 0, 4298
Debugger [candidate] (4.289 ms) : 0, 4289
Remote Config [baseline] (642.985 µs) : 0, 643
Remote Config [candidate] (647.669 µs) : 0, 648
Telemetry [baseline] (8.915 ms) : 0, 8915
Telemetry [candidate] (8.929 ms) : 0, 8929
section iast
BytebuddyAgent [baseline] (844.362 ms) : 0, 844362
BytebuddyAgent [candidate] (839.285 ms) : 0, 839285
GlobalTracer [baseline] (231.15 ms) : 0, 231150
GlobalTracer [candidate] (230.376 ms) : 0, 230376
IAST [baseline] (23.046 ms) : 0, 23046
IAST [candidate] (22.812 ms) : 0, 22812
AppSec [baseline] (55.963 ms) : 0, 55963
AppSec [candidate] (55.899 ms) : 0, 55899
Debugger [baseline] (4.201 ms) : 0, 4201
Debugger [candidate] (4.183 ms) : 0, 4183
Remote Config [baseline] (608.029 µs) : 0, 608
Remote Config [candidate] (625.7 µs) : 0, 626
Telemetry [baseline] (8.821 ms) : 0, 8821
Telemetry [candidate] (8.732 ms) : 0, 8732
section profiling
BytebuddyAgent [baseline] (714.569 ms) : 0, 714569
BytebuddyAgent [candidate] (709.393 ms) : 0, 709393
GlobalTracer [baseline] (351.741 ms) : 0, 351741
GlobalTracer [candidate] (349.523 ms) : 0, 349523
AppSec [baseline] (54.857 ms) : 0, 54857
AppSec [candidate] (53.174 ms) : 0, 53174
Debugger [baseline] (4.315 ms) : 0, 4315
Debugger [candidate] (4.26 ms) : 0, 4260
Remote Config [baseline] (709.594 µs) : 0, 710
Remote Config [candidate] (699.424 µs) : 0, 699
Telemetry [baseline] (9.02 ms) : 0, 9020
Telemetry [candidate] (8.931 ms) : 0, 8931
ProfilingAgent [baseline] (102.455 ms) : 0, 102455
ProfilingAgent [candidate] (101.387 ms) : 0, 101387
Profiling [baseline] (102.48 ms) : 0, 102480
Profiling [candidate] (101.414 ms) : 0, 101414
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-03-27T12:46:23 2025-03-27T12:54:06
git_branch master paul.laffon/spark-exit-advice
git_commit_date 1742990727 1743078338
git_commit_sha 3e2867a 62109bf
release_version 1.48.0-SNAPSHOT~3e2867a84a 1.48.0-SNAPSHOT~62109bfe23
start_time 2025-03-27T12:46:09 2025-03-27T12:53:52
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1743080443 1743080443
ci_job_id 867639251 867639251
ci_pipeline_id 60167255 60167255
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-hyqffqkj-project-304-concurrent-0-wl9j9axw 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-hyqffqkj-project-304-concurrent-0-wl9j9axw 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 13 metrics, 17 unstable metrics.

Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.48.0-SNAPSHOT~62109bfe23, baseline=1.48.0-SNAPSHOT~3e2867a84a
    dateFormat X
    axisFormat %s
section baseline
no_agent (380.673 µs) : 361, 400
.   : milestone, 381,
iast (508.021 µs) : 486, 530
.   : milestone, 508,
iast_FULL (725.207 µs) : 703, 747
.   : milestone, 725,
iast_GLOBAL (550.85 µs) : 529, 572
.   : milestone, 551,
iast_HARDCODED_SECRET_DISABLED (511.535 µs) : 490, 533
.   : milestone, 512,
iast_INACTIVE (461.01 µs) : 440, 482
.   : milestone, 461,
iast_TELEMETRY_OFF (496.236 µs) : 474, 519
.   : milestone, 496,
tracing (454.258 µs) : 433, 475
.   : milestone, 454,
section candidate
no_agent (375.431 µs) : 356, 395
.   : milestone, 375,
iast (504.88 µs) : 483, 527
.   : milestone, 505,
iast_FULL (725.504 µs) : 704, 747
.   : milestone, 726,
iast_GLOBAL (559.438 µs) : 537, 582
.   : milestone, 559,
iast_HARDCODED_SECRET_DISABLED (503.869 µs) : 482, 525
.   : milestone, 504,
iast_INACTIVE (462.79 µs) : 441, 485
.   : milestone, 463,
iast_TELEMETRY_OFF (500.27 µs) : 477, 523
.   : milestone, 500,
tracing (451.231 µs) : 431, 472
.   : milestone, 451,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 380.673 µs [360.994 µs, 400.351 µs] -
iast 508.021 µs [486.25 µs, 529.791 µs] 127.348 µs (33.5%)
iast_FULL 725.207 µs [703.223 µs, 747.19 µs] 344.534 µs (90.5%)
iast_GLOBAL 550.85 µs [529.281 µs, 572.42 µs] 170.178 µs (44.7%)
iast_HARDCODED_SECRET_DISABLED 511.535 µs [489.764 µs, 533.307 µs] 130.863 µs (34.4%)
iast_INACTIVE 461.01 µs [439.699 µs, 482.321 µs] 80.337 µs (21.1%)
iast_TELEMETRY_OFF 496.236 µs [473.772 µs, 518.701 µs] 115.564 µs (30.4%)
tracing 454.258 µs [433.359 µs, 475.157 µs] 73.585 µs (19.3%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 375.431 µs [355.636 µs, 395.226 µs] -
iast 504.88 µs [483.109 µs, 526.65 µs] 129.449 µs (34.5%)
iast_FULL 725.504 µs [703.585 µs, 747.424 µs] 350.074 µs (93.2%)
iast_GLOBAL 559.438 µs [537.2 µs, 581.677 µs] 184.007 µs (49.0%)
iast_HARDCODED_SECRET_DISABLED 503.869 µs [482.343 µs, 525.394 µs] 128.438 µs (34.2%)
iast_INACTIVE 462.79 µs [441.04 µs, 484.539 µs] 87.359 µs (23.3%)
iast_TELEMETRY_OFF 500.27 µs [477.421 µs, 523.12 µs] 124.839 µs (33.3%)
tracing 451.231 µs [430.588 µs, 471.874 µs] 75.8 µs (20.2%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.48.0-SNAPSHOT~62109bfe23, baseline=1.48.0-SNAPSHOT~3e2867a84a
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.358 ms) : 1338, 1378
.   : milestone, 1358,
appsec (1.726 ms) : 1703, 1749
.   : milestone, 1726,
appsec_no_iast (1.74 ms) : 1718, 1763
.   : milestone, 1740,
code_origins (1.681 ms) : 1654, 1707
.   : milestone, 1681,
iast (1.499 ms) : 1475, 1523
.   : milestone, 1499,
profiling (1.562 ms) : 1538, 1586
.   : milestone, 1562,
tracing (1.495 ms) : 1470, 1521
.   : milestone, 1495,
section candidate
no_agent (1.37 ms) : 1351, 1389
.   : milestone, 1370,
appsec (1.737 ms) : 1714, 1761
.   : milestone, 1737,
appsec_no_iast (1.72 ms) : 1696, 1745
.   : milestone, 1720,
code_origins (1.691 ms) : 1664, 1717
.   : milestone, 1691,
iast (1.505 ms) : 1481, 1529
.   : milestone, 1505,
profiling (1.521 ms) : 1496, 1546
.   : milestone, 1521,
tracing (1.473 ms) : 1447, 1498
.   : milestone, 1473,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.358 ms [1.338 ms, 1.378 ms] -
appsec 1.726 ms [1.703 ms, 1.749 ms] 368.393 µs (27.1%)
appsec_no_iast 1.74 ms [1.718 ms, 1.763 ms] 382.704 µs (28.2%)
code_origins 1.681 ms [1.654 ms, 1.707 ms] 322.86 µs (23.8%)
iast 1.499 ms [1.475 ms, 1.523 ms] 141.412 µs (10.4%)
profiling 1.562 ms [1.538 ms, 1.586 ms] 204.343 µs (15.1%)
tracing 1.495 ms [1.47 ms, 1.521 ms] 137.768 µs (10.1%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.37 ms [1.351 ms, 1.389 ms] -
appsec 1.737 ms [1.714 ms, 1.761 ms] 367.293 µs (26.8%)
appsec_no_iast 1.72 ms [1.696 ms, 1.745 ms] 350.53 µs (25.6%)
code_origins 1.691 ms [1.664 ms, 1.717 ms] 320.661 µs (23.4%)
iast 1.505 ms [1.481 ms, 1.529 ms] 135.372 µs (9.9%)
profiling 1.521 ms [1.496 ms, 1.546 ms] 151.056 µs (11.0%)
tracing 1.473 ms [1.447 ms, 1.498 ms] 103.041 µs (7.5%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master paul.laffon/spark-exit-advice
git_commit_date 1742990727 1743078338
git_commit_sha 3e2867a 62109bf
release_version 1.48.0-SNAPSHOT~3e2867a84a 1.48.0-SNAPSHOT~62109bfe23
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1743080930 1743080930
ci_job_id 867639253 867639253
ci_pipeline_id 60167255 60167255
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-vapngg-f-project-304-concurrent-0-i7mus6b0 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-vapngg-f-project-304-concurrent-0-i7mus6b0 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 11 metrics, 1 unstable metrics.

Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.48.0-SNAPSHOT~62109bfe23, baseline=1.48.0-SNAPSHOT~3e2867a84a
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.473 ms) : 1462, 1485
.   : milestone, 1473,
appsec (2.344 ms) : 2300, 2387
.   : milestone, 2344,
iast (2.123 ms) : 2068, 2178
.   : milestone, 2123,
iast_GLOBAL (2.163 ms) : 2108, 2219
.   : milestone, 2163,
profiling (2.454 ms) : 2271, 2636
.   : milestone, 2454,
tracing (1.947 ms) : 1905, 1989
.   : milestone, 1947,
section candidate
no_agent (1.473 ms) : 1462, 1485
.   : milestone, 1473,
appsec (2.35 ms) : 2306, 2395
.   : milestone, 2350,
iast (2.123 ms) : 2068, 2179
.   : milestone, 2123,
iast_GLOBAL (2.166 ms) : 2110, 2222
.   : milestone, 2166,
profiling (1.976 ms) : 1932, 2019
.   : milestone, 1976,
tracing (1.948 ms) : 1906, 1990
.   : milestone, 1948,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.473 ms [1.462 ms, 1.485 ms] -
appsec 2.344 ms [2.3 ms, 2.387 ms] 870.318 µs (59.1%)
iast 2.123 ms [2.068 ms, 2.178 ms] 649.802 µs (44.1%)
iast_GLOBAL 2.163 ms [2.108 ms, 2.219 ms] 690.069 µs (46.8%)
profiling 2.454 ms [2.271 ms, 2.636 ms] 980.547 µs (66.6%)
tracing 1.947 ms [1.905 ms, 1.989 ms] 473.9 µs (32.2%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.473 ms [1.462 ms, 1.485 ms] -
appsec 2.35 ms [2.306 ms, 2.395 ms] 877.249 µs (59.5%)
iast 2.123 ms [2.068 ms, 2.179 ms] 650.155 µs (44.1%)
iast_GLOBAL 2.166 ms [2.11 ms, 2.222 ms] 692.933 µs (47.0%)
profiling 1.976 ms [1.932 ms, 2.019 ms] 502.501 µs (34.1%)
tracing 1.948 ms [1.906 ms, 1.99 ms] 474.421 µs (32.2%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.48.0-SNAPSHOT~62109bfe23, baseline=1.48.0-SNAPSHOT~3e2867a84a
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.013 s) : 15013000, 15013000
.   : milestone, 15013000,
appsec (15.073 s) : 15073000, 15073000
.   : milestone, 15073000,
iast (18.734 s) : 18734000, 18734000
.   : milestone, 18734000,
iast_GLOBAL (17.47 s) : 17470000, 17470000
.   : milestone, 17470000,
profiling (15.025 s) : 15025000, 15025000
.   : milestone, 15025000,
tracing (15.309 s) : 15309000, 15309000
.   : milestone, 15309000,
section candidate
no_agent (15.465 s) : 15465000, 15465000
.   : milestone, 15465000,
appsec (15.095 s) : 15095000, 15095000
.   : milestone, 15095000,
iast (18.603 s) : 18603000, 18603000
.   : milestone, 18603000,
iast_GLOBAL (18.129 s) : 18129000, 18129000
.   : milestone, 18129000,
profiling (15.683 s) : 15683000, 15683000
.   : milestone, 15683000,
tracing (14.955 s) : 14955000, 14955000
.   : milestone, 14955000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.013 s [15.013 s, 15.013 s] -
appsec 15.073 s [15.073 s, 15.073 s] 60.0 ms (0.4%)
iast 18.734 s [18.734 s, 18.734 s] 3.721 s (24.8%)
iast_GLOBAL 17.47 s [17.47 s, 17.47 s] 2.457 s (16.4%)
profiling 15.025 s [15.025 s, 15.025 s] 12.0 ms (0.1%)
tracing 15.309 s [15.309 s, 15.309 s] 296.0 ms (2.0%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.465 s [15.465 s, 15.465 s] -
appsec 15.095 s [15.095 s, 15.095 s] -370.0 ms (-2.4%)
iast 18.603 s [18.603 s, 18.603 s] 3.138 s (20.3%)
iast_GLOBAL 18.129 s [18.129 s, 18.129 s] 2.664 s (17.2%)
profiling 15.683 s [15.683 s, 15.683 s] 218.0 ms (1.4%)
tracing 14.955 s [14.955 s, 14.955 s] -510.0 ms (-3.3%)

@paul-laffon-dd paul-laffon-dd merged commit 0a1776a into master Apr 1, 2025
270 checks passed
@paul-laffon-dd paul-laffon-dd deleted the paul.laffon/spark-exit-advice branch April 1, 2025 08:47
@github-actions github-actions bot added this to the 1.48.0 milestone Apr 1, 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 Enhancements and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants