doc: Add futex analysis user guide
authorJean-Christian Kouame <jean-christian.kouame@ericsson.com>
Mon, 19 Dec 2016 16:10:48 +0000 (11:10 -0500)
committerJean-Christian Kouame <jean-christian.kouame@ericsson.com>
Tue, 20 Dec 2016 18:24:31 +0000 (13:24 -0500)
Add the futex doc and update the name of associated timegraph views.

Change-Id: Ia94940935d8516a1ff5a8e35bb5c283cb26d5a69
Signed-off-by: Jean-Christian Kouame <jean-christian.kouame@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/87448
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/futex/scenario.png [new file with mode: 0644]
doc/org.eclipse.tracecompass.doc.user/doc/images/futex/uaddrVsWaiter.png [new file with mode: 0644]
lttng/org.eclipse.tracecompass.lttng2.kernel.core/analysis.xml/org.eclipse.tracecompass.internal.lttng2.kernel.core.analysis.xml.futex/futex_analysis_lttng.xml

index f9f51ed37e7398005d07747a345621c0bdeccee7..f8b1de97894b8e62b766d07bdb47e296725d2af5 100644 (file)
@@ -2394,6 +2394,22 @@ A time aligned XY chart of the read and write speed for the different disks on t
 
 The '''System Call Latency Analysis''' measures the system call latency between system call entry and exit per type of system call. The durations are visualized using the '''Latency''' views. For more information about the '''Latency''' views see chapter [[#Latency_Analyses | Latency Analyses]].
 
+== Futex Contention Latency Analysis ==
+
+The '''Futex Contention Latency Analysis''' measures the futexes contention latency between futex entry and exit event for a thread. The durations are visualized using the '''Latency''' views. For more information about the '''Latency''' views see chapter [[#Latency_Analyses | Latency Analyses]].
+
+The following views are also available for the Futex Contention Latency Analysis:
+
+=== Uaddr vs Waiter ===
+A timegraph view of the waiters by futex uaddr. This view is useful to see which threads are waiting on a specific futex and understand blocked threads.
+
+[[Image:images/futex/uaddrVsWaiter.png| uaddr vs waiter example]]
+
+=== Scenarios ===
+A timegraph view of the futex wait/lock and wake/unlock scenarios (from futex entry to futex exit). This view is useful to suss up the general level of contention in a given trace. It highlights futex lifespans.
+
+[[Image:images/futex/scenario.png| scenario example]]
+
 == LTTng Kernel Events Editor ==
 
 The LTTng Kernel Events editor '''is''' the plain TMF [[#Events_Editor | Events Editor]], except that it provides its own specialized viewer to replace the standard one. In short, it has exactly the same behaviour but the layout is slightly different:
diff --git a/doc/org.eclipse.tracecompass.doc.user/doc/images/futex/scenario.png b/doc/org.eclipse.tracecompass.doc.user/doc/images/futex/scenario.png
new file mode 100644 (file)
index 0000000..95b81aa
Binary files /dev/null and b/doc/org.eclipse.tracecompass.doc.user/doc/images/futex/scenario.png differ
diff --git a/doc/org.eclipse.tracecompass.doc.user/doc/images/futex/uaddrVsWaiter.png b/doc/org.eclipse.tracecompass.doc.user/doc/images/futex/uaddrVsWaiter.png
new file mode 100644 (file)
index 0000000..6f3284f
Binary files /dev/null and b/doc/org.eclipse.tracecompass.doc.user/doc/images/futex/uaddrVsWaiter.png differ
index 302c2bcfbfd889be73b954b558834bb4c6bb54ea..d3394f356bcfdcae8c232fdf3a2678f0ebdf8839 100644 (file)
@@ -59,7 +59,7 @@ TRYLOCK_PI    136             264
 <timeGraphView id="lttng2.kernel.core.futex.uaddrvswaiter">
        <head>
                <analysis id="lttng.analysis.futex"/>
-               <label value="uaddr vs waiter" />
+               <label value="Uaddr vs Waiter" />
        </head>
        <definedValue name="WAIT" value="1" color="#646464" />
 
@@ -75,7 +75,7 @@ TRYLOCK_PI    136             264
 <timeGraphView id="lttng2.kernel.core.futex.scenarios">
        <head>
                <analysis id="lttng.analysis.futex" />
-               <label value="scenario" />
+               <label value="Scenarios" />
        </head>
 <!--  FFA040 -->
        <definedValue name="PENDING" value="0" color="#CCCCCC"/>
This page took 0.029962 seconds and 5 git commands to generate.