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
@manuel-alvarez-alvarez manuel-alvarez-alvarez merged commit 02cae20 into master Oct 5, 2025
534 checks passed
@manuel-alvarez-alvarez manuel-alvarez-alvarez deleted the malvarez/ai-guard-sdk-evaluator branch October 5, 2025 09:45
@github-actions github-actions bot added this to the 1.54.0 milestone Oct 5, 2025
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