[roll] Roll fuchsia [scenic] Add trace flow for entire "client present" lifecycle.

Add a "scenic_session_present" flow which has 6 steps:
- `flatland_present` (on Flatland client thread)
    - `Present` request is received from Flatland client
- `acquire_fences_signaled` (on Flatland client thread)
    - all client `acquire` fences are signaled, so it is OK to incorporate
      content into global scene graph
- `request_frame` (on main thread)
    - schedules a wakeup time for Scenic to begin processing the frame
      in order to be displayed by the target time
- `prepare_to_render` (on main thread)
    - Scenic wakes up, and merges frame changes into the global scene
      graph before rendering/presenting it
- `frame_presented` (on main thread)
    - Frame was displayed on screen.  Scenic is about to notify all
      clients that requested a present for that frame
- `flatland_frame_presented` (on Flatland client thread)
    - the client is about to notified that the content from a specific
      `Present` request has been displayed

This covers the "life of a Flatland frame" in an intelligible way, and
provides a good basis for computing performance metrics, versus picking
"arbitrary" TRACE_DURATION events.

Note: this flow uses the new TRACE_INSTAFLOW_* macros, which means that
you can search for the flow steps in Perfetto UI using
"scenic_session_present".

Original-Bug: 411466400
Original-Fixed: 414449400
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1255854
Original-Revision: 310d260cd314476a5e0d2c75e1bd8c3f8620adbb
GitOrigin-RevId: 5ccc311548f42fb75653e6c0e9444f2952327b7b
Change-Id: I456e75247bcddc5dfeaeee81e48b5e7d733eb7cd
1 file changed
tree: 577b11ba1442764b1a37ea2992f4dd112972abd1
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. flower
  6. jiri.lock
  7. MILESTONE
  8. minimal
  9. prebuilts
  10. README.md
  11. stem
  12. test_durations
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.