private void dumpLog(File logFile, long startOffset, long endOffset, ArrayList<String> blobs) throws IOException {
    Map<String, LogBlobStatus> blobIdToLogRecord = new HashMap<>();
    final Timer.Context context = metrics.dumpLogTimeMs.time();
    try {
      dumpLog(logFile, startOffset, endOffset, blobs, blobIdToLogRecord);
      long totalInConsistentBlobs = 0;
      for (String blobId : blobIdToLogRecord.keySet()) {
        LogBlobStatus logBlobStatus = blobIdToLogRecord.get(blobId);
        if (!logBlobStatus.isConsistent) {
          totalInConsistentBlobs++;
          logger.error("Inconsistent blob {} {}", blobId, logBlobStatus);
        }
      }
      logger.info("Total inconsistent blob count {}", totalInConsistentBlobs);
    } finally {
      context.stop();
    }
  }
Dumps all records in a given log file
@param logFile the log file that needs to be parsed for
@param startOffset the starting offset from which records needs to be dumped from. Can be {@code null}
@param endOffset the end offset until which records need to be dumped to. Can be {@code null}
@param blobs List of blobIds to be filtered for. {@code null} if no filtering required
@throws IOException
ambry-tools/src/main/java/com/github/ambry/store/DumpLogTool.java