Implement simultaneously opened traces in TMF
authorPatrick Tasse <patrick.tasse@gmail.com>
Thu, 15 Nov 2012 22:27:42 +0000 (17:27 -0500)
committerPatrick Tasse <patrick.tasse@gmail.com>
Fri, 16 Nov 2012 22:30:12 +0000 (17:30 -0500)
commitfaa38350611f1b8ec4eff3e40a362312346ce08f
treebc5ee603dbab340412496649e26329847952c764
parentf3f93fa65c52603a43e5844648d375fb04ee273c
Implement simultaneously opened traces in TMF

- Change all supporting views to use a generic ITmfTrace instead of a
TmfExperiment.
- TmfExperiment* signals removed, replaced by generic TmfTrace* signals.
- TmfTraceOpened signal is sent when opening a trace. Views should get
ready to receive TmfTraceRangeUpdated if they need to coalesce requests.
It is too early to access any state system.
- TmfTraceRangeUpdated signal is sent from the TmfTrace after receiving
TmfTraceOpened. Request coalescing can happen handling this signal.
- TmfTrace base class triggers its indexing on receiving
TmfTraceRangeUpdated.
- Removed indexing of custom traces in initTrace, now triggered by
TmfTraceOpened in TmfTrace base class.
- TmfExperiment initializes the streaming monitor on reception of
TmfTraceOpened.
- TmfTraceSelected signal is sent when the trace is initially brought to
top or any time it becomes the active trace. Any component can also
broadcast the signal to trigger bringing the trace to top.
- TmfTraceClosed signal is sent when the trace is closed. All
jobs/threads/requests related to this trace should be canceled. The
trace will be disposed after the signal has been broadcast.
- These signals can contain a TmfExperiment as the affected trace. Any
view which needs to check or handle individual trace should specially
handle an instance of TmfExperiment and examine its underlying traces.
- Building of state system and statistics moved from initTrace to
reception of TmfTraceOpenedSignal. This allows, in the case of a
reopened trace, for the previous trace to be disposed and its files
closed before the new instance initializes the state system.
- All supporting views cancel running jobs/threads/requests on
TmfTraceClosedSignal.
- ControlFlow/Resources view store entry list of all opened traces in
hash map.
- ControlFlow/Resources view use cancelable BuildThread.
- Cleanup the state system when disposing a CtfKernelTrace.
- Dispose of CtfTmfTrace clears reference to CTFTrace and this is used
to prevent NPE on getNext of disposed trace.
- Replace Events view with editor area in LTTng Kernel and Tracing
perspectives.
- Updated definition of traceType extension for defaultEditor element.
- OpenExperimentHandler opens the experiment in events editor. Default
editor is used unless all underlying traces share a common defaultEditor
in their respective traceType definition.
- OpenTraceHandler opens the trace in default or specified events
editor. It no longer uses a dummy experiment to wrap the trace.
- Removed methods and variables related to current experiment.
- Removed EventsViewEditor previously used as a workaround to open
bookmarks in Events view.
- Removed Clears Views command, made obsolete by closing all traces
(Close All on any tab).
- ITmfEventsFilterListener/Provider interfaces removed and replaces with
signal handling. This removes complexity of handling multiple listeners
and providers being added and removed.
- Fixed missing scaling to nanoseconds of timestamps in
AbstractStateChangeInput.
- Fixed synchronization issue with armRequest in TmfTrace when trace is
disposed (executor is shutdown).
- TmfEditorInput modified to prevent lingering reference in platform.
- TmfEventsEditor implements IPartListener to trigger broadcast of
TmfTraceSelectedSignal, instead of at setFocus which was sometimes
called twice by the platform.
- TmfEventsEditor no longer needs to use inner TmfExperiment subclass to
trigger indexing when experiment opened from bookmark.
- UnsortedPropertySheetPage class created instead of inner class in
TmfEventsEditor which was causing lingering reference to editor in
platform.
- Remove unused TmfTraceParserUpdatedSignal.
- TmfEnvironmentView refactored to update its table on
TmfTraceSelectedSignal.
- Use nanosecond timestamp scale constant where appropriate.
- Add interface to HistogramView to allow its controls to retrieve the
current trace.
- Implement synchronization of time range in TimeChartView.
- Fix lingering reference to completed requests in TmfUml2SDSyncLoader.
- Fix TmfVirtualTable setSelection allowing top rank to be too large
when selecting near end of table.
- Fix hanging wait cursor in sequence diagram view for traces without
any sequence events.

Change-Id: I357accc8fc7ea96544d32db758abff4760682304
Reviewed-on: https://git.eclipse.org/r/8554
Tested-by: Hudson CI
Reviewed-by: Bernd Hufmann <bhufmann@gmail.com>
IP-Clean: Bernd Hufmann <bhufmann@gmail.com>
Tested-by: Bernd Hufmann <bhufmann@gmail.com>
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
IP-Clean: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
55 files changed:
org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/trace/CtfKernelTrace.java
org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/PerspectiveFactory.java
org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/controlflow/ControlFlowView.java
org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/resources/ResourcesView.java
org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfExperimentTest.java
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/HistoryBuilder.java
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/TransientState.java
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/ctfadaptor/CtfTmfTrace.java
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfEventFilterAppliedSignal.java [new file with mode: 0644]
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfEventSearchAppliedSignal.java [new file with mode: 0644]
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfExperimentDisposedSignal.java [deleted file]
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfExperimentRangeUpdatedSignal.java [deleted file]
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfExperimentSelectedSignal.java [deleted file]
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfExperimentUpdatedSignal.java [deleted file]
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTraceClosedSignal.java [new file with mode: 0644]
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTraceOpenedSignal.java [new file with mode: 0644]
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTraceRangeUpdatedSignal.java [new file with mode: 0644]
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTraceSelectedSignal.java
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfTraceUpdatedSignal.java
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statesystem/AbstractStateChangeInput.java
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statistics/StatsStateProvider.java
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfExperiment.java
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfTrace.java
org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/TmfUml2SDSyncLoaderExpTest.java
org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/Uml2SDTestFacility.java
org.eclipse.linuxtools.tmf.ui/META-INF/MANIFEST.MF
org.eclipse.linuxtools.tmf.ui/plugin.properties
org.eclipse.linuxtools.tmf.ui/plugin.xml
org.eclipse.linuxtools.tmf.ui/schema/org.eclipse.linuxtools.tmf.ui.tracetype.exsd
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/custom/CustomTxtTrace.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/parsers/custom/CustomXmlTrace.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/ClearViewsHandler.java [deleted file]
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenExperimentHandler.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenTraceHandler.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/EventsViewEditor.java [deleted file]
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/TmfEditorInput.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/TmfEventsEditor.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/UnsortedPropertySheetPage.java [new file with mode: 0644]
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/signal/TmfTraceClosedSignal.java [deleted file]
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/signal/TmfTraceOpenedSignal.java [deleted file]
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/signal/TmfTraceParserUpdatedSignal.java [deleted file]
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/ITmfEventsFilterListener.java [deleted file]
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/ITmfEventsFilterProvider.java [deleted file]
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/events/TmfEventsTable.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/TmfStatisticsViewer.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/TracingPerspectiveFactory.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/environment/TmfEnvironmentView.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/events/TmfEventsView.java [deleted file]
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramCurrentTimeControl.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramRequest.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramView.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/TmfStatisticsView.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timechart/TimeChartView.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/loader/TmfUml2SDSyncLoader.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/widgets/virtualtable/TmfVirtualTable.java
This page took 0.040728 seconds and 5 git commands to generate.