Skip to content

Fix span links serialization as tag#6341

Merged
PerfectSlayer merged 1 commit into
masterfrom
bbujon/span-links
Dec 12, 2023
Merged

Fix span links serialization as tag#6341
PerfectSlayer merged 1 commit into
masterfrom
bbujon/span-links

Conversation

@PerfectSlayer

@PerfectSlayer PerfectSlayer commented Dec 11, 2023

Copy link
Copy Markdown
Contributor

What Does This Do

This PR fixes span links serialization as span tags.

Motivation

JSON encoding is broken according the RFC.

Additional Notes

Jira ticket: APMJAVA-1060

@PerfectSlayer
PerfectSlayer requested a review from a team as a code owner December 11, 2023 07:35
@pr-commenter

pr-commenter Bot commented Dec 11, 2023

Copy link
Copy Markdown

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master bbujon/span-links
git_commit_date 1702050053 1702279955
git_commit_sha 5307b46 b85af50d55
release_version 1.26.0-SNAPSHOT~5307b46fe3 1.26.0-SNAPSHOT~b85af50d55
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1702282735 1702282735
ci_job_id 386141772 386141772
ci_pipeline_id 24756990 24756990
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 46 metrics, 8 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.26.0-SNAPSHOT~b85af50d55, baseline=1.26.0-SNAPSHOT~5307b46fe3

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.043 s) : 0, 1042566
Total [baseline] (8.695 s) : 0, 8694678
Agent [candidate] (1.049 s) : 0, 1049219
Total [candidate] (8.76 s) : 0, 8759924
section iast
Agent [baseline] (1.158 s) : 0, 1157937
Total [baseline] (9.241 s) : 0, 9241239
Agent [candidate] (1.158 s) : 0, 1158112
Total [candidate] (9.255 s) : 0, 9254560
section iast_TELEMETRY_OFF
Agent [baseline] (1.164 s) : 0, 1164167
Total [baseline] (9.268 s) : 0, 9268103
Agent [candidate] (1.153 s) : 0, 1153305
Total [candidate] (9.234 s) : 0, 9233987
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.043 s -
Agent iast 1.158 s 115.371 ms (11.1%)
Agent iast_TELEMETRY_OFF 1.164 s 121.602 ms (11.7%)
Total tracing 8.695 s -
Total iast 9.241 s 546.56 ms (6.3%)
Total iast_TELEMETRY_OFF 9.268 s 573.425 ms (6.6%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.049 s -
Agent iast 1.158 s 108.894 ms (10.4%)
Agent iast_TELEMETRY_OFF 1.153 s 104.086 ms (9.9%)
Total tracing 8.76 s -
Total iast 9.255 s 494.636 ms (5.6%)
Total iast_TELEMETRY_OFF 9.234 s 474.063 ms (5.4%)
gantt
    title insecure-bank - break down per module: candidate=1.26.0-SNAPSHOT~b85af50d55, baseline=1.26.0-SNAPSHOT~5307b46fe3

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (645.624 ms) : 0, 645624
BytebuddyAgent [candidate] (649.255 ms) : 0, 649255
GlobalTracer [baseline] (306.034 ms) : 0, 306034
GlobalTracer [candidate] (308.675 ms) : 0, 308675
AppSec [baseline] (48.62 ms) : 0, 48620
AppSec [candidate] (49.148 ms) : 0, 49148
Remote Config [baseline] (678.849 µs) : 0, 679
Remote Config [candidate] (675.962 µs) : 0, 676
Telemetry [baseline] (7.196 ms) : 0, 7196
Telemetry [candidate] (7.113 ms) : 0, 7113
section iast
BytebuddyAgent [baseline] (764.822 ms) : 0, 764822
BytebuddyAgent [candidate] (765.79 ms) : 0, 765790
GlobalTracer [baseline] (284.641 ms) : 0, 284641
GlobalTracer [candidate] (284.866 ms) : 0, 284866
AppSec [baseline] (46.372 ms) : 0, 46372
AppSec [candidate] (46.473 ms) : 0, 46473
Remote Config [baseline] (598.017 µs) : 0, 598
Remote Config [candidate] (598.956 µs) : 0, 599
Telemetry [baseline] (6.555 ms) : 0, 6555
Telemetry [candidate] (8.042 ms) : 0, 8042
IAST [baseline] (20.742 ms) : 0, 20742
IAST [candidate] (18.032 ms) : 0, 18032
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (768.067 ms) : 0, 768067
BytebuddyAgent [candidate] (759.139 ms) : 0, 759139
GlobalTracer [baseline] (287.141 ms) : 0, 287141
GlobalTracer [candidate] (286.184 ms) : 0, 286184
AppSec [baseline] (46.991 ms) : 0, 46991
AppSec [candidate] (46.857 ms) : 0, 46857
Remote Config [baseline] (623.01 µs) : 0, 623
Remote Config [candidate] (597.302 µs) : 0, 597
Telemetry [baseline] (10.145 ms) : 0, 10145
Telemetry [candidate] (8.692 ms) : 0, 8692
IAST [baseline] (16.436 ms) : 0, 16436
IAST [candidate] (17.628 ms) : 0, 17628
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.26.0-SNAPSHOT~b85af50d55, baseline=1.26.0-SNAPSHOT~5307b46fe3

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.04 s) : 0, 1040399
Total [baseline] (9.373 s) : 0, 9373214
Agent [candidate] (1.051 s) : 0, 1050950
Total [candidate] (9.31 s) : 0, 9309919
section appsec
Agent [baseline] (1.129 s) : 0, 1129130
Total [baseline] (9.397 s) : 0, 9396790
Agent [candidate] (1.132 s) : 0, 1131654
Total [candidate] (9.416 s) : 0, 9416013
section iast
Agent [baseline] (1.156 s) : 0, 1155767
Total [baseline] (9.481 s) : 0, 9481264
Agent [candidate] (1.161 s) : 0, 1161499
Total [candidate] (9.575 s) : 0, 9575376
section profiling
Agent [baseline] (1.234 s) : 0, 1233575
Total [baseline] (9.609 s) : 0, 9608890
Agent [candidate] (1.228 s) : 0, 1228320
Total [candidate] (9.632 s) : 0, 9632436
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.04 s -
Agent appsec 1.129 s 88.731 ms (8.5%)
Agent iast 1.156 s 115.368 ms (11.1%)
Agent profiling 1.234 s 193.176 ms (18.6%)
Total tracing 9.373 s -
Total appsec 9.397 s 23.576 ms (0.3%)
Total iast 9.481 s 108.05 ms (1.2%)
Total profiling 9.609 s 235.677 ms (2.5%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.051 s -
Agent appsec 1.132 s 80.704 ms (7.7%)
Agent iast 1.161 s 110.549 ms (10.5%)
Agent profiling 1.228 s 177.37 ms (16.9%)
Total tracing 9.31 s -
Total appsec 9.416 s 106.094 ms (1.1%)
Total iast 9.575 s 265.457 ms (2.9%)
Total profiling 9.632 s 322.517 ms (3.5%)
gantt
    title petclinic - break down per module: candidate=1.26.0-SNAPSHOT~b85af50d55, baseline=1.26.0-SNAPSHOT~5307b46fe3

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (643.392 ms) : 0, 643392
BytebuddyAgent [candidate] (649.84 ms) : 0, 649840
GlobalTracer [baseline] (306.237 ms) : 0, 306237
GlobalTracer [candidate] (309.305 ms) : 0, 309305
AppSec [baseline] (48.784 ms) : 0, 48784
AppSec [candidate] (49.53 ms) : 0, 49530
Remote Config [baseline] (667.413 µs) : 0, 667
Remote Config [candidate] (673.889 µs) : 0, 674
Telemetry [baseline] (7.145 ms) : 0, 7145
Telemetry [candidate] (7.088 ms) : 0, 7088
section appsec
BytebuddyAgent [baseline] (644.798 ms) : 0, 644798
BytebuddyAgent [candidate] (645.209 ms) : 0, 645209
GlobalTracer [baseline] (306.406 ms) : 0, 306406
GlobalTracer [candidate] (306.398 ms) : 0, 306398
AppSec [baseline] (136.289 ms) : 0, 136289
AppSec [candidate] (137.075 ms) : 0, 137075
Remote Config [baseline] (643.486 µs) : 0, 643
Remote Config [candidate] (640.66 µs) : 0, 641
Telemetry [baseline] (6.788 ms) : 0, 6788
Telemetry [candidate] (8.085 ms) : 0, 8085
section iast
BytebuddyAgent [baseline] (762.836 ms) : 0, 762836
BytebuddyAgent [candidate] (767.3 ms) : 0, 767300
GlobalTracer [baseline] (283.803 ms) : 0, 283803
GlobalTracer [candidate] (285.228 ms) : 0, 285228
AppSec [baseline] (46.202 ms) : 0, 46202
AppSec [candidate] (46.525 ms) : 0, 46525
Remote Config [baseline] (598.467 µs) : 0, 598
Remote Config [candidate] (611.275 µs) : 0, 611
Telemetry [baseline] (7.996 ms) : 0, 7996
Telemetry [candidate] (6.629 ms) : 0, 6629
IAST [baseline] (20.146 ms) : 0, 20146
IAST [candidate] (20.988 ms) : 0, 20988
section profiling
BytebuddyAgent [baseline] (658.084 ms) : 0, 658084
BytebuddyAgent [candidate] (654.694 ms) : 0, 654694
GlobalTracer [baseline] (376.522 ms) : 0, 376522
GlobalTracer [candidate] (375.606 ms) : 0, 375606
AppSec [baseline] (48.637 ms) : 0, 48637
AppSec [candidate] (48.242 ms) : 0, 48242
Remote Config [baseline] (684.567 µs) : 0, 685
Remote Config [candidate] (683.145 µs) : 0, 683
Telemetry [baseline] (7.339 ms) : 0, 7339
Telemetry [candidate] (7.403 ms) : 0, 7403
ProfilingAgent [baseline] (87.926 ms) : 0, 87926
ProfilingAgent [candidate] (87.845 ms) : 0, 87845
Profiling [baseline] (87.951 ms) : 0, 87951
Profiling [candidate] (87.87 ms) : 0, 87870
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2023-12-11T07:58:08 2023-12-11T08:14:41
git_branch master bbujon/span-links
git_commit_date 1702050053 1702279955
git_commit_sha 5307b46 b85af50d55
release_version 1.26.0-SNAPSHOT~5307b46fe3 1.26.0-SNAPSHOT~b85af50d55
start_time 2023-12-11T07:57:55 2023-12-11T08:14:28
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1702282735 1702282735
ci_job_id 386141772 386141772
ci_pipeline_id 24756990 24756990
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 8 metrics, 14 unstable metrics.

Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.26.0-SNAPSHOT~b85af50d55, baseline=1.26.0-SNAPSHOT~5307b46fe3
    dateFormat X
    axisFormat %s
section baseline
no_agent (366.777 µs) : 345, 389
.   : milestone, 367,
iast (468.568 µs) : 448, 489
.   : milestone, 469,
iast_FULL (533.514 µs) : 513, 554
.   : milestone, 534,
iast_INACTIVE (445.479 µs) : 424, 466
.   : milestone, 445,
iast_TELEMETRY_OFF (473.618 µs) : 452, 495
.   : milestone, 474,
tracing (434.397 µs) : 414, 455
.   : milestone, 434,
section candidate
no_agent (365.61 µs) : 345, 386
.   : milestone, 366,
iast (466.123 µs) : 446, 487
.   : milestone, 466,
iast_FULL (529.593 µs) : 509, 550
.   : milestone, 530,
iast_INACTIVE (448.278 µs) : 428, 469
.   : milestone, 448,
iast_TELEMETRY_OFF (468.185 µs) : 447, 490
.   : milestone, 468,
tracing (447.182 µs) : 426, 468
.   : milestone, 447,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 366.777 µs [344.719 µs, 388.835 µs] -
iast 468.568 µs [447.902 µs, 489.235 µs] 101.791 µs (27.8%)
iast_FULL 533.514 µs [512.89 µs, 554.139 µs] 166.737 µs (45.5%)
iast_INACTIVE 445.479 µs [424.479 µs, 466.479 µs] 78.702 µs (21.5%)
iast_TELEMETRY_OFF 473.618 µs [452.407 µs, 494.829 µs] 106.84 µs (29.1%)
tracing 434.397 µs [414.158 µs, 454.637 µs] 67.62 µs (18.4%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 365.61 µs [345.426 µs, 385.794 µs] -
iast 466.123 µs [445.706 µs, 486.54 µs] 100.513 µs (27.5%)
iast_FULL 529.593 µs [509.059 µs, 550.127 µs] 163.983 µs (44.9%)
iast_INACTIVE 448.278 µs [427.698 µs, 468.858 µs] 82.668 µs (22.6%)
iast_TELEMETRY_OFF 468.185 µs [446.859 µs, 489.511 µs] 102.575 µs (28.1%)
tracing 447.182 µs [425.937 µs, 468.427 µs] 81.572 µs (22.3%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.26.0-SNAPSHOT~b85af50d55, baseline=1.26.0-SNAPSHOT~5307b46fe3
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.356 ms) : 1337, 1376
.   : milestone, 1356,
appsec (1.755 ms) : 1730, 1780
.   : milestone, 1755,
iast (1.531 ms) : 1507, 1555
.   : milestone, 1531,
profiling (1.546 ms) : 1520, 1573
.   : milestone, 1546,
tracing (1.489 ms) : 1464, 1514
.   : milestone, 1489,
section candidate
no_agent (1.346 ms) : 1326, 1365
.   : milestone, 1346,
appsec (1.747 ms) : 1722, 1772
.   : milestone, 1747,
iast (1.508 ms) : 1483, 1534
.   : milestone, 1508,
profiling (1.542 ms) : 1516, 1568
.   : milestone, 1542,
tracing (1.502 ms) : 1477, 1526
.   : milestone, 1502,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.356 ms [1.337 ms, 1.376 ms] -
appsec 1.755 ms [1.73 ms, 1.78 ms] 398.527 µs (29.4%)
iast 1.531 ms [1.507 ms, 1.555 ms] 174.615 µs (12.9%)
profiling 1.546 ms [1.52 ms, 1.573 ms] 189.698 µs (14.0%)
tracing 1.489 ms [1.464 ms, 1.514 ms] 132.627 µs (9.8%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.346 ms [1.326 ms, 1.365 ms] -
appsec 1.747 ms [1.722 ms, 1.772 ms] 401.358 µs (29.8%)
iast 1.508 ms [1.483 ms, 1.534 ms] 162.739 µs (12.1%)
profiling 1.542 ms [1.516 ms, 1.568 ms] 196.34 µs (14.6%)
tracing 1.502 ms [1.477 ms, 1.526 ms] 156.054 µs (11.6%)

@PerfectSlayer
PerfectSlayer merged commit 425c4cc into master Dec 12, 2023
@PerfectSlayer
PerfectSlayer deleted the bbujon/span-links branch December 12, 2023 10:40
@github-actions github-actions Bot added this to the 1.26.0 milestone Dec 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: core Tracer core type: bug fix Bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants