Repository navigation
perfetto: Add TraceBufferV3 - #7907
Open
sashwinbalaji wants to merge 1 commit into
Open
sashwinbalaji wants to merge 1 commit into
sashwinbalaji wants to merge 1 commit into
Conversation
sashwinbalaji
force-pushed
the
dev/sashwinbalaji/05-tbv3-buffer
branch
from
October 14, 2026 10:26
5a411e0 to
e55aadd
Compare
Base automatically changed from
dev/sashwinbalaji/04-tbv3-buffer-interface
to
dev/sashwinbalaji/02-tbv2-read-gap
October 14, 2026 10:26
sashwinbalaji
force-pushed
the
dev/sashwinbalaji/05-tbv3-buffer
branch
from
October 14, 2026 11:47
e55aadd to
4cf42f0
Compare
sashwinbalaji
force-pushed
the
dev/sashwinbalaji/05-tbv3-buffer
branch
from
October 14, 2026 12:04
4cf42f0 to
6309974
Compare
sashwinbalaji
force-pushed
the
dev/sashwinbalaji/05-tbv3-buffer
branch
2 times, most recently
from
October 14, 2026 15:29
a6505e2 to
dc6f9e1
Compare
sashwinbalaji
force-pushed
the
dev/sashwinbalaji/05-tbv3-buffer
branch
from
October 15, 2026 16:01
dc6f9e1 to
f87a521
Compare
sashwinbalaji
force-pushed
the
dev/sashwinbalaji/05-tbv3-buffer
branch
from
October 22, 2026 15:57
f87a521 to
cd85f4c
Compare
sashwinbalaji
changed the base branch from
dev/sashwinbalaji/02-tbv2-read-gap
to
dev/sashwinbalaji/03-tbv3-foundations
October 22, 2026 16:00
sashwinbalaji
force-pushed
the
dev/sashwinbalaji/05-tbv3-buffer
branch
from
October 22, 2026 16:19
cd85f4c to
484b271
Compare
sashwinbalaji
force-pushed
the
dev/sashwinbalaji/05-tbv3-buffer
branch
from
October 26, 2026 00:18
484b271 to
94e0467
Compare
sashwinbalaji
marked this pull request as ready for review
October 26, 2026 00:22
sashwinbalaji
force-pushed
the
dev/sashwinbalaji/05-tbv3-buffer
branch
from
October 26, 2026 11:46
94e0467 to
09bbcc6
Compare
Member
|
Old school review sorry. I was in a flight with no wifi. 0001-Primiano-s-review-on-dev-sashwinbalaji-05-tbv3-buffe.patch Better to discuss in person. See commit message in the patch |
sashwinbalaji
force-pushed
the
dev/sashwinbalaji/05-tbv3-buffer
branch
from
October 29, 2026 18:30
09bbcc6 to
c57eefd
Compare
Base automatically changed from
dev/sashwinbalaji/03-tbv3-foundations
to
main
October 30, 2026 15:52
sashwinbalaji
force-pushed
the
dev/sashwinbalaji/05-tbv3-buffer
branch
from
November 4, 2026 11:25
c57eefd to
1e30805
Compare
sashwinbalaji
changed the base branch from
main
to
dev/sashwinbalaji/05b-tbv3-sequence-table
November 4, 2026 11:25
sashwinbalaji
force-pushed
the
dev/sashwinbalaji/05-tbv3-buffer
branch
from
November 5, 2026 09:40
1e30805 to
01f4146
Compare
sashwinbalaji
force-pushed
the
dev/sashwinbalaji/05-tbv3-buffer
branch
4 times, most recently
from
November 5, 2026 20:25
c55f9d0 to
81e85cc
Compare
Base automatically changed from
dev/sashwinbalaji/05b-tbv3-sequence-table
to
main
November 5, 2026 22:28
sashwinbalaji
force-pushed
the
dev/sashwinbalaji/05-tbv3-buffer
branch
from
November 5, 2026 22:28
81e85cc to
b0f7da7
Compare
Use TBv2 staging to assemble packets into compressed bundles. Add bundle storage, readback, sequence leases, loss reporting, cloning, ProtoVM support and buffer statistics. Staging owns the sequence state map. Each bundle takes a lease on each of its sequences, so pruning keeps a sequence until no bundle needs it. Before each write, ask staging whether the write might wrap or overwrite, and bundle first if so. This keeps the TBv2 write path unchanged. As a result, a write that needs no new space, such as a recommit, can also start a bundling pass when staging is full. TBv2 gains only what staging needs, and standalone TBv2 behaviour does not change: - WriteWouldWrapOrOverwrite() lets the caller ask before writing. - CompactChunks() also runs in kDiscard buffers, so staging can reuse its space. Writes stopped by StopAcceptingWrites() stay stopped. Add the write-checkpoint interface. The service starts to use it in the next change. Allow late commits of already-consumed scraped chunks without a debug failure, because bundling can consume their earlier copy.
sashwinbalaji
force-pushed
the
dev/sashwinbalaji/05-tbv3-buffer
branch
from
November 5, 2026 22:50
b0f7da7 to
2d42d34
Compare
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.
Use TBv2 staging to assemble packets into compressed bundles. Add
bundle storage, readback, sequence leases, loss reporting, cloning,
ProtoVM support and buffer statistics.
Staging owns the sequence table. Each bundle takes a lease on each of
its sequences, so pruning keeps a sequence until no bundle needs it.
Before each write, ask staging whether the write might wrap or
overwrite, and bundle first if so. This keeps the TBv2 write path
unchanged. As a result, a write that needs no new space, such as a
recommit, can also start a bundling pass when staging is full.
TBv2 gains only what staging needs, and standalone TBv2 behaviour does
not change:
its space. Writes stopped by StopAcceptingWrites() stay stopped.
Add the write-checkpoint interface. The service starts to use it in
the next change.
Allow late commits of already-consumed scraped chunks without a debug
failure, because bundling can consume their earlier copy.
Design: #7838