Skip to content

Introduce xentrace-perfetto tool - #133

Open
TSnake41 wants to merge 2 commits into
mainfrom
teddy/xentrace-perfetto
Open

TSnake41 wants to merge 2 commits into
mainfrom
teddy/xentrace-perfetto

Conversation

@TSnake41

@TSnake41 TSnake41 commented Oct 9, 2026 •

Copy link
Copy Markdown
Member

Add xentrace-perfetto as a Rust tool that can turn xentrace output into Perfetto traces that can then be analyzed through Perfetto in particular with the Web UI.

While testing, it takes a few seconds a process a medium sized xentrace binary (150-450 MB) covering ~15 seconds.

Tested and works good so far on XCP-ng and upstream Xen (but only tried on Intel CPUs for the time being).

How to use :

# On the XCP-ng/Xen host
xl info | grep cpu_mhz
# While doing something worth tracing (performance test, live migration, ...)
# Start xentrace (here for 10 seconds, can be stopped with ^C)
xentrace -T 10 trace.bin

# Elsewhere (or on the host itself) (a wrong cpu_mhz will cause wrong time)
xentrace-perfetto --cpu-mhz <cpu_mhz from xl> trace.bin trace.pftrace
# Then bring the pftrace file to https://ui.perfetto.dev/
image

xentrace-perfetto is a Rust tool that can turn xentrace output
into Perfetto traces that can then be analyzed through Perfetto
in particular with the Web UI (https://ui.perfetto.dev/).

Assisted-by: Claude
Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
[cargo fmt, clippy-related adjustments, README adjustments]
@TSnake41
TSnake41 requested a review from a team as a code owner October 9, 2026 12:02
Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant