Skip to content

Releases: google/perfetto

Perfetto v39.0

15 Nov 18:33
Compare
Choose a tag to compare
v39.0 - 2023-11-15:
  Tracing service and probes:
    * Added reporting of TZ offset under system_info.timezone_off_mins .
    * Added no_flush option to DataSourceDescriptor to avoid unnecessary IPC
      roundtrips to flush data sources like track_event that rely uniquely on
      server-side scraping.
    * Added support for running on Linux & Android systems configured with 16K
      pagetables.
  Trace Processor:
    * New android_boot metric.
    * Added new PerfettoSQL syntax (CREATE PERFETTO VIEW) for adding schemas to views.
    * Support perf.data import format.
    * Add dvfs and cpu_idle to stdlib.
  UI:
    * Add a new type of debug tracks: counter.
    * Improved visualization of timestamps for durations.

Perfetto v38.0

09 Oct 20:21
Compare
Choose a tag to compare
v38.0 - 2023-10-10:
  Tracing service and probes:
    * Added capability to transfer and clear buffers on CLONE_SNAPSHOT.
    * Added new service for relaying IPC messages from local producers to a
      remote tracing instance.
  Trace Processor:
    * Added new PerfettoSQL syntax (INCLUDE PERFETTO MODULE) for including
      tables/views/functions defined in SQL modules.
    * Added new PerfettoSQL syntax (CREATE PERFETTO TABLE) for defining analytic
      tables in SQL.
    * Added new PerfettoSQL syntax (CREATE PERFETTO MACRO) for defining macros
      in SQL.
    * Added TO_REALTIME function to convert timestamps to the realtime clock.
    * Added support for parsing binder_command and binder_return events.
  UI:
    * Added support for zooming when using deep-links.
    * Added track for displaying screenshots in traces.
    * Added support for displaying UTC timestamps.
    * Added capability to list, search and debug plugin tracks.
    * Added plugins with commands for pinning tracks for latency and large
      screen debugging in Android.

Perfetto v37.0

10 Aug 16:42
Compare
Choose a tag to compare
v37.0 - 2023-08-10:
  Tracing service and probes:
    * Fixed a bug which would cause sessions cloned with CLONE_SNAPSHOT to not
      inherit the trace filtering config.
    * Fixed a bug that would cause flushes to be acked prematurely in
      traced_probes if the android.package_list data source is present.
  SDK:
    * Fix build with MSVC.
  UI:
    * Added command palette (CTRL/Meta+Shift+P).
    * Added grouping of global tracks into groups to reduce visual pollution.
    * Added ability to toggle timestamps between trace / boot / wall time.
    * Added recording UI for callstack sampler.
    * Added "Viz" page to run chart query results with Vega-Lite.
    * Highlight debuggable apps, which might have worse performance
      characteristics, with a chip on the corresponding tracks.
  Misc:
    * master -> main branch migration. HEAD is now main, master is for now a
      mirror and will become a stale frozen snapshot.

Perfetto v36.1

06 Jul 16:41
Compare
Choose a tag to compare
v36.1 - 2023-07-06:
  Trace Processor:
    * Fix compile on Windows.

v36.0 - 2023-07-05:
  Tracing service and probes:
    * Fixed unnecessary reads of thread files /proc when scraping process names.
  Trace Processor:
    * Rewrote filtering engine to be significantly faster on a wide range of
      common queries.
    * Significantly improved quality of PerfettoSQL error messages.
    * Added API to retrieve last executed statement from iterator.
    * Added support for filtering rows by a regex.
  UI:
    * Fixed flow events working for async tracks.
    * Added table viewer for slice-like tables.
  SDK:
    * Reduce binary size impact of macro and template expansions.

Perfetto v35.0

08 Jun 14:05
Compare
Choose a tag to compare
v35.0 - 2023-06-07:
  Tracing service and probes:
    * Compression has been moved from perfetto_cmd to traced. Now compression is
      supported even with write_into_file. The `compress_from_cli` config option
      can be used to restore the old behavior.
    * Changed the android.statsd datasource to batch multiple atoms into
      a single trace packet. This improves performance and information
      density.
  Trace Processor:
    * Fixed protozero parsing code to support field ids larger than
      2^16 - 1. protozero now supports field ids up to 1,000,000
      See https://github.com/google/perfetto/issues/510.
  UI:
    * Add support for deep links into the UI via query parameters.
    * Fixed multiple issues around the display of track event log
      messages See https://github.com/google/perfetto/issues/507.

Many thanks to the 35 contributors to this release: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], and [email protected].

Perfetto v34.0

02 May 16:37
Compare
Choose a tag to compare
v34.0 - 2023-05-02:
  Tracing service and probes:
    * --continuous-dump in tools/java_heap_dump now keeps recording until it
      receives CTRL+C.
  UI:
    * Add support for parsing large integers from Trace Processor into
      bigint. This is the default behaviour for unknown fields and can
      be enabled specifically via the LONG and LONG_NULL column types.
  SDK:
    * Changed the type of the static constexpr metadata on protozero
      generated bindings from a function returning the metadata to
      metadata itself. For a field 'foo' the variable kFoo previously
      defined as:
      `static constexpr FieldMetadata_Foo kFoo() = { return {}; };`
      it is now defined as:
      `static constexpr FieldMetadata_Foo kFoo;`
      This is a breaking change for users who directly access field
      metadata.
    * The new DataSourceBase::OnFlush() method allows users to properly handle
      Flush requests.

Perfetto v33.1

03 Mar 12:04
Compare
Choose a tag to compare
v33.1 - 2023-03-03:
  Identical to v33.0. Version was bumped to work around prebuilt infra failures.

v33.0 - 2023-03-02:
  All:
    * Switched to a C++17-only project by removing C++11 opt-out. This completes
      the migration started in v31.0.
  SDK:
    * Tracing::Initialize() can be called more than once to initialize different
      backends separately.
    * Reduce binary size impact of autogenerated code.

Perfetto v32.1

01 Feb 16:13
Compare
Choose a tag to compare
v32.1 - 2023-02-01:
  Trace Processor:
    * Fix build on windows.


v32.0 - 2023-02-01:
  Tracing service and probes:
    * Added an explicit TraceUuid packet. The tracing service now always
      generates a UUID, even if TraceConfig.trace_uuid_msb/lsb is empty.
  Trace Processor:
    *
  UI:
    *
  SDK:
    * Add perfetto::Tracing::ActivateTriggers() function.
    * Made it possible to declare track event categories in a C++ namespace
      with PERFETTO_DEFINE_CATEGORIES_IN_NAMESPACE, allowing multiple category
      sets to be used in one same translation unit. Correspondingly, the
      PERFETTO_COMPONENT_EXPORT and PERFETTO_TRACK_EVENT_NAMESPACE macros have
      been deprecated in favor of this new functionality.
    * Deprecated the PERFETTO_COMPONENT_EXPORT macro in favor of
      PERFETTO_DEFINE_CATEGORIES_IN_NAMESPACE_WITH_ATTRS.
    * Added TracingInitArgs::enable_system_consumer configuration option, that
      allows the linker to discard the consumer IPC, if not required.

Perfetto v31.0

09 Nov 22:59
Compare
Choose a tag to compare
v31.0 - 2022-11-10:
  Tracing service and probes:
    * Added support for collecting Android Trusty ftrace events.
    * Fixed resetting syscall filter when recording selected syscalls.
  Trace Processor:
    * Improved error messages on SQL syntax errors.
    * Improved performance of queries containing GLOB. Handling of GLOB
      constraints now happens inside trace processor instead of SQLite.
    * Added support for parsing Android Trusty ftrace events.
  UI:
    * Added support for metatracing UI code and integrate with trace processor
      metatracing.
    * Added support for scrolling to a time region using the postMessage API.
    * Enabled Pivot table functionality by default.
    * Fixed downloading of Java heap profiles.
  SDK:
    * Switched to require C++17 by default. A time-limited opt-out exists but
      is planned to be removed in v34. Please contact us at
      [email protected] if you have thoughts or concerns on this
      move.

Perfetto v30.0

06 Oct 10:40
Compare
Choose a tag to compare
v30.0 - 2022-10-06:
  Trace Processor:
    * Fixed parsing of "R+" (preempted) and "I" (idle kernel thread) end states
      of sched_switch events, collected on Linux kernels v4.14 and above.
      Previously, preemption was not recognised, and idle was reported as
      "x" (task dead). See commit c60a630cfe0.
    * Add support for parsing sys_write syscalls.
    * Remove the thread_slice table: all columns have moved to the slice table
      and thread_slice exists as a view for backwards compatibility. This view
      will also be removed in the future
    * Add Base64 encode SQL function.
    * Add support for importing function graph ftrace events.
    * Add support for importing V4L2 ftrace events.
    * Add support for importing virtio-video ftrace events.
  UI:
    * Fix downloading profiles from flamegraphs.
    * Enable Pivot table support by default.
  SDK:
    * Add support for disallowing concurrent tracing sessions.