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

Skip to content

Request Test Management tests list #8345

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 6 commits into from
Feb 11, 2025

Conversation

daniel-mohedano
Copy link
Contributor

@daniel-mohedano daniel-mohedano commented Feb 6, 2025

What Does This Do

  • Requests the Test Management tests list to obtain quarantined, disabled and attempt to fix tests
  • Updates CiVis telemetry accordingly
  • Refactors some internal logic regarding how backend-received test information is stored

Motivation

Second step in the implementation of Flaky Test Management.

Additional Notes

Contributor Checklist

Jira ticket: SDTEST-1530

@pr-commenter
Copy link

pr-commenter bot commented Feb 6, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master daniel.mohedano/test-management-tests-request
git_commit_date 1739194085 1739200690
git_commit_sha ec92bff 870e4fc
release_version 1.47.0-SNAPSHOT~ec92bff4fb 1.47.0-SNAPSHOT~870e4fcfa9
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1739203141 1739203141
ci_job_id 801145234 801145234
ci_pipeline_id 55408903 55408903
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-f6m4bnqv-project-304-concurrent-0-tpua0o4w 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:50:46 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux Linux runner-f6m4bnqv-project-304-concurrent-0-tpua0o4w 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:50:46 UTC 2024 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 56 metrics, 7 unstable metrics.

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.47.0-SNAPSHOT~870e4fcfa9, baseline=1.47.0-SNAPSHOT~ec92bff4fb

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.041 s) : 0, 1040623
Total [baseline] (10.459 s) : 0, 10458645
Agent [candidate] (1.05 s) : 0, 1049677
Total [candidate] (10.45 s) : 0, 10449500
section appsec
Agent [baseline] (1.188 s) : 0, 1187880
Total [baseline] (10.73 s) : 0, 10730033
Agent [candidate] (1.188 s) : 0, 1188469
Total [candidate] (10.748 s) : 0, 10748366
section iast
Agent [baseline] (1.17 s) : 0, 1169811
Total [baseline] (10.967 s) : 0, 10966814
Agent [candidate] (1.181 s) : 0, 1181371
Total [candidate] (10.985 s) : 0, 10984595
section profiling
Agent [baseline] (1.273 s) : 0, 1272578
Total [baseline] (10.894 s) : 0, 10894288
Agent [candidate] (1.271 s) : 0, 1271067
Total [candidate] (10.902 s) : 0, 10901921
Loading
  • baseline results
Module Variant Duration Ξ” tracing
Agent tracing 1.041 s -
Agent appsec 1.188 s 147.258 ms (14.2%)
Agent iast 1.17 s 129.188 ms (12.4%)
Agent profiling 1.273 s 231.956 ms (22.3%)
Total tracing 10.459 s -
Total appsec 10.73 s 271.387 ms (2.6%)
Total iast 10.967 s 508.169 ms (4.9%)
Total profiling 10.894 s 435.643 ms (4.2%)
  • candidate results
Module Variant Duration Ξ” tracing
Agent tracing 1.05 s -
Agent appsec 1.188 s 138.792 ms (13.2%)
Agent iast 1.181 s 131.694 ms (12.5%)
Agent profiling 1.271 s 221.39 ms (21.1%)
Total tracing 10.45 s -
Total appsec 10.748 s 298.866 ms (2.9%)
Total iast 10.985 s 535.095 ms (5.1%)
Total profiling 10.902 s 452.421 ms (4.3%)
gantt
    title petclinic - break down per module: candidate=1.47.0-SNAPSHOT~870e4fcfa9, baseline=1.47.0-SNAPSHOT~ec92bff4fb

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (715.291 ms) : 0, 715291
BytebuddyAgent [candidate] (720.742 ms) : 0, 720742
GlobalTracer [baseline] (242.226 ms) : 0, 242226
GlobalTracer [candidate] (245.522 ms) : 0, 245522
AppSec [baseline] (55.213 ms) : 0, 55213
AppSec [candidate] (55.72 ms) : 0, 55720
Remote Config [baseline] (717.02 Β΅s) : 0, 717
Remote Config [candidate] (724.97 Β΅s) : 0, 725
Telemetry [baseline] (12.007 ms) : 0, 12007
Telemetry [candidate] (11.673 ms) : 0, 11673
section appsec
BytebuddyAgent [baseline] (735.468 ms) : 0, 735468
BytebuddyAgent [candidate] (735.457 ms) : 0, 735457
GlobalTracer [baseline] (240.941 ms) : 0, 240941
GlobalTracer [candidate] (241.294 ms) : 0, 241294
AppSec [baseline] (176.415 ms) : 0, 176415
AppSec [candidate] (176.435 ms) : 0, 176435
Remote Config [baseline] (665.3 Β΅s) : 0, 665
Remote Config [candidate] (658.05 Β΅s) : 0, 658
Telemetry [baseline] (8.28 ms) : 0, 8280
Telemetry [candidate] (8.625 ms) : 0, 8625
IAST [baseline] (21.697 ms) : 0, 21697
IAST [candidate] (21.387 ms) : 0, 21387
section iast
BytebuddyAgent [baseline] (832.362 ms) : 0, 832362
BytebuddyAgent [candidate] (841.083 ms) : 0, 841083
GlobalTracer [baseline] (233.126 ms) : 0, 233126
GlobalTracer [candidate] (235.433 ms) : 0, 235433
AppSec [baseline] (56.978 ms) : 0, 56978
AppSec [candidate] (57.244 ms) : 0, 57244
Remote Config [baseline] (617.872 Β΅s) : 0, 618
Remote Config [candidate] (630.784 Β΅s) : 0, 631
Telemetry [baseline] (8.665 ms) : 0, 8665
Telemetry [candidate] (8.753 ms) : 0, 8753
IAST [baseline] (22.833 ms) : 0, 22833
IAST [candidate] (22.832 ms) : 0, 22832
section profiling
ProfilingAgent [baseline] (96.614 ms) : 0, 96614
ProfilingAgent [candidate] (96.819 ms) : 0, 96819
BytebuddyAgent [baseline] (712.133 ms) : 0, 712133
BytebuddyAgent [candidate] (711.316 ms) : 0, 711316
GlobalTracer [baseline] (355.81 ms) : 0, 355810
GlobalTracer [candidate] (355.658 ms) : 0, 355658
AppSec [baseline] (55.662 ms) : 0, 55662
AppSec [candidate] (55.038 ms) : 0, 55038
Remote Config [baseline] (703.876 Β΅s) : 0, 704
Remote Config [candidate] (714.908 Β΅s) : 0, 715
Telemetry [baseline] (8.966 ms) : 0, 8966
Telemetry [candidate] (8.975 ms) : 0, 8975
Profiling [baseline] (96.641 ms) : 0, 96641
Profiling [candidate] (96.846 ms) : 0, 96846
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.47.0-SNAPSHOT~870e4fcfa9, baseline=1.47.0-SNAPSHOT~ec92bff4fb

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.049 s) : 0, 1049234
Total [baseline] (8.675 s) : 0, 8675368
Agent [candidate] (1.046 s) : 0, 1045882
Total [candidate] (8.642 s) : 0, 8642146
section iast
Agent [baseline] (1.171 s) : 0, 1170750
Total [baseline] (9.263 s) : 0, 9262891
Agent [candidate] (1.178 s) : 0, 1177757
Total [candidate] (9.238 s) : 0, 9237793
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.172 s) : 0, 1171701
Total [baseline] (9.203 s) : 0, 9202651
Agent [candidate] (1.169 s) : 0, 1168996
Total [candidate] (9.194 s) : 0, 9193654
section iast_TELEMETRY_OFF
Agent [baseline] (1.171 s) : 0, 1171165
Total [baseline] (9.214 s) : 0, 9214460
Agent [candidate] (1.179 s) : 0, 1178960
Total [candidate] (9.221 s) : 0, 9221221
Loading
  • baseline results
Module Variant Duration Ξ” tracing
Agent tracing 1.049 s -
Agent iast 1.171 s 121.516 ms (11.6%)
Agent iast_HARDCODED_SECRET_DISABLED 1.172 s 122.468 ms (11.7%)
Agent iast_TELEMETRY_OFF 1.171 s 121.932 ms (11.6%)
Total tracing 8.675 s -
Total iast 9.263 s 587.523 ms (6.8%)
Total iast_HARDCODED_SECRET_DISABLED 9.203 s 527.283 ms (6.1%)
Total iast_TELEMETRY_OFF 9.214 s 539.092 ms (6.2%)
  • candidate results
Module Variant Duration Ξ” tracing
Agent tracing 1.046 s -
Agent iast 1.178 s 131.874 ms (12.6%)
Agent iast_HARDCODED_SECRET_DISABLED 1.169 s 123.113 ms (11.8%)
Agent iast_TELEMETRY_OFF 1.179 s 133.078 ms (12.7%)
Total tracing 8.642 s -
Total iast 9.238 s 595.646 ms (6.9%)
Total iast_HARDCODED_SECRET_DISABLED 9.194 s 551.508 ms (6.4%)
Total iast_TELEMETRY_OFF 9.221 s 579.075 ms (6.7%)
gantt
    title insecure-bank - break down per module: candidate=1.47.0-SNAPSHOT~870e4fcfa9, baseline=1.47.0-SNAPSHOT~ec92bff4fb

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (722.377 ms) : 0, 722377
BytebuddyAgent [candidate] (716.851 ms) : 0, 716851
GlobalTracer [baseline] (244.572 ms) : 0, 244572
GlobalTracer [candidate] (244.055 ms) : 0, 244055
AppSec [baseline] (55.396 ms) : 0, 55396
AppSec [candidate] (55.346 ms) : 0, 55346
Remote Config [baseline] (735.522 Β΅s) : 0, 736
Remote Config [candidate] (720.721 Β΅s) : 0, 721
Telemetry [baseline] (10.8 ms) : 0, 10800
Telemetry [candidate] (13.716 ms) : 0, 13716
section iast
BytebuddyAgent [baseline] (833.101 ms) : 0, 833101
BytebuddyAgent [candidate] (839.323 ms) : 0, 839323
GlobalTracer [baseline] (233.367 ms) : 0, 233367
GlobalTracer [candidate] (234.435 ms) : 0, 234435
IAST [baseline] (22.753 ms) : 0, 22753
IAST [candidate] (24.013 ms) : 0, 24013
AppSec [baseline] (56.785 ms) : 0, 56785
AppSec [candidate] (55.422 ms) : 0, 55422
Remote Config [baseline] (626.436 Β΅s) : 0, 626
Remote Config [candidate] (612.074 Β΅s) : 0, 612
Telemetry [baseline] (8.814 ms) : 0, 8814
Telemetry [candidate] (8.677 ms) : 0, 8677
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (834.548 ms) : 0, 834548
BytebuddyAgent [candidate] (831.617 ms) : 0, 831617
GlobalTracer [baseline] (233.57 ms) : 0, 233570
GlobalTracer [candidate] (233.16 ms) : 0, 233160
IAST [baseline] (22.699 ms) : 0, 22699
IAST [candidate] (25.049 ms) : 0, 25049
AppSec [baseline] (56.381 ms) : 0, 56381
AppSec [candidate] (54.762 ms) : 0, 54762
Remote Config [baseline] (614.776 Β΅s) : 0, 615
Remote Config [candidate] (602.934 Β΅s) : 0, 603
Telemetry [baseline] (8.655 ms) : 0, 8655
Telemetry [candidate] (8.656 ms) : 0, 8656
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (833.366 ms) : 0, 833366
BytebuddyAgent [candidate] (838.761 ms) : 0, 838761
GlobalTracer [baseline] (233.909 ms) : 0, 233909
GlobalTracer [candidate] (235.792 ms) : 0, 235792
IAST [baseline] (26.975 ms) : 0, 26975
IAST [candidate] (26.322 ms) : 0, 26322
AppSec [baseline] (52.298 ms) : 0, 52298
AppSec [candidate] (53.255 ms) : 0, 53255
Remote Config [baseline] (615.804 Β΅s) : 0, 616
Remote Config [candidate] (622.443 Β΅s) : 0, 622
Telemetry [baseline] (8.702 ms) : 0, 8702
Telemetry [candidate] (8.755 ms) : 0, 8755
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-02-10T15:31:02 2025-02-10T15:38:06
git_branch master daniel.mohedano/test-management-tests-request
git_commit_date 1739194085 1739200690
git_commit_sha ec92bff 870e4fc
release_version 1.47.0-SNAPSHOT~ec92bff4fb 1.47.0-SNAPSHOT~870e4fcfa9
start_time 2025-02-10T15:30:48 2025-02-10T15:37:53
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1739202245 1739202245
ci_job_id 801145235 801145235
ci_pipeline_id 55408903 55408903
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-yqdbyqy4-project-304-concurrent-0-4s6ca1h7 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:50:46 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux Linux runner-yqdbyqy4-project-304-concurrent-0-4s6ca1h7 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:50:46 UTC 2024 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, 15 unstable metrics.

Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.47.0-SNAPSHOT~870e4fcfa9, baseline=1.47.0-SNAPSHOT~ec92bff4fb
    dateFormat X
    axisFormat %s
section baseline
no_agent (385.689 Β΅s) : 363, 408
.   : milestone, 386,
iast (509.819 Β΅s) : 488, 531
.   : milestone, 510,
iast_FULL (745.398 Β΅s) : 723, 767
.   : milestone, 745,
iast_GLOBAL (555.358 Β΅s) : 533, 577
.   : milestone, 555,
iast_HARDCODED_SECRET_DISABLED (510.819 Β΅s) : 489, 533
.   : milestone, 511,
iast_INACTIVE (463.437 Β΅s) : 442, 485
.   : milestone, 463,
iast_TELEMETRY_OFF (497.689 Β΅s) : 475, 520
.   : milestone, 498,
tracing (457.974 Β΅s) : 437, 479
.   : milestone, 458,
section candidate
no_agent (376.74 Β΅s) : 356, 397
.   : milestone, 377,
iast (505.249 Β΅s) : 484, 527
.   : milestone, 505,
iast_FULL (745.831 Β΅s) : 724, 768
.   : milestone, 746,
iast_GLOBAL (556.846 Β΅s) : 535, 579
.   : milestone, 557,
iast_HARDCODED_SECRET_DISABLED (513.027 Β΅s) : 491, 535
.   : milestone, 513,
iast_INACTIVE (457.251 Β΅s) : 436, 478
.   : milestone, 457,
iast_TELEMETRY_OFF (499.057 Β΅s) : 476, 522
.   : milestone, 499,
tracing (454.911 Β΅s) : 434, 476
.   : milestone, 455,
Loading
  • baseline results
Variant Request duration [CI 0.99] Ξ” no_agent
no_agent 385.689 Β΅s [363.155 Β΅s, 408.222 Β΅s] -
iast 509.819 Β΅s [488.257 Β΅s, 531.382 Β΅s] 124.131 Β΅s (32.2%)
iast_FULL 745.398 Β΅s [723.371 Β΅s, 767.425 Β΅s] 359.709 Β΅s (93.3%)
iast_GLOBAL 555.358 Β΅s [533.364 Β΅s, 577.353 Β΅s] 169.67 Β΅s (44.0%)
iast_HARDCODED_SECRET_DISABLED 510.819 Β΅s [488.827 Β΅s, 532.812 Β΅s] 125.131 Β΅s (32.4%)
iast_INACTIVE 463.437 Β΅s [441.919 Β΅s, 484.955 Β΅s] 77.748 Β΅s (20.2%)
iast_TELEMETRY_OFF 497.689 Β΅s [475.057 Β΅s, 520.321 Β΅s] 112.0 Β΅s (29.0%)
tracing 457.974 Β΅s [436.711 Β΅s, 479.237 Β΅s] 72.285 Β΅s (18.7%)
  • candidate results
Variant Request duration [CI 0.99] Ξ” no_agent
no_agent 376.74 Β΅s [356.293 Β΅s, 397.186 Β΅s] -
iast 505.249 Β΅s [483.709 Β΅s, 526.789 Β΅s] 128.509 Β΅s (34.1%)
iast_FULL 745.831 Β΅s [723.771 Β΅s, 767.891 Β΅s] 369.091 Β΅s (98.0%)
iast_GLOBAL 556.846 Β΅s [534.978 Β΅s, 578.713 Β΅s] 180.106 Β΅s (47.8%)
iast_HARDCODED_SECRET_DISABLED 513.027 Β΅s [490.913 Β΅s, 535.14 Β΅s] 136.287 Β΅s (36.2%)
iast_INACTIVE 457.251 Β΅s [436.424 Β΅s, 478.077 Β΅s] 80.511 Β΅s (21.4%)
iast_TELEMETRY_OFF 499.057 Β΅s [476.148 Β΅s, 521.966 Β΅s] 122.317 Β΅s (32.5%)
tracing 454.911 Β΅s [434.164 Β΅s, 475.659 Β΅s] 78.172 Β΅s (20.7%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.47.0-SNAPSHOT~870e4fcfa9, baseline=1.47.0-SNAPSHOT~ec92bff4fb
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.364 ms) : 1344, 1383
.   : milestone, 1364,
appsec (1.742 ms) : 1719, 1765
.   : milestone, 1742,
appsec_no_iast (1.754 ms) : 1729, 1779
.   : milestone, 1754,
iast (1.52 ms) : 1496, 1544
.   : milestone, 1520,
profiling (1.525 ms) : 1500, 1550
.   : milestone, 1525,
tracing (1.499 ms) : 1474, 1523
.   : milestone, 1499,
section candidate
no_agent (1.36 ms) : 1341, 1380
.   : milestone, 1360,
appsec (1.748 ms) : 1725, 1772
.   : milestone, 1748,
appsec_no_iast (1.753 ms) : 1726, 1780
.   : milestone, 1753,
iast (1.517 ms) : 1492, 1541
.   : milestone, 1517,
profiling (1.512 ms) : 1489, 1535
.   : milestone, 1512,
tracing (1.492 ms) : 1468, 1517
.   : milestone, 1492,
Loading
  • baseline results
Variant Request duration [CI 0.99] Ξ” no_agent
no_agent 1.364 ms [1.344 ms, 1.383 ms] -
appsec 1.742 ms [1.719 ms, 1.765 ms] 378.307 Β΅s (27.7%)
appsec_no_iast 1.754 ms [1.729 ms, 1.779 ms] 390.455 Β΅s (28.6%)
iast 1.52 ms [1.496 ms, 1.544 ms] 156.427 Β΅s (11.5%)
profiling 1.525 ms [1.5 ms, 1.55 ms] 161.301 Β΅s (11.8%)
tracing 1.499 ms [1.474 ms, 1.523 ms] 135.251 Β΅s (9.9%)
  • candidate results
Variant Request duration [CI 0.99] Ξ” no_agent
no_agent 1.36 ms [1.341 ms, 1.38 ms] -
appsec 1.748 ms [1.725 ms, 1.772 ms] 387.955 Β΅s (28.5%)
appsec_no_iast 1.753 ms [1.726 ms, 1.78 ms] 392.773 Β΅s (28.9%)
iast 1.517 ms [1.492 ms, 1.541 ms] 156.547 Β΅s (11.5%)
profiling 1.512 ms [1.489 ms, 1.535 ms] 151.977 Β΅s (11.2%)
tracing 1.492 ms [1.468 ms, 1.517 ms] 131.975 Β΅s (9.7%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master daniel.mohedano/test-management-tests-request
git_commit_date 1739194085 1739200690
git_commit_sha ec92bff 870e4fc
release_version 1.47.0-SNAPSHOT~ec92bff4fb 1.47.0-SNAPSHOT~870e4fcfa9
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1739202825 1739202825
ci_job_id 801145237 801145237
ci_pipeline_id 55408903 55408903
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-f6m4bnqv-project-304-concurrent-1-jxz8jgqj 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:50:46 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux Linux runner-f6m4bnqv-project-304-concurrent-1-jxz8jgqj 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:50:46 UTC 2024 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 tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.47.0-SNAPSHOT~870e4fcfa9, baseline=1.47.0-SNAPSHOT~ec92bff4fb
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.474 ms) : 1463, 1486
.   : milestone, 1474,
appsec (2.386 ms) : 2342, 2430
.   : milestone, 2386,
iast (2.121 ms) : 2065, 2177
.   : milestone, 2121,
iast_GLOBAL (2.162 ms) : 2107, 2218
.   : milestone, 2162,
profiling (2.005 ms) : 1959, 2051
.   : milestone, 2005,
tracing (1.958 ms) : 1916, 2001
.   : milestone, 1958,
section candidate
no_agent (1.477 ms) : 1465, 1488
.   : milestone, 1477,
appsec (2.376 ms) : 2332, 2420
.   : milestone, 2376,
iast (2.111 ms) : 2056, 2166
.   : milestone, 2111,
iast_GLOBAL (2.165 ms) : 2109, 2220
.   : milestone, 2165,
profiling (1.982 ms) : 1939, 2026
.   : milestone, 1982,
tracing (1.963 ms) : 1920, 2005
.   : milestone, 1963,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Ξ” no_agent
no_agent 1.474 ms [1.463 ms, 1.486 ms] -
appsec 2.386 ms [2.342 ms, 2.43 ms] 912.135 Β΅s (61.9%)
iast 2.121 ms [2.065 ms, 2.177 ms] 647.066 Β΅s (43.9%)
iast_GLOBAL 2.162 ms [2.107 ms, 2.218 ms] 688.359 Β΅s (46.7%)
profiling 2.005 ms [1.959 ms, 2.051 ms] 530.865 Β΅s (36.0%)
tracing 1.958 ms [1.916 ms, 2.001 ms] 484.279 Β΅s (32.9%)
  • candidate results
Variant Execution Time [CI 0.99] Ξ” no_agent
no_agent 1.477 ms [1.465 ms, 1.488 ms] -
appsec 2.376 ms [2.332 ms, 2.42 ms] 899.526 Β΅s (60.9%)
iast 2.111 ms [2.056 ms, 2.166 ms] 634.356 Β΅s (43.0%)
iast_GLOBAL 2.165 ms [2.109 ms, 2.22 ms] 688.094 Β΅s (46.6%)
profiling 1.982 ms [1.939 ms, 2.026 ms] 505.651 Β΅s (34.2%)
tracing 1.963 ms [1.92 ms, 2.005 ms] 486.099 Β΅s (32.9%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.47.0-SNAPSHOT~870e4fcfa9, baseline=1.47.0-SNAPSHOT~ec92bff4fb
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.977 s) : 14977000, 14977000
.   : milestone, 14977000,
appsec (14.817 s) : 14817000, 14817000
.   : milestone, 14817000,
iast (19.147 s) : 19147000, 19147000
.   : milestone, 19147000,
iast_GLOBAL (18.115 s) : 18115000, 18115000
.   : milestone, 18115000,
profiling (15.581 s) : 15581000, 15581000
.   : milestone, 15581000,
tracing (14.788 s) : 14788000, 14788000
.   : milestone, 14788000,
section candidate
no_agent (14.86 s) : 14860000, 14860000
.   : milestone, 14860000,
appsec (15.185 s) : 15185000, 15185000
.   : milestone, 15185000,
iast (19.017 s) : 19017000, 19017000
.   : milestone, 19017000,
iast_GLOBAL (18.086 s) : 18086000, 18086000
.   : milestone, 18086000,
profiling (14.914 s) : 14914000, 14914000
.   : milestone, 14914000,
tracing (15.027 s) : 15027000, 15027000
.   : milestone, 15027000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Ξ” no_agent
no_agent 14.977 s [14.977 s, 14.977 s] -
appsec 14.817 s [14.817 s, 14.817 s] -160.0 ms (-1.1%)
iast 19.147 s [19.147 s, 19.147 s] 4.17 s (27.8%)
iast_GLOBAL 18.115 s [18.115 s, 18.115 s] 3.138 s (21.0%)
profiling 15.581 s [15.581 s, 15.581 s] 604.0 ms (4.0%)
tracing 14.788 s [14.788 s, 14.788 s] -189.0 ms (-1.3%)
  • candidate results
Variant Execution Time [CI 0.99] Ξ” no_agent
no_agent 14.86 s [14.86 s, 14.86 s] -
appsec 15.185 s [15.185 s, 15.185 s] 325.0 ms (2.2%)
iast 19.017 s [19.017 s, 19.017 s] 4.157 s (28.0%)
iast_GLOBAL 18.086 s [18.086 s, 18.086 s] 3.226 s (21.7%)
profiling 14.914 s [14.914 s, 14.914 s] 54.0 ms (0.4%)
tracing 15.027 s [15.027 s, 15.027 s] 167.0 ms (1.1%)

@@ -50,5 +56,8 @@ Map<String, Collection<TestIdentifier>> getFlakyTestsByModule(TracerEnvironment
Map<String, Collection<TestIdentifier>> getKnownTestsByModule(TracerEnvironment tracerEnvironment)
throws IOException;

Map<String, Map<String, Collection<TestIdentifier>>> getTestManagementTestsByModule(
Copy link
Contributor

Choose a reason for hiding this comment

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

Map<String, Map<String, Collection<TestIdentifier>>> might be difficult to comprehend when we revisit this code in a few months :)

Let's see if we can apply stronger typing, e.g. something along the lines of Map<String, Map<TestManagementStatus, Collection<TestIdentifier>>>.
Where TestManagementStatus is an enum with possible values quarantined, disabled, attemptToFix (TestManagementStatus might not be the best name for it, we can consider alternatives too, like TestManagementStrategy or TestManagementBehavior).

My main point is what we expect here is a set of values that are known to the tracer, if we cement this with some compile-time safety, the code will be easier to reason about.

TracerEnvironment tracerEnvironment) throws IOException {
OkHttpUtils.CustomListener telemetryListener =
new TelemetryListener.Builder(metricCollector)
.requestCount(CiVisibilityCountMetric.TEST_MANAGEMENT_TESTS_DETECTION_REQUEST)
Copy link
Contributor

Choose a reason for hiding this comment

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

The "detection" made sense in "Impacted Tests Detection" as that was the name of the feature.
Here, I think, TEST_MANAGEMENT_TESTS_REQUEST is enough

@Nullable private final Collection<TestIdentifier> flakyTests;
@Nullable private final Collection<TestIdentifier> knownTests;
@Nonnull private final Collection<TestIdentifier> quarantinedTests;
@Nonnull private final Collection<TestIdentifier> disabledTests;
@Nonnull private final Collection<TestIdentifier> attemptToFixTests;
Copy link
Contributor

Choose a reason for hiding this comment

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

Thats' a lot of collections, I'm concerned about the possible memory footprint.
I think it'd be more efficient (and concise and easier to comprehend too) to have a single Map<TestIdentifer, TestSettings> where the value would contain all the possible settings for a given test (is flaky, is known, is quarantined, is disabled, is attempted to fix).
Could even be a map of <TestIdentifier, Integer> where integer is a bit mask (a bit low level, but memory-efficient, and the complexity is tolerable if we encapsulate it in this class and expose a higher-level API).

Copy link
Contributor

Choose a reason for hiding this comment

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

skippableTests should be separate though, as there the identifier includes test parameters.

Copy link
Contributor

Choose a reason for hiding this comment

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

Which makes me think of another issue: in some places where TestIdentifier is used, it includes parameters, while in others the parameters are omitted (because the backend doesn't give us that data).
It's not good that we have to guess whether a particular lookup should be done with parameters or without them, and the more logic we have using TestIdentifier, the more convoluted things become.

Perhaps it is the right time to introduce something like TestFQN (meaning "fully-qualified name"; as usual, naming things is the hard part) - something that identifies a test not taking its parameters into account - to make it clear what is expected where.

And then we could have something like TestIdentifer#toFQN to convert one thing into the other.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Should flakyTests also be separate? I see that they can include test parameters as well in the request

Copy link
Contributor Author

@daniel-mohedano daniel-mohedano Feb 6, 2025

Choose a reason for hiding this comment

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

Ah, but it seems like they are never used with the parameters (the comparison is always done with TestIdentifier#withoutParameters)

Copy link
Contributor

Choose a reason for hiding this comment

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

Yeah, I don't think the backend returns parameters for flaky tests. The test case is not accurate

Map<String, Collection<TestIdentifier>> quarantinedTestsByModule =
testManagementTestsByModule != null
? testManagementTestsByModule.get("quarantined")
: Collections.emptyMap();
Copy link
Contributor

Choose a reason for hiding this comment

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

If getTestManagementTestsByModule returned an empty map in case of failure, we could simplify this bit (and the others here) to

testManagementTestsByModule.getOrDefault("quarantined", Collections.emptyMap());

"test-c": {
"properties": {
"quarantined": true,
"disabled": false,
Copy link
Contributor

Choose a reason for hiding this comment

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

Let's maybe have one more example here where the flags are omitted rather than set to false, as this is what the backend will probably do.

@@ -170,14 +250,17 @@ public boolean equals(Object o) {
return itrEnabled == that.itrEnabled
&& codeCoverageEnabled == that.codeCoverageEnabled
&& testSkippingEnabled == that.testSkippingEnabled
&& flakyTestRetriesEnabled == that.flakyTestRetriesEnabled
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@nikita-tkachenko-datadog flakyTestRetriesEnabled and impactedTestsDetectionEnabled used to not be check both in equals and hashCode methods. I've included them, but if there was a reason for this I can remove them again

Copy link
Contributor

Choose a reason for hiding this comment

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

No reason that I can remember, I just forgot to add them most likely.
The equals is used by the serialisation tests, so it's best to add every field. If a field is absent the tests will not validate whether it was serialised/deserialised correctly.


private void addTest(TestFQN test, TestSettings setting) {
int existingFlag = testSettings.getOrDefault(test, 0);
testSettings.put(test, TestSettings.addSetting(existingFlag, setting));
Copy link
Contributor

Choose a reason for hiding this comment

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

We can avoid the extra map lookup by doing testSettings.merge(test, setting.flag, (a, b) -> a | b);

@@ -170,14 +250,17 @@ public boolean equals(Object o) {
return itrEnabled == that.itrEnabled
&& codeCoverageEnabled == that.codeCoverageEnabled
&& testSkippingEnabled == that.testSkippingEnabled
&& flakyTestRetriesEnabled == that.flakyTestRetriesEnabled
Copy link
Contributor

Choose a reason for hiding this comment

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

No reason that I can remember, I just forgot to add them most likely.
The equals is used by the serialisation tests, so it's best to add every field. If a field is absent the tests will not validate whether it was serialised/deserialised correctly.

import datadog.trace.civisibility.ipc.serialization.Serializer;
import java.nio.ByteBuffer;

public enum TestSettings {
Copy link
Contributor

Choose a reason for hiding this comment

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

Let's rename this class to TestSetting singular to adhere to the common conventions

this.flakyTests = flakyTests;
this.knownTests = knownTests;
this.flakyTestsReceived = flakyTestsReceived;
this.knownTestsReceived = knownTestsReceived;
Copy link
Contributor

Choose a reason for hiding this comment

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

I think we can get rid of the two "received" flags and use getSettingCount with a special value of -1 for the same purpose

@Nonnull
public Map<TestIdentifier, TestMetadata> getSkippableTests() {
return skippableTests;
public boolean wereFlakyTestsReceived() {
Copy link
Contributor

Choose a reason for hiding this comment

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

I'd suggest renaming to something like isFlakyTestsDataAvailable(), "received" in the name seems too implementation-specific

public TestFQN toFQN() {
return fqn;
}

public TestIdentifier withoutParameters() {
Copy link
Contributor

Choose a reason for hiding this comment

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

Is withoutParameters() still used? We should replace it with toFQN and drop if possible

Copy link
Contributor Author

Choose a reason for hiding this comment

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

withoutParameters() was replaced by toFQN, but wasn't removed. Good catch.

disabledTests.forEach(fqn -> addTest(fqn, TestSettings.DISABLED));
attemptToFixTests.forEach(fqn -> addTest(fqn, TestSettings.ATTEMPT_TO_FIX));

settingsCount = new HashMap<>();
Copy link
Contributor

Choose a reason for hiding this comment

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

Let's use EnumMap, it's slightly more efficient both time- and spacewise

Copy link
Contributor

Choose a reason for hiding this comment

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

Extra bonus points for adding a new utility method to the serializer, one that would allow to provide the type of map you want to instantiate on deserialisation

return name;
}

public static int addSetting(int flag, TestSettings setting) {
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
public static int addSetting(int flag, TestSettings setting) {
public static int set(int mask, TestSettings setting) {

return flag | setting.flag;
}

public static boolean isSetting(int flag, TestSettings setting) {
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
public static boolean isSetting(int flag, TestSettings setting) {
public static boolean isSet(int mask, TestSettings setting) {

@daniel-mohedano daniel-mohedano marked this pull request as ready for review February 11, 2025 08:37
@daniel-mohedano daniel-mohedano requested review from a team as code owners February 11, 2025 08:37
@daniel-mohedano daniel-mohedano merged commit 2964589 into master Feb 11, 2025
199 checks passed
@daniel-mohedano daniel-mohedano deleted the daniel.mohedano/test-management-tests-request branch February 11, 2025 08:41
@github-actions github-actions bot added this to the 1.47.0 milestone Feb 11, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Mar 6, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.46.1` -> `1.47.0` |
| [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.46.1` -> `1.47.0` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.33` -> `2.30.34` |
| [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.33` -> `2.30.34` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.33` -> `2.30.34` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.33` -> `2.30.34` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.33` -> `2.30.34` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.33` -> `2.30.34` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.33` -> `2.30.34` |

---

### Release Notes

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

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

##### Components

##### Application Security Management (IAST)

- πŸ› Exclude com.stripe.net.HttpURLConnectionClient to solve IAST
SSRF vulnerability false positives
([#&#8203;8483](DataDog/dd-trace-java#8483) -
[@&#8203;jandro996](https://github.com/jandro996))
- πŸ› Add exclusion to solve IAST weak randomness vulnerability false
positives
([#&#8203;8462](DataDog/dd-trace-java#8462) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Fix weak randomness false positive in Kafka client
([#&#8203;8408](DataDog/dd-trace-java#8408) -
[@&#8203;smola](https://github.com/smola))
- ✨ Fix location for SSRF with Kong Unirest
([#&#8203;8407](DataDog/dd-trace-java#8407) -
[@&#8203;smola](https://github.com/smola))
- ✨ Exclude IBM Instana from IAST
([#&#8203;8406](DataDog/dd-trace-java#8406) -
[@&#8203;smola](https://github.com/smola))
- πŸ› Fix org.json iast instrumentation test for latest dependency
([#&#8203;8347](DataDog/dd-trace-java#8347) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Configuration to Disable APM Tracing
([#&#8203;8219](DataDog/dd-trace-java#8219) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Address cookie vulnerability cardinality issues
([#&#8203;8210](DataDog/dd-trace-java#8210) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Email HTML Injection detection in IAST
([#&#8203;8205](DataDog/dd-trace-java#8205) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))

##### Application Security Management (WAF)

- πŸ›βœ¨ Ensure usr.exists tag is not overridden when
UsernameNotFoundException is thrown
([#&#8203;8376](DataDog/dd-trace-java#8376) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- πŸ›βœ¨ Ensure usr.exists tag is not overridden by auto
instrumentation
([#&#8203;8374](DataDog/dd-trace-java#8374) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Update appsec metrics with event_rules_version tag
([#&#8203;8354](DataDog/dd-trace-java#8354) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))
- ✨ Update metrics: appsec.waf.requests
([#&#8203;8353](DataDog/dd-trace-java#8353) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Improve ASM support in vert.x 5.0
([#&#8203;8285](DataDog/dd-trace-java#8285) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Update metrics: appsec.waf.updates and appsec.waf.init
([#&#8203;8280](DataDog/dd-trace-java#8280) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Configuration to Disable APM Tracing
([#&#8203;8219](DataDog/dd-trace-java#8219) -
[@&#8203;jandro996](https://github.com/jandro996))

##### Build & Tooling

- πŸ› Do not generate Muzzle references for primitive arrays in method
body
([#&#8203;8361](DataDog/dd-trace-java#8361) -
[@&#8203;amarziali](https://github.com/amarziali))
- πŸ“– Improve dev env setup documentation for Windows
([#&#8203;8180](DataDog/dd-trace-java#8180) -
[@&#8203;lucaspimentel](https://github.com/lucaspimentel))

##### Continuous Integration Visibility

- ✨ Add support for skip-EFD tagging
([#&#8203;8487](DataDog/dd-trace-java#8487) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- πŸ› Fix an NPE in Gradle Android instrumentation
([#&#8203;8484](DataDog/dd-trace-java#8484) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Consider modified tests when applying fail-fast tests
ordering
([#&#8203;8474](DataDog/dd-trace-java#8474) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Implement tests reordering for TestNG
([#&#8203;8467](DataDog/dd-trace-java#8467) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- πŸ› Fix Gradle Launcher instrumentation to not interfere with Gradle
Test Kit
([#&#8203;8465](DataDog/dd-trace-java#8465) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Use separate TestEventHandlers per framework in CI Vis
instrumentations
([#&#8203;8451](DataDog/dd-trace-java#8451) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Remove warning log when JUnit 4 test method cannot be
retrieved
([#&#8203;8445](DataDog/dd-trace-java#8445) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- πŸ› Fix Scalatest tracing for tests that are reported asynchronously
([#&#8203;8444](DataDog/dd-trace-java#8444) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Implement attempt to fix tests
([#&#8203;8393](DataDog/dd-trace-java#8393) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Implement test disabling
([#&#8203;8377](DataDog/dd-trace-java#8377) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Update CODEOWNERS parser to not log errors on comments with
leading whitespace
([#&#8203;8349](DataDog/dd-trace-java#8349) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Request Test Management tests list
([#&#8203;8345](DataDog/dd-trace-java#8345) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Receive test management settings from CIVis settings
request
([#&#8203;8331](DataDog/dd-trace-java#8331) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Implement quarantined tests tagging
([#&#8203;8326](DataDog/dd-trace-java#8326) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Implement tests quarantining
([#&#8203;8320](DataDog/dd-trace-java#8320) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add tag to specify if the user is setting DD_SERVICE
([#&#8203;8318](DataDog/dd-trace-java#8318) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))

##### Crash tracking

- ✨ Only fork jps when required
([#&#8203;8419](DataDog/dd-trace-java#8419) -
[@&#8203;mcculls](https://github.com/mcculls))
- πŸ› Use Java home of the crashed process to launch crash uploader
([#&#8203;8348](DataDog/dd-trace-java#8348) -
[@&#8203;jbachorik](https://github.com/jbachorik))

##### Data Streams Monitoring

- πŸ› Fix error happening when sqs message attributes are readonly
([#&#8203;8473](DataDog/dd-trace-java#8473) -
[@&#8203;vandonr](https://github.com/vandonr))
- πŸ› Fix bug on proto schema extraction
([#&#8203;8403](DataDog/dd-trace-java#8403) -
[@&#8203;vandonr](https://github.com/vandonr))
- πŸ› Fix service name overrides in consumers
([#&#8203;8387](DataDog/dd-trace-java#8387) -
[@&#8203;piochelepiotr](https://github.com/piochelepiotr))

##### Database Monitoring

- ✨ Add DBMTracePreparedStatements to tracer configuration log
([#&#8203;8508](DataDog/dd-trace-java#8508) -
[@&#8203;cecile75](https://github.com/cecile75))

##### Dynamic Instrumentation

- ✨ Look in another location for grpc service methods
([#&#8203;8468](DataDog/dd-trace-java#8468) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- πŸ› Fix Exception Replay with Lambda proxy classes
([#&#8203;8452](DataDog/dd-trace-java#8452) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add code origin support for spring-webmvc
([#&#8203;8416](DataDog/dd-trace-java#8416) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- ✨ Add support for scanning jar from loaded class
([#&#8203;8370](DataDog/dd-trace-java#8370) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- πŸ› Disable capture of entry values
([#&#8203;8369](DataDog/dd-trace-java#8369) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- πŸ› Fix CodeOrigin for `@Trace` annotation
([#&#8203;8344](DataDog/dd-trace-java#8344) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- πŸ› Fix equals/hashCode for CodeOrigin probe
([#&#8203;8319](DataDog/dd-trace-java#8319) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add code origin support to kafka message listeners
([#&#8203;8301](DataDog/dd-trace-java#8301) -
[@&#8203;evanchooly](https://github.com/evanchooly))

##### Metrics

- ✨ Create metric: appsec.waf.error
([#&#8203;8381](DataDog/dd-trace-java#8381) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))
- ✨ Create metric: appsec.rasp.error
([#&#8203;8364](DataDog/dd-trace-java#8364) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))

##### Profiling

- ✨ Bump ddprof library to 1.22.0
([#&#8203;8463](DataDog/dd-trace-java#8463) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- IBM J9 8u361 corresponds to OpenJDK 8u362 by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#187
- Fix compatibility with musl libc 1.2.4 by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#189
- Modify version extraction by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#179
- Do not write null values to jvminfo event by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#184
- Productize VMStructs-based stack walker by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#177
- A few minor downport issues by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#180
- Enable ASGCT by default on fairly safe J9 JDK versions by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#181
- πŸ› Exclude OrderedThreadPoolExecutor from queue-time measurements
([#&#8203;8456](DataDog/dd-trace-java#8456) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Record JVM info on JVMs without JFR
([#&#8203;8431](DataDog/dd-trace-java#8431) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- πŸ› Actually use CleanupTask in TempLocationManager
([#&#8203;8420](DataDog/dd-trace-java#8420) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Only fork jps when required
([#&#8203;8419](DataDog/dd-trace-java#8419) -
[@&#8203;mcculls](https://github.com/mcculls))
- πŸ› Adjust JFR checks for J9
([#&#8203;8405](DataDog/dd-trace-java#8405) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- 🧹 Disable smap RSS parsing by default
([#&#8203;8342](DataDog/dd-trace-java#8342) -
[@&#8203;MattAlp](https://github.com/MattAlp))

##### Telemetry

- πŸ› Add support for JBoss jar:file format to DependencyResolver
([#&#8203;8428](DataDog/dd-trace-java#8428) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Update metrics: appsec.waf.requests
([#&#8203;8353](DataDog/dd-trace-java#8353) -
[@&#8203;Mariovido](https://github.com/Mariovido))

##### Trace context propagation

- ✨ Introduce tracing propagator
([#&#8203;8313](DataDog/dd-trace-java#8313) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

##### Tracer core

- πŸ› Fix Stable Config telemetry source names
([#&#8203;8460](DataDog/dd-trace-java#8460) -
[@&#8203;BaptisteFoy](https://github.com/BaptisteFoy))
- ✨ Probe trace endpoints with a valid payload of empty arrays
([#&#8203;8414](DataDog/dd-trace-java#8414) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Add 1 minute fail-safe to JUL/JMX class-loading callback
([#&#8203;8399](DataDog/dd-trace-java#8399) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Migrate DSM injection calls to context-first APIs
([#&#8203;8383](DataDog/dd-trace-java#8383) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- 🧹 Move continuation capture methods from scope to tracer
([#&#8203;8371](DataDog/dd-trace-java#8371) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Migrate context extraction calls to context-first APIs
([#&#8203;8368](DataDog/dd-trace-java#8368) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- 🧹 Migrate context injection calls to context-first APIs
([#&#8203;8358](DataDog/dd-trace-java#8358) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- πŸ’‘ Support reading configurations from files
([#&#8203;8338](DataDog/dd-trace-java#8338) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
- πŸ’‘ Implementation of BaggagePropagator and BaggageContext
([#&#8203;8330](DataDog/dd-trace-java#8330) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- 🧹 Combine continuation implementations into one which supports
multiple activations
([#&#8203;8324](DataDog/dd-trace-java#8324) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Introduce tracing propagator
([#&#8203;8313](DataDog/dd-trace-java#8313) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨ Remove old context propagation API
([#&#8203;8271](DataDog/dd-trace-java#8271) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

##### Instrumentations

##### AWS Lambda instrumentation

- πŸ› Send error message and stack to Lambda extension
([#&#8203;8417](DataDog/dd-trace-java#8417) -
[@&#8203;nhulston](https://github.com/nhulston))

##### AWS SDK instrumentation

- πŸ› Fix error happening when sqs message attributes are readonly
([#&#8203;8473](DataDog/dd-trace-java#8473) -
[@&#8203;vandonr](https://github.com/vandonr))
- πŸ’‘ Inject trace context into AWS Step Functions input
([#&#8203;7585](DataDog/dd-trace-java#7585) -
[@&#8203;DylanLovesCoffee](https://github.com/DylanLovesCoffee))

##### Core Java language instrumentation

- ✨ Look in another location for grpc service methods
([#&#8203;8468](DataDog/dd-trace-java#8468) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- ✨ Add code origin support for spring-webmvc
([#&#8203;8416](DataDog/dd-trace-java#8416) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- πŸ’‘ Implementation of BaggagePropagator and BaggageContext
([#&#8203;8330](DataDog/dd-trace-java#8330) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- ✨ Add code origin support to kafka message listeners
([#&#8203;8301](DataDog/dd-trace-java#8301) -
[@&#8203;evanchooly](https://github.com/evanchooly))

##### gRPC instrumentation

- ✨ Look in another location for grpc service methods
([#&#8203;8468](DataDog/dd-trace-java#8468) -
[@&#8203;evanchooly](https://github.com/evanchooly))

##### Kafka instrumentation

- ✨ Add messaging.destination.name tag to kafka integrations
([#&#8203;8366](DataDog/dd-trace-java#8366) -
[@&#8203;rarguelloF](https://github.com/rarguelloF))

##### Protocol Buffer instrumentation

- πŸ› Fix bug on proto schema extraction
([#&#8203;8403](DataDog/dd-trace-java#8403) -
[@&#8203;vandonr](https://github.com/vandonr))

</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: 108a0f86aa59ab4c938cbac0688dd4c19cb301fa
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp: ci visibility Continuous Integration Visibility type: enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants