Skip to content

Set concrete types for the response instrumentation#5714

Merged
manuel-alvarez-alvarez merged 1 commit into
masterfrom
malvarez/fix-servlet-response-inst
Aug 14, 2023
Merged

Set concrete types for the response instrumentation#5714
manuel-alvarez-alvarez merged 1 commit into
masterfrom
malvarez/fix-servlet-response-inst

Conversation

@manuel-alvarez-alvarez

@manuel-alvarez-alvarez manuel-alvarez-alvarez commented Aug 13, 2023

Copy link
Copy Markdown
Member

What Does This Do

Adds concrete types for the response instrumentation methods

Motivation

Instrumentation errors lead to logged exceptions in Undertow and Jetty.

Additional Notes

@manuel-alvarez-alvarez manuel-alvarez-alvarez added type: bug fix Bug fix comp: asm iast Application Security Management (IAST) labels Aug 13, 2023
@manuel-alvarez-alvarez
manuel-alvarez-alvarez requested a review from a team as a code owner August 13, 2023 09:57
@pr-commenter

This comment has been minimized.

@manuel-alvarez-alvarez
manuel-alvarez-alvarez force-pushed the malvarez/fix-servlet-response-inst branch from 1a735b8 to 60353d3 Compare August 13, 2023 11:18
@pr-commenter

pr-commenter Bot commented Aug 13, 2023

Copy link
Copy Markdown

Benchmarks

Startup

Parameters

Baseline Candidate
commit 1.20.0-SNAPSHOT~bef97ad186 1.20.0-SNAPSHOT~60353d311f
config baseline candidate
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
module Agent Agent
parent None None
variant appsec appsec

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 62 cases.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.20.0-SNAPSHOT~60353d311f, baseline=1.20.0-SNAPSHOT~bef97ad186

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (991.477 ms) : 0, 991477
Total [baseline] (8.682 s) : 0, 8681754
Agent [candidate] (986.684 ms) : 0, 986684
Total [candidate] (8.642 s) : 0, 8642476
section appsec
Agent [baseline] (1.076 s) : 0, 1075717
Total [baseline] (8.735 s) : 0, 8734943
Agent [candidate] (1.069 s) : 0, 1069438
Total [candidate] (8.68 s) : 0, 8679668
section iast
Agent [baseline] (1.108 s) : 0, 1108100
Total [baseline] (9.2 s) : 0, 9200012
Agent [candidate] (1.092 s) : 0, 1091926
Total [candidate] (9.199 s) : 0, 9198563
section profiling
Agent [baseline] (1.152 s) : 0, 1152084
Total [baseline] (8.871 s) : 0, 8870785
Agent [candidate] (1.155 s) : 0, 1155326
Total [candidate] (8.869 s) : 0, 8868956
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 991.477 ms -
Agent appsec 1.076 s 84.24 ms (8.5%)
Agent iast 1.108 s 116.623 ms (11.8%)
Agent profiling 1.152 s 160.607 ms (16.2%)
Total tracing 8.682 s -
Total appsec 8.735 s 53.189 ms (0.6%)
Total iast 9.2 s 518.258 ms (6.0%)
Total profiling 8.871 s 189.031 ms (2.2%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 986.684 ms -
Agent appsec 1.069 s 82.754 ms (8.4%)
Agent iast 1.092 s 105.242 ms (10.7%)
Agent profiling 1.155 s 168.642 ms (17.1%)
Total tracing 8.642 s -
Total appsec 8.68 s 37.192 ms (0.4%)
Total iast 9.199 s 556.087 ms (6.4%)
Total profiling 8.869 s 226.48 ms (2.6%)
gantt
    title insecure-bank - break down per module: candidate=1.20.0-SNAPSHOT~60353d311f, baseline=1.20.0-SNAPSHOT~bef97ad186

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (614.353 ms) : 0, 614353
BytebuddyAgent [candidate] (609.89 ms) : 0, 609890
GlobalTracer [baseline] (286.303 ms) : 0, 286303
GlobalTracer [candidate] (285.992 ms) : 0, 285992
AppSec [baseline] (50.118 ms) : 0, 50118
AppSec [candidate] (50.427 ms) : 0, 50427
Remote Config [baseline] (675.509 µs) : 0, 676
Remote Config [candidate] (662.052 µs) : 0, 662
Telemetry [baseline] (5.428 ms) : 0, 5428
Telemetry [candidate] (5.411 ms) : 0, 5411
section appsec
BytebuddyAgent [baseline] (614.195 ms) : 0, 614195
BytebuddyAgent [candidate] (609.873 ms) : 0, 609873
GlobalTracer [baseline] (286.035 ms) : 0, 286035
GlobalTracer [candidate] (284.196 ms) : 0, 284196
AppSec [baseline] (135.156 ms) : 0, 135156
AppSec [candidate] (135.348 ms) : 0, 135348
Remote Config [baseline] (727.795 µs) : 0, 728
Remote Config [candidate] (727.03 µs) : 0, 727
Telemetry [baseline] (5.18 ms) : 0, 5180
Telemetry [candidate] (5.124 ms) : 0, 5124
section iast
BytebuddyAgent [baseline] (728.869 ms) : 0, 728869
BytebuddyAgent [candidate] (717.29 ms) : 0, 717290
GlobalTracer [baseline] (275.691 ms) : 0, 275691
GlobalTracer [candidate] (272.699 ms) : 0, 272699
AppSec [baseline] (47.759 ms) : 0, 47759
AppSec [candidate] (47.168 ms) : 0, 47168
Remote Config [baseline] (665.755 µs) : 0, 666
Remote Config [candidate] (651.16 µs) : 0, 651
Telemetry [baseline] (5.641 ms) : 0, 5641
Telemetry [candidate] (5.519 ms) : 0, 5519
IAST [baseline] (14.378 ms) : 0, 14378
IAST [candidate] (14.114 ms) : 0, 14114
section profiling
BytebuddyAgent [baseline] (622.029 ms) : 0, 622029
BytebuddyAgent [candidate] (622.198 ms) : 0, 622198
GlobalTracer [baseline] (347.759 ms) : 0, 347759
GlobalTracer [candidate] (349.032 ms) : 0, 349032
AppSec [baseline] (48.913 ms) : 0, 48913
AppSec [candidate] (49.291 ms) : 0, 49291
Remote Config [baseline] (653.24 µs) : 0, 653
Remote Config [candidate] (646.078 µs) : 0, 646
Telemetry [baseline] (5.337 ms) : 0, 5337
Telemetry [candidate] (5.314 ms) : 0, 5314
ProfilingAgent [baseline] (74.602 ms) : 0, 74602
ProfilingAgent [candidate] (76.067 ms) : 0, 76067
Profiling [baseline] (74.626 ms) : 0, 74626
Profiling [candidate] (76.091 ms) : 0, 76091
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.20.0-SNAPSHOT~60353d311f, baseline=1.20.0-SNAPSHOT~bef97ad186

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (982.666 ms) : 0, 982666
Total [baseline] (9.155 s) : 0, 9155137
Agent [candidate] (994.824 ms) : 0, 994824
Total [candidate] (9.165 s) : 0, 9165381
section appsec
Agent [baseline] (1.069 s) : 0, 1069362
Total [baseline] (9.231 s) : 0, 9231424
Agent [candidate] (1.076 s) : 0, 1076336
Total [candidate] (9.253 s) : 0, 9252503
section iast
Agent [baseline] (1.092 s) : 0, 1091657
Total [baseline] (9.439 s) : 0, 9439098
Agent [candidate] (1.088 s) : 0, 1088148
Total [candidate] (9.414 s) : 0, 9413873
section profiling
Agent [baseline] (1.154 s) : 0, 1153953
Total [baseline] (9.489 s) : 0, 9489490
Agent [candidate] (1.158 s) : 0, 1158294
Total [candidate] (9.466 s) : 0, 9465728
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 982.666 ms -
Agent appsec 1.069 s 86.696 ms (8.8%)
Agent iast 1.092 s 108.991 ms (11.1%)
Agent profiling 1.154 s 171.287 ms (17.4%)
Total tracing 9.155 s -
Total appsec 9.231 s 76.288 ms (0.8%)
Total iast 9.439 s 283.961 ms (3.1%)
Total profiling 9.489 s 334.354 ms (3.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 994.824 ms -
Agent appsec 1.076 s 81.512 ms (8.2%)
Agent iast 1.088 s 93.324 ms (9.4%)
Agent profiling 1.158 s 163.47 ms (16.4%)
Total tracing 9.165 s -
Total appsec 9.253 s 87.122 ms (1.0%)
Total iast 9.414 s 248.492 ms (2.7%)
Total profiling 9.466 s 300.347 ms (3.3%)
gantt
    title petclinic - break down per module: candidate=1.20.0-SNAPSHOT~60353d311f, baseline=1.20.0-SNAPSHOT~bef97ad186

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (608.942 ms) : 0, 608942
BytebuddyAgent [candidate] (616.291 ms) : 0, 616291
GlobalTracer [baseline] (283.405 ms) : 0, 283405
GlobalTracer [candidate] (287.732 ms) : 0, 287732
AppSec [baseline] (50.065 ms) : 0, 50065
AppSec [candidate] (50.039 ms) : 0, 50039
Remote Config [baseline] (663.534 µs) : 0, 664
Remote Config [candidate] (667.831 µs) : 0, 668
Telemetry [baseline] (5.394 ms) : 0, 5394
Telemetry [candidate] (5.469 ms) : 0, 5469
section appsec
BytebuddyAgent [baseline] (610.627 ms) : 0, 610627
BytebuddyAgent [candidate] (614.301 ms) : 0, 614301
GlobalTracer [baseline] (283.693 ms) : 0, 283693
GlobalTracer [candidate] (286.475 ms) : 0, 286475
AppSec [baseline] (134.924 ms) : 0, 134924
AppSec [candidate] (135.249 ms) : 0, 135249
Remote Config [baseline] (725.134 µs) : 0, 725
Remote Config [candidate] (719.239 µs) : 0, 719
Telemetry [baseline] (5.135 ms) : 0, 5135
Telemetry [candidate] (5.16 ms) : 0, 5160
section iast
BytebuddyAgent [baseline] (717.015 ms) : 0, 717015
BytebuddyAgent [candidate] (714.215 ms) : 0, 714215
GlobalTracer [baseline] (272.637 ms) : 0, 272637
GlobalTracer [candidate] (272.069 ms) : 0, 272069
AppSec [baseline] (47.565 ms) : 0, 47565
AppSec [candidate] (47.202 ms) : 0, 47202
Remote Config [baseline] (643.193 µs) : 0, 643
Remote Config [candidate] (654.588 µs) : 0, 655
Telemetry [baseline] (5.5 ms) : 0, 5500
Telemetry [candidate] (5.598 ms) : 0, 5598
IAST [baseline] (13.953 ms) : 0, 13953
IAST [candidate] (14.016 ms) : 0, 14016
section profiling
BytebuddyAgent [baseline] (622.704 ms) : 0, 622704
BytebuddyAgent [candidate] (622.706 ms) : 0, 622706
GlobalTracer [baseline] (348.694 ms) : 0, 348694
GlobalTracer [candidate] (349.522 ms) : 0, 349522
AppSec [baseline] (49.091 ms) : 0, 49091
AppSec [candidate] (49.325 ms) : 0, 49325
Remote Config [baseline] (643.108 µs) : 0, 643
Remote Config [candidate] (648.803 µs) : 0, 649
Telemetry [baseline] (5.336 ms) : 0, 5336
Telemetry [candidate] (5.372 ms) : 0, 5372
ProfilingAgent [baseline] (74.718 ms) : 0, 74718
ProfilingAgent [candidate] (77.885 ms) : 0, 77885
Profiling [baseline] (74.742 ms) : 0, 74742
Profiling [candidate] (77.91 ms) : 0, 77910
Loading

Load

Parameters

Baseline Candidate
commit 1.20.0-SNAPSHOT~bef97ad186 1.20.0-SNAPSHOT~60353d311f
config baseline candidate
end_time 2023-08-13T11:40:46 2023-08-13T11:58:48
start_time 2023-08-13T11:40:29 2023-08-13T11:58:31
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
variant appsec appsec

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 24 cases.

Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.20.0-SNAPSHOT~60353d311f, baseline=1.20.0-SNAPSHOT~bef97ad186
    dateFormat X
    axisFormat %s
section baseline
no_agent (366.013 µs) : 345, 387
.   : milestone, 366,
appsec (659.714 µs) : 638, 681
.   : milestone, 660,
iast (453.38 µs) : 432, 475
.   : milestone, 453,
iast_FULL (521.813 µs) : 501, 543
.   : milestone, 522,
iast_INACTIVE (424.946 µs) : 404, 446
.   : milestone, 425,
profiling (429.238 µs) : 408, 450
.   : milestone, 429,
tracing (430.251 µs) : 409, 451
.   : milestone, 430,
section candidate
no_agent (360.725 µs) : 340, 381
.   : milestone, 361,
appsec (654.986 µs) : 635, 675
.   : milestone, 655,
iast (451.025 µs) : 430, 472
.   : milestone, 451,
iast_FULL (518.453 µs) : 498, 539
.   : milestone, 518,
iast_INACTIVE (433.425 µs) : 413, 454
.   : milestone, 433,
profiling (430.425 µs) : 410, 451
.   : milestone, 430,
tracing (426.258 µs) : 406, 447
.   : milestone, 426,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 366.013 µs [345.391 µs, 386.635 µs] -
appsec 659.714 µs [638.191 µs, 681.237 µs] 293.701 µs (80.2%)
iast 453.38 µs [432.187 µs, 474.573 µs] 87.367 µs (23.9%)
iast_FULL 521.813 µs [501.082 µs, 542.544 µs] 155.8 µs (42.6%)
iast_INACTIVE 424.946 µs [404.285 µs, 445.607 µs] 58.933 µs (16.1%)
profiling 429.238 µs [408.357 µs, 450.118 µs] 63.225 µs (17.3%)
tracing 430.251 µs [409.039 µs, 451.464 µs] 64.238 µs (17.6%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 360.725 µs [340.424 µs, 381.026 µs] -
appsec 654.986 µs [634.932 µs, 675.04 µs] 294.261 µs (81.6%)
iast 451.025 µs [430.303 µs, 471.746 µs] 90.3 µs (25.0%)
iast_FULL 518.453 µs [497.759 µs, 539.148 µs] 157.729 µs (43.7%)
iast_INACTIVE 433.425 µs [412.58 µs, 454.27 µs] 72.7 µs (20.2%)
profiling 430.425 µs [410.001 µs, 450.848 µs] 69.7 µs (19.3%)
tracing 426.258 µs [405.926 µs, 446.59 µs] 65.533 µs (18.2%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.20.0-SNAPSHOT~60353d311f, baseline=1.20.0-SNAPSHOT~bef97ad186
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.329 ms) : 1310, 1349
.   : milestone, 1329,
appsec (1.645 ms) : 1620, 1669
.   : milestone, 1645,
iast (1.465 ms) : 1441, 1489
.   : milestone, 1465,
profiling (1.46 ms) : 1435, 1484
.   : milestone, 1460,
tracing (1.456 ms) : 1432, 1480
.   : milestone, 1456,
section candidate
no_agent (1.319 ms) : 1301, 1338
.   : milestone, 1319,
appsec (1.658 ms) : 1634, 1683
.   : milestone, 1658,
iast (1.445 ms) : 1421, 1469
.   : milestone, 1445,
profiling (1.482 ms) : 1455, 1508
.   : milestone, 1482,
tracing (1.423 ms) : 1399, 1447
.   : milestone, 1423,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.329 ms [1.31 ms, 1.349 ms] -
appsec 1.645 ms [1.62 ms, 1.669 ms] 315.244 µs (23.7%)
iast 1.465 ms [1.441 ms, 1.489 ms] 135.494 µs (10.2%)
profiling 1.46 ms [1.435 ms, 1.484 ms] 130.257 µs (9.8%)
tracing 1.456 ms [1.432 ms, 1.48 ms] 126.332 µs (9.5%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.319 ms [1.301 ms, 1.338 ms] -
appsec 1.658 ms [1.634 ms, 1.683 ms] 338.959 µs (25.7%)
iast 1.445 ms [1.421 ms, 1.469 ms] 125.603 µs (9.5%)
profiling 1.482 ms [1.455 ms, 1.508 ms] 162.397 µs (12.3%)
tracing 1.423 ms [1.399 ms, 1.447 ms] 103.801 µs (7.9%)

@smola
smola requested review from a team, DDJavierSantos and ValentinZakharov August 14, 2023 06:49
@manuel-alvarez-alvarez
manuel-alvarez-alvarez merged commit cc683ea into master Aug 14, 2023
@manuel-alvarez-alvarez
manuel-alvarez-alvarez deleted the malvarez/fix-servlet-response-inst branch August 14, 2023 08:45
@github-actions github-actions Bot added this to the 1.20.0 milestone Aug 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: asm iast Application Security Management (IAST) type: bug fix Bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants