docs: Add a blog to perfetto.dev For now the blog is hidden (i.e. it's not linked, works only if you open perfetto.dev/blog/). I plan to unhide it later once we prove everything works fine on the prod site. A post is a directory named YYYY-MM-DD-slug holding post.md plus its images. The date orders the feed but is dropped from the URL, so fixing a wrong date doesn't break a permalink; images are hoisted to /blog/media/<slug>/ so /blog/<slug> can stay an extensionless file like the docs pages. Front matter is title/author/summary, authors being @-prefixed GitHub handles as in rfcs/template.md. The site gains a card index, an Atom feed, its own BM25 search index and per-post covers. A cover is the post's first image, or generated from the title when it has none; the index links 640px thumbnails instead of full screenshots, which takes it from ~1MB of cover art to ~180KB. Avatars are committed under authors/ (tools/fetch_avatars) rather than hotlinked, so a reader loading a post sends nothing to github.com. Two things needed generalizing rather than duplicating: - render.mjs took /docs/ as the only content root. It now takes a `post` and switches link and image handling on it, and renderPage passes the front matter through to the template. - Every article rule was written `.docs .doc`, which would have meant a post claiming to be a docs page to get typography. `.doc` and `.toc` are hoisted to the top level and renamed `.md-content`, which is what they always were; `.docs` and `.blog` are now separate shells that share them. That also fixes the footer licence notice, which was keyed off `.docs` and so went missing on the blog index. The blog is deliberately unlisted for now: no top-bar link, and the feed is advertised only on blog pages. Re-add the link in template_header.html to launch it. Drive-by: marked's mangle option obfuscated mailto: addresses with Math.random(), which made every build byte-different. Disabled, so the output is reproducible again.
Perfetto is an open-source suite of SDKs, daemons and tools which use tracing to help developers understand the behaviour of complex systems and root-cause functional and performance issues on client and embedded systems.
It is a production-grade tool that is the default tracing system for the Android operating system and the Chromium browser.
Perfetto is not a single tool, but a collection of components that work together:
Perfetto was designed to be a versatile and powerful tracing system for a wide range of use cases.
ftrace, allowing you to visualize scheduling, syscalls, interrupts, and custom kernel tracepoints on a timeline.chrome://tracing. Use it to debug and root-cause issues in the browser, V8, and Blink.We‘ve designed our documentation to guide you to the right information as quickly as possible, whether you’re a newcomer to performance analysis or an experienced developer.
New to tracing? If you're unfamiliar with concepts like tracing and profiling, start here:
Ready to dive in? Our “Getting Started” guide is the main entry point for all users. It will help you find the right tutorials and documentation for your specific needs:
Want the full overview? For a comprehensive look at what Perfetto is, why it's useful, and who uses it, see our main documentation page:
For users interested in the Debian distribution of Perfetto, the official source of truth and packaging efforts are maintained at Debian Perfetto Salsa Repository
Have questions? Need help?
We follow Google's Open Source Community Guidelines.