-
Notifications
You must be signed in to change notification settings - Fork 315
Add Otel Metrics configuration keys #9868
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
base: master
Are you sure you want to change the base?
Conversation
|
🎯 Code Coverage 🔗 Commit SHA: 8ef1286 | Docs | Datadog PR Page | Was this helpful? Give us feedback! |
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 53 metrics, 12 unstable metrics. Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.55.0-SNAPSHOT~2788bddb11, baseline=1.55.0-SNAPSHOT~364bb8b68f
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.03 s) : 0, 1030491
Total [baseline] (8.702 s) : 0, 8702212
Agent [candidate] (1.032 s) : 0, 1031826
Total [candidate] (8.661 s) : 0, 8660709
section iast
Agent [baseline] (1.164 s) : 0, 1163906
Total [baseline] (9.354 s) : 0, 9354072
Agent [candidate] (1.172 s) : 0, 1171966
Total [candidate] (9.389 s) : 0, 9388657
gantt
title insecure-bank - break down per module: candidate=1.55.0-SNAPSHOT~2788bddb11, baseline=1.55.0-SNAPSHOT~364bb8b68f
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.472 ms) : 0, 1472
crashtracking [candidate] (1.459 ms) : 0, 1459
BytebuddyAgent [baseline] (703.114 ms) : 0, 703114
BytebuddyAgent [candidate] (704.035 ms) : 0, 704035
GlobalTracer [baseline] (244.408 ms) : 0, 244408
GlobalTracer [candidate] (245.068 ms) : 0, 245068
AppSec [baseline] (32.262 ms) : 0, 32262
AppSec [candidate] (32.369 ms) : 0, 32369
Debugger [baseline] (6.413 ms) : 0, 6413
Debugger [candidate] (6.355 ms) : 0, 6355
Remote Config [baseline] (687.819 µs) : 0, 688
Remote Config [candidate] (684.786 µs) : 0, 685
Telemetry [baseline] (14.346 ms) : 0, 14346
Telemetry [candidate] (14.143 ms) : 0, 14143
Flare Poller [baseline] (6.604 ms) : 0, 6604
Flare Poller [candidate] (6.57 ms) : 0, 6570
section iast
crashtracking [baseline] (1.473 ms) : 0, 1473
crashtracking [candidate] (1.495 ms) : 0, 1495
BytebuddyAgent [baseline] (825.815 ms) : 0, 825815
BytebuddyAgent [candidate] (832.649 ms) : 0, 832649
GlobalTracer [baseline] (233.986 ms) : 0, 233986
GlobalTracer [candidate] (235.574 ms) : 0, 235574
AppSec [baseline] (28.946 ms) : 0, 28946
AppSec [candidate] (28.832 ms) : 0, 28832
Debugger [baseline] (6.182 ms) : 0, 6182
Debugger [candidate] (6.124 ms) : 0, 6124
Remote Config [baseline] (608.829 µs) : 0, 609
Remote Config [candidate] (592.862 µs) : 0, 593
Telemetry [baseline] (8.464 ms) : 0, 8464
Telemetry [candidate] (8.382 ms) : 0, 8382
Flare Poller [baseline] (4.187 ms) : 0, 4187
Flare Poller [candidate] (4.17 ms) : 0, 4170
IAST [baseline] (32.998 ms) : 0, 32998
IAST [candidate] (32.668 ms) : 0, 32668
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.55.0-SNAPSHOT~2788bddb11, baseline=1.55.0-SNAPSHOT~364bb8b68f
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.032 s) : 0, 1031928
Total [baseline] (10.712 s) : 0, 10712313
Agent [candidate] (1.03 s) : 0, 1030320
Total [candidate] (10.775 s) : 0, 10774751
section appsec
Agent [baseline] (1.218 s) : 0, 1217968
Total [baseline] (11.056 s) : 0, 11055534
Agent [candidate] (1.201 s) : 0, 1201311
Total [candidate] (10.967 s) : 0, 10966897
section iast
Agent [baseline] (1.164 s) : 0, 1164207
Total [baseline] (11.231 s) : 0, 11230971
Agent [candidate] (1.166 s) : 0, 1165852
Total [candidate] (11.242 s) : 0, 11242137
section profiling
Agent [baseline] (1.191 s) : 0, 1190715
Total [baseline] (10.85 s) : 0, 10849766
Agent [candidate] (1.181 s) : 0, 1180845
Total [candidate] (10.896 s) : 0, 10895791
gantt
title petclinic - break down per module: candidate=1.55.0-SNAPSHOT~2788bddb11, baseline=1.55.0-SNAPSHOT~364bb8b68f
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.456 ms) : 0, 1456
crashtracking [candidate] (1.469 ms) : 0, 1469
BytebuddyAgent [baseline] (703.995 ms) : 0, 703995
BytebuddyAgent [candidate] (702.921 ms) : 0, 702921
GlobalTracer [baseline] (245.411 ms) : 0, 245411
GlobalTracer [candidate] (244.622 ms) : 0, 244622
AppSec [baseline] (32.381 ms) : 0, 32381
AppSec [candidate] (32.26 ms) : 0, 32260
Debugger [baseline] (6.395 ms) : 0, 6395
Debugger [candidate] (6.388 ms) : 0, 6388
Remote Config [baseline] (684.824 µs) : 0, 685
Remote Config [candidate] (670.221 µs) : 0, 670
Telemetry [baseline] (14.434 ms) : 0, 14434
Telemetry [candidate] (14.392 ms) : 0, 14392
Flare Poller [baseline] (5.89 ms) : 0, 5890
Flare Poller [candidate] (6.475 ms) : 0, 6475
section appsec
crashtracking [baseline] (1.493 ms) : 0, 1493
crashtracking [candidate] (1.453 ms) : 0, 1453
BytebuddyAgent [baseline] (736.183 ms) : 0, 736183
BytebuddyAgent [candidate] (724.68 ms) : 0, 724680
GlobalTracer [baseline] (238.986 ms) : 0, 238986
GlobalTracer [candidate] (236.012 ms) : 0, 236012
IAST [baseline] (25.504 ms) : 0, 25504
IAST [candidate] (24.811 ms) : 0, 24811
AppSec [baseline] (175.297 ms) : 0, 175297
AppSec [candidate] (174.56 ms) : 0, 174560
Debugger [baseline] (5.97 ms) : 0, 5970
Debugger [candidate] (5.908 ms) : 0, 5908
Remote Config [baseline] (632.547 µs) : 0, 633
Remote Config [candidate] (641.455 µs) : 0, 641
Telemetry [baseline] (8.522 ms) : 0, 8522
Telemetry [candidate] (8.322 ms) : 0, 8322
Flare Poller [baseline] (3.97 ms) : 0, 3970
Flare Poller [candidate] (3.871 ms) : 0, 3871
section iast
crashtracking [baseline] (1.465 ms) : 0, 1465
crashtracking [candidate] (1.472 ms) : 0, 1472
BytebuddyAgent [baseline] (825.018 ms) : 0, 825018
BytebuddyAgent [candidate] (827.387 ms) : 0, 827387
GlobalTracer [baseline] (235.324 ms) : 0, 235324
GlobalTracer [candidate] (234.379 ms) : 0, 234379
IAST [baseline] (33.808 ms) : 0, 33808
IAST [candidate] (31.185 ms) : 0, 31185
AppSec [baseline] (28.032 ms) : 0, 28032
AppSec [candidate] (30.779 ms) : 0, 30779
Debugger [baseline] (6.125 ms) : 0, 6125
Debugger [candidate] (6.076 ms) : 0, 6076
Remote Config [baseline] (602.916 µs) : 0, 603
Remote Config [candidate] (596.787 µs) : 0, 597
Telemetry [baseline] (8.424 ms) : 0, 8424
Telemetry [candidate] (8.392 ms) : 0, 8392
Flare Poller [baseline] (4.121 ms) : 0, 4121
Flare Poller [candidate] (4.265 ms) : 0, 4265
section profiling
crashtracking [baseline] (1.494 ms) : 0, 1494
crashtracking [candidate] (1.453 ms) : 0, 1453
BytebuddyAgent [baseline] (738.235 ms) : 0, 738235
BytebuddyAgent [candidate] (731.4 ms) : 0, 731400
GlobalTracer [baseline] (223.015 ms) : 0, 223015
GlobalTracer [candidate] (221.571 ms) : 0, 221571
AppSec [baseline] (34.395 ms) : 0, 34395
AppSec [candidate] (33.229 ms) : 0, 33229
Debugger [baseline] (12.362 ms) : 0, 12362
Debugger [candidate] (9.165 ms) : 0, 9165
Remote Config [baseline] (695.732 µs) : 0, 696
Remote Config [candidate] (1.457 ms) : 0, 1457
Telemetry [baseline] (8.973 ms) : 0, 8973
Telemetry [candidate] (12.216 ms) : 0, 12216
Flare Poller [baseline] (4.238 ms) : 0, 4238
Flare Poller [candidate] (4.189 ms) : 0, 4189
ProfilingAgent [baseline] (111.063 ms) : 0, 111063
ProfilingAgent [candidate] (109.68 ms) : 0, 109680
Profiling [baseline] (111.691 ms) : 0, 111691
Profiling [candidate] (110.318 ms) : 0, 110318
LoadParameters
See matching parameters
SummaryFound 4 performance improvements and 1 performance regressions! Performance is the same for 7 metrics, 12 unstable metrics.
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.55.0-SNAPSHOT~2788bddb11, baseline=1.55.0-SNAPSHOT~364bb8b68f
dateFormat X
axisFormat %s
section baseline
no_agent (19.255 ms) : 19056, 19455
. : milestone, 19255,
appsec (20.59 ms) : 20382, 20798
. : milestone, 20590,
code_origins (18.633 ms) : 18447, 18820
. : milestone, 18633,
iast (18.823 ms) : 18630, 19015
. : milestone, 18823,
profiling (20.412 ms) : 20209, 20615
. : milestone, 20412,
tracing (19.625 ms) : 19429, 19821
. : milestone, 19625,
section candidate
no_agent (19.251 ms) : 19047, 19454
. : milestone, 19251,
appsec (19.887 ms) : 19681, 20093
. : milestone, 19887,
code_origins (18.608 ms) : 18421, 18794
. : milestone, 18608,
iast (19.546 ms) : 19353, 19739
. : milestone, 19546,
profiling (20.446 ms) : 20245, 20646
. : milestone, 20446,
tracing (18.678 ms) : 18488, 18868
. : milestone, 18678,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.55.0-SNAPSHOT~2788bddb11, baseline=1.55.0-SNAPSHOT~364bb8b68f
dateFormat X
axisFormat %s
section baseline
no_agent (1.258 ms) : 1246, 1271
. : milestone, 1258,
iast (3.212 ms) : 3171, 3252
. : milestone, 3212,
iast_FULL (5.895 ms) : 5836, 5954
. : milestone, 5895,
iast_GLOBAL (3.634 ms) : 3581, 3687
. : milestone, 3634,
profiling (2.016 ms) : 1998, 2033
. : milestone, 2016,
tracing (1.799 ms) : 1784, 1813
. : milestone, 1799,
section candidate
no_agent (1.22 ms) : 1208, 1232
. : milestone, 1220,
iast (3.289 ms) : 3247, 3331
. : milestone, 3289,
iast_FULL (5.863 ms) : 5804, 5923
. : milestone, 5863,
iast_GLOBAL (3.498 ms) : 3452, 3545
. : milestone, 3498,
profiling (1.939 ms) : 1923, 1955
. : milestone, 1939,
tracing (1.805 ms) : 1791, 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.55.0-SNAPSHOT~2788bddb11, baseline=1.55.0-SNAPSHOT~364bb8b68f
dateFormat X
axisFormat %s
section baseline
no_agent (1.48 ms) : 1468, 1492
. : milestone, 1480,
appsec (3.667 ms) : 3453, 3880
. : milestone, 3667,
iast (2.213 ms) : 2149, 2277
. : milestone, 2213,
iast_GLOBAL (2.264 ms) : 2199, 2328
. : milestone, 2264,
profiling (2.074 ms) : 2022, 2126
. : milestone, 2074,
tracing (2.038 ms) : 1988, 2088
. : milestone, 2038,
section candidate
no_agent (1.481 ms) : 1470, 1493
. : milestone, 1481,
appsec (3.742 ms) : 3522, 3961
. : milestone, 3742,
iast (2.224 ms) : 2160, 2288
. : milestone, 2224,
iast_GLOBAL (2.27 ms) : 2205, 2335
. : milestone, 2270,
profiling (2.085 ms) : 2032, 2138
. : milestone, 2085,
tracing (2.035 ms) : 1985, 2085
. : milestone, 2035,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.55.0-SNAPSHOT~2788bddb11, baseline=1.55.0-SNAPSHOT~364bb8b68f
dateFormat X
axisFormat %s
section baseline
no_agent (15.025 s) : 15025000, 15025000
. : milestone, 15025000,
appsec (14.933 s) : 14933000, 14933000
. : milestone, 14933000,
iast (18.821 s) : 18821000, 18821000
. : milestone, 18821000,
iast_GLOBAL (18.106 s) : 18106000, 18106000
. : milestone, 18106000,
profiling (15.325 s) : 15325000, 15325000
. : milestone, 15325000,
tracing (15.099 s) : 15099000, 15099000
. : milestone, 15099000,
section candidate
no_agent (14.954 s) : 14954000, 14954000
. : milestone, 14954000,
appsec (15.168 s) : 15168000, 15168000
. : milestone, 15168000,
iast (18.634 s) : 18634000, 18634000
. : milestone, 18634000,
iast_GLOBAL (18.072 s) : 18072000, 18072000
. : milestone, 18072000,
profiling (15.914 s) : 15914000, 15914000
. : milestone, 15914000,
tracing (15.531 s) : 15531000, 15531000
. : milestone, 15531000,
|
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.
Didn't have time to review all test files, but I have a general concern about where we should handle OTel configurations. We already have OTelEnvironmentConfigSource, which is effectively sets Datadog Configs as aliases for OTel Configs when DD_TRACE_OTEL_ENABLED=true.
IMO we should handle all OTel configs in one place to have one source of truth, and to me it makes sense to isolate them in OTelEnvironmentConfigSource. WDYT?
dd-trace-api/src/main/java/datadog/trace/api/ConfigDefaults.java
Outdated
Show resolved
Hide resolved
dd-trace-api/src/main/java/datadog/trace/api/ConfigDefaults.java
Outdated
Show resolved
Hide resolved
dd-trace-api/src/main/java/datadog/trace/api/ConfigDefaults.java
Outdated
Show resolved
Hide resolved
| runtimeMetricsEnabled = configProvider.getBoolean(RUNTIME_METRICS_ENABLED, true); | ||
| metricsOtelEnabled = | ||
| configProvider.getBoolean(METRICS_OTEL_ENABLED, DEFAULT_METRICS_OTEL_ENABLED); | ||
| otelResourceAttributes = configProvider.getMergedMap(OTEL_RESOURCE_ATTRIBUTES, '='); |
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.
This is already queried in OtelEnvironmentConfigSource, and it appears that the existing way of handling of this config is slightly more specific than what is happening here.
Do we have a consensus of how we would like to handle this config?
This also brings up a bigger question of whether or not we want to reclassify what OtelEnvironmentConfigSource does. It really is not its own config source, but rather prioritizing OTEL configs instead of their DD equivalents when DD_TRACE_OTEL_ENABLED = true. Should we have all OTEL configs handled in the OtelEnvironmentConfigSource, or should we migrate all of the configs handled there to be handled in Config.java?
IMO, it makes sense to handle all OTel Configs in OtelEnvironmentConfigSource to separate them from regular DD config handling, and to keep the handling of OTel Configs all in one place.
Co-authored-by: mhlidd <matthew.li@datadoghq.com>
Co-authored-by: mhlidd <matthew.li@datadoghq.com>
Co-authored-by: mhlidd <matthew.li@datadoghq.com>
Co-authored-by: mhlidd <matthew.li@datadoghq.com>
Hi @mhlidd, |
|
@cecile75 Yes you're right about the I do think that the
Renaming to |
|
@mhlidd Looking more into this as there are shared configuration keys between otel metric and otel traces that need remapping: you have mentioned |
|
Recent changes:
|
What Does This Do
Add Otel Metrics configuration keys. They are not linked to anything yet.
Motivation
OpenTelemetry Metrics API support
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: APMAPI-1671