linux.core: Introduce TID analysis
authorMatthew Khouzam <matthew.khouzam@ericsson.com>
Wed, 6 Apr 2016 00:20:11 +0000 (20:20 -0400)
committerMatthew Khouzam <matthew.khouzam@ericsson.com>
Thu, 7 Apr 2016 18:25:35 +0000 (14:25 -0400)
commitd8e841d96dda449fc56172b0443e87916b458057
tree5402c3ea2cdb6315f944f3f13f6b147e7085a65a
parentaa38ac17f74c9256c1dfd75512ea95ba33f8c2fe
linux.core: Introduce TID analysis

This analysis calculates a subset of what the kernel
state system has: which tid is running on which cpu.

This will allow these aspects to be available much faster
during state construction and in the reading after.

The new state system is typically 1% of the size of the kernel
state system. Therefore the seeks, even though they are log(n)
will accelerate. As getTid is something MANY analyses do often
this patch should improve performance accross the board.

In one corner case example, (System call analysis), where each state
required a TID, performance passed from 3000 to 140000 events per seconds.

On average, searches on the TID column should reduce in time by 5-10%
depending on the trace configuration (how many contexts etc...).

Change-Id: Icf7921c49232481129b9c021170556c9d06d5ca4
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/68878
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-by: Hudson CI
analysis/org.eclipse.tracecompass.analysis.os.linux.core.tests/src/org/eclipse/tracecompass/analysis/os/linux/core/tests/kernel/KernelTidAspectTest.java
analysis/org.eclipse.tracecompass.analysis.os.linux.core.tests/stubs/org/eclipse/tracecompass/analysis/os/linux/core/tests/stubs/trace/TmfXmlKernelTraceStub.java
analysis/org.eclipse.tracecompass.analysis.os.linux.core/META-INF/MANIFEST.MF
analysis/org.eclipse.tracecompass.analysis.os.linux.core/icons/threads.png [new file with mode: 0644]
analysis/org.eclipse.tracecompass.analysis.os.linux.core/plugin.properties
analysis/org.eclipse.tracecompass.analysis.os.linux.core/plugin.xml
analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/analysis/os/linux/core/kernel/KernelTidAspect.java
analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/analysis/os/linux/core/tid/ActiveTidStateProvider.java [new file with mode: 0644]
analysis/org.eclipse.tracecompass.analysis.os.linux.core/src/org/eclipse/tracecompass/analysis/os/linux/core/tid/TidAnalysisModule.java [new file with mode: 0644]
This page took 0.02512 seconds and 5 git commands to generate.