src/jdk.jfr/share/classes/jdk/jfr/consumer/ChunkParser.java
branchJEP-349-branch
changeset 57985 be121cbf3284
parent 57883 90e867ac8c37
child 58020 f082177c5023
equal deleted inserted replaced
57984:269bbe414580 57985:be121cbf3284
    72     private boolean chunkFinished;
    72     private boolean chunkFinished;
    73     private InternalEventFilter eventFilter = InternalEventFilter.ACCEPT_ALL;
    73     private InternalEventFilter eventFilter = InternalEventFilter.ACCEPT_ALL;
    74     private boolean reuse;
    74     private boolean reuse;
    75     private boolean ordered;
    75     private boolean ordered;
    76     private boolean resetEventCache;
    76     private boolean resetEventCache;
    77     private long firstNanos = 0;
    77     private long filterStart = 0;
    78     private long lastNanos = Long.MAX_VALUE;
    78     private long filterEnd = Long.MAX_VALUE;
    79     private Runnable flushOperation;
    79     private Runnable flushOperation;
    80 
    80 
    81     public ChunkParser(RecordingInput input, boolean reuse) throws IOException {
    81     public ChunkParser(RecordingInput input, boolean reuse) throws IOException {
    82        this(new ChunkHeader(input), null, 1000);
    82        this(new ChunkHeader(input), null, 1000);
    83        this.reuse = reuse;
    83        this.reuse = reuse;
   396         this.ordered = ordered;
   396         this.ordered = ordered;
   397     }
   397     }
   398 
   398 
   399     // Need to call updateEventParsers() for
   399     // Need to call updateEventParsers() for
   400     // change to take effect
   400     // change to take effect
   401     public void setFirstNanos(long firstNanos) {
   401     public void setFilterStart(long filterStart) {
   402         long chunkStart = chunkHeader.getStartNanos();
   402         long chunkStart = chunkHeader.getStartNanos();
   403         // Optimization.
   403         // Optimization.
   404         if (firstNanos < chunkStart - 1_000_000_000L) {
   404         if (filterStart < chunkStart - 1_000_000_000L) {
   405             firstNanos = 0;
   405             filterStart = 0;
   406         }
   406         }
   407         this.firstNanos = firstNanos;
   407         this.filterStart = filterStart;
   408     }
   408     }
   409 
   409 
   410     public void setLastNanos(long lastNanos) {
   410     public void setFilterEnd(long filterEnd) {
   411         this.lastNanos = lastNanos;
   411         this.filterEnd = filterEnd;
   412     }
   412     }
   413 
   413 
   414     // Need to call updateEventParsers() for
   414     // Need to call updateEventParsers() for
   415     // change to take effect
   415     // change to take effect
   416     public void resetEventCache() {
   416     public void resetEventCache() {
   422             if (p instanceof EventParser) {
   422             if (p instanceof EventParser) {
   423                 EventParser ep = (EventParser) p;
   423                 EventParser ep = (EventParser) p;
   424                 String name = ep.getEventType().getName();
   424                 String name = ep.getEventType().getName();
   425                 ep.setOrdered(ordered);
   425                 ep.setOrdered(ordered);
   426                 ep.setReuse(reuse);
   426                 ep.setReuse(reuse);
   427                 ep.setFirstNanos(firstNanos);
   427                 ep.setFilterStart(filterStart);
   428                 ep.setLastNanos(lastNanos);
   428                 ep.setFilterEnd(filterEnd);
   429                 if (resetEventCache) {
   429                 if (resetEventCache) {
   430                     ep.resetCache();
   430                     ep.resetCache();
   431                 }
   431                 }
   432                 long threshold = eventFilter.getThreshold(name);
   432                 long threshold = eventFilter.getThreshold(name);
   433                 if (threshold >= 0) {
   433                 if (threshold >= 0) {