Support sending OpenTelemetry metrics over OTLP (http/protobuf)#11055
Support sending OpenTelemetry metrics over OTLP (http/protobuf)#11055gh-worker-dd-mergequeue-cf854d[bot] merged 11 commits intomasterfrom
Conversation
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 58 metrics, 13 unstable metrics. Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.61.0-SNAPSHOT~6921b18b3c, baseline=1.61.0-SNAPSHOT~3123b191d9
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.062 s) : 0, 1061699
Total [baseline] (8.88 s) : 0, 8880426
Agent [candidate] (1.059 s) : 0, 1059288
Total [candidate] (8.893 s) : 0, 8892592
section iast
Agent [baseline] (1.227 s) : 0, 1227285
Total [baseline] (9.559 s) : 0, 9559038
Agent [candidate] (1.22 s) : 0, 1220013
Total [candidate] (9.557 s) : 0, 9556635
gantt
title insecure-bank - break down per module: candidate=1.61.0-SNAPSHOT~6921b18b3c, baseline=1.61.0-SNAPSHOT~3123b191d9
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.246 ms) : 0, 1246
crashtracking [candidate] (1.235 ms) : 0, 1235
BytebuddyAgent [baseline] (637.155 ms) : 0, 637155
BytebuddyAgent [candidate] (634.665 ms) : 0, 634665
AgentMeter [baseline] (29.382 ms) : 0, 29382
AgentMeter [candidate] (29.32 ms) : 0, 29320
GlobalTracer [baseline] (249.686 ms) : 0, 249686
GlobalTracer [candidate] (249.354 ms) : 0, 249354
AppSec [baseline] (32.211 ms) : 0, 32211
AppSec [candidate] (32.172 ms) : 0, 32172
Debugger [baseline] (59.52 ms) : 0, 59520
Debugger [candidate] (59.436 ms) : 0, 59436
Remote Config [baseline] (621.28 µs) : 0, 621
Remote Config [candidate] (598.543 µs) : 0, 599
Telemetry [baseline] (8.119 ms) : 0, 8119
Telemetry [candidate] (8.114 ms) : 0, 8114
Flare Poller [baseline] (7.401 ms) : 0, 7401
Flare Poller [candidate] (8.221 ms) : 0, 8221
section iast
crashtracking [baseline] (1.233 ms) : 0, 1233
crashtracking [candidate] (1.223 ms) : 0, 1223
BytebuddyAgent [baseline] (804.377 ms) : 0, 804377
BytebuddyAgent [candidate] (799.596 ms) : 0, 799596
AgentMeter [baseline] (11.523 ms) : 0, 11523
AgentMeter [candidate] (11.387 ms) : 0, 11387
GlobalTracer [baseline] (239.523 ms) : 0, 239523
GlobalTracer [candidate] (238.053 ms) : 0, 238053
AppSec [baseline] (31.114 ms) : 0, 31114
AppSec [candidate] (31.619 ms) : 0, 31619
Debugger [baseline] (62.553 ms) : 0, 62553
Debugger [candidate] (61.655 ms) : 0, 61655
Remote Config [baseline] (576.847 µs) : 0, 577
Remote Config [candidate] (555.073 µs) : 0, 555
Telemetry [baseline] (9.779 ms) : 0, 9779
Telemetry [candidate] (10.189 ms) : 0, 10189
Flare Poller [baseline] (3.605 ms) : 0, 3605
Flare Poller [candidate] (3.579 ms) : 0, 3579
IAST [baseline] (26.763 ms) : 0, 26763
IAST [candidate] (25.833 ms) : 0, 25833
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.61.0-SNAPSHOT~6921b18b3c, baseline=1.61.0-SNAPSHOT~3123b191d9
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.057 s) : 0, 1056583
Total [baseline] (11.124 s) : 0, 11123764
Agent [candidate] (1.065 s) : 0, 1065439
Total [candidate] (11.122 s) : 0, 11122390
section appsec
Agent [baseline] (1.246 s) : 0, 1246329
Total [baseline] (11.179 s) : 0, 11178773
Agent [candidate] (1.246 s) : 0, 1245957
Total [candidate] (11.164 s) : 0, 11164431
section iast
Agent [baseline] (1.227 s) : 0, 1226583
Total [baseline] (11.183 s) : 0, 11183157
Agent [candidate] (1.228 s) : 0, 1228416
Total [candidate] (11.269 s) : 0, 11269494
section profiling
Agent [baseline] (1.181 s) : 0, 1180858
Total [baseline] (11.044 s) : 0, 11043572
Agent [candidate] (1.184 s) : 0, 1184400
Total [candidate] (10.991 s) : 0, 10991323
gantt
title petclinic - break down per module: candidate=1.61.0-SNAPSHOT~6921b18b3c, baseline=1.61.0-SNAPSHOT~3123b191d9
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.245 ms) : 0, 1245
crashtracking [candidate] (1.227 ms) : 0, 1227
BytebuddyAgent [baseline] (633.099 ms) : 0, 633099
BytebuddyAgent [candidate] (637.023 ms) : 0, 637023
AgentMeter [baseline] (29.186 ms) : 0, 29186
AgentMeter [candidate] (29.358 ms) : 0, 29358
GlobalTracer [baseline] (248.282 ms) : 0, 248282
GlobalTracer [candidate] (250.475 ms) : 0, 250475
AppSec [baseline] (31.991 ms) : 0, 31991
AppSec [candidate] (32.405 ms) : 0, 32405
Debugger [baseline] (60.206 ms) : 0, 60206
Debugger [candidate] (60.721 ms) : 0, 60721
Remote Config [baseline] (618.894 µs) : 0, 619
Remote Config [candidate] (604.971 µs) : 0, 605
Telemetry [baseline] (8.164 ms) : 0, 8164
Telemetry [candidate] (8.2 ms) : 0, 8200
Flare Poller [baseline] (7.409 ms) : 0, 7409
Flare Poller [candidate] (9.028 ms) : 0, 9028
section appsec
crashtracking [baseline] (1.233 ms) : 0, 1233
crashtracking [candidate] (1.23 ms) : 0, 1230
BytebuddyAgent [baseline] (660.034 ms) : 0, 660034
BytebuddyAgent [candidate] (660.161 ms) : 0, 660161
AgentMeter [baseline] (12.055 ms) : 0, 12055
AgentMeter [candidate] (12.129 ms) : 0, 12129
GlobalTracer [baseline] (249.215 ms) : 0, 249215
GlobalTracer [candidate] (248.884 ms) : 0, 248884
AppSec [baseline] (183.818 ms) : 0, 183818
AppSec [candidate] (183.951 ms) : 0, 183951
Debugger [baseline] (66.25 ms) : 0, 66250
Debugger [candidate] (66.047 ms) : 0, 66047
Remote Config [baseline] (605.392 µs) : 0, 605
Remote Config [candidate] (609.766 µs) : 0, 610
Telemetry [baseline] (8.78 ms) : 0, 8780
Telemetry [candidate] (8.597 ms) : 0, 8597
Flare Poller [baseline] (3.584 ms) : 0, 3584
Flare Poller [candidate] (3.513 ms) : 0, 3513
IAST [baseline] (24.408 ms) : 0, 24408
IAST [candidate] (24.506 ms) : 0, 24506
section iast
crashtracking [baseline] (1.232 ms) : 0, 1232
crashtracking [candidate] (1.231 ms) : 0, 1231
BytebuddyAgent [baseline] (804.698 ms) : 0, 804698
BytebuddyAgent [candidate] (806.283 ms) : 0, 806283
AgentMeter [baseline] (11.475 ms) : 0, 11475
AgentMeter [candidate] (11.516 ms) : 0, 11516
GlobalTracer [baseline] (238.483 ms) : 0, 238483
GlobalTracer [candidate] (238.81 ms) : 0, 238810
AppSec [baseline] (32.459 ms) : 0, 32459
AppSec [candidate] (30.822 ms) : 0, 30822
Debugger [baseline] (61.501 ms) : 0, 61501
Debugger [candidate] (63.852 ms) : 0, 63852
Remote Config [baseline] (553.983 µs) : 0, 554
Remote Config [candidate] (561.737 µs) : 0, 562
Telemetry [baseline] (9.893 ms) : 0, 9893
Telemetry [candidate] (10.002 ms) : 0, 10002
Flare Poller [baseline] (3.416 ms) : 0, 3416
Flare Poller [candidate] (3.52 ms) : 0, 3520
IAST [baseline] (26.439 ms) : 0, 26439
IAST [candidate] (25.672 ms) : 0, 25672
section profiling
crashtracking [baseline] (1.193 ms) : 0, 1193
crashtracking [candidate] (1.172 ms) : 0, 1172
BytebuddyAgent [baseline] (689.562 ms) : 0, 689562
BytebuddyAgent [candidate] (691.591 ms) : 0, 691591
AgentMeter [baseline] (9.123 ms) : 0, 9123
AgentMeter [candidate] (9.133 ms) : 0, 9133
GlobalTracer [baseline] (206.257 ms) : 0, 206257
GlobalTracer [candidate] (207.148 ms) : 0, 207148
AppSec [baseline] (32.409 ms) : 0, 32409
AppSec [candidate] (32.577 ms) : 0, 32577
Debugger [baseline] (65.429 ms) : 0, 65429
Debugger [candidate] (65.654 ms) : 0, 65654
Remote Config [baseline] (571.584 µs) : 0, 572
Remote Config [candidate] (570.025 µs) : 0, 570
Telemetry [baseline] (7.856 ms) : 0, 7856
Telemetry [candidate] (7.813 ms) : 0, 7813
Flare Poller [baseline] (3.529 ms) : 0, 3529
Flare Poller [candidate] (3.535 ms) : 0, 3535
ProfilingAgent [baseline] (93.762 ms) : 0, 93762
ProfilingAgent [candidate] (93.844 ms) : 0, 93844
Profiling [baseline] (94.332 ms) : 0, 94332
Profiling [candidate] (94.4 ms) : 0, 94400
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 1 performance regressions! Performance is the same for 18 metrics, 17 unstable metrics.
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.61.0-SNAPSHOT~6921b18b3c, baseline=1.61.0-SNAPSHOT~3123b191d9
dateFormat X
axisFormat %s
section baseline
no_agent (1.236 ms) : 1224, 1248
. : milestone, 1236,
iast (3.171 ms) : 3128, 3214
. : milestone, 3171,
iast_FULL (6.111 ms) : 6048, 6174
. : milestone, 6111,
iast_GLOBAL (3.686 ms) : 3617, 3754
. : milestone, 3686,
profiling (2.143 ms) : 2122, 2164
. : milestone, 2143,
tracing (1.917 ms) : 1901, 1934
. : milestone, 1917,
section candidate
no_agent (1.252 ms) : 1239, 1265
. : milestone, 1252,
iast (3.334 ms) : 3285, 3383
. : milestone, 3334,
iast_FULL (6.081 ms) : 6019, 6143
. : milestone, 6081,
iast_GLOBAL (3.707 ms) : 3646, 3769
. : milestone, 3707,
profiling (2.064 ms) : 2046, 2082
. : milestone, 2064,
tracing (1.918 ms) : 1902, 1934
. : milestone, 1918,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.61.0-SNAPSHOT~6921b18b3c, baseline=1.61.0-SNAPSHOT~3123b191d9
dateFormat X
axisFormat %s
section baseline
no_agent (19.434 ms) : 19240, 19627
. : milestone, 19434,
appsec (18.928 ms) : 18733, 19123
. : milestone, 18928,
code_origins (17.892 ms) : 17714, 18070
. : milestone, 17892,
iast (18.016 ms) : 17838, 18195
. : milestone, 18016,
profiling (18.865 ms) : 18678, 19052
. : milestone, 18865,
tracing (17.656 ms) : 17484, 17828
. : milestone, 17656,
section candidate
no_agent (19.848 ms) : 19637, 20060
. : milestone, 19848,
appsec (18.843 ms) : 18653, 19033
. : milestone, 18843,
code_origins (18.019 ms) : 17839, 18199
. : milestone, 18019,
iast (18.262 ms) : 18083, 18441
. : milestone, 18262,
profiling (18.726 ms) : 18542, 18911
. : milestone, 18726,
tracing (17.594 ms) : 17419, 17768
. : milestone, 17594,
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.61.0-SNAPSHOT~6921b18b3c, baseline=1.61.0-SNAPSHOT~3123b191d9
dateFormat X
axisFormat %s
section baseline
no_agent (1.493 ms) : 1482, 1505
. : milestone, 1493,
appsec (3.834 ms) : 3610, 4058
. : milestone, 3834,
iast (2.292 ms) : 2223, 2362
. : milestone, 2292,
iast_GLOBAL (2.329 ms) : 2260, 2399
. : milestone, 2329,
profiling (2.134 ms) : 2077, 2191
. : milestone, 2134,
tracing (2.102 ms) : 2048, 2156
. : milestone, 2102,
section candidate
no_agent (1.502 ms) : 1490, 1514
. : milestone, 1502,
appsec (3.866 ms) : 3642, 4091
. : milestone, 3866,
iast (2.281 ms) : 2212, 2350
. : milestone, 2281,
iast_GLOBAL (2.339 ms) : 2269, 2409
. : milestone, 2339,
profiling (2.111 ms) : 2056, 2166
. : milestone, 2111,
tracing (2.097 ms) : 2043, 2151
. : milestone, 2097,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.61.0-SNAPSHOT~6921b18b3c, baseline=1.61.0-SNAPSHOT~3123b191d9
dateFormat X
axisFormat %s
section baseline
no_agent (14.967 s) : 14967000, 14967000
. : milestone, 14967000,
appsec (14.596 s) : 14596000, 14596000
. : milestone, 14596000,
iast (18.686 s) : 18686000, 18686000
. : milestone, 18686000,
iast_GLOBAL (17.834 s) : 17834000, 17834000
. : milestone, 17834000,
profiling (15.07 s) : 15070000, 15070000
. : milestone, 15070000,
tracing (14.917 s) : 14917000, 14917000
. : milestone, 14917000,
section candidate
no_agent (15.407 s) : 15407000, 15407000
. : milestone, 15407000,
appsec (15.007 s) : 15007000, 15007000
. : milestone, 15007000,
iast (18.366 s) : 18366000, 18366000
. : milestone, 18366000,
iast_GLOBAL (18.038 s) : 18038000, 18038000
. : milestone, 18038000,
profiling (15.075 s) : 15075000, 15075000
. : milestone, 15075000,
tracing (14.923 s) : 14923000, 14923000
. : milestone, 14923000,
|
mtoffl01
left a comment
There was a problem hiding this comment.
nits, otherwise LGTM from the traces perspective!
dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpHttpSender.java
Outdated
Show resolved
Hide resolved
dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpHttpSender.java
Outdated
Show resolved
Hide resolved
dd-trace-core/src/main/java/datadog/trace/core/otlp/common/OtlpHttpSender.java
Show resolved
Hide resolved
| .header("Content-Length", "-1") | ||
| .header("Content-Encoding", "gzip") | ||
| .header("Transfer-Encoding", "chunked"); |
There was a problem hiding this comment.
Nice, I did the same (chunked transfer encoding) in dd-trace-go
95c4018 to
274c553
Compare
Avoids a fleet of apps starting at the same time from exporting OTLP metrics in sync
83382f2 to
1ed021a
Compare
PerfectSlayer
left a comment
There was a problem hiding this comment.
❔ question: Instead of implementing two encoding for the OtlpGrpcRequestBody payload, what about using the OkHttpUtils.gzippedRequestBodyOf() decorator instead for the gzip part? That would keep it simpler and help with later http component refactoring.
|
/merge |
|
View all feedbacks in Devflow UI.
The expected merge time in
|
Unfortunately we can't use the This means for gzipped GRPC we would need 3 request instances:
and we can't write the GRPC control bytes until we've gzipped the payload to see how long it is, as the length of the gzipped data is part of those control bytes... That doesn't mean that we couldn't improve reusability of these components though in the future... |
Additional Notes
Also fixes instrument temporality reported over OTLP
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.