Draft
Conversation
…and toMutableSpan() to Tracer
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 1 performance regressions! Performance is the same for 64 metrics, 6 unstable metrics.
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.60.0-SNAPSHOT~d6714ea1cb, baseline=1.61.0-SNAPSHOT~63507989ab
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.056 s) : 0, 1055523
Total [baseline] (10.949 s) : 0, 10949148
Agent [candidate] (1.06 s) : 0, 1059564
Total [candidate] (10.953 s) : 0, 10953295
section appsec
Agent [baseline] (1.244 s) : 0, 1244400
Total [baseline] (11.205 s) : 0, 11205169
Agent [candidate] (1.257 s) : 0, 1256733
Total [candidate] (11.082 s) : 0, 11081993
section iast
Agent [baseline] (1.228 s) : 0, 1227725
Total [baseline] (11.279 s) : 0, 11279317
Agent [candidate] (1.229 s) : 0, 1229150
Total [candidate] (11.347 s) : 0, 11347406
section profiling
Agent [baseline] (1.192 s) : 0, 1192434
Total [baseline] (11.105 s) : 0, 11105191
Agent [candidate] (1.182 s) : 0, 1182022
Total [candidate] (10.966 s) : 0, 10965844
gantt
title petclinic - break down per module: candidate=1.60.0-SNAPSHOT~d6714ea1cb, baseline=1.61.0-SNAPSHOT~63507989ab
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.189 ms) : 0, 1189
crashtracking [candidate] (1.191 ms) : 0, 1191
BytebuddyAgent [baseline] (626.664 ms) : 0, 626664
BytebuddyAgent [candidate] (627.368 ms) : 0, 627368
AgentMeter [baseline] (29.113 ms) : 0, 29113
AgentMeter [candidate] (28.967 ms) : 0, 28967
GlobalTracer [baseline] (256.796 ms) : 0, 256796
GlobalTracer [candidate] (256.698 ms) : 0, 256698
AppSec [baseline] (31.581 ms) : 0, 31581
AppSec [candidate] (31.626 ms) : 0, 31626
Debugger [baseline] (59.314 ms) : 0, 59314
Debugger [candidate] (59.122 ms) : 0, 59122
Remote Config [baseline] (605.088 µs) : 0, 605
Remote Config [candidate] (587.514 µs) : 0, 588
Telemetry [baseline] (8.634 ms) : 0, 8634
Telemetry [candidate] (8.656 ms) : 0, 8656
Flare Poller [baseline] (5.701 ms) : 0, 5701
Flare Poller [candidate] (9.447 ms) : 0, 9447
section appsec
crashtracking [baseline] (1.218 ms) : 0, 1218
crashtracking [candidate] (1.203 ms) : 0, 1203
BytebuddyAgent [baseline] (657.518 ms) : 0, 657518
BytebuddyAgent [candidate] (663.449 ms) : 0, 663449
AgentMeter [baseline] (11.995 ms) : 0, 11995
AgentMeter [candidate] (12.126 ms) : 0, 12126
GlobalTracer [baseline] (257.822 ms) : 0, 257822
GlobalTracer [candidate] (261.223 ms) : 0, 261223
AppSec [baseline] (177.089 ms) : 0, 177089
AppSec [candidate] (178.293 ms) : 0, 178293
Debugger [baseline] (65.461 ms) : 0, 65461
Debugger [candidate] (65.592 ms) : 0, 65592
Remote Config [baseline] (569.961 µs) : 0, 570
Remote Config [candidate] (635.355 µs) : 0, 635
Telemetry [baseline] (8.99 ms) : 0, 8990
Telemetry [candidate] (9.88 ms) : 0, 9880
Flare Poller [baseline] (3.606 ms) : 0, 3606
Flare Poller [candidate] (3.69 ms) : 0, 3690
IAST [baseline] (23.869 ms) : 0, 23869
IAST [candidate] (24.254 ms) : 0, 24254
section iast
crashtracking [baseline] (1.201 ms) : 0, 1201
crashtracking [candidate] (1.185 ms) : 0, 1185
BytebuddyAgent [baseline] (796.304 ms) : 0, 796304
BytebuddyAgent [candidate] (796.499 ms) : 0, 796499
AgentMeter [baseline] (11.332 ms) : 0, 11332
AgentMeter [candidate] (11.308 ms) : 0, 11308
GlobalTracer [baseline] (247.631 ms) : 0, 247631
GlobalTracer [candidate] (248.827 ms) : 0, 248827
AppSec [baseline] (26.438 ms) : 0, 26438
AppSec [candidate] (26.466 ms) : 0, 26466
Debugger [baseline] (63.189 ms) : 0, 63189
Debugger [candidate] (63.444 ms) : 0, 63444
Remote Config [baseline] (528.485 µs) : 0, 528
Remote Config [candidate] (512.008 µs) : 0, 512
Telemetry [baseline] (14.942 ms) : 0, 14942
Telemetry [candidate] (15.07 ms) : 0, 15070
Flare Poller [baseline] (4.892 ms) : 0, 4892
Flare Poller [candidate] (4.72 ms) : 0, 4720
IAST [baseline] (25.188 ms) : 0, 25188
IAST [candidate] (25.178 ms) : 0, 25178
section profiling
ProfilingAgent [baseline] (94.404 ms) : 0, 94404
ProfilingAgent [candidate] (93.504 ms) : 0, 93504
crashtracking [baseline] (1.172 ms) : 0, 1172
crashtracking [candidate] (1.162 ms) : 0, 1162
BytebuddyAgent [baseline] (688.473 ms) : 0, 688473
BytebuddyAgent [candidate] (683.296 ms) : 0, 683296
AgentMeter [baseline] (8.662 ms) : 0, 8662
AgentMeter [candidate] (8.541 ms) : 0, 8541
GlobalTracer [baseline] (217.81 ms) : 0, 217810
GlobalTracer [candidate] (215.735 ms) : 0, 215735
AppSec [baseline] (32.471 ms) : 0, 32471
AppSec [candidate] (31.934 ms) : 0, 31934
Debugger [baseline] (64.262 ms) : 0, 64262
Debugger [candidate] (64.051 ms) : 0, 64051
Remote Config [baseline] (585.763 µs) : 0, 586
Remote Config [candidate] (593.288 µs) : 0, 593
Telemetry [baseline] (9.821 ms) : 0, 9821
Telemetry [candidate] (8.958 ms) : 0, 8958
Flare Poller [baseline] (3.55 ms) : 0, 3550
Flare Poller [candidate] (3.493 ms) : 0, 3493
Profiling [baseline] (94.976 ms) : 0, 94976
Profiling [candidate] (94.081 ms) : 0, 94081
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.60.0-SNAPSHOT~d6714ea1cb, baseline=1.61.0-SNAPSHOT~63507989ab
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.064 s) : 0, 1063737
Total [baseline] (8.927 s) : 0, 8927349
Agent [candidate] (1.054 s) : 0, 1054246
Total [candidate] (8.781 s) : 0, 8780672
section iast
Agent [baseline] (1.229 s) : 0, 1228762
Total [baseline] (9.569 s) : 0, 9569449
Agent [candidate] (1.236 s) : 0, 1235792
Total [candidate] (9.535 s) : 0, 9535189
gantt
title insecure-bank - break down per module: candidate=1.60.0-SNAPSHOT~d6714ea1cb, baseline=1.61.0-SNAPSHOT~63507989ab
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.201 ms) : 0, 1201
crashtracking [candidate] (1.184 ms) : 0, 1184
BytebuddyAgent [baseline] (632.48 ms) : 0, 632480
BytebuddyAgent [candidate] (626.46 ms) : 0, 626460
AgentMeter [baseline] (29.149 ms) : 0, 29149
AgentMeter [candidate] (28.976 ms) : 0, 28976
GlobalTracer [baseline] (257.513 ms) : 0, 257513
GlobalTracer [candidate] (256.915 ms) : 0, 256915
AppSec [baseline] (31.713 ms) : 0, 31713
AppSec [candidate] (31.576 ms) : 0, 31576
Debugger [baseline] (59.025 ms) : 0, 59025
Debugger [candidate] (58.234 ms) : 0, 58234
Remote Config [baseline] (604.074 µs) : 0, 604
Remote Config [candidate] (579.675 µs) : 0, 580
Telemetry [baseline] (8.781 ms) : 0, 8781
Telemetry [candidate] (8.667 ms) : 0, 8667
Flare Poller [baseline] (7.127 ms) : 0, 7127
Flare Poller [candidate] (5.747 ms) : 0, 5747
section iast
crashtracking [baseline] (1.199 ms) : 0, 1199
crashtracking [candidate] (1.202 ms) : 0, 1202
BytebuddyAgent [baseline] (798.189 ms) : 0, 798189
BytebuddyAgent [candidate] (801.837 ms) : 0, 801837
AgentMeter [baseline] (11.321 ms) : 0, 11321
AgentMeter [candidate] (11.568 ms) : 0, 11568
GlobalTracer [baseline] (247.699 ms) : 0, 247699
GlobalTracer [candidate] (249.486 ms) : 0, 249486
IAST [baseline] (25.134 ms) : 0, 25134
IAST [candidate] (25.376 ms) : 0, 25376
AppSec [baseline] (26.44 ms) : 0, 26440
AppSec [candidate] (26.75 ms) : 0, 26750
Debugger [baseline] (62.531 ms) : 0, 62531
Debugger [candidate] (63.228 ms) : 0, 63228
Remote Config [baseline] (528.449 µs) : 0, 528
Remote Config [candidate] (508.703 µs) : 0, 509
Telemetry [baseline] (14.823 ms) : 0, 14823
Telemetry [candidate] (14.832 ms) : 0, 14832
Flare Poller [baseline] (4.864 ms) : 0, 4864
Flare Poller [candidate] (4.834 ms) : 0, 4834
LoadParameters
See matching parameters
SummaryFound 1 performance improvements and 0 performance regressions! Performance is the same for 19 metrics, 16 unstable metrics.
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.60.0-SNAPSHOT~d6714ea1cb, baseline=1.61.0-SNAPSHOT~63507989ab
dateFormat X
axisFormat %s
section baseline
no_agent (1.205 ms) : 1193, 1217
. : milestone, 1205,
iast (3.133 ms) : 3091, 3175
. : milestone, 3133,
iast_FULL (5.789 ms) : 5731, 5846
. : milestone, 5789,
iast_GLOBAL (3.448 ms) : 3404, 3492
. : milestone, 3448,
profiling (2.24 ms) : 2218, 2263
. : milestone, 2240,
tracing (1.778 ms) : 1764, 1793
. : milestone, 1778,
section candidate
no_agent (1.171 ms) : 1160, 1182
. : milestone, 1171,
iast (3.234 ms) : 3192, 3276
. : milestone, 3234,
iast_FULL (5.875 ms) : 5816, 5935
. : milestone, 5875,
iast_GLOBAL (3.475 ms) : 3417, 3533
. : milestone, 3475,
profiling (2.089 ms) : 2070, 2109
. : milestone, 2089,
tracing (1.789 ms) : 1774, 1805
. : milestone, 1789,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.60.0-SNAPSHOT~d6714ea1cb, baseline=1.61.0-SNAPSHOT~63507989ab
dateFormat X
axisFormat %s
section baseline
no_agent (17.362 ms) : 17185, 17539
. : milestone, 17362,
appsec (18.584 ms) : 18394, 18774
. : milestone, 18584,
code_origins (18.92 ms) : 18733, 19108
. : milestone, 18920,
iast (17.755 ms) : 17579, 17930
. : milestone, 17755,
profiling (18.568 ms) : 18384, 18751
. : milestone, 18568,
tracing (17.826 ms) : 17647, 18006
. : milestone, 17826,
section candidate
no_agent (18.128 ms) : 17942, 18314
. : milestone, 18128,
appsec (18.456 ms) : 18268, 18644
. : milestone, 18456,
code_origins (17.901 ms) : 17723, 18079
. : milestone, 17901,
iast (18.006 ms) : 17826, 18185
. : milestone, 18006,
profiling (18.799 ms) : 18609, 18988
. : milestone, 18799,
tracing (17.804 ms) : 17628, 17981
. : milestone, 17804,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 1 unstable metrics. Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.60.0-SNAPSHOT~d6714ea1cb, baseline=1.61.0-SNAPSHOT~63507989ab
dateFormat X
axisFormat %s
section baseline
no_agent (1.475 ms) : 1463, 1486
. : milestone, 1475,
appsec (3.784 ms) : 3563, 4006
. : milestone, 3784,
iast (2.251 ms) : 2182, 2320
. : milestone, 2251,
iast_GLOBAL (2.289 ms) : 2220, 2359
. : milestone, 2289,
profiling (2.088 ms) : 2033, 2144
. : milestone, 2088,
tracing (2.076 ms) : 2022, 2130
. : milestone, 2076,
section candidate
no_agent (1.469 ms) : 1458, 1481
. : milestone, 1469,
appsec (3.782 ms) : 3560, 4004
. : milestone, 3782,
iast (2.255 ms) : 2186, 2324
. : milestone, 2255,
iast_GLOBAL (2.303 ms) : 2233, 2372
. : milestone, 2303,
profiling (2.146 ms) : 2086, 2205
. : milestone, 2146,
tracing (2.058 ms) : 2004, 2111
. : milestone, 2058,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.60.0-SNAPSHOT~d6714ea1cb, baseline=1.61.0-SNAPSHOT~63507989ab
dateFormat X
axisFormat %s
section baseline
no_agent (15.464 s) : 15464000, 15464000
. : milestone, 15464000,
appsec (14.961 s) : 14961000, 14961000
. : milestone, 14961000,
iast (18.577 s) : 18577000, 18577000
. : milestone, 18577000,
iast_GLOBAL (18.024 s) : 18024000, 18024000
. : milestone, 18024000,
profiling (15.296 s) : 15296000, 15296000
. : milestone, 15296000,
tracing (15.094 s) : 15094000, 15094000
. : milestone, 15094000,
section candidate
no_agent (15.012 s) : 15012000, 15012000
. : milestone, 15012000,
appsec (15.055 s) : 15055000, 15055000
. : milestone, 15055000,
iast (18.268 s) : 18268000, 18268000
. : milestone, 18268000,
iast_GLOBAL (17.643 s) : 17643000, 17643000
. : milestone, 17643000,
profiling (14.894 s) : 14894000, 14894000
. : milestone, 14894000,
tracing (15.152 s) : 15152000, 15152000
. : milestone, 15152000,
|
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
Version 2.0 of dd-trace-java 🥳 🎉
This PR implements many of the changes previously discussed for 1.0 and now 2.0
API removals:
dd-trace-otremoved. This mode of using the tracer will not be supported going forward. dd-java-agent can be loaded with integrations disabled for a similar experienceContinuationis removed from the public API. Difficult to use properly, lots of confusion, and little practical useisAsyncPropagationEnabled()/setAsyncPropagationEnable(): implementation detail best left to internalTraceScope.javabecame unnecessary with other changesgetTraceId(), andgetSpanId()fromCorrelationIdentifieras they duplicated Tracer APIAPI Additions:
getActiveMutableSpan()added to Tracer APIAPI Changes:
getLocalRootSpan()moved fromMutableSpanto the Tracer APIMutableSpan. Instead, a Tracer API method,toMutableSpan()is usedmuteTracing()returns aBlackholeinterface rather thanTraceScopeRemaining Work [Required]
These need to be done before merging
MutableSpan, the priority ofsetResourceName()broke. Manual is supposed to have a higher priority. A wrapper object can be returned byTracer.toMutableSpan(). This ends up being tricky because we already wrap AgentSpan and spent some effort caching wrappers. SeeOpenTracing32TestandOpenTracing31Testfor the ignored testsRemaining Work [Optional, to be discussed]
dd-trace-otgone, these configs being in the public API doesn't make senseDDTags.java: As part of the public api, we need to distinguish between tags users should use vs tags that are internaldatadog.common.sampling.PrioritySamplingto internaldd-trace-ot, the public registration methods don't make much sense. There's also the name overlap with the OpenTracingGlobalTracerclass. MaybeGlobalTracergoes away@Deprecatedmethods and fieldsMotivation
V2 (and previously V1) of dd-trace-java has been talked about for at least 6 years. As part of R&D week, I attempted to make all of the changes previously talked about. This PR feels like is ~95% of the way there ignoring documentation updates.
Additional Notes
This is a large PR but I tried to keep the commits mostly self-contained
Contributor Checklist
type:and (comp:orinst:) labels in addition to any other useful labelsclose,fix, or any linking keywords when referencing an issueUse
solvesinstead, and assign the PR milestone to the issueJira ticket: [PROJ-IDENT]
Note: Once your PR is ready to merge, add it to the merge queue by commenting
/merge./merge -ccancels the queue request./merge -f --reason "reason"skips all merge queue checks; please use this judiciously, as some checks do not run at the PR-level. For more information, see this doc.