Perfetto

Latest version: v0.11.0

Safety actively analyzes 682416 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 10

26.1

Trace Processor:
* Fixed build failures on Windows.

26.0

Tracing service and probes:
* Added wildcard (*) support when targeting processes by their command line
in the Android perf profiler ("linux.perf" data source) and Java heap
snapshots ("android.java_hprof").
* Added support for kernel thread sampling, and kernel-only callstacks in
the Android perf profiler.
* Fixed rare crash when parsing zero-length ftrace __data_loc strings.
* Fixed rare crash on 4.19 kernel when encountering unexpected zero-padded
ftrace pages.
* Removed capturing of thread_time_in_state (per-UID, per-OOM-adj time).
The data was unused and subsumed by correlating sched data with power
rail monitors.
Trace Processor:
* Added CREATE_VIEW_FUNCTION operator to define a SQL function that can
return a temporary table and yield multiple rows and columns.
* Changed kernel threads to be represented as single-thread processes in
Linux system traces. The (incorrect) legacy behaviour was to treat them
as threads of the kthreadd process.
* Added ABS_TIME_STR function which converts a trace timestamp to
an ISO8601 string.
* Added ingestion for phase='R' events, used by performance.{now,mark}().
* Changed 'trace_to_text' to be named 'traceconv'. The source
location also moved from 'tools/trace_to_text' to 'src/traceconv'.
* Changed compiler flags, added -mavx2. The previous patch in v22.0 was
supposed to add AVX2 support but added only AVX.
* Changed the handling of the last per-cpu sched slices: rather than
extending the last event to the end of the trace, the last scheduling
event has a -1 duration. UIs are supposed to deal with visual extension.
* Removed android_thread_time_in_state metric. It was an experiment and was
unused.
* Removed `instant` table. All instant events are now 0-duration events in
the `slice` table.
* Removed the /raw_query REST endpoint from --httpd. This will break very
old clients that have not switched over the new streaming-based /query
endoint or even newer /websocket.
UI:
* Changed detail panel to separate slice args from generic slice properties.
* Automatically enabled sched_compact when generating trace configs for
Android S+ targets.
SDK:
* Added option for recording thread CPU times at the beginning and end of
each slice.
* Added perfetto::DynamicString() to use non-literal strings as event names
in the TRACE_EVENT API.
* Remove the pre-SDK consumer_api_deprecated interface. It was introduced
for iorapd, now deleted from the Android tree.

25.0

Tracing service and probes:
* Added prebuilts for mac-arm64.
* Removed merged trace and config protos from Bazel. Embedder should
instead depend on the non-merged proto targets.
* Added FtraceConfig.disable_generic_events. If set, the ftrace data source
will not emit events for which it doesn't have a compile-time proto
message.
* Added ingestion support for cros_ec (CrOS sensors) ftrace events.
* Added ingestion support for kvm trace events.
* Added reporting of atrace failures. Now they are bubbled up to the UI
rather than causing atrace data to be silently missing.
Trace Processor:
* Added prebuilts for mac-arm64.
* Changed LIKE comparisions to be case-insenstive. This reverts the change
introduced in v22. GLOB should be used where case senstive searches are
desired; built-in metrics continue to require the use of GLOB.
* Added an optional dependency from trace processor onto a subset of
sources from llvm-project for function name demangling. Bazel embedders
might need to update their PERFETTO_CONFIG in perfetto_cfg.bzl to opt in
or out of the new dependency. See
perfetto/bazel/standalone/perfetto_cfg.bzl for details.
UI:
* Added flow arrows between binder transaction pairs (request/reply
and async send/async recv).
SDK:
* Added support for writing typed proto messages inside DebugAnnotations.
* Added support for delta encoding of timestamps for TrackEvents.
To disable it, refer to `disable_incremental_timestamps` flag in
`track_event_config.proto`.
Tools:
* Added support of gzip-compressed traces to traceconv.
* Changed `traceconv text` to use an internal proto->pbtx converter rather
than relying on libprotobuf. It could cause some small divergencies in the
output format vs past releases.
* Added tools/cpu_profile helper script to capture traces with callstack
samples.

24.2

SDK:
* Revert of incremental timestamps, introduced in v24.0.
Some clients were depending on non-incremental timestamps.
Future releases will re-enable this but offer an opt-out.

24.1

Tracing service and probes:
* Fixed build failures on Windows.
Trace Processor:
* Fixed build failures on Windows.

24.0

Tracing service and probes:
* Added "cpufreq_period_ms" in data source "linux.sys_stats" to poll
/sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq periodically.
* Added support for Trusty TEE workqueue events.
* Added support for more PMU events in traced_perf.
* Changed output format of perfetto --query. Made the output more compact
and added a summary of ongoing tracing sessions for the caller UID.
* Changed timeout for traced stall detection from 2s to 4s.
* Changed internal buffer management to split trace filtering in smaller
tasks and avoid too large memory allocation when filtering.
* Fixed a bug that could cause producers to see Flush() requests after an
OnStop() and mis-behave if the tracing session is extremely short.
Trace Processor:
* Added support for passing multiple SQL statements to ExecuteQuery(). All
queries will be executed fully, with the returned iterator yielding rows
for the final statement.
* Added support for multi-line SQL comments; previously only single line
comments were supported.
UI:
* Added support for parsing instant events from legacy systrace formats.
* Added ingestion and visualization for inet_sock_set_state and
tcp_retransmit_skb events, showing TCP connections on dedicated tracks.
* Changed HTTP+RPC to use the /websocket endpoint available in newer
versions of trace_processor --httpd.
* Changed text selection/copy: now allowed by default for DOM elements.
* Changed search to also lookup slices by ID when the term is a number.
* Changed postMessage() API, suppressed confirmation dialog when the opener
is in the same origin, for cases when the UI is self-hosted.
SDK:
* Changed timestamps emitted by the SDK to be incremental by default, using
ClockSnapshot + TracePacketDefaults.

Page 6 of 10

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.