Skip to content

[IDEA] Use Chrome's tracing view to profile dune builds #1180

@rgrinberg

Description

@rgrinberg

Problem

It's tough to understand where a dune build spends most of its time. In particular, it's not clear which external commands are the most time consuming.

Solution

Dune could have a profiling mode where it would emit events for the start and termination of external commands. Eventually, dune could even emit events for other actions/events, but I think starting with external commands is fine.

Dune should emit these events according to chrome's tracing view [1]. If we do that, then we'll be able to explore this information using chrome's neat visualizations [2]. This practice is quite common and is available in build systems such as buck and shake

[1] https://docs.google.com/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU/edit

[2] https://www.gamasutra.com/view/news/176420/Indepth_Using_Chrometracing_to_view_your_inline_profiling_data.php

Metadata

Metadata

Assignees

Labels

enhancementgood first issueGood for contributing for the first time to the Dune codebase

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions