ss: Improve attribute tree encoding to disk
authorLoïc Prieur-Drevon <loic.prieurdrevon@gmail.com>
Fri, 6 May 2016 20:16:03 +0000 (16:16 -0400)
committerAlexandre Montplaisir <alexmonthy@efficios.com>
Mon, 25 Jul 2016 18:34:51 +0000 (14:34 -0400)
commit97bee8e11d6cad5be2956bdb6702e20f19e3804d
treeb7411857238eb8538972ac1ead5cb80822ecab6b
parent4f4827b46086cb602b89d3a5456398397a0b5cb2
ss: Improve attribute tree encoding to disk

The attribute tree used to be encoded as a list of full attribute
paths.

This patch improves the encoding by replacing common subpaths from
one attribute to the next by "*".

For example, if the previous attribute was "Threads/42/Status", and the
current attribute is "Threads/42/Prio", we encode the current
attribute as "*/*/Prio".

On common Kernel Analysis State Systems, the Attribute Tree is 1 MiB
per 50k attributes, with this patch the Attribute Tree size on disk
is reduced by 75%.

Change-Id: I53b119eba760c10b720e9a3c173ed2996c02c2a2
Signed-off-by: Loïc Prieur-Drevon <loic.prieurdrevon@gmail.com>
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/72213
Reviewed-by: Hudson CI
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
statesystem/org.eclipse.tracecompass.statesystem.core/src/org/eclipse/tracecompass/internal/statesystem/core/Attribute.java
statesystem/org.eclipse.tracecompass.statesystem.core/src/org/eclipse/tracecompass/internal/statesystem/core/AttributeTree.java
This page took 0.025402 seconds and 5 git commands to generate.