Skip to content

Commit b1950af

Browse files
authored
chore(iast): improve microbenchmarks accuracy (#13160)
- remove `loops` and `value` config from appsec_iast_aspects/config.yaml and use the default values - split `appsec_iast_aspects` into smaller steps due to the default values returns timeout in the CI - Fix exception in `appsec_iast_propagation/scenario.py` ``` File "/app/benchmarks/.venv_baseline/lib/python3.9/site-packages/pyperf/_runner.py", line 494, in task_func return time_func(loops, *args) File "/app/benchmarks/bm/_scenario.py", line 64, in _pyperf run(loops) File "/app/benchmarks/scenario.py", line 99, in _ launch_function(self.iast_enabled, func, self.internal_loop, caller_loop) File "/app/benchmarks/scenario.py", line 81, in launch_function tainted_value = new_request(enable_propagation) File "/app/benchmarks/scenario.py", line 75, in new_request taint_pyobject_with_ranges(tainted, (CHECK_RANGES[0],)) File "/app/benchmarks/scenario.py", line 41, in taint_pyobject_with_ranges set_ranges(pyobject, tuple(ranges)) ValueError: iast::propagation::native::error::Tainted Map isn't initialized Traceback (most recent call last): ``` ## Checklist - [x] PR author has checked that all the criteria below are met - The PR description includes an overview of the change - The PR description articulates the motivation for the change - The change includes tests OR the PR description describes a testing strategy - The PR description notes risks associated with the change, if any - Newly-added code is easy to change - The change follows the [library release note guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html) - The change includes or references documentation updates if necessary - Backport labels are set (if [applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)) ## Reviewer Checklist - [x] Reviewer has checked that all the criteria below are met - Title is accurate - All changes are related to the pull request's stated goal - Avoids breaking [API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces) changes - Testing strategy adequately addresses listed risks - Newly-added code is easy to change - Release note makes sense to a user of the library - If necessary, author has acknowledged and discussed the performance implications of this PR as reported in the benchmarks PR comment - Backport labels are set in a manner that is consistent with the [release branch maintenance policy](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)
1 parent f807b8e commit b1950af

File tree

13 files changed

+1633
-329
lines changed

13 files changed

+1633
-329
lines changed

.gitlab/benchmarks/microbenchmarks.yml

+3
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,9 @@ microbenchmarks:
144144
- "core_api"
145145
- "otel_span"
146146
- "appsec_iast_aspects"
147+
- "appsec_iast_aspects_ospath"
148+
- "appsec_iast_aspects_re_module"
149+
- "appsec_iast_aspects_split"
147150
- "appsec_iast_django_startup"
148151
- "appsec_iast_propagation"
149152
# Flaky. Timeout errors

0 commit comments

Comments
 (0)