Fix initialization of samplers for probe file#12067
Conversation
When loading probes from file, initSamplers method is not called for deserialized probes. we centralize probe deserialization in ProbeDefinitionDeserializer class and add smoke test for this.
|
Hi! 👋 Thanks for your pull request! 🎉 To help us review it, please make sure to:
If you need help, please check our contributing guidelines. |
There was a problem hiding this comment.
More details
The file-loader change correctly centralizes probe deserialization and initializes samplers for log, trigger, and span-decoration probes without changing metric or span handling. No concrete diff-only regression was identified; package tests could not execute because this checkout requires Java 25 while the environment provides Java 21.
🤖 Datadog Autotest · Commit 8dfe6f4 · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest
Bits found no code fix to apply🟢 Investigated · ⚪ No code fix needed
View in Datadog | Reviewed commit 8dfe6f4 · Any feedback? Reach out in #deveng-pr-agent |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8dfe6f4c21
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| assertInstanceOf(MetricProbe.class, definitions.get(0)); | ||
| assertInstanceOf(LogProbe.class, definitions.get(1)); | ||
| assertEquals(6, definitions.size()); | ||
| assertInstanceOf(TriggerProbe.class, definitions.get(0)); |
There was a problem hiding this comment.
Fix expected probe ordering in loader test
The probe-file fixture still starts with a LOG_PROBE and appends the new TRIGGER_PROBE at the end, and ConfigurationFileLoader appends definitions in JSON array order. This assertion therefore fails immediately with a LogProbe at index 0, so the updated test blocks the module test suite before it can verify the sampler initialization change.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
no, Configuration::getDefinitions add definitions in a different order
This comment has been minimized.
This comment has been minimized.
Debugger benchmarksParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 10 metrics, 5 unstable metrics. See unchanged results
Request duration reports for reportsgantt
title reports - request duration [CI 0.99] : candidate=None, baseline=None
dateFormat X
axisFormat %s
section baseline
noprobe (336.225 µs) : 303, 369
. : milestone, 336,
basic (297.093 µs) : 291, 303
. : milestone, 297,
loop (8.989 ms) : 8983, 8994
. : milestone, 8989,
section candidate
noprobe (331.149 µs) : 309, 353
. : milestone, 331,
basic (297.803 µs) : 291, 305
. : milestone, 298,
loop (8.99 ms) : 8984, 8996
. : milestone, 8990,
|
🟢 Java Benchmark SLOs — All performance SLOs passed
PR vs. master results
Commit: Load and DaCapo benchmarks can be triggered manually in the GitLab pipeline. Results will appear in the Benchmarking Platform UI after completion. |
What Does This Do
When loading probes from file, initSamplers method is not called for deserialized probes. we centralize probe deserialization in ProbeDefinitionDeserializer class and add smoke test for this.
Motivation
Additional Notes
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: DEBUG-5873