Skip to content

Enable user event tracking only when AppSec is enabled (#5756)#5765

Merged
smola merged 1 commit into
release/v1.19.xfrom
smola/5756-backport
Aug 23, 2023
Merged

Enable user event tracking only when AppSec is enabled (#5756)#5765
smola merged 1 commit into
release/v1.19.xfrom
smola/5756-backport

Conversation

@smola

@smola smola commented Aug 23, 2023

Copy link
Copy Markdown
Member

What Does This Do

Fixed activation for User Event Tracking.
Active only if AppSec is active with DD_APPSEC_ENABLED=true or via remote config.

Motivation

Customer reported an issue when User Event Tracking was working even with inactive AppSec.

Additional Notes

Backport of #5756

@smola smola added type: bug fix Bug fix comp: asm waf Application Security Management (WAF) labels Aug 23, 2023
@smola
smola requested a review from a team as a code owner August 23, 2023 12:49
@smola
smola requested review from a team, cataphract and ygree August 23, 2023 12:49
@pr-commenter

pr-commenter Bot commented Aug 23, 2023

Copy link
Copy Markdown

Benchmarks

Startup

Parameters

Baseline Candidate
commit 1.20.0-SNAPSHOT~118962aca3 1.20.0-SNAPSHOT~d6813eb2d1
config baseline candidate
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
module Agent Agent
parent None None
variant appsec appsec

Summary

Found 7 performance improvements and 2 performance regressions! Performance is the same for 53 cases.

scenario Δ mean execution_time candidate mean execution_time baseline mean execution_time
scenario:insecure-bank:appsec:Telemetry better
[-622.378µs; -547.522µs] or [-10.843%; -9.539%]
5.155ms 5.740ms
scenario:insecure-bank:iast:IAST better
[-1070.839µs; -453.094µs] or [-7.613%; -3.221%]
13.304ms 14.066ms
scenario:insecure-bank:iast:Remote Config worse
[+67.091µs; +99.848µs] or [+11.934%; +17.761%]
645.654µs 562.185µs
scenario:insecure-bank:profiling:Telemetry better
[-878.494µs; -568.863µs] or [-14.571%; -9.435%]
5.306ms 6.029ms
scenario:insecure-bank:tracing:Telemetry better
[-744.387µs; -462.254µs] or [-12.339%; -7.663%]
5.429ms 6.033ms
scenario:petclinic:appsec:Telemetry better
[-653.072µs; -581.302µs] or [-11.345%; -10.098%]
5.139ms 5.757ms
scenario:petclinic:iast:Remote Config worse
[+66.314µs; +122.590µs] or [+11.733%; +21.691%]
659.624µs 565.172µs
scenario:petclinic:profiling:Telemetry better
[-882.997µs; -515.406µs] or [-14.565%; -8.502%]
5.363ms 6.062ms
scenario:petclinic:tracing:Telemetry better
[-652.125µs; -488.431µs] or [-10.902%; -8.165%]
5.412ms 5.982ms
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.20.0-SNAPSHOT~d6813eb2d1, baseline=1.20.0-SNAPSHOT~118962aca3

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (989.688 ms) : 0, 989688
Total [baseline] (9.179 s) : 0, 9178616
Agent [candidate] (984.808 ms) : 0, 984808
Total [candidate] (9.15 s) : 0, 9150218
section appsec
Agent [baseline] (1.073 s) : 0, 1073210
Total [baseline] (9.251 s) : 0, 9251150
Agent [candidate] (1.069 s) : 0, 1068971
Total [candidate] (9.256 s) : 0, 9255630
section iast
Agent [baseline] (1.108 s) : 0, 1107748
Total [baseline] (9.422 s) : 0, 9422417
Agent [candidate] (1.092 s) : 0, 1091911
Total [candidate] (9.435 s) : 0, 9434688
section profiling
Agent [baseline] (1.171 s) : 0, 1170788
Total [baseline] (9.474 s) : 0, 9473746
Agent [candidate] (1.153 s) : 0, 1153130
Total [candidate] (9.537 s) : 0, 9536509
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 989.688 ms -
Agent appsec 1.073 s 83.522 ms (8.4%)
Agent iast 1.108 s 118.06 ms (11.9%)
Agent profiling 1.171 s 181.1 ms (18.3%)
Total tracing 9.179 s -
Total appsec 9.251 s 72.534 ms (0.8%)
Total iast 9.422 s 243.801 ms (2.7%)
Total profiling 9.474 s 295.13 ms (3.2%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 984.808 ms -
Agent appsec 1.069 s 84.163 ms (8.5%)
Agent iast 1.092 s 107.103 ms (10.9%)
Agent profiling 1.153 s 168.322 ms (17.1%)
Total tracing 9.15 s -
Total appsec 9.256 s 105.412 ms (1.2%)
Total iast 9.435 s 284.47 ms (3.1%)
Total profiling 9.537 s 386.292 ms (4.2%)
gantt
    title petclinic - break down per module: candidate=1.20.0-SNAPSHOT~d6813eb2d1, baseline=1.20.0-SNAPSHOT~118962aca3

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (613.675 ms) : 0, 613675
BytebuddyAgent [candidate] (610.437 ms) : 0, 610437
GlobalTracer [baseline] (284.911 ms) : 0, 284911
GlobalTracer [candidate] (283.987 ms) : 0, 283987
AppSec [baseline] (50.071 ms) : 0, 50071
AppSec [candidate] (50.185 ms) : 0, 50185
Remote Config [baseline] (663.795 µs) : 0, 664
Remote Config [candidate] (661.579 µs) : 0, 662
Telemetry [baseline] (5.982 ms) : 0, 5982
Telemetry [candidate] (5.412 ms) : 0, 5412
section appsec
BytebuddyAgent [baseline] (612.919 ms) : 0, 612919
BytebuddyAgent [candidate] (609.763 ms) : 0, 609763
GlobalTracer [baseline] (284.127 ms) : 0, 284127
GlobalTracer [candidate] (283.748 ms) : 0, 283748
AppSec [baseline] (135.328 ms) : 0, 135328
AppSec [candidate] (135.402 ms) : 0, 135402
Remote Config [baseline] (717.628 µs) : 0, 718
Remote Config [candidate] (734.176 µs) : 0, 734
Telemetry [baseline] (5.757 ms) : 0, 5757
Telemetry [candidate] (5.139 ms) : 0, 5139
section iast
BytebuddyAgent [baseline] (729.996 ms) : 0, 729996
BytebuddyAgent [candidate] (717.773 ms) : 0, 717773
GlobalTracer [baseline] (274.651 ms) : 0, 274651
GlobalTracer [candidate] (272.405 ms) : 0, 272405
AppSec [baseline] (47.923 ms) : 0, 47923
AppSec [candidate] (47.496 ms) : 0, 47496
Remote Config [baseline] (565.172 µs) : 0, 565
Remote Config [candidate] (659.624 µs) : 0, 660
Telemetry [baseline] (5.757 ms) : 0, 5757
Telemetry [candidate] (5.644 ms) : 0, 5644
IAST [baseline] (14.071 ms) : 0, 14071
IAST [candidate] (13.394 ms) : 0, 13394
section profiling
ProfilingAgent [baseline] (78.033 ms) : 0, 78033
ProfilingAgent [candidate] (76.937 ms) : 0, 76937
BytebuddyAgent [baseline] (632.602 ms) : 0, 632602
BytebuddyAgent [candidate] (620.941 ms) : 0, 620941
GlobalTracer [baseline] (350.282 ms) : 0, 350282
GlobalTracer [candidate] (347.047 ms) : 0, 347047
AppSec [baseline] (49.503 ms) : 0, 49503
AppSec [candidate] (49.529 ms) : 0, 49529
Remote Config [baseline] (666.693 µs) : 0, 667
Remote Config [candidate] (654.611 µs) : 0, 655
Telemetry [baseline] (6.062 ms) : 0, 6062
Telemetry [candidate] (5.363 ms) : 0, 5363
Profiling [baseline] (78.057 ms) : 0, 78057
Profiling [candidate] (76.962 ms) : 0, 76962
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.20.0-SNAPSHOT~d6813eb2d1, baseline=1.20.0-SNAPSHOT~118962aca3

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.002 s) : 0, 1001785
Total [baseline] (8.703 s) : 0, 8702512
Agent [candidate] (986.925 ms) : 0, 986925
Total [candidate] (8.693 s) : 0, 8692611
section appsec
Agent [baseline] (1.072 s) : 0, 1072200
Total [baseline] (8.694 s) : 0, 8693929
Agent [candidate] (1.072 s) : 0, 1071592
Total [candidate] (8.718 s) : 0, 8718076
section iast
Agent [baseline] (1.094 s) : 0, 1093853
Total [baseline] (9.229 s) : 0, 9229031
Agent [candidate] (1.084 s) : 0, 1084150
Total [candidate] (9.185 s) : 0, 9184862
section profiling
Agent [baseline] (1.158 s) : 0, 1158229
Total [baseline] (8.874 s) : 0, 8873556
Agent [candidate] (1.153 s) : 0, 1152645
Total [candidate] (8.834 s) : 0, 8834101
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.002 s -
Agent appsec 1.072 s 70.415 ms (7.0%)
Agent iast 1.094 s 92.068 ms (9.2%)
Agent profiling 1.158 s 156.445 ms (15.6%)
Total tracing 8.703 s -
Total appsec 8.694 s -8.583 ms (-0.1%)
Total iast 9.229 s 526.52 ms (6.1%)
Total profiling 8.874 s 171.044 ms (2.0%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 986.925 ms -
Agent appsec 1.072 s 84.668 ms (8.6%)
Agent iast 1.084 s 97.226 ms (9.9%)
Agent profiling 1.153 s 165.721 ms (16.8%)
Total tracing 8.693 s -
Total appsec 8.718 s 25.466 ms (0.3%)
Total iast 9.185 s 492.251 ms (5.7%)
Total profiling 8.834 s 141.49 ms (1.6%)
gantt
    title insecure-bank - break down per module: candidate=1.20.0-SNAPSHOT~d6813eb2d1, baseline=1.20.0-SNAPSHOT~118962aca3

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (621.324 ms) : 0, 621324
BytebuddyAgent [candidate] (611.635 ms) : 0, 611635
GlobalTracer [baseline] (288.768 ms) : 0, 288768
GlobalTracer [candidate] (284.775 ms) : 0, 284775
AppSec [baseline] (50.185 ms) : 0, 50185
AppSec [candidate] (50.058 ms) : 0, 50058
Remote Config [baseline] (670.23 µs) : 0, 670
Remote Config [candidate] (661.56 µs) : 0, 662
Telemetry [baseline] (6.033 ms) : 0, 6033
Telemetry [candidate] (5.429 ms) : 0, 5429
section appsec
BytebuddyAgent [baseline] (612.533 ms) : 0, 612533
BytebuddyAgent [candidate] (611.02 ms) : 0, 611020
GlobalTracer [baseline] (283.947 ms) : 0, 283947
GlobalTracer [candidate] (284.751 ms) : 0, 284751
AppSec [baseline] (135.031 ms) : 0, 135031
AppSec [candidate] (135.62 ms) : 0, 135620
Remote Config [baseline] (724.882 µs) : 0, 725
Remote Config [candidate] (732.27 µs) : 0, 732
Telemetry [baseline] (5.74 ms) : 0, 5740
Telemetry [candidate] (5.155 ms) : 0, 5155
section iast
BytebuddyAgent [baseline] (720.087 ms) : 0, 720087
BytebuddyAgent [candidate] (712.187 ms) : 0, 712187
GlobalTracer [baseline] (271.205 ms) : 0, 271205
GlobalTracer [candidate] (270.949 ms) : 0, 270949
AppSec [baseline] (47.633 ms) : 0, 47633
AppSec [candidate] (47.098 ms) : 0, 47098
Remote Config [baseline] (562.185 µs) : 0, 562
Remote Config [candidate] (645.654 µs) : 0, 646
Telemetry [baseline] (5.783 ms) : 0, 5783
Telemetry [candidate] (5.592 ms) : 0, 5592
IAST [baseline] (14.066 ms) : 0, 14066
IAST [candidate] (13.304 ms) : 0, 13304
section profiling
ProfilingAgent [baseline] (77.048 ms) : 0, 77048
ProfilingAgent [candidate] (75.694 ms) : 0, 75694
BytebuddyAgent [baseline] (625.372 ms) : 0, 625372
BytebuddyAgent [candidate] (621.913 ms) : 0, 621913
GlobalTracer [baseline] (347.045 ms) : 0, 347045
GlobalTracer [candidate] (347.279 ms) : 0, 347279
AppSec [baseline] (49.212 ms) : 0, 49212
AppSec [candidate] (49.183 ms) : 0, 49183
Remote Config [baseline] (652.68 µs) : 0, 653
Remote Config [candidate] (648.07 µs) : 0, 648
Telemetry [baseline] (6.029 ms) : 0, 6029
Telemetry [candidate] (5.306 ms) : 0, 5306
Profiling [baseline] (77.072 ms) : 0, 77072
Profiling [candidate] (75.718 ms) : 0, 75718
Loading

Load

Parameters

Baseline Candidate
commit 1.20.0-SNAPSHOT~118962aca3 1.20.0-SNAPSHOT~d6813eb2d1
config baseline candidate
end_time 2023-08-23T13:09:16 2023-08-23T13:27:18
start_time 2023-08-23T13:08:58 2023-08-23T13:27:01
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 petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.20.0-SNAPSHOT~d6813eb2d1, baseline=1.20.0-SNAPSHOT~118962aca3
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.319 ms) : 1299, 1339
.   : milestone, 1319,
appsec (1.669 ms) : 1645, 1693
.   : milestone, 1669,
iast (1.458 ms) : 1434, 1482
.   : milestone, 1458,
profiling (1.474 ms) : 1448, 1500
.   : milestone, 1474,
tracing (1.42 ms) : 1395, 1445
.   : milestone, 1420,
section candidate
no_agent (1.348 ms) : 1329, 1367
.   : milestone, 1348,
appsec (1.669 ms) : 1645, 1693
.   : milestone, 1669,
iast (1.449 ms) : 1425, 1473
.   : milestone, 1449,
profiling (1.442 ms) : 1418, 1467
.   : milestone, 1442,
tracing (1.426 ms) : 1401, 1450
.   : milestone, 1426,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.319 ms [1.299 ms, 1.339 ms] -
appsec 1.669 ms [1.645 ms, 1.693 ms] 349.801 µs (26.5%)
iast 1.458 ms [1.434 ms, 1.482 ms] 138.643 µs (10.5%)
profiling 1.474 ms [1.448 ms, 1.5 ms] 155.126 µs (11.8%)
tracing 1.42 ms [1.395 ms, 1.445 ms] 100.474 µs (7.6%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.348 ms [1.329 ms, 1.367 ms] -
appsec 1.669 ms [1.645 ms, 1.693 ms] 320.624 µs (23.8%)
iast 1.449 ms [1.425 ms, 1.473 ms] 101.141 µs (7.5%)
profiling 1.442 ms [1.418 ms, 1.467 ms] 94.131 µs (7.0%)
tracing 1.426 ms [1.401 ms, 1.45 ms] 77.248 µs (5.7%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.20.0-SNAPSHOT~d6813eb2d1, baseline=1.20.0-SNAPSHOT~118962aca3
    dateFormat X
    axisFormat %s
section baseline
no_agent (356.312 µs) : 336, 376
.   : milestone, 356,
appsec (656.372 µs) : 635, 677
.   : milestone, 656,
iast (449.018 µs) : 428, 470
.   : milestone, 449,
iast_FULL (500.026 µs) : 479, 521
.   : milestone, 500,
iast_INACTIVE (421.836 µs) : 401, 442
.   : milestone, 422,
profiling (447.509 µs) : 426, 469
.   : milestone, 448,
tracing (428.535 µs) : 408, 449
.   : milestone, 429,
section candidate
no_agent (363.895 µs) : 344, 383
.   : milestone, 364,
appsec (665.822 µs) : 644, 687
.   : milestone, 666,
iast (454.721 µs) : 434, 475
.   : milestone, 455,
iast_FULL (508.357 µs) : 488, 529
.   : milestone, 508,
iast_INACTIVE (428.848 µs) : 407, 450
.   : milestone, 429,
profiling (433.241 µs) : 412, 454
.   : milestone, 433,
tracing (422.116 µs) : 401, 443
.   : milestone, 422,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 356.312 µs [336.301 µs, 376.323 µs] -
appsec 656.372 µs [635.397 µs, 677.347 µs] 300.06 µs (84.2%)
iast 449.018 µs [428.093 µs, 469.943 µs] 92.706 µs (26.0%)
iast_FULL 500.026 µs [479.455 µs, 520.597 µs] 143.714 µs (40.3%)
iast_INACTIVE 421.836 µs [401.312 µs, 442.359 µs] 65.524 µs (18.4%)
profiling 447.509 µs [426.374 µs, 468.643 µs] 91.197 µs (25.6%)
tracing 428.535 µs [408.162 µs, 448.909 µs] 72.223 µs (20.3%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 363.895 µs [344.299 µs, 383.49 µs] -
appsec 665.822 µs [644.179 µs, 687.465 µs] 301.927 µs (83.0%)
iast 454.721 µs [433.994 µs, 475.449 µs] 90.827 µs (25.0%)
iast_FULL 508.357 µs [488.06 µs, 528.654 µs] 144.462 µs (39.7%)
iast_INACTIVE 428.848 µs [407.26 µs, 450.437 µs] 64.954 µs (17.8%)
profiling 433.241 µs [412.327 µs, 454.154 µs] 69.346 µs (19.1%)
tracing 422.116 µs [401.119 µs, 443.114 µs] 58.222 µs (16.0%)

@smola
smola merged commit ce8ecee into release/v1.19.x Aug 23, 2023
@smola
smola deleted the smola/5756-backport branch August 23, 2023 13:34
@smola smola added this to the 1.19.3 milestone Aug 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: asm waf Application Security Management (WAF) type: bug fix Bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants