Skip to content

Ensure OpenTelemetry spans are not modifiable when finished#5722

Merged
PerfectSlayer merged 1 commit into
masterfrom
bbujon/otel
Aug 16, 2023
Merged

Ensure OpenTelemetry spans are not modifiable when finished#5722
PerfectSlayer merged 1 commit into
masterfrom
bbujon/otel

Conversation

@PerfectSlayer

Copy link
Copy Markdown
Contributor

What Does This Do

The OpenTelemetry spans should not be modifiable when finished.

Motivation

Specification reference

Additional Notes

@PerfectSlayer PerfectSlayer added type: bug fix Bug fix inst: opentelemetry OpenTelemetry instrumentation labels Aug 16, 2023
@PerfectSlayer
PerfectSlayer requested a review from a team as a code owner August 16, 2023 07:36
@PerfectSlayer PerfectSlayer changed the title Ensure OTel spans are not modifiable when finished Ensure OpenTelemetry spans are not modifiable when finished Aug 16, 2023
@pr-commenter

pr-commenter Bot commented Aug 16, 2023

Copy link
Copy Markdown

Benchmarks

Startup

Parameters

Baseline Candidate
commit 1.20.0-SNAPSHOT~78d3f137c8 1.20.0-SNAPSHOT~2cfd547318
config baseline candidate
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
module Agent Agent
parent None None
variant appsec appsec

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 62 cases.

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.20.0-SNAPSHOT~2cfd547318, baseline=1.20.0-SNAPSHOT~78d3f137c8

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (985.345 ms) : 0, 985345
Total [baseline] (9.18 s) : 0, 9179944
Agent [candidate] (991.659 ms) : 0, 991659
Total [candidate] (9.206 s) : 0, 9206226
section appsec
Agent [baseline] (1.069 s) : 0, 1068977
Total [baseline] (9.237 s) : 0, 9236783
Agent [candidate] (1.07 s) : 0, 1069885
Total [candidate] (9.308 s) : 0, 9307910
section iast
Agent [baseline] (1.085 s) : 0, 1084998
Total [baseline] (9.437 s) : 0, 9437207
Agent [candidate] (1.083 s) : 0, 1083320
Total [candidate] (9.454 s) : 0, 9454258
section profiling
Agent [baseline] (1.154 s) : 0, 1154342
Total [baseline] (9.469 s) : 0, 9469174
Agent [candidate] (1.156 s) : 0, 1156376
Total [candidate] (9.454 s) : 0, 9454325
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 985.345 ms -
Agent appsec 1.069 s 83.632 ms (8.5%)
Agent iast 1.085 s 99.653 ms (10.1%)
Agent profiling 1.154 s 168.997 ms (17.2%)
Total tracing 9.18 s -
Total appsec 9.237 s 56.839 ms (0.6%)
Total iast 9.437 s 257.263 ms (2.8%)
Total profiling 9.469 s 289.23 ms (3.2%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 991.659 ms -
Agent appsec 1.07 s 78.226 ms (7.9%)
Agent iast 1.083 s 91.661 ms (9.2%)
Agent profiling 1.156 s 164.717 ms (16.6%)
Total tracing 9.206 s -
Total appsec 9.308 s 101.683 ms (1.1%)
Total iast 9.454 s 248.031 ms (2.7%)
Total profiling 9.454 s 248.098 ms (2.7%)
gantt
    title petclinic - break down per module: candidate=1.20.0-SNAPSHOT~2cfd547318, baseline=1.20.0-SNAPSHOT~78d3f137c8

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (610.201 ms) : 0, 610201
BytebuddyAgent [candidate] (613.976 ms) : 0, 613976
GlobalTracer [baseline] (284.371 ms) : 0, 284371
GlobalTracer [candidate] (286.865 ms) : 0, 286865
AppSec [baseline] (50.342 ms) : 0, 50342
AppSec [candidate] (50.285 ms) : 0, 50285
Remote Config [baseline] (679.909 µs) : 0, 680
Remote Config [candidate] (663.154 µs) : 0, 663
Telemetry [baseline] (5.434 ms) : 0, 5434
Telemetry [candidate] (5.436 ms) : 0, 5436
section appsec
BytebuddyAgent [baseline] (609.71 ms) : 0, 609710
BytebuddyAgent [candidate] (609.982 ms) : 0, 609982
GlobalTracer [baseline] (284.195 ms) : 0, 284195
GlobalTracer [candidate] (284.326 ms) : 0, 284326
AppSec [baseline] (134.924 ms) : 0, 134924
AppSec [candidate] (135.523 ms) : 0, 135523
Remote Config [baseline] (720.156 µs) : 0, 720
Remote Config [candidate] (758.752 µs) : 0, 759
Telemetry [baseline] (5.147 ms) : 0, 5147
Telemetry [candidate] (5.134 ms) : 0, 5134
section iast
BytebuddyAgent [baseline] (712.719 ms) : 0, 712719
BytebuddyAgent [candidate] (710.567 ms) : 0, 710567
GlobalTracer [baseline] (270.777 ms) : 0, 270777
GlobalTracer [candidate] (271.263 ms) : 0, 271263
AppSec [baseline] (46.988 ms) : 0, 46988
AppSec [candidate] (47.156 ms) : 0, 47156
Remote Config [baseline] (624.107 µs) : 0, 624
Remote Config [candidate] (633.604 µs) : 0, 634
Telemetry [baseline] (5.583 ms) : 0, 5583
Telemetry [candidate] (5.475 ms) : 0, 5475
IAST [baseline] (13.961 ms) : 0, 13961
IAST [candidate] (14.011 ms) : 0, 14011
section profiling
BytebuddyAgent [baseline] (621.477 ms) : 0, 621477
BytebuddyAgent [candidate] (622.561 ms) : 0, 622561
GlobalTracer [baseline] (349.009 ms) : 0, 349009
GlobalTracer [candidate] (350.241 ms) : 0, 350241
AppSec [baseline] (48.979 ms) : 0, 48979
AppSec [candidate] (49.553 ms) : 0, 49553
Remote Config [baseline] (647.008 µs) : 0, 647
Remote Config [candidate] (645.17 µs) : 0, 645
Telemetry [baseline] (5.324 ms) : 0, 5324
Telemetry [candidate] (5.351 ms) : 0, 5351
ProfilingAgent [baseline] (76.077 ms) : 0, 76077
ProfilingAgent [candidate] (75.006 ms) : 0, 75006
Profiling [baseline] (76.101 ms) : 0, 76101
Profiling [candidate] (75.03 ms) : 0, 75030
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.20.0-SNAPSHOT~2cfd547318, baseline=1.20.0-SNAPSHOT~78d3f137c8

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (984.14 ms) : 0, 984140
Total [baseline] (8.68 s) : 0, 8679885
Agent [candidate] (989.796 ms) : 0, 989796
Total [candidate] (8.66 s) : 0, 8660355
section appsec
Agent [baseline] (1.069 s) : 0, 1068819
Total [baseline] (8.758 s) : 0, 8757693
Agent [candidate] (1.072 s) : 0, 1071967
Total [candidate] (8.742 s) : 0, 8741888
section iast
Agent [baseline] (1.084 s) : 0, 1083912
Total [baseline] (9.163 s) : 0, 9162867
Agent [candidate] (1.084 s) : 0, 1084103
Total [candidate] (9.169 s) : 0, 9168695
section profiling
Agent [baseline] (1.155 s) : 0, 1154635
Total [baseline] (8.881 s) : 0, 8880827
Agent [candidate] (1.153 s) : 0, 1152994
Total [candidate] (8.887 s) : 0, 8887180
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 984.14 ms -
Agent appsec 1.069 s 84.679 ms (8.6%)
Agent iast 1.084 s 99.772 ms (10.1%)
Agent profiling 1.155 s 170.495 ms (17.3%)
Total tracing 8.68 s -
Total appsec 8.758 s 77.808 ms (0.9%)
Total iast 9.163 s 482.981 ms (5.6%)
Total profiling 8.881 s 200.942 ms (2.3%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 989.796 ms -
Agent appsec 1.072 s 82.171 ms (8.3%)
Agent iast 1.084 s 94.306 ms (9.5%)
Agent profiling 1.153 s 163.197 ms (16.5%)
Total tracing 8.66 s -
Total appsec 8.742 s 81.533 ms (0.9%)
Total iast 9.169 s 508.339 ms (5.9%)
Total profiling 8.887 s 226.824 ms (2.6%)
gantt
    title insecure-bank - break down per module: candidate=1.20.0-SNAPSHOT~2cfd547318, baseline=1.20.0-SNAPSHOT~78d3f137c8

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (610.022 ms) : 0, 610022
BytebuddyAgent [candidate] (612.655 ms) : 0, 612655
GlobalTracer [baseline] (283.756 ms) : 0, 283756
GlobalTracer [candidate] (286.126 ms) : 0, 286126
AppSec [baseline] (50.008 ms) : 0, 50008
AppSec [candidate] (50.41 ms) : 0, 50410
Remote Config [baseline] (662.392 µs) : 0, 662
Remote Config [candidate] (663.496 µs) : 0, 663
Telemetry [baseline] (5.38 ms) : 0, 5380
Telemetry [candidate] (5.447 ms) : 0, 5447
section appsec
BytebuddyAgent [baseline] (609.308 ms) : 0, 609308
BytebuddyAgent [candidate] (610.805 ms) : 0, 610805
GlobalTracer [baseline] (283.892 ms) : 0, 283892
GlobalTracer [candidate] (285.381 ms) : 0, 285381
AppSec [baseline] (135.512 ms) : 0, 135512
AppSec [candidate] (135.645 ms) : 0, 135645
Remote Config [baseline] (716.56 µs) : 0, 717
Remote Config [candidate] (717.725 µs) : 0, 718
Telemetry [baseline] (5.155 ms) : 0, 5155
Telemetry [candidate] (5.163 ms) : 0, 5163
section iast
BytebuddyAgent [baseline] (711.504 ms) : 0, 711504
BytebuddyAgent [candidate] (711.42 ms) : 0, 711420
GlobalTracer [baseline] (270.826 ms) : 0, 270826
GlobalTracer [candidate] (271.082 ms) : 0, 271082
AppSec [baseline] (47.235 ms) : 0, 47235
AppSec [candidate] (47.287 ms) : 0, 47287
Remote Config [baseline] (636.572 µs) : 0, 637
Remote Config [candidate] (633.591 µs) : 0, 634
Telemetry [baseline] (5.524 ms) : 0, 5524
Telemetry [candidate] (5.537 ms) : 0, 5537
IAST [baseline] (13.966 ms) : 0, 13966
IAST [candidate] (13.958 ms) : 0, 13958
section profiling
BytebuddyAgent [baseline] (621.344 ms) : 0, 621344
BytebuddyAgent [candidate] (620.441 ms) : 0, 620441
GlobalTracer [baseline] (349.308 ms) : 0, 349308
GlobalTracer [candidate] (349.142 ms) : 0, 349142
AppSec [baseline] (48.866 ms) : 0, 48866
AppSec [candidate] (49.053 ms) : 0, 49053
Remote Config [baseline] (648.339 µs) : 0, 648
Remote Config [candidate] (746.666 µs) : 0, 747
Telemetry [baseline] (5.316 ms) : 0, 5316
Telemetry [candidate] (5.308 ms) : 0, 5308
ProfilingAgent [baseline] (76.289 ms) : 0, 76289
ProfilingAgent [candidate] (75.774 ms) : 0, 75774
Profiling [baseline] (76.313 ms) : 0, 76313
Profiling [candidate] (75.799 ms) : 0, 75799
Loading

Load

Parameters

Baseline Candidate
commit 1.20.0-SNAPSHOT~78d3f137c8 1.20.0-SNAPSHOT~2cfd547318
config baseline candidate
end_time 2023-08-16T07:55:42 2023-08-16T08:13:47
start_time 2023-08-16T07:55:24 2023-08-16T08:13:30
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~2cfd547318, baseline=1.20.0-SNAPSHOT~78d3f137c8
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.336 ms) : 1317, 1356
.   : milestone, 1336,
appsec (1.661 ms) : 1636, 1685
.   : milestone, 1661,
iast (1.451 ms) : 1426, 1475
.   : milestone, 1451,
profiling (1.449 ms) : 1424, 1474
.   : milestone, 1449,
tracing (1.441 ms) : 1417, 1465
.   : milestone, 1441,
section candidate
no_agent (1.337 ms) : 1318, 1356
.   : milestone, 1337,
appsec (1.685 ms) : 1661, 1709
.   : milestone, 1685,
iast (1.449 ms) : 1425, 1473
.   : milestone, 1449,
profiling (1.481 ms) : 1456, 1507
.   : milestone, 1481,
tracing (1.448 ms) : 1424, 1472
.   : milestone, 1448,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.336 ms [1.317 ms, 1.356 ms] -
appsec 1.661 ms [1.636 ms, 1.685 ms] 324.199 µs (24.3%)
iast 1.451 ms [1.426 ms, 1.475 ms] 114.271 µs (8.6%)
profiling 1.449 ms [1.424 ms, 1.474 ms] 112.681 µs (8.4%)
tracing 1.441 ms [1.417 ms, 1.465 ms] 104.459 µs (7.8%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.337 ms [1.318 ms, 1.356 ms] -
appsec 1.685 ms [1.661 ms, 1.709 ms] 347.68 µs (26.0%)
iast 1.449 ms [1.425 ms, 1.473 ms] 111.823 µs (8.4%)
profiling 1.481 ms [1.456 ms, 1.507 ms] 144.065 µs (10.8%)
tracing 1.448 ms [1.424 ms, 1.472 ms] 110.536 µs (8.3%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.20.0-SNAPSHOT~2cfd547318, baseline=1.20.0-SNAPSHOT~78d3f137c8
    dateFormat X
    axisFormat %s
section baseline
no_agent (360.772 µs) : 341, 381
.   : milestone, 361,
appsec (668.516 µs) : 648, 689
.   : milestone, 669,
iast (460.922 µs) : 440, 482
.   : milestone, 461,
iast_FULL (527.352 µs) : 507, 548
.   : milestone, 527,
iast_INACTIVE (437.805 µs) : 416, 459
.   : milestone, 438,
profiling (446.032 µs) : 425, 467
.   : milestone, 446,
tracing (433.254 µs) : 413, 454
.   : milestone, 433,
section candidate
no_agent (361.345 µs) : 341, 381
.   : milestone, 361,
appsec (659.59 µs) : 639, 680
.   : milestone, 660,
iast (459.002 µs) : 438, 480
.   : milestone, 459,
iast_FULL (526.273 µs) : 505, 547
.   : milestone, 526,
iast_INACTIVE (440.576 µs) : 419, 462
.   : milestone, 441,
profiling (450.571 µs) : 428, 473
.   : milestone, 451,
tracing (428.216 µs) : 408, 448
.   : milestone, 428,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 360.772 µs [340.697 µs, 380.848 µs] -
appsec 668.516 µs [647.552 µs, 689.479 µs] 307.743 µs (85.3%)
iast 460.922 µs [440.242 µs, 481.603 µs] 100.15 µs (27.8%)
iast_FULL 527.352 µs [506.577 µs, 548.127 µs] 166.579 µs (46.2%)
iast_INACTIVE 437.805 µs [416.325 µs, 459.286 µs] 77.033 µs (21.4%)
profiling 446.032 µs [425.041 µs, 467.023 µs] 85.26 µs (23.6%)
tracing 433.254 µs [412.918 µs, 453.59 µs] 72.482 µs (20.1%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 361.345 µs [341.487 µs, 381.203 µs] -
appsec 659.59 µs [639.027 µs, 680.153 µs] 298.245 µs (82.5%)
iast 459.002 µs [437.97 µs, 480.034 µs] 97.657 µs (27.0%)
iast_FULL 526.273 µs [505.461 µs, 547.085 µs] 164.928 µs (45.6%)
iast_INACTIVE 440.576 µs [418.895 µs, 462.257 µs] 79.231 µs (21.9%)
profiling 450.571 µs [428.454 µs, 472.687 µs] 89.226 µs (24.7%)
tracing 428.216 µs [407.992 µs, 448.44 µs] 66.871 µs (18.5%)

@PerfectSlayer
PerfectSlayer merged commit 88fdf40 into master Aug 16, 2023
@PerfectSlayer
PerfectSlayer deleted the bbujon/otel branch August 16, 2023 17:20
@github-actions github-actions Bot added this to the 1.20.0 milestone Aug 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

inst: opentelemetry OpenTelemetry instrumentation type: bug fix Bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants