0
Commit Graph

1 Commits

Author SHA1 Message Date
Andrew Williams
bd5ab98fe2 Add script to dump Mojo message events from trace file
This CL adds a script to print detailed info about Mojo messages given
a trace file. Below are some examples of what the script shows (taken from
https://docs.google.com/presentation/d/1D2riladajllLuNHkQgiJhEZVlaXavV4KJjldouGVgBo/edit?usp=sharing)

For a drag and drop (summary view):
```
ts_delta  process_name  name
...
0.890756  Renderer      Send viz::mojom::CompositorFrameSink::SubmitCompositorFrame
0.891466  GPU Process   Receive viz::mojom::CompositorFrameSink::SubmitCompositorFrame
0.892181  Browser       Send blink::mojom::FrameWidget::DragTargetDragEnter
0.892277  GPU Process   Send viz::mojom::FrameSinkManagerClient::OnFrameTokenChanged
0.892521  Browser       Send blink::mojom::FrameWidget::DragTargetDragOver
0.893285  Renderer      Receive blink::mojom::FrameWidget::DragTargetDragEnter
0.893322  Browser       Send blink::mojom::FrameWidget::DragTargetDrop
0.893826  Renderer      Send content::mojom::ChildProcessHost::BindHostReceiver
0.893971  Renderer      Call blink::mojom::MimeRegistry::GetMimeTypeFromExtension (sync)
...
```

For a CreateURLLoaderFactory call (detailed view):
```
ts_delta  process_name pid   thread_name          name
...
0.764298  Browser      1     CrBrowserMain        Send network::mojom::NetworkContext::CreateURLLoaderFactory
  input_parameters:
    url_loader_factory: <value of type ::mojo::PendingReceiver<::network::mojom::URLLoaderFactory>>
    params.process_id: 5
    params.request_initiator_origin_lock: http://127.0.0.1:34789
    params.is_corb_enabled: 1
    params.ignore_isolated_world_origin: 1
    params.unsafe_non_webby_initiator: 0
    params.disable_web_security: 0
    params.header_client: <value of type ::mojo::PendingRemote<TrustedURLLoaderHeaderClient>>
    params.isolation_info: <value of type const ::net::IsolationInfo&>
    params.disable_secure_dns: 0
    params.is_trusted: 0
    params.automatically_assign_isolation_info: 0
    params.provide_loading_state_updates: 1
    params.top_frame_id: EDDCF5B62240FE18E3A2899304FFD89F
    params.factory_override: 0
    params.coep_reporter: <value of type ::mojo::PendingRemote<::network::mojom::CrossOriginEmbedderPolicyReporter>>
    params.cookie_observer: <value of type ::mojo::PendingRemote<::network::mojom::CookieAccessObserver>>
    params.url_loader_network_observer: <value of type ::mojo::PendingRemote<::network::mojom::URLLoaderNetworkServiceObserver>>
    params.devtools_observer: <value of type ::mojo::PendingRemote<::network::mojom::DevToolsObserver>>
    params.trust_token_redemption_policy: kPotentiallyPermit
    params.debug_tag: RFHI::CommitNavigation
    params.client_security_state.cross_origin_embedder_policy: <value of type const ::network::CrossOriginEmbedderPolicy&>
    params.client_security_state.is_web_secure_context: 1
    params.client_security_state.ip_address_space: kLocal
    params.client_security_state.private_network_request_policy: kPreflightBlock
...
```

Bug: 336984033
Change-Id: I0140dcd052e63975d1bea045584462d5f684f4ed
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3370782
Reviewed-by: Alexander Timin <altimin@chromium.org>
Commit-Queue: Andrew Williams <awillia@chromium.org>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1292760}
2024-04-25 23:26:29 +00:00