Skip to content

Perfetto v43.1

Compare
Choose a tag to compare
@ddiproietto ddiproietto released this 05 Mar 18:41
· 5628 commits to main since this release
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.