summaryrefslogtreecommitdiffstats
path: root/documentation/profile-manual/profile-manual-usage.xml
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/profile-manual/profile-manual-usage.xml')
-rw-r--r--documentation/profile-manual/profile-manual-usage.xml386
1 files changed, 386 insertions, 0 deletions
diff --git a/documentation/profile-manual/profile-manual-usage.xml b/documentation/profile-manual/profile-manual-usage.xml
index 31ccfe6ebf..a777b4212a 100644
--- a/documentation/profile-manual/profile-manual-usage.xml
+++ b/documentation/profile-manual/profile-manual-usage.xml
@@ -2881,18 +2881,404 @@
2881 <ulink url='http://sysprof.com/'>Sysprof, System-wide Performance Profiler for Linux</ulink> 2881 <ulink url='http://sysprof.com/'>Sysprof, System-wide Performance Profiler for Linux</ulink>
2882 </para> 2882 </para>
2883 </section> 2883 </section>
2884</section>
2885
2886<section id='lttng-linux-trace-toolkit-next-generation'>
2887 <title>LTTng (Linux Trace Toolkit, next generation)</title>
2884 2888
2889 <section id='lttng-setup'>
2890 <title>Setup</title>
2885 2891
2892 <note>
2893 The lttng support in Yocto 1.3 (danny) needs the following poky
2894 commits applied in order to work:
2895 <itemizedlist>
2896 <listitem><para><ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=tzanussi/switch-to-lttng2&amp;id=ea602300d9211669df0acc5c346e4486d6bf6f67'>http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=tzanussi/switch-to-lttng2&amp;id=ea602300d9211669df0acc5c346e4486d6bf6f67</ulink>
2897 </para></listitem>
2898 <listitem><para><ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=tzanussi/lttng-fixes.0&amp;id=1d0dc88e1635cfc24612a3e97d0391facdc2c65f'>http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=tzanussi/lttng-fixes.0&amp;id=1d0dc88e1635cfc24612a3e97d0391facdc2c65f</ulink>
2899 </para></listitem>
2900 </itemizedlist>
2901 If you also want to view the LTTng traces graphically, you also
2902 need to download and install/run the 'SR1' or later Juno release
2903 of eclipse e.g.:
2904 <ulink url='http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/juno/SR1/eclipse-cpp-juno-SR1-linux-gtk-x86_64.tar.gz'>http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/juno/SR1/eclipse-cpp-juno-SR1-linux-gtk-x86_64.tar.gz</ulink>
2905 </note>
2906 </section>
2907
2908 <section id='collecting-and-viewing-traces'>
2909 <title>Collecting and Viewing Traces</title>
2910
2911 <para>
2912 Once you've applied the above commits and built and booted your
2913 image (you need to build the core-image-sato-sdk image or the
2914 other methods described in the General Setup section), you're
2915 ready to start tracing.
2916 </para>
2917
2918 <section id='collecting-and-viewing-a-trace-on-the-target-inside-a-shell'>
2919 <title>Collecting and viewing a trace on the target (inside a shell)</title>
2920
2921 <para>
2922 First, from the target, ssh to the target:
2923 <literallayout class='monospaced'>
2924 $ ssh -l root 192.168.1.47
2925 The authenticity of host '192.168.1.47 (192.168.1.47)' can't be established.
2926 RSA key fingerprint is 23:bd:c8:b1:a8:71:52:00:ee:00:4f:64:9e:10:b9:7e.
2927 Are you sure you want to continue connecting (yes/no)? yes
2928 Warning: Permanently added '192.168.1.47' (RSA) to the list of known hosts.
2929 root@192.168.1.47's password:
2930 </literallayout>
2931 Once on the target, use these steps to create a trace:
2932 <literallayout class='monospaced'>
2933 root@crownbay:~# lttng create
2934 Spawning a session daemon
2935 Session auto-20121015-232120 created.
2936 Traces will be written in /home/root/lttng-traces/auto-20121015-232120
2937 </literallayout>
2938 Enable the events you want to trace (in this case all
2939 kernel events):
2940 <literallayout class='monospaced'>
2941 root@crownbay:~# lttng enable-event --kernel --all
2942 All kernel events are enabled in channel channel0
2943 </literallayout>
2944 Start the trace:
2945 <literallayout class='monospaced'>
2946 root@crownbay:~# lttng start
2947 Tracing started for session auto-20121015-232120
2948 </literallayout>
2949 And then stop the trace after awhile or after running
2950 a particular workload that you want to trace:
2951 <literallayout class='monospaced'>
2952 root@crownbay:~# lttng stop
2953 Tracing stopped for session auto-20121015-232120
2954 </literallayout>
2955 You can now view the trace in text form on the target:
2956 <literallayout class='monospaced'>
2957 root@crownbay:~# lttng view
2958 [23:21:56.989270399] (+?.?????????) sys_geteuid: { 1 }, { }
2959 [23:21:56.989278081] (+0.000007682) exit_syscall: { 1 }, { ret = 0 }
2960 [23:21:56.989286043] (+0.000007962) sys_pipe: { 1 }, { fildes = 0xB77B9E8C }
2961 [23:21:56.989321802] (+0.000035759) exit_syscall: { 1 }, { ret = 0 }
2962 [23:21:56.989329345] (+0.000007543) sys_mmap_pgoff: { 1 }, { addr = 0x0, len = 10485760, prot = 3, flags = 131362, fd = 4294967295, pgoff = 0 }
2963 [23:21:56.989351694] (+0.000022349) exit_syscall: { 1 }, { ret = -1247805440 }
2964 [23:21:56.989432989] (+0.000081295) sys_clone: { 1 }, { clone_flags = 0x411, newsp = 0xB5EFFFE4, parent_tid = 0xFFFFFFFF, child_tid = 0x0 }
2965 [23:21:56.989477129] (+0.000044140) sched_stat_runtime: { 1 }, { comm = "lttng-consumerd", tid = 1193, runtime = 681660, vruntime = 43367983388 }
2966 [23:21:56.989486697] (+0.000009568) sched_migrate_task: { 1 }, { comm = "lttng-consumerd", tid = 1193, prio = 20, orig_cpu = 1, dest_cpu = 1 }
2967 [23:21:56.989508418] (+0.000021721) hrtimer_init: { 1 }, { hrtimer = 3970832076, clockid = 1, mode = 1 }
2968 [23:21:56.989770462] (+0.000262044) hrtimer_cancel: { 1 }, { hrtimer = 3993865440 }
2969 [23:21:56.989771580] (+0.000001118) hrtimer_cancel: { 0 }, { hrtimer = 3993812192 }
2970 [23:21:56.989776957] (+0.000005377) hrtimer_expire_entry: { 1 }, { hrtimer = 3993865440, now = 79815980007057, function = 3238465232 }
2971 [23:21:56.989778145] (+0.000001188) hrtimer_expire_entry: { 0 }, { hrtimer = 3993812192, now = 79815980008174, function = 3238465232 }
2972 [23:21:56.989791695] (+0.000013550) softirq_raise: { 1 }, { vec = 1 }
2973 [23:21:56.989795396] (+0.000003701) softirq_raise: { 0 }, { vec = 1 }
2974 [23:21:56.989800635] (+0.000005239) softirq_raise: { 0 }, { vec = 9 }
2975 [23:21:56.989807130] (+0.000006495) sched_stat_runtime: { 1 }, { comm = "lttng-consumerd", tid = 1193, runtime = 330710, vruntime = 43368314098 }
2976 [23:21:56.989809993] (+0.000002863) sched_stat_runtime: { 0 }, { comm = "lttng-sessiond", tid = 1181, runtime = 1015313, vruntime = 36976733240 }
2977 [23:21:56.989818514] (+0.000008521) hrtimer_expire_exit: { 0 }, { hrtimer = 3993812192 }
2978 [23:21:56.989819631] (+0.000001117) hrtimer_expire_exit: { 1 }, { hrtimer = 3993865440 }
2979 [23:21:56.989821866] (+0.000002235) hrtimer_start: { 0 }, { hrtimer = 3993812192, function = 3238465232, expires = 79815981000000, softexpires = 79815981000000 }
2980 [23:21:56.989822984] (+0.000001118) hrtimer_start: { 1 }, { hrtimer = 3993865440, function = 3238465232, expires = 79815981000000, softexpires = 79815981000000 }
2981 [23:21:56.989832762] (+0.000009778) softirq_entry: { 1 }, { vec = 1 }
2982 [23:21:56.989833879] (+0.000001117) softirq_entry: { 0 }, { vec = 1 }
2983 [23:21:56.989838069] (+0.000004190) timer_cancel: { 1 }, { timer = 3993871956 }
2984 [23:21:56.989839187] (+0.000001118) timer_cancel: { 0 }, { timer = 3993818708 }
2985 [23:21:56.989841492] (+0.000002305) timer_expire_entry: { 1 }, { timer = 3993871956, now = 79515980, function = 3238277552 }
2986 [23:21:56.989842819] (+0.000001327) timer_expire_entry: { 0 }, { timer = 3993818708, now = 79515980, function = 3238277552 }
2987 [23:21:56.989854831] (+0.000012012) sched_stat_runtime: { 1 }, { comm = "lttng-consumerd", tid = 1193, runtime = 49237, vruntime = 43368363335 }
2988 [23:21:56.989855949] (+0.000001118) sched_stat_runtime: { 0 }, { comm = "lttng-sessiond", tid = 1181, runtime = 45121, vruntime = 36976778361 }
2989 [23:21:56.989861257] (+0.000005308) sched_stat_sleep: { 1 }, { comm = "kworker/1:1", tid = 21, delay = 9451318 }
2990 [23:21:56.989862374] (+0.000001117) sched_stat_sleep: { 0 }, { comm = "kworker/0:0", tid = 4, delay = 9958820 }
2991 [23:21:56.989868241] (+0.000005867) sched_wakeup: { 0 }, { comm = "kworker/0:0", tid = 4, prio = 120, success = 1, target_cpu = 0 }
2992 [23:21:56.989869358] (+0.000001117) sched_wakeup: { 1 }, { comm = "kworker/1:1", tid = 21, prio = 120, success = 1, target_cpu = 1 }
2993 [23:21:56.989877460] (+0.000008102) timer_expire_exit: { 1 }, { timer = 3993871956 }
2994 [23:21:56.989878577] (+0.000001117) timer_expire_exit: { 0 }, { timer = 3993818708 }
2995 .
2996 .
2997 .
2998 </literallayout>
2999 You can now safely destroy the trace session (note that
3000 this doesn't delete the trace - it's still there
3001 in ~/lttng-traces):
3002 <literallayout class='monospaced'>
3003 root@crownbay:~# lttng destroy
3004 Session auto-20121015-232120 destroyed at /home/root
3005 </literallayout>
3006 Note that the trace is saved in a directory of the same
3007 name as returned by 'lttng create', under the ~/lttng-traces
3008 directory (note that you can change this by supplying your
3009 own name to 'lttng create'):
3010 <literallayout class='monospaced'>
3011 root@crownbay:~# ls -al ~/lttng-traces
3012 drwxrwx--- 3 root root 1024 Oct 15 23:21 .
3013 drwxr-xr-x 5 root root 1024 Oct 15 23:57 ..
3014 drwxrwx--- 3 root root 1024 Oct 15 23:21 auto-20121015-232120
3015 </literallayout>
3016 </para>
3017 </section>
3018
3019 <section id='collecting-and-viewing-a-userspace-trace-on-the-target-inside-a-shell'>
3020 <title>Collecting and viewing a userspace trace on the target (inside a shell)</title>
3021
3022 <para>
3023 For lttng userspace tracing, you need to have a properly
3024 instrumented userspace program. For this example, we'll use
3025 the 'hello' test program generated by the lttng-ust build.
3026 </para>
3027
3028 <para>
3029 The 'hello' test program isn't installed on the rootfs by
3030 the lttng-ust build, so we need to copy it over manually.
3031 First cd into the build directory that contains the hello
3032 executable:
3033 <literallayout class='monospaced'>
3034 $ cd build/tmp/work/core2-poky-linux/lttng-ust/2.0.5-r0/git/tests/hello/.libs
3035 </literallayout>
3036 Copy that over to the target machine:
3037 <literallayout class='monospaced'>
3038 $ scp hello root@192.168.1.20:
3039 </literallayout>
3040 You now have the instrumented lttng 'hello world' test
3041 program on the target, ready to test.
3042 </para>
2886 3043
3044 <para>
3045 First, from the target, ssh to the target:
3046 <literallayout class='monospaced'>
3047 $ ssh -l root 192.168.1.47
3048 The authenticity of host '192.168.1.47 (192.168.1.47)' can't be established.
3049 RSA key fingerprint is 23:bd:c8:b1:a8:71:52:00:ee:00:4f:64:9e:10:b9:7e.
3050 Are you sure you want to continue connecting (yes/no)? yes
3051 Warning: Permanently added '192.168.1.47' (RSA) to the list of known hosts.
3052 root@192.168.1.47's password:
3053 </literallayout>
3054 Once on the target, use these steps to create a trace:
3055 <literallayout class='monospaced'>
3056 root@crownbay:~# lttng create
3057 Session auto-20190303-021943 created.
3058 Traces will be written in /home/root/lttng-traces/auto-20190303-021943
3059 </literallayout>
3060 Enable the events you want to trace (in this case all
3061 userspace events):
3062 <literallayout class='monospaced'>
3063 root@crownbay:~# lttng enable-event --userspace --all
3064 All UST events are enabled in channel channel0
3065 </literallayout>
3066 Start the trace:
3067 <literallayout class='monospaced'>
3068 root@crownbay:~# lttng start
3069 Tracing started for session auto-20190303-021943
3070 </literallayout>
3071 Run the instrumented hello world program:
3072 <literallayout class='monospaced'>
3073 root@crownbay:~# ./hello
3074 Hello, World!
3075 Tracing... done.
3076 </literallayout>
3077 And then stop the trace after awhile or after running a
3078 particular workload that you want to trace:
3079 <literallayout class='monospaced'>
3080 root@crownbay:~# lttng stop
3081 Tracing stopped for session auto-20190303-021943
3082 </literallayout>
3083 You can now view the trace in text form on the target:
3084 <literallayout class='monospaced'>
3085 root@crownbay:~# lttng view
3086 [02:31:14.906146544] (+?.?????????) hello:1424 ust_tests_hello:tptest: { cpu_id = 1 }, { intfield = 0, intfield2 = 0x0, longfield = 0, netintfield = 0, netintfieldhex = 0x0, arrfield1 = [ [0] = 1, [1] = 2, [2] = 3 ], arrfield2 = "test", _seqfield1_length = 4, seqfield1 = [ [0] = 116, [1] = 101, [2] = 115, [3] = 116 ], _seqfield2_length = 4, seqfield2 = "test", stringfield = "test", floatfield = 2222, doublefield = 2, boolfield = 1 }
3087 [02:31:14.906170360] (+0.000023816) hello:1424 ust_tests_hello:tptest: { cpu_id = 1 }, { intfield = 1, intfield2 = 0x1, longfield = 1, netintfield = 1, netintfieldhex = 0x1, arrfield1 = [ [0] = 1, [1] = 2, [2] = 3 ], arrfield2 = "test", _seqfield1_length = 4, seqfield1 = [ [0] = 116, [1] = 101, [2] = 115, [3] = 116 ], _seqfield2_length = 4, seqfield2 = "test", stringfield = "test", floatfield = 2222, doublefield = 2, boolfield = 1 }
3088 [02:31:14.906183140] (+0.000012780) hello:1424 ust_tests_hello:tptest: { cpu_id = 1 }, { intfield = 2, intfield2 = 0x2, longfield = 2, netintfield = 2, netintfieldhex = 0x2, arrfield1 = [ [0] = 1, [1] = 2, [2] = 3 ], arrfield2 = "test", _seqfield1_length = 4, seqfield1 = [ [0] = 116, [1] = 101, [2] = 115, [3] = 116 ], _seqfield2_length = 4, seqfield2 = "test", stringfield = "test", floatfield = 2222, doublefield = 2, boolfield = 1 }
3089 [02:31:14.906194385] (+0.000011245) hello:1424 ust_tests_hello:tptest: { cpu_id = 1 }, { intfield = 3, intfield2 = 0x3, longfield = 3, netintfield = 3, netintfieldhex = 0x3, arrfield1 = [ [0] = 1, [1] = 2, [2] = 3 ], arrfield2 = "test", _seqfield1_length = 4, seqfield1 = [ [0] = 116, [1] = 101, [2] = 115, [3] = 116 ], _seqfield2_length = 4, seqfield2 = "test", stringfield = "test", floatfield = 2222, doublefield = 2, boolfield = 1 }
3090 .
3091 .
3092 .
3093 </literallayout>
3094 You can now safely destroy the trace session (note that
3095 this doesn't delete the trace - it's still
3096 there in ~/lttng-traces):
3097 <literallayout class='monospaced'>
3098 root@crownbay:~# lttng destroy
3099 Session auto-20190303-021943 destroyed at /home/root
3100 </literallayout>
3101 </para>
3102 </section>
2887 3103
3104 <section id='manually-copying-a-trace-to-the-host-and-viewing-it-in-eclipse'>
3105 <title>Manually copying a trace to the host and viewing it in Eclipse (i.e. using Eclipse without network support)</title>
2888 3106
3107 <para>
3108 If you already have an LTTng trace on a remote target and
3109 would like to view it in Eclipse on the host, you can easily
3110 copy it from the target to the host and import it into
3111 Eclipse to view it using the LTTng Eclipse plugin already
3112 bundled in the Eclipse (Juno SR1 or greater).
3113 </para>
2889 3114
3115 <para>
3116 Using the trace we created in the previous section, archive
3117 it and copy it to your host system:
3118 <literallayout class='monospaced'>
3119 root@crownbay:~/lttng-traces# tar zcvf auto-20121015-232120.tar.gz auto-20121015-232120
3120 auto-20121015-232120/
3121 auto-20121015-232120/kernel/
3122 auto-20121015-232120/kernel/metadata
3123 auto-20121015-232120/kernel/channel0_1
3124 auto-20121015-232120/kernel/channel0_0
3125
3126 $ scp root@192.168.1.47:lttng-traces/auto-20121015-232120.tar.gz .
3127 root@192.168.1.47's password:
3128 auto-20121015-232120.tar.gz 100% 1566KB 1.5MB/s 00:01
3129 </literallayout>
3130 Unarchive it on the host:
3131 <literallayout class='monospaced'>
3132 $ gunzip -c auto-20121015-232120.tar.gz | tar xvf -
3133 auto-20121015-232120/
3134 auto-20121015-232120/kernel/
3135 auto-20121015-232120/kernel/metadata
3136 auto-20121015-232120/kernel/channel0_1
3137 auto-20121015-232120/kernel/channel0_0
3138 </literallayout>
3139 We can now import the trace into Eclipse and view it:
3140 <orderedlist>
3141 <listitem><para>First, start eclipse and open the
3142 'LTTng Kernel' perspective by selecting the following
3143 menu item:
3144 <literallayout class='monospaced'>
3145 Window | Open Perspective | Other...
3146 </literallayout></para></listitem>
3147 <listitem><para>In the dialog box that opens, select
3148 'LTTng Kernel' from the list.</para></listitem>
3149 <listitem><para>Back at the main menu, select the
3150 following menu item:
3151 <literallayout class='monospaced'>
3152 File | New | Project...
3153 </literallayout></para></listitem>
3154 <listitem><para>In the dialog box that opens, select
3155 the 'Tracing | Tracing Project' wizard and press
3156 'Next>'.</para></listitem>
3157 <listitem><para>Give the project a name and press
3158 'Finish'.</para></listitem>
3159 <listitem><para>In the 'Project Explorer' pane under
3160 the project you created, right click on the
3161 'Traces' item.</para></listitem>
3162 <listitem><para>Select 'Import..." and in the dialog
3163 that's displayed:</para></listitem>
3164 <listitem><para>Browse the filesystem and find the
3165 select the 'kernel' directory containing the trace
3166 you copied from the target
3167 e.g. auto-20121015-232120/kernel</para></listitem>
3168 <listitem><para>'Checkmark' the directory in the tree
3169 that's displayed for the trace</para></listitem>
3170 <listitem><para>Below that, select 'Common Trace Format:
3171 Kernel Trace' for the 'Trace Type'</para></listitem>
3172 <listitem><para>Press 'Finish' to close the dialog
3173 </para></listitem>
3174 <listitem><para>Back in the 'Project Explorer' pane,
3175 double-click on the 'kernel' item for the
3176 trace you just imported under 'Traces'
3177 </para></listitem>
3178 </orderedlist>
3179 You should now see your trace data displayed graphically
3180 in several different views in Eclipse:
3181 </para>
3182
3183 <para>
3184 <imagedata fileref="figures/lttngmain0.png" width="6in" depth="7in" align="center" scalefit="1" />
3185 </para>
3186
3187 <para>
3188 You can access extensive help information on how to use
3189 the LTTng plugin to search and analyze captured traces via
3190 the Eclipse help system:
3191 <literallayout class='monospaced'>
3192 Help | Help Contents | LTTng Plug-in User Guide
3193 </literallayout>
3194 </para>
3195 </section>
2890 3196
3197 <section id='collecting-and-viewing-a-trace-in-eclipse'>
3198 <title>Collecting and viewing a trace in Eclipse</title>
2891 3199
3200 <note>
3201 This section on collecting traces remotely doesn't currently
3202 work because of Eclipse 'RSE' connectivity problems. Manually
3203 tracing on the target, copying the trace files to the host,
3204 and viewing the trace in Eclipse on the host as outlined in
3205 previous steps does work however - please use the manual
3206 steps outlined above to view traces in Eclipse.
3207 </note>
2892 3208
3209 <para>
3210 In order to trace a remote target, you also need to add
3211 a 'tracing' group on the target and connect as a user
3212 who's part of that group e.g:
3213 <literallayout class='monospaced'>
3214 # adduser tomz
3215 # groupadd -r tracing
3216 # usermod -a -G tracing tomz
3217 </literallayout>
3218 <orderedlist>
3219 <listitem><para>First, start eclipse and open the
3220 'LTTng Kernel' perspective by selecting the following
3221 menu item:
3222 <literallayout class='monospaced'>
3223 Window | Open Perspective | Other...
3224 </literallayout></para></listitem>
3225 <listitem><para>In the dialog box that opens, select
3226 'LTTng Kernel' from the list.</para></listitem>
3227 <listitem><para>Back at the main menu, select the
3228 following menu item:
3229 <literallayout class='monospaced'>
3230 File | New | Project...
3231 </literallayout></para></listitem>
3232 <listitem><para>In the dialog box that opens, select
3233 the 'Tracing | Tracing Project' wizard and
3234 press 'Next>'.</para></listitem>
3235 <listitem><para>Give the project a name and press
3236 'Finish'. That should result in an entry in the
3237 'Project' subwindow.</para></listitem>
3238 <listitem><para>In the 'Control' subwindow just below
3239 it, press 'New Connection'.</para></listitem>
3240 <listitem><para>Add a new connection, giving it the
3241 hostname or IP address of the target system.
3242 </para></listitem>
3243 <listitem><para>Provide the username and password
3244 of a qualified user (a member of the 'tracing' group)
3245 or root account on the target system.
3246 </para></listitem>
3247 <listitem><para>Provide appropriate answers to whatever
3248 else is asked for e.g. 'secure storage password'
3249 can be anything you want.
3250 If you get an 'RSE Error' it may be due to proxies.
3251 It may be possible to get around the problem by
3252 changing the following setting:
3253 <literallayout class='monospaced'>
3254 Window | Preferences | Network Connections
3255 </literallayout>
3256 Switch 'Active Provider' to 'Direct'
3257 </para></listitem>
3258 </orderedlist>
3259 </para>
3260 </section>
3261 </section>
2893 3262
3263 <section id='lltng-documentation'>
3264 <title>Documentation</title>
2894 3265
3266 <para>
3267 There doesn't seem to be any current documentation covering
3268 LTTng 2.0, but maybe that's because the project is in transition.
3269 The LTTng 2.0 website, however, is here:
3270 <ulink url='http://lttng.org/lttng2.0'>LTTng Project</ulink>
3271 </para>
2895 3272
3273 <para>
3274 You can access extensive help information on how to use the
3275 LTTng plug-in to search and analyze captured traces via the
3276 Eclipse help system:
3277 <literallayout class='monospaced'>
3278 Help | Help Contents | LTTng Plug-in User Guide
3279 </literallayout>
3280 </para>
3281 </section>
2896 3282
2897 3283
2898</section> 3284</section>