Skip to content

Add /techdebt claude skill#10515

Merged
PerfectSlayer merged 5 commits into
masterfrom
bbujon/ci
Feb 5, 2026
Merged

Add /techdebt claude skill#10515
PerfectSlayer merged 5 commits into
masterfrom
bbujon/ci

Conversation

@PerfectSlayer

@PerfectSlayer PerfectSlayer commented Feb 3, 2026

Copy link
Copy Markdown
Contributor

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 thread .claude/skills/techdebt/SKILL.md Outdated
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
Copy Markdown
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
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

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

pr-commenter Bot commented Feb 3, 2026

Copy link
Copy Markdown

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master bbujon/ci
git_commit_date 1770237481 1770278044
git_commit_sha 9c3d035 d198f8fbc0
release_version 1.60.0-SNAPSHOT~9c3d035f5f 1.60.0-SNAPSHOT~bd198f8fbc0
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1770279277 1770279277
ci_job_id 1403044701 1403044701
ci_pipeline_id 94807666 94807666
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-7zzu3uqm 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-7zzu3uqm 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 60 metrics, 11 unstable metrics.

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.60.0-SNAPSHOT~bd198f8fbc0, baseline=1.60.0-SNAPSHOT~9c3d035f5f

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.066 s) : 0, 1065779
Total [baseline] (10.88 s) : 0, 10880156
Agent [candidate] (1.067 s) : 0, 1066504
Total [candidate] (10.873 s) : 0, 10873304
section appsec
Agent [baseline] (1.239 s) : 0, 1239024
Total [baseline] (11.099 s) : 0, 11099173
Agent [candidate] (1.249 s) : 0, 1248806
Total [candidate] (11.111 s) : 0, 11111179
section iast
Agent [baseline] (1.245 s) : 0, 1244705
Total [baseline] (11.292 s) : 0, 11291991
Agent [candidate] (1.247 s) : 0, 1247381
Total [candidate] (10.075 s) : 0, 10074668
section profiling
Agent [baseline] (1.191 s) : 0, 1190771
Total [baseline] (11.015 s) : 0, 11014969
Agent [candidate] (1.206 s) : 0, 1206351
Total [candidate] (10.974 s) : 0, 10974350
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.066 s -
Agent appsec 1.239 s 173.245 ms (16.3%)
Agent iast 1.245 s 178.926 ms (16.8%)
Agent profiling 1.191 s 124.992 ms (11.7%)
Total tracing 10.88 s -
Total appsec 11.099 s 219.017 ms (2.0%)
Total iast 11.292 s 411.835 ms (3.8%)
Total profiling 11.015 s 134.813 ms (1.2%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.067 s -
Agent appsec 1.249 s 182.303 ms (17.1%)
Agent iast 1.247 s 180.878 ms (17.0%)
Agent profiling 1.206 s 139.848 ms (13.1%)
Total tracing 10.873 s -
Total appsec 11.111 s 237.875 ms (2.2%)
Total iast 10.075 s -798.636 ms (-7.3%)
Total profiling 10.974 s 101.046 ms (0.9%)
gantt
    title petclinic - break down per module: candidate=1.60.0-SNAPSHOT~bd198f8fbc0, baseline=1.60.0-SNAPSHOT~9c3d035f5f

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.183 ms) : 0, 1183
crashtracking [candidate] (1.186 ms) : 0, 1186
BytebuddyAgent [baseline] (629.022 ms) : 0, 629022
BytebuddyAgent [candidate] (629.655 ms) : 0, 629655
AgentMeter [baseline] (28.853 ms) : 0, 28853
AgentMeter [candidate] (28.87 ms) : 0, 28870
GlobalTracer [baseline] (257.995 ms) : 0, 257995
GlobalTracer [candidate] (258.584 ms) : 0, 258584
AppSec [baseline] (32.81 ms) : 0, 32810
AppSec [candidate] (32.831 ms) : 0, 32831
Debugger [baseline] (62.09 ms) : 0, 62090
Debugger [candidate] (61.135 ms) : 0, 61135
Remote Config [baseline] (609.019 µs) : 0, 609
Remote Config [candidate] (602.213 µs) : 0, 602
Telemetry [baseline] (10.771 ms) : 0, 10771
Telemetry [candidate] (12.93 ms) : 0, 12930
Flare Poller [baseline] (6.945 ms) : 0, 6945
Flare Poller [candidate] (5.356 ms) : 0, 5356
section appsec
crashtracking [baseline] (1.188 ms) : 0, 1188
crashtracking [candidate] (1.203 ms) : 0, 1203
BytebuddyAgent [baseline] (658.318 ms) : 0, 658318
BytebuddyAgent [candidate] (663.483 ms) : 0, 663483
AgentMeter [baseline] (11.882 ms) : 0, 11882
AgentMeter [candidate] (11.97 ms) : 0, 11970
GlobalTracer [baseline] (258.245 ms) : 0, 258245
GlobalTracer [candidate] (260.464 ms) : 0, 260464
IAST [baseline] (25.169 ms) : 0, 25169
IAST [candidate] (25.691 ms) : 0, 25691
AppSec [baseline] (168.129 ms) : 0, 168129
AppSec [candidate] (169.056 ms) : 0, 169056
Debugger [baseline] (67.131 ms) : 0, 67131
Debugger [candidate] (67.811 ms) : 0, 67811
Remote Config [baseline] (701.764 µs) : 0, 702
Remote Config [candidate] (677.774 µs) : 0, 678
Telemetry [baseline] (9.164 ms) : 0, 9164
Telemetry [candidate] (9.225 ms) : 0, 9225
Flare Poller [baseline] (3.633 ms) : 0, 3633
Flare Poller [candidate] (3.676 ms) : 0, 3676
section iast
crashtracking [baseline] (1.212 ms) : 0, 1212
crashtracking [candidate] (1.204 ms) : 0, 1204
BytebuddyAgent [baseline] (805.298 ms) : 0, 805298
BytebuddyAgent [candidate] (808.312 ms) : 0, 808312
AgentMeter [baseline] (11.57 ms) : 0, 11570
AgentMeter [candidate] (11.742 ms) : 0, 11742
GlobalTracer [baseline] (249.949 ms) : 0, 249949
GlobalTracer [candidate] (250.564 ms) : 0, 250564
IAST [baseline] (27.18 ms) : 0, 27180
IAST [candidate] (27.337 ms) : 0, 27337
AppSec [baseline] (33.368 ms) : 0, 33368
AppSec [candidate] (34.146 ms) : 0, 34146
Debugger [baseline] (67.695 ms) : 0, 67695
Debugger [candidate] (65.759 ms) : 0, 65759
Remote Config [baseline] (551.211 µs) : 0, 551
Remote Config [candidate] (543.558 µs) : 0, 544
Telemetry [baseline] (8.773 ms) : 0, 8773
Telemetry [candidate] (8.639 ms) : 0, 8639
Flare Poller [baseline] (3.5 ms) : 0, 3500
Flare Poller [candidate] (3.454 ms) : 0, 3454
section profiling
crashtracking [baseline] (1.217 ms) : 0, 1217
crashtracking [candidate] (1.227 ms) : 0, 1227
BytebuddyAgent [baseline] (681.744 ms) : 0, 681744
BytebuddyAgent [candidate] (692.528 ms) : 0, 692528
AgentMeter [baseline] (8.799 ms) : 0, 8799
AgentMeter [candidate] (8.913 ms) : 0, 8913
GlobalTracer [baseline] (216.202 ms) : 0, 216202
GlobalTracer [candidate] (218.907 ms) : 0, 218907
AppSec [baseline] (32.505 ms) : 0, 32505
AppSec [candidate] (32.991 ms) : 0, 32991
Debugger [baseline] (67.926 ms) : 0, 67926
Debugger [candidate] (68.31 ms) : 0, 68310
Remote Config [baseline] (602.099 µs) : 0, 602
Remote Config [candidate] (604.694 µs) : 0, 605
Telemetry [baseline] (8.878 ms) : 0, 8878
Telemetry [candidate] (8.847 ms) : 0, 8847
Flare Poller [baseline] (3.775 ms) : 0, 3775
Flare Poller [candidate] (3.757 ms) : 0, 3757
ProfilingAgent [baseline] (99.298 ms) : 0, 99298
ProfilingAgent [candidate] (99.553 ms) : 0, 99553
Profiling [baseline] (99.866 ms) : 0, 99866
Profiling [candidate] (100.127 ms) : 0, 100127
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.60.0-SNAPSHOT~bd198f8fbc0, baseline=1.60.0-SNAPSHOT~9c3d035f5f

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.066 s) : 0, 1065515
Total [baseline] (8.744 s) : 0, 8744162
Agent [candidate] (1.068 s) : 0, 1067977
Total [candidate] (8.764 s) : 0, 8764211
section iast
Agent [baseline] (1.233 s) : 0, 1233261
Total [baseline] (9.353 s) : 0, 9352729
Agent [candidate] (1.238 s) : 0, 1238427
Total [candidate] (9.417 s) : 0, 9416628
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.066 s -
Agent iast 1.233 s 167.746 ms (15.7%)
Total tracing 8.744 s -
Total iast 9.353 s 608.566 ms (7.0%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.068 s -
Agent iast 1.238 s 170.45 ms (16.0%)
Total tracing 8.764 s -
Total iast 9.417 s 652.417 ms (7.4%)
gantt
    title insecure-bank - break down per module: candidate=1.60.0-SNAPSHOT~bd198f8fbc0, baseline=1.60.0-SNAPSHOT~9c3d035f5f

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.181 ms) : 0, 1181
crashtracking [candidate] (1.199 ms) : 0, 1199
BytebuddyAgent [baseline] (627.284 ms) : 0, 627284
BytebuddyAgent [candidate] (631.317 ms) : 0, 631317
AgentMeter [baseline] (28.834 ms) : 0, 28834
AgentMeter [candidate] (29.011 ms) : 0, 29011
GlobalTracer [baseline] (259.224 ms) : 0, 259224
GlobalTracer [candidate] (258.644 ms) : 0, 258644
AppSec [baseline] (33.279 ms) : 0, 33279
AppSec [candidate] (32.985 ms) : 0, 32985
Debugger [baseline] (62.649 ms) : 0, 62649
Debugger [candidate] (59.526 ms) : 0, 59526
Remote Config [baseline] (624.793 µs) : 0, 625
Remote Config [candidate] (612.293 µs) : 0, 612
Telemetry [baseline] (11.537 ms) : 0, 11537
Telemetry [candidate] (12.995 ms) : 0, 12995
Flare Poller [baseline] (5.395 ms) : 0, 5395
Flare Poller [candidate] (6.223 ms) : 0, 6223
section iast
crashtracking [baseline] (1.189 ms) : 0, 1189
crashtracking [candidate] (1.184 ms) : 0, 1184
BytebuddyAgent [baseline] (797.578 ms) : 0, 797578
BytebuddyAgent [candidate] (799.764 ms) : 0, 799764
AgentMeter [baseline] (11.324 ms) : 0, 11324
AgentMeter [candidate] (11.405 ms) : 0, 11405
GlobalTracer [baseline] (248.27 ms) : 0, 248270
GlobalTracer [candidate] (249.911 ms) : 0, 249911
IAST [baseline] (27.01 ms) : 0, 27010
IAST [candidate] (27.2 ms) : 0, 27200
AppSec [baseline] (32.976 ms) : 0, 32976
AppSec [candidate] (32.631 ms) : 0, 32631
Debugger [baseline] (66.674 ms) : 0, 66674
Debugger [candidate] (68.04 ms) : 0, 68040
Remote Config [baseline] (550.995 µs) : 0, 551
Remote Config [candidate] (553.534 µs) : 0, 554
Telemetry [baseline] (8.762 ms) : 0, 8762
Telemetry [candidate] (8.852 ms) : 0, 8852
Flare Poller [baseline] (3.545 ms) : 0, 3545
Flare Poller [candidate] (3.529 ms) : 0, 3529
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master bbujon/ci
git_commit_date 1770237481 1770278189
git_commit_sha 9c3d035 d198f8fbc0
release_version 1.60.0-SNAPSHOT~9c3d035f5f 1.60.0-SNAPSHOT~bd198f8fbc0
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1770279959 1770279959
ci_job_id 1403044702 1403044702
ci_pipeline_id 94807666 94807666
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-2hx7n491 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-2hx7n491 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 2 performance regressions! Performance is the same for 18 metrics, 16 unstable metrics.

scenario Δ mean agg_http_req_duration_p50 Δ mean agg_http_req_duration_p95 Δ mean throughput candidate mean agg_http_req_duration_p50 candidate mean agg_http_req_duration_p95 candidate mean throughput baseline mean agg_http_req_duration_p50 baseline mean agg_http_req_duration_p95 baseline mean throughput
scenario:load:petclinic:code_origins:high_load worse
[+0.826ms; +1.760ms] or [+4.823%; +10.277%]
unsure
[+0.478ms; +1.940ms] or [+1.669%; +6.769%]
unstable
[-44.608op/s; +12.921op/s] or [-16.805%; +4.868%]
18.415ms 29.871ms 249.594op/s 17.123ms 28.662ms 265.438op/s
scenario:load:petclinic:no_agent:high_load worse
[+0.566ms; +2.224ms] or [+3.150%; +12.378%]
unstable
[+0.594ms; +4.026ms] or [+1.983%; +13.439%]
unstable
[-44.584op/s; +13.146op/s] or [-17.594%; +5.188%]
19.363ms 32.265ms 237.688op/s 17.968ms 29.956ms 253.406op/s
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.60.0-SNAPSHOT~bd198f8fbc0, baseline=1.60.0-SNAPSHOT~9c3d035f5f
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.186 ms) : 1174, 1198
.   : milestone, 1186,
iast (3.212 ms) : 3165, 3258
.   : milestone, 3212,
iast_FULL (5.82 ms) : 5762, 5879
.   : milestone, 5820,
iast_GLOBAL (3.59 ms) : 3537, 3642
.   : milestone, 3590,
profiling (2.188 ms) : 2167, 2209
.   : milestone, 2188,
tracing (1.765 ms) : 1750, 1779
.   : milestone, 1765,
section candidate
no_agent (1.189 ms) : 1177, 1201
.   : milestone, 1189,
iast (3.124 ms) : 3080, 3167
.   : milestone, 3124,
iast_FULL (5.884 ms) : 5825, 5943
.   : milestone, 5884,
iast_GLOBAL (3.721 ms) : 3657, 3785
.   : milestone, 3721,
profiling (2.055 ms) : 2037, 2073
.   : milestone, 2055,
tracing (1.747 ms) : 1733, 1760
.   : milestone, 1747,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.186 ms [1.174 ms, 1.198 ms] -
iast 3.212 ms [3.165 ms, 3.258 ms] 2.026 ms (170.8%)
iast_FULL 5.82 ms [5.762 ms, 5.879 ms] 4.634 ms (390.7%)
iast_GLOBAL 3.59 ms [3.537 ms, 3.642 ms] 2.404 ms (202.6%)
profiling 2.188 ms [2.167 ms, 2.209 ms] 1.002 ms (84.5%)
tracing 1.765 ms [1.75 ms, 1.779 ms] 578.433 µs (48.8%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.189 ms [1.177 ms, 1.201 ms] -
iast 3.124 ms [3.08 ms, 3.167 ms] 1.934 ms (162.6%)
iast_FULL 5.884 ms [5.825 ms, 5.943 ms] 4.695 ms (394.7%)
iast_GLOBAL 3.721 ms [3.657 ms, 3.785 ms] 2.532 ms (212.9%)
profiling 2.055 ms [2.037 ms, 2.073 ms] 865.589 µs (72.8%)
tracing 1.747 ms [1.733 ms, 1.76 ms] 557.568 µs (46.9%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.60.0-SNAPSHOT~bd198f8fbc0, baseline=1.60.0-SNAPSHOT~9c3d035f5f
    dateFormat X
    axisFormat %s
section baseline
no_agent (18.414 ms) : 18226, 18602
.   : milestone, 18414,
appsec (18.501 ms) : 18316, 18685
.   : milestone, 18501,
code_origins (17.579 ms) : 17402, 17757
.   : milestone, 17579,
iast (17.796 ms) : 17619, 17973
.   : milestone, 17796,
profiling (19.746 ms) : 19543, 19949
.   : milestone, 19746,
tracing (17.625 ms) : 17449, 17801
.   : milestone, 17625,
section candidate
no_agent (19.641 ms) : 19435, 19847
.   : milestone, 19641,
appsec (18.626 ms) : 18432, 18819
.   : milestone, 18626,
code_origins (18.7 ms) : 18513, 18887
.   : milestone, 18700,
iast (17.902 ms) : 17723, 18082
.   : milestone, 17902,
profiling (19.73 ms) : 19527, 19932
.   : milestone, 19730,
tracing (17.517 ms) : 17342, 17692
.   : milestone, 17517,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.414 ms [18.226 ms, 18.602 ms] -
appsec 18.501 ms [18.316 ms, 18.685 ms] 86.682 µs (0.5%)
code_origins 17.579 ms [17.402 ms, 17.757 ms] -834.382 µs (-4.5%)
iast 17.796 ms [17.619 ms, 17.973 ms] -617.633 µs (-3.4%)
profiling 19.746 ms [19.543 ms, 19.949 ms] 1.332 ms (7.2%)
tracing 17.625 ms [17.449 ms, 17.801 ms] -788.722 µs (-4.3%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 19.641 ms [19.435 ms, 19.847 ms] -
appsec 18.626 ms [18.432 ms, 18.819 ms] -1.015 ms (-5.2%)
code_origins 18.7 ms [18.513 ms, 18.887 ms] -941.231 µs (-4.8%)
iast 17.902 ms [17.723 ms, 18.082 ms] -1.739 ms (-8.9%)
profiling 19.73 ms [19.527 ms, 19.932 ms] 88.967 µs (0.5%)
tracing 17.517 ms [17.342 ms, 17.692 ms] -2.124 ms (-10.8%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master bbujon/ci
git_commit_date 1770237481 1770278197
git_commit_sha 9c3d035 d198f8fbc0
release_version 1.60.0-SNAPSHOT~9c3d035f5f 1.60.0-SNAPSHOT~bd198f8fbc0
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1770279647 1770279647
ci_job_id 1403044703 1403044703
ci_pipeline_id 94807666 94807666
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-kc2qryid 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-kc2qryid 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 11 metrics, 1 unstable metrics.

Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.60.0-SNAPSHOT~bd198f8fbc0, baseline=1.60.0-SNAPSHOT~9c3d035f5f
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.55 s) : 15550000, 15550000
.   : milestone, 15550000,
appsec (14.823 s) : 14823000, 14823000
.   : milestone, 14823000,
iast (18.066 s) : 18066000, 18066000
.   : milestone, 18066000,
iast_GLOBAL (17.919 s) : 17919000, 17919000
.   : milestone, 17919000,
profiling (14.81 s) : 14810000, 14810000
.   : milestone, 14810000,
tracing (14.602 s) : 14602000, 14602000
.   : milestone, 14602000,
section candidate
no_agent (15.246 s) : 15246000, 15246000
.   : milestone, 15246000,
appsec (15.08 s) : 15080000, 15080000
.   : milestone, 15080000,
iast (18.214 s) : 18214000, 18214000
.   : milestone, 18214000,
iast_GLOBAL (17.697 s) : 17697000, 17697000
.   : milestone, 17697000,
profiling (14.852 s) : 14852000, 14852000
.   : milestone, 14852000,
tracing (14.665 s) : 14665000, 14665000
.   : milestone, 14665000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.55 s [15.55 s, 15.55 s] -
appsec 14.823 s [14.823 s, 14.823 s] -727.0 ms (-4.7%)
iast 18.066 s [18.066 s, 18.066 s] 2.516 s (16.2%)
iast_GLOBAL 17.919 s [17.919 s, 17.919 s] 2.369 s (15.2%)
profiling 14.81 s [14.81 s, 14.81 s] -740.0 ms (-4.8%)
tracing 14.602 s [14.602 s, 14.602 s] -948.0 ms (-6.1%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.246 s [15.246 s, 15.246 s] -
appsec 15.08 s [15.08 s, 15.08 s] -166.0 ms (-1.1%)
iast 18.214 s [18.214 s, 18.214 s] 2.968 s (19.5%)
iast_GLOBAL 17.697 s [17.697 s, 17.697 s] 2.451 s (16.1%)
profiling 14.852 s [14.852 s, 14.852 s] -394.0 ms (-2.6%)
tracing 14.665 s [14.665 s, 14.665 s] -581.0 ms (-3.8%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.60.0-SNAPSHOT~bd198f8fbc0, baseline=1.60.0-SNAPSHOT~9c3d035f5f
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.472 ms) : 1461, 1484
.   : milestone, 1472,
appsec (3.748 ms) : 3529, 3968
.   : milestone, 3748,
iast (2.249 ms) : 2180, 2318
.   : milestone, 2249,
iast_GLOBAL (2.292 ms) : 2223, 2362
.   : milestone, 2292,
profiling (2.102 ms) : 2045, 2158
.   : milestone, 2102,
tracing (2.046 ms) : 1992, 2099
.   : milestone, 2046,
section candidate
no_agent (1.468 ms) : 1456, 1479
.   : milestone, 1468,
appsec (3.733 ms) : 3513, 3953
.   : milestone, 3733,
iast (2.247 ms) : 2178, 2317
.   : milestone, 2247,
iast_GLOBAL (2.29 ms) : 2220, 2359
.   : milestone, 2290,
profiling (2.074 ms) : 2020, 2129
.   : milestone, 2074,
tracing (2.057 ms) : 2003, 2110
.   : milestone, 2057,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.472 ms [1.461 ms, 1.484 ms] -
appsec 3.748 ms [3.529 ms, 3.968 ms] 2.276 ms (154.6%)
iast 2.249 ms [2.18 ms, 2.318 ms] 777.067 µs (52.8%)
iast_GLOBAL 2.292 ms [2.223 ms, 2.362 ms] 820.094 µs (55.7%)
profiling 2.102 ms [2.045 ms, 2.158 ms] 629.745 µs (42.8%)
tracing 2.046 ms [1.992 ms, 2.099 ms] 573.726 µs (39.0%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.468 ms [1.456 ms, 1.479 ms] -
appsec 3.733 ms [3.513 ms, 3.953 ms] 2.265 ms (154.3%)
iast 2.247 ms [2.178 ms, 2.317 ms] 779.823 µs (53.1%)
iast_GLOBAL 2.29 ms [2.22 ms, 2.359 ms] 822.223 µs (56.0%)
profiling 2.074 ms [2.02 ms, 2.129 ms] 606.595 µs (41.3%)
tracing 2.057 ms [2.003 ms, 2.11 ms] 589.098 µs (40.1%)

@PerfectSlayer PerfectSlayer merged commit a89bfc4 into master Feb 5, 2026
545 checks passed
@PerfectSlayer PerfectSlayer deleted the bbujon/ci branch February 5, 2026 09:52
@github-actions github-actions Bot added this to the 1.60.0 milestone Feb 5, 2026
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