equal
deleted
inserted
replaced
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) { |