Difference between revisions of "Sysprof"

[unchecked revision] [quality revision]
 

1 Article purpose[edit]

This article provides the basic information needed to start using the Linux kernel tool: sysprof[1].

2 Introduction[edit]

The following table provides a brief description of the tool, as well as its availability depending on the software packages:

Yes: this tool is either present (ready to use or to be activated), or can be integrated and activated on the software package.

No: this tool is not present and cannot be integrated, or it is present but cannot be activated on the software package.

Tool STM32MPU Embedded Software distribution STM32MPU Embedded Software distribution for Android™
Name Category Purpose Starter Package Developer Package Distribution Package Starter Package Developer Package Distribution Package
sysprof Monitoring tools sysprof[1] is a statistical, system-wide profiler for Linux. It helps in finding the functions in which a program spends most of its time.

sysprof proposes a user interface available directly on the board display screen.

Yes Yes Yes No No No

3 Installing the trace and debug tool on your target board[edit]

3.1 Using STM32MPU Embedded Software distribution[edit]

sysprof is installed by default and ready to be used with all STM32MPU Embedded Software Packages.

Board $> which sysprof
/usr/bin/sysprof

sysprof is integrated in weston image distribution through openembedded-core package: openembedded-core/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb.

PROFILE_TOOLS_X = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'sysprof', , d)}"
...
RRECOMMENDS_${PN} = "\
   ${PERF} \
   trace-cmd \
   blktrace \
   ${PROFILE_TOOLS_X} \
   ${PROFILE_TOOLS_SYSTEMD} \
   "

4 Getting started[edit]

Warning.png sysprof is working only with screen resolution at least 700x1200, so it doesn't work on STM32MP15 discovery board
  • Starting sysprof on the board:
Board $> sysprof
Sysprof proposes a User interface through the board X interface to the display. It might be more convenient to plug a mouse (and optionally a keyboard) to use the tool interface.

Sysprof new.png

  • Recording
Clicking on the top left Record button launches the recording. Recording is stopped by clicking on the top left Stop button (that replaces the record button).
The following report is then available on the board display:

Sysprof report.png

5 To go further[edit]

Several options are available to the user in order to filter the report, and then study the results:

  • Possibility to browse on Functions list, Descendants list
  • Possibility to select a certain period of the CPUs graph.
  • Possibility to save traces, to make screen shots...

Sysprof menu.png

6 References[edit]


  • Useful external links
Document link Document Type Description
Sysprof from Gnome Standard Wiki page
Profiling using Sysprof User manual Linux.com



== Article purpose ==
This article provides the basic information needed to start using the Linux kernel tool: '''sysprof'''<ref name=sysprofdotcom/>.

== Introduction ==
{{:Trace_and_debug_tools_assignment_table_template}}<onlyinclude>

 | [[Sysprof|sysprof]]
 | [[:Category:Monitoring tools|Monitoring tools]]
 | style="text-align:left;" | '''sysprof'''<ref name=sysprofdotcom>http://www.sysprof.com/</ref> is a statistical, system-wide profiler for Linux. It helps in finding the functions in which a program spends most of its time.<br>

'''sysprof''' proposes a user interface available directly on the board display screen.
 || {{Y}} || {{Y}} || {{Y}}
 || {{N}} || {{N}} || {{N}}
 |-</onlyinclude>

 |}

== Installing the trace and debug tool on your target board ==

=== Using STM32MPU Embedded Software distribution ===
'''sysprof''' is installed by default and ready to be used with all STM32MPU Embedded Software Packages.
 {{Board$}} which sysprof
 /usr/bin/sysprof

'''sysprof''' is integrated in weston image distribution through openembedded-core package: <code>''openembedded-core/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb''</code>.
 PROFILE_TOOLS_X = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '{{green|'''sysprof'''}}', '', d)}"
 ...
 RRECOMMENDS_${PN} = "\
    ${PERF} \
    trace-cmd \
    blktrace \
    {{green|'''${PROFILE_TOOLS_X}'''}} \
    ${PROFILE_TOOLS_SYSTEMD} \
    "

== Getting started ==
{{Warning| sysprof is working only with screen resolution at least 700x1200, so it doesn't work on STM32MP15 discovery board}}
* Starting '''sysprof''' on the board:
 {{Board$}} sysprof

:'''Sysprof''' proposes a User interface through the board X interface to the display. It might be more convenient to plug a mouse (and optionally a keyboard) to use the tool interface.<br/>

[[File:Sysprof_new.png|800px|link=]]

* Recording
:Clicking on the top left <span style="color:#FFFFFF; background:#4169E1">'''Record'''</span> button launches the recording. Recording is stopped by clicking on the top left <span style="color:#FFFFFF; background:#FF0000">'''Stop'''</span> button (that replaces the record button).

:The following report is then available on the board display:<br/>

[[File:Sysprof_report.png|800px|link=]]

== To go further ==
Several options are available to the user in order to filter the report, and then study the results:
*Possibility to browse on ''Functions'' list, ''Descendants'' list
*Possibility to select a certain period of the CPUs graph.
*Possibility to save traces, to make screen shots... 

[[File:Sysprof_menu.png|800px|link=]]

== References ==<references />


* Useful external links
{|
! scope=col | Document link
! scope=col | Document Type
! scope=col | Description
|-
| [https://wiki.gnome.org/Apps/Sysprof Sysprof from Gnome]
| Standard
| Wiki page
|-
| [https://www.linux.com/news/profiling-entire-system-activity-sysprof Profiling using Sysprof]
| User manual
| Linux.com
|}
<noinclude>

{{ ArticleBasedOnModel | Trace and debug tools article model }}
{{ PublicationRequestId | 9235 | 16Oct'18 }}

[[Category:Linux monitoring tools]]
Line 22: Line 22:
 
  /usr/bin/sysprof
 
  /usr/bin/sysprof
   
'''sysprof''' is integrated in weston image distribution through openembedded-core package: ''openembedded-core/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb''.
+
'''sysprof''' is integrated in weston image distribution through openembedded-core package: <code>''openembedded-core/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb''</code>.
 
  PROFILE_TOOLS_X = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '{{green|'''sysprof'''}}', '', d)}"
 
  PROFILE_TOOLS_X = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '{{green|'''sysprof'''}}', '', d)}"
 
  ...
 
  ...

Attachments

Discussions