+ int getCacheSize();
+
+ /**
+ * @return The statistics provider for this trace
+ * @since 2.0
+ */
+ ITmfStatistics getStatistics();
+
+ /**
+ * Return the map of state systems associated with this trace.
+ *
+ * This view should be read-only (implementations should use
+ * {@link Collections#unmodifiableMap}).
+ *
+ * @return The map of state systems
+ * @since 2.0
+ */
+ Map<String, ITmfStateSystem> getStateSystems();
+
+ /**
+ * If a state system is not build by the trace itself, it's possible to
+ * register it if it comes from another source. It will then be accessible
+ * with {@link #getStateSystems} normally.
+ *
+ * @param id
+ * The unique ID to assign to this state system. In case of
+ * conflicting ID's, the new one will overwrite the previous one
+ * (default Map behavior).
+ * @param ss
+ * The already-built state system
+ * @since 2.0
+ */
+ void registerStateSystem(String id, ITmfStateSystem ss);
+
+ /**
+ * Index the trace. Depending on the trace type, this could be done at the
+ * constructor or initTrace phase too, so this could be implemented as a
+ * no-op.
+ *
+ * @param waitForCompletion
+ * Should we block the caller until indexing is finished, or not.
+ * @since 2.0
+ */
+ void indexTrace(boolean waitForCompletion);