lttng: Add latency statistics
[deliverable/tracecompass.git] / analysis / org.eclipse.tracecompass.analysis.os.linux.ui / src / org / eclipse / tracecompass / internal / analysis / os / linux / ui / views / latency / LatencyTableViewer.java
index 46fcfcdf2c8a5d22c5bb93bb3a326670908941d8..9c21f008c77a4527aef691dd5905ac6b56484619 100644 (file)
 package org.eclipse.tracecompass.internal.analysis.os.linux.ui.views.latency;
 
 import org.eclipse.jdt.annotation.Nullable;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.TableViewer;
 import org.eclipse.tracecompass.analysis.os.linux.core.latency.LatencyAnalysis;
 import org.eclipse.tracecompass.analysis.timing.core.segmentstore.AbstractSegmentStoreAnalysisModule;
 import org.eclipse.tracecompass.analysis.timing.ui.views.segmentstore.AbstractSegmentStoreTableViewer;
+import org.eclipse.tracecompass.internal.analysis.os.linux.ui.views.latency.statistics.LatencyStatisticsView;
 import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
 import org.eclipse.tracecompass.tmf.core.trace.TmfTraceUtils;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
 
 /**
  * Displays the latency analysis data in a column table
@@ -49,4 +59,23 @@ public class LatencyTableViewer extends AbstractSegmentStoreTableViewer {
     protected @Nullable AbstractSegmentStoreAnalysisModule getSegmentStoreAnalysisModule(ITmfTrace trace) {
           return TmfTraceUtils.getAnalysisModuleOfClass(trace, LatencyAnalysis.class, LatencyAnalysis.ID);
     }
+
+    @Override
+    protected void appendToTablePopupMenu(IMenuManager manager, IStructuredSelection sel) {
+        super.appendToTablePopupMenu(manager, sel);
+        manager.add(new Separator());
+        IAction showStatisticsAction = new Action(Messages.LatencyTable_ShowStatisticsActionName) {
+            @Override
+            public void run() {
+                final IWorkbench wb = PlatformUI.getWorkbench();
+                final IWorkbenchPage activePage = wb.getActiveWorkbenchWindow().getActivePage();
+                try {
+                    activePage.showView(LatencyStatisticsView.ID);
+                } catch (PartInitException e) {
+                }
+            }
+        };
+
+       manager.add(showStatisticsAction);
+    }
 }
This page took 0.025184 seconds and 5 git commands to generate.