Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split SymDB payload when too large #7838

Merged
merged 2 commits into from
Oct 28, 2024
Merged

Conversation

jpbempel
Copy link
Member

@jpbempel jpbempel commented Oct 25, 2024

What Does This Do

SymDB payload cannot be larger than 50MB otherwise datadog agent will generate an error. When serializing the upload request we are now verifying that we are below this limit, otherwise we are splitting the payload first by uploading by jar scope, but if a jar scope is still large we are splitting by class scopes. If down to one class the payload is still too large we are dropping the upload.

Motivation

Additional Notes

Contributor Checklist

Jira ticket: DEBUG-3068

SymDB payload cannot be larger than 50MB otherwise datadog agent
will generate an error. When serializing the upload request we are now
verifying that we are below this limit, otherwise we are splitting
the payload first by uploading by jar scope, but if a jar scope is
still large we are splitting by class scopes. If down to one class
the payload is still too large we are dropping the upload.
@jpbempel jpbempel added the comp: debugger Dynamic Instrumentation label Oct 25, 2024
@jpbempel jpbempel requested a review from a team as a code owner October 25, 2024 15:39
@jpbempel jpbempel requested review from evanchooly and removed request for a team October 25, 2024 15:39
@pr-commenter
Copy link

pr-commenter bot commented Oct 25, 2024

Debugger benchmarks

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
ci_job_date 1730134744 1730135145
end_time 2024-10-28T17:00:33 2024-10-28T17:07:14
git_branch master jpbempel/split-symdb-uploads
git_commit_sha 24ccbaa 89764a3
start_time 2024-10-28T16:59:06 2024-10-28T17:05:47
See matching parameters
Baseline Candidate
ci_job_id 686852581 686852581
ci_pipeline_id 47627176 47627176
cpu_model Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz
git_commit_date 1730134074 1730134074

Summary

Found 1 performance improvements and 0 performance regressions! Performance is the same for 9 metrics, 5 unstable metrics.

scenario Δ mean agg_http_req_duration_min Δ mean agg_http_req_duration_p50 Δ mean agg_http_req_duration_p75 Δ mean agg_http_req_duration_p99 Δ mean throughput
scenario:basic better
[-14.934µs; -3.743µs] or [-4.799%; -1.203%]
same same unstable
[-68.103µs; +46.881µs] or [-8.841%; +6.086%]
same
See unchanged results
scenario Δ mean agg_http_req_duration_min Δ mean agg_http_req_duration_p50 Δ mean agg_http_req_duration_p75 Δ mean agg_http_req_duration_p99 Δ mean throughput
scenario:noprobe unstable
[-16.642µs; +28.940µs] or [-5.598%; +9.734%]
unstable
[-30.863µs; +44.784µs] or [-9.079%; +13.174%]
unstable
[-44.615µs; +60.071µs] or [-12.508%; +16.842%]
unstable
[-137.862µs; +164.026µs] or [-17.045%; +20.279%]
same
scenario:loop unsure
[+67.841µs; +99.764µs] or [+0.638%; +0.938%]
same same same same
Request duration reports for reports
gantt
    title reports - request duration [CI 0.99] : candidate=None, baseline=None
    dateFormat X
    axisFormat %s
section baseline
noprobe (339.937 µs) : 314, 366
.   : milestone, 340,
basic (343.257 µs) : 334, 353
.   : milestone, 343,
loop (10.958 ms) : 10888, 11027
.   : milestone, 10958,
section candidate
noprobe (346.897 µs) : 303, 391
.   : milestone, 347,
basic (334.898 µs) : 324, 346
.   : milestone, 335,
loop (11.004 ms) : 10980, 11029
.   : milestone, 11004,
Loading
  • baseline results
Scenario Request median duration [CI 0.99]
noprobe 339.937 µs [313.961 µs, 365.913 µs]
basic 343.257 µs [333.567 µs, 352.947 µs]
loop 10.958 ms [10.888 ms, 11.027 ms]
  • candidate results
Scenario Request median duration [CI 0.99]
noprobe 346.897 µs [303.216 µs, 390.579 µs]
basic 334.898 µs [323.788 µs, 346.008 µs]
loop 11.004 ms [10.98 ms, 11.029 ms]

@pr-commenter
Copy link

pr-commenter bot commented Oct 25, 2024

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jpbempel/split-symdb-uploads
git_commit_date 1729847668 1729869977
git_commit_sha 7010cb8 fdac37c
release_version 1.42.0-SNAPSHOT~7010cb865c 1.42.0-SNAPSHOT~fdac37ce4a
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1729872529 1729872529
ci_job_id 684816683 684816683
ci_pipeline_id 47467727 47467727
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 53 metrics, 10 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.42.0-SNAPSHOT~fdac37ce4a, baseline=1.42.0-SNAPSHOT~7010cb865c

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.086 s) : 0, 1086181
Total [baseline] (8.608 s) : 0, 8607504
Agent [candidate] (1.095 s) : 0, 1094701
Total [candidate] (8.631 s) : 0, 8631328
section iast
Agent [baseline] (1.207 s) : 0, 1207345
Total [baseline] (9.204 s) : 0, 9204414
Agent [candidate] (1.213 s) : 0, 1213254
Total [candidate] (9.169 s) : 0, 9168997
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.222 s) : 0, 1222038
Total [baseline] (9.158 s) : 0, 9158437
Agent [candidate] (1.211 s) : 0, 1211476
Total [candidate] (9.136 s) : 0, 9136046
section iast_TELEMETRY_OFF
Agent [baseline] (1.22 s) : 0, 1220136
Total [baseline] (9.221 s) : 0, 9220546
Agent [candidate] (1.215 s) : 0, 1214827
Total [candidate] (9.175 s) : 0, 9174617
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.086 s -
Agent iast 1.207 s 121.164 ms (11.2%)
Agent iast_HARDCODED_SECRET_DISABLED 1.222 s 135.857 ms (12.5%)
Agent iast_TELEMETRY_OFF 1.22 s 133.955 ms (12.3%)
Total tracing 8.608 s -
Total iast 9.204 s 596.91 ms (6.9%)
Total iast_HARDCODED_SECRET_DISABLED 9.158 s 550.933 ms (6.4%)
Total iast_TELEMETRY_OFF 9.221 s 613.042 ms (7.1%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.095 s -
Agent iast 1.213 s 118.553 ms (10.8%)
Agent iast_HARDCODED_SECRET_DISABLED 1.211 s 116.775 ms (10.7%)
Agent iast_TELEMETRY_OFF 1.215 s 120.126 ms (11.0%)
Total tracing 8.631 s -
Total iast 9.169 s 537.67 ms (6.2%)
Total iast_HARDCODED_SECRET_DISABLED 9.136 s 504.718 ms (5.8%)
Total iast_TELEMETRY_OFF 9.175 s 543.289 ms (6.3%)
gantt
    title insecure-bank - break down per module: candidate=1.42.0-SNAPSHOT~fdac37ce4a, baseline=1.42.0-SNAPSHOT~7010cb865c

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (691.857 ms) : 0, 691857
BytebuddyAgent [candidate] (697.848 ms) : 0, 697848
GlobalTracer [baseline] (316.3 ms) : 0, 316300
GlobalTracer [candidate] (317.446 ms) : 0, 317446
AppSec [baseline] (54.327 ms) : 0, 54327
AppSec [candidate] (54.766 ms) : 0, 54766
Remote Config [baseline] (671.327 µs) : 0, 671
Remote Config [candidate] (672.952 µs) : 0, 673
Telemetry [baseline] (9.206 ms) : 0, 9206
Telemetry [candidate] (9.98 ms) : 0, 9980
section iast
BytebuddyAgent [baseline] (803.891 ms) : 0, 803891
BytebuddyAgent [candidate] (808.098 ms) : 0, 808098
GlobalTracer [baseline] (304.449 ms) : 0, 304449
GlobalTracer [candidate] (304.683 ms) : 0, 304683
AppSec [baseline] (57.528 ms) : 0, 57528
AppSec [candidate] (58.072 ms) : 0, 58072
IAST [baseline] (19.653 ms) : 0, 19653
IAST [candidate] (20.524 ms) : 0, 20524
Remote Config [baseline] (593.246 µs) : 0, 593
Remote Config [candidate] (609.953 µs) : 0, 610
Telemetry [baseline] (7.44 ms) : 0, 7440
Telemetry [candidate] (7.476 ms) : 0, 7476
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (814.02 ms) : 0, 814020
BytebuddyAgent [candidate] (809.027 ms) : 0, 809027
GlobalTracer [baseline] (308.001 ms) : 0, 308001
GlobalTracer [candidate] (302.34 ms) : 0, 302340
AppSec [baseline] (56.953 ms) : 0, 56953
AppSec [candidate] (56.95 ms) : 0, 56950
IAST [baseline] (21.01 ms) : 0, 21010
IAST [candidate] (21.198 ms) : 0, 21198
Remote Config [baseline] (623.058 µs) : 0, 623
Remote Config [candidate] (605.19 µs) : 0, 605
Telemetry [baseline] (7.525 ms) : 0, 7525
Telemetry [candidate] (7.489 ms) : 0, 7489
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (811.748 ms) : 0, 811748
BytebuddyAgent [candidate] (808.613 ms) : 0, 808613
GlobalTracer [baseline] (308.222 ms) : 0, 308222
GlobalTracer [candidate] (305.13 ms) : 0, 305130
AppSec [baseline] (58.213 ms) : 0, 58213
AppSec [candidate] (58.445 ms) : 0, 58445
IAST [baseline] (19.966 ms) : 0, 19966
IAST [candidate] (20.587 ms) : 0, 20587
Remote Config [baseline] (626.602 µs) : 0, 627
Remote Config [candidate] (676.562 µs) : 0, 677
Telemetry [baseline] (7.454 ms) : 0, 7454
Telemetry [candidate] (7.491 ms) : 0, 7491
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.42.0-SNAPSHOT~fdac37ce4a, baseline=1.42.0-SNAPSHOT~7010cb865c

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.093 s) : 0, 1093036
Total [baseline] (10.514 s) : 0, 10514190
Agent [candidate] (1.079 s) : 0, 1078947
Total [candidate] (10.463 s) : 0, 10463098
section appsec
Agent [baseline] (1.219 s) : 0, 1219303
Total [baseline] (10.693 s) : 0, 10693332
Agent [candidate] (1.216 s) : 0, 1215691
Total [candidate] (10.701 s) : 0, 10701133
section iast
Agent [baseline] (1.208 s) : 0, 1207767
Total [baseline] (10.934 s) : 0, 10934394
Agent [candidate] (1.216 s) : 0, 1216087
Total [candidate] (10.965 s) : 0, 10965332
section profiling
Agent [baseline] (1.281 s) : 0, 1281447
Total [baseline] (10.769 s) : 0, 10769122
Agent [candidate] (1.288 s) : 0, 1287757
Total [candidate] (10.839 s) : 0, 10838953
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.093 s -
Agent appsec 1.219 s 126.266 ms (11.6%)
Agent iast 1.208 s 114.731 ms (10.5%)
Agent profiling 1.281 s 188.41 ms (17.2%)
Total tracing 10.514 s -
Total appsec 10.693 s 179.141 ms (1.7%)
Total iast 10.934 s 420.204 ms (4.0%)
Total profiling 10.769 s 254.931 ms (2.4%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.079 s -
Agent appsec 1.216 s 136.743 ms (12.7%)
Agent iast 1.216 s 137.139 ms (12.7%)
Agent profiling 1.288 s 208.81 ms (19.4%)
Total tracing 10.463 s -
Total appsec 10.701 s 238.035 ms (2.3%)
Total iast 10.965 s 502.233 ms (4.8%)
Total profiling 10.839 s 375.854 ms (3.6%)
gantt
    title petclinic - break down per module: candidate=1.42.0-SNAPSHOT~fdac37ce4a, baseline=1.42.0-SNAPSHOT~7010cb865c

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (696.773 ms) : 0, 696773
BytebuddyAgent [candidate] (688.407 ms) : 0, 688407
GlobalTracer [baseline] (318.515 ms) : 0, 318515
GlobalTracer [candidate] (313.722 ms) : 0, 313722
AppSec [baseline] (54.586 ms) : 0, 54586
AppSec [candidate] (53.945 ms) : 0, 53945
Remote Config [baseline] (667.61 µs) : 0, 668
Remote Config [candidate] (650.832 µs) : 0, 651
Telemetry [baseline] (8.538 ms) : 0, 8538
Telemetry [candidate] (8.468 ms) : 0, 8468
section appsec
BytebuddyAgent [baseline] (706.45 ms) : 0, 706450
BytebuddyAgent [candidate] (705.131 ms) : 0, 705131
GlobalTracer [baseline] (313.742 ms) : 0, 313742
GlobalTracer [candidate] (311.231 ms) : 0, 311231
AppSec [baseline] (166.274 ms) : 0, 166274
AppSec [candidate] (166.888 ms) : 0, 166888
Remote Config [baseline] (636.681 µs) : 0, 637
Remote Config [candidate] (629.191 µs) : 0, 629
Telemetry [baseline] (8.362 ms) : 0, 8362
Telemetry [candidate] (8.394 ms) : 0, 8394
IAST [baseline] (20.18 ms) : 0, 20180
IAST [candidate] (19.388 ms) : 0, 19388
section iast
BytebuddyAgent [baseline] (803.946 ms) : 0, 803946
BytebuddyAgent [candidate] (810.388 ms) : 0, 810388
GlobalTracer [baseline] (304.851 ms) : 0, 304851
GlobalTracer [candidate] (304.867 ms) : 0, 304867
AppSec [baseline] (54.869 ms) : 0, 54869
AppSec [candidate] (57.384 ms) : 0, 57384
Remote Config [baseline] (670.796 µs) : 0, 671
Remote Config [candidate] (600.329 µs) : 0, 600
Telemetry [baseline] (7.426 ms) : 0, 7426
Telemetry [candidate] (7.531 ms) : 0, 7531
IAST [baseline] (22.252 ms) : 0, 22252
IAST [candidate] (21.465 ms) : 0, 21465
section profiling
ProfilingAgent [baseline] (90.651 ms) : 0, 90651
ProfilingAgent [candidate] (92.978 ms) : 0, 92978
BytebuddyAgent [baseline] (683.11 ms) : 0, 683110
BytebuddyAgent [candidate] (687.485 ms) : 0, 687485
GlobalTracer [baseline] (400.179 ms) : 0, 400179
GlobalTracer [candidate] (399.32 ms) : 0, 399320
AppSec [baseline] (54.549 ms) : 0, 54549
AppSec [candidate] (55.122 ms) : 0, 55122
Remote Config [baseline] (660.627 µs) : 0, 661
Remote Config [candidate] (667.083 µs) : 0, 667
Telemetry [baseline] (13.365 ms) : 0, 13365
Telemetry [candidate] (12.957 ms) : 0, 12957
Profiling [baseline] (90.674 ms) : 0, 90674
Profiling [candidate] (93.002 ms) : 0, 93002
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2024-10-25T15:39:04 2024-10-25T15:46:01
git_branch master jpbempel/split-symdb-uploads
git_commit_date 1729847668 1729869977
git_commit_sha 7010cb8 fdac37c
release_version 1.42.0-SNAPSHOT~7010cb865c 1.42.0-SNAPSHOT~fdac37ce4a
start_time 2024-10-25T15:38:50 2024-10-25T15:45:48
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1729871510 1729871510
ci_job_id 684816684 684816684
ci_pipeline_id 47467727 47467727
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 1 performance improvements and 0 performance regressions! Performance is the same for 10 metrics, 17 unstable metrics.

scenario Δ mean http_req_duration Δ mean throughput candidate mean http_req_duration candidate mean throughput baseline mean http_req_duration baseline mean throughput
scenario:load:insecure-bank:iast_FULL better
[-108.526µs; -62.581µs] or [-16.594%; -9.569%]
unstable
[-1416.185op/s; +2200.499op/s] or [-21.243%; +33.007%]
568.448µs 7058.824op/s 654.001µs 6666.667op/s
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.42.0-SNAPSHOT~fdac37ce4a, baseline=1.42.0-SNAPSHOT~7010cb865c
    dateFormat X
    axisFormat %s
section baseline
no_agent (381.127 µs) : 361, 401
.   : milestone, 381,
iast (496.854 µs) : 475, 519
.   : milestone, 497,
iast_FULL (654.001 µs) : 633, 675
.   : milestone, 654,
iast_GLOBAL (516.28 µs) : 495, 538
.   : milestone, 516,
iast_HARDCODED_SECRET_DISABLED (490.802 µs) : 470, 512
.   : milestone, 491,
iast_INACTIVE (452.838 µs) : 432, 474
.   : milestone, 453,
iast_TELEMETRY_OFF (483.379 µs) : 462, 505
.   : milestone, 483,
tracing (448.113 µs) : 427, 469
.   : milestone, 448,
section candidate
no_agent (375.075 µs) : 356, 394
.   : milestone, 375,
iast (494.056 µs) : 473, 515
.   : milestone, 494,
iast_FULL (568.448 µs) : 547, 590
.   : milestone, 568,
iast_GLOBAL (519.056 µs) : 497, 541
.   : milestone, 519,
iast_HARDCODED_SECRET_DISABLED (492.694 µs) : 471, 515
.   : milestone, 493,
iast_INACTIVE (453.92 µs) : 432, 475
.   : milestone, 454,
iast_TELEMETRY_OFF (481.394 µs) : 460, 503
.   : milestone, 481,
tracing (447.44 µs) : 426, 468
.   : milestone, 447,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 381.127 µs [361.475 µs, 400.78 µs] -
iast 496.854 µs [475.089 µs, 518.62 µs] 115.727 µs (30.4%)
iast_FULL 654.001 µs [632.588 µs, 675.415 µs] 272.874 µs (71.6%)
iast_GLOBAL 516.28 µs [494.958 µs, 537.603 µs] 135.153 µs (35.5%)
iast_HARDCODED_SECRET_DISABLED 490.802 µs [469.738 µs, 511.867 µs] 109.675 µs (28.8%)
iast_INACTIVE 452.838 µs [431.602 µs, 474.073 µs] 71.71 µs (18.8%)
iast_TELEMETRY_OFF 483.379 µs [461.815 µs, 504.943 µs] 102.252 µs (26.8%)
tracing 448.113 µs [427.337 µs, 468.889 µs] 66.985 µs (17.6%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 375.075 µs [355.791 µs, 394.36 µs] -
iast 494.056 µs [472.636 µs, 515.477 µs] 118.981 µs (31.7%)
iast_FULL 568.448 µs [547.164 µs, 589.731 µs] 193.372 µs (51.6%)
iast_GLOBAL 519.056 µs [497.119 µs, 540.992 µs] 143.98 µs (38.4%)
iast_HARDCODED_SECRET_DISABLED 492.694 µs [470.695 µs, 514.693 µs] 117.618 µs (31.4%)
iast_INACTIVE 453.92 µs [432.425 µs, 475.414 µs] 78.844 µs (21.0%)
iast_TELEMETRY_OFF 481.394 µs [459.848 µs, 502.941 µs] 106.319 µs (28.3%)
tracing 447.44 µs [426.382 µs, 468.498 µs] 72.364 µs (19.3%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.42.0-SNAPSHOT~fdac37ce4a, baseline=1.42.0-SNAPSHOT~7010cb865c
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.347 ms) : 1327, 1367
.   : milestone, 1347,
appsec (1.742 ms) : 1719, 1765
.   : milestone, 1742,
appsec_no_iast (1.726 ms) : 1702, 1750
.   : milestone, 1726,
iast (1.487 ms) : 1464, 1509
.   : milestone, 1487,
profiling (1.504 ms) : 1480, 1529
.   : milestone, 1504,
tracing (1.479 ms) : 1453, 1504
.   : milestone, 1479,
section candidate
no_agent (1.338 ms) : 1319, 1357
.   : milestone, 1338,
appsec (1.741 ms) : 1718, 1765
.   : milestone, 1741,
appsec_no_iast (1.752 ms) : 1728, 1775
.   : milestone, 1752,
iast (1.488 ms) : 1465, 1510
.   : milestone, 1488,
profiling (1.485 ms) : 1462, 1508
.   : milestone, 1485,
tracing (1.459 ms) : 1435, 1484
.   : milestone, 1459,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.347 ms [1.327 ms, 1.367 ms] -
appsec 1.742 ms [1.719 ms, 1.765 ms] 395.329 µs (29.4%)
appsec_no_iast 1.726 ms [1.702 ms, 1.75 ms] 379.175 µs (28.2%)
iast 1.487 ms [1.464 ms, 1.509 ms] 140.011 µs (10.4%)
profiling 1.504 ms [1.48 ms, 1.529 ms] 157.45 µs (11.7%)
tracing 1.479 ms [1.453 ms, 1.504 ms] 132.069 µs (9.8%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.338 ms [1.319 ms, 1.357 ms] -
appsec 1.741 ms [1.718 ms, 1.765 ms] 403.245 µs (30.1%)
appsec_no_iast 1.752 ms [1.728 ms, 1.775 ms] 413.502 µs (30.9%)
iast 1.488 ms [1.465 ms, 1.51 ms] 149.684 µs (11.2%)
profiling 1.485 ms [1.462 ms, 1.508 ms] 146.607 µs (11.0%)
tracing 1.459 ms [1.435 ms, 1.484 ms] 121.042 µs (9.0%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jpbempel/split-symdb-uploads
git_commit_date 1729847668 1729869977
git_commit_sha 7010cb8 fdac37c
release_version 1.42.0-SNAPSHOT~7010cb865c 1.42.0-SNAPSHOT~fdac37ce4a
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1729872036 1729872036
ci_job_id 684816685 684816685
ci_pipeline_id 47467727 47467727
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
variant appsec appsec

Summary

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

Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.42.0-SNAPSHOT~fdac37ce4a, baseline=1.42.0-SNAPSHOT~7010cb865c
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.469 ms) : 1458, 1481
.   : milestone, 1469,
appsec (2.358 ms) : 2317, 2400
.   : milestone, 2358,
iast (2.08 ms) : 2028, 2132
.   : milestone, 2080,
iast_GLOBAL (2.124 ms) : 2072, 2176
.   : milestone, 2124,
profiling (1.95 ms) : 1908, 1992
.   : milestone, 1950,
tracing (1.913 ms) : 1874, 1953
.   : milestone, 1913,
section candidate
no_agent (1.469 ms) : 1458, 1480
.   : milestone, 1469,
appsec (2.343 ms) : 2302, 2384
.   : milestone, 2343,
iast (2.083 ms) : 2031, 2135
.   : milestone, 2083,
iast_GLOBAL (2.118 ms) : 2067, 2170
.   : milestone, 2118,
profiling (1.949 ms) : 1908, 1991
.   : milestone, 1949,
tracing (1.933 ms) : 1893, 1973
.   : milestone, 1933,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.469 ms [1.458 ms, 1.481 ms] -
appsec 2.358 ms [2.317 ms, 2.4 ms] 889.013 µs (60.5%)
iast 2.08 ms [2.028 ms, 2.132 ms] 610.537 µs (41.5%)
iast_GLOBAL 2.124 ms [2.072 ms, 2.176 ms] 654.596 µs (44.5%)
profiling 1.95 ms [1.908 ms, 1.992 ms] 480.746 µs (32.7%)
tracing 1.913 ms [1.874 ms, 1.953 ms] 443.981 µs (30.2%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.469 ms [1.458 ms, 1.48 ms] -
appsec 2.343 ms [2.302 ms, 2.384 ms] 873.947 µs (59.5%)
iast 2.083 ms [2.031 ms, 2.135 ms] 613.723 µs (41.8%)
iast_GLOBAL 2.118 ms [2.067 ms, 2.17 ms] 649.128 µs (44.2%)
profiling 1.949 ms [1.908 ms, 1.991 ms] 480.206 µs (32.7%)
tracing 1.933 ms [1.893 ms, 1.973 ms] 463.681 µs (31.6%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.42.0-SNAPSHOT~fdac37ce4a, baseline=1.42.0-SNAPSHOT~7010cb865c
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.034 s) : 15034000, 15034000
.   : milestone, 15034000,
appsec (15.153 s) : 15153000, 15153000
.   : milestone, 15153000,
iast (18.268 s) : 18268000, 18268000
.   : milestone, 18268000,
iast_GLOBAL (17.895 s) : 17895000, 17895000
.   : milestone, 17895000,
profiling (15.192 s) : 15192000, 15192000
.   : milestone, 15192000,
tracing (15.282 s) : 15282000, 15282000
.   : milestone, 15282000,
section candidate
no_agent (14.871 s) : 14871000, 14871000
.   : milestone, 14871000,
appsec (15.296 s) : 15296000, 15296000
.   : milestone, 15296000,
iast (18.747 s) : 18747000, 18747000
.   : milestone, 18747000,
iast_GLOBAL (18.097 s) : 18097000, 18097000
.   : milestone, 18097000,
profiling (14.93 s) : 14930000, 14930000
.   : milestone, 14930000,
tracing (15.114 s) : 15114000, 15114000
.   : milestone, 15114000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.034 s [15.034 s, 15.034 s] -
appsec 15.153 s [15.153 s, 15.153 s] 119.0 ms (0.8%)
iast 18.268 s [18.268 s, 18.268 s] 3.234 s (21.5%)
iast_GLOBAL 17.895 s [17.895 s, 17.895 s] 2.861 s (19.0%)
profiling 15.192 s [15.192 s, 15.192 s] 158.0 ms (1.1%)
tracing 15.282 s [15.282 s, 15.282 s] 248.0 ms (1.6%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.871 s [14.871 s, 14.871 s] -
appsec 15.296 s [15.296 s, 15.296 s] 425.0 ms (2.9%)
iast 18.747 s [18.747 s, 18.747 s] 3.876 s (26.1%)
iast_GLOBAL 18.097 s [18.097 s, 18.097 s] 3.226 s (21.7%)
profiling 14.93 s [14.93 s, 14.93 s] 59.0 ms (0.4%)
tracing 15.114 s [15.114 s, 15.114 s] 243.0 ms (1.6%)

Copy link
Contributor

@shatzi shatzi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this solves it - and we need to ensure that duplicated jar scope are supported by the backend. so the backend would be smart enough to merge the same jar scope if it come from same runtime-id.

We are serializing things again and agin if we hit that max size limit, we should put some metric/diagnostics to see if that happen to often - if it does - we might want to refactor to split earlier.

secondHalf.size());
splitAndSend(
Arrays.asList(
createJarScope(jarScope.getName(), firstHalf),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ojung - how having two jar scope would work at the backend?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, that is supported since a while ago. It's also supported for dll and module.

json.getBytes(StandardCharsets.UTF_8), "file", "file.json"));
}
} else {
LOGGER.warn(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so, dropping all those jars? maybe we do the same splitting by two for jars case...

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

event,
new BatchUploader.MultiPartContent(
json.getBytes(StandardCharsets.UTF_8), "file", "file.json"));
if (json.length() > maxPayloadSize) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

because we already calculated json.length() -> we can tell how much we need to split...
aka, chunks = Math.ciel(json.length()/maxPayloadSize).

this can avoid the other bug when we try to upload too many small jars and drop all of them

@jpbempel jpbempel merged commit b233240 into master Oct 28, 2024
101 of 103 checks passed
@jpbempel jpbempel deleted the jpbempel/split-symdb-uploads branch October 28, 2024 17:19
@github-actions github-actions bot added this to the 1.42.0 milestone Oct 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp: debugger Dynamic Instrumentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants