trace

added window slicing of traces

7/26/2019 12:39:54 AM

Details

diff --git a/src/main/java/br/ufrgs/inf/prosoft/trace/reader/TraceReader.java b/src/main/java/br/ufrgs/inf/prosoft/trace/reader/TraceReader.java
index 7c2acd5..a700518 100644
--- a/src/main/java/br/ufrgs/inf/prosoft/trace/reader/TraceReader.java
+++ b/src/main/java/br/ufrgs/inf/prosoft/trace/reader/TraceReader.java
@@ -71,6 +71,18 @@ public class TraceReader {
         }
     }
 
+    public static List<Trace> parseFile(String path, Mode mode, long window, long shift) {
+        List<Trace> traces = parseFile(path, mode);
+        Trace first = traces.get(0);
+        long startTime = first.getStartTime();
+        return traces.stream()
+                .filter(trace -> {
+                    long time = trace.getStartTime() - startTime;
+                    return time > shift && time < window;
+                })
+                .collect(Collectors.toList());
+    }
+
     public static List<Trace> parseFile(String path, Mode mode) {
         Traces.PATH = path;
         List<Trace> traces = new ArrayList<>();