diff options
Diffstat (limited to 'documentation/profile-manual/profile-manual-intro.rst')
-rw-r--r-- | documentation/profile-manual/profile-manual-intro.rst | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/documentation/profile-manual/profile-manual-intro.rst b/documentation/profile-manual/profile-manual-intro.rst new file mode 100644 index 0000000000..40febd8b4e --- /dev/null +++ b/documentation/profile-manual/profile-manual-intro.rst | |||
@@ -0,0 +1,67 @@ | |||
1 | ****************************************** | ||
2 | Yocto Project Profiling and Tracing Manual | ||
3 | ****************************************** | ||
4 | |||
5 | .. _profile-intro: | ||
6 | |||
7 | Introduction | ||
8 | ============ | ||
9 | |||
10 | Yocto bundles a number of tracing and profiling tools - this 'HOWTO' | ||
11 | describes their basic usage and shows by example how to make use of them | ||
12 | to examine application and system behavior. | ||
13 | |||
14 | The tools presented are for the most part completely open-ended and have | ||
15 | quite good and/or extensive documentation of their own which can be used | ||
16 | to solve just about any problem you might come across in Linux. Each | ||
17 | section that describes a particular tool has links to that tool's | ||
18 | documentation and website. | ||
19 | |||
20 | The purpose of this 'HOWTO' is to present a set of common and generally | ||
21 | useful tracing and profiling idioms along with their application (as | ||
22 | appropriate) to each tool, in the context of a general-purpose | ||
23 | 'drill-down' methodology that can be applied to solving a large number | ||
24 | (90%?) of problems. For help with more advanced usages and problems, | ||
25 | please see the documentation and/or websites listed for each tool. | ||
26 | |||
27 | The final section of this 'HOWTO' is a collection of real-world examples | ||
28 | which we'll be continually adding to as we solve more problems using the | ||
29 | tools - feel free to add your own examples to the list! | ||
30 | |||
31 | .. _profile-manual-general-setup: | ||
32 | |||
33 | General Setup | ||
34 | ============= | ||
35 | |||
36 | Most of the tools are available only in 'sdk' images or in images built | ||
37 | after adding 'tools-profile' to your local.conf. So, in order to be able | ||
38 | to access all of the tools described here, please first build and boot | ||
39 | an 'sdk' image e.g. $ bitbake core-image-sato-sdk or alternatively by | ||
40 | adding 'tools-profile' to the EXTRA_IMAGE_FEATURES line in your | ||
41 | local.conf: EXTRA_IMAGE_FEATURES = "debug-tweaks tools-profile" If you | ||
42 | use the 'tools-profile' method, you don't need to build an sdk image - | ||
43 | the tracing and profiling tools will be included in non-sdk images as | ||
44 | well e.g.: $ bitbake core-image-sato | ||
45 | |||
46 | .. note:: | ||
47 | |||
48 | By default, the Yocto build system strips symbols from the binaries | ||
49 | it packages, which makes it difficult to use some of the tools. | ||
50 | |||
51 | You can prevent that by setting the | ||
52 | ```INHIBIT_PACKAGE_STRIP`` <&YOCTO_DOCS_REF_URL;#var-INHIBIT_PACKAGE_STRIP>`__ | ||
53 | variable to "1" in your ``local.conf`` when you build the image: | ||
54 | |||
55 | INHIBIT_PACKAGE_STRIP = "1" The above setting will noticeably increase | ||
56 | the size of your image. | ||
57 | |||
58 | If you've already built a stripped image, you can generate debug | ||
59 | packages (xxx-dbg) which you can manually install as needed. | ||
60 | |||
61 | To generate debug info for packages, you can add dbg-pkgs to | ||
62 | EXTRA_IMAGE_FEATURES in local.conf. For example: EXTRA_IMAGE_FEATURES = | ||
63 | "debug-tweaks tools-profile dbg-pkgs" Additionally, in order to generate | ||
64 | the right type of debuginfo, we also need to set | ||
65 | ```PACKAGE_DEBUG_SPLIT_STYLE`` <&YOCTO_DOCS_REF_URL;#var-PACKAGE_DEBUG_SPLIT_STYLE>`__ | ||
66 | in the ``local.conf`` file: PACKAGE_DEBUG_SPLIT_STYLE = | ||
67 | 'debug-file-directory' | ||