Skip to content

Commit fc30a4a

Browse files
release: Update changelog (#3632)
1 parent 3aa2330 commit fc30a4a

File tree

1 file changed

+82
-13
lines changed

1 file changed

+82
-13
lines changed

CHANGELOG

Lines changed: 82 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,39 @@
11
Unreleased:
2+
SDK:
3+
* Introduced an initial Rust SDK (`perfetto-sdk` on crates.io). This is the
4+
first project to be hosted in the new `contrib/` directory as a
5+
community-maintained effort.
6+
* Java SDK: Allow users to provide custom identifiers for named tracks.
27
Tracing service and probes:
3-
* "linux.ftrace": FtraceConfig.denser_generic_event_encoding is now enabled
4-
by default (set it explicitly to false to revert to previous encoding,
5-
which is now deprecated). This reduces trace size when recording events
6-
that aren't know by perfetto at compile time.
8+
* Added initial support for building and running Perfetto on FreeBSD,
9+
enabling both the tracing service and SDK. This includes
10+
platform-specific implementations for threading, time, and memory
11+
management, as well as toolchain adjustments.
12+
* "linux.ftrace": Enabled `FtraceConfig.denser_generic_event_encoding` by
13+
default. This reduces trace size for events unknown at compile time.
714
* SharedMemoryArbiter: Reduced CPU usage when tracing high-throughput
815
workloads by preventing duplicate immediate flush tasks when the shared
916
memory buffer is more than half full.
10-
* traced_probes: now requests a 2MB shared memory buffer instead of 1MB
17+
* traced_probes: Increased shared memory buffer request to 2MB (was 1MB)
1118
when connecting to the tracing service (traced).
19+
* traced_perf: Added support for user-space, kernel, and hypervisor
20+
counting event modifiers.
21+
* Updated gpu_scheduler trace events for Linux 6.17.
22+
* perfetto cmd: Added `--notify-fd` flag. This allows waiting for all data
23+
sources to be started without running in background mode, which is useful
24+
for capturing command output or ensuring termination with the calling
25+
process.
26+
* Android: Switched to RtFutex to fix deadlock when `Tracing::Initialize` is
27+
called from a static initializer.
28+
* Enabled LockFreeTaskRunner on non-Android platforms to reduce lock
29+
contention.
1230
SQL Standard library:
13-
*
31+
* android_anrs: Added ANR timer event data and default durations.
32+
* Improved thread creation spam analysis with new per-process and renamed
33+
per-thread functions.
1434
Trace Processor:
35+
* Added support for importing pprof profiles.
36+
* Added support for ingesting simpleperf's protobuf format.
1537
* Added support for parsing process_sort_index and thread_sort_index
1638
metadata from JSON traces. These are stored as process_sort_index_hint
1739
and thread_sort_index_hint in the args table for processes and threads.
@@ -20,17 +42,64 @@ Unreleased:
2042
may fail with "ambiguous column name: arg_set_id". Qualify the column
2143
with the table name (e.g. `slice.arg_set_id` or `counter.arg_set_id`) to
2244
resolve this.
45+
* Added support for dynamically loading custom protobuf descriptors at
46+
runtime.
47+
* Added support for FILE_IO events and thread wait reasons in CSwitch
48+
events for more detailed ETW traces.
49+
* Added `unhex` SQL function to convert hexadecimal strings to signed
50+
64-bit integers.
51+
* Added support for Python trace_processor to expose trace metadata.
52+
* Improved error handling and logging for clock synchronization and track
53+
events.
2354
UI:
24-
* Perf sample callstack tracks: if a trace contains multiple callstack data
25-
sources, the thread and process level callstack tracks can now be
26-
expanded to see which samples came from which sampling timebase/leader
27-
counter.
55+
* Perf sample callstack tracks: Added capability to expand thread and
56+
process level callstack tracks to distinguish samples from different
57+
timebases or leader counters when multiple callstack data sources are
58+
present.
2859
* Added support for sorting processes and threads using sort_index hints
2960
from JSON traces. Processes and threads with lower sort index values
3061
will appear first in the UI.
31-
SDK:
32-
* Reduced CPU usage when tracing high-throughput workloads by preventing
33-
duplicate immediate flush tasks in the shared memory arbiter.
62+
* Added support for attaching callstacks to TrackEvents, including both
63+
slices and instant events. When an event with a callstack is selected, the
64+
callstack is displayed in the details panel. Additionally, an area
65+
selection will aggregate all callstacks of events in that area into a
66+
flamegraph.
67+
* Added a new plugin for displaying pprof profiles, which introduces a
68+
dedicated page in the UI for visualizing and analyzing pprof data.
69+
* Overhauled the "Info and Stats" page, renaming it to "Overview" and
70+
transforming it into a modern, tabbed dashboard. This new page provides a
71+
high-level summary of the trace and exposes the new `trace_import_logs`
72+
table from the Trace Processor, making it easier to debug trace import
73+
issues.
74+
* Added resize handle to pinned tracks area. Drag to set fixed height;
75+
double-click to restore default auto-sizing.
76+
* Debug tracks: Added support for custom slice coloring via SQL column
77+
values.
78+
* Recording page: Added 'Network' section for WiFi debugging.
79+
* Added path-based filtering to all `*ByRegex` commands (`Pin`, `Expand`,
80+
`Collapse`, `CopyTracksToWorkspace`,
81+
`CopyTracksToWorkspaceWithAncestors`). This allows for more precise track
82+
selection by filtering on the full track path (e.g., `process_name >
83+
thread_name`) in addition to just the track name.
84+
* Android Logcat: Improved column ordering, case-insensitive search, and UI
85+
clarity.
86+
* Grouped settings on the settings page by the plugin that added them, with
87+
core settings placed in a "core" section, to improve organization.
88+
* Increased wasm stack size to 2MB to reduce stack overflows.
89+
* Added ability to pin and copy tracks using SQL queries.
90+
* SQL table viewer: Added "Analyze" submenu for data analysis
91+
and transformation, including column casting and various string
92+
manipulations.
93+
* Added support for visually marking inlined functions within flamegraphs.
94+
These markers appear as a visual indicator on a frame and in its tooltip,
95+
making it easier to identify compiler optimizations like inlining in CPU
96+
profiles.
97+
Misc:
98+
* Introduced a `contrib/` directory for community-maintained code, allowing
99+
external contributors to own and maintain projects that are technically
100+
decoupled from official Perfetto distributions. These projects have
101+
relaxed review requirements and are not officially supported by the core
102+
Perfetto team. (https://github.com/google/perfetto/discussions/3404)
34103

35104
v52.0 - 2025-09-16:
36105
Tracing service and probes:

0 commit comments

Comments
 (0)