Conversation
54ab5b7 to
259eeff
Compare
amarziali
approved these changes
May 24, 2024
259eeff to
d4396de
Compare
PerfectSlayer
approved these changes
May 27, 2024
Contributor
There was a problem hiding this comment.
Should we put something in place to keep it up-to-date?
Contributor
Author
There was a problem hiding this comment.
Yes, I'll think about this (and how it might play with build locking)
d4396de to
abea1a4
Compare
… drop-in support. We now embed a shaded copy of the OpenTelemetry API which has been pre-instrumented at build time with our shim. This shaded API will be on the bootstrap class-path so it can be used by drop-in advice without having to continually inject it everywhere the drop-in advice is injected. The same shim is used at runtime when instrumenting use of the OpenTelemetry API on the application class-path.
…t instrument setups
abea1a4 to
fdf2741
Compare
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 45 metrics, 18 unstable metrics. Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.35.0-SNAPSHOT~fdf2741d24, baseline=1.35.0-SNAPSHOT~ac3ca0988f
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.054 s) : 0, 1053593
Total [baseline] (10.343 s) : 0, 10343481
Agent [candidate] (1.063 s) : 0, 1062521
Total [candidate] (10.382 s) : 0, 10381851
section appsec
Agent [baseline] (1.175 s) : 0, 1174840
Total [baseline] (10.437 s) : 0, 10437498
Agent [candidate] (1.177 s) : 0, 1177225
Total [candidate] (10.496 s) : 0, 10495652
section iast
Agent [baseline] (1.194 s) : 0, 1193617
Total [baseline] (10.883 s) : 0, 10882557
Agent [candidate] (1.183 s) : 0, 1182688
Total [candidate] (10.805 s) : 0, 10805073
section profiling
Agent [baseline] (1.254 s) : 0, 1254103
Total [baseline] (10.646 s) : 0, 10646326
Agent [candidate] (1.256 s) : 0, 1256431
Total [candidate] (10.598 s) : 0, 10597964
gantt
title petclinic - break down per module: candidate=1.35.0-SNAPSHOT~fdf2741d24, baseline=1.35.0-SNAPSHOT~ac3ca0988f
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (650.464 ms) : 0, 650464
BytebuddyAgent [candidate] (655.486 ms) : 0, 655486
GlobalTracer [baseline] (311.098 ms) : 0, 311098
GlobalTracer [candidate] (314.273 ms) : 0, 314273
AppSec [baseline] (49.67 ms) : 0, 49670
AppSec [candidate] (49.991 ms) : 0, 49991
Remote Config [baseline] (659.868 µs) : 0, 660
Remote Config [candidate] (662.868 µs) : 0, 663
Telemetry [baseline] (7.545 ms) : 0, 7545
Telemetry [candidate] (7.632 ms) : 0, 7632
section appsec
BytebuddyAgent [baseline] (674.961 ms) : 0, 674961
BytebuddyAgent [candidate] (675.912 ms) : 0, 675912
GlobalTracer [baseline] (294.842 ms) : 0, 294842
GlobalTracer [candidate] (295.729 ms) : 0, 295729
AppSec [baseline] (152.279 ms) : 0, 152279
AppSec [candidate] (152.61 ms) : 0, 152610
Remote Config [baseline] (628.776 µs) : 0, 629
Remote Config [candidate] (633.211 µs) : 0, 633
Telemetry [baseline] (8.429 ms) : 0, 8429
Telemetry [candidate] (8.451 ms) : 0, 8451
IAST [baseline] (18.661 ms) : 0, 18661
IAST [candidate] (18.785 ms) : 0, 18785
section iast
BytebuddyAgent [baseline] (782.438 ms) : 0, 782438
BytebuddyAgent [candidate] (775.822 ms) : 0, 775822
GlobalTracer [baseline] (293.98 ms) : 0, 293980
GlobalTracer [candidate] (292.766 ms) : 0, 292766
AppSec [baseline] (49.958 ms) : 0, 49958
AppSec [candidate] (47.669 ms) : 0, 47669
Remote Config [baseline] (625.51 µs) : 0, 626
Remote Config [candidate] (602.756 µs) : 0, 603
Telemetry [baseline] (8.152 ms) : 0, 8152
Telemetry [candidate] (7.431 ms) : 0, 7431
IAST [baseline] (23.951 ms) : 0, 23951
IAST [candidate] (24.082 ms) : 0, 24082
section profiling
BytebuddyAgent [baseline] (659.731 ms) : 0, 659731
BytebuddyAgent [candidate] (661.073 ms) : 0, 661073
GlobalTracer [baseline] (384.07 ms) : 0, 384070
GlobalTracer [candidate] (384.829 ms) : 0, 384829
AppSec [baseline] (50.249 ms) : 0, 50249
AppSec [candidate] (50.607 ms) : 0, 50607
Remote Config [baseline] (850.697 µs) : 0, 851
Remote Config [candidate] (771.507 µs) : 0, 772
Telemetry [baseline] (7.373 ms) : 0, 7373
Telemetry [candidate] (7.489 ms) : 0, 7489
ProfilingAgent [baseline] (95.572 ms) : 0, 95572
ProfilingAgent [candidate] (95.176 ms) : 0, 95176
Profiling [baseline] (95.596 ms) : 0, 95596
Profiling [candidate] (95.2 ms) : 0, 95200
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.35.0-SNAPSHOT~fdf2741d24, baseline=1.35.0-SNAPSHOT~ac3ca0988f
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.057 s) : 0, 1056750
Total [baseline] (8.544 s) : 0, 8544124
Agent [candidate] (1.056 s) : 0, 1056123
Total [candidate] (8.552 s) : 0, 8552359
section iast
Agent [baseline] (1.194 s) : 0, 1194282
Total [baseline] (9.061 s) : 0, 9061108
Agent [candidate] (1.186 s) : 0, 1186472
Total [candidate] (9.037 s) : 0, 9037474
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.195 s) : 0, 1194509
Total [baseline] (9.001 s) : 0, 9000943
Agent [candidate] (1.184 s) : 0, 1184356
Total [candidate] (9.118 s) : 0, 9117873
section iast_TELEMETRY_OFF
Agent [baseline] (1.194 s) : 0, 1193974
Total [baseline] (9.033 s) : 0, 9032822
Agent [candidate] (1.18 s) : 0, 1180381
Total [candidate] (9.05 s) : 0, 9050039
gantt
title insecure-bank - break down per module: candidate=1.35.0-SNAPSHOT~fdf2741d24, baseline=1.35.0-SNAPSHOT~ac3ca0988f
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (652.147 ms) : 0, 652147
BytebuddyAgent [candidate] (651.45 ms) : 0, 651450
GlobalTracer [baseline] (312.209 ms) : 0, 312209
GlobalTracer [candidate] (312.273 ms) : 0, 312273
AppSec [baseline] (49.739 ms) : 0, 49739
AppSec [candidate] (49.775 ms) : 0, 49775
Remote Config [baseline] (665.957 µs) : 0, 666
Remote Config [candidate] (664.891 µs) : 0, 665
Telemetry [baseline] (7.582 ms) : 0, 7582
Telemetry [candidate] (7.584 ms) : 0, 7584
section iast
BytebuddyAgent [baseline] (782.748 ms) : 0, 782748
BytebuddyAgent [candidate] (777.263 ms) : 0, 777263
GlobalTracer [baseline] (294.417 ms) : 0, 294417
GlobalTracer [candidate] (292.737 ms) : 0, 292737
AppSec [baseline] (48.981 ms) : 0, 48981
AppSec [candidate] (49.7 ms) : 0, 49700
Remote Config [baseline] (595.371 µs) : 0, 595
Remote Config [candidate] (599.286 µs) : 0, 599
Telemetry [baseline] (7.425 ms) : 0, 7425
Telemetry [candidate] (7.316 ms) : 0, 7316
IAST [baseline] (25.534 ms) : 0, 25534
IAST [candidate] (24.467 ms) : 0, 24467
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (781.922 ms) : 0, 781922
BytebuddyAgent [candidate] (775.412 ms) : 0, 775412
GlobalTracer [baseline] (294.504 ms) : 0, 294504
GlobalTracer [candidate] (292.487 ms) : 0, 292487
AppSec [baseline] (48.905 ms) : 0, 48905
AppSec [candidate] (51.354 ms) : 0, 51354
Remote Config [baseline] (599.62 µs) : 0, 600
Remote Config [candidate] (611.111 µs) : 0, 611
Telemetry [baseline] (7.377 ms) : 0, 7377
Telemetry [candidate] (7.422 ms) : 0, 7422
IAST [baseline] (26.605 ms) : 0, 26605
IAST [candidate] (22.599 ms) : 0, 22599
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (783.824 ms) : 0, 783824
BytebuddyAgent [candidate] (773.431 ms) : 0, 773431
GlobalTracer [baseline] (293.415 ms) : 0, 293415
GlobalTracer [candidate] (291.915 ms) : 0, 291915
AppSec [baseline] (50.134 ms) : 0, 50134
AppSec [candidate] (49.827 ms) : 0, 49827
Remote Config [baseline] (602.742 µs) : 0, 603
Remote Config [candidate] (591.156 µs) : 0, 591
Telemetry [baseline] (8.009 ms) : 0, 8009
Telemetry [candidate] (7.297 ms) : 0, 7297
IAST [baseline] (23.156 ms) : 0, 23156
IAST [candidate] (22.97 ms) : 0, 22970
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 17 unstable metrics. Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.35.0-SNAPSHOT~fdf2741d24, baseline=1.35.0-SNAPSHOT~ac3ca0988f
dateFormat X
axisFormat %s
section baseline
no_agent (367.164 µs) : 347, 387
. : milestone, 367,
iast (481.908 µs) : 460, 503
. : milestone, 482,
iast_FULL (547.269 µs) : 526, 568
. : milestone, 547,
iast_GLOBAL (510.134 µs) : 488, 533
. : milestone, 510,
iast_HARDCODED_SECRET_DISABLED (477.334 µs) : 456, 498
. : milestone, 477,
iast_INACTIVE (463.966 µs) : 442, 486
. : milestone, 464,
iast_TELEMETRY_OFF (470.284 µs) : 449, 492
. : milestone, 470,
tracing (436.797 µs) : 417, 457
. : milestone, 437,
section candidate
no_agent (369.67 µs) : 350, 389
. : milestone, 370,
iast (474.981 µs) : 451, 499
. : milestone, 475,
iast_FULL (544.25 µs) : 523, 565
. : milestone, 544,
iast_GLOBAL (501.799 µs) : 480, 523
. : milestone, 502,
iast_HARDCODED_SECRET_DISABLED (479.527 µs) : 457, 502
. : milestone, 480,
iast_INACTIVE (448.689 µs) : 428, 469
. : milestone, 449,
iast_TELEMETRY_OFF (470.283 µs) : 448, 492
. : milestone, 470,
tracing (444.227 µs) : 424, 465
. : milestone, 444,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.35.0-SNAPSHOT~fdf2741d24, baseline=1.35.0-SNAPSHOT~ac3ca0988f
dateFormat X
axisFormat %s
section baseline
no_agent (1.336 ms) : 1317, 1355
. : milestone, 1336,
appsec (1.712 ms) : 1688, 1736
. : milestone, 1712,
appsec_no_iast (1.734 ms) : 1710, 1759
. : milestone, 1734,
iast (1.472 ms) : 1449, 1495
. : milestone, 1472,
profiling (1.539 ms) : 1514, 1565
. : milestone, 1539,
tracing (1.467 ms) : 1442, 1492
. : milestone, 1467,
section candidate
no_agent (1.349 ms) : 1330, 1368
. : milestone, 1349,
appsec (1.714 ms) : 1689, 1739
. : milestone, 1714,
appsec_no_iast (1.725 ms) : 1701, 1750
. : milestone, 1725,
iast (1.476 ms) : 1454, 1499
. : milestone, 1476,
profiling (1.553 ms) : 1528, 1577
. : milestone, 1553,
tracing (1.454 ms) : 1429, 1479
. : milestone, 1454,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 0 unstable metrics. Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.35.0-SNAPSHOT~fdf2741d24, baseline=1.35.0-SNAPSHOT~ac3ca0988f
dateFormat X
axisFormat %s
section baseline
no_agent (1.46 ms) : 1449, 1472
. : milestone, 1460,
appsec (2.189 ms) : 2156, 2223
. : milestone, 2189,
iast (1.951 ms) : 1909, 1992
. : milestone, 1951,
iast_GLOBAL (1.989 ms) : 1948, 2029
. : milestone, 1989,
profiling (1.824 ms) : 1790, 1857
. : milestone, 1824,
tracing (1.831 ms) : 1799, 1864
. : milestone, 1831,
section candidate
no_agent (1.459 ms) : 1448, 1471
. : milestone, 1459,
appsec (2.197 ms) : 2163, 2231
. : milestone, 2197,
iast (1.961 ms) : 1920, 2002
. : milestone, 1961,
iast_GLOBAL (2.009 ms) : 1968, 2051
. : milestone, 2009,
profiling (1.835 ms) : 1803, 1867
. : milestone, 1835,
tracing (1.813 ms) : 1782, 1845
. : milestone, 1813,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.35.0-SNAPSHOT~fdf2741d24, baseline=1.35.0-SNAPSHOT~ac3ca0988f
dateFormat X
axisFormat %s
section baseline
no_agent (14.963 s) : 14963000, 14963000
. : milestone, 14963000,
appsec (14.964 s) : 14964000, 14964000
. : milestone, 14964000,
iast (19.043 s) : 19043000, 19043000
. : milestone, 19043000,
iast_GLOBAL (17.931 s) : 17931000, 17931000
. : milestone, 17931000,
profiling (15.342 s) : 15342000, 15342000
. : milestone, 15342000,
tracing (14.939 s) : 14939000, 14939000
. : milestone, 14939000,
section candidate
no_agent (15.292 s) : 15292000, 15292000
. : milestone, 15292000,
appsec (14.852 s) : 14852000, 14852000
. : milestone, 14852000,
iast (19.083 s) : 19083000, 19083000
. : milestone, 19083000,
iast_GLOBAL (17.828 s) : 17828000, 17828000
. : milestone, 17828000,
profiling (15.095 s) : 15095000, 15095000
. : milestone, 15095000,
tracing (14.834 s) : 14834000, 14834000
. : milestone, 14834000,
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What Does This Do
We now embed a shaded copy of the OpenTelemetry API which has been pre-instrumented at build time with our shim. This shaded API will be on the bootstrap class-path so it can be used by drop-in advice without having to continually inject it everywhere the drop-in advice is injected.
The same shim is used at runtime when instrumenting use of the OpenTelemetry API on the application class-path.
Motivation
Avoids having multiple copies of the shim classes connecting the OpenTelemetry API to Datadog tracer internals.
Also simplifies drop-in support because we can map different extension advice to use the same shaded API and avoid having to continually inject it as helper classes.
Jira ticket: APMAPI-65