Opened 7 months ago

Closed 7 months ago

#18592 closed enhancement (fixed)

Archive sysprof

Reported by: Douglas R. Reno Owned by: Douglas R. Reno
Priority: normal Milestone: 12.1
Component: BOOK Version: git
Severity: normal Keywords:
Cc:

Description

New major version

Change History (4)

comment:1 by Douglas R. Reno, 7 months ago

Owner: changed from blfs-book to Douglas R. Reno
Status: newassigned

comment:2 by Douglas R. Reno, 7 months ago

45.beta

Overview of changes in Sysprof 45.beta
=======================================

Sysprof has largely been redesigned and rewriten from the ground up this cycle
to provide better GTK 4 integration and more advanced features.

libsysprof-capture
------------------

This library is our static library used by many applications and libraries to
augment capture collection. It is still installed as libsysprof-capture-4.a
as a static library for consumers. The ABI is the same, however some new data
types have been added.

libsysprof
----------

This library has been rewritten around a new document model for captures.
Instead of using SysprofCaptureReader (a buffered capture reader) the
SysprofDocument object exposes a GListModel of a mmap()'d capture file.

This has allowed for many new indexing performance improvements as well
as simpler data-binding in the user interface.

You can read more about this at
https://blogs.gnome.org/chergert/2023/07/18/glistmodel-as-a-data-format/

Additionally, a new SysprofProfiler API has been added. It has been much
simplified and allows for easier implementation of instruments in a race
free manner.

The library heavily builds upon libdex for Futures which I created this past
window to simplify features in GNOME Builder.

sysprof-cli and sysprof-agent
-----------------------------

These tools both provide similar features albeit from a different standpoint.
They have both been updated to use the new profiler interface in libsysprof.

sysprofd
--------

Very minimal changes have been made to sysprofd to help ensure that the
application and libraries can still work on systems with an older sysprofd
installed on the host.

sysprof
-------

The application has been completely redesigned and is now window focused
rather than tabs. The constraint of tabs was becoming too cumbersome to
maintain so as the author, I felt this was the right move.

45.rc

Overview of changes in Sysprof 45.rc
====================================

Changes since 45.beta:

 * A Rust demangler is provided which can demangle some newer style
   Rust symbols.
 * The C++ and Rust legacy demanger has improved to handle some
   scenarios where <> and :: should be used.
 * The D-Bus section has gained support for search filtering.
 * A busy indicator is now show when callgraphs are being generated or
   updated to reflect changing view options.
 * Improvements to sysprof-cli and sysprof-agent to support recent
   capture features.
 * sysprof-cli can now specify capture buffer size in number of pages
   to help in situations where you want to avoid disk spillage.
 * Zoom controls now stay sticky to the left.
 * SysprofCollector will now try much harder for the peer to process
   the mmap ring buffer before bailing so that the leak collector is
   less likely to drop records.
 * Sysprof now uses gtktimsort to sort records for a significant speed
   improvement when loading large captures.
 * Window titles now include documen title.
 * Reduction in number of samples to normalize for various charts which
   results in faster loading times. You can continue to zoom in to get
   better details.
 * A new scheduler details instrument is provided, which uses tracepoints
   to track when processes were running and on what CPU.
 * A new flamegraph is added for viewing profiling results. It is powered
   by the same callgraph seen in the callgraph view, which means changes to
   the callgraph can influence the flamegraph. Colorization is provided
   by stack categorization in callgraphs.
 * Categorization of Kernel symbols has been fixed.
 * Callgraphs are now sorted incrementally to help keep the UI responsive
   while loading the document.
 * Accounting of weights for callgraphs has been improved to avoid double
   counting summary values when recursion is used.
 * A fix for a crash when pivoting to a new root in the callgraph.
 * A new option to merge similar processes when generating callgraphs.
 * A new option to filter out kernel processes has been added. This feature
   is quite rudimentary and involves commandline sniffing. Improvements
   are requested by those seeking more comprehensive filtering.
 * Improvements to locating and symbolizing Flatpak processes.
 * The files section has gained search filter support.

45.0

Overview of changes in Sysprof 45.0
===================================

Changes since 45.rc:

 * Ignore swapper/# scheduler details to better show activity
 * Update some subsystem name extraction
 * Translation updates

comment:3 by Douglas R. Reno, 7 months ago

Summary: sysprof-45.0Archive sysprof

Let's archive Sysprof instead. It's optional in the few packages where it's used, and requires major changes for 45.0 that involve adding another two packages to the book.

comment:4 by Douglas R. Reno, 7 months ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.