Skip to content

Fix ContextStore#putIfAbsent method to not use a lambda#6360

Merged
nikita-tkachenko-datadog merged 3 commits into
masterfrom
nikita-tkachenko/context-store-fix
Dec 15, 2023
Merged

Fix ContextStore#putIfAbsent method to not use a lambda#6360
nikita-tkachenko-datadog merged 3 commits into
masterfrom
nikita-tkachenko/context-store-fix

Conversation

@nikita-tkachenko-datadog

@nikita-tkachenko-datadog nikita-tkachenko-datadog commented Dec 13, 2023

Copy link
Copy Markdown
Contributor

What Does This Do

Fixes ContextStore#putIfAbsent implementations following a change introduced in PR#6332

Jira ticket: CIVIS-8243

@nikita-tkachenko-datadog nikita-tkachenko-datadog added comp: core Tracer core tag: no release notes Changes to exclude from release notes run-tests: all Run all tests labels Dec 13, 2023
@pr-commenter

pr-commenter Bot commented Dec 13, 2023

Copy link
Copy Markdown

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master nikita-tkachenko/context-store-fix
git_commit_date 1702564387 1702568922
git_commit_sha 24b4605 a820564
release_version 1.26.0-SNAPSHOT~24b4605d43 1.26.0-SNAPSHOT~a820564a6d
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1702571578 1702571578
ci_job_id 390016500 390016500
ci_pipeline_id 25098770 25098770
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
module Agent Agent
parent None None
variant iast iast

Summary

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

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.26.0-SNAPSHOT~a820564a6d, baseline=1.26.0-SNAPSHOT~24b4605d43

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.052 s) : 0, 1051916
Total [baseline] (9.37 s) : 0, 9369789
Agent [candidate] (1.048 s) : 0, 1048090
Total [candidate] (9.413 s) : 0, 9413225
section appsec
Agent [baseline] (1.15 s) : 0, 1149939
Total [baseline] (9.468 s) : 0, 9468249
Agent [candidate] (1.156 s) : 0, 1156258
Total [candidate] (9.572 s) : 0, 9572064
section iast
Agent [baseline] (1.174 s) : 0, 1174216
Total [baseline] (9.572 s) : 0, 9571656
Agent [candidate] (1.165 s) : 0, 1165444
Total [candidate] (9.534 s) : 0, 9533949
section profiling
Agent [baseline] (1.252 s) : 0, 1252097
Total [baseline] (9.751 s) : 0, 9751212
Agent [candidate] (1.246 s) : 0, 1246253
Total [candidate] (9.61 s) : 0, 9609724
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.052 s -
Agent appsec 1.15 s 98.023 ms (9.3%)
Agent iast 1.174 s 122.3 ms (11.6%)
Agent profiling 1.252 s 200.182 ms (19.0%)
Total tracing 9.37 s -
Total appsec 9.468 s 98.46 ms (1.1%)
Total iast 9.572 s 201.867 ms (2.2%)
Total profiling 9.751 s 381.423 ms (4.1%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.048 s -
Agent appsec 1.156 s 108.168 ms (10.3%)
Agent iast 1.165 s 117.354 ms (11.2%)
Agent profiling 1.246 s 198.163 ms (18.9%)
Total tracing 9.413 s -
Total appsec 9.572 s 158.839 ms (1.7%)
Total iast 9.534 s 120.724 ms (1.3%)
Total profiling 9.61 s 196.499 ms (2.1%)
gantt
    title petclinic - break down per module: candidate=1.26.0-SNAPSHOT~a820564a6d, baseline=1.26.0-SNAPSHOT~24b4605d43

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (650.662 ms) : 0, 650662
BytebuddyAgent [candidate] (647.657 ms) : 0, 647657
GlobalTracer [baseline] (307.673 ms) : 0, 307673
GlobalTracer [candidate] (307.086 ms) : 0, 307086
AppSec [baseline] (51.324 ms) : 0, 51324
AppSec [candidate] (51.24 ms) : 0, 51240
Remote Config [baseline] (668.11 µs) : 0, 668
Remote Config [candidate] (671.976 µs) : 0, 672
Telemetry [baseline] (7.206 ms) : 0, 7206
Telemetry [candidate] (7.235 ms) : 0, 7235
section appsec
BytebuddyAgent [baseline] (651.38 ms) : 0, 651380
BytebuddyAgent [candidate] (652.515 ms) : 0, 652515
GlobalTracer [baseline] (307.184 ms) : 0, 307184
GlobalTracer [candidate] (310.486 ms) : 0, 310486
AppSec [baseline] (149.249 ms) : 0, 149249
AppSec [candidate] (151.187 ms) : 0, 151187
Remote Config [baseline] (644.564 µs) : 0, 645
Remote Config [candidate] (658.605 µs) : 0, 659
Telemetry [baseline] (6.889 ms) : 0, 6889
Telemetry [candidate] (6.998 ms) : 0, 6998
section iast
BytebuddyAgent [baseline] (773.944 ms) : 0, 773944
BytebuddyAgent [candidate] (767.97 ms) : 0, 767970
GlobalTracer [baseline] (286.847 ms) : 0, 286847
GlobalTracer [candidate] (285.241 ms) : 0, 285241
AppSec [baseline] (49.505 ms) : 0, 49505
AppSec [candidate] (48.869 ms) : 0, 48869
Remote Config [baseline] (619.768 µs) : 0, 620
Remote Config [candidate] (616.648 µs) : 0, 617
Telemetry [baseline] (7.3 ms) : 0, 7300
Telemetry [candidate] (7.264 ms) : 0, 7264
IAST [baseline] (21.452 ms) : 0, 21452
IAST [candidate] (21.135 ms) : 0, 21135
section profiling
ProfilingAgent [baseline] (95.732 ms) : 0, 95732
ProfilingAgent [candidate] (93.782 ms) : 0, 93782
BytebuddyAgent [baseline] (662.249 ms) : 0, 662249
BytebuddyAgent [candidate] (660.386 ms) : 0, 660386
GlobalTracer [baseline] (379.65 ms) : 0, 379650
GlobalTracer [candidate] (377.759 ms) : 0, 377759
AppSec [baseline] (51.546 ms) : 0, 51546
AppSec [candidate] (51.671 ms) : 0, 51671
Remote Config [baseline] (685.671 µs) : 0, 686
Remote Config [candidate] (679.429 µs) : 0, 679
Telemetry [baseline] (7.543 ms) : 0, 7543
Telemetry [candidate] (7.513 ms) : 0, 7513
Profiling [baseline] (95.76 ms) : 0, 95760
Profiling [candidate] (93.809 ms) : 0, 93809
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.26.0-SNAPSHOT~a820564a6d, baseline=1.26.0-SNAPSHOT~24b4605d43

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.051 s) : 0, 1051276
Total [baseline] (8.702 s) : 0, 8701700
Agent [candidate] (1.048 s) : 0, 1047513
Total [candidate] (8.723 s) : 0, 8722965
section iast
Agent [baseline] (1.166 s) : 0, 1165943
Total [baseline] (9.297 s) : 0, 9297476
Agent [candidate] (1.174 s) : 0, 1173585
Total [candidate] (9.272 s) : 0, 9272286
section iast_TELEMETRY_OFF
Agent [baseline] (1.16 s) : 0, 1160185
Total [baseline] (9.264 s) : 0, 9264229
Agent [candidate] (1.157 s) : 0, 1157335
Total [candidate] (9.264 s) : 0, 9263657
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.051 s -
Agent iast 1.166 s 114.667 ms (10.9%)
Agent iast_TELEMETRY_OFF 1.16 s 108.909 ms (10.4%)
Total tracing 8.702 s -
Total iast 9.297 s 595.776 ms (6.8%)
Total iast_TELEMETRY_OFF 9.264 s 562.529 ms (6.5%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.048 s -
Agent iast 1.174 s 126.072 ms (12.0%)
Agent iast_TELEMETRY_OFF 1.157 s 109.822 ms (10.5%)
Total tracing 8.723 s -
Total iast 9.272 s 549.321 ms (6.3%)
Total iast_TELEMETRY_OFF 9.264 s 540.692 ms (6.2%)
gantt
    title insecure-bank - break down per module: candidate=1.26.0-SNAPSHOT~a820564a6d, baseline=1.26.0-SNAPSHOT~24b4605d43

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (651.435 ms) : 0, 651435
BytebuddyAgent [candidate] (647.608 ms) : 0, 647608
GlobalTracer [baseline] (306.359 ms) : 0, 306359
GlobalTracer [candidate] (306.487 ms) : 0, 306487
AppSec [baseline] (51.049 ms) : 0, 51049
AppSec [candidate] (51.442 ms) : 0, 51442
Remote Config [baseline] (685.216 µs) : 0, 685
Remote Config [candidate] (666.917 µs) : 0, 667
Telemetry [baseline] (7.181 ms) : 0, 7181
Telemetry [candidate] (7.109 ms) : 0, 7109
section iast
BytebuddyAgent [baseline] (767.519 ms) : 0, 767519
BytebuddyAgent [candidate] (772.975 ms) : 0, 772975
GlobalTracer [baseline] (286.448 ms) : 0, 286448
GlobalTracer [candidate] (287.231 ms) : 0, 287231
AppSec [baseline] (49.037 ms) : 0, 49037
AppSec [candidate] (49.316 ms) : 0, 49316
IAST [baseline] (21.45 ms) : 0, 21450
IAST [candidate] (21.523 ms) : 0, 21523
Remote Config [baseline] (616.384 µs) : 0, 616
Remote Config [candidate] (629.151 µs) : 0, 629
Telemetry [baseline] (6.527 ms) : 0, 6527
Telemetry [candidate] (7.326 ms) : 0, 7326
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (761.913 ms) : 0, 761913
BytebuddyAgent [candidate] (761.532 ms) : 0, 761532
GlobalTracer [baseline] (285.993 ms) : 0, 285993
GlobalTracer [candidate] (286.164 ms) : 0, 286164
AppSec [baseline] (49.208 ms) : 0, 49208
AppSec [candidate] (49.243 ms) : 0, 49243
IAST [baseline] (20.799 ms) : 0, 20799
IAST [candidate] (19.068 ms) : 0, 19068
Remote Config [baseline] (619.635 µs) : 0, 620
Remote Config [candidate] (621.708 µs) : 0, 622
Telemetry [baseline] (7.273 ms) : 0, 7273
Telemetry [candidate] (6.551 ms) : 0, 6551
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2023-12-14T16:12:08 2023-12-14T16:28:44
git_branch master nikita-tkachenko/context-store-fix
git_commit_date 1702564387 1702568922
git_commit_sha 24b4605 a820564
release_version 1.26.0-SNAPSHOT~24b4605d43 1.26.0-SNAPSHOT~a820564a6d
start_time 2023-12-14T16:11:55 2023-12-14T16:28:31
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1702571578 1702571578
ci_job_id 390016500 390016500
ci_pipeline_id 25098770 25098770
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
variant iast iast

Summary

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

Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.26.0-SNAPSHOT~a820564a6d, baseline=1.26.0-SNAPSHOT~24b4605d43
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.351 ms) : 1332, 1370
.   : milestone, 1351,
appsec (1.781 ms) : 1756, 1807
.   : milestone, 1781,
iast (1.516 ms) : 1492, 1541
.   : milestone, 1516,
profiling (1.535 ms) : 1511, 1560
.   : milestone, 1535,
tracing (1.506 ms) : 1481, 1531
.   : milestone, 1506,
section candidate
no_agent (1.357 ms) : 1338, 1376
.   : milestone, 1357,
appsec (1.75 ms) : 1725, 1775
.   : milestone, 1750,
iast (1.561 ms) : 1536, 1585
.   : milestone, 1561,
profiling (1.509 ms) : 1483, 1534
.   : milestone, 1509,
tracing (1.499 ms) : 1474, 1524
.   : milestone, 1499,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.351 ms [1.332 ms, 1.37 ms] -
appsec 1.781 ms [1.756 ms, 1.807 ms] 430.177 µs (31.8%)
iast 1.516 ms [1.492 ms, 1.541 ms] 164.918 µs (12.2%)
profiling 1.535 ms [1.511 ms, 1.56 ms] 184.179 µs (13.6%)
tracing 1.506 ms [1.481 ms, 1.531 ms] 154.914 µs (11.5%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.357 ms [1.338 ms, 1.376 ms] -
appsec 1.75 ms [1.725 ms, 1.775 ms] 393.087 µs (29.0%)
iast 1.561 ms [1.536 ms, 1.585 ms] 203.865 µs (15.0%)
profiling 1.509 ms [1.483 ms, 1.534 ms] 152.051 µs (11.2%)
tracing 1.499 ms [1.474 ms, 1.524 ms] 142.103 µs (10.5%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.26.0-SNAPSHOT~a820564a6d, baseline=1.26.0-SNAPSHOT~24b4605d43
    dateFormat X
    axisFormat %s
section baseline
no_agent (365.328 µs) : 346, 385
.   : milestone, 365,
iast (484.192 µs) : 463, 505
.   : milestone, 484,
iast_FULL (539.554 µs) : 519, 560
.   : milestone, 540,
iast_INACTIVE (455.478 µs) : 434, 477
.   : milestone, 455,
iast_TELEMETRY_OFF (481.648 µs) : 461, 502
.   : milestone, 482,
tracing (445.25 µs) : 424, 466
.   : milestone, 445,
section candidate
no_agent (371.624 µs) : 352, 392
.   : milestone, 372,
iast (470.076 µs) : 450, 491
.   : milestone, 470,
iast_FULL (543.688 µs) : 523, 564
.   : milestone, 544,
iast_INACTIVE (447.129 µs) : 427, 467
.   : milestone, 447,
iast_TELEMETRY_OFF (475.708 µs) : 454, 497
.   : milestone, 476,
tracing (441.225 µs) : 421, 462
.   : milestone, 441,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 365.328 µs [345.78 µs, 384.876 µs] -
iast 484.192 µs [463.414 µs, 504.971 µs] 118.864 µs (32.5%)
iast_FULL 539.554 µs [518.843 µs, 560.265 µs] 174.226 µs (47.7%)
iast_INACTIVE 455.478 µs [434.054 µs, 476.901 µs] 90.15 µs (24.7%)
iast_TELEMETRY_OFF 481.648 µs [460.963 µs, 502.334 µs] 116.32 µs (31.8%)
tracing 445.25 µs [424.373 µs, 466.126 µs] 79.922 µs (21.9%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 371.624 µs [351.729 µs, 391.52 µs] -
iast 470.076 µs [449.508 µs, 490.643 µs] 98.451 µs (26.5%)
iast_FULL 543.688 µs [523.102 µs, 564.274 µs] 172.064 µs (46.3%)
iast_INACTIVE 447.129 µs [426.829 µs, 467.429 µs] 75.505 µs (20.3%)
iast_TELEMETRY_OFF 475.708 µs [454.411 µs, 497.006 µs] 104.084 µs (28.0%)
tracing 441.225 µs [420.795 µs, 461.656 µs] 69.601 µs (18.7%)

@nikita-tkachenko-datadog
nikita-tkachenko-datadog marked this pull request as ready for review December 14, 2023 10:41
@nikita-tkachenko-datadog
nikita-tkachenko-datadog requested a review from a team as a code owner December 14, 2023 10:41
@nikita-tkachenko-datadog
nikita-tkachenko-datadog merged commit 7a1a4ca into master Dec 15, 2023
@nikita-tkachenko-datadog
nikita-tkachenko-datadog deleted the nikita-tkachenko/context-store-fix branch December 15, 2023 14:54
@github-actions github-actions Bot added this to the 1.26.0 milestone Dec 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: core Tracer core run-tests: all Run all tests tag: no release notes Changes to exclude from release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants