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

LoRaWAN in theory and practice: A trip through Munich

LoRaWAN in theory and practice: A trip through Munich

LoRaWAN (Long Range Wide Area Network) is becoming increasingly popular, thanks in part to public networks such as The Things Network, which allow users to dispense with their own gateways. LoRaWAN also promises potential in terms of range and energy efficiency. But how does the standard perform in practice?

The aim of the presentation is to shed light on the technical background and demonstrate how practicable LoRa is in the field using real tests. It will be shown how the standard behaves in urban and rural areas, how differences in height of the gateway and different antennas influence the transmission quality.

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
How a modern Yocto setup could look like

How a modern Yocto setup could look like

In 2015, we built a sophisticated meeting room information system based on Android Things as a student project. As Android Things was deprecated in 2021, we started to use our Yocto Project experience to develop a maintainable, future proof embedded system.

When setting up a new project from scratch, we focused on proper solutions for

  • a maintainable, well supported and patchable build environment for the embedded systems
  • version control, reproducible builds and continuous integration
  • license management
  • a secure and stable update mechanism on image base and
  • managing releases The talk aims to show how we build a system that matches our requirements using the Yocto Project, KAS, Gitlab CI, and Mender.io. Besides, we will have a short outlook to the application built in Flutter.

Presented at

  • Yocto Project Summit 2022.11, virtual, 2022
  • buildingIoT, Munich, 2023

Download original slides (Yocto Project Summit) Download updated slides (buildingIoT)

Read Post