google/perfetto (com_github_google_perfetto)
### [`v45.0`](https://togithub.com/google/perfetto/releases/tag/v45.0): Perfetto v45.0
[Compare Source](https://togithub.com/google/perfetto/compare/v44.0...v45.0)
v45.0 - 2024-05-09:
Trace Processor:
* Optimised single column `DISTINCT` queries.
* Optimised `LIMIT` and `OFFSET` queries.
SQL Standard library:
* Improved support for querying startups on Android 9 (API level 28) and
below. Available in `android.startup.startups` module.
* Added tables for querying "Time To Initial Display" and "Time To Full
Display" metrics for app startups. Available in new module
`android.startup.time_to_display`.
* Added table for querying hardware power rail counters in new
`android.power_rails` module.
UI:
* Add tracks to the list of searchable items.
* Use mipmaps to improve track query performance on large traces.
* Fix slow scrolling bug in ftrace explorer tab on low DPI machines.
* Overhaul track decider queries to improve trace load times.
* Add track
* Tidy up command names & remove some example ones.
* Remove arg auto-completion in pivot table.
* Show dominator tree views by default.
* Fix counter event selection off-by-one error.
* Add viewport control to the plugin API.
* Sticky track titles to improve track button accessibility in tall tracks.
* A handful of small bugfixes.
SDK:
* The TRACE_EVENT macro used to reject `const char *` event names: either
`StaticString` or `DynamicString` needed to be specified. In the last year
(since https://r.android.com/2494614), TRACE_EVENT mistakenly accepted
`const char *` as an event name. This has been fixed now. In case your
code fails to compile,
https://perfetto.dev/docs/instrumentation/track-events#dynamic-event-names
explains how to fix the problem.
### [`v44.0`](https://togithub.com/google/perfetto/releases/tag/v44.0): Perfetto v44.0
[Compare Source](https://togithub.com/google/perfetto/compare/v43.2...v44.0)
v44.0 - 2024-04-10:
Trace Processor:
* New modules added to standard library: `frames.timeline`,
`frame.per_frame_metrics`, `sched.time_in_state`.
UI:
* Per-cpu scheduling tracks now distinguish real-time priority threads with
a hatched pattern and name prefix. Based on priority during switch-in.
* Added ftrace event cropping for traces recorded by perfetto v44+.
Events are ignored if they precede the earliest timestamp covered by all
per-cpu data streams. This should significantly improve the presentation
of RING_BUFFER traces, removing artifacts such as never-ending slices
starting at the beginning of the trace.
* Significantly improved trace load times.
* Improved counter track view modes, including log scale, expanded view, and
the ability for plugin authors to link scales of several counter tracks
together.
* Add dominated size and objects to Java heap graph view.
Added hotkey Q to open and close bottom drawer.
* Fixed bug where timeline header and tracks could become horizontally
misaligned when using browser zoom.
* Fixed crash when hot-reloading Sass during development.
* Fixed bug where crashed debug tracks could not be closed.
* Fixed missing flame graph details for area selections.
* Consistent reporting of durations for incomplete slices.
* Switch to using prettier for formatting TS & Sass instead of ESLint.
SDK:
* "track_event" categories are disabled by default in the C API, if they
don't match anything in the data source config. This behavior differs from
the C++ API. Configs should include either `enabled_categories: "*"` or
`disable_categories: "*"` to explicitly specify the desired behavior that
work both for C and C++.
### [`v43.2`](https://togithub.com/google/perfetto/compare/v43.1...v43.2)
[Compare Source](https://togithub.com/google/perfetto/compare/v43.1...v43.2)
### [`v43.1`](https://togithub.com/google/perfetto/releases/tag/v43.1): Perfetto v43.1
[Compare Source](https://togithub.com/google/perfetto/compare/v43.0...v43.1)
https://android.googlesource.com/platform/external/perfetto/+/refs/tags/v43.1
https://github.com/google/perfetto/tree/v43.1
v43.1 - 2024-03-05:
Tracing service and probes:
* Cherry-pick of https://r.android.com/2988674, which fixes the android x86
standalone build.
v43.0 - 2024-03-05:
Tracing service and probes:
* Buffers marked as `transfer_on_clone` will be flushed independently when
cloning.
* ftrace: added drain_buffer_percent option to read kernel ring buffer
based on occupancy in addition to existing periodic reads. Requires Linux
kernel v6.1+.
* ftrace: changed default kernel per-cpu ring buffer sizes if a config
doesn't request an explicit size via buffer_size_kb. Added
buffer_size_lower_bound option that lets the service choose a bigger ring
buffer size than requested.
* "linux.process_stats" data source: added options to record: process age,
time spent running in userspace, and time spent running in kernel mode,
using /proc/pid/stat. See "record_process_age" and
"record_process_runtime" options.
Trace Processor:
* Added `decompress_packets` mode to the traceconv tool.
* Support memory mapped file access on Windows.
* Deprecated `common` standard library module, it will be removed by v45.
Some of the functionality have been migrated to other parts of standard
library.
UI:
* Added a "defaultPlugins" list to allow control over which plugins are
enabled by default.
* Added a feature to allow enabling/disabling plugins permanently from the
plugins page.
* Added plugin load times to the plugin page.
* Added scrolling to the pinned track area.
* Added commands for expanding and closing all tracks.
* Added {expand,collapse}GroupsByPredicate to plugin API.
* Added SimpleSliceTrack & SimpleCounterTrack which have the same
functionality of debug tracks but may be added on trace load from within
plugins.
* Added naive track crash containment, which means tracks that crash should
not crash the entire UI.
* Don't render "idle" kernel thread slices in thread state tracks.
* Fixed crash when using autofill in text inputs in chrome.
* Fixed bug where "incomplete" slices were sometimes not rendered.
* Fixed crash when calls to CacheStorage fail via promise rejection.
* Fixed bug causing slices to occasionally disappear in tracks v2.
* Fixes crash in tracksV2 when visible window is negative.
* Fix bug when toggling the sidebar without a trace loaded would either
crash the UI or simply not work.
* Various TabsV2 QoL improvements.
* Various AndroidLongBatteryTracing plugin improvements.
v42.0 - 2024-02-02:
Tracing service and probes:
* Linux/Android: kernel scheduling data (sched_switch and sched_waking
ftrace events) is now serialised in a more compact format by default
(previously required setting ftrace_config.compact_sched.enabled).
UI:
* Added "Realtime (Trace TZ)" timestamp formatting option to see timestamps
in the local time of the traced device. It requires recent versions of the
tracing service which set the system_info.timezone_off_mins field.
* Added tab support to the plugin API.
* Added a plugin to improve visualization of Android power traces containing
ODPM (on-device power rail monitor) data.
* Added support to attach the UI via ?rpc_port=1234 to multiple instances of
trace_processor --httpd --http-port=1234 (see UI docs).
* Fixed OOM detection message on in-memory tables.
* Fixed rendering of events at the every beginning and end of the trace.
* Fixed rendering of low density slices.
* Fixed bug in filterVisibleSlices (Thanks to Liangliang Sui).
SDK:
* Fixed a bug that would cause DataSource::OnStop to be called twice upon
service disconnection with HandleStopAsynchronously().
* Fixed a long standing bug that caused the last TracePacket for every
sequence to be lost during scraping, for data sources that do not support
flushing. The fix works with old versions of the tracing service.
### [`v43.0`](https://togithub.com/google/perfetto/compare/v42.0...v43.0)
[Compare Source](https://togithub.com/google/perfetto/compare/v42.0...v43.0)
### [`v42.0`](https://togithub.com/google/perfetto/releases/tag/v42.0): Perfetto v42.0
[Compare Source](https://togithub.com/google/perfetto/compare/v41.0...v42.0)
v42.0 - 2024-02-02:
Tracing service and probes:
* Linux/Android: kernel scheduling data (sched_switch and sched_waking
ftrace events) is now serialised in a more compact format by default
(previously required setting ftrace_config.compact_sched.enabled).
UI:
* Added "Realtime (Trace TZ)" timestamp formatting option to see timestamps
in the local time of the traced device. It requires recent versions of the
tracing service which set the system_info.timezone_off_mins field.
* Added tab support to the plugin API.
* Added a plugin to improve visualization of Android power traces containing
ODPM (on-device power rail monitor) data.
* Added support to attach the UI via ?rpc_port=1234 to multiple instances of
trace_processor --httpd --http-port=1234 (see UI docs).
* Fixed OOM detection message on in-memory tables.
* Fixed rendering of events at the every beginning and end of the trace.
* Fixed rendering of low density slices.
* Fixed bug in filterVisibleSlices (Thanks to Liangliang Sui).
SDK:
* Fixed a bug that would cause DataSource::OnStop to be called twice upon
service disconnection with HandleStopAsynchronously().
* Fixed a long standing bug that caused the last TracePacket for every
sequence to be lost during scraping, for data sources that do not support
flushing. The fix works with old versions of the tracing service.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
v41.0
->v45.0
Release Notes
google/perfetto (com_github_google_perfetto)
### [`v45.0`](https://togithub.com/google/perfetto/releases/tag/v45.0): Perfetto v45.0 [Compare Source](https://togithub.com/google/perfetto/compare/v44.0...v45.0) v45.0 - 2024-05-09: Trace Processor: * Optimised single column `DISTINCT` queries. * Optimised `LIMIT` and `OFFSET` queries. SQL Standard library: * Improved support for querying startups on Android 9 (API level 28) and below. Available in `android.startup.startups` module. * Added tables for querying "Time To Initial Display" and "Time To Full Display" metrics for app startups. Available in new module `android.startup.time_to_display`. * Added table for querying hardware power rail counters in new `android.power_rails` module. UI: * Add tracks to the list of searchable items. * Use mipmaps to improve track query performance on large traces. * Fix slow scrolling bug in ftrace explorer tab on low DPI machines. * Overhaul track decider queries to improve trace load times. * Add track * Tidy up command names & remove some example ones. * Remove arg auto-completion in pivot table. * Show dominator tree views by default. * Fix counter event selection off-by-one error. * Add viewport control to the plugin API. * Sticky track titles to improve track button accessibility in tall tracks. * A handful of small bugfixes. SDK: * The TRACE_EVENT macro used to reject `const char *` event names: either `StaticString` or `DynamicString` needed to be specified. In the last year (since https://r.android.com/2494614), TRACE_EVENT mistakenly accepted `const char *` as an event name. This has been fixed now. In case your code fails to compile, https://perfetto.dev/docs/instrumentation/track-events#dynamic-event-names explains how to fix the problem. ### [`v44.0`](https://togithub.com/google/perfetto/releases/tag/v44.0): Perfetto v44.0 [Compare Source](https://togithub.com/google/perfetto/compare/v43.2...v44.0) v44.0 - 2024-04-10: Trace Processor: * New modules added to standard library: `frames.timeline`, `frame.per_frame_metrics`, `sched.time_in_state`. UI: * Per-cpu scheduling tracks now distinguish real-time priority threads with a hatched pattern and name prefix. Based on priority during switch-in. * Added ftrace event cropping for traces recorded by perfetto v44+. Events are ignored if they precede the earliest timestamp covered by all per-cpu data streams. This should significantly improve the presentation of RING_BUFFER traces, removing artifacts such as never-ending slices starting at the beginning of the trace. * Significantly improved trace load times. * Improved counter track view modes, including log scale, expanded view, and the ability for plugin authors to link scales of several counter tracks together. * Add dominated size and objects to Java heap graph view. Added hotkey Q to open and close bottom drawer. * Fixed bug where timeline header and tracks could become horizontally misaligned when using browser zoom. * Fixed crash when hot-reloading Sass during development. * Fixed bug where crashed debug tracks could not be closed. * Fixed missing flame graph details for area selections. * Consistent reporting of durations for incomplete slices. * Switch to using prettier for formatting TS & Sass instead of ESLint. SDK: * "track_event" categories are disabled by default in the C API, if they don't match anything in the data source config. This behavior differs from the C++ API. Configs should include either `enabled_categories: "*"` or `disable_categories: "*"` to explicitly specify the desired behavior that work both for C and C++. ### [`v43.2`](https://togithub.com/google/perfetto/compare/v43.1...v43.2) [Compare Source](https://togithub.com/google/perfetto/compare/v43.1...v43.2) ### [`v43.1`](https://togithub.com/google/perfetto/releases/tag/v43.1): Perfetto v43.1 [Compare Source](https://togithub.com/google/perfetto/compare/v43.0...v43.1) https://android.googlesource.com/platform/external/perfetto/+/refs/tags/v43.1 https://github.com/google/perfetto/tree/v43.1 v43.1 - 2024-03-05: Tracing service and probes: * Cherry-pick of https://r.android.com/2988674, which fixes the android x86 standalone build. v43.0 - 2024-03-05: Tracing service and probes: * Buffers marked as `transfer_on_clone` will be flushed independently when cloning. * ftrace: added drain_buffer_percent option to read kernel ring buffer based on occupancy in addition to existing periodic reads. Requires Linux kernel v6.1+. * ftrace: changed default kernel per-cpu ring buffer sizes if a config doesn't request an explicit size via buffer_size_kb. Added buffer_size_lower_bound option that lets the service choose a bigger ring buffer size than requested. * "linux.process_stats" data source: added options to record: process age, time spent running in userspace, and time spent running in kernel mode, using /proc/pid/stat. See "record_process_age" and "record_process_runtime" options. Trace Processor: * Added `decompress_packets` mode to the traceconv tool. * Support memory mapped file access on Windows. * Deprecated `common` standard library module, it will be removed by v45. Some of the functionality have been migrated to other parts of standard library. UI: * Added a "defaultPlugins" list to allow control over which plugins are enabled by default. * Added a feature to allow enabling/disabling plugins permanently from the plugins page. * Added plugin load times to the plugin page. * Added scrolling to the pinned track area. * Added commands for expanding and closing all tracks. * Added {expand,collapse}GroupsByPredicate to plugin API. * Added SimpleSliceTrack & SimpleCounterTrack which have the same functionality of debug tracks but may be added on trace load from within plugins. * Added naive track crash containment, which means tracks that crash should not crash the entire UI. * Don't render "idle" kernel thread slices in thread state tracks. * Fixed crash when using autofill in text inputs in chrome. * Fixed bug where "incomplete" slices were sometimes not rendered. * Fixed crash when calls to CacheStorage fail via promise rejection. * Fixed bug causing slices to occasionally disappear in tracks v2. * Fixes crash in tracksV2 when visible window is negative. * Fix bug when toggling the sidebar without a trace loaded would either crash the UI or simply not work. * Various TabsV2 QoL improvements. * Various AndroidLongBatteryTracing plugin improvements. v42.0 - 2024-02-02: Tracing service and probes: * Linux/Android: kernel scheduling data (sched_switch and sched_waking ftrace events) is now serialised in a more compact format by default (previously required setting ftrace_config.compact_sched.enabled). UI: * Added "Realtime (Trace TZ)" timestamp formatting option to see timestamps in the local time of the traced device. It requires recent versions of the tracing service which set the system_info.timezone_off_mins field. * Added tab support to the plugin API. * Added a plugin to improve visualization of Android power traces containing ODPM (on-device power rail monitor) data. * Added support to attach the UI via ?rpc_port=1234 to multiple instances of trace_processor --httpd --http-port=1234 (see UI docs). * Fixed OOM detection message on in-memory tables. * Fixed rendering of events at the every beginning and end of the trace. * Fixed rendering of low density slices. * Fixed bug in filterVisibleSlices (Thanks to Liangliang Sui). SDK: * Fixed a bug that would cause DataSource::OnStop to be called twice upon service disconnection with HandleStopAsynchronously(). * Fixed a long standing bug that caused the last TracePacket for every sequence to be lost during scraping, for data sources that do not support flushing. The fix works with old versions of the tracing service. ### [`v43.0`](https://togithub.com/google/perfetto/compare/v42.0...v43.0) [Compare Source](https://togithub.com/google/perfetto/compare/v42.0...v43.0) ### [`v42.0`](https://togithub.com/google/perfetto/releases/tag/v42.0): Perfetto v42.0 [Compare Source](https://togithub.com/google/perfetto/compare/v41.0...v42.0) v42.0 - 2024-02-02: Tracing service and probes: * Linux/Android: kernel scheduling data (sched_switch and sched_waking ftrace events) is now serialised in a more compact format by default (previously required setting ftrace_config.compact_sched.enabled). UI: * Added "Realtime (Trace TZ)" timestamp formatting option to see timestamps in the local time of the traced device. It requires recent versions of the tracing service which set the system_info.timezone_off_mins field. * Added tab support to the plugin API. * Added a plugin to improve visualization of Android power traces containing ODPM (on-device power rail monitor) data. * Added support to attach the UI via ?rpc_port=1234 to multiple instances of trace_processor --httpd --http-port=1234 (see UI docs). * Fixed OOM detection message on in-memory tables. * Fixed rendering of events at the every beginning and end of the trace. * Fixed rendering of low density slices. * Fixed bug in filterVisibleSlices (Thanks to Liangliang Sui). SDK: * Fixed a bug that would cause DataSource::OnStop to be called twice upon service disconnection with HandleStopAsynchronously(). * Fixed a long standing bug that caused the last TracePacket for every sequence to be lost during scraping, for data sources that do not support flushing. The fix works with old versions of the tracing service.Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.