From: Geneviève Bastien Date: Mon, 30 May 2016 20:10:00 +0000 (-0400) Subject: doc: bug 495211 Add the I/O analysis documentation X-Git-Url: http://git.efficios.com/?p=deliverable%2Ftracecompass.git;a=commitdiff_plain;h=51e77caad3dbaeb7d2f7cb1eb6f24350572a2ee1 doc: bug 495211 Add the I/O analysis documentation Change-Id: I9e790c1b9bfd0e9a0c35f303d9660bb522c6cf93 Signed-off-by: Geneviève Bastien Reviewed-on: https://git.eclipse.org/r/73985 Reviewed-by: Hudson CI Reviewed-by: Matthew Khouzam Tested-by: Matthew Khouzam --- diff --git a/doc/org.eclipse.tracecompass.doc.user/doc/User-Guide.mediawiki b/doc/org.eclipse.tracecompass.doc.user/doc/User-Guide.mediawiki index 6327582b15..fc52840f4e 100644 --- a/doc/org.eclipse.tracecompass.doc.user/doc/User-Guide.mediawiki +++ b/doc/org.eclipse.tracecompass.doc.user/doc/User-Guide.mediawiki @@ -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 index 0000000000..08aa8ab00a Binary files /dev/null and b/doc/org.eclipse.tracecompass.doc.user/doc/images/io/diskIoActivity.png differ