Skip to content

Conversation

@ojproductions
Copy link

@ojproductions ojproductions commented Oct 30, 2025

What Does This Do

  • refactors JsonPathParser so that config can use it as a dependency
  • moves payload tag parsing to happen before config is set
  • disable payload tagging if only invalid json paths are provided

Motivation

Specifically in the lambda environment, users (or some instrumenation helpers such as datadog-cdk-constructs) may add the env without adding any value so that it defaults to disabled.
This is to make the feature visible for discovery purposes, but without forcing it as a default

read more here

APMSVLS-53

@datadog-official
Copy link

datadog-official bot commented Oct 30, 2025

🎯 Code Coverage
Patch Coverage: 47.06%
Total Coverage: 60.10% (+0.50%)

View detailed report

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 3853fb5 | Docs | Datadog PR Page | Was this helpful? Give us feedback!

@pr-commenter
Copy link

pr-commenter bot commented Oct 30, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master onzia/fix-aws-payload-tagging
git_commit_date 1762544894 1762549252
git_commit_sha f132c86 3853fb5
release_version 1.56.0-SNAPSHOT~f132c86c16 1.55.0-SNAPSHOT~3853fb5380
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1762551294 1762551294
ci_job_id 1223529224 1223529224
ci_pipeline_id 81663822 81663822
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-c9jk3tle 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-c9jk3tle 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 55 metrics, 10 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.55.0-SNAPSHOT~3853fb5380, baseline=1.56.0-SNAPSHOT~f132c86c16

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.048 s) : 0, 1048449
Total [baseline] (8.601 s) : 0, 8600907
Agent [candidate] (1.056 s) : 0, 1055759
Total [candidate] (8.649 s) : 0, 8649462
section iast
Agent [baseline] (1.178 s) : 0, 1178336
Total [baseline] (9.25 s) : 0, 9250471
Agent [candidate] (1.177 s) : 0, 1176997
Total [candidate] (9.249 s) : 0, 9248905
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.048 s -
Agent iast 1.178 s 129.888 ms (12.4%)
Total tracing 8.601 s -
Total iast 9.25 s 649.564 ms (7.6%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.056 s -
Agent iast 1.177 s 121.237 ms (11.5%)
Total tracing 8.649 s -
Total iast 9.249 s 599.443 ms (6.9%)
gantt
    title insecure-bank - break down per module: candidate=1.55.0-SNAPSHOT~3853fb5380, baseline=1.56.0-SNAPSHOT~f132c86c16

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.473 ms) : 0, 1473
crashtracking [candidate] (1.456 ms) : 0, 1456
BytebuddyAgent [baseline] (706.065 ms) : 0, 706065
BytebuddyAgent [candidate] (711.11 ms) : 0, 711110
GlobalTracer [baseline] (245.885 ms) : 0, 245885
GlobalTracer [candidate] (247.61 ms) : 0, 247610
AppSec [baseline] (32.438 ms) : 0, 32438
AppSec [candidate] (32.542 ms) : 0, 32542
Debugger [baseline] (6.431 ms) : 0, 6431
Debugger [candidate] (6.429 ms) : 0, 6429
Remote Config [baseline] (713.249 µs) : 0, 713
Remote Config [candidate] (702.349 µs) : 0, 702
Telemetry [baseline] (13.479 ms) : 0, 13479
Telemetry [candidate] (13.778 ms) : 0, 13778
Flare Poller [baseline] (7.333 ms) : 0, 7333
Flare Poller [candidate] (7.322 ms) : 0, 7322
section iast
crashtracking [baseline] (1.474 ms) : 0, 1474
crashtracking [candidate] (1.443 ms) : 0, 1443
BytebuddyAgent [baseline] (827.932 ms) : 0, 827932
BytebuddyAgent [candidate] (827.247 ms) : 0, 827247
GlobalTracer [baseline] (234.358 ms) : 0, 234358
GlobalTracer [candidate] (233.972 ms) : 0, 233972
IAST [baseline] (34.946 ms) : 0, 34946
IAST [candidate] (34.039 ms) : 0, 34039
AppSec [baseline] (26.021 ms) : 0, 26021
AppSec [candidate] (26.753 ms) : 0, 26753
Debugger [baseline] (6.012 ms) : 0, 6012
Debugger [candidate] (5.943 ms) : 0, 5943
Remote Config [baseline] (603.777 µs) : 0, 604
Remote Config [candidate] (598.918 µs) : 0, 599
Telemetry [baseline] (8.34 ms) : 0, 8340
Telemetry [candidate] (8.306 ms) : 0, 8306
Flare Poller [baseline] (4.054 ms) : 0, 4054
Flare Poller [candidate] (4.132 ms) : 0, 4132
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.55.0-SNAPSHOT~3853fb5380, baseline=1.56.0-SNAPSHOT~f132c86c16

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.047 s) : 0, 1047109
Total [baseline] (10.802 s) : 0, 10801571
Agent [candidate] (1.047 s) : 0, 1046967
Total [candidate] (10.689 s) : 0, 10689361
section appsec
Agent [baseline] (1.224 s) : 0, 1224084
Total [baseline] (10.873 s) : 0, 10873423
Agent [candidate] (1.222 s) : 0, 1222434
Total [candidate] (10.839 s) : 0, 10839325
section iast
Agent [baseline] (1.181 s) : 0, 1180875
Total [baseline] (11.135 s) : 0, 11135223
Agent [candidate] (1.181 s) : 0, 1181283
Total [candidate] (11.123 s) : 0, 11122530
section profiling
Agent [baseline] (1.204 s) : 0, 1203541
Total [baseline] (10.91 s) : 0, 10910013
Agent [candidate] (1.194 s) : 0, 1194100
Total [candidate] (10.896 s) : 0, 10895967
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.047 s -
Agent appsec 1.224 s 176.975 ms (16.9%)
Agent iast 1.181 s 133.766 ms (12.8%)
Agent profiling 1.204 s 156.432 ms (14.9%)
Total tracing 10.802 s -
Total appsec 10.873 s 71.852 ms (0.7%)
Total iast 11.135 s 333.652 ms (3.1%)
Total profiling 10.91 s 108.443 ms (1.0%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.047 s -
Agent appsec 1.222 s 175.467 ms (16.8%)
Agent iast 1.181 s 134.316 ms (12.8%)
Agent profiling 1.194 s 147.132 ms (14.1%)
Total tracing 10.689 s -
Total appsec 10.839 s 149.963 ms (1.4%)
Total iast 11.123 s 433.169 ms (4.1%)
Total profiling 10.896 s 206.605 ms (1.9%)
gantt
    title petclinic - break down per module: candidate=1.55.0-SNAPSHOT~3853fb5380, baseline=1.56.0-SNAPSHOT~f132c86c16

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.459 ms) : 0, 1459
crashtracking [candidate] (1.449 ms) : 0, 1449
BytebuddyAgent [baseline] (705.203 ms) : 0, 705203
BytebuddyAgent [candidate] (704.851 ms) : 0, 704851
GlobalTracer [baseline] (245.715 ms) : 0, 245715
GlobalTracer [candidate] (245.982 ms) : 0, 245982
AppSec [baseline] (32.289 ms) : 0, 32289
AppSec [candidate] (32.434 ms) : 0, 32434
Debugger [baseline] (6.38 ms) : 0, 6380
Debugger [candidate] (6.4 ms) : 0, 6400
Remote Config [baseline] (707.482 µs) : 0, 707
Remote Config [candidate] (705.232 µs) : 0, 705
Telemetry [baseline] (15.72 ms) : 0, 15720
Telemetry [candidate] (13.877 ms) : 0, 13877
Flare Poller [baseline] (4.938 ms) : 0, 4938
Flare Poller [candidate] (6.565 ms) : 0, 6565
section appsec
crashtracking [baseline] (1.463 ms) : 0, 1463
crashtracking [candidate] (1.453 ms) : 0, 1453
BytebuddyAgent [baseline] (730.548 ms) : 0, 730548
BytebuddyAgent [candidate] (729.732 ms) : 0, 729732
GlobalTracer [baseline] (238.096 ms) : 0, 238096
GlobalTracer [candidate] (237.271 ms) : 0, 237271
IAST [baseline] (24.826 ms) : 0, 24826
IAST [candidate] (24.79 ms) : 0, 24790
AppSec [baseline] (174.956 ms) : 0, 174956
AppSec [candidate] (175.099 ms) : 0, 175099
Debugger [baseline] (6.003 ms) : 0, 6003
Debugger [candidate] (6.0 ms) : 0, 6000
Remote Config [baseline] (653.946 µs) : 0, 654
Remote Config [candidate] (651.703 µs) : 0, 652
Telemetry [baseline] (8.628 ms) : 0, 8628
Telemetry [candidate] (8.625 ms) : 0, 8625
Flare Poller [baseline] (3.997 ms) : 0, 3997
Flare Poller [candidate] (4.006 ms) : 0, 4006
section iast
crashtracking [baseline] (1.465 ms) : 0, 1465
crashtracking [candidate] (1.449 ms) : 0, 1449
BytebuddyAgent [baseline] (829.365 ms) : 0, 829365
BytebuddyAgent [candidate] (828.555 ms) : 0, 828555
GlobalTracer [baseline] (235.212 ms) : 0, 235212
GlobalTracer [candidate] (236.075 ms) : 0, 236075
IAST [baseline] (34.157 ms) : 0, 34157
IAST [candidate] (34.991 ms) : 0, 34991
AppSec [baseline] (26.791 ms) : 0, 26791
AppSec [candidate] (26.267 ms) : 0, 26267
Debugger [baseline] (6.015 ms) : 0, 6015
Debugger [candidate] (6.028 ms) : 0, 6028
Remote Config [baseline] (597.88 µs) : 0, 598
Remote Config [candidate] (602.941 µs) : 0, 603
Telemetry [baseline] (8.373 ms) : 0, 8373
Telemetry [candidate] (8.341 ms) : 0, 8341
Flare Poller [baseline] (4.117 ms) : 0, 4117
Flare Poller [candidate] (4.159 ms) : 0, 4159
section profiling
crashtracking [baseline] (1.451 ms) : 0, 1451
crashtracking [candidate] (1.435 ms) : 0, 1435
BytebuddyAgent [baseline] (735.764 ms) : 0, 735764
BytebuddyAgent [candidate] (730.526 ms) : 0, 730526
GlobalTracer [baseline] (223.403 ms) : 0, 223403
GlobalTracer [candidate] (221.78 ms) : 0, 221780
AppSec [baseline] (32.505 ms) : 0, 32505
AppSec [candidate] (31.989 ms) : 0, 31989
Debugger [baseline] (6.768 ms) : 0, 6768
Debugger [candidate] (7.461 ms) : 0, 7461
Remote Config [baseline] (1.554 ms) : 0, 1554
Remote Config [candidate] (682.343 µs) : 0, 682
Telemetry [baseline] (15.348 ms) : 0, 15348
Telemetry [candidate] (15.421 ms) : 0, 15421
Flare Poller [baseline] (4.15 ms) : 0, 4150
Flare Poller [candidate] (4.106 ms) : 0, 4106
ProfilingAgent [baseline] (112.202 ms) : 0, 112202
ProfilingAgent [candidate] (110.712 ms) : 0, 110712
Profiling [baseline] (112.881 ms) : 0, 112881
Profiling [candidate] (111.378 ms) : 0, 111378
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master onzia/fix-aws-payload-tagging
git_commit_date 1762544894 1762549252
git_commit_sha f132c86 3853fb5
release_version 1.56.0-SNAPSHOT~f132c86c16 1.55.0-SNAPSHOT~3853fb5380
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1762551883 1762551883
ci_job_id 1223529225 1223529225
ci_pipeline_id 81663822 81663822
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-1qwne8s5 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-1qwne8s5 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

Found 1 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 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:petclinic:no_agent:high_load better
[-869.838µs; -463.130µs] or [-4.616%; -2.457%]
unstable
[-17.820op/s; +35.882op/s] or [-7.195%; +14.489%]
18.179ms 256.688op/s 18.846ms 247.656op/s
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.55.0-SNAPSHOT~3853fb5380, baseline=1.56.0-SNAPSHOT~f132c86c16
    dateFormat X
    axisFormat %s
section baseline
no_agent (18.846 ms) : 18654, 19037
.   : milestone, 18846,
appsec (18.389 ms) : 18202, 18576
.   : milestone, 18389,
code_origins (17.844 ms) : 17664, 18023
.   : milestone, 17844,
iast (17.817 ms) : 17641, 17993
.   : milestone, 17817,
profiling (18.61 ms) : 18422, 18799
.   : milestone, 18610,
tracing (17.655 ms) : 17481, 17830
.   : milestone, 17655,
section candidate
no_agent (18.179 ms) : 17993, 18366
.   : milestone, 18179,
appsec (18.515 ms) : 18327, 18704
.   : milestone, 18515,
code_origins (17.838 ms) : 17662, 18013
.   : milestone, 17838,
iast (17.499 ms) : 17327, 17671
.   : milestone, 17499,
profiling (18.667 ms) : 18475, 18859
.   : milestone, 18667,
tracing (17.589 ms) : 17414, 17765
.   : milestone, 17589,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.846 ms [18.654 ms, 19.037 ms] -
appsec 18.389 ms [18.202 ms, 18.576 ms] -456.528 µs (-2.4%)
code_origins 17.844 ms [17.664 ms, 18.023 ms] -1.002 ms (-5.3%)
iast 17.817 ms [17.641 ms, 17.993 ms] -1.029 ms (-5.5%)
profiling 18.61 ms [18.422 ms, 18.799 ms] -235.456 µs (-1.2%)
tracing 17.655 ms [17.481 ms, 17.83 ms] -1.19 ms (-6.3%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.179 ms [17.993 ms, 18.366 ms] -
appsec 18.515 ms [18.327 ms, 18.704 ms] 336.198 µs (1.8%)
code_origins 17.838 ms [17.662 ms, 18.013 ms] -341.741 µs (-1.9%)
iast 17.499 ms [17.327 ms, 17.671 ms] -680.172 µs (-3.7%)
profiling 18.667 ms [18.475 ms, 18.859 ms] 487.673 µs (2.7%)
tracing 17.589 ms [17.414 ms, 17.765 ms] -590.047 µs (-3.2%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.55.0-SNAPSHOT~3853fb5380, baseline=1.56.0-SNAPSHOT~f132c86c16
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.201 ms) : 1189, 1213
.   : milestone, 1201,
iast (3.176 ms) : 3136, 3216
.   : milestone, 3176,
iast_FULL (5.71 ms) : 5653, 5767
.   : milestone, 5710,
iast_GLOBAL (3.614 ms) : 3555, 3673
.   : milestone, 3614,
profiling (2.087 ms) : 2065, 2109
.   : milestone, 2087,
tracing (1.798 ms) : 1782, 1814
.   : milestone, 1798,
section candidate
no_agent (1.21 ms) : 1197, 1223
.   : milestone, 1210,
iast (3.25 ms) : 3205, 3295
.   : milestone, 3250,
iast_FULL (5.786 ms) : 5728, 5844
.   : milestone, 5786,
iast_GLOBAL (3.66 ms) : 3606, 3713
.   : milestone, 3660,
profiling (2.058 ms) : 2040, 2076
.   : milestone, 2058,
tracing (1.82 ms) : 1805, 1835
.   : milestone, 1820,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.201 ms [1.189 ms, 1.213 ms] -
iast 3.176 ms [3.136 ms, 3.216 ms] 1.975 ms (164.5%)
iast_FULL 5.71 ms [5.653 ms, 5.767 ms] 4.51 ms (375.6%)
iast_GLOBAL 3.614 ms [3.555 ms, 3.673 ms] 2.413 ms (201.0%)
profiling 2.087 ms [2.065 ms, 2.109 ms] 886.038 µs (73.8%)
tracing 1.798 ms [1.782 ms, 1.814 ms] 597.63 µs (49.8%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.21 ms [1.197 ms, 1.223 ms] -
iast 3.25 ms [3.205 ms, 3.295 ms] 2.04 ms (168.7%)
iast_FULL 5.786 ms [5.728 ms, 5.844 ms] 4.576 ms (378.3%)
iast_GLOBAL 3.66 ms [3.606 ms, 3.713 ms] 2.45 ms (202.5%)
profiling 2.058 ms [2.04 ms, 2.076 ms] 848.779 µs (70.2%)
tracing 1.82 ms [1.805 ms, 1.835 ms] 610.265 µs (50.5%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master onzia/fix-aws-payload-tagging
git_commit_date 1762544894 1762549252
git_commit_sha f132c86 3853fb5
release_version 1.56.0-SNAPSHOT~f132c86c16 1.55.0-SNAPSHOT~3853fb5380
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1762551536 1762551536
ci_job_id 1223529226 1223529226
ci_pipeline_id 81663822 81663822
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-2-q1ijgy9j 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-2-q1ijgy9j 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.55.0-SNAPSHOT~3853fb5380, baseline=1.56.0-SNAPSHOT~f132c86c16
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.967 s) : 14967000, 14967000
.   : milestone, 14967000,
appsec (14.81 s) : 14810000, 14810000
.   : milestone, 14810000,
iast (18.1 s) : 18100000, 18100000
.   : milestone, 18100000,
iast_GLOBAL (18.08 s) : 18080000, 18080000
.   : milestone, 18080000,
profiling (15.578 s) : 15578000, 15578000
.   : milestone, 15578000,
tracing (14.76 s) : 14760000, 14760000
.   : milestone, 14760000,
section candidate
no_agent (15.135 s) : 15135000, 15135000
.   : milestone, 15135000,
appsec (15.01 s) : 15010000, 15010000
.   : milestone, 15010000,
iast (18.554 s) : 18554000, 18554000
.   : milestone, 18554000,
iast_GLOBAL (17.925 s) : 17925000, 17925000
.   : milestone, 17925000,
profiling (14.85 s) : 14850000, 14850000
.   : milestone, 14850000,
tracing (14.823 s) : 14823000, 14823000
.   : milestone, 14823000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.967 s [14.967 s, 14.967 s] -
appsec 14.81 s [14.81 s, 14.81 s] -157.0 ms (-1.0%)
iast 18.1 s [18.1 s, 18.1 s] 3.133 s (20.9%)
iast_GLOBAL 18.08 s [18.08 s, 18.08 s] 3.113 s (20.8%)
profiling 15.578 s [15.578 s, 15.578 s] 611.0 ms (4.1%)
tracing 14.76 s [14.76 s, 14.76 s] -207.0 ms (-1.4%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.135 s [15.135 s, 15.135 s] -
appsec 15.01 s [15.01 s, 15.01 s] -125.0 ms (-0.8%)
iast 18.554 s [18.554 s, 18.554 s] 3.419 s (22.6%)
iast_GLOBAL 17.925 s [17.925 s, 17.925 s] 2.79 s (18.4%)
profiling 14.85 s [14.85 s, 14.85 s] -285.0 ms (-1.9%)
tracing 14.823 s [14.823 s, 14.823 s] -312.0 ms (-2.1%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.55.0-SNAPSHOT~3853fb5380, baseline=1.56.0-SNAPSHOT~f132c86c16
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.487 ms) : 1475, 1499
.   : milestone, 1487,
appsec (3.72 ms) : 3501, 3940
.   : milestone, 3720,
iast (2.223 ms) : 2159, 2286
.   : milestone, 2223,
iast_GLOBAL (2.266 ms) : 2202, 2330
.   : milestone, 2266,
profiling (2.069 ms) : 2017, 2120
.   : milestone, 2069,
tracing (2.031 ms) : 1982, 2081
.   : milestone, 2031,
section candidate
no_agent (1.486 ms) : 1475, 1498
.   : milestone, 1486,
appsec (3.727 ms) : 3507, 3947
.   : milestone, 3727,
iast (2.221 ms) : 2157, 2285
.   : milestone, 2221,
iast_GLOBAL (2.266 ms) : 2203, 2330
.   : milestone, 2266,
profiling (2.076 ms) : 2025, 2128
.   : milestone, 2076,
tracing (2.032 ms) : 1983, 2082
.   : milestone, 2032,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.487 ms [1.475 ms, 1.499 ms] -
appsec 3.72 ms [3.501 ms, 3.94 ms] 2.233 ms (150.2%)
iast 2.223 ms [2.159 ms, 2.286 ms] 735.495 µs (49.5%)
iast_GLOBAL 2.266 ms [2.202 ms, 2.33 ms] 779.003 µs (52.4%)
profiling 2.069 ms [2.017 ms, 2.12 ms] 581.359 µs (39.1%)
tracing 2.031 ms [1.982 ms, 2.081 ms] 544.334 µs (36.6%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.486 ms [1.475 ms, 1.498 ms] -
appsec 3.727 ms [3.507 ms, 3.947 ms] 2.241 ms (150.8%)
iast 2.221 ms [2.157 ms, 2.285 ms] 735.038 µs (49.5%)
iast_GLOBAL 2.266 ms [2.203 ms, 2.33 ms] 780.114 µs (52.5%)
profiling 2.076 ms [2.025 ms, 2.128 ms] 589.917 µs (39.7%)
tracing 2.032 ms [1.983 ms, 2.082 ms] 546.141 µs (36.7%)

@ojproductions ojproductions requested a review from mhlidd October 30, 2025 20:31
@ojproductions ojproductions marked this pull request as ready for review October 30, 2025 20:31
@ojproductions ojproductions requested a review from a team as a code owner October 30, 2025 20:31
@github-actions
Copy link
Contributor

github-actions bot commented Oct 30, 2025

Hi! 👋 Thanks for your pull request! 🎉

To help us review it, please make sure to:

  • Add at least one type, and one component or instrumentation label to the pull request

If you need help, please check our contributing guidelines.

Copy link
Contributor

@mhlidd mhlidd left a comment

Choose a reason for hiding this comment

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

General Question: If the config is set to a non-JSON-path value, or not "all", should the feature be turned off in the Config class?

@ojproductions ojproductions added type: enhancement Enhancements and improvements comp: config labels Oct 31, 2025
@ojproductions
Copy link
Author

ojproductions commented Oct 31, 2025

@mhlidd, if we are to take the official documentation literally, the only time payload tagging is disabled is when the variables are empty or omitted. I do see how this could be misleading though because you can effectively turn on payload tagging by adding any value even if it is not "all". How I see it though, the paths are subtractive rather than additive. Meaning, default is to show every field, and for every valid path added, we show 1 less field. If the path is invalid its ignored

@mhlidd
Copy link
Contributor

mhlidd commented Oct 31, 2025

I do see how this could be misleading though because you can effectively turn on payload tagging by adding any value even if it is not "all".

Just want to make sure that this is aligned with the spec. From the spec, I see the following:

Therefore, in an ideal case, the feature should only be turned on when the value in the envs is “all” or a comma-separated list of JSONPath queries. Meaning, we can just set the envs to false or empty to turn off the feature.

This seems a little contradictory to the behavior we see in the tracer. While the redaction behavior would not be turned on unless the JSON paths passed in are valid, the configs are still when adding AWS span tags at some point. ❓ Does the RFC spec mean that we want the span tag behavior to also be disabled when non-valid JSON paths are set for the environment variables. If so, we may need to modify the logic of verifying the logic of handling the Environment Variable values.

@ojproductions
Copy link
Author

ojproductions commented Oct 31, 2025

I think this comes down to which source of truth we want to honor – the spec or the public documentation on datadog website. I believe @joeyzhao2018 (author of the spec) also decided to follow the public doc (but correct me if I'm wrong Joey. Either way we should update the spec accordingly)
Another consideration would be feature-parity across languages. I wouldn't want to introduce functionality thats different from say Python or Javascript. Currently I'm assuming they follow the public doc but I'll confirm on Monday

@joeyzhao2018
Copy link
Contributor

@ojproductions To clarify. The public documentation specified clearly on three types of values, i.e. JSON PATH, "all" and empty( or double quotes ""). It did NOT clearly state the expected behavior of any other values such as "false" "off". IMHO, treating those values as ON and tell the customers that our doc only mentioned "" as the official accepted value is not ideal. Therefore I still think it should be off.
Also, this feature itself is an opt-in feature instead of opt-out. So one can argue that all other values didn't mentioned in the doc should be treated as default, which is off in opt-in cases.

@ojproductions ojproductions requested a review from mhlidd November 7, 2025 21:23
@ojproductions ojproductions changed the title check for empty env when setting cloud payload tagging fix aws request/response payload tagging Nov 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: config type: enhancement Enhancements and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants