ctf: Make events immutable
[deliverable/tracecompass.git] / org.eclipse.linuxtools.ctf.core.tests / src / org / eclipse / linuxtools / ctf / core / tests / headless / ReadTrace.java
index ba6a805ddfe7e733e870059c7a830cc4ee3f6a46..2541d9da60231ea6d02ec2d132201e60f87648b8 100644 (file)
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2012, 2013 Ericsson
+ * Copyright (c) 2012, 2014 Ericsson
  *
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -12,6 +12,7 @@
 
 package org.eclipse.linuxtools.ctf.core.tests.headless;
 
+import java.io.FileNotFoundException;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 import java.util.Date;
@@ -27,18 +28,19 @@ public class ReadTrace {
 
     /**
      * @param args
+     * @throws FileNotFoundException
      */
-    public static void main(String[] args) {
+    public static void main(String[] args) throws FileNotFoundException {
         final String TRACE_PATH = "traces/kernel";
 
         // Change this to enable text output
         final boolean USE_TEXT = false;
 
-        final int LOOP_COUNT = 1;
+        final int LOOP_COUNT = 10;
 
         // Work variables
-        Long nbEvent = 0L;
-        Vector<Double> benchs = new Vector<Double>();
+        long nbEvent = 0L;
+        Vector<Double> benchs = new Vector<>();
         CTFTrace trace = null;
         long start, stop;
         for (int loops = 0; loops < LOOP_COUNT; loops++) {
@@ -46,15 +48,13 @@ public class ReadTrace {
                 nbEvent = 0L;
                 trace = new CTFTrace(TRACE_PATH);
             } catch (CTFReaderException e) {
-                // do nothing
+                throw new FileNotFoundException(TRACE_PATH);
             }
             start = System.nanoTime();
             if (USE_TEXT) {
                 System.out.println("Event, " + " Time, " + " type, " + " CPU ");
             }
-            if (trace != null) {
-                CTFTraceReader traceReader = new CTFTraceReader(trace);
-
+            try (CTFTraceReader traceReader = new CTFTraceReader(trace);) {
                 start = System.nanoTime();
 
                 while (traceReader.hasMoreEvents()) {
@@ -65,19 +65,20 @@ public class ReadTrace {
                                 + trace.getOffset());
                         System.out.println(nbEvent + ", "
                                 + output + ", " + ed.getDeclaration().getName()
-                                + ", " + ed.getCPU() + ed.getFields().toString()) ;
+                                + ", " + ed.getCPU() + ed.getFields().toString());
                     }
-                    // long endTime = traceReader.getEndTime();
-                    // long timestamp = traceReader.getCurrentEventDef().getTimestamp();
+
                     traceReader.advance();
                 }
-                // Map<Long, Stream> streams = traceReader.getTrace().getStreams();
-            }
-            stop = System.nanoTime();
 
-            System.out.print('.');
-            double time = (stop - start) / (double) nbEvent;
-            benchs.add(time);
+                stop = System.nanoTime();
+
+                System.out.print('.');
+                double time = (stop - start) / (double) nbEvent;
+                benchs.add(time);
+            } catch (CTFReaderException e) {
+                System.out.println("error");
+            }
         }
         System.out.println("");
         double avg = 0;
This page took 0.024925 seconds and 5 git commands to generate.