Skip to content

Conversation

manuel-alvarez-alvarez
Copy link
Member

@manuel-alvarez-alvarez manuel-alvarez-alvarez commented Sep 28, 2025

What Does This Do

This is the first version of the AI Guard Java SDK. It serves as a lightweight wrapper around the AI Guard public REST API, providing a more convenient and java oriented interface for interacting with the service.

More information about the API here

Motivation

We have design partners interested in a Java SDK to test AI Guard.

Additional Notes

Contributor Checklist

Jira ticket: APPSEC-58926

@datadog-datadog-prod-us1
Copy link
Contributor

datadog-datadog-prod-us1 bot commented Sep 28, 2025

🎯 Code Coverage
Patch Coverage: 85.81%
Total Coverage: 58.10% (+0.09%)

View detailed report

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 14397b2 | Docs | Was this helpful? Give us feedback!

@pr-commenter
Copy link

pr-commenter bot commented Sep 28, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master malvarez/ai-guard-sdk-evaluator
git_commit_date 1759515098 1759603314
git_commit_sha 6549d20 14397b2
release_version 1.54.0-SNAPSHOT~6549d20548 1.54.0-SNAPSHOT~14397b28ad
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1759605174 1759605174
ci_job_id 1163578415 1163578415
ci_pipeline_id 78394942 78394942
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-onykhgx9 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-onykhgx9 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 57 metrics, 8 unstable metrics.

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.54.0-SNAPSHOT~14397b28ad, baseline=1.54.0-SNAPSHOT~6549d20548

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.02 s) : 0, 1020475
Total [baseline] (10.823 s) : 0, 10823162
Agent [candidate] (1.021 s) : 0, 1021291
Total [candidate] (10.777 s) : 0, 10777266
section appsec
Agent [baseline] (1.197 s) : 0, 1197039
Total [baseline] (11.118 s) : 0, 11118292
Agent [candidate] (1.191 s) : 0, 1191472
Total [candidate] (10.96 s) : 0, 10960463
section iast
Agent [baseline] (1.151 s) : 0, 1150951
Total [baseline] (10.919 s) : 0, 10919109
Agent [candidate] (1.152 s) : 0, 1152092
Total [candidate] (10.872 s) : 0, 10872191
section profiling
Agent [baseline] (1.169 s) : 0, 1168669
Total [baseline] (11.084 s) : 0, 11083722
Agent [candidate] (1.172 s) : 0, 1171691
Total [candidate] (11.143 s) : 0, 11142661
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.02 s -
Agent appsec 1.197 s 176.564 ms (17.3%)
Agent iast 1.151 s 130.476 ms (12.8%)
Agent profiling 1.169 s 148.194 ms (14.5%)
Total tracing 10.823 s -
Total appsec 11.118 s 295.13 ms (2.7%)
Total iast 10.919 s 95.947 ms (0.9%)
Total profiling 11.084 s 260.56 ms (2.4%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.021 s -
Agent appsec 1.191 s 170.181 ms (16.7%)
Agent iast 1.152 s 130.801 ms (12.8%)
Agent profiling 1.172 s 150.399 ms (14.7%)
Total tracing 10.777 s -
Total appsec 10.96 s 183.197 ms (1.7%)
Total iast 10.872 s 94.924 ms (0.9%)
Total profiling 11.143 s 365.394 ms (3.4%)
gantt
    title petclinic - break down per module: candidate=1.54.0-SNAPSHOT~14397b28ad, baseline=1.54.0-SNAPSHOT~6549d20548

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.486 ms) : 0, 1486
crashtracking [candidate] (1.454 ms) : 0, 1454
BytebuddyAgent [baseline] (694.232 ms) : 0, 694232
BytebuddyAgent [candidate] (695.609 ms) : 0, 695609
GlobalTracer [baseline] (243.299 ms) : 0, 243299
GlobalTracer [candidate] (242.519 ms) : 0, 242519
AppSec [baseline] (32.335 ms) : 0, 32335
AppSec [candidate] (32.717 ms) : 0, 32717
Debugger [baseline] (6.308 ms) : 0, 6308
Debugger [candidate] (6.409 ms) : 0, 6409
Remote Config [baseline] (669.506 µs) : 0, 670
Remote Config [candidate] (682.635 µs) : 0, 683
Telemetry [baseline] (9.297 ms) : 0, 9297
Telemetry [candidate] (9.307 ms) : 0, 9307
Flare Poller [baseline] (11.549 ms) : 0, 11549
Flare Poller [candidate] (11.531 ms) : 0, 11531
section appsec
crashtracking [baseline] (1.467 ms) : 0, 1467
crashtracking [candidate] (1.456 ms) : 0, 1456
BytebuddyAgent [baseline] (719.044 ms) : 0, 719044
BytebuddyAgent [candidate] (715.947 ms) : 0, 715947
GlobalTracer [baseline] (236.316 ms) : 0, 236316
GlobalTracer [candidate] (233.584 ms) : 0, 233584
AppSec [baseline] (174.103 ms) : 0, 174103
AppSec [candidate] (173.177 ms) : 0, 173177
Debugger [baseline] (6.091 ms) : 0, 6091
Debugger [candidate] (6.134 ms) : 0, 6134
Remote Config [baseline] (639.566 µs) : 0, 640
Remote Config [candidate] (658.301 µs) : 0, 658
Telemetry [baseline] (9.277 ms) : 0, 9277
Telemetry [candidate] (9.246 ms) : 0, 9246
Flare Poller [baseline] (3.948 ms) : 0, 3948
Flare Poller [candidate] (5.556 ms) : 0, 5556
IAST [baseline] (24.957 ms) : 0, 24957
IAST [candidate] (24.734 ms) : 0, 24734
section iast
crashtracking [baseline] (1.462 ms) : 0, 1462
crashtracking [candidate] (1.465 ms) : 0, 1465
BytebuddyAgent [baseline] (813.904 ms) : 0, 813904
BytebuddyAgent [candidate] (815.578 ms) : 0, 815578
GlobalTracer [baseline] (233.143 ms) : 0, 233143
GlobalTracer [candidate] (232.397 ms) : 0, 232397
AppSec [baseline] (35.135 ms) : 0, 35135
AppSec [candidate] (35.321 ms) : 0, 35321
Debugger [baseline] (6.154 ms) : 0, 6154
Debugger [candidate] (6.049 ms) : 0, 6049
Remote Config [baseline] (589.227 µs) : 0, 589
Remote Config [candidate] (593.109 µs) : 0, 593
Telemetry [baseline] (8.558 ms) : 0, 8558
Telemetry [candidate] (8.443 ms) : 0, 8443
Flare Poller [baseline] (4.288 ms) : 0, 4288
Flare Poller [candidate] (4.208 ms) : 0, 4208
IAST [baseline] (26.407 ms) : 0, 26407
IAST [candidate] (26.818 ms) : 0, 26818
section profiling
ProfilingAgent [baseline] (108.192 ms) : 0, 108192
ProfilingAgent [candidate] (107.53 ms) : 0, 107530
crashtracking [baseline] (1.417 ms) : 0, 1417
crashtracking [candidate] (1.433 ms) : 0, 1433
BytebuddyAgent [baseline] (724.577 ms) : 0, 724577
BytebuddyAgent [candidate] (728.055 ms) : 0, 728055
GlobalTracer [baseline] (220.326 ms) : 0, 220326
GlobalTracer [candidate] (219.275 ms) : 0, 219275
AppSec [baseline] (33.011 ms) : 0, 33011
AppSec [candidate] (33.418 ms) : 0, 33418
Debugger [baseline] (7.341 ms) : 0, 7341
Debugger [candidate] (6.54 ms) : 0, 6540
Remote Config [baseline] (808.938 µs) : 0, 809
Remote Config [candidate] (705.54 µs) : 0, 706
Telemetry [baseline] (16.023 ms) : 0, 16023
Telemetry [candidate] (16.749 ms) : 0, 16749
Flare Poller [baseline] (4.159 ms) : 0, 4159
Flare Poller [candidate] (4.186 ms) : 0, 4186
Profiling [baseline] (109.118 ms) : 0, 109118
Profiling [candidate] (109.156 ms) : 0, 109156
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.54.0-SNAPSHOT~14397b28ad, baseline=1.54.0-SNAPSHOT~6549d20548

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.023 s) : 0, 1022639
Total [baseline] (8.687 s) : 0, 8686979
Agent [candidate] (1.018 s) : 0, 1017914
Total [candidate] (8.628 s) : 0, 8627802
section iast
Agent [baseline] (1.166 s) : 0, 1165790
Total [baseline] (9.285 s) : 0, 9284620
Agent [candidate] (1.151 s) : 0, 1150551
Total [candidate] (9.26 s) : 0, 9260143
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.023 s -
Agent iast 1.166 s 143.15 ms (14.0%)
Total tracing 8.687 s -
Total iast 9.285 s 597.642 ms (6.9%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.018 s -
Agent iast 1.151 s 132.637 ms (13.0%)
Total tracing 8.628 s -
Total iast 9.26 s 632.341 ms (7.3%)
gantt
    title insecure-bank - break down per module: candidate=1.54.0-SNAPSHOT~14397b28ad, baseline=1.54.0-SNAPSHOT~6549d20548

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.472 ms) : 0, 1472
crashtracking [candidate] (1.468 ms) : 0, 1468
BytebuddyAgent [baseline] (696.436 ms) : 0, 696436
BytebuddyAgent [candidate] (693.954 ms) : 0, 693954
GlobalTracer [baseline] (243.753 ms) : 0, 243753
GlobalTracer [candidate] (241.575 ms) : 0, 241575
AppSec [baseline] (32.523 ms) : 0, 32523
AppSec [candidate] (32.786 ms) : 0, 32786
Debugger [baseline] (6.345 ms) : 0, 6345
Debugger [candidate] (6.408 ms) : 0, 6408
Remote Config [baseline] (674.138 µs) : 0, 674
Remote Config [candidate] (681.542 µs) : 0, 682
Telemetry [baseline] (9.436 ms) : 0, 9436
Telemetry [candidate] (9.192 ms) : 0, 9192
Flare Poller [baseline] (10.793 ms) : 0, 10793
Flare Poller [candidate] (10.761 ms) : 0, 10761
section iast
crashtracking [baseline] (1.489 ms) : 0, 1489
crashtracking [candidate] (1.459 ms) : 0, 1459
BytebuddyAgent [baseline] (826.052 ms) : 0, 826052
BytebuddyAgent [candidate] (814.508 ms) : 0, 814508
GlobalTracer [baseline] (235.04 ms) : 0, 235040
GlobalTracer [candidate] (232.337 ms) : 0, 232337
AppSec [baseline] (35.365 ms) : 0, 35365
AppSec [candidate] (35.097 ms) : 0, 35097
Debugger [baseline] (6.27 ms) : 0, 6270
Debugger [candidate] (6.067 ms) : 0, 6067
Remote Config [baseline] (614.683 µs) : 0, 615
Remote Config [candidate] (596.509 µs) : 0, 597
Telemetry [baseline] (8.689 ms) : 0, 8689
Telemetry [candidate] (8.428 ms) : 0, 8428
Flare Poller [baseline] (4.288 ms) : 0, 4288
Flare Poller [candidate] (4.159 ms) : 0, 4159
IAST [baseline] (26.606 ms) : 0, 26606
IAST [candidate] (26.816 ms) : 0, 26816
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master malvarez/ai-guard-sdk-evaluator
git_commit_date 1759515098 1759603314
git_commit_sha 6549d20 14397b2
release_version 1.54.0-SNAPSHOT~6549d20548 1.54.0-SNAPSHOT~14397b28ad
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1759604842 1759604842
ci_job_id 1163578416 1163578416
ci_pipeline_id 78394942 78394942
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-f9wr57dd 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-f9wr57dd 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 2 performance improvements and 2 performance regressions! Performance is the same for 8 metrics, 12 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:insecure-bank:no_agent:high_load better
[-206.965µs; -98.190µs] or [-4.676%; -2.218%]
unstable
[-84.039op/s; +157.164op/s] or [-8.106%; +15.159%]
4.274ms 1073.344op/s 4.426ms 1036.781op/s
scenario:load:insecure-bank:iast:high_load worse
[+448.473µs; +825.826µs] or [+4.567%; +8.410%]
unstable
[-84.544op/s; +27.919op/s] or [-17.882%; +5.905%]
10.457ms 444.469op/s 9.820ms 472.781op/s
scenario:load:petclinic:profiling:high_load better
[-3.406ms; -2.445ms] or [-6.739%; -4.837%]
unstable
[-2.755op/s; +11.710op/s] or [-2.938%; +12.488%]
47.617ms 98.250op/s 50.542ms 93.772op/s
scenario:load:petclinic:iast:high_load worse
[+1.475ms; +2.302ms] or [+3.373%; +5.264%]
unstable
[-12.602op/s; +3.827op/s] or [-11.785%; +3.579%]
45.623ms 102.550op/s 43.734ms 106.938op/s
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.54.0-SNAPSHOT~14397b28ad, baseline=1.54.0-SNAPSHOT~6549d20548
    dateFormat X
    axisFormat %s
section baseline
no_agent (4.426 ms) : 4375, 4478
.   : milestone, 4426,
iast (9.82 ms) : 9657, 9983
.   : milestone, 9820,
iast_FULL (14.251 ms) : 13968, 14533
.   : milestone, 14251,
iast_GLOBAL (10.675 ms) : 10486, 10865
.   : milestone, 10675,
profiling (8.727 ms) : 8569, 8885
.   : milestone, 8727,
tracing (7.606 ms) : 7501, 7712
.   : milestone, 7606,
section candidate
no_agent (4.274 ms) : 4224, 4323
.   : milestone, 4274,
iast (10.457 ms) : 10270, 10644
.   : milestone, 10457,
iast_FULL (14.06 ms) : 13787, 14333
.   : milestone, 14060,
iast_GLOBAL (10.806 ms) : 10615, 10998
.   : milestone, 10806,
profiling (8.838 ms) : 8701, 8974
.   : milestone, 8838,
tracing (7.622 ms) : 7508, 7736
.   : milestone, 7622,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 4.426 ms [4.375 ms, 4.478 ms] -
iast 9.82 ms [9.657 ms, 9.983 ms] 5.394 ms (121.9%)
iast_FULL 14.251 ms [13.968 ms, 14.533 ms] 9.824 ms (222.0%)
iast_GLOBAL 10.675 ms [10.486 ms, 10.865 ms] 6.249 ms (141.2%)
profiling 8.727 ms [8.569 ms, 8.885 ms] 4.301 ms (97.2%)
tracing 7.606 ms [7.501 ms, 7.712 ms] 3.18 ms (71.8%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 4.274 ms [4.224 ms, 4.323 ms] -
iast 10.457 ms [10.27 ms, 10.644 ms] 6.183 ms (144.7%)
iast_FULL 14.06 ms [13.787 ms, 14.333 ms] 9.786 ms (229.0%)
iast_GLOBAL 10.806 ms [10.615 ms, 10.998 ms] 6.533 ms (152.9%)
profiling 8.838 ms [8.701 ms, 8.974 ms] 4.564 ms (106.8%)
tracing 7.622 ms [7.508 ms, 7.736 ms] 3.348 ms (78.3%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.54.0-SNAPSHOT~14397b28ad, baseline=1.54.0-SNAPSHOT~6549d20548
    dateFormat X
    axisFormat %s
section baseline
no_agent (37.765 ms) : 37465, 38065
.   : milestone, 37765,
appsec (47.543 ms) : 47114, 47973
.   : milestone, 47543,
code_origins (44.526 ms) : 44147, 44906
.   : milestone, 44526,
iast (43.734 ms) : 43354, 44114
.   : milestone, 43734,
profiling (50.542 ms) : 50067, 51018
.   : milestone, 50542,
tracing (46.143 ms) : 45737, 46549
.   : milestone, 46143,
section candidate
no_agent (37.454 ms) : 37152, 37756
.   : milestone, 37454,
appsec (46.35 ms) : 45959, 46742
.   : milestone, 46350,
code_origins (43.439 ms) : 43070, 43807
.   : milestone, 43439,
iast (45.623 ms) : 45234, 46011
.   : milestone, 45623,
profiling (47.617 ms) : 47201, 48033
.   : milestone, 47617,
tracing (45.326 ms) : 44938, 45715
.   : milestone, 45326,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 37.765 ms [37.465 ms, 38.065 ms] -
appsec 47.543 ms [47.114 ms, 47.973 ms] 9.778 ms (25.9%)
code_origins 44.526 ms [44.147 ms, 44.906 ms] 6.762 ms (17.9%)
iast 43.734 ms [43.354 ms, 44.114 ms] 5.969 ms (15.8%)
profiling 50.542 ms [50.067 ms, 51.018 ms] 12.777 ms (33.8%)
tracing 46.143 ms [45.737 ms, 46.549 ms] 8.378 ms (22.2%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 37.454 ms [37.152 ms, 37.756 ms] -
appsec 46.35 ms [45.959 ms, 46.742 ms] 8.896 ms (23.8%)
code_origins 43.439 ms [43.07 ms, 43.807 ms] 5.985 ms (16.0%)
iast 45.623 ms [45.234 ms, 46.011 ms] 8.169 ms (21.8%)
profiling 47.617 ms [47.201 ms, 48.033 ms] 10.163 ms (27.1%)
tracing 45.326 ms [44.938 ms, 45.715 ms] 7.872 ms (21.0%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master malvarez/ai-guard-sdk-evaluator
git_commit_date 1759515098 1759603314
git_commit_sha 6549d20 14397b2
release_version 1.54.0-SNAPSHOT~6549d20548 1.54.0-SNAPSHOT~14397b28ad
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1759605354 1759605354
ci_job_id 1163578417 1163578417
ci_pipeline_id 78394942 78394942
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-4ywfh7la 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-4ywfh7la 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 10 metrics, 2 unstable metrics.

Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.54.0-SNAPSHOT~14397b28ad, baseline=1.54.0-SNAPSHOT~6549d20548
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.477 ms) : 1465, 1488
.   : milestone, 1477,
appsec (3.667 ms) : 3453, 3880
.   : milestone, 3667,
iast (2.209 ms) : 2146, 2273
.   : milestone, 2209,
iast_GLOBAL (2.251 ms) : 2186, 2315
.   : milestone, 2251,
profiling (2.081 ms) : 2028, 2134
.   : milestone, 2081,
tracing (2.028 ms) : 1978, 2078
.   : milestone, 2028,
section candidate
no_agent (1.474 ms) : 1463, 1486
.   : milestone, 1474,
appsec (3.664 ms) : 3450, 3879
.   : milestone, 3664,
iast (2.216 ms) : 2152, 2280
.   : milestone, 2216,
iast_GLOBAL (2.251 ms) : 2187, 2315
.   : milestone, 2251,
profiling (2.508 ms) : 2340, 2677
.   : milestone, 2508,
tracing (2.03 ms) : 1980, 2080
.   : milestone, 2030,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.477 ms [1.465 ms, 1.488 ms] -
appsec 3.667 ms [3.453 ms, 3.88 ms] 2.19 ms (148.3%)
iast 2.209 ms [2.146 ms, 2.273 ms] 732.653 µs (49.6%)
iast_GLOBAL 2.251 ms [2.186 ms, 2.315 ms] 774.353 µs (52.4%)
profiling 2.081 ms [2.028 ms, 2.134 ms] 604.592 µs (40.9%)
tracing 2.028 ms [1.978 ms, 2.078 ms] 551.592 µs (37.4%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.474 ms [1.463 ms, 1.486 ms] -
appsec 3.664 ms [3.45 ms, 3.879 ms] 2.19 ms (148.6%)
iast 2.216 ms [2.152 ms, 2.28 ms] 741.92 µs (50.3%)
iast_GLOBAL 2.251 ms [2.187 ms, 2.315 ms] 776.833 µs (52.7%)
profiling 2.508 ms [2.34 ms, 2.677 ms] 1.034 ms (70.2%)
tracing 2.03 ms [1.98 ms, 2.08 ms] 556.143 µs (37.7%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.54.0-SNAPSHOT~14397b28ad, baseline=1.54.0-SNAPSHOT~6549d20548
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.945 s) : 14945000, 14945000
.   : milestone, 14945000,
appsec (14.967 s) : 14967000, 14967000
.   : milestone, 14967000,
iast (18.637 s) : 18637000, 18637000
.   : milestone, 18637000,
iast_GLOBAL (18.051 s) : 18051000, 18051000
.   : milestone, 18051000,
profiling (15.461 s) : 15461000, 15461000
.   : milestone, 15461000,
tracing (15.162 s) : 15162000, 15162000
.   : milestone, 15162000,
section candidate
no_agent (15.018 s) : 15018000, 15018000
.   : milestone, 15018000,
appsec (14.927 s) : 14927000, 14927000
.   : milestone, 14927000,
iast (18.287 s) : 18287000, 18287000
.   : milestone, 18287000,
iast_GLOBAL (18.133 s) : 18133000, 18133000
.   : milestone, 18133000,
profiling (15.886 s) : 15886000, 15886000
.   : milestone, 15886000,
tracing (15.356 s) : 15356000, 15356000
.   : milestone, 15356000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.945 s [14.945 s, 14.945 s] -
appsec 14.967 s [14.967 s, 14.967 s] 22.0 ms (0.1%)
iast 18.637 s [18.637 s, 18.637 s] 3.692 s (24.7%)
iast_GLOBAL 18.051 s [18.051 s, 18.051 s] 3.106 s (20.8%)
profiling 15.461 s [15.461 s, 15.461 s] 516.0 ms (3.5%)
tracing 15.162 s [15.162 s, 15.162 s] 217.0 ms (1.5%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.018 s [15.018 s, 15.018 s] -
appsec 14.927 s [14.927 s, 14.927 s] -91.0 ms (-0.6%)
iast 18.287 s [18.287 s, 18.287 s] 3.269 s (21.8%)
iast_GLOBAL 18.133 s [18.133 s, 18.133 s] 3.115 s (20.7%)
profiling 15.886 s [15.886 s, 15.886 s] 868.0 ms (5.8%)
tracing 15.356 s [15.356 s, 15.356 s] 338.0 ms (2.3%)

@manuel-alvarez-alvarez manuel-alvarez-alvarez added comp: api Tracer public API type: enhancement Enhancements and improvements labels Sep 28, 2025
@manuel-alvarez-alvarez manuel-alvarez-alvarez marked this pull request as ready for review September 28, 2025 20:11
@manuel-alvarez-alvarez manuel-alvarez-alvarez requested review from AlexeyKuznetsov-DD and PerfectSlayer and removed request for a team September 28, 2025 20:11
@manuel-alvarez-alvarez manuel-alvarez-alvarez changed the title Initial implementation of AI Guard SDK Initial implementation of the AI Guard SDK Sep 28, 2025
@manuel-alvarez-alvarez manuel-alvarez-alvarez force-pushed the malvarez/ai-guard-sdk-evaluator branch 3 times, most recently from 5abaeca to 657b1e1 Compare September 28, 2025 20:48
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.

❔ question: ‏Quick question about design. Why AI guard is an agent module rather than an internal lib with a public API?
Is it expected to interact with some instrumentations later?

@manuel-alvarez-alvarez
Copy link
Member Author

❔ question: ‏Quick question about design. Why AI guard is an agent module rather than an internal lib with a public API? Is it expected to interact with some instrumentations later?

Yes—for example, in Python it’s already being used with LangChain. Here, we could apply it to spring-ai or other frameworks.

Let me know if you’d prefer that I move this to internal and set up the module once we have the instrumentations ready.

1 similar comment
@manuel-alvarez-alvarez
Copy link
Member Author

❔ question: ‏Quick question about design. Why AI guard is an agent module rather than an internal lib with a public API? Is it expected to interact with some instrumentations later?

Yes—for example, in Python it’s already being used with LangChain. Here, we could apply it to spring-ai or other frameworks.

Let me know if you’d prefer that I move this to internal and set up the module once we have the instrumentations ready.

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.

Let me know if you’d prefer that I move this to internal and set up the module once we have the instrumentations ready.

Nope, I just wanted to make sure about the design as I can't see all the pieces from this PR 😅 So far it makes sense so let's go with agent module then!

@smola smola added the tag: experimental Experimental changes label Sep 30, 2025
@manuel-alvarez-alvarez manuel-alvarez-alvarez force-pushed the malvarez/ai-guard-sdk-evaluator branch 2 times, most recently from ad15637 to 5eff509 Compare October 2, 2025 09:19
@manuel-alvarez-alvarez manuel-alvarez-alvarez requested a review from a team as a code owner October 2, 2025 12:00
Copy link
Contributor

@AlexeyKuznetsov-DD AlexeyKuznetsov-DD left a comment

Choose a reason for hiding this comment

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

LGTM, left minor comment.

@manuel-alvarez-alvarez manuel-alvarez-alvarez force-pushed the malvarez/ai-guard-sdk-evaluator branch 2 times, most recently from 014704f to 32abc6f Compare October 3, 2025 15:11
@manuel-alvarez-alvarez manuel-alvarez-alvarez force-pushed the malvarez/ai-guard-sdk-evaluator branch from 32abc6f to 4a9b722 Compare October 4, 2025 11:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp: api Tracer public API tag: experimental Experimental changes type: enhancement Enhancements and improvements
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants