Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Stable Config parsing: Treat empty environment variable or process argument values as empty string #8759

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 19 commits into
base: master
Choose a base branch
from

Conversation

mtoffl01
Copy link
Contributor

@mtoffl01 mtoffl01 commented May 2, 2025

What Does This Do

Modifies stable config file parsing logic to return "" instead of "UNDEFINED".

Motivation

While "UNDEFINED" may have been meaningful or helpful for string-based configuration values, it doesn't make sense for non-string configurations. Non-string values can't transform "UNDEFINED", so they fall back to their defaults anyway. This change simplifies the behavior by returning an empty string ("") and logging a debug message to indicate what's happening.

In an environment where DD_ENV is not set....

  • DD_SERVICE: {{environment_variables: ['DD_ENV']}} resolves to DD_SERVICE: "". As a result, the default service name is used
  • DD_SERVICE: prefix-{{environment_variables: ['DD_ENV']}}-suffix resolves to DD_SERVICE: "prefix--suffix". As a result, "prefix--suffix" is the service name
  • DD_PROFILING_ENABLED: {{environment_variables: ['DD_ENV']}} resolves to DD_PROFILING_ENABLED: "". As a result, the default setting (false) is used

Additional Notes

Contributor Checklist

Jira ticket: [PROJ-IDENT]

@pr-commenter
Copy link

pr-commenter bot commented May 2, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mtoff/scfg_fix_2
git_commit_date 1746535002 1746543034
git_commit_sha 5bfab65 5b46087
release_version 1.49.0-SNAPSHOT~5bfab6549b 1.50.0-SNAPSHOT~5b46087469
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1746546348 1746546348
ci_job_id 925915477 925915477
ci_pipeline_id 64265416 64265416
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-mxzd64wf-project-304-concurrent-0-1x87dtkz 6.8.0-1027-aws #29~22.04.1-Ubuntu SMP Sun Mar 30 07:45:38 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-mxzd64wf-project-304-concurrent-0-1x87dtkz 6.8.0-1027-aws #29~22.04.1-Ubuntu SMP Sun Mar 30 07:45:38 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None
variant iast iast

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 62 metrics, 9 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.50.0-SNAPSHOT~5b46087469, baseline=1.49.0-SNAPSHOT~5bfab6549b

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.022 s) : 0, 1022371
Total [baseline] (8.668 s) : 0, 8667951
Agent [candidate] (1.005 s) : 0, 1005241
Total [candidate] (8.617 s) : 0, 8616808
section iast
Agent [baseline] (1.144 s) : 0, 1144031
Total [baseline] (9.196 s) : 0, 9195951
Agent [candidate] (1.145 s) : 0, 1145401
Total [candidate] (9.261 s) : 0, 9261082
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.146 s) : 0, 1146320
Total [baseline] (9.197 s) : 0, 9196518
Agent [candidate] (1.14 s) : 0, 1139512
Total [candidate] (9.19 s) : 0, 9190345
section iast_TELEMETRY_OFF
Agent [baseline] (1.142 s) : 0, 1142307
Total [baseline] (9.248 s) : 0, 9248054
Agent [candidate] (1.137 s) : 0, 1136548
Total [candidate] (9.217 s) : 0, 9216556
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.022 s -
Agent iast 1.144 s 121.66 ms (11.9%)
Agent iast_HARDCODED_SECRET_DISABLED 1.146 s 123.949 ms (12.1%)
Agent iast_TELEMETRY_OFF 1.142 s 119.935 ms (11.7%)
Total tracing 8.668 s -
Total iast 9.196 s 528.0 ms (6.1%)
Total iast_HARDCODED_SECRET_DISABLED 9.197 s 528.567 ms (6.1%)
Total iast_TELEMETRY_OFF 9.248 s 580.103 ms (6.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.005 s -
Agent iast 1.145 s 140.161 ms (13.9%)
Agent iast_HARDCODED_SECRET_DISABLED 1.14 s 134.272 ms (13.4%)
Agent iast_TELEMETRY_OFF 1.137 s 131.307 ms (13.1%)
Total tracing 8.617 s -
Total iast 9.261 s 644.274 ms (7.5%)
Total iast_HARDCODED_SECRET_DISABLED 9.19 s 573.537 ms (6.7%)
Total iast_TELEMETRY_OFF 9.217 s 599.747 ms (7.0%)
gantt
    title insecure-bank - break down per module: candidate=1.50.0-SNAPSHOT~5b46087469, baseline=1.49.0-SNAPSHOT~5bfab6549b

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (681.282 ms) : 0, 681282
BytebuddyAgent [candidate] (669.956 ms) : 0, 669956
GlobalTracer [baseline] (243.476 ms) : 0, 243476
GlobalTracer [candidate] (239.649 ms) : 0, 239649
AppSec [baseline] (55.416 ms) : 0, 55416
AppSec [candidate] (54.603 ms) : 0, 54603
Debugger [baseline] (7.045 ms) : 0, 7045
Debugger [candidate] (6.212 ms) : 0, 6212
Remote Config [baseline] (722.812 µs) : 0, 723
Remote Config [candidate] (726.037 µs) : 0, 726
Telemetry [baseline] (10.704 ms) : 0, 10704
Telemetry [candidate] (10.733 ms) : 0, 10733
section iast
BytebuddyAgent [baseline] (795.585 ms) : 0, 795585
BytebuddyAgent [candidate] (795.825 ms) : 0, 795825
GlobalTracer [baseline] (231.287 ms) : 0, 231287
GlobalTracer [candidate] (232.17 ms) : 0, 232170
IAST [baseline] (22.804 ms) : 0, 22804
IAST [candidate] (22.913 ms) : 0, 22913
AppSec [baseline] (56.494 ms) : 0, 56494
AppSec [candidate] (56.517 ms) : 0, 56517
Debugger [baseline] (5.92 ms) : 0, 5920
Debugger [candidate] (5.931 ms) : 0, 5931
Remote Config [baseline] (601.383 µs) : 0, 601
Remote Config [candidate] (595.91 µs) : 0, 596
Telemetry [baseline] (7.869 ms) : 0, 7869
Telemetry [candidate] (7.916 ms) : 0, 7916
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (797.139 ms) : 0, 797139
BytebuddyAgent [candidate] (791.748 ms) : 0, 791748
GlobalTracer [baseline] (231.872 ms) : 0, 231872
GlobalTracer [candidate] (230.857 ms) : 0, 230857
IAST [baseline] (23.726 ms) : 0, 23726
IAST [candidate] (22.912 ms) : 0, 22912
AppSec [baseline] (55.655 ms) : 0, 55655
AppSec [candidate] (56.125 ms) : 0, 56125
Debugger [baseline] (5.891 ms) : 0, 5891
Debugger [candidate] (5.919 ms) : 0, 5919
Remote Config [baseline] (597.317 µs) : 0, 597
Remote Config [candidate] (590.432 µs) : 0, 590
Telemetry [baseline] (7.925 ms) : 0, 7925
Telemetry [candidate] (7.879 ms) : 0, 7879
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (793.903 ms) : 0, 793903
BytebuddyAgent [candidate] (788.352 ms) : 0, 788352
GlobalTracer [baseline] (231.19 ms) : 0, 231190
GlobalTracer [candidate] (231.424 ms) : 0, 231424
IAST [baseline] (22.529 ms) : 0, 22529
IAST [candidate] (22.312 ms) : 0, 22312
AppSec [baseline] (56.716 ms) : 0, 56716
AppSec [candidate] (56.629 ms) : 0, 56629
Debugger [baseline] (5.935 ms) : 0, 5935
Debugger [candidate] (5.943 ms) : 0, 5943
Remote Config [baseline] (626.719 µs) : 0, 627
Remote Config [candidate] (597.283 µs) : 0, 597
Telemetry [baseline] (7.846 ms) : 0, 7846
Telemetry [candidate] (7.774 ms) : 0, 7774
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.50.0-SNAPSHOT~5b46087469, baseline=1.49.0-SNAPSHOT~5bfab6549b

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.01 s) : 0, 1010004
Total [baseline] (10.509 s) : 0, 10508698
Agent [candidate] (1.011 s) : 0, 1011370
Total [candidate] (10.486 s) : 0, 10485808
section appsec
Agent [baseline] (1.154 s) : 0, 1154120
Total [baseline] (10.692 s) : 0, 10692182
Agent [candidate] (1.15 s) : 0, 1150370
Total [candidate] (10.696 s) : 0, 10695847
section iast
Agent [baseline] (1.149 s) : 0, 1148812
Total [baseline] (10.934 s) : 0, 10934247
Agent [candidate] (1.149 s) : 0, 1149498
Total [candidate] (10.961 s) : 0, 10960837
section profiling
Agent [baseline] (1.26 s) : 0, 1259797
Total [baseline] (10.826 s) : 0, 10826329
Agent [candidate] (1.259 s) : 0, 1259038
Total [candidate] (10.797 s) : 0, 10797289
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.01 s -
Agent appsec 1.154 s 144.115 ms (14.3%)
Agent iast 1.149 s 138.807 ms (13.7%)
Agent profiling 1.26 s 249.793 ms (24.7%)
Total tracing 10.509 s -
Total appsec 10.692 s 183.484 ms (1.7%)
Total iast 10.934 s 425.549 ms (4.0%)
Total profiling 10.826 s 317.631 ms (3.0%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.011 s -
Agent appsec 1.15 s 139.0 ms (13.7%)
Agent iast 1.149 s 138.128 ms (13.7%)
Agent profiling 1.259 s 247.668 ms (24.5%)
Total tracing 10.486 s -
Total appsec 10.696 s 210.039 ms (2.0%)
Total iast 10.961 s 475.029 ms (4.5%)
Total profiling 10.797 s 311.48 ms (3.0%)
gantt
    title petclinic - break down per module: candidate=1.50.0-SNAPSHOT~5b46087469, baseline=1.49.0-SNAPSHOT~5bfab6549b

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (672.348 ms) : 0, 672348
BytebuddyAgent [candidate] (672.837 ms) : 0, 672837
GlobalTracer [baseline] (239.647 ms) : 0, 239647
GlobalTracer [candidate] (240.629 ms) : 0, 240629
AppSec [baseline] (54.839 ms) : 0, 54839
AppSec [candidate] (54.752 ms) : 0, 54752
Debugger [baseline] (6.165 ms) : 0, 6165
Debugger [candidate] (6.9 ms) : 0, 6900
Remote Config [baseline] (703.76 µs) : 0, 704
Remote Config [candidate] (697.169 µs) : 0, 697
Telemetry [baseline] (12.776 ms) : 0, 12776
Telemetry [candidate] (12.045 ms) : 0, 12045
section appsec
BytebuddyAgent [baseline] (691.94 ms) : 0, 691940
BytebuddyAgent [candidate] (689.357 ms) : 0, 689357
GlobalTracer [baseline] (237.575 ms) : 0, 237575
GlobalTracer [candidate] (236.987 ms) : 0, 236987
IAST [baseline] (21.861 ms) : 0, 21861
IAST [candidate] (21.838 ms) : 0, 21838
AppSec [baseline] (176.179 ms) : 0, 176179
AppSec [candidate] (175.422 ms) : 0, 175422
Debugger [baseline] (5.879 ms) : 0, 5879
Debugger [candidate] (5.871 ms) : 0, 5871
Remote Config [baseline] (640.452 µs) : 0, 640
Remote Config [candidate] (632.733 µs) : 0, 633
Telemetry [baseline] (7.438 ms) : 0, 7438
Telemetry [candidate] (7.751 ms) : 0, 7751
section iast
BytebuddyAgent [baseline] (797.888 ms) : 0, 797888
BytebuddyAgent [candidate] (798.572 ms) : 0, 798572
GlobalTracer [baseline] (232.652 ms) : 0, 232652
GlobalTracer [candidate] (232.935 ms) : 0, 232935
IAST [baseline] (22.926 ms) : 0, 22926
IAST [candidate] (23.018 ms) : 0, 23018
AppSec [baseline] (57.121 ms) : 0, 57121
AppSec [candidate] (56.918 ms) : 0, 56918
Debugger [baseline] (5.991 ms) : 0, 5991
Debugger [candidate] (5.921 ms) : 0, 5921
Remote Config [baseline] (611.507 µs) : 0, 612
Remote Config [candidate] (599.509 µs) : 0, 600
Telemetry [baseline] (8.053 ms) : 0, 8053
Telemetry [candidate] (7.947 ms) : 0, 7947
section profiling
BytebuddyAgent [baseline] (663.504 ms) : 0, 663504
BytebuddyAgent [candidate] (662.608 ms) : 0, 662608
GlobalTracer [baseline] (379.431 ms) : 0, 379431
GlobalTracer [candidate] (380.924 ms) : 0, 380924
AppSec [baseline] (54.983 ms) : 0, 54983
AppSec [candidate] (53.766 ms) : 0, 53766
Debugger [baseline] (6.079 ms) : 0, 6079
Debugger [candidate] (6.19 ms) : 0, 6190
Remote Config [baseline] (646.328 µs) : 0, 646
Remote Config [candidate] (661.857 µs) : 0, 662
Telemetry [baseline] (8.079 ms) : 0, 8079
Telemetry [candidate] (8.192 ms) : 0, 8192
ProfilingAgent [baseline] (96.897 ms) : 0, 96897
ProfilingAgent [candidate] (96.523 ms) : 0, 96523
Profiling [baseline] (96.921 ms) : 0, 96921
Profiling [candidate] (96.548 ms) : 0, 96548
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-05-06T15:16:10 2025-05-06T15:23:53
git_branch master mtoff/scfg_fix_2
git_commit_date 1746535002 1746543034
git_commit_sha 5bfab65 5b46087
release_version 1.49.0-SNAPSHOT~5bfab6549b 1.50.0-SNAPSHOT~5b46087469
start_time 2025-05-06T15:15:55 2025-05-06T15:23:39
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1746545431 1746545431
ci_job_id 925915478 925915478
ci_pipeline_id 64265416 64265416
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-dhdkofs9-project-304-concurrent-0-vdsijv33 6.8.0-1027-aws #29~22.04.1-Ubuntu SMP Sun Mar 30 07:45:38 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-dhdkofs9-project-304-concurrent-0-vdsijv33 6.8.0-1027-aws #29~22.04.1-Ubuntu SMP Sun Mar 30 07:45:38 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
variant iast iast

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 19 unstable metrics.

Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.50.0-SNAPSHOT~5b46087469, baseline=1.49.0-SNAPSHOT~5bfab6549b
    dateFormat X
    axisFormat %s
section baseline
no_agent (386.561 µs) : 366, 407
.   : milestone, 387,
iast (520.869 µs) : 498, 544
.   : milestone, 521,
iast_FULL (734.208 µs) : 711, 757
.   : milestone, 734,
iast_GLOBAL (570.554 µs) : 547, 594
.   : milestone, 571,
iast_HARDCODED_SECRET_DISABLED (512.53 µs) : 490, 535
.   : milestone, 513,
iast_INACTIVE (462.629 µs) : 441, 485
.   : milestone, 463,
iast_TELEMETRY_OFF (504.758 µs) : 482, 528
.   : milestone, 505,
tracing (458.797 µs) : 437, 481
.   : milestone, 459,
section candidate
no_agent (382.417 µs) : 361, 404
.   : milestone, 382,
iast (518.728 µs) : 496, 542
.   : milestone, 519,
iast_FULL (729.556 µs) : 706, 753
.   : milestone, 730,
iast_GLOBAL (564.695 µs) : 542, 588
.   : milestone, 565,
iast_HARDCODED_SECRET_DISABLED (527.917 µs) : 505, 551
.   : milestone, 528,
iast_INACTIVE (469.175 µs) : 447, 492
.   : milestone, 469,
iast_TELEMETRY_OFF (505.231 µs) : 481, 530
.   : milestone, 505,
tracing (457.592 µs) : 435, 480
.   : milestone, 458,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 386.561 µs [366.31 µs, 406.812 µs] -
iast 520.869 µs [497.972 µs, 543.767 µs] 134.308 µs (34.7%)
iast_FULL 734.208 µs [710.935 µs, 757.481 µs] 347.647 µs (89.9%)
iast_GLOBAL 570.554 µs [546.928 µs, 594.18 µs] 183.993 µs (47.6%)
iast_HARDCODED_SECRET_DISABLED 512.53 µs [489.846 µs, 535.214 µs] 125.969 µs (32.6%)
iast_INACTIVE 462.629 µs [440.508 µs, 484.75 µs] 76.068 µs (19.7%)
iast_TELEMETRY_OFF 504.758 µs [481.64 µs, 527.876 µs] 118.197 µs (30.6%)
tracing 458.797 µs [436.516 µs, 481.078 µs] 72.236 µs (18.7%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 382.417 µs [361.09 µs, 403.743 µs] -
iast 518.728 µs [495.719 µs, 541.737 µs] 136.312 µs (35.6%)
iast_FULL 729.556 µs [706.018 µs, 753.095 µs] 347.14 µs (90.8%)
iast_GLOBAL 564.695 µs [541.517 µs, 587.872 µs] 182.278 µs (47.7%)
iast_HARDCODED_SECRET_DISABLED 527.917 µs [505.101 µs, 550.734 µs] 145.501 µs (38.0%)
iast_INACTIVE 469.175 µs [446.637 µs, 491.712 µs] 86.758 µs (22.7%)
iast_TELEMETRY_OFF 505.231 µs [480.841 µs, 529.621 µs] 122.814 µs (32.1%)
tracing 457.592 µs [435.394 µs, 479.789 µs] 75.175 µs (19.7%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.50.0-SNAPSHOT~5b46087469, baseline=1.49.0-SNAPSHOT~5bfab6549b
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.355 ms) : 1337, 1374
.   : milestone, 1355,
appsec (1.728 ms) : 1705, 1752
.   : milestone, 1728,
appsec_no_iast (1.71 ms) : 1684, 1735
.   : milestone, 1710,
code_origins (1.672 ms) : 1645, 1698
.   : milestone, 1672,
iast (1.519 ms) : 1495, 1543
.   : milestone, 1519,
profiling (1.585 ms) : 1560, 1611
.   : milestone, 1585,
tracing (1.481 ms) : 1456, 1505
.   : milestone, 1481,
section candidate
no_agent (1.34 ms) : 1321, 1360
.   : milestone, 1340,
appsec (1.708 ms) : 1684, 1732
.   : milestone, 1708,
appsec_no_iast (1.718 ms) : 1694, 1742
.   : milestone, 1718,
code_origins (1.677 ms) : 1650, 1704
.   : milestone, 1677,
iast (1.511 ms) : 1486, 1536
.   : milestone, 1511,
profiling (1.546 ms) : 1522, 1570
.   : milestone, 1546,
tracing (1.497 ms) : 1472, 1522
.   : milestone, 1497,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.355 ms [1.337 ms, 1.374 ms] -
appsec 1.728 ms [1.705 ms, 1.752 ms] 372.756 µs (27.5%)
appsec_no_iast 1.71 ms [1.684 ms, 1.735 ms] 354.317 µs (26.1%)
code_origins 1.672 ms [1.645 ms, 1.698 ms] 316.309 µs (23.3%)
iast 1.519 ms [1.495 ms, 1.543 ms] 163.512 µs (12.1%)
profiling 1.585 ms [1.56 ms, 1.611 ms] 229.973 µs (17.0%)
tracing 1.481 ms [1.456 ms, 1.505 ms] 125.264 µs (9.2%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.34 ms [1.321 ms, 1.36 ms] -
appsec 1.708 ms [1.684 ms, 1.732 ms] 367.345 µs (27.4%)
appsec_no_iast 1.718 ms [1.694 ms, 1.742 ms] 377.806 µs (28.2%)
code_origins 1.677 ms [1.65 ms, 1.704 ms] 336.572 µs (25.1%)
iast 1.511 ms [1.486 ms, 1.536 ms] 170.284 µs (12.7%)
profiling 1.546 ms [1.522 ms, 1.57 ms] 205.801 µs (15.4%)
tracing 1.497 ms [1.472 ms, 1.522 ms] 156.424 µs (11.7%)

Dacapo

@mtoffl01 mtoffl01 marked this pull request as ready for review May 6, 2025 17:02
@mtoffl01 mtoffl01 requested a review from a team as a code owner May 6, 2025 17:02
@mtoffl01 mtoffl01 requested a review from ygree May 6, 2025 17:02
Copy link
Contributor

github-actions bot commented May 6, 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants