debugger/symdb: add upload metadata fields to upload event message#11329
debugger/symdb: add upload metadata fields to upload event message#11329andreimatei wants to merge 1 commit into
Conversation
|
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.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a82745bb27
ℹ️ About Codex in GitHub
Your team has set up Codex to 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 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
a82745b to
37aee89
Compare
Debugger benchmarksParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 9 metrics, 6 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 (331.92 µs) : 304, 360
. : milestone, 332,
basic (294.041 µs) : 288, 300
. : milestone, 294,
loop (8.987 ms) : 8982, 8993
. : milestone, 8987,
section candidate
noprobe (347.799 µs) : 291, 405
. : milestone, 348,
basic (296.403 µs) : 289, 304
. : milestone, 296,
loop (8.988 ms) : 8982, 8993
. : milestone, 8988,
|
37aee89 to
875f094
Compare
| version, | ||
| "JAVA", | ||
| scopesToSerialize, | ||
| uploadId.toString(), |
There was a problem hiding this comment.
should be a String field then as the uploadId is generated at the creation of the sink
There was a problem hiding this comment.
I'm not sure I'm parsing this comment properly, but if you're suggesting turning uploadId into a string -- why? Seems better to me to do the string conversion as late as possible and keep its UUID character wherever possible (in fact I'd rather ideally never convert to string, but ServiceVersion is marshaled to JSON directly and so claude says its uploadId field cannot simply be declared as UUID.
There was a problem hiding this comment.
basically uploadId at sink creation is constant for all uploads that you will perform, so why converting to string each time?
There was a problem hiding this comment.
Can you add uploadId to this debug logs. So we can have the value for correlation with what we have on the backend side
875f094 to
a2a6899
Compare
a2a6899 to
70ee312
Compare
…d attachment Add the following fields to the SymDB upload event message that accompanies each multipart upload (camelCase, matching the rest of the EvP event schema): - "version" (top-level): the service version - "language" (top-level): "java" - "uploadId" (top-level): a UUID generated once per SymbolSink instance, shared by all batches uploaded by the sink - "batchNum" (top-level): 1-indexed counter incremented per upload - "final" (top-level): always false; the Java tracer continuously uploads new code as classes get loaded, so there is no defined end-of-upload point - "attachmentSize" (top-level): size in bytes of the (compressed) attachment payload Also add the same metadata to the gzipped attachment body via the ServiceVersion wrapper (snake_case to match the rest of the attachment scope schema): - "upload_id" - "batch_num" - "final" uploadId/batchNum are computed once per batch in serializeAndUpload so both the attachment and the event JSON carry the same values. Some of these fields are new, to be used by the backend in the future. Others duplicate info that was already included in the attachment; by duplicating some metadata out of the SymDB attachment body into the EvP event body, the backend can populate per-attachment bookkeeping without downloading the attachment.
70ee312 to
8d640b0
Compare
Add the following fields to the SymDB upload event message that
accompanies each multipart upload (camelCase, matching the rest of
the EvP event schema):
instance, shared by all batches uploaded by the sink
uploads new code as classes get loaded, so there is no defined
end-of-upload point
attachment payload
Also add the same metadata to the gzipped attachment body via the
ServiceVersion wrapper (snake_case to match the rest of the
attachment scope schema):
uploadId/batchNum are computed once per batch in serializeAndUpload
so both the attachment and the event JSON carry the same values.
Some of these fields are new, to be used by the backend in the future.
Others duplicate info that was already included in the attachment; by
duplicating some metadata out of the SymDB attachment body into the EvP
event body, the backend can populate per-attachment bookkeeping without
downloading the attachment.