Advanced System Profiling, Tracing and Trace Analysis with Perfetto in Android and Yocto

Advanced System Profiling, Tracing and Trace Analysis with Perfetto in Android and Yocto

Together with my colleague Stefan Lengfeld.

Tracing is a capable mechanism for deep system analysis and profiling with a minimal overhead. By recording defined system events, in Linux but also Android, tracing can be used to analyze concurrency or latency issues, for example. Android’s systrace tool made it easy to analyze and correlate traces and events due to a graphical UI, in order to help developers identify performance bottlenecks. The successor to this advanced and convenient tool is called Perfetto. It’s available for pure Linux too, and part of Yocto (meta-oe) since Langdale now. In the talk, we’ll have a look into

  • using Perfetto with Android and Yocto,
  • adding trace events to your applications,
  • recording traces and
  • analyzing system and application traces with the graphical GUI.

This will allow you to take full advantage of the Perfetto trace viewer UI for analyzing memory usage, CPU scheduling, latency and more.

Presented at

  • Open Source Summit Europe, Vienna, Austria, 2024

Download slides

Related Posts

Building Trust - Use Cases and Implementation of TPM 2.0 in Embedded Linux Systems

Building Trust - Use Cases and Implementation of TPM 2.0 in Embedded Linux Systems

Artwork by: Sparkelle (Yan) — Licensed under Creative Commons BY-SA 4.0

As embedded systems become increasingly interconnected, the demand for robust platform security and integrity has surged. Trusted Platform Modules (TPM), currently in version 2.0, are becoming increasingly beneficial for enhancing security in embedded systems. TPMs provide hardware-backed mechanisms for critical functions such as random number generation, cryptographic key generation, key binding and data sealing.

Read Post
Patching Unpatchable Files

Patching Unpatchable Files

In the Yocto world, the .bbappend file is a well-known and documented mechanism for altering recipe files, and an essential part of daily operations. While not common, there are instances where it becomes necessary to modify other file types, such as .inc or .bbclass, which do not offer an equivalent append mechanism. This session will summarize various strategies for effectively handling these file types when patching cannot be avoided.

Read Post
Organizing My Desk as an Embedded Engineer

Organizing My Desk as an Embedded Engineer

As an embedded dev, my desk is always a mess (and I think the ones of my colleagues, too). Working with real hardware leads straight to a number of boards, additional debuggers, tools, cables and more. And of course, as the most developers, I have a number of work projects and another of private ones. Even worse, I’m working from home for a good share of my time, so both kinds contribute to the mess there. Managing this is a constant effort and fight, but rarely successful.

Read Post