Files
sysprof/NEWS
Christian Hergert 5b4493e2f0 Release 3.22.0
2016-09-23 19:07:25 -07:00

155 lines
5.7 KiB
Plaintext

Overview of changes in Sysprof 3.22.0
=====================================
Sysprof 3.22.0 is here, which contains mostly just translation improvements
since 3.21.91. Thanks to our translators!
Marek Černocký, Matej Urbančič, Jiri Grönroos
Overview of changes in Sysprof 3.21.91
======================================
Sysprof 3.21.91 is here with a few changes as we stabilize for 3.22.
* Allow collapsing the callgraph tree with Left arrow.
* Add a full barrier before writing data_tail as suggested by
Perf kernel documentation. (Ray Strode)
* Support for additional architectures has been enabled by the use
of C11 atomics.
* Require -std=gnu11 for stdatomic.h
* Correct gettext domain for translation files (Kalev Lember)
If you have fun and interesting architectures, please give them a try!
Overview of changes in Sysprof 3.21.90
======================================
Sysprof 3.21.90 is our first release while we prepare things for the 3.22.0
release of GNOME. Thanks to everyone who contributed to this release!
Build System Improvements
* Sysprof now supports an --enable-sysprofd configure option to ensure the
systemd/dbus service is installed. (Jussi Kukkonen)
* sysprof-ui-2.pc is only installed if the Gtk UI is installed.
* Build fixes for polkit integration.
Bugs Fixed
* Workaround for systems without memfd
* Support older Linux/perf implementations
* Architecture improvements for ARM
* Fix use of U64_TO_POINTER (Jussi Kukkonen)
* Hide info bar when starting to record (Tim Bäder)
* Expand cursor row on Right in callgraph (Tim Bäder)
* Elf symbol resolver now recognizes more GNOME platform libraries.
* Sysprofd integration now pings the service before considering it
available for use.
* Correctness improvements for capture reader and writer.
New and Updated Translations
* Swedish (Anders Jonsson)
* Hungarian (Balázs Meskó, Gabor Kelemen)
* German (Christian Kirbach)
* Spanish (Daniel Mustieles)
* Slovak (Dušan Kazik)
* Czech (Marek Černocký)
* Polish (Piotr Drąg)
* Brazilian Portuguese (Rafael Fontenelle)
* Portuguese (Tiago Santos)
* Serbian (Мирослав Николић)
Overview of changes in Sysprof 3.20.0
=====================================
Sysprof 3.20.0 is a major rewrite of the sysprof internals.
* The GTK+ user interface has been ported to GTK+ 3, and includes
the use of modern GTK+ patterns, including GtkHeaderBar.
* A new library, libsysprof-2 has been created, which contains the
internals for implementing a Linux perf-based profiler.
* A new library, libsysprof-ui-2 has been created, which can be used by
IDEs to provide profiling capabilities. GNOME Builder is expected to
take advantage of this.
* Sysprof uses a new binary capture format, to allow for collecting
more types of data than simply Perf callchain information.
* Data collection sources have been abstracted, allowing for new types
of data collection to occur. Additionally, it is now possible to port
Sysprof to other operating systems if contributors are found to
implement those features. As before, Sysprof is currently supported
on Linux, where the perf_event_open syscall is available.
* The sysprof capture format supports information from JITd languages.
Patches to Gjs (GNOME's wrapper around mozjs24) exist that can export
JIT information from the JavaScript engine.
* Sysprof now supports launching an application as part of the
profiling process.
* Sysprof can attach to one-or-more existing processes to collect
profiling information. This still uses the Linux perf infrastructure,
which means sampling is still performed.
* The user interface provides a stopwatch for the amount of time that
has elapsed since recording started. If you find that the sysprof UI
shows up in your capture, we suggest using sysprof-cli to collect
samples.
* The Sysprof UI provides tags next to common GNOME libraries used in
the GNOME stack to allow users to quickly identify libraries that
may not have fully-qualified symbol names.
* The binutils based demanger has been removed in favor of
abi::__cxx_demangle() function. This fixes modern C++ demangling
and vastly simplifies the Sysprof codebase. However, it does require
a C++ compiler and linker to build Sysprof. Applications using
libsysprof-2 and libsysprof-ui-2 do not require a C++ compiler.
* Sysprof now provides a D-Bus service, sysprofd, which can perform
elevated perf_event_open syscalls on behalf of the user interface
after appropriate authorization. Polkit is used to perform the
authorization. This service requires sd-bus from systemd 222 and
newer. If you choose not to use this service, or do not have
systemd on your system, you will have to perform system-wide
captures as root, either via the UI, or via sysprof-cli.
* sysprof-cli now supports executing a command with the -c option.
* A new mimetype for *.syscap is installed to allow opening capture
files from Nautilus or other file-managers.
* The sysprof artwork has been updated.
* Sysprof can now be translated using GNOME's i18n and l10n
infrastructure.
* Sysprof now comes with a modest help manual which can be viewed with
the Yelp documentation browser.
* New code in sysprof has been licensed under the GPLv3 or newer.
Translations
* Brazilian Portuguese by Rafael Fontenelle
* German by Mario Blättermann
* Polish by Piotr Drąg
* Serbian by Мирослав Николић
It is worth noting that Sysprof is still a sampling based profiler.
However, it should now be possible to extend sysprof to support tracing
via callgrind. If you are interested in helping on this effort, please
let us know and we can help you get started.
Happy Perf Hunting,
-- Christian Hergert <christian@hergert.me>