Sysprof

Below are the test cases that should be run when any of sysprof, libdex, or libpanel are updated to new major releases in the development version of Ubuntu. These should also be run for any Stable Release Update for sysprof, libdex, or libpanel.

Below are the test cases that should be run when any of gnome-builder, libdex, or libpanel are updated to new major releases in the development version of Ubuntu. These should also be run for any Stable Release Update for gnome-builder, libdex, or libpanel.

Test Case

  1. From a terminal, run sudo apt install sysprof

  2. Open Sysprof

  3. On the Profiler tab, enable all the options except for Sample JavaScript Stacks (since yelp is not a GJS app)

  4. On the Application tab, enter yelp in the Command Line field. (yelp is the default Help app for Ubuntu Desktop.)

  5. On the Counters tab, enable all options

  6. On the D-Bus tab, enable the Session Bus option

  7. On the Graphics tab, enable all options

  8. Click Record to Memory

  9. You will likely be prompted to enter your password to run the profiler with elevated permissions. Enter your password. Sysprof will begin profiling now with a time counter.
  10. Wait for the Help app to fully launch then click Stop Recording in the sysprof dialog. This will probably take several seconds.

  11. You can close the Help app at any time.
  12. The sysprof app will take a few moments to finish loading the profile data.
  13. Click each item in the sidebar. Each item should show content. The graphics tab may not show any content. The Network tab may not show any activity unless you have another network app like your web browser running and actively communicating with web servers.
  14. After reviewing the profiled data, close the Sysprof app.

What Could Go Wrong

The Sysprof app is a standalone app but is proposed to be installed by default in Ubuntu Desktop 24.10. A critical bug could mean that users are unable to use this system profiling app.

libsysprof-capture-4-dev is a dependency of several GNOME development libraries (libglib2.0-dev [proposed for Ubuntu 24.10], libgtk-4-dev [proposed for Ubuntu 24.10], libsoup2.4-dev, libsoup-3.0-dev, and libgtksourceview-5-dev). A critical enough bug could make it impossible to build apps using those libraries, although that is unlikely to happen in an SRU since there is an autopkgtest specifically for libsysprof-capture-4-dev to detect this kind of bug. sysprof libraries are not a dependency of the runtime library itself (libglib2.0-0 etc.) so a bug in sysprof won't otherwise affect usage of Ubuntu apps.

What Could Go Wrong (libdex)

libdex is only currently used by the GNOME Builder and Sysprof apps.

GNOME Builder is a standalone app that is not installed by default by any Ubuntu flavor. If there is a critical bug preventing GNOME Builder from being usable, a developer could use another IDE such as Visual Studio Code.

GNOME Builder is also distributed as a Flatpak and developers could use that if Ubuntu's .deb version is not working. (The .deb version of GNOME Builder installs flatpak by default anyway since that's how the build and run command is implemented for GNOME apps.)

The Sysprof app is also a standalone app but is proposed to be installed by default in Ubuntu Desktop 24.10. A critical bug in libdex could mean that users are unable to use this system profiling app.

This is mitigated by testing that both apps still run with the new libdex version.

libdex is also used by libsysprof-capture-4-dev. libsysprof-capture-4-dev is a dependency of several GNOME development libraries (libglib2.0-dev [proposed for Ubuntu 24.10], libgtk-4-dev [proposed for Ubuntu 24.10], libsoup2.4-dev, libsoup-3.0-dev, and libgtksourceview-5-dev). A critical enough bug could make it impossible to build apps using those libraries, although that is unlikely to happen in an SRU since there is an autopkgtest specifically for libsysprof-capture-4-dev to detect this kind of bug. sysprof libraries are not a dependency of the runtime library itself (libglib2.0-0 etc.) so a bug in sysprof won't otherwise affect usage of Ubuntu apps.

What Could Go Wrong (libpanel)

libpanel is only currently used by the GNOME Builder and Sysprof apps.

GNOME Builder is a standalone app that is not installed by default by any Ubuntu flavor. If there is a critical bug preventing GNOME Builder from being usable, a developer could use another IDE such as Visual Studio Code.

GNOME Builder is also distributed as a Flatpak and developers could use that if Ubuntu's .deb version is not working. (The .deb version of GNOME Builder installs flatpak by default anyway since that's how the build and run command is implemented for GNOME apps.)

The Sysprof app is also a standalone app but is proposed to be installed by default in Ubuntu Desktop 24.10. A critical bug in libpanel could mean that users are unable to use this system profiling app.

This is mitigated by testing that both apps still run with the new libpanel version.

Other Info

It might be more interesting to test gnome-weather instead. It is a gjs app so would use sysprof's support for profiling gjs apps. But gjs is not yet compiled with sysprof support. The Ubuntu Desktop team will investigate this after sysprof is allowed into Ubuntu main.

gnome-weather is also a network app so it could enable the network panel to show useful information.

gnome-weather is installed by default only in Ubuntu Desktop's Expanded installation option so we would need to add another step to the test case to install it.


CategoryDesktopTestPlans

DesktopTeam/TestPlans/Sysprof (last edited 2024-06-04 18:57:47 by jbicha)