devtools-timeline-model
Unsupported
Parses raw Chrome performance trace data into structured, queryable models for automated analysis. Currently marked unsupported with alternative libraries recommended.
This library takes raw performance trace data from Chrome and turns it into structured, analyzable models. It was built for developers who automate browser profiling — for example, running a script that opens a web page, records how it performs, and saves the results. That raw recording is hard to work with directly, so the library parses it into meaningful pieces like frame timings, scroll and click interactions, screenshots, and hierarchical breakdowns of where time was spent.
At a high level, you give it a trace file and it hands back several models you can query. You can get a top-down or bottom-up tree of performance events, group results by URL or domain, look at frame durations, or extract a filmstrip of screenshots taken during the session. The results are large JavaScript objects, so the README suggests exploring them in a visual debugger tool rather than just printing them out.
The people who would reach for this are developers or teams building automated performance testing pipelines. If you have a tool that records Chrome traces as part of a continuous integration process, you need a way to make sense of those traces programmatically — not just open them in DevTools by hand. This library bridges that gap, giving you structured data you can analyze, log, or alert on.
One notable engineering challenge is that the Chrome DevTools frontend code was written to run in a browser, not in Node.js. It expects browser-specific globals and even modifies built-in JavaScript objects like Array and Object. Rather than rewrite that code, the author runs it inside a sandboxed execution context — essentially a mini browser environment inside Node — so the DevTools frontend code works without polluting the rest of your application.
It is worth noting that the project is marked as unsupported, and the author recommends alternative libraries for parsing Chrome traces going forward.
Where it fits
- Build an automated CI pipeline that records Chrome traces and fails builds when performance degrades.
- Extract frame timings and interaction data from a trace to generate a custom performance report.
- Pull a filmstrip of screenshots from a recorded session for visual regression analysis.
- Group performance events by URL or domain to compare load times across multiple pages.