Repository navigation
[debugger] Require the root timestamp on debugger snapshot payloads - #8197
Draft
dudikeleti wants to merge 2 commits into
Draft
dudikeleti wants to merge 2 commits into
dudikeleti wants to merge 2 commits into
Conversation
The log probes RFC defines the snapshot payload sent to the intake with timestamp at the root as well as in debugger.snapshot. Snapshots go through the logs intake, which dates an event from the root attribute. The agent schema listed the root timestamp but didn't require it, so tracers that only set debugger.snapshot.timestamp went unnoticed. Require it on items whose debugger object has a snapshot. Diagnostics items are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
|
❌ ErrorsYour PR has failed checks. Please review the issues below and take necessary action before merging. 🚦 18 Pipeline jobs failed
ℹ️ InfoNo other issues found (see more)❄️ No new flaky tests detected Useful? React with 👍 / 👎 This comment will be updated automatically if new data arrives.🔗 Commit SHA: 03d6335 | Docs | View more details | Give us feedback! |
… Node.js Released .NET versions before 3.57.0 and Node.js versions before 5.133.0 and 6.22.0 only set debugger.snapshot.timestamp (DEBUG-6442). The fixes are DataDog/dd-trace-dotnet#9532 and DataDog/dd-trace-js#10939. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
The "Log probes configuration" RFC defines the snapshot payload sent to the intake with
timestampat the root as well as indebugger.snapshot, both in epoch milliseconds with the same value. Snapshots go through the logs intake as log entries, and the logs pipeline takes the event date from the root attribute.tests/schemas/utils/agent/api/v2/debugger-request.jsonlisted the roottimestampas an optional property, so tracers that only setdebugger.snapshot.timestampweren't caught. Two did: .NET, fixed by DataDog/dd-trace-dotnet#9532, and Node.js, fixed by DataDog/dd-trace-js#10939.This also showed up in #7876: the
start_timefilter intests/debugger/utils.pyuses the roottimestamp, so on .NET it never applies.Changes
debugger-request.json: items whosedebuggerobject has asnapshotmust have a roottimestamp(if/thennext to the existingoneOf). Diagnostics items are unchanged.test_schemas.py: a known-bug entry (DEBUG-6442) for/api/v2/debuggerat$[]covers released versions without the fix: .NET below3.57.0, and Node.js below5.133.0or6.xbelow6.22.0. The existing Node.js entry (DEBUG-3487) only covers errors at$.Checked offline with
jsonschema==4.16.0against the/api/v2/debuggerpayloads captured in run 40476310561 and run 40476449992,DEBUGGER_INPRODUCT_ENABLEMENT:spring-boot-jetty)flask-poc)apache-mod-8.2)poc)'timestamp' is a required propertyat$[]Go had no
/api/v2/debuggerpayloads in that scenario; this PR's CI covers it and the other scenarios.devjobs report the next version (dotnet@3.57.0), so the known-bug entry doesn't cover them: the .NETdevjob failsTest_DdtraceSchemas::test_agentuntil DataDog/dd-trace-dotnet#9532 is merged and in thedevbuild. Node.jsdevalready has DataDog/dd-trace-js#10939.Workflow
system-tests-reviewers: ask to one of youre co-worker familiar with the tested feature.system-tests-core(slack)🚀 Once your PR is reviewed and the CI green, you can merge it!
🛟 #apm-shared-testing 🛟
🤖 Generated with Claude Code