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 Embedded Systems with AOSP

Building Embedded Systems with AOSP

In our community, building embedded systems based on Linux, e.g. with Yocto or buildroot, is standard and well known. Considering Android, respectively the AOSP as a base system feels strange at the beginning as it is a huge ecosystem that implies high system requirements. Of course, embedded Android is not a solution for each issue. Nevertheless, the AOSP provides a sophisticated base platform which is packed with a

  • modern UI stack
  • robust media and camera implementation
  • modern AI runtime
  • well known abstraction between system and app development
  • energy optimization

and lots of other helpful infrastructure.
This makes AOSP an interesting approach for building more complex embedded systems.

Read Post
USB Updates - Challenges, Approaches and Practical Tips

USB Updates - Challenges, Approaches and Practical Tips

Over-the-air updates have established themselves as the standard for networked devices, but the effort involved in operating the server side is not always commensurate with the benefits. In such cases, the supposedly simple and quick solution of implementing updates via USB is often chosen. But is it really always that uncomplicated? What considerations are necessary to implement USB updates effectively?

This presentation provides an insight into the challenges of USB updates and presents solutions and practical tips for successful implementation. Find out which aspects need to be considered in order to optimize USB updates and ensure a smooth process

Read Post
Raspberry Pi für die professionelle Produktentwicklung - Eine gute Idee?

Raspberry Pi für die professionelle Produktentwicklung - Eine gute Idee?

Maschinen und Geräte durch Vernetzung und Software aufzuwerten ist ein Kerngedanke des IoT. So werden die resultierenden Projekte häufig aus der Fachdomäne mit dem Wunsch nach schnellen und einfachen Erfolgen gestartet. Die Idee liegt dann nahe den beliebten Raspberry Pi als Basis zu nutzen. Das Gerät ist ja bekannt, fast alles wurde schon einmal von irgendwem gemacht und ins Netz gestellt. Klingt fast zu schön, um wahr zu sein - ist es auch aus professioneller Sicht. Die Gründe hierfür und welche Faktoren bei der Entscheidung für eine Hard- und Software-Plattform als Basis für ein IoT Produkt berücksichtigen werden sollten, sind Inhalt des Vortrags.

Read Post