RichieSams / fxt-cpp

A library for creating Fuschia Tracing System (FXT) files

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

fxt-cpp

Fuschia Trace Format (fxt) is a file format for storing trace / counter events in a compact binary format. These trace files can then be viewed with an interactive web-based UI: https://ui.perfetto.dev/

FXT was created by Google for use in their experimental operating system Fuschia. It's very well documented, simple to write, and can express lots of different types of events and data.

There are lots of other tracing file formats out there.

  • chrome://tracing
    • chrome://tracing is extremely simple and you just need a Chrome browser to view it.
    • But it is json-based. So the file can quickly explode in size for large traces.
  • Perfetto
    • Perfetto is the successor to chrome://tracing and has many improvements.
    • It's protobuf-based, so it's much smaller / compact.
    • However, protobuf can be a pain to use. You generally want to use the .proto file to generate a generator/parser, but that's a lot of extra steps / maintenance
  • Speedscope
    • Speedscope is a web-based trace visualizer like Perfetto UI
    • It can view quite a few different formats
    • In addition, it has its own json-based trace format
    • Which, unfortunately, has the same issues as chrome://tracing
  • Many many more

This repo is a library for creating FXT files in C++

About

A library for creating Fuschia Tracing System (FXT) files

License:Apache License 2.0


Languages

Language:C++ 97.0%Language:C 2.2%Language:CMake 0.5%Language:Makefile 0.2%