diff options
author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2013-01-18 13:17:23 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-01-27 13:56:03 +0000 |
commit | e4746a55e43b0ddde0b4b6070017ad7a5a002760 (patch) | |
tree | 3a3efdd24d1a57b875a9fbc61fc5e7e970e40776 /documentation/profile-manual | |
parent | 697b9ec4f7572e7b9ce361948ad8addc40197745 (diff) | |
download | poky-e4746a55e43b0ddde0b4b6070017ad7a5a002760.tar.gz |
profile-manual: Added LTTng section to usage chapter.
No re-writing at all.
(From yocto-docs rev: 6ed32ad5daa1f16c414da665a2fea498baefbe4a)
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/profile-manual')
-rw-r--r-- | documentation/profile-manual/profile-manual-usage.xml | 386 |
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&id=ea602300d9211669df0acc5c346e4486d6bf6f67'>http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=tzanussi/switch-to-lttng2&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&id=1d0dc88e1635cfc24612a3e97d0391facdc2c65f'>http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=tzanussi/lttng-fixes.0&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> |