doc: bug 495211 Add the I/O analysis documentation
authorGeneviève Bastien <gbastien+lttng@versatic.net>
Mon, 30 May 2016 20:10:00 +0000 (16:10 -0400)
committerGenevieve Bastien <gbastien+lttng@versatic.net>
Mon, 6 Jun 2016 17:43:34 +0000 (13:43 -0400)
Change-Id: I9e790c1b9bfd0e9a0c35f303d9660bb522c6cf93
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/73985
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
doc/org.eclipse.tracecompass.doc.user/doc/User-Guide.mediawiki
doc/org.eclipse.tracecompass.doc.user/doc/images/io/diskIoActivity.png [new file with mode: 0644]

index 6327582b1534f4ab4a6959b24268609a820a96e6..fc52840f4e95d902a0e1dff001d2a72946237b13 100644 (file)
@@ -2118,6 +2118,53 @@ To open all three traces simultaneously, we first create an experiment containin
 
 [[Image:images/waitAnalysis/KernelWaitAnalysisDjango.png]]
 
+== Input/Output Analysis ==
+
+TraceCompass can analyse disk input/output through the read/write system calls to get the read/write per processes, but also with the disk request events, to get the actual reads and writes to disk.
+
+=== Get the trace ===
+
+The following tracepoints should be enabled to get the disk read/write data. Also, enabling syscalls will allow to match the reads and writes per processes.
+
+    # sudo lttng list -k
+    Kernel events:
+    -------------
+      ...
+      block_rq_complete (loglevel: TRACE_EMERG (0)) (type: tracepoint)
+      block_rq_insert (loglevel: TRACE_EMERG (0)) (type: tracepoint)
+      block_rq_issue (loglevel: TRACE_EMERG (0)) (type: tracepoint) # on the guest
+      block_bio_frontmerge (loglevel: TRACE_EMERG (0)) (type: tracepoint) # on the guest
+      ...
+
+For full disk request tracking, some extra tracepoints are necessary. They are not required for the I/O analysis, but make the analysis more complete. Here is the procedure to get those tracepoints that are not yet part of the mainline kernel.
+
+    # git clone https://github.com/giraldeau/lttng-modules.git
+    # cd lttng-modules
+
+Checkout the addons branch, compile and install lttng-modules as per the lttng-modules documentation.
+
+    # git checkout addons
+    # make
+    # sudo make modules_install
+    # sudo depmod -a
+
+The lttng addons modules must be inserted manually for the extra tracepoints to be available:
+
+    # sudo modprobe lttng-addons
+    # sudo modprobe lttng-elv
+
+And enable the following tracepoint
+
+    addons_elv_merge_requests
+
+=== Input/Output Views ===
+
+The following views are available for input/output analyses:
+
+* Disk I/O Activity
+A time aligned XY chart of the read and write speed for the different disks on the system. This view is useful to see where there was more activity on the disks and whether it was mostly reads or writes.
+
+ [[Image:images/io/diskIoActivity.png| Disk I/O Activity Example]]
 
 == LTTng Kernel Events Editor ==
 
diff --git a/doc/org.eclipse.tracecompass.doc.user/doc/images/io/diskIoActivity.png b/doc/org.eclipse.tracecompass.doc.user/doc/images/io/diskIoActivity.png
new file mode 100644 (file)
index 0000000..08aa8ab
Binary files /dev/null and b/doc/org.eclipse.tracecompass.doc.user/doc/images/io/diskIoActivity.png differ
This page took 0.028783 seconds and 5 git commands to generate.