Skip to content

Add AI tools integration documentation#10713

Draft
robertomonteromiguel wants to merge 4 commits intomasterfrom
robertomonteromiguel/ai_dev_tools
Draft

Add AI tools integration documentation#10713
robertomonteromiguel wants to merge 4 commits intomasterfrom
robertomonteromiguel/ai_dev_tools

Conversation

@robertomonteromiguel
Copy link
Contributor

@robertomonteromiguel robertomonteromiguel commented Mar 2, 2026

Summary

This PR introduces comprehensive AI-assisted development support to dd-trace-java:

  • AI Tools Integration Guide: New documentation (docs/ai-tools-integration-guide.md) covering available AI tools: Claude CLI, MCP server integration, and CLI tool setup (gh, glab)
  • MCP Server Configuration: Added .mcp.json and .cursor/mcp.json for Datadog CI Visibility integration
  • Claude CLI Configuration: Added .claude/settings.json for Claude CLI behavior settings
  • AGENTS.md Updates: Added "Developer Tools" section with guidance on MCP tools, GitHub CLI, and GitLab CLI usage
  • CONTRIBUTING.md Updates: Added "AI-assisted development" section linking to the new documentation

Changes

New Files

  • docs/ai-tools-integration-guide.md - Comprehensive guide for AI tools integration
  • .mcp.json - MCP server configuration for Claude CLI and compatible tools
  • .claude/settings.json - Claude CLI settings

Modified Files

  • AGENTS.md - Added Developer Tools section
  • CONTRIBUTING.md - Added AI-assisted development section

Notes

  • The .cursor/mcp.json file is intentionally not included as .cursor/ is in .gitignore
  • All documentation follows the existing dd-trace-java documentation style and conventions
  • MCP server is pre-configured for Datadog CI Visibility (pipelines, tests, flaky tests, coverage, PR insights)

Made with Cursor

This change introduces comprehensive AI-assisted development support:
- Add AI Tools Integration Guide documenting available tools and setup
- Configure MCP servers for Datadog CI Visibility integration
- Add Claude CLI configuration files
- Update AGENTS.md with developer tools guidance (MCP, GitHub CLI, GitLab CLI)
- Update CONTRIBUTING.md with link to AI tools documentation

Made-with: Cursor
@PerfectSlayer PerfectSlayer added the tag: ai generated Largely based on code generated by an AI or LLM label Mar 2, 2026
Copy link
Contributor

@PerfectSlayer PerfectSlayer left a comment

Choose a reason for hiding this comment

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

Few comment from early review.

As a side note, it seems Cursor dose not follow the PR labeling rules about AI... Nor followed the template. That's annoying and would have to have a look at enforcing it.

Comment on lines +3 to +6
"enabledMcpjsonServers": [
"datadog"
],
"enableAllProjectMcpServers": true
Copy link
Contributor

Choose a reason for hiding this comment

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

💭 thought: ‏Do we want to have MCP? And more over, enabled by default?
They fill up the context pretty quick and are less effective than CLI or skills with commands.

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 tried it out and I think it provides interesting tools for exploiting CI Visibility data. By default, our pipelines are reporting to CI Visibility. This MCP doesn't expose too many tools, so I don't think it overloads the context. I think it's a good improvement.


**Available MCP Servers:**

- **Datadog MCP Server**: Provides CI Visibility integration including pipeline event search and aggregation, test event analysis, flaky test detection, code coverage summaries, and PR insights. Pre-configured in the repository via `.mcp.json` (for Claude CLI and other compatible tools). Cursor users need to set up `.cursor/mcp.json` manually (see setup instructions below).
Copy link
Contributor

Choose a reason for hiding this comment

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

❔ question: ‏What the benefits of this dedicated MCP compared to the datadog market place skills? It looks duplicate.

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 don't know if any of the skills in the Datadog Claude Marketplace provide access to CI Visibility. In any case, I usually use Cursor, and I can't use Claude plugins in Cursor.

Copy link
Contributor

Choose a reason for hiding this comment

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

CI Visibility is indeed supported from our plugin market place.


#### Datadog MCP Server Setup for dd-trace-java

The Datadog MCP server connects Cursor's/Claude AI assistant to Datadog's CI Visibility platform, letting you query pipeline events, test results, flaky tests, code coverage, and PR insights directly from the chat.
Copy link
Contributor

Choose a reason for hiding this comment

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

❔ question: ‏Is this configuration available for all contributors, even not from Datadog?

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 don't think anyone outside the organization can access our pipelines, let alone GitLab. But having the MCP configured by default won't affect development. If Claude or Cursor detect that the MCP isn't working, they'll try to use other mechanisms to resolve user queries.

Comment on lines +35 to +46
The repository includes the MCP server configuration for Claude CLI and other compatible tools in `.mcp.json`:

```json
{
"mcpServers": {
"datadog": {
"type": "http",
"url": "https://mcp.datadoghq.com/api/unstable/mcp-server/mcp?toolsets=software-delivery"
}
}
}
```
Copy link
Contributor

Choose a reason for hiding this comment

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

❔ question: ‏What's the benefit of repeating what's already in VCS?

Comment on lines +120 to +122
```bash
brew install gh
```
Copy link
Contributor

Choose a reason for hiding this comment

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

📝 notes: If we start requiring some new tools, we will need to provide installation documentation for all operating systems and configuration.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

you're right, I guess the solution would be to link to the GitHub or GitLab page where the installation is detailed.

Copy link
Contributor

Choose a reason for hiding this comment

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

We detailed installation process from our documentation rather than sending to the application page.
Check https://github.com/DataDog/dd-trace-java/blob/master/BUILDING.md for example.

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 think in this case we may be talking about slightly different things. The build process is a core part of the project and usually involves project-specific configuration, so it makes sense to document it in detail.

For the GitHub and GitLab CLIs, there isn’t really any repo-specific setup required. That’s why I’m not sure it’s worth detailing the whole process here. In my view, linking to the official installation pages should be sufficient, and we can always expand the docs later if we find people are getting stuck.

Comment on lines +95 to +96
- When interacting with GitLab (gitlab.ddbuild.io), ALWAYS use `glab` on the command line.
- If `glab` CLI is not installed or there are authentication or configuration problems, check the document: [AI Tools Integration Guide - GitLab CLI](docs/ai-tools-integration-guide.md#gitlab-cli-glab)
Copy link
Contributor

Choose a reason for hiding this comment

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

❔ question: ‏Will this work for all contributors? Including the ones not from Datadog?

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 won’t work outside the organization. I don’t see any issue with that. Even within the org, if you don’t have the CLI tool and/or the MCP configured, the AI will either suggest setting them up or tell you it can’t access the data you’re asking for.

Copy link
Contributor

Choose a reason for hiding this comment

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

I don’t see any issue with that

We're Open Source software repository. That's not very welcoming to the community 😕

### Handling the Pull Request and CI

- To create and monitor PR data, use the gh client (GitHub Tools).
- If the request relates to CI status for a branch or PR, MUST ALWAYS try the Datadog MCP first.
Copy link
Contributor

Choose a reason for hiding this comment

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

🎯 suggestion: ‏I would rather use the skill from the Datadog plugin (or even mine) rather than relying on an MCP.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Among other differences, the mcp server can be used by any client, and the claude marketplace is only for claude.

Copy link
Contributor

Choose a reason for hiding this comment

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

But it's making Claude code, the recommended AI coded tool by the company so far, behaving significantly worse from experience with this repository. I would rather not have it enabled by default in such case.

What about using other tool hooks to setup their specific config for example?
That would leave the best experience for the default tool and allow others to setup their copies for specific tool if needed?

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 completely agree that we should NOT enable the MCP server by default, and instead let developers opt in if they want to use it. (I will update the PR)

That said, I still believe the MCP server itself shouldn’t negatively impact the repository context, and I’d still lean towards using standard, vendor-neutral tooling whenever possible, rather than approaches that are tightly coupled to a specific provider.

Comment on lines +84 to +92
## AI-assisted development

This project includes documentation and configurations to help you use AI coding assistants effectively.

Check [AI Tools Integration Guide](docs/ai-tools-integration-guide.md) for information about:
* Project-specific AI context and conventions
* How to use AI tools with dd-trace-java
* Best practices for AI-assisted contributions

Copy link
Contributor

Choose a reason for hiding this comment

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

💭 thought: ‏Not sure we went to advocate for AI-assisted development on the repo.
It feels to early and 3rd party contributions already require a good amount of time to get merged.

@pr-commenter
Copy link

pr-commenter bot commented Mar 2, 2026

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master robertomonteromiguel/ai_dev_tools
git_commit_date 1772465864 1772522034
git_commit_sha 1c44c6f 5e26682
release_version 1.60.0-SNAPSHOT~1c44c6f9a7 1.60.0-SNAPSHOT~5e26682fbc
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1772523844 1772523844
ci_job_id 1469806169 1469806169
ci_pipeline_id 99934802 99934802
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-zsxs5uz6 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-zsxs5uz6 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~5e26682fbc, baseline=1.60.0-SNAPSHOT~1c44c6f9a7

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.065 s) : 0, 1064963
Total [baseline] (10.994 s) : 0, 10993671
Agent [candidate] (1.068 s) : 0, 1068496
Total [candidate] (10.97 s) : 0, 10970192
section appsec
Agent [baseline] (1.236 s) : 0, 1235871
Total [baseline] (10.989 s) : 0, 10989000
Agent [candidate] (1.238 s) : 0, 1237675
Total [candidate] (11.091 s) : 0, 11090783
section iast
Agent [baseline] (1.247 s) : 0, 1246849
Total [baseline] (11.269 s) : 0, 11269040
Agent [candidate] (1.231 s) : 0, 1230850
Total [candidate] (11.199 s) : 0, 11198655
section profiling
Agent [baseline] (1.208 s) : 0, 1208058
Total [baseline] (10.924 s) : 0, 10924101
Agent [candidate] (1.193 s) : 0, 1192776
Total [candidate] (10.942 s) : 0, 10942209
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.065 s -
Agent appsec 1.236 s 170.908 ms (16.0%)
Agent iast 1.247 s 181.886 ms (17.1%)
Agent profiling 1.208 s 143.095 ms (13.4%)
Total tracing 10.994 s -
Total appsec 10.989 s -4.672 ms (-0.0%)
Total iast 11.269 s 275.369 ms (2.5%)
Total profiling 10.924 s -69.57 ms (-0.6%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.068 s -
Agent appsec 1.238 s 169.179 ms (15.8%)
Agent iast 1.231 s 162.354 ms (15.2%)
Agent profiling 1.193 s 124.28 ms (11.6%)
Total tracing 10.97 s -
Total appsec 11.091 s 120.591 ms (1.1%)
Total iast 11.199 s 228.463 ms (2.1%)
Total profiling 10.942 s -27.983 ms (-0.3%)
gantt
    title petclinic - break down per module: candidate=1.60.0-SNAPSHOT~5e26682fbc, baseline=1.60.0-SNAPSHOT~1c44c6f9a7

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.184 ms) : 0, 1184
crashtracking [candidate] (1.189 ms) : 0, 1189
BytebuddyAgent [baseline] (627.117 ms) : 0, 627117
BytebuddyAgent [candidate] (629.375 ms) : 0, 629375
AgentMeter [baseline] (29.094 ms) : 0, 29094
AgentMeter [candidate] (29.11 ms) : 0, 29110
GlobalTracer [baseline] (257.62 ms) : 0, 257620
GlobalTracer [candidate] (258.26 ms) : 0, 258260
AppSec [baseline] (33.008 ms) : 0, 33008
AppSec [candidate] (33.128 ms) : 0, 33128
Debugger [baseline] (63.363 ms) : 0, 63363
Debugger [candidate] (64.387 ms) : 0, 64387
Remote Config [baseline] (626.295 µs) : 0, 626
Remote Config [candidate] (611.425 µs) : 0, 611
Telemetry [baseline] (12.315 ms) : 0, 12315
Telemetry [candidate] (9.983 ms) : 0, 9983
Flare Poller [baseline] (4.537 ms) : 0, 4537
Flare Poller [candidate] (6.254 ms) : 0, 6254
section appsec
crashtracking [baseline] (1.186 ms) : 0, 1186
crashtracking [candidate] (1.215 ms) : 0, 1215
BytebuddyAgent [baseline] (655.054 ms) : 0, 655054
BytebuddyAgent [candidate] (655.764 ms) : 0, 655764
AgentMeter [baseline] (11.996 ms) : 0, 11996
AgentMeter [candidate] (11.947 ms) : 0, 11947
GlobalTracer [baseline] (257.837 ms) : 0, 257837
GlobalTracer [candidate] (258.463 ms) : 0, 258463
IAST [baseline] (25.38 ms) : 0, 25380
IAST [candidate] (25.449 ms) : 0, 25449
AppSec [baseline] (167.831 ms) : 0, 167831
AppSec [candidate] (168.393 ms) : 0, 168393
Debugger [baseline] (66.868 ms) : 0, 66868
Debugger [candidate] (66.651 ms) : 0, 66651
Remote Config [baseline] (674.271 µs) : 0, 674
Remote Config [candidate] (697.553 µs) : 0, 698
Telemetry [baseline] (9.328 ms) : 0, 9328
Telemetry [candidate] (9.377 ms) : 0, 9377
Flare Poller [baseline] (3.661 ms) : 0, 3661
Flare Poller [candidate] (3.701 ms) : 0, 3701
section iast
crashtracking [baseline] (1.212 ms) : 0, 1212
crashtracking [candidate] (1.188 ms) : 0, 1188
BytebuddyAgent [baseline] (805.766 ms) : 0, 805766
BytebuddyAgent [candidate] (794.732 ms) : 0, 794732
AgentMeter [baseline] (11.865 ms) : 0, 11865
AgentMeter [candidate] (11.305 ms) : 0, 11305
GlobalTracer [baseline] (249.545 ms) : 0, 249545
GlobalTracer [candidate] (247.43 ms) : 0, 247430
IAST [baseline] (27.496 ms) : 0, 27496
IAST [candidate] (27.003 ms) : 0, 27003
AppSec [baseline] (35.699 ms) : 0, 35699
AppSec [candidate] (33.328 ms) : 0, 33328
Debugger [baseline] (66.228 ms) : 0, 66228
Debugger [candidate] (67.309 ms) : 0, 67309
Remote Config [baseline] (544.474 µs) : 0, 544
Remote Config [candidate] (531.282 µs) : 0, 531
Telemetry [baseline] (8.592 ms) : 0, 8592
Telemetry [candidate] (8.533 ms) : 0, 8533
Flare Poller [baseline] (3.473 ms) : 0, 3473
Flare Poller [candidate] (3.383 ms) : 0, 3383
section profiling
crashtracking [baseline] (1.187 ms) : 0, 1187
crashtracking [candidate] (1.173 ms) : 0, 1173
BytebuddyAgent [baseline] (693.649 ms) : 0, 693649
BytebuddyAgent [candidate] (683.267 ms) : 0, 683267
AgentMeter [baseline] (8.73 ms) : 0, 8730
AgentMeter [candidate] (8.59 ms) : 0, 8590
GlobalTracer [baseline] (219.16 ms) : 0, 219160
GlobalTracer [candidate] (216.344 ms) : 0, 216344
AppSec [baseline] (33.081 ms) : 0, 33081
AppSec [candidate] (32.541 ms) : 0, 32541
Debugger [baseline] (67.798 ms) : 0, 67798
Debugger [candidate] (67.128 ms) : 0, 67128
Remote Config [baseline] (630.92 µs) : 0, 631
Remote Config [candidate] (628.04 µs) : 0, 628
Telemetry [baseline] (8.947 ms) : 0, 8947
Telemetry [candidate] (8.988 ms) : 0, 8988
Flare Poller [baseline] (3.791 ms) : 0, 3791
Flare Poller [candidate] (3.752 ms) : 0, 3752
ProfilingAgent [baseline] (99.055 ms) : 0, 99055
ProfilingAgent [candidate] (99.547 ms) : 0, 99547
Profiling [baseline] (99.623 ms) : 0, 99623
Profiling [candidate] (100.126 ms) : 0, 100126
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.60.0-SNAPSHOT~5e26682fbc, baseline=1.60.0-SNAPSHOT~1c44c6f9a7

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.065 s) : 0, 1064689
Total [baseline] (8.737 s) : 0, 8736867
Agent [candidate] (1.067 s) : 0, 1066965
Total [candidate] (8.75 s) : 0, 8749923
section iast
Agent [baseline] (1.24 s) : 0, 1240279
Total [baseline] (9.415 s) : 0, 9414977
Agent [candidate] (1.233 s) : 0, 1233331
Total [candidate] (9.369 s) : 0, 9369311
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.065 s -
Agent iast 1.24 s 175.59 ms (16.5%)
Total tracing 8.737 s -
Total iast 9.415 s 678.11 ms (7.8%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.067 s -
Agent iast 1.233 s 166.366 ms (15.6%)
Total tracing 8.75 s -
Total iast 9.369 s 619.389 ms (7.1%)
gantt
    title insecure-bank - break down per module: candidate=1.60.0-SNAPSHOT~5e26682fbc, baseline=1.60.0-SNAPSHOT~1c44c6f9a7

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.192 ms) : 0, 1192
crashtracking [candidate] (1.198 ms) : 0, 1198
BytebuddyAgent [baseline] (628.104 ms) : 0, 628104
BytebuddyAgent [candidate] (628.774 ms) : 0, 628774
AgentMeter [baseline] (29.223 ms) : 0, 29223
AgentMeter [candidate] (29.124 ms) : 0, 29124
GlobalTracer [baseline] (257.43 ms) : 0, 257430
GlobalTracer [candidate] (258.56 ms) : 0, 258560
AppSec [baseline] (33.014 ms) : 0, 33014
AppSec [candidate] (32.889 ms) : 0, 32889
Debugger [baseline] (63.564 ms) : 0, 63564
Debugger [candidate] (66.789 ms) : 0, 66789
Remote Config [baseline] (624.001 µs) : 0, 624
Remote Config [candidate] (609.447 µs) : 0, 609
Telemetry [baseline] (11.438 ms) : 0, 11438
Telemetry [candidate] (9.044 ms) : 0, 9044
Flare Poller [baseline] (3.8 ms) : 0, 3800
Flare Poller [candidate] (3.748 ms) : 0, 3748
section iast
crashtracking [baseline] (1.216 ms) : 0, 1216
crashtracking [candidate] (1.241 ms) : 0, 1241
BytebuddyAgent [baseline] (801.623 ms) : 0, 801623
BytebuddyAgent [candidate] (797.094 ms) : 0, 797094
AgentMeter [baseline] (11.549 ms) : 0, 11549
AgentMeter [candidate] (11.32 ms) : 0, 11320
GlobalTracer [baseline] (249.22 ms) : 0, 249220
GlobalTracer [candidate] (248.207 ms) : 0, 248207
AppSec [baseline] (33.515 ms) : 0, 33515
AppSec [candidate] (33.793 ms) : 0, 33793
Debugger [baseline] (66.818 ms) : 0, 66818
Debugger [candidate] (65.761 ms) : 0, 65761
Remote Config [baseline] (547.85 µs) : 0, 548
Remote Config [candidate] (544.29 µs) : 0, 544
Telemetry [baseline] (8.819 ms) : 0, 8819
Telemetry [candidate] (8.692 ms) : 0, 8692
Flare Poller [baseline] (3.474 ms) : 0, 3474
Flare Poller [candidate] (3.443 ms) : 0, 3443
IAST [baseline] (27.307 ms) : 0, 27307
IAST [candidate] (27.114 ms) : 0, 27114
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master robertomonteromiguel/ai_dev_tools
git_commit_date 1772465864 1772522034
git_commit_sha 1c44c6f 5e26682
release_version 1.60.0-SNAPSHOT~1c44c6f9a7 1.60.0-SNAPSHOT~5e26682fbc
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1772524333 1772524333
ci_job_id 1469806170 1469806170
ci_pipeline_id 99934802 99934802
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-180igm3y 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-180igm3y 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 2 performance regressions! Performance is the same for 17 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:insecure-bank:iast:high_load worse
[+149.919µs; +236.921µs] or [+6.293%; +9.946%]
worse
[+288.871µs; +615.387µs] or [+4.136%; +8.811%]
unstable
[-248.149op/s; +57.836op/s] or [-16.691%; +3.890%]
2.576ms 7.436ms 1391.531op/s 2.382ms 6.984ms 1486.688op/s
scenario:load:insecure-bank:iast_GLOBAL:high_load better
[-221.119µs; -95.865µs] or [-7.925%; -3.436%]
unsure
[-513.785µs; -65.319µs] or [-6.518%; -0.829%]
unstable
[-67.817op/s; +213.692op/s] or [-5.264%; +16.587%]
2.632ms 7.593ms 1361.250op/s 2.790ms 7.883ms 1288.312op/s
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.60.0-SNAPSHOT~5e26682fbc, baseline=1.60.0-SNAPSHOT~1c44c6f9a7
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.173 ms) : 1162, 1184
.   : milestone, 1173,
iast (3.074 ms) : 3033, 3115
.   : milestone, 3074,
iast_FULL (5.787 ms) : 5728, 5845
.   : milestone, 5787,
iast_GLOBAL (3.558 ms) : 3495, 3621
.   : milestone, 3558,
profiling (2.163 ms) : 2143, 2183
.   : milestone, 2163,
tracing (1.801 ms) : 1786, 1815
.   : milestone, 1801,
section candidate
no_agent (1.2 ms) : 1189, 1212
.   : milestone, 1200,
iast (3.288 ms) : 3245, 3332
.   : milestone, 3288,
iast_FULL (5.758 ms) : 5701, 5815
.   : milestone, 5758,
iast_GLOBAL (3.364 ms) : 3320, 3408
.   : milestone, 3364,
profiling (2.165 ms) : 2143, 2186
.   : milestone, 2165,
tracing (1.775 ms) : 1760, 1791
.   : milestone, 1775,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.173 ms [1.162 ms, 1.184 ms] -
iast 3.074 ms [3.033 ms, 3.115 ms] 1.901 ms (162.1%)
iast_FULL 5.787 ms [5.728 ms, 5.845 ms] 4.614 ms (393.4%)
iast_GLOBAL 3.558 ms [3.495 ms, 3.621 ms] 2.385 ms (203.4%)
profiling 2.163 ms [2.143 ms, 2.183 ms] 990.503 µs (84.5%)
tracing 1.801 ms [1.786 ms, 1.815 ms] 627.888 µs (53.5%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.2 ms [1.189 ms, 1.212 ms] -
iast 3.288 ms [3.245 ms, 3.332 ms] 2.088 ms (173.9%)
iast_FULL 5.758 ms [5.701 ms, 5.815 ms] 4.558 ms (379.7%)
iast_GLOBAL 3.364 ms [3.32 ms, 3.408 ms] 2.164 ms (180.2%)
profiling 2.165 ms [2.143 ms, 2.186 ms] 964.1 µs (80.3%)
tracing 1.775 ms [1.76 ms, 1.791 ms] 575.059 µs (47.9%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.60.0-SNAPSHOT~5e26682fbc, baseline=1.60.0-SNAPSHOT~1c44c6f9a7
    dateFormat X
    axisFormat %s
section baseline
no_agent (18.557 ms) : 18365, 18748
.   : milestone, 18557,
appsec (18.563 ms) : 18375, 18751
.   : milestone, 18563,
code_origins (17.442 ms) : 17270, 17614
.   : milestone, 17442,
iast (17.854 ms) : 17672, 18035
.   : milestone, 17854,
profiling (20.161 ms) : 19950, 20371
.   : milestone, 20161,
tracing (17.541 ms) : 17367, 17715
.   : milestone, 17541,
section candidate
no_agent (19.034 ms) : 18842, 19225
.   : milestone, 19034,
appsec (18.543 ms) : 18353, 18733
.   : milestone, 18543,
code_origins (17.508 ms) : 17335, 17681
.   : milestone, 17508,
iast (17.602 ms) : 17428, 17777
.   : milestone, 17602,
profiling (19.447 ms) : 19253, 19640
.   : milestone, 19447,
tracing (17.531 ms) : 17358, 17704
.   : milestone, 17531,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.557 ms [18.365 ms, 18.748 ms] -
appsec 18.563 ms [18.375 ms, 18.751 ms] 6.427 µs (0.0%)
code_origins 17.442 ms [17.27 ms, 17.614 ms] -1.114 ms (-6.0%)
iast 17.854 ms [17.672 ms, 18.035 ms] -702.762 µs (-3.8%)
profiling 20.161 ms [19.95 ms, 20.371 ms] 1.604 ms (8.6%)
tracing 17.541 ms [17.367 ms, 17.715 ms] -1.015 ms (-5.5%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 19.034 ms [18.842 ms, 19.225 ms] -
appsec 18.543 ms [18.353 ms, 18.733 ms] -490.475 µs (-2.6%)
code_origins 17.508 ms [17.335 ms, 17.681 ms] -1.526 ms (-8.0%)
iast 17.602 ms [17.428 ms, 17.777 ms] -1.431 ms (-7.5%)
profiling 19.447 ms [19.253 ms, 19.64 ms] 413.268 µs (2.2%)
tracing 17.531 ms [17.358 ms, 17.704 ms] -1.502 ms (-7.9%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master robertomonteromiguel/ai_dev_tools
git_commit_date 1772465864 1772522034
git_commit_sha 1c44c6f 5e26682
release_version 1.60.0-SNAPSHOT~1c44c6f9a7 1.60.0-SNAPSHOT~5e26682fbc
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1772524040 1772524040
ci_job_id 1469806171 1469806171
ci_pipeline_id 99934802 99934802
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-0s17z11n 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-0s17z11n 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~5e26682fbc, baseline=1.60.0-SNAPSHOT~1c44c6f9a7
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.337 s) : 15337000, 15337000
.   : milestone, 15337000,
appsec (14.888 s) : 14888000, 14888000
.   : milestone, 14888000,
iast (18.364 s) : 18364000, 18364000
.   : milestone, 18364000,
iast_GLOBAL (17.824 s) : 17824000, 17824000
.   : milestone, 17824000,
profiling (14.697 s) : 14697000, 14697000
.   : milestone, 14697000,
tracing (14.511 s) : 14511000, 14511000
.   : milestone, 14511000,
section candidate
no_agent (15.424 s) : 15424000, 15424000
.   : milestone, 15424000,
appsec (14.986 s) : 14986000, 14986000
.   : milestone, 14986000,
iast (18.364 s) : 18364000, 18364000
.   : milestone, 18364000,
iast_GLOBAL (17.968 s) : 17968000, 17968000
.   : milestone, 17968000,
profiling (14.951 s) : 14951000, 14951000
.   : milestone, 14951000,
tracing (14.658 s) : 14658000, 14658000
.   : milestone, 14658000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.337 s [15.337 s, 15.337 s] -
appsec 14.888 s [14.888 s, 14.888 s] -449.0 ms (-2.9%)
iast 18.364 s [18.364 s, 18.364 s] 3.027 s (19.7%)
iast_GLOBAL 17.824 s [17.824 s, 17.824 s] 2.487 s (16.2%)
profiling 14.697 s [14.697 s, 14.697 s] -640.0 ms (-4.2%)
tracing 14.511 s [14.511 s, 14.511 s] -826.0 ms (-5.4%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.424 s [15.424 s, 15.424 s] -
appsec 14.986 s [14.986 s, 14.986 s] -438.0 ms (-2.8%)
iast 18.364 s [18.364 s, 18.364 s] 2.94 s (19.1%)
iast_GLOBAL 17.968 s [17.968 s, 17.968 s] 2.544 s (16.5%)
profiling 14.951 s [14.951 s, 14.951 s] -473.0 ms (-3.1%)
tracing 14.658 s [14.658 s, 14.658 s] -766.0 ms (-5.0%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.60.0-SNAPSHOT~5e26682fbc, baseline=1.60.0-SNAPSHOT~1c44c6f9a7
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.465 ms) : 1453, 1476
.   : milestone, 1465,
appsec (3.797 ms) : 3577, 4016
.   : milestone, 3797,
iast (2.253 ms) : 2184, 2322
.   : milestone, 2253,
iast_GLOBAL (2.293 ms) : 2223, 2362
.   : milestone, 2293,
profiling (2.125 ms) : 2068, 2182
.   : milestone, 2125,
tracing (2.058 ms) : 2005, 2111
.   : milestone, 2058,
section candidate
no_agent (1.474 ms) : 1463, 1486
.   : milestone, 1474,
appsec (3.787 ms) : 3567, 4007
.   : milestone, 3787,
iast (2.249 ms) : 2180, 2318
.   : milestone, 2249,
iast_GLOBAL (2.298 ms) : 2228, 2367
.   : milestone, 2298,
profiling (2.073 ms) : 2019, 2128
.   : milestone, 2073,
tracing (2.055 ms) : 2002, 2108
.   : milestone, 2055,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.465 ms [1.453 ms, 1.476 ms] -
appsec 3.797 ms [3.577 ms, 4.016 ms] 2.332 ms (159.2%)
iast 2.253 ms [2.184 ms, 2.322 ms] 788.326 µs (53.8%)
iast_GLOBAL 2.293 ms [2.223 ms, 2.362 ms] 828.142 µs (56.5%)
profiling 2.125 ms [2.068 ms, 2.182 ms] 660.858 µs (45.1%)
tracing 2.058 ms [2.005 ms, 2.111 ms] 593.834 µs (40.5%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.474 ms [1.463 ms, 1.486 ms] -
appsec 3.787 ms [3.567 ms, 4.007 ms] 2.313 ms (156.9%)
iast 2.249 ms [2.18 ms, 2.318 ms] 774.738 µs (52.5%)
iast_GLOBAL 2.298 ms [2.228 ms, 2.367 ms] 823.075 µs (55.8%)
profiling 2.073 ms [2.019 ms, 2.128 ms] 598.667 µs (40.6%)
tracing 2.055 ms [2.002 ms, 2.108 ms] 580.717 µs (39.4%)

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

Labels

comp: testing Testing tag: ai generated Largely based on code generated by an AI or LLM tag: no release notes Changes to exclude from release notes type: documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants