Skip to content

Conversation

@PerfectSlayer
Copy link
Contributor

@PerfectSlayer PerfectSlayer commented Feb 3, 2026

What Does This Do

This PR introduces a /techdebt skill to try limit the techdebt introduced by LLM and gen AI.
The code tends to duplicate patterns and usually benefits from a refactoring or a complete redo once the working solution is found. The /techdebt asks the tool to review the changes from the branch in order limit this behavior once the changes are ready.

Usage

It's a Claude skill to clean up your branch before committing the PR.
From Claude code, type /techdebt. It will fetch the changes from the branch, and look for the LLM anti-patterns.
If it finds some, it propose to fix them.

You can add some context or ask him to focus on something specific using: /techdebt <custom request here>.
The skill is using a subagent, so it should not pollute your context reviewing the changes.
Once it fixes the issues it found, don't hesitate to run multiple time until it founds nothing to clean up.

Here is an output example:

 Techdebt Analysis Summary

  After reviewing the HTTP API changes on this branch, here are the issues found:

  1. Dead Code / Unused Code
  ┌────────────────────────┬─────────┬─────────────────────────────────────────────────────────────────────────────────────────────────┐
  │          File          │  Line   │                                              Issue                                              │
  ├────────────────────────┼─────────┼─────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ JdkHttpClient.java     │ 31-51   │ Commented-out wrap() and unwrap() methods - should be removed if not needed                     │
  ├────────────────────────┼─────────┼─────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ JdkHttpRequest.java    │ 27      │ TODO comment "Remove if not used" for wrap() method - verify and remove if unused               │
  ├────────────────────────┼─────────┼─────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ OkHttpRequestBody.java │ 144-165 │ HttpRequestBodyAdapter class is defined but never used outside MultipartBuilder.toRequestBody() │
  └────────────────────────┴─────────┴─────────────────────────────────────────────────────────────────────────────────────────────────┘
  2. Unclear Design / TODO Comments Left Behind
  ┌───────────────────────┬─────────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
  │         File          │  Line   │                                                       Issue                                                        │
  ├───────────────────────┼─────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ HttpResponse.java     │ 71      │ TODO comment: "Not sure if it's the response that should be closed, or the response body" - design decision needed │
  ├───────────────────────┼─────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ JdkHttpResponse.java  │ 117     │ TODO comment: "Need review. Unclear if needed" in close() method                                                   │
  ├───────────────────────┼─────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ JdkHttpClient.Builder │ 127-128 │ Unused fields unixDomainSocket and namedPipe are stored but never used                                             │
  └───────────────────────┴─────────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
  3. Redundant Code
  ┌───────────────────────┬──────┬───────────────────────────────────────────────────────────────────────────────────────────┐
  │         File          │ Line │                                           Issue                                           │
  ├───────────────────────┼──────┼───────────────────────────────────────────────────────────────────────────────────────────┤
  │ JdkHttpClient.Builder │ 129  │ clearText field is stored but never used (comment says "No special configuration needed") │
  ├───────────────────────┼──────┼───────────────────────────────────────────────────────────────────────────────────────────┤
  │ OkHttpClient.Builder  │ 123  │ eventListener field is declared but never written to                                      │
  └───────────────────────┴──────┴───────────────────────────────────────────────────────────────────────────────────────────┘
  4. Inconsistent Patterns
  ┌────────────────────┬───────┬────────────────────────────────────────────────────────────────────────────────────┐
  │        File        │ Line  │                                       Issue                                        │
  ├────────────────────┼───────┼────────────────────────────────────────────────────────────────────────────────────┤
  │ OkHttpClient.java  │ 32-37 │ Type check uses if (!(request instanceof OkHttpRequest))                           │
  ├────────────────────┼───────┼────────────────────────────────────────────────────────────────────────────────────┤
  │ JdkHttpClient.java │ 56-58 │ Same pattern but both could benefit from a shared utility or better error messages │
  └────────────────────┴───────┴────────────────────────────────────────────────────────────────────────────────────┘
  5. Minor Issues
  ┌─────────────────────────┬──────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐
  │          File           │ Line │                                               Issue                                                │
  ├─────────────────────────┼──────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ JdkHttpRequestBody.java │ 17   │ Imports UUID and Random but randomBoundary() only uses ThreadLocalRandom - Random import is unused │
  └─────────────────────────┴──────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘
  ---
  Would you like me to fix these issues? I can:
  1. Remove all dead/commented code
  2. Clean up unused fields
  3. Resolve or remove TODO comments (with your guidance on the design decisions)

Motivation

Inspired from Boris Cherny’s thread.

Additional Notes

This skill was defined by Claude itself as recommended. Not sure why the claude code product is not able to apply this recommendation by itself then 🤷

Contributor Checklist

Jira ticket: APMSP-2343

@PerfectSlayer PerfectSlayer requested a review from a team as a code owner February 3, 2026 13:34
@PerfectSlayer PerfectSlayer added the tag: no release notes Changes to exclude from release notes label Feb 3, 2026
@PerfectSlayer PerfectSlayer requested a review from mcculls February 3, 2026 13:34
@PerfectSlayer PerfectSlayer added comp: tooling Build & Tooling tag: ai generated Largely based on code generated by an AI or LLM labels Feb 3, 2026
Comment on lines 13 to 18
UPSTREAM=$(git remote -v | grep -E 'DataDog/[^/]+(.git)?\s' | head -1 | awk '{print $1}')
if [ -z "$UPSTREAM" ]; then
echo "No DataDog upstream found, using origin"
UPSTREAM="origin"
fi
echo "Comparing against: $UPSTREAM/master"
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I added some tweaks to make sure it use the right reference in case of:

  • multiple remote
  • outdated (local) master branch

@PerfectSlayer
Copy link
Contributor Author

@codex review

@chatgpt-codex-connector
Copy link

Codex Review: Didn't find any major issues. Chef's kiss.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@pr-commenter
Copy link

pr-commenter bot commented Feb 3, 2026

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master bbujon/ci
git_commit_date 1770233149 1770235294
git_commit_sha 13d10a0 cadbd32
release_version 1.60.0-SNAPSHOT~13d10a0e40 1.60.0-SNAPSHOT~cadbd32cdb
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1770237091 1770237091
ci_job_id 1402004000 1402004000
ci_pipeline_id 94712345 94712345
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-2-mnto4esb 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-2-mnto4esb 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None

Summary

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

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.60.0-SNAPSHOT~cadbd32cdb, baseline=1.60.0-SNAPSHOT~13d10a0e40

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.077 s) : 0, 1077336
Total [baseline] (10.912 s) : 0, 10912367
Agent [candidate] (1.066 s) : 0, 1065675
Total [candidate] (10.834 s) : 0, 10833631
section appsec
Agent [baseline] (1.247 s) : 0, 1247169
Total [baseline] (11.013 s) : 0, 11012806
Agent [candidate] (1.236 s) : 0, 1235883
Total [candidate] (10.988 s) : 0, 10987735
section iast
Agent [baseline] (1.235 s) : 0, 1234942
Total [baseline] (11.207 s) : 0, 11207102
Agent [candidate] (1.239 s) : 0, 1239446
Total [candidate] (11.307 s) : 0, 11307481
section profiling
Agent [baseline] (1.207 s) : 0, 1207104
Total [baseline] (11.076 s) : 0, 11075924
Agent [candidate] (1.191 s) : 0, 1191424
Total [candidate] (11.073 s) : 0, 11072903
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.077 s -
Agent appsec 1.247 s 169.833 ms (15.8%)
Agent iast 1.235 s 157.606 ms (14.6%)
Agent profiling 1.207 s 129.769 ms (12.0%)
Total tracing 10.912 s -
Total appsec 11.013 s 100.438 ms (0.9%)
Total iast 11.207 s 294.734 ms (2.7%)
Total profiling 11.076 s 163.557 ms (1.5%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.066 s -
Agent appsec 1.236 s 170.208 ms (16.0%)
Agent iast 1.239 s 173.772 ms (16.3%)
Agent profiling 1.191 s 125.75 ms (11.8%)
Total tracing 10.834 s -
Total appsec 10.988 s 154.105 ms (1.4%)
Total iast 11.307 s 473.85 ms (4.4%)
Total profiling 11.073 s 239.273 ms (2.2%)
gantt
    title petclinic - break down per module: candidate=1.60.0-SNAPSHOT~cadbd32cdb, baseline=1.60.0-SNAPSHOT~13d10a0e40

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.217 ms) : 0, 1217
crashtracking [candidate] (1.182 ms) : 0, 1182
BytebuddyAgent [baseline] (636.792 ms) : 0, 636792
BytebuddyAgent [candidate] (628.121 ms) : 0, 628121
AgentMeter [baseline] (29.127 ms) : 0, 29127
AgentMeter [candidate] (28.82 ms) : 0, 28820
GlobalTracer [baseline] (259.864 ms) : 0, 259864
GlobalTracer [candidate] (257.863 ms) : 0, 257863
AppSec [baseline] (32.951 ms) : 0, 32951
AppSec [candidate] (32.819 ms) : 0, 32819
Debugger [baseline] (61.61 ms) : 0, 61610
Debugger [candidate] (60.775 ms) : 0, 60775
Remote Config [baseline] (625.526 µs) : 0, 626
Remote Config [candidate] (640.661 µs) : 0, 641
Telemetry [baseline] (13.254 ms) : 0, 13254
Telemetry [candidate] (14.724 ms) : 0, 14724
Flare Poller [baseline] (6.141 ms) : 0, 6141
Flare Poller [candidate] (5.387 ms) : 0, 5387
section appsec
crashtracking [baseline] (1.191 ms) : 0, 1191
crashtracking [candidate] (1.177 ms) : 0, 1177
BytebuddyAgent [baseline] (663.316 ms) : 0, 663316
BytebuddyAgent [candidate] (656.95 ms) : 0, 656950
AgentMeter [baseline] (11.936 ms) : 0, 11936
AgentMeter [candidate] (11.841 ms) : 0, 11841
GlobalTracer [baseline] (260.274 ms) : 0, 260274
GlobalTracer [candidate] (257.86 ms) : 0, 257860
AppSec [baseline] (168.539 ms) : 0, 168539
AppSec [candidate] (167.524 ms) : 0, 167524
Debugger [baseline] (67.577 ms) : 0, 67577
Debugger [candidate] (66.801 ms) : 0, 66801
Remote Config [baseline] (687.654 µs) : 0, 688
Remote Config [candidate] (694.735 µs) : 0, 695
Telemetry [baseline] (9.064 ms) : 0, 9064
Telemetry [candidate] (8.992 ms) : 0, 8992
Flare Poller [baseline] (3.596 ms) : 0, 3596
Flare Poller [candidate] (3.53 ms) : 0, 3530
IAST [baseline] (25.472 ms) : 0, 25472
IAST [candidate] (25.242 ms) : 0, 25242
section iast
crashtracking [baseline] (1.198 ms) : 0, 1198
crashtracking [candidate] (1.206 ms) : 0, 1206
BytebuddyAgent [baseline] (797.875 ms) : 0, 797875
BytebuddyAgent [candidate] (801.709 ms) : 0, 801709
AgentMeter [baseline] (11.274 ms) : 0, 11274
AgentMeter [candidate] (11.486 ms) : 0, 11486
GlobalTracer [baseline] (248.743 ms) : 0, 248743
GlobalTracer [candidate] (248.947 ms) : 0, 248947
AppSec [baseline] (33.074 ms) : 0, 33074
AppSec [candidate] (33.77 ms) : 0, 33770
Debugger [baseline] (67.752 ms) : 0, 67752
Debugger [candidate] (67.135 ms) : 0, 67135
Remote Config [baseline] (549.508 µs) : 0, 550
Remote Config [candidate] (539.289 µs) : 0, 539
Telemetry [baseline] (8.72 ms) : 0, 8720
Telemetry [candidate] (8.711 ms) : 0, 8711
Flare Poller [baseline] (3.47 ms) : 0, 3470
Flare Poller [candidate] (3.514 ms) : 0, 3514
IAST [baseline] (26.967 ms) : 0, 26967
IAST [candidate] (27.017 ms) : 0, 27017
section profiling
ProfilingAgent [baseline] (99.565 ms) : 0, 99565
ProfilingAgent [candidate] (99.51 ms) : 0, 99510
crashtracking [baseline] (1.22 ms) : 0, 1220
crashtracking [candidate] (1.226 ms) : 0, 1226
BytebuddyAgent [baseline] (692.991 ms) : 0, 692991
BytebuddyAgent [candidate] (682.505 ms) : 0, 682505
AgentMeter [baseline] (8.89 ms) : 0, 8890
AgentMeter [candidate] (8.778 ms) : 0, 8778
GlobalTracer [baseline] (218.982 ms) : 0, 218982
GlobalTracer [candidate] (216.228 ms) : 0, 216228
AppSec [baseline] (33.203 ms) : 0, 33203
AppSec [candidate] (32.468 ms) : 0, 32468
Debugger [baseline] (68.326 ms) : 0, 68326
Debugger [candidate] (67.724 ms) : 0, 67724
Remote Config [baseline] (617.597 µs) : 0, 618
Remote Config [candidate] (598.261 µs) : 0, 598
Telemetry [baseline] (8.946 ms) : 0, 8946
Telemetry [candidate] (8.898 ms) : 0, 8898
Flare Poller [baseline] (3.857 ms) : 0, 3857
Flare Poller [candidate] (3.803 ms) : 0, 3803
Profiling [baseline] (100.131 ms) : 0, 100131
Profiling [candidate] (100.088 ms) : 0, 100088
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.60.0-SNAPSHOT~cadbd32cdb, baseline=1.60.0-SNAPSHOT~13d10a0e40

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.065 s) : 0, 1064689
Total [baseline] (8.776 s) : 0, 8776465
Agent [candidate] (1.078 s) : 0, 1077714
Total [candidate] (8.829 s) : 0, 8828691
section iast
Agent [baseline] (1.231 s) : 0, 1231004
Total [baseline] (9.373 s) : 0, 9372976
Agent [candidate] (1.229 s) : 0, 1229405
Total [candidate] (9.388 s) : 0, 9388344
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.065 s -
Agent iast 1.231 s 166.316 ms (15.6%)
Total tracing 8.776 s -
Total iast 9.373 s 596.511 ms (6.8%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.078 s -
Agent iast 1.229 s 151.691 ms (14.1%)
Total tracing 8.829 s -
Total iast 9.388 s 559.653 ms (6.3%)
gantt
    title insecure-bank - break down per module: candidate=1.60.0-SNAPSHOT~cadbd32cdb, baseline=1.60.0-SNAPSHOT~13d10a0e40

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.185 ms) : 0, 1185
crashtracking [candidate] (1.208 ms) : 0, 1208
BytebuddyAgent [baseline] (628.865 ms) : 0, 628865
BytebuddyAgent [candidate] (637.198 ms) : 0, 637198
AgentMeter [baseline] (28.922 ms) : 0, 28922
AgentMeter [candidate] (29.277 ms) : 0, 29277
GlobalTracer [baseline] (257.856 ms) : 0, 257856
GlobalTracer [candidate] (260.39 ms) : 0, 260390
AppSec [baseline] (32.676 ms) : 0, 32676
AppSec [candidate] (33.33 ms) : 0, 33330
Debugger [baseline] (60.385 ms) : 0, 60385
Debugger [candidate] (62.642 ms) : 0, 62642
Remote Config [baseline] (631.035 µs) : 0, 631
Remote Config [candidate] (629.236 µs) : 0, 629
Telemetry [baseline] (12.437 ms) : 0, 12437
Telemetry [candidate] (12.588 ms) : 0, 12588
Flare Poller [baseline] (6.218 ms) : 0, 6218
Flare Poller [candidate] (4.697 ms) : 0, 4697
section iast
crashtracking [baseline] (1.193 ms) : 0, 1193
crashtracking [candidate] (1.194 ms) : 0, 1194
BytebuddyAgent [baseline] (796.288 ms) : 0, 796288
BytebuddyAgent [candidate] (795.007 ms) : 0, 795007
AgentMeter [baseline] (11.281 ms) : 0, 11281
AgentMeter [candidate] (11.265 ms) : 0, 11265
GlobalTracer [baseline] (248.228 ms) : 0, 248228
GlobalTracer [candidate] (247.47 ms) : 0, 247470
IAST [baseline] (27.059 ms) : 0, 27059
IAST [candidate] (26.929 ms) : 0, 26929
AppSec [baseline] (33.768 ms) : 0, 33768
AppSec [candidate] (32.217 ms) : 0, 32217
Debugger [baseline] (65.205 ms) : 0, 65205
Debugger [candidate] (67.44 ms) : 0, 67440
Remote Config [baseline] (549.446 µs) : 0, 549
Remote Config [candidate] (551.638 µs) : 0, 552
Telemetry [baseline] (8.683 ms) : 0, 8683
Telemetry [candidate] (8.628 ms) : 0, 8628
Flare Poller [baseline] (3.495 ms) : 0, 3495
Flare Poller [candidate] (3.478 ms) : 0, 3478
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master bbujon/ci
git_commit_date 1770233149 1770235294
git_commit_sha 13d10a0 cadbd32
release_version 1.60.0-SNAPSHOT~13d10a0e40 1.60.0-SNAPSHOT~cadbd32cdb
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1770237583 1770237583
ci_job_id 1402004001 1402004001
ci_pipeline_id 94712345 94712345
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-0-fvyzqcpj 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-0-fvyzqcpj 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

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

Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.60.0-SNAPSHOT~cadbd32cdb, baseline=1.60.0-SNAPSHOT~13d10a0e40
    dateFormat X
    axisFormat %s
section baseline
no_agent (19.581 ms) : 19380, 19782
.   : milestone, 19581,
appsec (18.992 ms) : 18801, 19183
.   : milestone, 18992,
code_origins (17.69 ms) : 17515, 17866
.   : milestone, 17690,
iast (17.772 ms) : 17593, 17951
.   : milestone, 17772,
profiling (18.742 ms) : 18557, 18927
.   : milestone, 18742,
tracing (17.827 ms) : 17647, 18006
.   : milestone, 17827,
section candidate
no_agent (19.351 ms) : 19156, 19545
.   : milestone, 19351,
appsec (18.784 ms) : 18593, 18974
.   : milestone, 18784,
code_origins (17.524 ms) : 17349, 17699
.   : milestone, 17524,
iast (17.708 ms) : 17533, 17884
.   : milestone, 17708,
profiling (18.72 ms) : 18532, 18907
.   : milestone, 18720,
tracing (17.874 ms) : 17696, 18051
.   : milestone, 17874,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 19.581 ms [19.38 ms, 19.782 ms] -
appsec 18.992 ms [18.801 ms, 19.183 ms] -588.187 µs (-3.0%)
code_origins 17.69 ms [17.515 ms, 17.866 ms] -1.89 ms (-9.7%)
iast 17.772 ms [17.593 ms, 17.951 ms] -1.809 ms (-9.2%)
profiling 18.742 ms [18.557 ms, 18.927 ms] -838.669 µs (-4.3%)
tracing 17.827 ms [17.647 ms, 18.006 ms] -1.754 ms (-9.0%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 19.351 ms [19.156 ms, 19.545 ms] -
appsec 18.784 ms [18.593 ms, 18.974 ms] -566.931 µs (-2.9%)
code_origins 17.524 ms [17.349 ms, 17.699 ms] -1.827 ms (-9.4%)
iast 17.708 ms [17.533 ms, 17.884 ms] -1.642 ms (-8.5%)
profiling 18.72 ms [18.532 ms, 18.907 ms] -630.846 µs (-3.3%)
tracing 17.874 ms [17.696 ms, 18.051 ms] -1.477 ms (-7.6%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.60.0-SNAPSHOT~cadbd32cdb, baseline=1.60.0-SNAPSHOT~13d10a0e40
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.169 ms) : 1157, 1180
.   : milestone, 1169,
iast (3.197 ms) : 3153, 3240
.   : milestone, 3197,
iast_FULL (5.78 ms) : 5722, 5838
.   : milestone, 5780,
iast_GLOBAL (3.573 ms) : 3516, 3629
.   : milestone, 3573,
profiling (1.947 ms) : 1931, 1963
.   : milestone, 1947,
tracing (1.823 ms) : 1808, 1838
.   : milestone, 1823,
section candidate
no_agent (1.18 ms) : 1168, 1191
.   : milestone, 1180,
iast (3.153 ms) : 3108, 3198
.   : milestone, 3153,
iast_FULL (5.707 ms) : 5651, 5763
.   : milestone, 5707,
iast_GLOBAL (3.609 ms) : 3554, 3664
.   : milestone, 3609,
profiling (2.191 ms) : 2170, 2211
.   : milestone, 2191,
tracing (1.829 ms) : 1812, 1845
.   : milestone, 1829,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.169 ms [1.157 ms, 1.18 ms] -
iast 3.197 ms [3.153 ms, 3.24 ms] 2.028 ms (173.6%)
iast_FULL 5.78 ms [5.722 ms, 5.838 ms] 4.611 ms (394.6%)
iast_GLOBAL 3.573 ms [3.516 ms, 3.629 ms] 2.404 ms (205.7%)
profiling 1.947 ms [1.931 ms, 1.963 ms] 778.156 µs (66.6%)
tracing 1.823 ms [1.808 ms, 1.838 ms] 654.488 µs (56.0%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.18 ms [1.168 ms, 1.191 ms] -
iast 3.153 ms [3.108 ms, 3.198 ms] 1.973 ms (167.3%)
iast_FULL 5.707 ms [5.651 ms, 5.763 ms] 4.527 ms (383.8%)
iast_GLOBAL 3.609 ms [3.554 ms, 3.664 ms] 2.429 ms (205.9%)
profiling 2.191 ms [2.17 ms, 2.211 ms] 1.011 ms (85.7%)
tracing 1.829 ms [1.812 ms, 1.845 ms] 649.061 µs (55.0%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master bbujon/ci
git_commit_date 1770233149 1770235294
git_commit_sha 13d10a0 cadbd32
release_version 1.60.0-SNAPSHOT~13d10a0e40 1.60.0-SNAPSHOT~cadbd32cdb
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1770237404 1770237404
ci_job_id 1402004002 1402004002
ci_pipeline_id 94712345 94712345
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-1-qxosk1qe 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-1-qxosk1qe 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

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

scenario Δ mean execution_time candidate mean execution_time baseline mean execution_time
scenario:dacapo:tomcat:appsec better
[-1.369ms; -1.023ms] or [-36.647%; -27.383%]
2.539ms 3.734ms
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.60.0-SNAPSHOT~cadbd32cdb, baseline=1.60.0-SNAPSHOT~13d10a0e40
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.467 ms) : 1455, 1478
.   : milestone, 1467,
appsec (3.734 ms) : 3515, 3954
.   : milestone, 3734,
iast (2.25 ms) : 2181, 2320
.   : milestone, 2250,
iast_GLOBAL (2.286 ms) : 2217, 2356
.   : milestone, 2286,
profiling (2.091 ms) : 2035, 2148
.   : milestone, 2091,
tracing (2.05 ms) : 1996, 2104
.   : milestone, 2050,
section candidate
no_agent (1.466 ms) : 1455, 1478
.   : milestone, 1466,
appsec (2.539 ms) : 2481, 2597
.   : milestone, 2539,
iast (2.243 ms) : 2174, 2312
.   : milestone, 2243,
iast_GLOBAL (2.286 ms) : 2217, 2356
.   : milestone, 2286,
profiling (2.077 ms) : 2022, 2132
.   : milestone, 2077,
tracing (2.068 ms) : 2014, 2122
.   : milestone, 2068,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.467 ms [1.455 ms, 1.478 ms] -
appsec 3.734 ms [3.515 ms, 3.954 ms] 2.268 ms (154.6%)
iast 2.25 ms [2.181 ms, 2.32 ms] 783.573 µs (53.4%)
iast_GLOBAL 2.286 ms [2.217 ms, 2.356 ms] 819.544 µs (55.9%)
profiling 2.091 ms [2.035 ms, 2.148 ms] 624.226 µs (42.6%)
tracing 2.05 ms [1.996 ms, 2.104 ms] 583.16 µs (39.8%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.466 ms [1.455 ms, 1.478 ms] -
appsec 2.539 ms [2.481 ms, 2.597 ms] 1.072 ms (73.1%)
iast 2.243 ms [2.174 ms, 2.312 ms] 776.593 µs (53.0%)
iast_GLOBAL 2.286 ms [2.217 ms, 2.356 ms] 820.021 µs (55.9%)
profiling 2.077 ms [2.022 ms, 2.132 ms] 610.518 µs (41.6%)
tracing 2.068 ms [2.014 ms, 2.122 ms] 601.702 µs (41.0%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.60.0-SNAPSHOT~cadbd32cdb, baseline=1.60.0-SNAPSHOT~13d10a0e40
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.831 s) : 14831000, 14831000
.   : milestone, 14831000,
appsec (14.731 s) : 14731000, 14731000
.   : milestone, 14731000,
iast (18.302 s) : 18302000, 18302000
.   : milestone, 18302000,
iast_GLOBAL (17.773 s) : 17773000, 17773000
.   : milestone, 17773000,
profiling (14.893 s) : 14893000, 14893000
.   : milestone, 14893000,
tracing (14.692 s) : 14692000, 14692000
.   : milestone, 14692000,
section candidate
no_agent (15.481 s) : 15481000, 15481000
.   : milestone, 15481000,
appsec (14.731 s) : 14731000, 14731000
.   : milestone, 14731000,
iast (18.046 s) : 18046000, 18046000
.   : milestone, 18046000,
iast_GLOBAL (17.974 s) : 17974000, 17974000
.   : milestone, 17974000,
profiling (15.015 s) : 15015000, 15015000
.   : milestone, 15015000,
tracing (14.921 s) : 14921000, 14921000
.   : milestone, 14921000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.831 s [14.831 s, 14.831 s] -
appsec 14.731 s [14.731 s, 14.731 s] -100.0 ms (-0.7%)
iast 18.302 s [18.302 s, 18.302 s] 3.471 s (23.4%)
iast_GLOBAL 17.773 s [17.773 s, 17.773 s] 2.942 s (19.8%)
profiling 14.893 s [14.893 s, 14.893 s] 62.0 ms (0.4%)
tracing 14.692 s [14.692 s, 14.692 s] -139.0 ms (-0.9%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.481 s [15.481 s, 15.481 s] -
appsec 14.731 s [14.731 s, 14.731 s] -750.0 ms (-4.8%)
iast 18.046 s [18.046 s, 18.046 s] 2.565 s (16.6%)
iast_GLOBAL 17.974 s [17.974 s, 17.974 s] 2.493 s (16.1%)
profiling 15.015 s [15.015 s, 15.015 s] -466.0 ms (-3.0%)
tracing 14.921 s [14.921 s, 14.921 s] -560.0 ms (-3.6%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: tooling Build & Tooling tag: ai generated Largely based on code generated by an AI or LLM tag: no release notes Changes to exclude from release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants