NEWS 13.4 KB
Newer Older
Christian Hergert's avatar
Christian Hergert committed
1 2 3 4 5
Overview of changes in Sysprof 3.31.91
======================================

 * Translation updates

Christian Hergert's avatar
Christian Hergert committed
6 7 8 9 10
Overview of changes in Sysprof 3.31.91
======================================

 * Handle cancellation during profiler startup more gracefully.

Christian Hergert's avatar
Christian Hergert committed
11 12 13 14 15 16 17 18 19 20 21 22 23
Overview of changes in Sysprof 3.31.90
======================================

 * A new memory source for basic memory statistics. This is meant
   for overview only, not precise details.
 * Fix a small memory leak.
 * Allow disabling memory/cpu sources from sysprof-cli.
 * CSS styling updates.
 * Updated icon for GNOME 3.32 icon initiative.
 * The line visualizer can auto-discover Y axis range.
 * Build system improvements.
 * Updated translations.

Christian Hergert's avatar
Christian Hergert committed
24 25 26 27 28 29 30 31 32 33 34 35
Overview of changes in Sysprof 3.31.1
=====================================

 * Remove app-menu in favor of window-menu, following GNOME design
   guidelines for 3.32.
 * Fixes for i18n/l10n.
 * Build fixes to avoid use of non-portable __WORDSIZE.

Translations:

 * Swedish, Indonesian, Hungarian, Czech, Polish, Brazilian Portuguese

Christian Hergert's avatar
Christian Hergert committed
36 37 38 39 40 41 42 43 44 45
Overview of changes in Sysprof 3.30.1
=====================================

 * Various compilation fixes for alternative platforms, compilers, and toolchains.
 * Backport model filter fixes from libdazzle.

Translations:

 * Swedish, Hungarian, Brazilian Portuguese

Christian Hergert's avatar
Christian Hergert committed
46 47 48 49 50 51 52 53 54 55 56 57
Overview of changes in Sysprof 3.30.0
=====================================

 * Fix incorrect free func for GPtrArray
 * Various build system improvements
 * ENABLE_POLKIT is now repsected in the kallsyms support
 * suggested-action fixes for CSS

Translations:

 * Swedish, Spanish, Brazilian Portuguese, Italian, and German

Christian Hergert's avatar
Christian Hergert committed
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
Overview of changes in Sysprof 3.29.3
=====================================

 * Experimental tracking of various drm events (vblank and CRTC/MSC)
 * Drawing code now uses double instead of float for additional precision
 * CLOCK_MONOTONIC is now the preferred clock
 * A new capture type of "mark" has been added to the capture format. It
   supports an event name with a duration >= 0. We expect to integrate this
   with a timechart in a future release.
 * Various counters are automatically detected and displayed when opening a
   capture file.
 * Various cleanups to libsysprof-capture-2.a for re-usability
 * A new in-tree tool "sysprof-cat" which can join multiple capture files
   together gracefully.
 * Fix a number of situations where cpu/pid were crossed.

Translations:

 * Indonesian, German, Italian, Czech, Polish


Christian Hergert's avatar
Christian Hergert committed
79 80 81 82 83 84 85 86 87 88
Overview of changes in Sysprof 3.28.0
=====================================

 * SpCaptureWriter now pre-initializes the scratch buffer to zero
   to pacify valgrind.

Translations:

 * Swedish

Christian Hergert's avatar
Christian Hergert committed
89 90 91 92 93 94 95
Overview of changes in Sysprof 3.27.92
======================================

Translations:

 * Serbian, German, Finnish, Spanish, Hungarian

Christian Hergert's avatar
Christian Hergert committed
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
Overview of changes in Sysprof 3.27.91
======================================

 * Sysprof now exclusively uses the meson build system.
 * Improvements to the process filtering model used in the profiler popover.
 * More tests for utility helpers.
 * Some code was relicensed to LGPLv2.1+ to extend it's reusability.
 * A new libsysprof-capture-2.a static library is installed to allow external
   tooling to read and write the capture format. We expect tooling such as
   GJS to use this in the future.
 * A new kallsyms tokenizer was added.
 * If we fail to parse kallsyms as the effective user, we now query the
   sysprofd daemon to access and parse those symbols for us as root. This
   requires polkit authorization on the DBus connection just like our
   elevated perf_event_open() helper.
 * Now that we have to deal with overlapping kernel and user-space memory,
   Sysprof tries harder to check the current perf context. New API was
   added to symbol resolvers to facilitate this.

Translations:

 * Czech, German, Polish


Christian Hergert's avatar
Christian Hergert committed
120 121 122 123 124
Overview of changes in Sysprof 3.26.0
=====================================

Sysprof 3.26.0 is identical to 3.25.92 with version numbers updated.

Christian Hergert's avatar
Christian Hergert committed
125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
Overview of changes in Sysprof 3.25.92
======================================

Changes since 3.24.0

 * Additional help topics
 * Fix for a potential divide-by-zero when generating callgraphs
 * Alignment attributes to allow building on armel/armhf/mipsel
 * About dialog is now modal
 * Each new Sysprof window gets its own window group

Note to packagers:

  * We will drop autotools after 3.26 and complete our switch to Meson.

Translations:

  * Indonesian, Spanish, Slovak, Friulian, Czech, Polish, Brazilian Portuguese

Thanks to all of our contributors

Christian Hergert's avatar
Christian Hergert committed
146 147 148 149 150 151 152 153 154 155 156
Overview of changes in Sysprof 3.24.0
=====================================

Changes since 3.23.92

 * Use gtk_show_uri_on_window() to improve help window placement on Wayland.

Translations:

 * Hungarian

Christian Hergert's avatar
Christian Hergert committed
157 158 159 160 161 162 163 164 165 166 167
Overview of changes in Sysprof 3.23.92
======================================

Changes since 3.23.91

 * Compilation fix for 32-bit ARM

Translations:

 * Finnish, Swedish

Christian Hergert's avatar
Christian Hergert committed
168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183
Overview of changes in Sysprof 3.23.91
======================================

Changes since 3.23.90

  * Various compilation checks bsaed on results from ARM builders.
  * Support for setting symbol directories to affect symbol resolution.
  * Translate paths from /newroot/ into the host filesystem when possible.
    This should allow some degree of profiling container-based applications
    and still resolve symbols on the host. Builder does this now when profiling
    Flatpak-based applications.

Translations:

 * Finnish, Serbian

Christian Hergert's avatar
Christian Hergert committed
184 185 186 187 188 189 190 191 192 193 194 195 196 197
Overview of changes in Sysprof 3.23.90
======================================

Changes since 3.22.3

  * Build system support for Meson. This may become the preferred build system
    for 3.26 based on feedback from distributions.
  * Appdata support has been added
  * Desktop file can be translated

Translations:

  * Brazilian Portuguese, Polish, Czech, Slovak, and Spanish.

Christian Hergert's avatar
Christian Hergert committed
198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214
Overview of changes in Sysprof 3.22.3
=====================================

Changes since 3.22.2

  * Fix expansion of function text in callgraph.
  * Fix jump-to-function in callees list.
  * Disable record button while generating callgraph profile.
  * Ensure sysprof icons are available form libsysprof-ui-2.
  * sysprof-cli requires --force to overwrite previous capture. [Hubert Figuière]
  * Reduce code duplication in capture frame initialization. [Vito Caputo]

Translations:

  * Brazilian Portuguese and Polish translations were updated.
    [Enrico Nicoletto, Piotr Drąg]

Christian Hergert's avatar
Christian Hergert committed
215 216 217 218 219 220 221 222 223 224 225 226 227 228 229
Overview of changes in Sysprof 3.22.2
=====================================

Changes since 3.22.1

 * ftruncate() when creating a capture in case we overwrite a previous
   capture file. This ensures we don't leave junk at the end of the
   capture.
 * Handle EAGAIN when writin the opportunistic end-time header.
 * Capture cursor should short circuit when no read delegate was found.

Translations:

 * Czech and Slovak translations were updated.

Christian Hergert's avatar
Christian Hergert committed
230 231 232
Overview of changes in Sysprof 3.22.1
=====================================

Christian Hergert's avatar
Christian Hergert committed
233 234
Changes since 3.22.0

Christian Hergert's avatar
Christian Hergert committed
235 236 237 238 239 240 241 242 243 244 245 246 247 248 249
 * A new data source called "hostinfo" has been added. It records various
   CPU datapoints as "counters" in the sysprof capture.
 * A new visualizers abstraction has been added so that we can start
   providing new ways to look at profiler data.
 * A CPU visualizer has been added which renders datapoints recorded
   from the hostinfo data source.
 * Selecting ranges of the visualizer will update the callgraph limiting
   stacktrace samples, to the given time range.
 * Missing headers are now installed which may be needed by applications
   using libsysprof-ui.
 * A keyboard shortcuts dialog has been added.
 * A theme manager has been added to allow us to provide custom CSS for
   various themes. Currently, we have additional styling added for
   Adwaita and Adwaita-dark.

Christian Hergert's avatar
Christian Hergert committed
250 251
Thanks again to all of our translators

Christian Hergert's avatar
Christian Hergert committed
252

Christian Hergert's avatar
Christian Hergert committed
253 254 255 256 257 258 259 260 261
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


Christian Hergert's avatar
Christian Hergert committed
262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277
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!


278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317
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 (Мирослав Николић)


318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406
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>