-
Notifications
You must be signed in to change notification settings - Fork 324
Implement OpenTelemetry meter storage and aggregations #10534
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
Implement OpenTelemetry meter storage and aggregations #10534
Conversation
…ice - we do this to match OTel behaviour
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 64 metrics, 7 unstable metrics. Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.60.0-SNAPSHOT~3f305b4c07, baseline=1.60.0-SNAPSHOT~d8f2599d6f
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.064 s) : 0, 1063892
Total [baseline] (8.732 s) : 0, 8732374
Agent [candidate] (1.063 s) : 0, 1063211
Total [candidate] (8.756 s) : 0, 8755789
section iast
Agent [baseline] (1.229 s) : 0, 1229497
Total [baseline] (9.355 s) : 0, 9354520
Agent [candidate] (1.231 s) : 0, 1231223
Total [candidate] (9.377 s) : 0, 9377462
gantt
title insecure-bank - break down per module: candidate=1.60.0-SNAPSHOT~3f305b4c07, baseline=1.60.0-SNAPSHOT~d8f2599d6f
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.189 ms) : 0, 1189
crashtracking [candidate] (1.176 ms) : 0, 1176
BytebuddyAgent [baseline] (628.483 ms) : 0, 628483
BytebuddyAgent [candidate] (627.658 ms) : 0, 627658
AgentMeter [baseline] (28.953 ms) : 0, 28953
AgentMeter [candidate] (28.927 ms) : 0, 28927
GlobalTracer [baseline] (258.174 ms) : 0, 258174
GlobalTracer [candidate] (257.863 ms) : 0, 257863
AppSec [baseline] (32.807 ms) : 0, 32807
AppSec [candidate] (32.884 ms) : 0, 32884
Debugger [baseline] (61.468 ms) : 0, 61468
Debugger [candidate] (61.085 ms) : 0, 61085
Remote Config [baseline] (613.904 µs) : 0, 614
Remote Config [candidate] (612.52 µs) : 0, 613
Telemetry [baseline] (13.072 ms) : 0, 13072
Telemetry [candidate] (12.289 ms) : 0, 12289
Flare Poller [baseline] (3.79 ms) : 0, 3790
Flare Poller [candidate] (5.388 ms) : 0, 5388
section iast
crashtracking [baseline] (1.188 ms) : 0, 1188
crashtracking [candidate] (1.18 ms) : 0, 1180
BytebuddyAgent [baseline] (795.499 ms) : 0, 795499
BytebuddyAgent [candidate] (796.354 ms) : 0, 796354
AgentMeter [baseline] (11.254 ms) : 0, 11254
AgentMeter [candidate] (11.284 ms) : 0, 11284
GlobalTracer [baseline] (247.272 ms) : 0, 247272
GlobalTracer [candidate] (247.826 ms) : 0, 247826
AppSec [baseline] (34.661 ms) : 0, 34661
AppSec [candidate] (33.816 ms) : 0, 33816
Debugger [baseline] (64.618 ms) : 0, 64618
Debugger [candidate] (65.751 ms) : 0, 65751
Remote Config [baseline] (545.486 µs) : 0, 545
Remote Config [candidate] (534.801 µs) : 0, 535
Telemetry [baseline] (8.667 ms) : 0, 8667
Telemetry [candidate] (8.729 ms) : 0, 8729
Flare Poller [baseline] (3.497 ms) : 0, 3497
Flare Poller [candidate] (3.548 ms) : 0, 3548
IAST [baseline] (27.004 ms) : 0, 27004
IAST [candidate] (26.888 ms) : 0, 26888
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.60.0-SNAPSHOT~3f305b4c07, baseline=1.60.0-SNAPSHOT~d8f2599d6f
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.066 s) : 0, 1065622
Total [baseline] (10.848 s) : 0, 10847996
Agent [candidate] (1.072 s) : 0, 1071836
Total [candidate] (10.942 s) : 0, 10941924
section appsec
Agent [baseline] (1.235 s) : 0, 1235444
Total [baseline] (10.938 s) : 0, 10938209
Agent [candidate] (1.239 s) : 0, 1238726
Total [candidate] (11.069 s) : 0, 11068624
section iast
Agent [baseline] (1.242 s) : 0, 1242458
Total [baseline] (11.148 s) : 0, 11148381
Agent [candidate] (1.23 s) : 0, 1229778
Total [candidate] (11.238 s) : 0, 11238423
section profiling
Agent [baseline] (1.196 s) : 0, 1195595
Total [baseline] (10.967 s) : 0, 10966858
Agent [candidate] (1.19 s) : 0, 1190036
Total [candidate] (10.976 s) : 0, 10975526
gantt
title petclinic - break down per module: candidate=1.60.0-SNAPSHOT~3f305b4c07, baseline=1.60.0-SNAPSHOT~d8f2599d6f
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.182 ms) : 0, 1182
crashtracking [candidate] (1.185 ms) : 0, 1185
BytebuddyAgent [baseline] (628.002 ms) : 0, 628002
BytebuddyAgent [candidate] (633.515 ms) : 0, 633515
AgentMeter [baseline] (28.828 ms) : 0, 28828
AgentMeter [candidate] (29.114 ms) : 0, 29114
GlobalTracer [baseline] (257.572 ms) : 0, 257572
GlobalTracer [candidate] (259.092 ms) : 0, 259092
AppSec [baseline] (32.838 ms) : 0, 32838
AppSec [candidate] (32.925 ms) : 0, 32925
Debugger [baseline] (62.786 ms) : 0, 62786
Debugger [candidate] (62.305 ms) : 0, 62305
Remote Config [baseline] (626.895 µs) : 0, 627
Remote Config [candidate] (617.772 µs) : 0, 618
Telemetry [baseline] (12.338 ms) : 0, 12338
Telemetry [candidate] (11.482 ms) : 0, 11482
Flare Poller [baseline] (6.176 ms) : 0, 6176
Flare Poller [candidate] (6.047 ms) : 0, 6047
section appsec
crashtracking [baseline] (1.176 ms) : 0, 1176
crashtracking [candidate] (1.178 ms) : 0, 1178
BytebuddyAgent [baseline] (655.53 ms) : 0, 655530
BytebuddyAgent [candidate] (657.601 ms) : 0, 657601
AgentMeter [baseline] (11.851 ms) : 0, 11851
AgentMeter [candidate] (11.838 ms) : 0, 11838
GlobalTracer [baseline] (257.915 ms) : 0, 257915
GlobalTracer [candidate] (258.868 ms) : 0, 258868
IAST [baseline] (25.204 ms) : 0, 25204
IAST [candidate] (25.242 ms) : 0, 25242
AppSec [baseline] (168.12 ms) : 0, 168120
AppSec [candidate] (167.67 ms) : 0, 167670
Debugger [baseline] (67.112 ms) : 0, 67112
Debugger [candidate] (67.63 ms) : 0, 67630
Remote Config [baseline] (666.732 µs) : 0, 667
Remote Config [candidate] (669.069 µs) : 0, 669
Telemetry [baseline] (9.106 ms) : 0, 9106
Telemetry [candidate] (9.205 ms) : 0, 9205
Flare Poller [baseline] (3.603 ms) : 0, 3603
Flare Poller [candidate] (3.624 ms) : 0, 3624
section iast
crashtracking [baseline] (1.189 ms) : 0, 1189
crashtracking [candidate] (1.18 ms) : 0, 1180
BytebuddyAgent [baseline] (804.876 ms) : 0, 804876
BytebuddyAgent [candidate] (795.007 ms) : 0, 795007
AgentMeter [baseline] (11.354 ms) : 0, 11354
AgentMeter [candidate] (11.235 ms) : 0, 11235
GlobalTracer [baseline] (249.582 ms) : 0, 249582
GlobalTracer [candidate] (247.653 ms) : 0, 247653
IAST [baseline] (27.032 ms) : 0, 27032
IAST [candidate] (26.836 ms) : 0, 26836
AppSec [baseline] (32.992 ms) : 0, 32992
AppSec [candidate] (34.761 ms) : 0, 34761
Debugger [baseline] (67.368 ms) : 0, 67368
Debugger [candidate] (65.404 ms) : 0, 65404
Remote Config [baseline] (552.084 µs) : 0, 552
Remote Config [candidate] (543.433 µs) : 0, 543
Telemetry [baseline] (8.603 ms) : 0, 8603
Telemetry [candidate] (8.569 ms) : 0, 8569
Flare Poller [baseline] (3.478 ms) : 0, 3478
Flare Poller [candidate] (3.434 ms) : 0, 3434
section profiling
crashtracking [baseline] (1.216 ms) : 0, 1216
crashtracking [candidate] (1.215 ms) : 0, 1215
BytebuddyAgent [baseline] (684.484 ms) : 0, 684484
BytebuddyAgent [candidate] (682.705 ms) : 0, 682705
AgentMeter [baseline] (8.81 ms) : 0, 8810
AgentMeter [candidate] (8.7 ms) : 0, 8700
GlobalTracer [baseline] (217.368 ms) : 0, 217368
GlobalTracer [candidate] (215.788 ms) : 0, 215788
AppSec [baseline] (32.572 ms) : 0, 32572
AppSec [candidate] (32.33 ms) : 0, 32330
Debugger [baseline] (68.098 ms) : 0, 68098
Debugger [candidate] (67.329 ms) : 0, 67329
Remote Config [baseline] (618.196 µs) : 0, 618
Remote Config [candidate] (590.18 µs) : 0, 590
Telemetry [baseline] (9.019 ms) : 0, 9019
Telemetry [candidate] (8.76 ms) : 0, 8760
Flare Poller [baseline] (3.773 ms) : 0, 3773
Flare Poller [candidate] (3.791 ms) : 0, 3791
ProfilingAgent [baseline] (99.718 ms) : 0, 99718
ProfilingAgent [candidate] (98.851 ms) : 0, 98851
Profiling [baseline] (100.294 ms) : 0, 100294
Profiling [candidate] (99.428 ms) : 0, 99428
LoadParameters
See matching parameters
SummaryFound 4 performance improvements and 1 performance regressions! Performance is the same for 13 metrics, 18 unstable metrics.
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.60.0-SNAPSHOT~3f305b4c07, baseline=1.60.0-SNAPSHOT~d8f2599d6f
dateFormat X
axisFormat %s
section baseline
no_agent (18.03 ms) : 17844, 18215
. : milestone, 18030,
appsec (18.715 ms) : 18524, 18905
. : milestone, 18715,
code_origins (17.639 ms) : 17464, 17814
. : milestone, 17639,
iast (17.772 ms) : 17595, 17949
. : milestone, 17772,
profiling (19.409 ms) : 19214, 19604
. : milestone, 19409,
tracing (17.647 ms) : 17473, 17821
. : milestone, 17647,
section candidate
no_agent (17.906 ms) : 17725, 18087
. : milestone, 17906,
appsec (18.313 ms) : 18128, 18497
. : milestone, 18313,
code_origins (17.582 ms) : 17407, 17758
. : milestone, 17582,
iast (18.537 ms) : 18351, 18723
. : milestone, 18537,
profiling (18.489 ms) : 18306, 18672
. : milestone, 18489,
tracing (17.783 ms) : 17609, 17957
. : milestone, 17783,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.60.0-SNAPSHOT~3f305b4c07, baseline=1.60.0-SNAPSHOT~d8f2599d6f
dateFormat X
axisFormat %s
section baseline
no_agent (1.172 ms) : 1160, 1183
. : milestone, 1172,
iast (3.094 ms) : 3052, 3137
. : milestone, 3094,
iast_FULL (5.904 ms) : 5845, 5963
. : milestone, 5904,
iast_GLOBAL (3.451 ms) : 3399, 3503
. : milestone, 3451,
profiling (2.31 ms) : 2288, 2332
. : milestone, 2310,
tracing (1.795 ms) : 1779, 1810
. : milestone, 1795,
section candidate
no_agent (1.184 ms) : 1172, 1195
. : milestone, 1184,
iast (3.067 ms) : 3033, 3101
. : milestone, 3067,
iast_FULL (5.527 ms) : 5473, 5581
. : milestone, 5527,
iast_GLOBAL (3.587 ms) : 3531, 3643
. : milestone, 3587,
profiling (1.99 ms) : 1971, 2009
. : milestone, 1990,
tracing (1.841 ms) : 1823, 1858
. : milestone, 1841,
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 biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.60.0-SNAPSHOT~3f305b4c07, baseline=1.60.0-SNAPSHOT~d8f2599d6f
dateFormat X
axisFormat %s
section baseline
no_agent (15.369 s) : 15369000, 15369000
. : milestone, 15369000,
appsec (15.036 s) : 15036000, 15036000
. : milestone, 15036000,
iast (18.174 s) : 18174000, 18174000
. : milestone, 18174000,
iast_GLOBAL (17.768 s) : 17768000, 17768000
. : milestone, 17768000,
profiling (15.473 s) : 15473000, 15473000
. : milestone, 15473000,
tracing (14.782 s) : 14782000, 14782000
. : milestone, 14782000,
section candidate
no_agent (14.88 s) : 14880000, 14880000
. : milestone, 14880000,
appsec (14.792 s) : 14792000, 14792000
. : milestone, 14792000,
iast (18.271 s) : 18271000, 18271000
. : milestone, 18271000,
iast_GLOBAL (18.093 s) : 18093000, 18093000
. : milestone, 18093000,
profiling (14.801 s) : 14801000, 14801000
. : milestone, 14801000,
tracing (14.692 s) : 14692000, 14692000
. : milestone, 14692000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.60.0-SNAPSHOT~3f305b4c07, baseline=1.60.0-SNAPSHOT~d8f2599d6f
dateFormat X
axisFormat %s
section baseline
no_agent (1.47 ms) : 1459, 1482
. : milestone, 1470,
appsec (3.754 ms) : 3534, 3974
. : milestone, 3754,
iast (2.251 ms) : 2182, 2320
. : milestone, 2251,
iast_GLOBAL (2.302 ms) : 2232, 2371
. : milestone, 2302,
profiling (2.099 ms) : 2043, 2155
. : milestone, 2099,
tracing (2.051 ms) : 1998, 2104
. : milestone, 2051,
section candidate
no_agent (1.471 ms) : 1460, 1483
. : milestone, 1471,
appsec (3.765 ms) : 3544, 3986
. : milestone, 3765,
iast (2.262 ms) : 2193, 2331
. : milestone, 2262,
iast_GLOBAL (2.295 ms) : 2226, 2364
. : milestone, 2295,
profiling (2.073 ms) : 2019, 2127
. : milestone, 2073,
tracing (2.069 ms) : 2015, 2122
. : milestone, 2069,
|
PerfectSlayer
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.
Looking good. Left few questions / comments along the review.
As the instrumentation is not enabled and still partial (anything related to callback is still missing for example), it's fine having no test for now. I prefer having small PRs to review :)
...-otel/otel-shim/src/main/java/datadog/opentelemetry/shim/metrics/data/OtelMetricStorage.java
Show resolved
Hide resolved
...agent-otel/otel-shim/src/main/java/datadog/opentelemetry/shim/metrics/OtelDoubleCounter.java
Show resolved
Hide resolved
| 0d, 5d, 10d, 25d, 50d, 75d, 100d, 250d, 500d, 750d, 1_000d, 2_500d, 5_000d, 7_500d, | ||
| 10_000d); |
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.
👏 praise: Thanks for making numeric literals easier to read with _!
...ent-otel/otel-shim/src/main/java/datadog/opentelemetry/shim/metrics/OtelDoubleHistogram.java
Outdated
Show resolved
Hide resolved
| import javax.annotation.Nullable; | ||
|
|
||
| /** Uniquely describes an instrument for the Meter that created it. */ | ||
| public final class OtelInstrumentDescriptor { |
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.
💭 thought: Sometime I wish we had record 😮💨
...gent-otel/otel-shim/src/main/java/datadog/opentelemetry/shim/metrics/OtelInstrumentType.java
Outdated
Show resolved
Hide resolved
...agent-otel/otel-shim/src/main/java/datadog/opentelemetry/shim/metrics/OtelLongHistogram.java
Outdated
Show resolved
Hide resolved
...tel/otel-shim/src/main/java/datadog/opentelemetry/shim/metrics/OtelInstrumentDescriptor.java
Show resolved
Hide resolved
|
/merge |
|
View all feedbacks in Devflow UI.
The expected merge time in
|
cffe9c6
into
master
Additional Notes
Exporting of metrics will be implemented in a separate PR.
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-1765