Perfetto v52: Release Notes

13 views
Skip to first unread message

Lalit Maganti

unread,
Sep 16, 2025, 11:47:02 AMSep 16
to Perfetto Development - www.perfetto.dev

We’re excited to share some highlights from the Perfetto v52 release.

šŸŒ™ Dark mode support

The Perfetto UI now features a dark mode with theme-aware colors!


image.png


Dark mode can be enabled via"settings" in the left-hand menu: switch the ā€œ[Experimental] UI Themeā€ option to ā€œDarkā€.


Note: this feature is still undergoing polish so is marked as experimental. Please file bugs for any readability/accessibility issues you may encounter!

šŸŽ›ļø Advanced TrackEvent control & visualization

SDK users and developers converting external traces to Perfetto format now have fine-grained control over track display and merging behavior. The new sibling_merge_behavior and sibling_merge_key options in TrackDescriptor allow you to:

  • Force tracks with the same name to be displayed separately

  • Merge tracks with different names into a single UI track

  • Override the default name-based merging logic

Additionally, counter tracks can now share Y-axis ranges using the y_axis_share_key in CounterDescriptor, making it easier to compare related metrics with the same units.


Learn more about converting custom data to Perfetto format and more advanced conversion features.

šŸ¤– UI automation: macros & startup commands

Perfetto UI now supports two new features to improve developer productivity:

  • Startup commands to automatically configure the analysis environment when traces load

  • Macros to add commands built out of other UI commands to the Command Palette


Both features can be found in the UI settings page:


image.png


Learn more about UI startup commands and macros and configuring startup commands via URL parameters.

šŸ“Š Easily turn kernel trace points into slices and counters

Perfetto now automatically creates structured track visualizations for Linux kernel ftrace events that follow established naming conventions. This feature enables kernel developers to instrument their code with ftrace tracepoints and see them as slices and counters in the Perfetto UI without modifying Perfetto's source code.


image.png

Learn more about creating kernel track events with ftrace.

⚔ Trace processor performance & new features

  • Faster trace loading: Optimized data structures and MurmurHash implementation result in faster trace loading and query execution

  • New analysis tools: The slice_self_dur table provides self-duration calculations, while the regexp_extract function allows parsing data out of strings without complex use of INSTR/SUBSTR

  • Expanded format support: Added symbolization for kernel frames in Linux perf.data files and support for trace-cmd report output format

šŸ“± Enhanced Android analysis capabilities

  • Better ANR debugging: The anr_type column in the android_anrs table provides more detailed ANR classification

  • Bitmap tracking: New android.bitmaps module offers timeseries information about bitmap usage

  • CPU performance insights: Enhanced CPU utilization functions with upid/utid parameters and improved frequency calculations

šŸŽØ General UI improvements & performance

  • Bulk track management: Configure multiple tracks simultaneously, saving time when setting up complex analysis views

  • Improved plugin architecture: Better isolation and standardized command naming

  • Enhanced visualization: Better DataGrid implementation with improved aggregation performance

  • Track guidance: New help infrastructure and descriptive text support for better user onboarding

  • Optimized track merging: Faster performance when working with large numbers of track_event tracks

šŸ“Š Recording & data source improvements

  • Enhanced recording UI: Improved recording page with dedicated Perfetto SDK section for configuring track_event data source categories and wildcards

  • Advanced ftrace features: Support for exclusive single-tenant features, tracing_cpumask, tracefs options, and TID-based filtering

  • GPU monitoring: New support for polling Adreno GPU frequency data

šŸ”§ Additional improvements

  • Fixed numerous crashes and performance issues throughout the UI

  • Improved WebUSB error messages for better debugging experience

  • Enhanced support for persisting state from traces loaded through postMessage


For complete details, see the changelog or view all changes on GitHub.


Download Perfetto v52.0 from our releases page, get started at docs.perfetto.dev, or try the UI directly at ui.perfetto.dev.


Lalit Maganti

unread,
Sep 16, 2025, 11:59:44 AMSep 16
to Perfetto Development - www.perfetto.dev
Apologies for the missing images in my previous message: this was an error on my part. Please find the email with the broken images included below.
Reply all
Reply to author
Forward
0 new messages