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

Runtime drop-in support for OpenTelemetry instrumentations #7086

Merged
merged 5 commits into from
May 29, 2024

Conversation

mcculls
Copy link
Contributor

@mcculls mcculls commented May 29, 2024

What Does This Do

Provides initial drop-in support for OpenTelemetry instrumentations at runtime, enough to load the OpenTelemetry demo instrumentation.

Mapping of muzzle declarations and virtual fields will be in another PR, followed by wider configuration support.

Additional Notes

Builds on #7049 and #7072

Jira ticket: APMAPI-68

@mcculls mcculls added the inst: opentelemetry OpenTelemetry instrumentation label May 29, 2024
@mcculls mcculls marked this pull request as ready for review May 29, 2024 12:55
@mcculls mcculls requested a review from a team as a code owner May 29, 2024 12:55
@mcculls mcculls requested review from dougqh, am312 and PerfectSlayer May 29, 2024 12:55
@pr-commenter
Copy link

pr-commenter bot commented May 29, 2024

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/map-otel-extensions
git_commit_date 1716978697 1716984759
git_commit_sha 86231f4 c771141
release_version 1.35.0-SNAPSHOT~86231f4e3c 1.35.0-SNAPSHOT~c771141fce
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1716987780 1716987780
ci_job_id 525685483 525685483
ci_pipeline_id 35332510 35332510
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 49 metrics, 14 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.35.0-SNAPSHOT~c771141fce, baseline=1.35.0-SNAPSHOT~86231f4e3c

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.069 s) : 0, 1068744
Total [baseline] (8.578 s) : 0, 8578116
Agent [candidate] (1.062 s) : 0, 1062359
Total [candidate] (8.56 s) : 0, 8559889
section iast
Agent [baseline] (1.186 s) : 0, 1186125
Total [baseline] (9.01 s) : 0, 9009783
Agent [candidate] (1.187 s) : 0, 1186961
Total [candidate] (9.03 s) : 0, 9030371
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.194 s) : 0, 1193629
Total [baseline] (9.008 s) : 0, 9008216
Agent [candidate] (1.186 s) : 0, 1185707
Total [candidate] (8.99 s) : 0, 8990349
section iast_TELEMETRY_OFF
Agent [baseline] (1.187 s) : 0, 1187305
Total [baseline] (9.034 s) : 0, 9033727
Agent [candidate] (1.179 s) : 0, 1179219
Total [candidate] (8.991 s) : 0, 8991392
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.069 s -
Agent iast 1.186 s 117.381 ms (11.0%)
Agent iast_HARDCODED_SECRET_DISABLED 1.194 s 124.885 ms (11.7%)
Agent iast_TELEMETRY_OFF 1.187 s 118.561 ms (11.1%)
Total tracing 8.578 s -
Total iast 9.01 s 431.667 ms (5.0%)
Total iast_HARDCODED_SECRET_DISABLED 9.008 s 430.1 ms (5.0%)
Total iast_TELEMETRY_OFF 9.034 s 455.611 ms (5.3%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.062 s -
Agent iast 1.187 s 124.602 ms (11.7%)
Agent iast_HARDCODED_SECRET_DISABLED 1.186 s 123.348 ms (11.6%)
Agent iast_TELEMETRY_OFF 1.179 s 116.86 ms (11.0%)
Total tracing 8.56 s -
Total iast 9.03 s 470.482 ms (5.5%)
Total iast_HARDCODED_SECRET_DISABLED 8.99 s 430.46 ms (5.0%)
Total iast_TELEMETRY_OFF 8.991 s 431.504 ms (5.0%)
gantt
    title insecure-bank - break down per module: candidate=1.35.0-SNAPSHOT~c771141fce, baseline=1.35.0-SNAPSHOT~86231f4e3c

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (659.275 ms) : 0, 659275
BytebuddyAgent [candidate] (655.168 ms) : 0, 655168
GlobalTracer [baseline] (316.009 ms) : 0, 316009
GlobalTracer [candidate] (314.194 ms) : 0, 314194
AppSec [baseline] (50.301 ms) : 0, 50301
AppSec [candidate] (50.061 ms) : 0, 50061
Remote Config [baseline] (673.228 µs) : 0, 673
Remote Config [candidate] (671.25 µs) : 0, 671
Telemetry [baseline] (7.682 ms) : 0, 7682
Telemetry [candidate] (7.69 ms) : 0, 7690
section iast
BytebuddyAgent [baseline] (777.489 ms) : 0, 777489
BytebuddyAgent [candidate] (777.93 ms) : 0, 777930
GlobalTracer [baseline] (292.616 ms) : 0, 292616
GlobalTracer [candidate] (293.894 ms) : 0, 293894
AppSec [baseline] (48.398 ms) : 0, 48398
AppSec [candidate] (47.83 ms) : 0, 47830
Remote Config [baseline] (602.796 µs) : 0, 603
Remote Config [candidate] (614.369 µs) : 0, 614
Telemetry [baseline] (8.035 ms) : 0, 8035
Telemetry [candidate] (8.209 ms) : 0, 8209
IAST [baseline] (24.581 ms) : 0, 24581
IAST [candidate] (24.108 ms) : 0, 24108
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (782.29 ms) : 0, 782290
BytebuddyAgent [candidate] (777.277 ms) : 0, 777277
GlobalTracer [baseline] (294.615 ms) : 0, 294615
GlobalTracer [candidate] (292.476 ms) : 0, 292476
AppSec [baseline] (49.229 ms) : 0, 49229
AppSec [candidate] (47.722 ms) : 0, 47722
Remote Config [baseline] (592.715 µs) : 0, 593
Remote Config [candidate] (597.938 µs) : 0, 598
Telemetry [baseline] (6.617 ms) : 0, 6617
Telemetry [candidate] (6.64 ms) : 0, 6640
IAST [baseline] (25.722 ms) : 0, 25722
IAST [candidate] (26.52 ms) : 0, 26520
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (776.935 ms) : 0, 776935
BytebuddyAgent [candidate] (772.265 ms) : 0, 772265
GlobalTracer [baseline] (292.92 ms) : 0, 292920
GlobalTracer [candidate] (291.977 ms) : 0, 291977
AppSec [baseline] (49.313 ms) : 0, 49313
AppSec [candidate] (49.031 ms) : 0, 49031
Remote Config [baseline] (625.292 µs) : 0, 625
Remote Config [candidate] (586.234 µs) : 0, 586
Telemetry [baseline] (6.534 ms) : 0, 6534
Telemetry [candidate] (8.043 ms) : 0, 8043
IAST [baseline] (26.425 ms) : 0, 26425
IAST [candidate] (22.919 ms) : 0, 22919
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.35.0-SNAPSHOT~c771141fce, baseline=1.35.0-SNAPSHOT~86231f4e3c

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.056 s) : 0, 1056338
Total [baseline] (10.311 s) : 0, 10311195
Agent [candidate] (1.055 s) : 0, 1054909
Total [candidate] (10.303 s) : 0, 10302881
section appsec
Agent [baseline] (1.183 s) : 0, 1183277
Total [baseline] (10.456 s) : 0, 10455823
Agent [candidate] (1.177 s) : 0, 1177133
Total [candidate] (10.516 s) : 0, 10516050
section iast
Agent [baseline] (1.183 s) : 0, 1182789
Total [baseline] (10.792 s) : 0, 10792279
Agent [candidate] (1.185 s) : 0, 1184717
Total [candidate] (10.733 s) : 0, 10732747
section profiling
Agent [baseline] (1.254 s) : 0, 1253738
Total [baseline] (10.526 s) : 0, 10525935
Agent [candidate] (1.266 s) : 0, 1265972
Total [candidate] (10.657 s) : 0, 10656655
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.056 s -
Agent appsec 1.183 s 126.938 ms (12.0%)
Agent iast 1.183 s 126.451 ms (12.0%)
Agent profiling 1.254 s 197.4 ms (18.7%)
Total tracing 10.311 s -
Total appsec 10.456 s 144.629 ms (1.4%)
Total iast 10.792 s 481.084 ms (4.7%)
Total profiling 10.526 s 214.74 ms (2.1%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.055 s -
Agent appsec 1.177 s 122.225 ms (11.6%)
Agent iast 1.185 s 129.808 ms (12.3%)
Agent profiling 1.266 s 211.063 ms (20.0%)
Total tracing 10.303 s -
Total appsec 10.516 s 213.168 ms (2.1%)
Total iast 10.733 s 429.865 ms (4.2%)
Total profiling 10.657 s 353.774 ms (3.4%)
gantt
    title petclinic - break down per module: candidate=1.35.0-SNAPSHOT~c771141fce, baseline=1.35.0-SNAPSHOT~86231f4e3c

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (651.906 ms) : 0, 651906
BytebuddyAgent [candidate] (651.095 ms) : 0, 651095
GlobalTracer [baseline] (312.161 ms) : 0, 312161
GlobalTracer [candidate] (311.597 ms) : 0, 311597
AppSec [baseline] (49.771 ms) : 0, 49771
AppSec [candidate] (49.701 ms) : 0, 49701
Remote Config [baseline] (660.547 µs) : 0, 661
Remote Config [candidate] (661.871 µs) : 0, 662
Telemetry [baseline] (7.553 ms) : 0, 7553
Telemetry [candidate] (7.58 ms) : 0, 7580
section appsec
BytebuddyAgent [baseline] (678.312 ms) : 0, 678312
BytebuddyAgent [candidate] (675.523 ms) : 0, 675523
GlobalTracer [baseline] (297.487 ms) : 0, 297487
GlobalTracer [candidate] (296.073 ms) : 0, 296073
AppSec [baseline] (153.364 ms) : 0, 153364
AppSec [candidate] (152.934 ms) : 0, 152934
Remote Config [baseline] (640.774 µs) : 0, 641
Remote Config [candidate] (631.97 µs) : 0, 632
Telemetry [baseline] (9.466 ms) : 0, 9466
Telemetry [candidate] (8.099 ms) : 0, 8099
IAST [baseline] (18.841 ms) : 0, 18841
IAST [candidate] (18.941 ms) : 0, 18941
section iast
BytebuddyAgent [baseline] (777.423 ms) : 0, 777423
BytebuddyAgent [candidate] (775.937 ms) : 0, 775937
GlobalTracer [baseline] (292.623 ms) : 0, 292623
GlobalTracer [candidate] (292.38 ms) : 0, 292380
AppSec [baseline] (47.44 ms) : 0, 47440
AppSec [candidate] (48.561 ms) : 0, 48561
Remote Config [baseline] (588.358 µs) : 0, 588
Remote Config [candidate] (603.998 µs) : 0, 604
Telemetry [baseline] (6.666 ms) : 0, 6666
Telemetry [candidate] (8.802 ms) : 0, 8802
IAST [baseline] (23.72 ms) : 0, 23720
IAST [candidate] (24.046 ms) : 0, 24046
section profiling
BytebuddyAgent [baseline] (658.889 ms) : 0, 658889
BytebuddyAgent [candidate] (665.542 ms) : 0, 665542
GlobalTracer [baseline] (383.929 ms) : 0, 383929
GlobalTracer [candidate] (386.988 ms) : 0, 386988
AppSec [baseline] (50.2 ms) : 0, 50200
AppSec [candidate] (50.837 ms) : 0, 50837
Remote Config [baseline] (867.496 µs) : 0, 867
Remote Config [candidate] (858.284 µs) : 0, 858
Telemetry [baseline] (7.436 ms) : 0, 7436
Telemetry [candidate] (7.52 ms) : 0, 7520
ProfilingAgent [baseline] (96.102 ms) : 0, 96102
ProfilingAgent [candidate] (97.429 ms) : 0, 97429
Profiling [baseline] (96.126 ms) : 0, 96126
Profiling [candidate] (97.454 ms) : 0, 97454
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2024-05-29T12:34:01 2024-05-29T12:40:50
git_branch master mcculls/map-otel-extensions
git_commit_date 1716978697 1716984759
git_commit_sha 86231f4 c771141
release_version 1.35.0-SNAPSHOT~86231f4e3c 1.35.0-SNAPSHOT~c771141fce
start_time 2024-05-29T12:33:48 2024-05-29T12:40:36
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1716986794 1716986794
ci_job_id 525685484 525685484
ci_pipeline_id 35332510 35332510
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 10 metrics, 18 unstable metrics.

Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.35.0-SNAPSHOT~c771141fce, baseline=1.35.0-SNAPSHOT~86231f4e3c
    dateFormat X
    axisFormat %s
section baseline
no_agent (368.629 µs) : 349, 388
.   : milestone, 369,
iast (474.4 µs) : 454, 495
.   : milestone, 474,
iast_FULL (548.916 µs) : 528, 570
.   : milestone, 549,
iast_GLOBAL (512.147 µs) : 490, 534
.   : milestone, 512,
iast_HARDCODED_SECRET_DISABLED (483.087 µs) : 460, 506
.   : milestone, 483,
iast_INACTIVE (451.831 µs) : 431, 473
.   : milestone, 452,
iast_TELEMETRY_OFF (466.445 µs) : 445, 488
.   : milestone, 466,
tracing (432.615 µs) : 412, 453
.   : milestone, 433,
section candidate
no_agent (369.106 µs) : 349, 389
.   : milestone, 369,
iast (483.103 µs) : 462, 504
.   : milestone, 483,
iast_FULL (551.883 µs) : 531, 573
.   : milestone, 552,
iast_GLOBAL (513.926 µs) : 492, 536
.   : milestone, 514,
iast_HARDCODED_SECRET_DISABLED (478.822 µs) : 456, 501
.   : milestone, 479,
iast_INACTIVE (448.574 µs) : 427, 470
.   : milestone, 449,
iast_TELEMETRY_OFF (468.112 µs) : 447, 490
.   : milestone, 468,
tracing (436.798 µs) : 416, 457
.   : milestone, 437,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 368.629 µs [349.006 µs, 388.253 µs] -
iast 474.4 µs [453.612 µs, 495.188 µs] 105.771 µs (28.7%)
iast_FULL 548.916 µs [527.757 µs, 570.075 µs] 180.287 µs (48.9%)
iast_GLOBAL 512.147 µs [489.843 µs, 534.451 µs] 143.518 µs (38.9%)
iast_HARDCODED_SECRET_DISABLED 483.087 µs [460.486 µs, 505.687 µs] 114.458 µs (31.0%)
iast_INACTIVE 451.831 µs [430.892 µs, 472.77 µs] 83.202 µs (22.6%)
iast_TELEMETRY_OFF 466.445 µs [445.386 µs, 487.503 µs] 97.815 µs (26.5%)
tracing 432.615 µs [412.323 µs, 452.907 µs] 63.986 µs (17.4%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 369.106 µs [349.482 µs, 388.73 µs] -
iast 483.103 µs [462.139 µs, 504.067 µs] 113.997 µs (30.9%)
iast_FULL 551.883 µs [530.663 µs, 573.102 µs] 182.776 µs (49.5%)
iast_GLOBAL 513.926 µs [491.548 µs, 536.304 µs] 144.82 µs (39.2%)
iast_HARDCODED_SECRET_DISABLED 478.822 µs [456.323 µs, 501.32 µs] 109.715 µs (29.7%)
iast_INACTIVE 448.574 µs [427.149 µs, 469.998 µs] 79.467 µs (21.5%)
iast_TELEMETRY_OFF 468.112 µs [446.603 µs, 489.621 µs] 99.005 µs (26.8%)
tracing 436.798 µs [416.243 µs, 457.352 µs] 67.691 µs (18.3%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.35.0-SNAPSHOT~c771141fce, baseline=1.35.0-SNAPSHOT~86231f4e3c
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.343 ms) : 1324, 1363
.   : milestone, 1343,
appsec (1.708 ms) : 1683, 1733
.   : milestone, 1708,
appsec_no_iast (1.708 ms) : 1684, 1733
.   : milestone, 1708,
iast (1.492 ms) : 1469, 1514
.   : milestone, 1492,
profiling (1.541 ms) : 1516, 1567
.   : milestone, 1541,
tracing (1.484 ms) : 1461, 1508
.   : milestone, 1484,
section candidate
no_agent (1.355 ms) : 1336, 1374
.   : milestone, 1355,
appsec (1.73 ms) : 1707, 1754
.   : milestone, 1730,
appsec_no_iast (1.721 ms) : 1697, 1746
.   : milestone, 1721,
iast (1.495 ms) : 1472, 1519
.   : milestone, 1495,
profiling (1.495 ms) : 1469, 1521
.   : milestone, 1495,
tracing (1.456 ms) : 1432, 1480
.   : milestone, 1456,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.343 ms [1.324 ms, 1.363 ms] -
appsec 1.708 ms [1.683 ms, 1.733 ms] 364.429 µs (27.1%)
appsec_no_iast 1.708 ms [1.684 ms, 1.733 ms] 364.644 µs (27.1%)
iast 1.492 ms [1.469 ms, 1.514 ms] 148.463 µs (11.1%)
profiling 1.541 ms [1.516 ms, 1.567 ms] 197.793 µs (14.7%)
tracing 1.484 ms [1.461 ms, 1.508 ms] 141.066 µs (10.5%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.355 ms [1.336 ms, 1.374 ms] -
appsec 1.73 ms [1.707 ms, 1.754 ms] 375.325 µs (27.7%)
appsec_no_iast 1.721 ms [1.697 ms, 1.746 ms] 366.244 µs (27.0%)
iast 1.495 ms [1.472 ms, 1.519 ms] 140.413 µs (10.4%)
profiling 1.495 ms [1.469 ms, 1.521 ms] 140.041 µs (10.3%)
tracing 1.456 ms [1.432 ms, 1.48 ms] 101.103 µs (7.5%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/map-otel-extensions
git_commit_date 1716978697 1716984759
git_commit_sha 86231f4 c771141
release_version 1.35.0-SNAPSHOT~86231f4e3c 1.35.0-SNAPSHOT~c771141fce
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1716987325 1716987325
ci_job_id 525685485 525685485
ci_pipeline_id 35332510 35332510
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.35.0-SNAPSHOT~c771141fce, baseline=1.35.0-SNAPSHOT~86231f4e3c
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.46 ms) : 1449, 1472
.   : milestone, 1460,
appsec (2.182 ms) : 2149, 2216
.   : milestone, 2182,
iast (1.95 ms) : 1909, 1991
.   : milestone, 1950,
iast_GLOBAL (1.99 ms) : 1950, 2031
.   : milestone, 1990,
profiling (1.833 ms) : 1800, 1866
.   : milestone, 1833,
tracing (1.826 ms) : 1793, 1858
.   : milestone, 1826,
section candidate
no_agent (1.457 ms) : 1446, 1469
.   : milestone, 1457,
appsec (2.205 ms) : 2170, 2240
.   : milestone, 2205,
iast (1.967 ms) : 1926, 2009
.   : milestone, 1967,
iast_GLOBAL (1.984 ms) : 1944, 2025
.   : milestone, 1984,
profiling (1.834 ms) : 1800, 1868
.   : milestone, 1834,
tracing (1.82 ms) : 1787, 1852
.   : milestone, 1820,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.46 ms [1.449 ms, 1.472 ms] -
appsec 2.182 ms [2.149 ms, 2.216 ms] 722.187 µs (49.5%)
iast 1.95 ms [1.909 ms, 1.991 ms] 489.976 µs (33.6%)
iast_GLOBAL 1.99 ms [1.95 ms, 2.031 ms] 530.29 µs (36.3%)
profiling 1.833 ms [1.8 ms, 1.866 ms] 372.745 µs (25.5%)
tracing 1.826 ms [1.793 ms, 1.858 ms] 365.415 µs (25.0%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.457 ms [1.446 ms, 1.469 ms] -
appsec 2.205 ms [2.17 ms, 2.24 ms] 747.901 µs (51.3%)
iast 1.967 ms [1.926 ms, 2.009 ms] 509.884 µs (35.0%)
iast_GLOBAL 1.984 ms [1.944 ms, 2.025 ms] 526.753 µs (36.1%)
profiling 1.834 ms [1.8 ms, 1.868 ms] 376.595 µs (25.8%)
tracing 1.82 ms [1.787 ms, 1.852 ms] 362.288 µs (24.9%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.35.0-SNAPSHOT~c771141fce, baseline=1.35.0-SNAPSHOT~86231f4e3c
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.896 s) : 14896000, 14896000
.   : milestone, 14896000,
appsec (14.875 s) : 14875000, 14875000
.   : milestone, 14875000,
iast (18.76 s) : 18760000, 18760000
.   : milestone, 18760000,
iast_GLOBAL (17.768 s) : 17768000, 17768000
.   : milestone, 17768000,
profiling (14.932 s) : 14932000, 14932000
.   : milestone, 14932000,
tracing (15.187 s) : 15187000, 15187000
.   : milestone, 15187000,
section candidate
no_agent (15.26 s) : 15260000, 15260000
.   : milestone, 15260000,
appsec (14.873 s) : 14873000, 14873000
.   : milestone, 14873000,
iast (18.817 s) : 18817000, 18817000
.   : milestone, 18817000,
iast_GLOBAL (17.841 s) : 17841000, 17841000
.   : milestone, 17841000,
profiling (15.369 s) : 15369000, 15369000
.   : milestone, 15369000,
tracing (14.965 s) : 14965000, 14965000
.   : milestone, 14965000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.896 s [14.896 s, 14.896 s] -
appsec 14.875 s [14.875 s, 14.875 s] -21.0 ms (-0.1%)
iast 18.76 s [18.76 s, 18.76 s] 3.864 s (25.9%)
iast_GLOBAL 17.768 s [17.768 s, 17.768 s] 2.872 s (19.3%)
profiling 14.932 s [14.932 s, 14.932 s] 36.0 ms (0.2%)
tracing 15.187 s [15.187 s, 15.187 s] 291.0 ms (2.0%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.26 s [15.26 s, 15.26 s] -
appsec 14.873 s [14.873 s, 14.873 s] -387.0 ms (-2.5%)
iast 18.817 s [18.817 s, 18.817 s] 3.557 s (23.3%)
iast_GLOBAL 17.841 s [17.841 s, 17.841 s] 2.581 s (16.9%)
profiling 15.369 s [15.369 s, 15.369 s] 109.0 ms (0.7%)
tracing 14.965 s [14.965 s, 14.965 s] -295.0 ms (-1.9%)

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.

OtelTransformerState is a clever way of handling transformer callback difference 👍

By the way, did the otel. prefix/namespace was approved accros all languages or is it only a Java thing?

Looks good to me overall. Can't wait to review the next step 😉

@mcculls
Copy link
Contributor Author

mcculls commented May 29, 2024

By the way, did the otel. prefix/namespace was approved accros all languages or is it only a Java thing?

The ability to enable/disable individual instrumentations by a named system property or environment variable appears to be unique to Java. The instrumentation names in OpenTelemetry contain dashes, so I decided to use a dot as a separator in the prefix to make clear it isn't part of the original name. (Dot is also a safe character for system property names.)

For example, the spring-ws-2.0 instrumentation name would become otel.spring-ws-2.0

@mcculls mcculls merged commit e2a66df into master May 29, 2024
83 checks passed
@mcculls mcculls deleted the mcculls/map-otel-extensions branch May 29, 2024 15:57
@github-actions github-actions bot added this to the 1.35.0 milestone May 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
inst: opentelemetry OpenTelemetry instrumentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants