-
Notifications
You must be signed in to change notification settings - Fork 322
Multi-tracing support for Couchbase 3.2+ #10147
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
Conversation
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 56 metrics, 9 unstable metrics. Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.58.0-SNAPSHOT~046fa64080, baseline=1.58.0-SNAPSHOT~d9893626df
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.085 s) : 0, 1085398
Total [baseline] (10.756 s) : 0, 10756483
Agent [candidate] (1.095 s) : 0, 1095136
Total [candidate] (10.942 s) : 0, 10941991
section appsec
Agent [baseline] (1.27 s) : 0, 1270223
Total [baseline] (10.917 s) : 0, 10917424
Agent [candidate] (1.269 s) : 0, 1269008
Total [candidate] (10.915 s) : 0, 10915065
section iast
Agent [baseline] (1.224 s) : 0, 1224328
Total [baseline] (11.131 s) : 0, 11131059
Agent [candidate] (1.236 s) : 0, 1235621
Total [candidate] (11.113 s) : 0, 11112817
section profiling
Agent [baseline] (1.206 s) : 0, 1206004
Total [baseline] (10.896 s) : 0, 10896025
Agent [candidate] (1.215 s) : 0, 1214577
Total [candidate] (10.968 s) : 0, 10968391
gantt
title petclinic - break down per module: candidate=1.58.0-SNAPSHOT~046fa64080, baseline=1.58.0-SNAPSHOT~d9893626df
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.202 ms) : 0, 1202
crashtracking [candidate] (1.179 ms) : 0, 1179
BytebuddyAgent [baseline] (651.814 ms) : 0, 651814
BytebuddyAgent [candidate] (655.853 ms) : 0, 655853
GlobalTracer [baseline] (282.737 ms) : 0, 282737
GlobalTracer [candidate] (286.425 ms) : 0, 286425
AppSec [baseline] (32.714 ms) : 0, 32714
AppSec [candidate] (33.197 ms) : 0, 33197
Debugger [baseline] (67.986 ms) : 0, 67986
Debugger [candidate] (69.463 ms) : 0, 69463
Remote Config [baseline] (614.565 µs) : 0, 615
Remote Config [candidate] (620.559 µs) : 0, 621
Telemetry [baseline] (8.971 ms) : 0, 8971
Telemetry [candidate] (9.168 ms) : 0, 9168
Flare Poller [baseline] (3.784 ms) : 0, 3784
Flare Poller [candidate] (3.799 ms) : 0, 3799
section appsec
crashtracking [baseline] (1.19 ms) : 0, 1190
crashtracking [candidate] (1.213 ms) : 0, 1213
BytebuddyAgent [baseline] (696.902 ms) : 0, 696902
BytebuddyAgent [candidate] (695.109 ms) : 0, 695109
GlobalTracer [baseline] (257.777 ms) : 0, 257777
GlobalTracer [candidate] (258.015 ms) : 0, 258015
IAST [baseline] (24.66 ms) : 0, 24660
IAST [candidate] (24.682 ms) : 0, 24682
AppSec [baseline] (174.162 ms) : 0, 174162
AppSec [candidate] (174.543 ms) : 0, 174543
Debugger [baseline] (66.175 ms) : 0, 66175
Debugger [candidate] (66.046 ms) : 0, 66046
Remote Config [baseline] (733.425 µs) : 0, 733
Remote Config [candidate] (760.079 µs) : 0, 760
Telemetry [baseline] (9.372 ms) : 0, 9372
Telemetry [candidate] (9.383 ms) : 0, 9383
Flare Poller [baseline] (3.694 ms) : 0, 3694
Flare Poller [candidate] (3.707 ms) : 0, 3707
section iast
crashtracking [baseline] (1.183 ms) : 0, 1183
crashtracking [candidate] (1.218 ms) : 0, 1218
BytebuddyAgent [baseline] (791.336 ms) : 0, 791336
BytebuddyAgent [candidate] (801.781 ms) : 0, 801781
GlobalTracer [baseline] (255.361 ms) : 0, 255361
GlobalTracer [candidate] (256.763 ms) : 0, 256763
IAST [baseline] (27.085 ms) : 0, 27085
IAST [candidate] (27.188 ms) : 0, 27188
AppSec [baseline] (31.859 ms) : 0, 31859
AppSec [candidate] (33.504 ms) : 0, 33504
Debugger [baseline] (69.455 ms) : 0, 69455
Debugger [candidate] (66.99 ms) : 0, 66990
Remote Config [baseline] (586.211 µs) : 0, 586
Remote Config [candidate] (563.109 µs) : 0, 563
Telemetry [baseline] (8.598 ms) : 0, 8598
Telemetry [candidate] (8.484 ms) : 0, 8484
Flare Poller [baseline] (3.582 ms) : 0, 3582
Flare Poller [candidate] (3.539 ms) : 0, 3539
section profiling
crashtracking [baseline] (1.229 ms) : 0, 1229
crashtracking [candidate] (1.23 ms) : 0, 1230
BytebuddyAgent [baseline] (704.078 ms) : 0, 704078
BytebuddyAgent [candidate] (711.406 ms) : 0, 711406
GlobalTracer [baseline] (220.614 ms) : 0, 220614
GlobalTracer [candidate] (221.626 ms) : 0, 221626
AppSec [baseline] (32.203 ms) : 0, 32203
AppSec [candidate] (32.315 ms) : 0, 32315
Debugger [baseline] (68.318 ms) : 0, 68318
Debugger [candidate] (68.072 ms) : 0, 68072
Remote Config [baseline] (662.068 µs) : 0, 662
Remote Config [candidate] (633.266 µs) : 0, 633
Telemetry [baseline] (8.822 ms) : 0, 8822
Telemetry [candidate] (8.897 ms) : 0, 8897
Flare Poller [baseline] (3.676 ms) : 0, 3676
Flare Poller [candidate] (3.749 ms) : 0, 3749
ProfilingAgent [baseline] (96.578 ms) : 0, 96578
ProfilingAgent [candidate] (96.272 ms) : 0, 96272
Profiling [baseline] (97.164 ms) : 0, 97164
Profiling [candidate] (96.852 ms) : 0, 96852
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.58.0-SNAPSHOT~046fa64080, baseline=1.58.0-SNAPSHOT~d9893626df
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.081 s) : 0, 1080866
Total [baseline] (8.749 s) : 0, 8749193
Agent [candidate] (1.09 s) : 0, 1090161
Total [candidate] (8.75 s) : 0, 8749910
section iast
Agent [baseline] (1.225 s) : 0, 1224732
Total [baseline] (9.352 s) : 0, 9351548
Agent [candidate] (1.222 s) : 0, 1221948
Total [candidate] (9.272 s) : 0, 9272455
gantt
title insecure-bank - break down per module: candidate=1.58.0-SNAPSHOT~046fa64080, baseline=1.58.0-SNAPSHOT~d9893626df
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.197 ms) : 0, 1197
crashtracking [candidate] (1.197 ms) : 0, 1197
BytebuddyAgent [baseline] (649.953 ms) : 0, 649953
BytebuddyAgent [candidate] (656.429 ms) : 0, 656429
GlobalTracer [baseline] (281.279 ms) : 0, 281279
GlobalTracer [candidate] (283.867 ms) : 0, 283867
AppSec [baseline] (32.574 ms) : 0, 32574
AppSec [candidate] (32.691 ms) : 0, 32691
Debugger [baseline] (67.061 ms) : 0, 67061
Debugger [candidate] (67.033 ms) : 0, 67033
Remote Config [baseline] (651.659 µs) : 0, 652
Remote Config [candidate] (624.421 µs) : 0, 624
Telemetry [baseline] (8.989 ms) : 0, 8989
Telemetry [candidate] (8.972 ms) : 0, 8972
Flare Poller [baseline] (3.699 ms) : 0, 3699
Flare Poller [candidate] (3.775 ms) : 0, 3775
section iast
crashtracking [baseline] (1.189 ms) : 0, 1189
crashtracking [candidate] (1.193 ms) : 0, 1193
BytebuddyAgent [baseline] (793.197 ms) : 0, 793197
BytebuddyAgent [candidate] (791.581 ms) : 0, 791581
GlobalTracer [baseline] (255.761 ms) : 0, 255761
GlobalTracer [candidate] (254.902 ms) : 0, 254902
IAST [baseline] (27.182 ms) : 0, 27182
IAST [candidate] (26.906 ms) : 0, 26906
AppSec [baseline] (32.743 ms) : 0, 32743
AppSec [candidate] (34.208 ms) : 0, 34208
Debugger [baseline] (66.621 ms) : 0, 66621
Debugger [candidate] (65.136 ms) : 0, 65136
Remote Config [baseline] (612.628 µs) : 0, 613
Remote Config [candidate] (582.695 µs) : 0, 583
Telemetry [baseline] (8.481 ms) : 0, 8481
Telemetry [candidate] (8.495 ms) : 0, 8495
Flare Poller [baseline] (3.526 ms) : 0, 3526
Flare Poller [candidate] (3.542 ms) : 0, 3542
LoadParameters
See matching parameters
SummaryFound 1 performance improvements and 1 performance regressions! Performance is the same for 17 metrics, 17 unstable metrics.
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.58.0-SNAPSHOT~046fa64080, baseline=1.58.0-SNAPSHOT~d9893626df
dateFormat X
axisFormat %s
section baseline
no_agent (18.816 ms) : 18625, 19007
. : milestone, 18816,
appsec (18.503 ms) : 18315, 18692
. : milestone, 18503,
code_origins (17.556 ms) : 17382, 17731
. : milestone, 17556,
iast (17.578 ms) : 17407, 17750
. : milestone, 17578,
profiling (18.603 ms) : 18417, 18790
. : milestone, 18603,
tracing (17.74 ms) : 17565, 17916
. : milestone, 17740,
section candidate
no_agent (17.9 ms) : 17715, 18085
. : milestone, 17900,
appsec (18.663 ms) : 18468, 18858
. : milestone, 18663,
code_origins (17.754 ms) : 17576, 17932
. : milestone, 17754,
iast (17.679 ms) : 17504, 17854
. : milestone, 17679,
profiling (18.601 ms) : 18415, 18787
. : milestone, 18601,
tracing (17.661 ms) : 17483, 17838
. : milestone, 17661,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.58.0-SNAPSHOT~046fa64080, baseline=1.58.0-SNAPSHOT~d9893626df
dateFormat X
axisFormat %s
section baseline
no_agent (1.187 ms) : 1175, 1199
. : milestone, 1187,
iast (3.24 ms) : 3202, 3277
. : milestone, 3240,
iast_FULL (5.783 ms) : 5725, 5841
. : milestone, 5783,
iast_GLOBAL (3.474 ms) : 3419, 3528
. : milestone, 3474,
profiling (1.86 ms) : 1845, 1875
. : milestone, 1860,
tracing (1.753 ms) : 1738, 1767
. : milestone, 1753,
section candidate
no_agent (1.196 ms) : 1184, 1207
. : milestone, 1196,
iast (3.129 ms) : 3090, 3168
. : milestone, 3129,
iast_FULL (5.703 ms) : 5645, 5761
. : milestone, 5703,
iast_GLOBAL (3.451 ms) : 3400, 3502
. : milestone, 3451,
profiling (2.004 ms) : 1987, 2022
. : milestone, 2004,
tracing (1.805 ms) : 1789, 1820
. : milestone, 1805,
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.58.0-SNAPSHOT~046fa64080, baseline=1.58.0-SNAPSHOT~d9893626df
dateFormat X
axisFormat %s
section baseline
no_agent (1.474 ms) : 1462, 1485
. : milestone, 1474,
appsec (3.693 ms) : 3476, 3911
. : milestone, 3693,
iast (2.206 ms) : 2142, 2271
. : milestone, 2206,
iast_GLOBAL (2.242 ms) : 2178, 2307
. : milestone, 2242,
profiling (2.059 ms) : 2007, 2112
. : milestone, 2059,
tracing (2.043 ms) : 1992, 2094
. : milestone, 2043,
section candidate
no_agent (1.471 ms) : 1460, 1483
. : milestone, 1471,
appsec (3.695 ms) : 3477, 3914
. : milestone, 3695,
iast (2.209 ms) : 2145, 2273
. : milestone, 2209,
iast_GLOBAL (2.24 ms) : 2176, 2305
. : milestone, 2240,
profiling (2.062 ms) : 2010, 2115
. : milestone, 2062,
tracing (2.04 ms) : 1989, 2091
. : milestone, 2040,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.58.0-SNAPSHOT~046fa64080, baseline=1.58.0-SNAPSHOT~d9893626df
dateFormat X
axisFormat %s
section baseline
no_agent (14.937 s) : 14937000, 14937000
. : milestone, 14937000,
appsec (14.784 s) : 14784000, 14784000
. : milestone, 14784000,
iast (18.583 s) : 18583000, 18583000
. : milestone, 18583000,
iast_GLOBAL (17.915 s) : 17915000, 17915000
. : milestone, 17915000,
profiling (14.897 s) : 14897000, 14897000
. : milestone, 14897000,
tracing (14.44 s) : 14440000, 14440000
. : milestone, 14440000,
section candidate
no_agent (15.638 s) : 15638000, 15638000
. : milestone, 15638000,
appsec (14.747 s) : 14747000, 14747000
. : milestone, 14747000,
iast (18.165 s) : 18165000, 18165000
. : milestone, 18165000,
iast_GLOBAL (17.698 s) : 17698000, 17698000
. : milestone, 17698000,
profiling (14.799 s) : 14799000, 14799000
. : milestone, 14799000,
tracing (14.545 s) : 14545000, 14545000
. : milestone, 14545000,
|
vandonr
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
| public class DelegatingRequestTracer implements RequestTracer { | ||
|
|
||
| private final DatadogRequestTracer ddTracer; | ||
| private final RequestTracer cncTracer; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What does "cnc" stand for?
ygree
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good!
e029cba to
f126a1c
Compare
f126a1c to
9835c68
Compare
9835c68 to
046fa64
Compare
What Does This Do
Introduced support for combining user-provided Couchbase
RequestTracerwith Datadog'sDataDogRequestTracer, allowing both tracers to operate simultaneouslyAdded
DelegatingRequestTracerthat forwards tracing calls to two tracers:DatadogRequestTracerthe application's custom tracerDelegatingRequestSpanthat mirrors span operations (attributes, events, end(), etc.) to both underlying spansNew instrumentation advice that wraps any user-supplied tracer into this delegating tracer automatically
If the application does not configure a custom tracer, Datadog continues to trace Couchbase operations exactly as before
If the application does configure its own tracer, both tracers now run side-by-side without interfering with each other
Motivation
Сustomer reported that they are using a custom Couchbase
RequestTracerin their applicationBecause Couchbase only allows one tracer to be registered, Datadog’s tracer was being replaced by the custom one. As a result, Couchbase operations were not showing up in the Datadog dashboard at all
Additional Notes
Contributor Checklist
type:and (comp:orinst:) labels in addition to any useful labelsclose,fixor any linking keywords when referencing an issue.Use
solvesinstead, and assign the PR milestone to the issueJira ticket: [PROJ-IDENT]