Description
Previous ID | SR-11729 |
Radar | rdar://problem/56980059 |
Original Reporter | @BenchR267 |
Type | New Feature |
Additional Detail from JIRA
Votes | 0 |
Component/s | llbuild |
Labels | New Feature, StarterBug |
Assignee | None |
Priority | Medium |
md5: e95651ecd257351f56e234e25e728425
Issue Description:
llbuild-analyze is a local package in llbuild which offers a command line interface for calculating the critical path given a build database. The critical path of a build defines the chain of dependent tasks that has the longest duration when adding up the individual durations of those tasks. The tool offers to export the critical path as a JSON file which can then be used for further investigation.
Adding more serialization options would result in more actionable workflows. This issue tracks adding Chromium Tracing as an export schema option which would allow users to open the created critical path file and view it in their Chrome browser or other tool which is able to read and visualize the format.
The format is well defined and all the necessary information should be available in the CriticalBuildPath object that gets returned by the algorithm - it contains all tasks that were part of the build (including their timing information) and the dependency chain that forms the critical path.
The tool lives in products/llbuild-analyze/Sources/CriticalPathTool.swift and offers the basic infrastructure of supporting multiple export formats. Those consist of json and GraphViz at the moment.