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

Ensure OpenTelemetry span kind is set #6205

Merged
merged 1 commit into from
Nov 13, 2023
Merged

Conversation

PerfectSlayer
Copy link
Contributor

@PerfectSlayer PerfectSlayer commented Nov 13, 2023

What Does This Do

This PR will make OpenTelemetry span kind always set (to INTERNAL by default).

Motivation

The OTel SDK behavior always defines a span kind to its spans.

Additional Notes

Jira ticket: APMJAVA-1121

@PerfectSlayer PerfectSlayer added type: enhancement inst: opentelemetry OpenTelemetry instrumentation labels Nov 13, 2023
@PerfectSlayer PerfectSlayer requested a review from a team as a code owner November 13, 2023 12:56
@PerfectSlayer PerfectSlayer changed the title Ensure OTel span kind is set Ensure OpenTelemetry span kind is set Nov 13, 2023
@pr-commenter
Copy link

pr-commenter bot commented Nov 13, 2023

Benchmarks

Startup

Parameters

Baseline Candidate
commit 1.24.0-SNAPSHOT~3fb888b81b 1.24.0-SNAPSHOT~d80ad1f79a
config baseline candidate
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
module Agent Agent
parent None None
variant iast iast

Summary

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

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.24.0-SNAPSHOT~d80ad1f79a, baseline=1.24.0-SNAPSHOT~3fb888b81b

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.033 s) : 0, 1033091
Total [baseline] (9.269 s) : 0, 9268668
Agent [candidate] (1.036 s) : 0, 1035816
Total [candidate] (9.299 s) : 0, 9298878
section appsec
Agent [baseline] (1.119 s) : 0, 1118710
Total [baseline] (9.427 s) : 0, 9426539
Agent [candidate] (1.121 s) : 0, 1120814
Total [candidate] (9.448 s) : 0, 9447955
section iast
Agent [baseline] (1.149 s) : 0, 1148957
Total [baseline] (9.56 s) : 0, 9559651
Agent [candidate] (1.15 s) : 0, 1150066
Total [candidate] (9.554 s) : 0, 9553810
section profiling
Agent [baseline] (1.217 s) : 0, 1216516
Total [baseline] (9.512 s) : 0, 9511880
Agent [candidate] (1.218 s) : 0, 1218118
Total [candidate] (9.509 s) : 0, 9509197
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.033 s -
Agent appsec 1.119 s 85.619 ms (8.3%)
Agent iast 1.149 s 115.865 ms (11.2%)
Agent profiling 1.217 s 183.425 ms (17.8%)
Total tracing 9.269 s -
Total appsec 9.427 s 157.871 ms (1.7%)
Total iast 9.56 s 290.983 ms (3.1%)
Total profiling 9.512 s 243.212 ms (2.6%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.036 s -
Agent appsec 1.121 s 84.998 ms (8.2%)
Agent iast 1.15 s 114.25 ms (11.0%)
Agent profiling 1.218 s 182.302 ms (17.6%)
Total tracing 9.299 s -
Total appsec 9.448 s 149.077 ms (1.6%)
Total iast 9.554 s 254.932 ms (2.7%)
Total profiling 9.509 s 210.319 ms (2.3%)
gantt
    title petclinic - break down per module: candidate=1.24.0-SNAPSHOT~d80ad1f79a, baseline=1.24.0-SNAPSHOT~3fb888b81b

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (644.574 ms) : 0, 644574
BytebuddyAgent [candidate] (646.174 ms) : 0, 646174
GlobalTracer [baseline] (293.117 ms) : 0, 293117
GlobalTracer [candidate] (294.491 ms) : 0, 294491
AppSec [baseline] (48.881 ms) : 0, 48881
AppSec [candidate] (48.737 ms) : 0, 48737
Remote Config [baseline] (697.406 µs) : 0, 697
Remote Config [candidate] (689.968 µs) : 0, 690
Telemetry [baseline] (11.285 ms) : 0, 11285
Telemetry [candidate] (11.216 ms) : 0, 11216
section appsec
BytebuddyAgent [baseline] (644.74 ms) : 0, 644740
BytebuddyAgent [candidate] (645.535 ms) : 0, 645535
GlobalTracer [baseline] (293.644 ms) : 0, 293644
GlobalTracer [candidate] (294.341 ms) : 0, 294341
AppSec [baseline] (138.554 ms) : 0, 138554
AppSec [candidate] (139.023 ms) : 0, 139023
Remote Config [baseline] (640.56 µs) : 0, 641
Remote Config [candidate] (642.002 µs) : 0, 642
Telemetry [baseline] (6.839 ms) : 0, 6839
Telemetry [candidate] (6.853 ms) : 0, 6853
section iast
BytebuddyAgent [baseline] (763.926 ms) : 0, 763926
BytebuddyAgent [candidate] (765.842 ms) : 0, 765842
GlobalTracer [baseline] (273.903 ms) : 0, 273903
GlobalTracer [candidate] (274.675 ms) : 0, 274675
AppSec [baseline] (46.655 ms) : 0, 46655
AppSec [candidate] (47.025 ms) : 0, 47025
IAST [baseline] (16.157 ms) : 0, 16157
IAST [candidate] (15.582 ms) : 0, 15582
Remote Config [baseline] (575.452 µs) : 0, 575
Remote Config [candidate] (571.47 µs) : 0, 571
Telemetry [baseline] (13.236 ms) : 0, 13236
Telemetry [candidate] (11.892 ms) : 0, 11892
section profiling
BytebuddyAgent [baseline] (655.135 ms) : 0, 655135
BytebuddyAgent [candidate] (656.297 ms) : 0, 656297
GlobalTracer [baseline] (358.254 ms) : 0, 358254
GlobalTracer [candidate] (358.266 ms) : 0, 358266
AppSec [baseline] (48.824 ms) : 0, 48824
AppSec [candidate] (48.845 ms) : 0, 48845
Remote Config [baseline] (646.578 µs) : 0, 647
Remote Config [candidate] (652.195 µs) : 0, 652
Telemetry [baseline] (11.252 ms) : 0, 11252
Telemetry [candidate] (11.387 ms) : 0, 11387
ProfilingAgent [baseline] (88.006 ms) : 0, 88006
ProfilingAgent [candidate] (88.378 ms) : 0, 88378
Profiling [baseline] (88.03 ms) : 0, 88030
Profiling [candidate] (88.402 ms) : 0, 88402
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.24.0-SNAPSHOT~d80ad1f79a, baseline=1.24.0-SNAPSHOT~3fb888b81b

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.031 s) : 0, 1031240
Total [baseline] (8.769 s) : 0, 8769253
Agent [candidate] (1.035 s) : 0, 1035400
Total [candidate] (8.795 s) : 0, 8795400
section iast
Agent [baseline] (1.152 s) : 0, 1151879
Total [baseline] (9.337 s) : 0, 9337461
Agent [candidate] (1.154 s) : 0, 1154385
Total [candidate] (9.355 s) : 0, 9355016
section iast_TELEMETRY_OFF
Agent [baseline] (1.148 s) : 0, 1148008
Total [baseline] (9.321 s) : 0, 9321280
Agent [candidate] (1.153 s) : 0, 1153265
Total [candidate] (9.279 s) : 0, 9278986
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.031 s -
Agent iast 1.152 s 120.639 ms (11.7%)
Agent iast_TELEMETRY_OFF 1.148 s 116.768 ms (11.3%)
Total tracing 8.769 s -
Total iast 9.337 s 568.208 ms (6.5%)
Total iast_TELEMETRY_OFF 9.321 s 552.027 ms (6.3%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.035 s -
Agent iast 1.154 s 118.985 ms (11.5%)
Agent iast_TELEMETRY_OFF 1.153 s 117.864 ms (11.4%)
Total tracing 8.795 s -
Total iast 9.355 s 559.616 ms (6.4%)
Total iast_TELEMETRY_OFF 9.279 s 483.586 ms (5.5%)
gantt
    title insecure-bank - break down per module: candidate=1.24.0-SNAPSHOT~d80ad1f79a, baseline=1.24.0-SNAPSHOT~3fb888b81b

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (643.947 ms) : 0, 643947
BytebuddyAgent [candidate] (646.188 ms) : 0, 646188
GlobalTracer [baseline] (292.161 ms) : 0, 292161
GlobalTracer [candidate] (293.978 ms) : 0, 293978
AppSec [baseline] (48.857 ms) : 0, 48857
AppSec [candidate] (48.824 ms) : 0, 48824
Remote Config [baseline] (691.309 µs) : 0, 691
Remote Config [candidate] (692.191 µs) : 0, 692
Telemetry [baseline] (11.287 ms) : 0, 11287
Telemetry [candidate] (11.235 ms) : 0, 11235
section iast
BytebuddyAgent [baseline] (763.934 ms) : 0, 763934
BytebuddyAgent [candidate] (766.892 ms) : 0, 766892
GlobalTracer [baseline] (274.917 ms) : 0, 274917
GlobalTracer [candidate] (274.828 ms) : 0, 274828
AppSec [baseline] (46.529 ms) : 0, 46529
AppSec [candidate] (46.898 ms) : 0, 46898
IAST [baseline] (17.592 ms) : 0, 17592
IAST [candidate] (18.17 ms) : 0, 18170
Remote Config [baseline] (587.338 µs) : 0, 587
Remote Config [candidate] (573.732 µs) : 0, 574
Telemetry [baseline] (13.927 ms) : 0, 13927
Telemetry [candidate] (12.507 ms) : 0, 12507
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (762.556 ms) : 0, 762556
BytebuddyAgent [candidate] (765.719 ms) : 0, 765719
GlobalTracer [baseline] (274.57 ms) : 0, 274570
GlobalTracer [candidate] (276.604 ms) : 0, 276604
AppSec [baseline] (46.952 ms) : 0, 46952
AppSec [candidate] (46.495 ms) : 0, 46495
IAST [baseline] (17.529 ms) : 0, 17529
IAST [candidate] (16.448 ms) : 0, 16448
Remote Config [baseline] (580.698 µs) : 0, 581
Remote Config [candidate] (587.495 µs) : 0, 587
Telemetry [baseline] (11.216 ms) : 0, 11216
Telemetry [candidate] (12.715 ms) : 0, 12715
Loading

Load

Parameters

Baseline Candidate
commit 1.24.0-SNAPSHOT~3fb888b81b 1.24.0-SNAPSHOT~d80ad1f79a
config baseline candidate
end_time 2023-11-13T14:04:12 2023-11-13T14:20:40
start_time 2023-11-13T14:04:00 2023-11-13T14:20:27
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
variant iast iast

Summary

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

Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.24.0-SNAPSHOT~d80ad1f79a, baseline=1.24.0-SNAPSHOT~3fb888b81b
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.326 ms) : 1307, 1345
.   : milestone, 1326,
appsec (1.726 ms) : 1702, 1751
.   : milestone, 1726,
iast (1.489 ms) : 1465, 1513
.   : milestone, 1489,
profiling (1.474 ms) : 1447, 1500
.   : milestone, 1474,
tracing (1.467 ms) : 1442, 1491
.   : milestone, 1467,
section candidate
no_agent (1.343 ms) : 1325, 1362
.   : milestone, 1343,
appsec (1.703 ms) : 1678, 1727
.   : milestone, 1703,
iast (1.464 ms) : 1440, 1488
.   : milestone, 1464,
profiling (1.47 ms) : 1445, 1495
.   : milestone, 1470,
tracing (1.45 ms) : 1425, 1475
.   : milestone, 1450,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.326 ms [1.307 ms, 1.345 ms] -
appsec 1.726 ms [1.702 ms, 1.751 ms] 400.47 µs (30.2%)
iast 1.489 ms [1.465 ms, 1.513 ms] 163.246 µs (12.3%)
profiling 1.474 ms [1.447 ms, 1.5 ms] 147.939 µs (11.2%)
tracing 1.467 ms [1.442 ms, 1.491 ms] 140.749 µs (10.6%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.343 ms [1.325 ms, 1.362 ms] -
appsec 1.703 ms [1.678 ms, 1.727 ms] 359.038 µs (26.7%)
iast 1.464 ms [1.44 ms, 1.488 ms] 120.591 µs (9.0%)
profiling 1.47 ms [1.445 ms, 1.495 ms] 126.429 µs (9.4%)
tracing 1.45 ms [1.425 ms, 1.475 ms] 106.81 µs (8.0%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.24.0-SNAPSHOT~d80ad1f79a, baseline=1.24.0-SNAPSHOT~3fb888b81b
    dateFormat X
    axisFormat %s
section baseline
no_agent (360.148 µs) : 340, 380
.   : milestone, 360,
iast (464.437 µs) : 444, 485
.   : milestone, 464,
iast_FULL (524.394 µs) : 504, 545
.   : milestone, 524,
iast_INACTIVE (437.506 µs) : 416, 459
.   : milestone, 438,
iast_TELEMETRY_OFF (454.695 µs) : 434, 476
.   : milestone, 455,
tracing (431.856 µs) : 411, 453
.   : milestone, 432,
section candidate
no_agent (359.58 µs) : 340, 380
.   : milestone, 360,
iast (459.484 µs) : 439, 480
.   : milestone, 459,
iast_FULL (524.314 µs) : 503, 545
.   : milestone, 524,
iast_INACTIVE (443.328 µs) : 421, 466
.   : milestone, 443,
iast_TELEMETRY_OFF (462.7 µs) : 441, 484
.   : milestone, 463,
tracing (429.263 µs) : 408, 451
.   : milestone, 429,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 360.148 µs [340.225 µs, 380.071 µs] -
iast 464.437 µs [443.835 µs, 485.039 µs] 104.289 µs (29.0%)
iast_FULL 524.394 µs [503.555 µs, 545.233 µs] 164.246 µs (45.6%)
iast_INACTIVE 437.506 µs [416.422 µs, 458.59 µs] 77.358 µs (21.5%)
iast_TELEMETRY_OFF 454.695 µs [433.551 µs, 475.84 µs] 94.547 µs (26.3%)
tracing 431.856 µs [410.504 µs, 453.207 µs] 71.708 µs (19.9%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 359.58 µs [339.618 µs, 379.543 µs] -
iast 459.484 µs [438.825 µs, 480.143 µs] 99.904 µs (27.8%)
iast_FULL 524.314 µs [503.464 µs, 545.163 µs] 164.734 µs (45.8%)
iast_INACTIVE 443.328 µs [421.043 µs, 465.613 µs] 83.748 µs (23.3%)
iast_TELEMETRY_OFF 462.7 µs [441.447 µs, 483.952 µs] 103.12 µs (28.7%)
tracing 429.263 µs [407.768 µs, 450.757 µs] 69.683 µs (19.4%)

Copy link
Contributor

@mcculls mcculls left a comment

Choose a reason for hiding this comment

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

LGTM

@PerfectSlayer PerfectSlayer merged commit 36f0e4b into master Nov 13, 2023
66 of 69 checks passed
@PerfectSlayer PerfectSlayer deleted the bbujon/otel-span-kind branch November 13, 2023 16:55
@github-actions github-actions bot added this to the 1.24.0 milestone Nov 13, 2023
jandro996 pushed a commit that referenced this pull request Nov 14, 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: enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants