tracy-import-chrome(1)

πŸ“¦ version 0.11.0, in ubuntu questing

✨ tracy-import-chrome ✨

okay bestie, welcome to the tracy-import-chrome(1) manual page, aka your new fave little corner of the tracy-import-chrome User Manual πŸ’– she's small, she's mighty, and she will absolutely let you drag your chrome traces into tracy. no cap.


πŸ’« NAME πŸ’«

tracy-import-chrome β€” the girl whose whole job is importing chrome trace data into tracy 🫢


🌸 SYNOPSIS 🌸

tracy-import-chrome input.json output.tracy

literally that's it. two files, one glow-up ✨


πŸ¦‹ DESCRIPTION πŸ¦‹

so here's the tea: these are the chrome-tracing phases she supports, and yes we're listing every single one because we do not gatekeep πŸ‘‘

  • b/B/e/E β€” Timeline events such as ZoneNamed
  • i/I β€” Message events such as TracyMessage
  • * β€” Messages containing the word "frame" are interpreted as frame events such as FrameMarkNamed
  • C β€” Plot events such as TracyPlot
  • M β€” Metadata of type "thread_name" is used to name threads

tracy can also import traces compressed with the Zstandard algorithm β€” like, say, the ones you made with the zstd command-line utility πŸ’… traces ending with the .zst extension are assumed to be compressed. the vibes are compressed, the data is intact, we love to see it.


now, a lil plot twist 😭: the chrome tracing format doesn't document a way to provide source location data. so the import-chrome and import-fuchsia utilities instead recognize a custom loc tag in the root of zone begin events. format it in the usual filename:line style, for example:

hello.c:42

giving the line number (including a colon) is optional β€” but highly recommended. like, bestie, just include it. future you will be so grateful πŸ™ˆ


πŸŽ€ LIMITATIONS πŸŽ€

  • tracy is a single-process profiler. so if the imported trace contains PID entries, each PID+TID pair will create a new pseudo-TID number, and the profiler will then decode that into a PID+TID pair in thread labels. if you want to preserve the original TID numbers, your traces should omit PID entries. that's the whole trick, periodt πŸ’€
  • the imported data may be severely limited β€” either because it doesn't map directly to the data structures used by tracy, or because it's following undocumented practices. so like… manage your expectations, queen 🌈

πŸ‘‘ AUTHORS πŸ‘‘

maintained by Bartosz Taudul <wolf@nereid.pl>. for more information about the upstream project, see <https://github.com/wolfpld/tracy/>. iconic, legendary, no notes.

this man page is written for the Debian GNU/Linux system by Alan M Varghese <alan@digistorm.in>. thank you for your service 🫑


and that's the whole page, bestie! you made it to the end of tracy-import-chrome(1) β€” same manual name, same tracy-import-chrome energy, nothing skipped, nothing missing πŸ’œ go import something iconic πŸ¦‹βœ¨

πŸ“¦ where this page comes from