RPP: deal with ID reuse when pairing async events [devtools/devtools-frontend : chromium/7390]

0 views
Skip to first unread message

Connor Clark (Gerrit)

unread,
Sep 23, 2025, 1:42:27 PMĀ (3 days ago)Ā Sep 23
to Jack Franklin, Paul Irish, Devtools-frontend LUCI CQ, AyeAye, devtools-rev...@chromium.org
Attention needed from Paul Irish

New activity on the change

Open in Gerrit

Related details

Attention is currently required from:
  • Paul Irish
Submit Requirements:
  • requirement satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: devtools/devtools-frontend
Gerrit-Branch: chromium/7390
Gerrit-Change-Id: I0b14aefe2408d9cb24394ad2fb6b93a87064669a
Gerrit-Change-Number: 6976651
Gerrit-PatchSet: 2
Gerrit-Owner: Connor Clark <cja...@chromium.org>
Gerrit-Reviewer: Connor Clark <cja...@chromium.org>
Gerrit-Reviewer: Paul Irish <paul...@chromium.org>
Gerrit-CC: Devtools-frontend LUCI CQ <devtools-fro...@luci-project-accounts.iam.gserviceaccount.com>
Gerrit-CC: Jack Franklin <jacktf...@chromium.org>
Gerrit-Attention: Paul Irish <paul...@chromium.org>
Gerrit-Comment-Date: Tue, 23 Sep 2025 17:42:24 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Paul Irish (Gerrit)

unread,
Sep 23, 2025, 2:07:55 PMĀ (3 days ago)Ā Sep 23
to Connor Clark, Jack Franklin, Devtools-frontend LUCI CQ, AyeAye, devtools-rev...@chromium.org
Attention needed from Connor Clark

Paul Irish voted Code-Review+1

Code-Review+1
Open in Gerrit

Related details

Attention is currently required from:
  • Connor Clark
Submit Requirements:
  • requirement satisfiedCode-Owners
  • requirement satisfiedCode-Review
  • requirement satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: devtools/devtools-frontend
Gerrit-Branch: chromium/7390
Gerrit-Change-Id: I0b14aefe2408d9cb24394ad2fb6b93a87064669a
Gerrit-Change-Number: 6976651
Gerrit-PatchSet: 3
Gerrit-Owner: Connor Clark <cja...@chromium.org>
Gerrit-Reviewer: Connor Clark <cja...@chromium.org>
Gerrit-Reviewer: Paul Irish <paul...@chromium.org>
Gerrit-CC: Devtools-frontend LUCI CQ <devtools-fro...@luci-project-accounts.iam.gserviceaccount.com>
Gerrit-CC: Jack Franklin <jacktf...@chromium.org>
Gerrit-Attention: Connor Clark <cja...@chromium.org>
Gerrit-Comment-Date: Tue, 23 Sep 2025 18:07:52 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
open
diffy

Connor Clark (Gerrit)

unread,
Sep 23, 2025, 3:08:18 PMĀ (2 days ago)Ā Sep 23
to Jack Franklin, Paul Irish, Devtools-frontend LUCI CQ, AyeAye, devtools-rev...@chromium.org

Connor Clark voted Commit-Queue+2

Commit-Queue+2
Open in Gerrit

Related details

Attention set is empty
Submit Requirements:
  • requirement satisfiedCode-Owners
  • requirement satisfiedCode-Review
  • requirement satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: devtools/devtools-frontend
Gerrit-Branch: chromium/7390
Gerrit-Change-Id: I0b14aefe2408d9cb24394ad2fb6b93a87064669a
Gerrit-Change-Number: 6976651
Gerrit-PatchSet: 3
Gerrit-Owner: Connor Clark <cja...@chromium.org>
Gerrit-Reviewer: Connor Clark <cja...@chromium.org>
Gerrit-Reviewer: Paul Irish <paul...@chromium.org>
Gerrit-CC: Devtools-frontend LUCI CQ <devtools-fro...@luci-project-accounts.iam.gserviceaccount.com>
Gerrit-CC: Jack Franklin <jacktf...@chromium.org>
Gerrit-Comment-Date: Tue, 23 Sep 2025 19:08:16 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
open
diffy

Devtools-frontend LUCI CQ (Gerrit)

unread,
Sep 23, 2025, 3:10:17 PMĀ (2 days ago)Ā Sep 23
to Connor Clark, Jack Franklin, Paul Irish, AyeAye, devtools-rev...@chromium.org

Devtools-frontend LUCI CQ submitted the change

Change information

Commit message:
RPP: deal with ID reuse when pairing async events

This CL is the more generic fix that first landed specifically for
performance.measure calls in crrev.com/c/6965589.

In July 2025 this change in Perfetto:
https://chromium.googlesource.com/external/github.com/google/perfetto.git/+/aef636b27ffbf379fd722e7798030da2c5c4d699
had the side-effect of meaning that Perfetto can and will reuse IDs for
trace events if it can. This means that begin & end event pairs that do
not overlap may have the same ID.

Our logic to pair `begin` and `end` events together (along with async
instant events too) does not account for this, and is causing bugs like
the one attached to this CL where events get dropped if there are ID
collisions.

The fix is to walk th events in timestamp order; collecting begin &
instant events by ID, and then grouping them when we find an end event.
If we have two groups with the same ID, we know they must not overlap,
so we know that by the time we hit the begin event of the second group,
we know the first must have been collected by now.

Bug: 445614711
Fixed: 446602467
Change-Id: I0b14aefe2408d9cb24394ad2fb6b93a87064669a
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6969008
Auto-Submit: Jack Franklin <jacktf...@chromium.org>
Commit-Queue: Jack Franklin <jacktf...@chromium.org>
Reviewed-by: Finnur Thorarinsson <fin...@chromium.org>
(cherry picked from commit 5ab40b5970e13339d4481ecf11de51b82285a106)
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6976651
Reviewed-by: Paul Irish <paul...@chromium.org>
Commit-Queue: Connor Clark <cja...@chromium.org>
Files:
  • M front_end/models/trace/handlers/UserTimingsHandler.ts
  • M front_end/models/trace/helpers/Trace.test.ts
  • M front_end/models/trace/helpers/Trace.ts
  • M front_end/models/trace/types/TraceEvents.ts
Change size: L
Delta: 4 files changed, 229 insertions(+), 44 deletions(-)
Branch: refs/heads/chromium/7390
Submit Requirements:
  • requirement satisfiedCode-Review: +1 by Paul Irish
Open in Gerrit
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: merged
Gerrit-Project: devtools/devtools-frontend
Gerrit-Branch: chromium/7390
Gerrit-Change-Id: I0b14aefe2408d9cb24394ad2fb6b93a87064669a
Gerrit-Change-Number: 6976651
Gerrit-PatchSet: 4
Gerrit-Owner: Connor Clark <cja...@chromium.org>
Gerrit-Reviewer: Connor Clark <cja...@chromium.org>
Gerrit-Reviewer: Devtools-frontend LUCI CQ <devtools-fro...@luci-project-accounts.iam.gserviceaccount.com>
Gerrit-Reviewer: Paul Irish <paul...@chromium.org>
Gerrit-CC: Jack Franklin <jacktf...@chromium.org>
open
diffy
satisfied_requirement
Reply all
Reply to author
Forward
0 new messages