package com.cloudera.sa.hcu.io.put.listener; public class HeartBeatConsoleOutputListener implements PutListener { int waitMS; long timePostedMS; long lastPosting; long numberOfFiles; public HeartBeatConsoleOutputListener(int waitSeconds) { this.waitMS = waitSeconds * 1000; this.timePostedMS = 0; } public void onA1000Processed(long rowsAdded, long lastReadTime, long lastWriteTime) { timePostedMS = System.currentTimeMillis() - lastPosting; if (timePostedMS > waitMS) { System.out.println("Rows Added:" + rowsAdded + ", Read Time last 1000:" + lastReadTime + ", Write Time last 1000" + lastWriteTime); lastPosting = System.currentTimeMillis(); timePostedMS = 0; } } public void onStart(long numberOfFiles) { lastPosting = System.currentTimeMillis(); System.out.println("Starting: reading in " + numberOfFiles + " files"); this.numberOfFiles = numberOfFiles; } public void onFinished(long rowsAdded) { System.out.println("Finished: process " + rowsAdded + " rows from " + numberOfFiles + " files."); } }