Skip to content

Improve PR information building #8908

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 9 commits into from
Jun 3, 2025

Conversation

daniel-mohedano
Copy link
Contributor

What Does This Do

  • Allows building partial PR information
  • Provides the user with environment variables to manually set PR information
  • Makes changes to several CI providers regarding PR information building:
    • AppVeyor
    • BitBucket
    • Bitrise
    • Buddy
    • Gitlab
    • GithubActions
  • Adds support for DroneCI
  • Updates CI spec test fixtures

Contributor Checklist

Jira ticket: [PROJ-IDENT]

@daniel-mohedano daniel-mohedano added type: enhancement comp: ci visibility Continuous Integration Visibility labels Jun 2, 2025
@pr-commenter
Copy link

pr-commenter bot commented Jun 2, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master daniel.mohedano/pr-info-ci-spec
git_commit_date 1746789389 1748968971
git_commit_sha ad6d5fe fce06c1
release_version 1.50.0-SNAPSHOT~ad6d5fef42 1.50.0-SNAPSHOT~fce06c142f
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1748971489 1748971489
ci_job_id 965942694 965942694
ci_pipeline_id 66837461 66837461
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-6qnhxxvc-project-304-concurrent-0-kedjjboi 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-6qnhxxvc-project-304-concurrent-0-kedjjboi 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None
variant iast iast

Summary

Found 3 performance improvements and 3 performance regressions! Performance is the same for 50 metrics, 15 unstable metrics.

scenario Δ mean execution_time candidate mean execution_time baseline mean execution_time
scenario:startup:insecure-bank:tracing:AppSec worse
[+1.254ms; +5.722ms] or [+2.309%; +10.540%]
57.775ms 54.287ms
scenario:startup:petclinic:profiling:ProfilingAgent better
[-6.942ms; -2.585ms] or [-6.386%; -2.378%]
103.936ms 108.699ms
scenario:startup:petclinic:profiling:GlobalTracer better
[-19.557ms; -17.173ms] or [-5.166%; -4.537%]
360.167ms 378.532ms
scenario:startup:petclinic:profiling:AppSec worse
[+5.802ms; +9.188ms] or [+10.747%; +17.019%]
61.486ms 53.990ms
scenario:startup:petclinic:profiling:Profiling better
[-6.944ms; -2.586ms] or [-6.387%; -2.379%]
103.960ms 108.725ms
scenario:startup:petclinic:tracing:Remote Config worse
[+17.150µs; +71.263µs] or [+2.464%; +10.238%]
740.268µs 696.062µs
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.50.0-SNAPSHOT~fce06c142f, baseline=1.50.0-SNAPSHOT~ad6d5fef42

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.032 s) : 0, 1031784
Total [baseline] (11.282 s) : 0, 11282167
Agent [candidate] (1.024 s) : 0, 1024394
Total [candidate] (11.194 s) : 0, 11194115
section appsec
Agent [baseline] (1.162 s) : 0, 1161818
Total [baseline] (11.288 s) : 0, 11287982
Agent [candidate] (1.159 s) : 0, 1158918
Total [candidate] (11.179 s) : 0, 11178748
section iast
Agent [baseline] (1.147 s) : 0, 1146932
Total [baseline] (11.345 s) : 0, 11345359
Agent [candidate] (1.148 s) : 0, 1147706
Total [candidate] (11.366 s) : 0, 11366132
section profiling
Agent [baseline] (1.283 s) : 0, 1282941
Total [baseline] (11.392 s) : 0, 11391836
Agent [candidate] (1.266 s) : 0, 1266278
Total [candidate] (11.453 s) : 0, 11452696
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.032 s -
Agent appsec 1.162 s 130.034 ms (12.6%)
Agent iast 1.147 s 115.147 ms (11.2%)
Agent profiling 1.283 s 251.157 ms (24.3%)
Total tracing 11.282 s -
Total appsec 11.288 s 5.815 ms (0.1%)
Total iast 11.345 s 63.192 ms (0.6%)
Total profiling 11.392 s 109.668 ms (1.0%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.024 s -
Agent appsec 1.159 s 134.524 ms (13.1%)
Agent iast 1.148 s 123.312 ms (12.0%)
Agent profiling 1.266 s 241.884 ms (23.6%)
Total tracing 11.194 s -
Total appsec 11.179 s -15.367 ms (-0.1%)
Total iast 11.366 s 172.017 ms (1.5%)
Total profiling 11.453 s 258.581 ms (2.3%)
gantt
    title petclinic - break down per module: candidate=1.50.0-SNAPSHOT~fce06c142f, baseline=1.50.0-SNAPSHOT~ad6d5fef42

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (689.972 ms) : 0, 689972
BytebuddyAgent [candidate] (683.855 ms) : 0, 683855
GlobalTracer [baseline] (241.685 ms) : 0, 241685
GlobalTracer [candidate] (240.417 ms) : 0, 240417
AppSec [baseline] (55.024 ms) : 0, 55024
AppSec [candidate] (56.532 ms) : 0, 56532
Debugger [baseline] (9.082 ms) : 0, 9082
Debugger [candidate] (6.223 ms) : 0, 6223
Remote Config [baseline] (696.062 µs) : 0, 696
Remote Config [candidate] (740.268 µs) : 0, 740
Telemetry [baseline] (11.476 ms) : 0, 11476
Telemetry [candidate] (13.029 ms) : 0, 13029
section appsec
BytebuddyAgent [baseline] (702.721 ms) : 0, 702721
BytebuddyAgent [candidate] (698.292 ms) : 0, 698292
GlobalTracer [baseline] (235.756 ms) : 0, 235756
GlobalTracer [candidate] (237.064 ms) : 0, 237064
IAST [baseline] (21.757 ms) : 0, 21757
IAST [candidate] (21.787 ms) : 0, 21787
AppSec [baseline] (174.599 ms) : 0, 174599
AppSec [candidate] (174.763 ms) : 0, 174763
Debugger [baseline] (6.312 ms) : 0, 6312
Debugger [candidate] (6.373 ms) : 0, 6373
Remote Config [baseline] (628.767 µs) : 0, 629
Remote Config [candidate] (632.56 µs) : 0, 633
Telemetry [baseline] (7.358 ms) : 0, 7358
Telemetry [candidate] (7.369 ms) : 0, 7369
section iast
BytebuddyAgent [baseline] (800.486 ms) : 0, 800486
BytebuddyAgent [candidate] (800.262 ms) : 0, 800262
GlobalTracer [baseline] (229.827 ms) : 0, 229827
GlobalTracer [candidate] (230.239 ms) : 0, 230239
IAST [baseline] (29.137 ms) : 0, 29137
IAST [candidate] (27.734 ms) : 0, 27734
AppSec [baseline] (48.06 ms) : 0, 48060
AppSec [candidate] (51.619 ms) : 0, 51619
Debugger [baseline] (5.953 ms) : 0, 5953
Debugger [candidate] (5.949 ms) : 0, 5949
Remote Config [baseline] (600.681 µs) : 0, 601
Remote Config [candidate] (601.364 µs) : 0, 601
Telemetry [baseline] (7.829 ms) : 0, 7829
Telemetry [candidate] (7.854 ms) : 0, 7854
section profiling
BytebuddyAgent [baseline] (676.258 ms) : 0, 676258
BytebuddyAgent [candidate] (674.969 ms) : 0, 674969
GlobalTracer [baseline] (378.532 ms) : 0, 378532
GlobalTracer [candidate] (360.167 ms) : 0, 360167
AppSec [baseline] (53.99 ms) : 0, 53990
AppSec [candidate] (61.486 ms) : 0, 61486
Debugger [baseline] (6.101 ms) : 0, 6101
Debugger [candidate] (6.156 ms) : 0, 6156
Remote Config [baseline] (657.441 µs) : 0, 657
Remote Config [candidate] (651.708 µs) : 0, 652
Telemetry [baseline] (7.996 ms) : 0, 7996
Telemetry [candidate] (8.12 ms) : 0, 8120
ProfilingAgent [baseline] (108.699 ms) : 0, 108699
ProfilingAgent [candidate] (103.936 ms) : 0, 103936
Profiling [baseline] (108.725 ms) : 0, 108725
Profiling [candidate] (103.96 ms) : 0, 103960
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.50.0-SNAPSHOT~fce06c142f, baseline=1.50.0-SNAPSHOT~ad6d5fef42

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.019 s) : 0, 1019234
Total [baseline] (8.518 s) : 0, 8517836
Agent [candidate] (1.024 s) : 0, 1024041
Total [candidate] (8.535 s) : 0, 8534892
section iast
Agent [baseline] (1.147 s) : 0, 1146515
Total [baseline] (9.147 s) : 0, 9146904
Agent [candidate] (1.171 s) : 0, 1170803
Total [candidate] (9.207 s) : 0, 9206540
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.147 s) : 0, 1147434
Total [baseline] (9.149 s) : 0, 9148977
Agent [candidate] (1.15 s) : 0, 1150095
Total [candidate] (9.124 s) : 0, 9123599
section iast_TELEMETRY_OFF
Agent [baseline] (1.152 s) : 0, 1152194
Total [baseline] (9.254 s) : 0, 9253599
Agent [candidate] (1.153 s) : 0, 1152846
Total [candidate] (9.229 s) : 0, 9228843
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.019 s -
Agent iast 1.147 s 127.281 ms (12.5%)
Agent iast_HARDCODED_SECRET_DISABLED 1.147 s 128.199 ms (12.6%)
Agent iast_TELEMETRY_OFF 1.152 s 132.96 ms (13.0%)
Total tracing 8.518 s -
Total iast 9.147 s 629.068 ms (7.4%)
Total iast_HARDCODED_SECRET_DISABLED 9.149 s 631.141 ms (7.4%)
Total iast_TELEMETRY_OFF 9.254 s 735.763 ms (8.6%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.024 s -
Agent iast 1.171 s 146.762 ms (14.3%)
Agent iast_HARDCODED_SECRET_DISABLED 1.15 s 126.054 ms (12.3%)
Agent iast_TELEMETRY_OFF 1.153 s 128.805 ms (12.6%)
Total tracing 8.535 s -
Total iast 9.207 s 671.648 ms (7.9%)
Total iast_HARDCODED_SECRET_DISABLED 9.124 s 588.707 ms (6.9%)
Total iast_TELEMETRY_OFF 9.229 s 693.951 ms (8.1%)
gantt
    title insecure-bank - break down per module: candidate=1.50.0-SNAPSHOT~fce06c142f, baseline=1.50.0-SNAPSHOT~ad6d5fef42

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (681.202 ms) : 0, 681202
BytebuddyAgent [candidate] (684.991 ms) : 0, 684991
GlobalTracer [baseline] (238.928 ms) : 0, 238928
GlobalTracer [candidate] (240.398 ms) : 0, 240398
AppSec [baseline] (54.287 ms) : 0, 54287
AppSec [candidate] (57.775 ms) : 0, 57775
Debugger [baseline] (8.353 ms) : 0, 8353
Debugger [candidate] (6.143 ms) : 0, 6143
Remote Config [baseline] (693.697 µs) : 0, 694
Remote Config [candidate] (727.711 µs) : 0, 728
Telemetry [baseline] (12.28 ms) : 0, 12280
Telemetry [candidate] (10.492 ms) : 0, 10492
section iast
BytebuddyAgent [baseline] (800.217 ms) : 0, 800217
BytebuddyAgent [candidate] (817.132 ms) : 0, 817132
GlobalTracer [baseline] (229.794 ms) : 0, 229794
GlobalTracer [candidate] (234.783 ms) : 0, 234783
IAST [baseline] (30.023 ms) : 0, 30023
IAST [candidate] (27.457 ms) : 0, 27457
AppSec [baseline] (47.919 ms) : 0, 47919
AppSec [candidate] (52.944 ms) : 0, 52944
Debugger [baseline] (5.943 ms) : 0, 5943
Debugger [candidate] (6.052 ms) : 0, 6052
Remote Config [baseline] (586.105 µs) : 0, 586
Remote Config [candidate] (617.569 µs) : 0, 618
Telemetry [baseline] (7.86 ms) : 0, 7860
Telemetry [candidate] (7.979 ms) : 0, 7979
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (800.966 ms) : 0, 800966
BytebuddyAgent [candidate] (801.644 ms) : 0, 801644
GlobalTracer [baseline] (229.63 ms) : 0, 229630
GlobalTracer [candidate] (230.641 ms) : 0, 230641
IAST [baseline] (31.18 ms) : 0, 31180
IAST [candidate] (26.471 ms) : 0, 26471
AppSec [baseline] (47.836 ms) : 0, 47836
AppSec [candidate] (53.451 ms) : 0, 53451
Debugger [baseline] (5.962 ms) : 0, 5962
Debugger [candidate] (5.942 ms) : 0, 5942
Remote Config [baseline] (589.078 µs) : 0, 589
Remote Config [candidate] (579.378 µs) : 0, 579
Telemetry [baseline] (7.812 ms) : 0, 7812
Telemetry [candidate] (7.91 ms) : 0, 7910
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (803.603 ms) : 0, 803603
BytebuddyAgent [candidate] (802.809 ms) : 0, 802809
GlobalTracer [baseline] (231.149 ms) : 0, 231149
GlobalTracer [candidate] (232.03 ms) : 0, 232030
IAST [baseline] (22.787 ms) : 0, 22787
IAST [candidate] (27.531 ms) : 0, 27531
AppSec [baseline] (56.54 ms) : 0, 56540
AppSec [candidate] (52.417 ms) : 0, 52417
Debugger [baseline] (6.075 ms) : 0, 6075
Debugger [candidate] (6.061 ms) : 0, 6061
Remote Config [baseline] (613.899 µs) : 0, 614
Remote Config [candidate] (614.868 µs) : 0, 615
Telemetry [baseline] (7.866 ms) : 0, 7866
Telemetry [candidate] (7.93 ms) : 0, 7930
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-06-03T16:54:19 2025-06-03T17:11:36
git_branch master daniel.mohedano/pr-info-ci-spec
git_commit_date 1746789389 1748968971
git_commit_sha ad6d5fe fce06c1
release_version 1.50.0-SNAPSHOT~ad6d5fef42 1.50.0-SNAPSHOT~fce06c142f
start_time 2025-06-03T16:54:04 2025-06-03T17:11:21
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1748971045 1748971045
ci_job_id 965942695 965942695
ci_pipeline_id 66837461 66837461
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-6qnhxxvc-project-304-concurrent-1-ewi3rii9 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-6qnhxxvc-project-304-concurrent-1-ewi3rii9 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
thresholds_or_results results results
variant iast iast

Summary

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

scenario Δ mean http_req_duration Δ mean throughput candidate mean http_req_duration candidate mean throughput baseline mean http_req_duration baseline mean throughput
scenario:load:petclinic:appsec unstable
[+73.456ms; +75.262ms] or [+998.939%; +1023.492%]
worse
[-625.825op/s; -599.351op/s] or [-93.092%; -89.153%]
81.712ms 59.681op/s 7.353ms 672.269op/s
scenario:load:petclinic:appsec_no_iast unstable
[+80.274ms; +82.353ms] or [+949.896%; +974.491%]
worse
[-542.386op/s; -517.053op/s] or [-92.884%; -88.545%]
89.764ms 54.222op/s 8.451ms 583.942op/s
scenario:load:petclinic:code_origins unstable
[+97.854ms; +101.468ms] or [+1272.986%; +1319.999%]
worse
[-618.649op/s; -588.245op/s] or [-95.891%; -91.178%]
107.348ms 41.714op/s 7.687ms 645.161op/s
scenario:load:petclinic:iast unstable
[+90.133ms; +92.607ms] or [+1205.918%; +1239.027%]
worse
[-623.931op/s; -590.825op/s] or [-95.149%; -90.101%]
98.844ms 48.360op/s 7.474ms 655.738op/s
scenario:load:petclinic:no_agent worse
[+4.627ms; +4.845ms] or [+52.543%; +55.024%]
unstable
[-227.673op/s; -166.111op/s] or [-40.412%; -29.485%]
13.542ms 366.488op/s 8.806ms 563.380op/s
scenario:load:petclinic:profiling unstable
[+62.656ms; +64.249ms] or [+809.963%; +830.548%]
worse
[-582.628op/s; -550.603op/s] or [-91.764%; -86.720%]
71.188ms 68.305op/s 7.736ms 634.921op/s
scenario:load:petclinic:tracing worse
[+59.653ms; +61.105ms] or [+inf%; +inf%]
unstable
[-23226.257op/s; -16612.400op/s] or [-116.131%; -83.062%]
60378656.358ns 80.671op/s 0.000ns 20000.000op/s

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master daniel.mohedano/pr-info-ci-spec
git_commit_date 1746789389 1748968971
git_commit_sha ad6d5fe fce06c1
release_version 1.50.0-SNAPSHOT~ad6d5fef42 1.50.0-SNAPSHOT~fce06c142f
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1748971040 1748971040
ci_job_id 965942697 965942697
ci_pipeline_id 66837461 66837461
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-6qnhxxvc-project-304-concurrent-2-2nv7c3ps 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-6qnhxxvc-project-304-concurrent-2-2nv7c3ps 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 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 tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.50.0-SNAPSHOT~fce06c142f, baseline=1.50.0-SNAPSHOT~ad6d5fef42
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.474 ms) : 1462, 1485
.   : milestone, 1474,
appsec (2.398 ms) : 2349, 2447
.   : milestone, 2398,
iast (2.18 ms) : 2119, 2242
.   : milestone, 2180,
iast_GLOBAL (2.219 ms) : 2158, 2280
.   : milestone, 2219,
profiling (2.021 ms) : 1972, 2070
.   : milestone, 2021,
tracing (1.993 ms) : 1945, 2040
.   : milestone, 1993,
section candidate
no_agent (1.475 ms) : 1463, 1486
.   : milestone, 1475,
appsec (2.386 ms) : 2337, 2434
.   : milestone, 2386,
iast (2.17 ms) : 2110, 2231
.   : milestone, 2170,
iast_GLOBAL (2.221 ms) : 2160, 2283
.   : milestone, 2221,
profiling (2.035 ms) : 1985, 2085
.   : milestone, 2035,
tracing (1.994 ms) : 1947, 2041
.   : milestone, 1994,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.474 ms [1.462 ms, 1.485 ms] -
appsec 2.398 ms [2.349 ms, 2.447 ms] 924.349 µs (62.7%)
iast 2.18 ms [2.119 ms, 2.242 ms] 706.611 µs (47.9%)
iast_GLOBAL 2.219 ms [2.158 ms, 2.28 ms] 745.245 µs (50.6%)
profiling 2.021 ms [1.972 ms, 2.07 ms] 547.195 µs (37.1%)
tracing 1.993 ms [1.945 ms, 2.04 ms] 518.819 µs (35.2%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.475 ms [1.463 ms, 1.486 ms] -
appsec 2.386 ms [2.337 ms, 2.434 ms] 910.908 µs (61.8%)
iast 2.17 ms [2.11 ms, 2.231 ms] 695.772 µs (47.2%)
iast_GLOBAL 2.221 ms [2.16 ms, 2.283 ms] 746.795 µs (50.6%)
profiling 2.035 ms [1.985 ms, 2.085 ms] 560.453 µs (38.0%)
tracing 1.994 ms [1.947 ms, 2.041 ms] 519.235 µs (35.2%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.50.0-SNAPSHOT~fce06c142f, baseline=1.50.0-SNAPSHOT~ad6d5fef42
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.989 s) : 14989000, 14989000
.   : milestone, 14989000,
appsec (14.84 s) : 14840000, 14840000
.   : milestone, 14840000,
iast (18.498 s) : 18498000, 18498000
.   : milestone, 18498000,
iast_GLOBAL (17.99 s) : 17990000, 17990000
.   : milestone, 17990000,
profiling (15.22 s) : 15220000, 15220000
.   : milestone, 15220000,
tracing (14.894 s) : 14894000, 14894000
.   : milestone, 14894000,
section candidate
no_agent (15.444 s) : 15444000, 15444000
.   : milestone, 15444000,
appsec (14.895 s) : 14895000, 14895000
.   : milestone, 14895000,
iast (18.673 s) : 18673000, 18673000
.   : milestone, 18673000,
iast_GLOBAL (18.15 s) : 18150000, 18150000
.   : milestone, 18150000,
profiling (15.791 s) : 15791000, 15791000
.   : milestone, 15791000,
tracing (15.047 s) : 15047000, 15047000
.   : milestone, 15047000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.989 s [14.989 s, 14.989 s] -
appsec 14.84 s [14.84 s, 14.84 s] -149.0 ms (-1.0%)
iast 18.498 s [18.498 s, 18.498 s] 3.509 s (23.4%)
iast_GLOBAL 17.99 s [17.99 s, 17.99 s] 3.001 s (20.0%)
profiling 15.22 s [15.22 s, 15.22 s] 231.0 ms (1.5%)
tracing 14.894 s [14.894 s, 14.894 s] -95.0 ms (-0.6%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.444 s [15.444 s, 15.444 s] -
appsec 14.895 s [14.895 s, 14.895 s] -549.0 ms (-3.6%)
iast 18.673 s [18.673 s, 18.673 s] 3.229 s (20.9%)
iast_GLOBAL 18.15 s [18.15 s, 18.15 s] 2.706 s (17.5%)
profiling 15.791 s [15.791 s, 15.791 s] 347.0 ms (2.2%)
tracing 15.047 s [15.047 s, 15.047 s] -397.0 ms (-2.6%)

Copy link
Contributor

@nikita-tkachenko-datadog nikita-tkachenko-datadog left a comment

Choose a reason for hiding this comment

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

Is it really the case that most CI providers only provide the base ref and not the base/head SHAs?

@@ -83,7 +84,12 @@ public CIInfo buildCIInfo() {
@Nonnull
@Override
public PullRequestInfo buildPullRequestInfo() {
return PullRequestInfo.EMPTY;
if (Strings.isNotBlank(environment.get(APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH))) {
Copy link
Contributor

Choose a reason for hiding this comment

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

We're checking one env var, then use another, is the logic correct here?
In the buildGitBranch method we first use the head repo branch, then fall back to repo branch

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It is intentional, yes. The issue here is that on PRs, AppVeyor stores the base branch in APPVEYOR_REPO_BRANCH. But on non-PRs, it stores the regular branch. So we can't use it to detect if there is a PR or not. On the other hand, APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH is only set on PRs but it's value is the source branch, not the base branch. So it uses it to check if there is actually a PR and then uses the correct value for the base branch. Will add a comment to clarify for future reference.

@@ -88,7 +86,7 @@ public CIInfo buildCIInfo() {
public PullRequestInfo buildPullRequestInfo() {
return new PullRequestInfo(
environment.get(GITLAB_PULL_REQUEST_BASE_BRANCH),
environment.get(GITLAB_PULL_REQUEST_BASE_BRANCH_SHA),
Copy link
Contributor

Choose a reason for hiding this comment

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

Why is this being removed?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We are removing the variable use in the CI spec because it stores the HEAD of the base branch, not the common ancestor where the current branch diverted from it, as we were expecting.

Copy link
Contributor

Choose a reason for hiding this comment

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

Ah, and then knowing the base branch we'll use the script to detect the common ancestor?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Exactly. The big benefit in impacted tests is knowing the base branch. Actually knowing the base branch SHA or not is not really that important as it can be computed with a simple git command once the base branch is known. And even without considering impacted tests, it would be confusing to use git.pull_request.base_branch_sha for different things: the common ancestor when the CI is Github Actions and the base branch HEAD when running on Gitlab.

@daniel-mohedano
Copy link
Contributor Author

I checked again the documentation for all the CI providers and, indeed, there are very few of them which actually provide any kind of SHA. If they do, they provide the git.commit.head_sha but almost never the base_branch_sha (we are only able to do this through GithubActions). Although I was able to update the implementation of a couple of providers which actually have the head_sha available and we weren't taking it into account.

@daniel-mohedano daniel-mohedano marked this pull request as ready for review June 3, 2025 13:27
@daniel-mohedano daniel-mohedano requested review from a team as code owners June 3, 2025 13:27
@daniel-mohedano
Copy link
Contributor Author

/merge

@dd-devflow
Copy link

dd-devflow bot commented Jun 3, 2025

View all feedbacks in Devflow UI.

2025-06-03 13:28:00 UTC ℹ️ Start processing command /merge


2025-06-03 13:28:22 UTC ℹ️ MergeQueue: waiting for PR to be ready

This merge request is not mergeable yet, because of pending checks/missing approvals. It will be added to the queue as soon as checks pass and/or get approvals.
Note: if you pushed new commits since the last approval, you may need additional approval.
You can remove it from the waiting list with /remove command.


2025-06-03 13:30:17 UTC ⚠️ MergeQueue: This merge request was unqueued

daniel.mohedano@datadoghq.com unqueued this merge request

@daniel-mohedano
Copy link
Contributor Author

/remove

@dd-devflow
Copy link

dd-devflow bot commented Jun 3, 2025

View all feedbacks in Devflow UI.

2025-06-03 13:30:04 UTC ℹ️ Start processing command /remove


2025-06-03 13:30:11 UTC ℹ️ Devflow: /remove

@daniel-mohedano
Copy link
Contributor Author

/merge -m squash

@dd-devflow
Copy link

dd-devflow bot commented Jun 3, 2025

View all feedbacks in Devflow UI.

2025-06-03 15:23:19 UTC ℹ️ Start processing command /merge -m squash


2025-06-03 15:23:35 UTC ℹ️ MergeQueue: waiting for PR to be ready

This merge request is not mergeable yet, because of pending checks/missing approvals. It will be added to the queue as soon as checks pass and/or get approvals.
Note: if you pushed new commits since the last approval, you may need additional approval.
You can remove it from the waiting list with /remove command.


2025-06-03 15:26:43 UTC ⚠️ MergeQueue: This merge request was unqueued

daniel.mohedano@datadoghq.com unqueued this merge request

@daniel-mohedano
Copy link
Contributor Author

/merge -c

@dd-devflow
Copy link

dd-devflow bot commented Jun 3, 2025

View all feedbacks in Devflow UI.

2025-06-03 15:26:33 UTC ℹ️ Start processing command /merge -c

@daniel-mohedano daniel-mohedano merged commit 9abbd29 into master Jun 3, 2025
506 of 507 checks passed
@daniel-mohedano daniel-mohedano deleted the daniel.mohedano/pr-info-ci-spec branch June 3, 2025 19:10
@github-actions github-actions bot added this to the 1.50.0 milestone Jun 3, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Jun 20, 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.49.0` -> `1.50.0` |

---

### Release Notes

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

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

### Deprecation Notice

> \[!NOTE]
> `DD_RUNTIME_ID_ENABLED` has been deprecated and will be removed in
future releases. Please use `DD_RUNTIME_METRICS_RUNTIME_ID_ENABLED`
instead.

### Components

#### Application Security Management (WAF)

- 🐛 Add String length truncation limit to ObjectIntrospector and
update truncation metrics
([#&#8203;8825](DataDog/dd-trace-java#8825) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Adapt standalone ASM to support API Security
([#&#8203;8804](DataDog/dd-trace-java#8804) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Add appsec.waf.input\_truncated metric
([#&#8203;8791](DataDog/dd-trace-java#8791) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Extended appsec request body collection
([#&#8203;8748](DataDog/dd-trace-java#8748) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Extended appsec request/response headers collection
([#&#8203;8724](DataDog/dd-trace-java#8724) -
[@&#8203;jandro996](https://github.com/jandro996))

#### Build & Tooling

- ✨ Add artifacts to public s3 bucket
([#&#8203;8947](DataDog/dd-trace-java#8947) -
[@&#8203;randomanderson](https://github.com/randomanderson))

#### Continuous Integration Visibility

- ✨ Improve PR information building
([#&#8203;8908](DataDog/dd-trace-java#8908) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Truncate span stack traces when Test Optimization is
enabled
([#&#8203;8903](DataDog/dd-trace-java#8903) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Ensure auto-detected service name is the same for every process
in the same build
([#&#8203;8902](DataDog/dd-trace-java#8902) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Use tag as fallback in api requests if no branch is available
([#&#8203;8876](DataDog/dd-trace-java#8876) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Add support for JUnit 5.13-RC1
([#&#8203;8865](DataDog/dd-trace-java#8865),
[#&#8203;8871](DataDog/dd-trace-java#8871) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Implement attempt to fix v3 and v4 and bump capability
version
([#&#8203;8824](DataDog/dd-trace-java#8824) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- 🧹 Align retry logic for all test framework instrumentations
([#&#8203;8803](DataDog/dd-trace-java#8803) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- 🐛 Always build ci workspace without trailing separator
([#&#8203;8788](DataDog/dd-trace-java#8788) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Add commit discrepancies telemetry when building repository
git information
([#&#8203;8763](DataDog/dd-trace-java#8763) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))

#### Data Streams Monitoring

- 💡 Surface process tags in dsm payloads and use them for base hash
calculation
([#&#8203;8836](DataDog/dd-trace-java#8836) -
[@&#8203;amarziali](https://github.com/amarziali))

#### Dynamic Instrumentation

- ✨ Optimized allocations for collection filter functions
([#&#8203;8896](DataDog/dd-trace-java#8896) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Fix SymDB upload size check
([#&#8203;8887](DataDog/dd-trace-java#8887) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Add support for Set in filter function
([#&#8203;8873](DataDog/dd-trace-java#8873) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Add support for isDefined in log template
([#&#8203;8859](DataDog/dd-trace-java#8859) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Fix Max captured frames for Exception Replay
([#&#8203;8856](DataDog/dd-trace-java#8856) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Remove static inherited fields collection
([#&#8203;8832](DataDog/dd-trace-java#8832) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 💡 Add process tags to dynamic instrumentation intake payload
([#&#8203;8779](DataDog/dd-trace-java#8779) -
[@&#8203;amarziali](https://github.com/amarziali))

#### GraalVM native-image

- ✨ Add support for GraalVM Native GC metrics
([#&#8203;8913](DataDog/dd-trace-java#8913) -
[@&#8203;ygree](https://github.com/ygree))
- ✨ Add JMXFetch support for GraalVM Native
([#&#8203;8569](DataDog/dd-trace-java#8569) -
[@&#8203;ygree](https://github.com/ygree))

#### JMX fetch

- ✨ Add support for GraalVM Native GC metrics
([#&#8203;8913](DataDog/dd-trace-java#8913) -
[@&#8203;ygree](https://github.com/ygree))

#### Library Injection

- ✨ Deny oracle db jvm based tools
([#&#8203;8909](DataDog/dd-trace-java#8909) -
[@&#8203;bric3](https://github.com/bric3))

#### OpenTracing

- 🐛 Fix OT packaging for exception replay
([#&#8203;8912](DataDog/dd-trace-java#8912) -
[@&#8203;jpbempel](https://github.com/jpbempel))

#### Profiling

- ✨ Bump ddprof to 1.27.0
([#&#8203;8893](DataDog/dd-trace-java#8893) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- Properly handle the adaptive sampling interval overflow by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#213
- Fix [#&#8203;200](DataDog/dd-trace-java#200)
Crash related to aligned\_alloc and free in context by
[@&#8203;yanglong1010](https://github.com/yanglong1010) in
DataDog/java-profiler#208
- Explicitly initialize empty context page by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#210
- Re-connect crash recursion protection with VM stackwalker by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#214
- ✨ Enable ZSTD compression for profiling
([#&#8203;8862](DataDog/dd-trace-java#8862) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- ✨ Extend JPS re-implementation to J9 family
([#&#8203;8813](DataDog/dd-trace-java#8813) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- 💡 Collect process tags for profiling upload requests
([#&#8203;8780](DataDog/dd-trace-java#8780) -
[@&#8203;amarziali](https://github.com/amarziali))

#### Telemetry

- 💡 Surface process tags on telemetry payloads
([#&#8203;8837](DataDog/dd-trace-java#8837) -
[@&#8203;amarziali](https://github.com/amarziali))

#### Trace context propagation

- ✨ Migrating all HttpClient Instrumentations to Inject Full
Context
([#&#8203;8826](DataDog/dd-trace-java#8826) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- ✨ Migrating all HttpServer Instrumentations to Extract full
Context
([#&#8203;8820](DataDog/dd-trace-java#8820) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- ✨ Add context API support OTel propagators
([#&#8203;8770](DataDog/dd-trace-java#8770) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

#### Tracer core

- ✨⚡ Skip JAXB generated classes classloader
([#&#8203;9003](DataDog/dd-trace-java#9003) -
[@&#8203;bric3](https://github.com/bric3))
- ✨ Add DD\_RUNTIME\_METRICS\_RUNTIME\_ID\_ENABLED alias for
runtime id generation
([#&#8203;8981](DataDog/dd-trace-java#8981) -
[@&#8203;amarziali](https://github.com/amarziali))
- 🐛 Use resolved address for peer.hostname when available without
hitting the cache
([#&#8203;8915](DataDog/dd-trace-java#8915) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡 Surface server name process tag for tomcat
([#&#8203;8894](DataDog/dd-trace-java#8894) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡 Surface websphere cell and server name on process tags
([#&#8203;8880](DataDog/dd-trace-java#8880) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Added special lightweight pre-main class that skips
installation on incompatible JVMs.
([#&#8203;8855](DataDog/dd-trace-java#8855) -
[@&#8203;AlexeyKuznetsov-DD](https://github.com/AlexeyKuznetsov-DD))
- 💡 Add entrypoint type to process tags
([#&#8203;8839](DataDog/dd-trace-java#8839) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Extend JPS re-implementation to J9 family
([#&#8203;8813](DataDog/dd-trace-java#8813) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- ✨ Notify listeners when the scope top changes after switching
scope stacks
([#&#8203;8797](DataDog/dd-trace-java#8797) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Read hsperfdata for Java PIDs if jvmstat is unavailable
([#&#8203;8792](DataDog/dd-trace-java#8792) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- 🐛 Turn JDK socket support on by default
([#&#8203;8752](DataDog/dd-trace-java#8752) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))
- ✨ Simplify context propagation
([#&#8203;8719](DataDog/dd-trace-java#8719) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨ Add JSON parsing support
([#&#8203;8579](DataDog/dd-trace-java#8579) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

#### Tracer internal logging

- ✨ Fix printing format of span identifiers
([#&#8203;8897](DataDog/dd-trace-java#8897) -
[@&#8203;vandonr](https://github.com/vandonr))

#### Tracer public API

- 💡 Track the source of installation
([#&#8203;8956](DataDog/dd-trace-java#8956) -
[@&#8203;mabdinur](https://github.com/mabdinur))
- ✨ Enforce size limit on application\_monitoring.yaml files
([#&#8203;8789](DataDog/dd-trace-java#8789) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
- ✨ Enabling baggage cache to support limits and non-ascii
characters
([#&#8203;8713](DataDog/dd-trace-java#8713) -
[@&#8203;mhlidd](https://github.com/mhlidd))

### Instrumentations

#### AWS Lambda instrumentation

- ✨ Pass Lambda Request ID to Extension
([#&#8203;8814](DataDog/dd-trace-java#8814) -
[@&#8203;nhulston](https://github.com/nhulston))

#### Core Java language instrumentation

- ✨ Ensure ClassloadingInstrumentation is always applied even
with `DD_TRACE_ENABLED=false`
([#&#8203;8863](DataDog/dd-trace-java#8863) -
[@&#8203;mcculls](https://github.com/mcculls))

#### Eclipse Vert.x instrumentation

- 🐛 Do not override route with / in vertx instrumentation
([#&#8203;8881](DataDog/dd-trace-java#8881) -
[@&#8203;vandonr](https://github.com/vandonr))

#### IBM Liberty

- 🐛 Fix error mark on http status for IBM liberty
([#&#8203;8822](DataDog/dd-trace-java#8822) -
[@&#8203;amarziali](https://github.com/amarziali))

#### JDBC instrumentation

- 🐛 Do not prepend DBM <> APM trace comment in SQLCommenter if there
is a pg plan hint
([#&#8203;8864](DataDog/dd-trace-java#8864) -
[@&#8203;edengorevoy](https://github.com/edengorevoy))

#### JMS instrumentation

- ✨ Add jms as an extra integration name where there is JMS
involved
([#&#8203;8933](DataDog/dd-trace-java#8933) -
[@&#8203;vandonr](https://github.com/vandonr))

#### Kotlin instrumentation

- ✨ Enable kotlin\_coroutine integration by default
([#&#8203;8848](DataDog/dd-trace-java#8848) -
[@&#8203;mcculls](https://github.com/mcculls))
- 🧹 Rework Kotlin coroutines instrumentation around coroutine
context
([#&#8203;8774](DataDog/dd-trace-java#8774) -
[@&#8203;mcculls](https://github.com/mcculls))

#### OpenTelemetry instrumentation

- 🐛 Support WithSpan inheritContext attribute
([#&#8203;8858](DataDog/dd-trace-java#8858) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add context API support OTel propagators
([#&#8203;8770](DataDog/dd-trace-java#8770) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

#### Play Framework instrumentation

- 🐛 Fix the Play Framework's span resource name priority so that the
client JAX-RS 404 cannot override it
([#&#8203;8591](DataDog/dd-trace-java#8591) -
[@&#8203;ygree](https://github.com/ygree))

#### Quarkus Instrumentation

- 🐛 Ignore quarkus jaxrs stubs and cdi wrapper proxies
([#&#8203;8891](DataDog/dd-trace-java#8891) -
[@&#8203;amarziali](https://github.com/amarziali))

#### ServiceTalk

- ✨ Improve ServiceTalk Captured Context API Instrumentation
for v0.42.56+
([#&#8203;8821](DataDog/dd-trace-java#8821) -
[@&#8203;ygree](https://github.com/ygree))

#### Spring instrumentation

- ✨ Supporting Baggage for Instrumentations used in Weblog
Tests
([#&#8203;8773](DataDog/dd-trace-java#8773) -
[@&#8203;mhlidd](https://github.com/mhlidd))

#### WebSocket Instrumentation

- 💡 Trace websocket for spring webflux reactive handlers
([#&#8203;8831](DataDog/dd-trace-java#8831) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡:test\_tube: WebSocket support for Netty
([#&#8203;8632](DataDog/dd-trace-java#8632) -
[@&#8203;ValentinZakharov](https://github.com/ValentinZakharov))

#### Zio Instrumentation

- 🧹 Cleanup Zio fiber instrumentation to avoid repeated activation
of continuation
([#&#8203;8798](DataDog/dd-trace-java#8798) -
[@&#8203;mcculls](https://github.com/mcculls))

</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**: Enabled.

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

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- 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: 9207366cdb6a1bd098082305d354a0a3c4622d7a
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