msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2026-08-12 18:13+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#. Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2
msgctxt "_"
msgid "translator-credits"
msgstr ""

#. (itstool) path: info/title
#: C/index.page:7
msgctxt "link:trail"
msgid "Sysprof"
msgstr ""

#. (itstool) path: info/title
#: C/index.page:8
msgctxt "link"
msgid "Sysprof"
msgstr ""

#. (itstool) path: info/title
#: C/index.page:9
msgctxt "text"
msgid "Sysprof"
msgstr ""

#. (itstool) path: page/title
#: C/index.page:15
msgid "<_:media-1/> Sysprof"
msgstr ""

#. (itstool) path: section/title
#. (itstool) path: page/title
#: C/index.page:21
#: C/profiling.page:8
msgid "Profiling"
msgstr ""

#. (itstool) path: section/title
#: C/index.page:25
msgid "Frequently Asked Questions"
msgstr ""

#. (itstool) path: credit/name
#: C/introduction.page:15
msgid "Christian Hergert"
msgstr ""

#. (itstool) path: credit/years
#: C/introduction.page:17
msgid "2016"
msgstr ""

#. (itstool) path: info/desc
#: C/introduction.page:22
msgid "Welcome to <app>Sysprof</app>!"
msgstr ""

#. (itstool) path: page/title
#: C/introduction.page:25
msgid "Introduction"
msgstr ""

#. (itstool) path: page/p
#: C/introduction.page:27
msgid "<app>Sysprof</app> is a system profiler for Linux that targets the GNOME desktop."
msgstr ""

#. (itstool) path: info/desc
#: C/introduction.page:33
msgid "Differences between tracing and sampling"
msgstr ""

#. (itstool) path: section/title
#: C/introduction.page:35
msgid "What is a Profiler?"
msgstr ""

#. (itstool) path: section/p
#: C/introduction.page:37
msgid "A profiler is an application that records information about an application or system while it runs. That information can be explored to gain insight into how the application could be changed to perform better."
msgstr ""

#. (itstool) path: section/p
#: C/introduction.page:42
msgid "Two common categories of software profilers exist, commonly referred to as either tracing or sampling profilers. What is meant by tracing profiler is that every function call executed by the program is known to the profiler. A sampling profiler works by inspecting the state of the program on a regular frequency and therefore does not see every function call executed by the program."
msgstr ""

#. (itstool) path: section/p
#: C/introduction.page:49
msgid "Both tracing and sampling profilers have their advantages. A notable advantage of a sampling profiler is that the overhead is much less than that of a tracing profiler, making it easier to use for software that requires interactivity."
msgstr ""

#. (itstool) path: section/p
#: C/introduction.page:54
msgid "<app>Sysprof</app> is a sampling profiler."
msgstr ""

#. (itstool) path: section/title
#: C/profiling.page:10
msgid "How to profile your system"
msgstr ""

#. (itstool) path: section/p
#: C/profiling.page:11
msgid "When <app>Sysprof</app> profiles your system, it records stack information for all applications executing, including the Linux kernel. This can sometimes be confusing if you only want to look at a single process. If your application does not interact much with the host system, you may have more success by using <app>Sysprof</app> to <link href=\"profiling#new-process-profiling\">spawn a new process</link>."
msgstr ""

#. (itstool) path: section/p
#: C/profiling.page:18
msgid "To profile your entire system, ensure the target button is set to <em>All Processes</em> and click <em>Record</em>."
msgstr ""

#. (itstool) path: section/p
#: C/profiling.page:21
msgid "At this point, you may be asked to <em>authorize</em> access to profile the system. This is required as the Linux kernel's perf implementation requires root to perform whole-system profiling."
msgstr ""

#. (itstool) path: section/p
#: C/profiling.page:25
msgid "During the profiling session, you will see the number of seconds the profile has been active. Clicking the <em>Record</em> button again will stop the profiling session. Afterwhich, the callgraph will be displayed."
msgstr ""

#. (itstool) path: note/p
#: C/profiling.page:31
msgid "If you find that the <app>sysprof</app> application is showing up in your profiling callgraph, you might consider recording the profiling session with <cmd>sysprof-cli</cmd>. This is a command line program that will capture your profiling session to disk to be viewed at a later time."
msgstr ""

#. (itstool) path: section/p
#: C/profiling.page:37
msgid "See <link href=\"profiling#interpreting-results\">interpreting results</link> for more guidance."
msgstr ""

#. (itstool) path: section/title
#: C/profiling.page:46
msgid "Profile a new process"
msgstr ""

#. (itstool) path: section/p
#: C/profiling.page:48
msgid "Often times, you may need to spawn a new process to profile. First, select the <em>Application</em> button next at the top of the recording window. Fill in your command and working directory, and optionally specify any environment variables you need. Your process will be started when recording begins."
msgstr ""

#. (itstool) path: note/p
#: C/profiling.page:55
msgid "If you are spawning a process that requires access to your current display, such as a GTK+ application, you will want to make sure <em>Inherit current environment</em> is set."
msgstr ""

#. (itstool) path: section/title
#: C/profiling.page:66
msgid "Profiling with the sysprof-cli command line tool"
msgstr ""

#. (itstool) path: section/p
#: C/profiling.page:68
msgid "For minimal overhead, you might consider using the <cmd>sysprof-cli</cmd> command line tool. When run without any arguments, it will record your entire system and save the output to <file>capture.syscap</file>. This file can be opened with the <app>Sysprof</app> application to view the callgraph."
msgstr ""

#. (itstool) path: section/p
#: C/profiling.page:73
msgid "If you would like to spawn a new process, use <cmd>sysprof-cli -- 'command'</cmd> to specify a command to be launched. The command will inherit the current environment."
msgstr ""

#. (itstool) path: section/title
#: C/profiling.page:83
msgid "Interpreting results"
msgstr ""

#. (itstool) path: section/p
#: C/profiling.page:85
msgid "The profiling results in <app>Sysprof</app> are split into three sections. On the top left is a list of all the functions profiled. They are sorted by how often they were called during the recording."
msgstr ""

#. (itstool) path: note/p
#: C/profiling.page:90
msgid "It is important to note that the amount of time spent in each function is not captured. That would require a tracing profiler to accurately record. The percentage is calculated by determining how often that function showed up in the current stacktrace when a sample was recorded."
msgstr ""

#. (itstool) path: section/p
#: C/profiling.page:96
msgid "After selecting a function from the functions list, all of the recorded callers of that function will be displayed on the bottom left. They are also sorted by the percentage of samples that included that function in the stacktrace."
msgstr ""

#. (itstool) path: section/p
#: C/profiling.page:101
msgid "On the right, are all of the decendants of a selected function. You can select a function either from the functions list, or the callers list."
msgstr ""

#. (itstool) path: note/p
#: C/profiling.page:105
msgid "If you see <em>- - Context Switch - -</em> in your results, that means that the application transitioned into or from the Linux kernel. There can be many reasons for this such as a <em>syscall</em> or <em>signal</em>."
msgstr ""

#. (itstool) path: page/title
#: C/faq.page:9
msgid "What does heap mean?"
msgstr ""

#. (itstool) path: section/title
#: C/faq.page:12
msgid "What does \"In file [heap]\" mean?"
msgstr ""

#. (itstool) path: section/p
#: C/faq.page:14
msgid "This means that sysprof believes a function was called from somewhere in the program's heap (where <code>malloc</code> allocates memory) rather than the code section (where executable code normally lives.) There are several possible explanations."
msgstr ""

#. (itstool) path: section/title
#: C/faq.page:22
msgid "JIT (Just in Time) compilers"
msgstr ""

#. (itstool) path: section/p
#: C/faq.page:24
msgid "Languages like Java can generate executable code while a program is running and store it in the heap. Sysprof is accurately reporting the situation in this case."
msgstr ""

#. (itstool) path: section/title
#: C/faq.page:30
msgid "Optimizing compilers"
msgstr ""

#. (itstool) path: section/p
#: C/faq.page:32
msgid "C and C++ compilers can optimize away information needed to determine a function's caller, so it is mistaken for [heap]. You can still tell how often each function is called by the program, but not always from where."
msgstr ""

#. (itstool) path: note/p
#: C/faq.page:38
msgid "For gcc, the flag <code>-fno-omit-frame-pointer</code> will prevent this optimization. The flag is not always needed, for example on x86_64 machines it is only needed with -O3 optimization."
msgstr ""

#. (itstool) path: note/p
#: C/faq.page:44
msgid "To get the most detailed and accurate call tree from un-optimized code, use these flags: <code>-ggdb -fno-omit-frame-pointer -O0</code>"
msgstr ""

#. (itstool) path: p/link
#: C/legal.xml:5
msgid "Creative Commons Attribution-ShareAlike 4.0 International"
msgstr ""

#. (itstool) path: license/p
#: C/legal.xml:4
msgid "This work is licensed under a <_:link-1/> license."
msgstr ""

#. (itstool) path: license/p
#: C/legal.xml:8
msgid "As a special exception, the copyright holders give you permission to copy, modify, and distribute the example code contained in this documentation under the terms of your choosing, without restriction."
msgstr ""

