Introduction

Documentation outline

This documentation describes the following aspects of Zephelin and the associated projects:

Zephelin

Zephyr Profiling Library (ZPL), or Zephelin for short, is a library which enables capturing and reporting runtime performance metrics, for the profiling and detailed analysis of Zephyr applications, with a special focus on applications running AI/ML inference workloads.

It collects traces from execution with either:

  • Tracing subsystem and predefined or user-provided events - allowing to track functions, sections of code, loops, etc.

  • Instrumentation subsystem - allowing to leverage the instrumentation feature of a compiler to automatically trace functions defined in the source, with a possibility to filter functions of interest

Zephelin is an official external module for Zephyr RTOS.

Use cases for Zephelin

Zephelin can be used to analyze:

  • Regular Zephyr applications

  • Internals of the Zephyr RTOS with the help of the instrumentation subsystem

  • AI models

  • AI runtimes

  • Multithreaded applications

Zephelin trace collection

Zephelin collects:

  • Traces

  • User-defined code scopes

  • CPU load

  • Memory usage (from runtime and RAM/ROM reports)

  • Die temperature

  • Model-related data:

    • Global - inference time

    • Per-layer:

      • Memory consumption

      • Total runtime of each layer, and of each layer type

      • Dimensions of tensors

The above data is later processed by west zpl-<backend>-capture commands (described in Trace collection) and enhanced using west zpl-prepare-trace (described in CTF and TEF trace processing).


Last update: 2026-08-28