From f5b8868d7d3bffa5aca3f6aae03751ef213b8cbf Mon Sep 17 00:00:00 2001 From: Marc-Andre Laperle Date: Wed, 29 May 2013 18:10:13 -0400 Subject: [PATCH] Add a View guide to the TMF documentation Change-Id: I7a99a17a3b87babd7c6bc413e54daabfa77bc869 Signed-off-by: Marc-Andre Laperle Reviewed-on: https://git.eclipse.org/r/13374 Tested-by: Hudson CI Reviewed-by: Bernd Hufmann IP-Clean: Bernd Hufmann Tested-by: Bernd Hufmann --- .../doc/User-Guide.mediawiki | 345 +++++++++++++++++- .../doc/images/EmptySampleView.png | Bin 0 -> 17413 bytes .../doc/images/FillSampleViewExtension.png | Bin 0 -> 27277 bytes .../doc/images/SampleView.png | Bin 0 -> 13557 bytes 4 files changed, 343 insertions(+), 2 deletions(-) create mode 100644 org.eclipse.linuxtools.tmf.help/doc/images/EmptySampleView.png create mode 100644 org.eclipse.linuxtools.tmf.help/doc/images/FillSampleViewExtension.png create mode 100644 org.eclipse.linuxtools.tmf.help/doc/images/SampleView.png diff --git a/org.eclipse.linuxtools.tmf.help/doc/User-Guide.mediawiki b/org.eclipse.linuxtools.tmf.help/doc/User-Guide.mediawiki index c364839508..f943b64c6a 100644 --- a/org.eclipse.linuxtools.tmf.help/doc/User-Guide.mediawiki +++ b/org.eclipse.linuxtools.tmf.help/doc/User-Guide.mediawiki @@ -126,7 +126,7 @@ To create a new project with name org.eclipse.linuxtools.tmf.sample.ui select '' [[Image:images/Screenshot-NewPlug-inProject2.png]]
-[[Image:Screenshot-NewPlug-inProject3.png]]
+[[Image:images/Screenshot-NewPlug-inProject3.png]]
=== Creating a Sequence Diagram View === @@ -952,6 +952,348 @@ In some case it might be necessary to change the implementation of the analysis === Downloading the Reference Plug-in === To download the reference plug-in that demonstrates the reference loader, use the following link: [http://wiki.eclipse.org/images/d/d3/ReferencePlugin.zip Reference Plug-in]. Just extract the zip file and import the extracted Eclipse plug-in (plug-in name: ''org.eclipse.linuxtools.tmf.reference.ui'') to your Eclipse workspace.
+= View Tutorial = + +This tutorial describes how to create a simple view using the TMF framework and the SWTChart library. SWTChart is a library based on SWT that can draw several types of charts including a line chart which we will use in this tutorial. We will create a view containing a line chart that displays time stamps on the X axis and the corresponding event values on the Y axis. + +This tutorial will cover concepts like: + +* Extending TmfView +* Signal handling (@TmfSignalHandler) +* Data requests (TmfEventRequest) +* SWTChart integration + +=== Prerequisites === + +The tutorial is based on Eclipse 4.3 (Eclipse Kepler), TMF 2.0.0 and SWTChart 0.7.0. You can install SWTChart by using the Orbit update site. http://download.eclipse.org/tools/orbit/downloads/ + +=== Creating an Eclipse UI Plug-in === + +To create a new project with name org.eclipse.linuxtools.tmf.sample.ui select '''File -> New -> Project -> Plug-in Development -> Plug-in Project'''.
+[[Image:images/Screenshot-NewPlug-inProject1.png]]
+ +[[Image:images/Screenshot-NewPlug-inProject2.png]]
+ +[[Image:images/Screenshot-NewPlug-inProject3.png]]
+ +=== Creating a View === + +To open the plug-in manifest, double-click on the MANIFEST.MF file.
+[[Image:images/SelectManifest.png]]
+ +Change to the Dependencies tab and select '''Add...''' of the ''Required Plug-ins'' section. A new dialog box will open. Next find plug-in ''org.eclipse.linuxtools.tmf.core'' and press '''OK'''
+Following the same steps, add ''org.eclipse.linuxtools.tmf.ui'' and ''org.swtchart''.
+[[Image:images/AddDependencyTmfUi.png]]
+ +Change to the Extensions tab and select '''Add...''' of the ''All Extension'' section. A new dialog box will open. Find the view extension ''org.eclipse.ui.views'' and press '''Finish'''.
+[[Image:images/AddViewExtension1.png]]
+ +To create a view, click the right mouse button. Then select '''New -> view'''
+[[Image:images/AddViewExtension2.png]]
+ +A new view entry has been created. Fill in the fields ''id'' and ''name''. For ''class'' click on the '''class hyperlink''' and it will show the New Java Class dialog. Enter the name ''SampleView'', change the superclass to ''TmfView'' and click Finish. This will create the source file and fill the ''class'' field in the process. We use TmfView as the superclass because it provides extra functionality like getting the active trace, pinning and it has support for signal handling between components.
+[[Image:images/FillSampleViewExtension.png]]
+ +This will generate an empty class. Once the quick fixes are applied, the following code is obtained: + +
+package org.eclipse.linuxtools.tmf.sample.ui;
+
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.part.ViewPart;
+
+public class SampleView extends TmfView {
+
+    public SampleView(String viewName) {
+        super(viewName);
+        // TODO Auto-generated constructor stub
+    }
+
+    @Override
+    public void createPartControl(Composite parent) {
+        // TODO Auto-generated method stub
+
+    }
+
+    @Override
+    public void setFocus() {
+        // TODO Auto-generated method stub
+
+    }
+
+}
+
+ +This creates an empty view, however the basic structure is now is place. + +===Implementing a view=== + +We will start by adding a empty chart then it will need to be populated with the trace data. Finally, we will make the chart more visually pleasing by adjusting the range and formating the time stamps. + +====Adding an Empty Chart==== + +First, we can add an empty chart to the view and initialize some of its components. + +
+    private static final String SERIES_NAME = "Series";
+    private static final String Y_AXIS_TITLE = "Signal";
+    private static final String X_AXIS_TITLE = "Time";
+    private static final String FIELD = "value"; // The name of the field that we want to display on the Y axis
+    private static final String VIEW_ID = "org.eclipse.linuxtools.tmf.sample.ui.view";
+    private Chart chart;
+    private ITmfTrace currentTrace;
+
+    public SampleView() {
+        super(VIEW_ID);
+    }
+
+    @Override
+    public void createPartControl(Composite parent) {
+        chart = new Chart(parent, SWT.BORDER);
+        chart.getTitle().setVisible(false);
+        chart.getAxisSet().getXAxis(0).getTitle().setText(X_AXIS_TITLE);
+        chart.getAxisSet().getYAxis(0).getTitle().setText(Y_AXIS_TITLE);
+        chart.getSeriesSet().createSeries(SeriesType.LINE, SERIES_NAME);
+        chart.getLegend().setVisible(false);
+    }
+
+    @Override
+    public void setFocus() {
+        chart.setFocus();
+    }
+
+ +The view is prepared. Run the Example. To launch the an Eclipse Application select the ''Overview'' tab and click on '''Launch an Eclipse Application'''
+[[Image:images/RunEclipseApplication.png]]
+ +A new Eclipse application window will show. In the new window go to '''Windows -> Show View -> Other... -> Other -> Sample View'''.
+[[Image:images/ShowViewOther.png]]
+ +You should now see a view containing an empty chart
+[[Image:images/EmptySampleView.png]]
+ +====Signal Handling==== + +We would like to populate the view when a trace is selected. To achieve this, we can use a signal hander which is specified with the '''@TmfSignalHandler''' annotation. + +
+    @TmfSignalHandler
+    public void traceSelected(final TmfTraceSelectedSignal signal) {
+
+    }
+
+ +====Requesting Data==== + +Then we need to actually gather data from the trace. This is done asynchronously using a ''TmfEventRequest'' + +
+    @TmfSignalHandler
+    public void traceSelected(final TmfTraceSelectedSignal signal) {
+        // Don't populate the view again if we're already showing this trace
+        if (currentTrace == signal.getTrace()) {
+            return;
+        }
+        currentTrace = signal.getTrace();
+
+        // Create the request to get data from the trace
+
+        TmfEventRequest req = new TmfEventRequest(TmfEvent.class,
+                TmfTimeRange.ETERNITY, TmfEventRequest.ALL_DATA,
+                ExecutionType.BACKGROUND) {
+
+            @Override
+            public void handleData(ITmfEvent data) {
+                // Called for each event
+                super.handleData(data);
+            }
+
+            @Override
+            public void handleSuccess() {
+                // Request successful, not more data available
+                super.handleSuccess();
+            }
+
+            @Override
+            public void handleFailure() {
+                // Request failed, not more data available
+                super.handleFailure();
+            }
+        };
+        ITmfTrace trace = signal.getTrace();
+        trace.sendRequest(req);
+    }
+
+ +====Transferring Data to the Chart==== + +The chart expects an array of doubles for both the X and Y axis values. To provide that, we can accumulate each event's time and value in their respective list then convert the list to arrays when all events are processed. + +
+        TmfEventRequest req = new TmfEventRequest(TmfEvent.class,
+                TmfTimeRange.ETERNITY, TmfEventRequest.ALL_DATA,
+                ExecutionType.BACKGROUND) {
+
+            ArrayList xValues = new ArrayList();
+            ArrayList yValues = new ArrayList();
+
+            @Override
+            public void handleData(ITmfEvent data) {
+                // Called for each event
+                super.handleData(data);
+                ITmfEventField field = data.getContent().getField(FIELD);
+                if (field != null) {
+                    yValues.add((Double) field.getValue());
+                    xValues.add((double) data.getTimestamp().getValue());
+                }
+            }
+
+            @Override
+            public void handleSuccess() {
+                // Request successful, not more data available
+                super.handleSuccess();
+
+                final double x[] = toArray(xValues);
+                final double y[] = toArray(yValues);
+
+                // This part needs to run on the UI thread since it updates the chart SWT control
+                Display.getDefault().asyncExec(new Runnable() {
+
+                    @Override
+                    public void run() {
+                        chart.getSeriesSet().getSeries()[0].setXSeries(x);
+                        chart.getSeriesSet().getSeries()[0].setYSeries(y);
+
+                        chart.redraw();
+                    }
+
+                });
+            }
+
+            /**
+             * Convert List to double[]
+             */
+            private double[] toArray(List list) {
+                double[] d = new double[list.size()];
+                for (int i = 0; i < list.size(); ++i) {
+                    d[i] = list.get(i);
+                }
+
+                return d;
+            }
+        };
+
+ +====Adjusting the Range==== + +The chart now contains values but they might be out of range and not visible. We can adjust the range of each axis by computing the minimum and maximum values as we add events. + +
+
+            ArrayList xValues = new ArrayList();
+            ArrayList yValues = new ArrayList();
+            private double maxY = -Double.MAX_VALUE;
+            private double minY = Double.MAX_VALUE;
+            private double maxX = -Double.MAX_VALUE;
+            private double minX = Double.MAX_VALUE;
+
+            @Override
+            public void handleData(ITmfEvent data) {
+                super.handleData(data);
+                ITmfEventField field = data.getContent().getField(FIELD);
+                if (field != null) {
+                    Double yValue = (Double) field.getValue();
+                    minY = Math.min(minY, yValue);
+                    maxY = Math.max(maxY, yValue);
+                    yValues.add(yValue);
+
+                    double xValue = (double) data.getTimestamp().getValue();
+                    xValues.add(xValue);
+                    minX = Math.min(minX, xValue);
+                    maxX = Math.max(maxX, xValue);
+                }
+            }
+
+            @Override
+            public void handleSuccess() {
+                super.handleSuccess();
+                final double x[] = toArray(xValues);
+                final double y[] = toArray(yValues);
+
+                // This part needs to run on the UI thread since it updates the chart SWT control
+                Display.getDefault().asyncExec(new Runnable() {
+
+                    @Override
+                    public void run() {
+                        chart.getSeriesSet().getSeries()[0].setXSeries(x);
+                        chart.getSeriesSet().getSeries()[0].setYSeries(y);
+
+                        // Set the new range
+                        if (!xValues.isEmpty() && !yValues.isEmpty()) {
+                            chart.getAxisSet().getXAxis(0).setRange(new Range(0, x[x.length - 1]));
+                            chart.getAxisSet().getYAxis(0).setRange(new Range(minY, maxY));
+                        } else {
+                            chart.getAxisSet().getXAxis(0).setRange(new Range(0, 1));
+                            chart.getAxisSet().getYAxis(0).setRange(new Range(0, 1));
+                        }
+                        chart.getAxisSet().adjustRange();
+
+                        chart.redraw();
+                    }
+                });
+            }
+
+ +====Formatting the Time Stamps==== + +To display the time stamps on the X axis nicely, we need to specify a format or else the time stamps will be displayed as ''long''. We use TmfTimestampFormat to make it consistent with the other TMF views. We also need to handle the '''TmfTimestampFormatUpdateSignal''' to make sure that the time stamps update when the preferences change. + +
+    @Override
+    public void createPartControl(Composite parent) {
+        ...
+
+        chart.getAxisSet().getXAxis(0).getTick().setFormat(new TmfChartTimeStampFormat());
+    }
+
+    public class TmfChartTimeStampFormat extends SimpleDateFormat {
+        private static final long serialVersionUID = 1L;
+        @Override
+        public StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition) {
+            long time = date.getTime();
+            toAppendTo.append(TmfTimestampFormat.getDefaulTimeFormat().format(time));
+            return toAppendTo;
+        }
+    }
+
+    @TmfSignalHandler
+    public void timestampFormatUpdated(TmfTimestampFormatUpdateSignal signal) {
+        // Called when the time stamp preference is changed
+        chart.getAxisSet().getXAxis(0).getTick().setFormat(new TmfChartTimeStampFormat());
+        chart.redraw();
+    }
+
+ +We also need to populate the view when a trace is already selected and the view is opened. We can reuse the same code by having the view send the '''TmfTraceSelectedSignal''' to itself. + +
+    @Override
+    public void createPartControl(Composite parent) {
+        ...
+
+        ITmfTrace trace = getActiveTrace();
+        if (trace != null) {
+            traceSelected(new TmfTraceSelectedSignal(this, trace));
+        }
+    }
+
+ +The view is now ready but we need a proper trace to test it. For this example, a trace was generated using LTTng-UST so that it would produce a sine function.
+ +[[Image:images/SampleView.png]]
+ +In summary, we have implemented a simple TMF view using the SWTChart library. We made use of signals and requests to populate the view at the appropriate time and we formated the time stamps nicely. We also made sure that the time stamp format is updated when the preferences change. + =CTF Parser= == CTF Format == @@ -1024,4 +1366,3 @@ There are other helper files that format given events for views, they are simple === Limitations === For the moment live trace reading is not supported, there are no sources of traces to test on. - diff --git a/org.eclipse.linuxtools.tmf.help/doc/images/EmptySampleView.png b/org.eclipse.linuxtools.tmf.help/doc/images/EmptySampleView.png new file mode 100644 index 0000000000000000000000000000000000000000..13ace64190265bf7fe4de48a4d6a8997b1013ec7 GIT binary patch literal 17413 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 literal 0 HcmV?d00001 diff --git a/org.eclipse.linuxtools.tmf.help/doc/images/FillSampleViewExtension.png b/org.eclipse.linuxtools.tmf.help/doc/images/FillSampleViewExtension.png new file mode 100644 index 0000000000000000000000000000000000000000..e14b8bb7a4798ba71033b55de5bf2760252df857 GIT binary patch literal 27277 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 CtO9WW literal 0 HcmV?d00001 diff --git a/org.eclipse.linuxtools.tmf.help/doc/images/SampleView.png b/org.eclipse.linuxtools.tmf.help/doc/images/SampleView.png new file mode 100644 index 0000000000000000000000000000000000000000..0b3477a3635ddf014e1ad75648cce75de00ac72b GIT binary patch literal 13557 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 literal 0 HcmV?d00001 -- 2.34.1