Skip to content

Conversation

@nayeem-kamal
Copy link
Contributor

@nayeem-kamal nayeem-kamal commented Mar 20, 2024

What Does This Do

This PR implements tracing disablement by stopping trace publishing but keeping span creation.
Changes from #6731 have been implemented here.

Motivation

RFC for disablement of tracing via remote config

Additional Notes

Jira ticket: APMJAVA-1248

@pr-commenter
Copy link

pr-commenter bot commented Mar 20, 2024

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master nayeem-kamal/RC-experimental-tracing-enabled-tmp
git_commit_date 1711366976 1711376404
git_commit_sha bfd3a15 c535080
release_version 1.32.0-SNAPSHOT~bfd3a15e17 1.32.0-SNAPSHOT~c53508057e
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1711379914 1711379914
ci_job_id 468440497 468440497
ci_pipeline_id 30736153 30736153
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 51 metrics, 12 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.32.0-SNAPSHOT~c53508057e, baseline=1.32.0-SNAPSHOT~bfd3a15e17

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.076 s) : 0, 1075592
Total [baseline] (8.56 s) : 0, 8559994
Agent [candidate] (1.075 s) : 0, 1075465
Total [candidate] (8.552 s) : 0, 8551508
section iast
Agent [baseline] (1.209 s) : 0, 1208819
Total [baseline] (9.096 s) : 0, 9096394
Agent [candidate] (1.203 s) : 0, 1202999
Total [candidate] (9.095 s) : 0, 9094761
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.196 s) : 0, 1196098
Total [baseline] (9.083 s) : 0, 9082894
Agent [candidate] (1.208 s) : 0, 1208335
Total [candidate] (9.068 s) : 0, 9067913
section iast_TELEMETRY_OFF
Agent [baseline] (1.195 s) : 0, 1194611
Total [baseline] (9.046 s) : 0, 9046458
Agent [candidate] (1.197 s) : 0, 1197489
Total [candidate] (9.072 s) : 0, 9072169
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.076 s -
Agent iast 1.209 s 133.227 ms (12.4%)
Agent iast_HARDCODED_SECRET_DISABLED 1.196 s 120.506 ms (11.2%)
Agent iast_TELEMETRY_OFF 1.195 s 119.019 ms (11.1%)
Total tracing 8.56 s -
Total iast 9.096 s 536.4 ms (6.3%)
Total iast_HARDCODED_SECRET_DISABLED 9.083 s 522.9 ms (6.1%)
Total iast_TELEMETRY_OFF 9.046 s 486.464 ms (5.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.075 s -
Agent iast 1.203 s 127.534 ms (11.9%)
Agent iast_HARDCODED_SECRET_DISABLED 1.208 s 132.87 ms (12.4%)
Agent iast_TELEMETRY_OFF 1.197 s 122.024 ms (11.3%)
Total tracing 8.552 s -
Total iast 9.095 s 543.253 ms (6.4%)
Total iast_HARDCODED_SECRET_DISABLED 9.068 s 516.404 ms (6.0%)
Total iast_TELEMETRY_OFF 9.072 s 520.661 ms (6.1%)
gantt
    title insecure-bank - break down per module: candidate=1.32.0-SNAPSHOT~c53508057e, baseline=1.32.0-SNAPSHOT~bfd3a15e17

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (685.608 ms) : 0, 685608
BytebuddyAgent [candidate] (685.402 ms) : 0, 685402
GlobalTracer [baseline] (297.603 ms) : 0, 297603
GlobalTracer [candidate] (297.705 ms) : 0, 297705
AppSec [baseline] (49.369 ms) : 0, 49369
AppSec [candidate] (49.402 ms) : 0, 49402
Remote Config [baseline] (1.056 ms) : 0, 1056
Remote Config [candidate] (1.082 ms) : 0, 1082
Telemetry [baseline] (7.481 ms) : 0, 7481
Telemetry [candidate] (7.495 ms) : 0, 7495
section iast
BytebuddyAgent [baseline] (800.555 ms) : 0, 800555
BytebuddyAgent [candidate] (796.016 ms) : 0, 796016
GlobalTracer [baseline] (290.779 ms) : 0, 290779
GlobalTracer [candidate] (289.987 ms) : 0, 289987
AppSec [baseline] (52.289 ms) : 0, 52289
AppSec [candidate] (50.767 ms) : 0, 50767
IAST [baseline] (23.177 ms) : 0, 23177
IAST [candidate] (22.989 ms) : 0, 22989
Remote Config [baseline] (598.03 µs) : 0, 598
Remote Config [candidate] (594.506 µs) : 0, 595
Telemetry [baseline] (6.741 ms) : 0, 6741
Telemetry [candidate] (8.198 ms) : 0, 8198
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (792.262 ms) : 0, 792262
BytebuddyAgent [candidate] (799.867 ms) : 0, 799867
GlobalTracer [baseline] (288.498 ms) : 0, 288498
GlobalTracer [candidate] (291.177 ms) : 0, 291177
AppSec [baseline] (51.03 ms) : 0, 51030
AppSec [candidate] (50.545 ms) : 0, 50545
IAST [baseline] (22.603 ms) : 0, 22603
IAST [candidate] (24.722 ms) : 0, 24722
Remote Config [baseline] (612.696 µs) : 0, 613
Remote Config [candidate] (589.875 µs) : 0, 590
Telemetry [baseline] (6.657 ms) : 0, 6657
Telemetry [candidate] (6.73 ms) : 0, 6730
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (790.271 ms) : 0, 790271
BytebuddyAgent [candidate] (791.606 ms) : 0, 791606
GlobalTracer [baseline] (289.613 ms) : 0, 289613
GlobalTracer [candidate] (290.095 ms) : 0, 290095
AppSec [baseline] (51.522 ms) : 0, 51522
AppSec [candidate] (50.417 ms) : 0, 50417
IAST [baseline] (21.679 ms) : 0, 21679
IAST [candidate] (23.875 ms) : 0, 23875
Remote Config [baseline] (582.758 µs) : 0, 583
Remote Config [candidate] (578.299 µs) : 0, 578
Telemetry [baseline] (6.569 ms) : 0, 6569
Telemetry [candidate] (6.518 ms) : 0, 6518
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.32.0-SNAPSHOT~c53508057e, baseline=1.32.0-SNAPSHOT~bfd3a15e17

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.074 s) : 0, 1073972
Total [baseline] (10.468 s) : 0, 10467670
Agent [candidate] (1.077 s) : 0, 1076523
Total [candidate] (10.373 s) : 0, 10373083
section appsec
Agent [baseline] (1.207 s) : 0, 1206724
Total [baseline] (10.544 s) : 0, 10543841
Agent [candidate] (1.2 s) : 0, 1200064
Total [candidate] (10.461 s) : 0, 10460867
section iast
Agent [baseline] (1.196 s) : 0, 1196093
Total [baseline] (10.875 s) : 0, 10874922
Agent [candidate] (1.206 s) : 0, 1206466
Total [candidate] (10.937 s) : 0, 10936876
section profiling
Agent [baseline] (1.275 s) : 0, 1274550
Total [baseline] (10.649 s) : 0, 10649480
Agent [candidate] (1.28 s) : 0, 1279710
Total [candidate] (10.669 s) : 0, 10668523
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.074 s -
Agent appsec 1.207 s 132.752 ms (12.4%)
Agent iast 1.196 s 122.121 ms (11.4%)
Agent profiling 1.275 s 200.578 ms (18.7%)
Total tracing 10.468 s -
Total appsec 10.544 s 76.171 ms (0.7%)
Total iast 10.875 s 407.252 ms (3.9%)
Total profiling 10.649 s 181.81 ms (1.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.077 s -
Agent appsec 1.2 s 123.541 ms (11.5%)
Agent iast 1.206 s 129.944 ms (12.1%)
Agent profiling 1.28 s 203.187 ms (18.9%)
Total tracing 10.373 s -
Total appsec 10.461 s 87.784 ms (0.8%)
Total iast 10.937 s 563.793 ms (5.4%)
Total profiling 10.669 s 295.44 ms (2.8%)
gantt
    title petclinic - break down per module: candidate=1.32.0-SNAPSHOT~c53508057e, baseline=1.32.0-SNAPSHOT~bfd3a15e17

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (684.388 ms) : 0, 684388
BytebuddyAgent [candidate] (685.692 ms) : 0, 685692
GlobalTracer [baseline] (297.535 ms) : 0, 297535
GlobalTracer [candidate] (298.519 ms) : 0, 298519
AppSec [baseline] (49.177 ms) : 0, 49177
AppSec [candidate] (49.387 ms) : 0, 49387
Remote Config [baseline] (1.038 ms) : 0, 1038
Remote Config [candidate] (1.029 ms) : 0, 1029
Telemetry [baseline] (7.42 ms) : 0, 7420
Telemetry [candidate] (7.424 ms) : 0, 7424
section appsec
BytebuddyAgent [baseline] (698.646 ms) : 0, 698646
BytebuddyAgent [candidate] (693.813 ms) : 0, 693813
GlobalTracer [baseline] (292.985 ms) : 0, 292985
GlobalTracer [candidate] (292.295 ms) : 0, 292295
AppSec [baseline] (154.285 ms) : 0, 154285
AppSec [candidate] (153.502 ms) : 0, 153502
IAST [baseline] (18.847 ms) : 0, 18847
IAST [candidate] (18.683 ms) : 0, 18683
Remote Config [baseline] (610.248 µs) : 0, 610
Remote Config [candidate] (607.217 µs) : 0, 607
Telemetry [baseline] (6.839 ms) : 0, 6839
Telemetry [candidate] (6.767 ms) : 0, 6767
section iast
BytebuddyAgent [baseline] (791.691 ms) : 0, 791691
BytebuddyAgent [candidate] (799.723 ms) : 0, 799723
GlobalTracer [baseline] (288.243 ms) : 0, 288243
GlobalTracer [candidate] (291.015 ms) : 0, 291015
AppSec [baseline] (50.267 ms) : 0, 50267
AppSec [candidate] (51.288 ms) : 0, 51288
IAST [baseline] (24.343 ms) : 0, 24343
IAST [candidate] (22.598 ms) : 0, 22598
Remote Config [baseline] (577.018 µs) : 0, 577
Remote Config [candidate] (581.317 µs) : 0, 581
Telemetry [baseline] (6.666 ms) : 0, 6666
Telemetry [candidate] (6.65 ms) : 0, 6650
section profiling
BytebuddyAgent [baseline] (678.897 ms) : 0, 678897
BytebuddyAgent [candidate] (680.926 ms) : 0, 680926
GlobalTracer [baseline] (384.273 ms) : 0, 384273
GlobalTracer [candidate] (386.362 ms) : 0, 386362
AppSec [baseline] (50.239 ms) : 0, 50239
AppSec [candidate] (50.599 ms) : 0, 50599
Remote Config [baseline] (900.758 µs) : 0, 901
Remote Config [candidate] (886.018 µs) : 0, 886
Telemetry [baseline] (7.539 ms) : 0, 7539
Telemetry [candidate] (7.527 ms) : 0, 7527
ProfilingAgent [baseline] (96.374 ms) : 0, 96374
ProfilingAgent [candidate] (96.678 ms) : 0, 96678
Profiling [baseline] (96.398 ms) : 0, 96398
Profiling [candidate] (96.702 ms) : 0, 96702
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2024-03-25T14:50:47 2024-03-25T15:12:49
git_branch master nayeem-kamal/RC-experimental-tracing-enabled-tmp
git_commit_date 1711366976 1711376404
git_commit_sha bfd3a15 c535080
release_version 1.32.0-SNAPSHOT~bfd3a15e17 1.32.0-SNAPSHOT~c53508057e
start_time 2024-03-25T14:50:34 2024-03-25T15:12:36
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1711379914 1711379914
ci_job_id 468440497 468440497
ci_pipeline_id 30736153 30736153
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 12 metrics, 16 unstable metrics.

Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.32.0-SNAPSHOT~c53508057e, baseline=1.32.0-SNAPSHOT~bfd3a15e17
    dateFormat X
    axisFormat %s
section baseline
no_agent (367.41 µs) : 347, 387
.   : milestone, 367,
iast (474.343 µs) : 454, 495
.   : milestone, 474,
iast_FULL (540.018 µs) : 519, 561
.   : milestone, 540,
iast_GLOBAL (499.302 µs) : 478, 521
.   : milestone, 499,
iast_HARDCODED_SECRET_DISABLED (469.248 µs) : 449, 490
.   : milestone, 469,
iast_INACTIVE (439.119 µs) : 419, 459
.   : milestone, 439,
iast_TELEMETRY_OFF (469.887 µs) : 449, 491
.   : milestone, 470,
tracing (435.799 µs) : 416, 456
.   : milestone, 436,
section candidate
no_agent (365.567 µs) : 346, 385
.   : milestone, 366,
iast (473.982 µs) : 453, 495
.   : milestone, 474,
iast_FULL (546.642 µs) : 526, 567
.   : milestone, 547,
iast_GLOBAL (497.289 µs) : 476, 519
.   : milestone, 497,
iast_HARDCODED_SECRET_DISABLED (466.081 µs) : 446, 486
.   : milestone, 466,
iast_INACTIVE (441.19 µs) : 420, 462
.   : milestone, 441,
iast_TELEMETRY_OFF (466.046 µs) : 445, 487
.   : milestone, 466,
tracing (434.045 µs) : 414, 454
.   : milestone, 434,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 367.41 µs [347.332 µs, 387.488 µs] -
iast 474.343 µs [453.846 µs, 494.839 µs] 106.933 µs (29.1%)
iast_FULL 540.018 µs [519.265 µs, 560.77 µs] 172.608 µs (47.0%)
iast_GLOBAL 499.302 µs [478.015 µs, 520.588 µs] 131.892 µs (35.9%)
iast_HARDCODED_SECRET_DISABLED 469.248 µs [448.683 µs, 489.814 µs] 101.839 µs (27.7%)
iast_INACTIVE 439.119 µs [418.879 µs, 459.358 µs] 71.709 µs (19.5%)
iast_TELEMETRY_OFF 469.887 µs [448.816 µs, 490.958 µs] 102.477 µs (27.9%)
tracing 435.799 µs [415.55 µs, 456.048 µs] 68.389 µs (18.6%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 365.567 µs [346.216 µs, 384.919 µs] -
iast 473.982 µs [453.045 µs, 494.918 µs] 108.414 µs (29.7%)
iast_FULL 546.642 µs [526.022 µs, 567.263 µs] 181.075 µs (49.5%)
iast_GLOBAL 497.289 µs [476.021 µs, 518.556 µs] 131.721 µs (36.0%)
iast_HARDCODED_SECRET_DISABLED 466.081 µs [445.709 µs, 486.453 µs] 100.514 µs (27.5%)
iast_INACTIVE 441.19 µs [420.349 µs, 462.03 µs] 75.622 µs (20.7%)
iast_TELEMETRY_OFF 466.046 µs [444.979 µs, 487.114 µs] 100.479 µs (27.5%)
tracing 434.045 µs [414.053 µs, 454.038 µs] 68.478 µs (18.7%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.32.0-SNAPSHOT~c53508057e, baseline=1.32.0-SNAPSHOT~bfd3a15e17
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.344 ms) : 1324, 1363
.   : milestone, 1344,
appsec (1.723 ms) : 1698, 1747
.   : milestone, 1723,
appsec_no_iast (1.763 ms) : 1739, 1787
.   : milestone, 1763,
iast (1.487 ms) : 1464, 1510
.   : milestone, 1487,
profiling (1.535 ms) : 1509, 1561
.   : milestone, 1535,
tracing (1.471 ms) : 1446, 1495
.   : milestone, 1471,
section candidate
no_agent (1.351 ms) : 1331, 1371
.   : milestone, 1351,
appsec (1.74 ms) : 1716, 1763
.   : milestone, 1740,
appsec_no_iast (1.759 ms) : 1735, 1784
.   : milestone, 1759,
iast (1.481 ms) : 1458, 1504
.   : milestone, 1481,
profiling (1.49 ms) : 1466, 1515
.   : milestone, 1490,
tracing (1.461 ms) : 1437, 1484
.   : milestone, 1461,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.344 ms [1.324 ms, 1.363 ms] -
appsec 1.723 ms [1.698 ms, 1.747 ms] 378.998 µs (28.2%)
appsec_no_iast 1.763 ms [1.739 ms, 1.787 ms] 419.67 µs (31.2%)
iast 1.487 ms [1.464 ms, 1.51 ms] 143.719 µs (10.7%)
profiling 1.535 ms [1.509 ms, 1.561 ms] 191.349 µs (14.2%)
tracing 1.471 ms [1.446 ms, 1.495 ms] 127.065 µs (9.5%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.351 ms [1.331 ms, 1.371 ms] -
appsec 1.74 ms [1.716 ms, 1.763 ms] 388.814 µs (28.8%)
appsec_no_iast 1.759 ms [1.735 ms, 1.784 ms] 408.378 µs (30.2%)
iast 1.481 ms [1.458 ms, 1.504 ms] 130.096 µs (9.6%)
profiling 1.49 ms [1.466 ms, 1.515 ms] 139.51 µs (10.3%)
tracing 1.461 ms [1.437 ms, 1.484 ms] 109.841 µs (8.1%)

@nayeem-kamal nayeem-kamal changed the title rc experimental tracing enabled Allow for disablement of tracing via remote config Mar 25, 2024
@nayeem-kamal nayeem-kamal marked this pull request as ready for review March 25, 2024 14:27
@nayeem-kamal nayeem-kamal requested a review from a team as a code owner March 25, 2024 14:27
@nayeem-kamal nayeem-kamal requested review from am312 and mcculls March 25, 2024 14:27
@nayeem-kamal nayeem-kamal merged commit f56be02 into master Mar 27, 2024
@nayeem-kamal nayeem-kamal deleted the nayeem-kamal/RC-experimental-tracing-enabled-tmp branch March 27, 2024 14:05
@github-actions github-actions bot added this to the 1.32.0 milestone Mar 27, 2024
@PerfectSlayer PerfectSlayer added the comp: remote config Configuration at Runtime label Apr 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: remote config Configuration at Runtime

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants