Skip to content

Conversation

@amarziali
Copy link
Contributor

@amarziali amarziali commented Jan 31, 2024

What Does This Do

Add supports to jetty http client version 10 and 11. The newest 12 is not yet supported (more work needed)

Motivation

On version 10 the class HttpFields is an interface and not a class hence the method invocation changes

Additional Notes

Jira ticket: AIT-9689

@amarziali amarziali added the inst: jetty Jetty instrumentation label Jan 31, 2024
@pr-commenter
Copy link

pr-commenter bot commented Jan 31, 2024

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master andrea.marziali/jetty-http-client
git_commit_date 1706895167 1706897183
git_commit_sha 836e8a5 817716a
release_version 1.29.0-SNAPSHOT~836e8a576b 1.29.0-SNAPSHOT~817716a50a
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1706900171 1706900171
ci_job_id 425105235 425105235
ci_pipeline_id 27637916 27637916
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 43 metrics, 11 unstable metrics.

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.29.0-SNAPSHOT~817716a50a, baseline=1.29.0-SNAPSHOT~836e8a576b

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.06 s) : 0, 1059542
Total [baseline] (9.331 s) : 0, 9331159
Agent [candidate] (1.06 s) : 0, 1059818
Total [candidate] (9.371 s) : 0, 9370886
section appsec
Agent [baseline] (1.172 s) : 0, 1172076
Total [baseline] (9.571 s) : 0, 9570910
Agent [candidate] (1.165 s) : 0, 1165265
Total [candidate] (9.591 s) : 0, 9591075
section iast
Agent [baseline] (1.185 s) : 0, 1185456
Total [baseline] (9.709 s) : 0, 9709270
Agent [candidate] (1.187 s) : 0, 1187086
Total [candidate] (9.721 s) : 0, 9720626
section profiling
Agent [baseline] (1.276 s) : 0, 1276473
Total [baseline] (9.578 s) : 0, 9577519
Agent [candidate] (1.29 s) : 0, 1289955
Total [candidate] (9.579 s) : 0, 9578863
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.06 s -
Agent appsec 1.172 s 112.535 ms (10.6%)
Agent iast 1.185 s 125.914 ms (11.9%)
Agent profiling 1.276 s 216.931 ms (20.5%)
Total tracing 9.331 s -
Total appsec 9.571 s 239.751 ms (2.6%)
Total iast 9.709 s 378.111 ms (4.1%)
Total profiling 9.578 s 246.36 ms (2.6%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.06 s -
Agent appsec 1.165 s 105.447 ms (9.9%)
Agent iast 1.187 s 127.268 ms (12.0%)
Agent profiling 1.29 s 230.137 ms (21.7%)
Total tracing 9.371 s -
Total appsec 9.591 s 220.188 ms (2.3%)
Total iast 9.721 s 349.739 ms (3.7%)
Total profiling 9.579 s 207.977 ms (2.2%)
gantt
    title petclinic - break down per module: candidate=1.29.0-SNAPSHOT~817716a50a, baseline=1.29.0-SNAPSHOT~836e8a576b

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (667.226 ms) : 0, 667226
BytebuddyAgent [candidate] (667.765 ms) : 0, 667765
GlobalTracer [baseline] (297.089 ms) : 0, 297089
GlobalTracer [candidate] (297.525 ms) : 0, 297525
AppSec [baseline] (52.75 ms) : 0, 52750
AppSec [candidate] (52.067 ms) : 0, 52067
Remote Config [baseline] (683.949 µs) : 0, 684
Remote Config [candidate] (697.067 µs) : 0, 697
Telemetry [baseline] (7.514 ms) : 0, 7514
Telemetry [candidate] (7.458 ms) : 0, 7458
section appsec
BytebuddyAgent [baseline] (676.956 ms) : 0, 676956
BytebuddyAgent [candidate] (673.323 ms) : 0, 673323
GlobalTracer [baseline] (300.834 ms) : 0, 300834
GlobalTracer [candidate] (299.293 ms) : 0, 299293
AppSec [baseline] (152.02 ms) : 0, 152020
AppSec [candidate] (150.447 ms) : 0, 150447
Remote Config [baseline] (665.271 µs) : 0, 665
Remote Config [candidate] (659.782 µs) : 0, 660
Telemetry [baseline] (6.849 ms) : 0, 6849
Telemetry [candidate] (6.768 ms) : 0, 6768
section iast
BytebuddyAgent [baseline] (779.65 ms) : 0, 779650
BytebuddyAgent [candidate] (780.438 ms) : 0, 780438
GlobalTracer [baseline] (288.73 ms) : 0, 288730
GlobalTracer [candidate] (289.305 ms) : 0, 289305
AppSec [baseline] (52.897 ms) : 0, 52897
AppSec [candidate] (54.568 ms) : 0, 54568
Remote Config [baseline] (621.933 µs) : 0, 622
Remote Config [candidate] (618.481 µs) : 0, 618
Telemetry [baseline] (6.553 ms) : 0, 6553
Telemetry [candidate] (8.773 ms) : 0, 8773
IAST [baseline] (22.616 ms) : 0, 22616
IAST [candidate] (18.872 ms) : 0, 18872
section profiling
BytebuddyAgent [baseline] (665.551 ms) : 0, 665551
BytebuddyAgent [candidate] (672.813 ms) : 0, 672813
GlobalTracer [baseline] (381.239 ms) : 0, 381239
GlobalTracer [candidate] (384.743 ms) : 0, 384743
AppSec [baseline] (52.211 ms) : 0, 52211
AppSec [candidate] (52.965 ms) : 0, 52965
Remote Config [baseline] (659.047 µs) : 0, 659
Remote Config [candidate] (668.634 µs) : 0, 669
Telemetry [baseline] (7.445 ms) : 0, 7445
Telemetry [candidate] (8.21 ms) : 0, 8210
ProfilingAgent [baseline] (115.028 ms) : 0, 115028
ProfilingAgent [candidate] (115.58 ms) : 0, 115580
Profiling [baseline] (115.052 ms) : 0, 115052
Profiling [candidate] (115.605 ms) : 0, 115605
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2024-02-02T18:32:05 2024-02-02T18:51:08
git_branch master andrea.marziali/jetty-http-client
git_commit_date 1706895167 1706897183
git_commit_sha 836e8a5 817716a
release_version 1.29.0-SNAPSHOT~836e8a576b 1.29.0-SNAPSHOT~817716a50a
start_time 2024-02-02T18:31:51 2024-02-02T18:50:55
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1706900171 1706900171
ci_job_id 425105235 425105235
ci_pipeline_id 27637916 27637916
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 11 metrics, 15 unstable metrics.

Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.29.0-SNAPSHOT~817716a50a, baseline=1.29.0-SNAPSHOT~836e8a576b
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.37 ms) : 1351, 1389
.   : milestone, 1370,
appsec (1.784 ms) : 1759, 1810
.   : milestone, 1784,
iast (1.52 ms) : 1495, 1545
.   : milestone, 1520,
profiling (1.523 ms) : 1498, 1548
.   : milestone, 1523,
tracing (1.518 ms) : 1493, 1543
.   : milestone, 1518,
section candidate
no_agent (1.36 ms) : 1341, 1379
.   : milestone, 1360,
appsec (1.774 ms) : 1748, 1799
.   : milestone, 1774,
iast (1.529 ms) : 1504, 1553
.   : milestone, 1529,
profiling (1.528 ms) : 1502, 1553
.   : milestone, 1528,
tracing (1.495 ms) : 1470, 1519
.   : milestone, 1495,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.37 ms [1.351 ms, 1.389 ms] -
appsec 1.784 ms [1.759 ms, 1.81 ms] 414.359 µs (30.2%)
iast 1.52 ms [1.495 ms, 1.545 ms] 150.014 µs (11.0%)
profiling 1.523 ms [1.498 ms, 1.548 ms] 152.742 µs (11.2%)
tracing 1.518 ms [1.493 ms, 1.543 ms] 148.096 µs (10.8%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.36 ms [1.341 ms, 1.379 ms] -
appsec 1.774 ms [1.748 ms, 1.799 ms] 414.062 µs (30.5%)
iast 1.529 ms [1.504 ms, 1.553 ms] 168.875 µs (12.4%)
profiling 1.528 ms [1.502 ms, 1.553 ms] 167.882 µs (12.3%)
tracing 1.495 ms [1.47 ms, 1.519 ms] 135.03 µs (9.9%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.29.0-SNAPSHOT~817716a50a, baseline=1.29.0-SNAPSHOT~836e8a576b
    dateFormat X
    axisFormat %s
section baseline
no_agent (370.93 µs) : 351, 391
.   : milestone, 371,
iast (476.666 µs) : 456, 498
.   : milestone, 477,
iast_FULL (536.888 µs) : 516, 558
.   : milestone, 537,
iast_GLOBAL (504.998 µs) : 484, 526
.   : milestone, 505,
iast_HARDCODED_SECRET_DISABLED (475.717 µs) : 455, 497
.   : milestone, 476,
iast_INACTIVE (450.632 µs) : 429, 472
.   : milestone, 451,
iast_TELEMETRY_OFF (474.475 µs) : 454, 495
.   : milestone, 474,
tracing (445.264 µs) : 425, 466
.   : milestone, 445,
section candidate
no_agent (368.982 µs) : 349, 389
.   : milestone, 369,
iast (473.839 µs) : 453, 495
.   : milestone, 474,
iast_FULL (537.087 µs) : 516, 558
.   : milestone, 537,
iast_GLOBAL (499.982 µs) : 479, 521
.   : milestone, 500,
iast_HARDCODED_SECRET_DISABLED (474.978 µs) : 454, 496
.   : milestone, 475,
iast_INACTIVE (448.052 µs) : 427, 469
.   : milestone, 448,
iast_TELEMETRY_OFF (471.925 µs) : 451, 493
.   : milestone, 472,
tracing (444.027 µs) : 423, 465
.   : milestone, 444,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 370.93 µs [350.805 µs, 391.055 µs] -
iast 476.666 µs [455.729 µs, 497.604 µs] 105.737 µs (28.5%)
iast_FULL 536.888 µs [516.182 µs, 557.594 µs] 165.959 µs (44.7%)
iast_GLOBAL 504.998 µs [484.243 µs, 525.753 µs] 134.069 µs (36.1%)
iast_HARDCODED_SECRET_DISABLED 475.717 µs [454.706 µs, 496.727 µs] 104.787 µs (28.2%)
iast_INACTIVE 450.632 µs [429.472 µs, 471.793 µs] 79.703 µs (21.5%)
iast_TELEMETRY_OFF 474.475 µs [453.671 µs, 495.279 µs] 103.545 µs (27.9%)
tracing 445.264 µs [424.695 µs, 465.833 µs] 74.334 µs (20.0%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 368.982 µs [348.899 µs, 389.065 µs] -
iast 473.839 µs [453.17 µs, 494.508 µs] 104.857 µs (28.4%)
iast_FULL 537.087 µs [516.325 µs, 557.849 µs] 168.105 µs (45.6%)
iast_GLOBAL 499.982 µs [479.435 µs, 520.53 µs] 131.0 µs (35.5%)
iast_HARDCODED_SECRET_DISABLED 474.978 µs [454.061 µs, 495.896 µs] 105.996 µs (28.7%)
iast_INACTIVE 448.052 µs [427.332 µs, 468.772 µs] 79.07 µs (21.4%)
iast_TELEMETRY_OFF 471.925 µs [451.14 µs, 492.711 µs] 102.943 µs (27.9%)
tracing 444.027 µs [423.341 µs, 464.714 µs] 75.045 µs (20.3%)

@amarziali amarziali force-pushed the andrea.marziali/jetty-http-client branch from 9f3d04d to 3bc435b Compare January 31, 2024 19:41
@amarziali amarziali marked this pull request as ready for review February 1, 2024 07:40
@amarziali amarziali requested a review from a team as a code owner February 1, 2024 07:40
@amarziali amarziali force-pushed the andrea.marziali/jetty-http-client branch 2 times, most recently from e54f589 to 18bda7f Compare February 1, 2024 10:19
@amarziali amarziali force-pushed the andrea.marziali/jetty-http-client branch from 3abb75e to ba4684b Compare February 2, 2024 14:14
@amarziali amarziali requested a review from mcculls February 2, 2024 15:02
@amarziali amarziali force-pushed the andrea.marziali/jetty-http-client branch from 3b3a4b2 to cbd79c3 Compare February 2, 2024 16:05
@amarziali amarziali force-pushed the andrea.marziali/jetty-http-client branch from cbd79c3 to 411acd4 Compare February 2, 2024 16:52
@amarziali amarziali enabled auto-merge (squash) February 2, 2024 19:44
Copy link
Contributor

@PerfectSlayer PerfectSlayer left a comment

Choose a reason for hiding this comment

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

Way better! Thanks for keeping refactoring it 👍

@amarziali amarziali merged commit d9927e9 into master Feb 5, 2024
@amarziali amarziali deleted the andrea.marziali/jetty-http-client branch February 5, 2024 08:28
@github-actions github-actions bot added this to the 1.29.0 milestone Feb 5, 2024
@PerfectSlayer PerfectSlayer added the type: enhancement Enhancements and improvements label Feb 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

inst: jetty Jetty instrumentation type: enhancement Enhancements and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants