src/jdk.jfr/share/classes/jdk/jfr/consumer/EventParser.java
branchJEP-349-branch
changeset 57690 9316d02dd4a5
parent 57470 025c9b8eaefd
child 57922 6598f2825b1f
--- a/src/jdk.jfr/share/classes/jdk/jfr/consumer/EventParser.java	Mon Aug 05 23:57:47 2019 +0200
+++ b/src/jdk.jfr/share/classes/jdk/jfr/consumer/EventParser.java	Fri Aug 09 01:18:18 2019 +0200
@@ -55,6 +55,7 @@
     private int index;
     private boolean ordered;
     private long firstNanos;
+    private long lastNanos = Long.MAX_VALUE;
     private long thresholdNanos = -1;
 
     EventParser(TimeConverter timeConverter, EventType type, Parser[] parsers) {
@@ -120,8 +121,12 @@
             }
             endTicks += durationTicks;
         }
-        if (firstNanos > 0L) {
-            if (timeConverter.convertTimestamp(endTicks) < firstNanos) {
+        if (firstNanos != 0L || lastNanos != Long.MAX_VALUE) {
+            long eventEnd = timeConverter.convertTimestamp(endTicks);
+            if (eventEnd < firstNanos) {
+                return null;
+            }
+            if (eventEnd > lastNanos) {
                 return null;
             }
         }
@@ -173,6 +178,10 @@
         this.firstNanos = firstNanos;
     }
 
+    public void setLastNanos(long lastNanos) {
+        this.lastNanos = lastNanos;
+    }
+
     public void setOrdered(boolean ordered) {
         if (this.ordered == ordered) {
             return;
@@ -180,4 +189,5 @@
         this.ordered = ordered;
         this.index = 0;
     }
+
 }