long totalBytes = progress.getTotalBytesExpected() - progress.getBytesSkipped(); long totalObjects = progress.getTotalObjectsExpected() - progress.getObjectsSkipped(); long etaMs = 0; if (progress.getRuntimeMs() > 0) { bw = (double) progress.getBytesComplete() * 1000 / progress.getRuntimeMs(); xput = (double) progress.getObjectsComplete() * 1000 / progress.getRuntimeMs(); if (totalBytes > 0) { byteRatio = (double) progress.getBytesComplete() / totalBytes; completionRatio = byteRatio; objectRatio = (double) progress.getObjectsComplete() / totalObjects; completionRatio = objectRatio; completionRatio = (2 * Math.min(byteRatio, objectRatio) + Math.max(byteRatio, objectRatio)) / 3; if (completionRatio > 0) etaMs = (long) (progress.getRuntimeMs() / completionRatio - progress.getRuntimeMs()); String generalError = progress.getRunError() == null ? "" : progress.getRunError(); System.out.printf("Job Status: %s\n", progress.getStatus()); System.out.printf("Job Time: %s\n", duration(progress.getRuntimeMs())); System.out.printf("Active Query Threads: %d\n", progress.getActiveQueryTasks()); System.out.printf("Active Sync Threads: %d\n", progress.getActiveSyncTasks()); System.out.printf("CPU Time: %dms\n", progress.getCpuTimeMs()); System.out.printf("CPU Usage: %.1f %%\n", progress.getProcessCpuLoad() * 100); System.out.printf("Memory Usage: %sB\n", simpleSize(progress.getProcessMemoryUsed())); System.out.printf("Objects Expected: %d %s\n", progress.getTotalObjectsExpected(), progress.isEstimatingTotals() ? "(calculating...)" : ""); System.out.printf("Objects Completed: %d\n", progress.getObjectsComplete());
Assert.assertEquals(JobControlStatus.Running, progress.getStatus()); Assert.assertTrue(progress.getTotalObjectsExpected() > 100); Assert.assertTrue(progress.getTotalBytesExpected() > 100 * 5120); Assert.assertTrue(progress.getObjectsComplete() > 0); Assert.assertTrue(progress.getBytesComplete() > 0); Assert.assertEquals(0, progress.getObjectsFailed()); Assert.assertEquals(progress.getActiveQueryTasks(), 0); Assert.assertTrue(Math.abs(progress.getActiveSyncTasks() - threads) < 2); Assert.assertTrue(progress.getRuntimeMs() > 500);
Assert.assertEquals(progress.getObjectsComplete(), progress2.getObjectsComplete()); Assert.assertEquals(progress.getObjectsFailed(), progress2.getObjectsFailed()); } finally {
Assert.assertEquals(progress.getObjectsComplete(), progress2.getObjectsComplete()); Assert.assertEquals(progress.getBytesComplete(), progress2.getBytesComplete()); Assert.assertTrue(progress.getObjectsComplete() < progress2.getObjectsComplete()); Assert.assertTrue(progress.getBytesComplete() < progress2.getBytesComplete());
long totalCount = progress.getObjectsComplete(); Assert.assertTrue(totalCount >= 5); Assert.assertTrue(totalCount <= 10); Assert.assertTrue(progress.getObjectsComplete() >= 60 + totalCount); Assert.assertTrue(progress.getObjectsComplete() <= 100 + totalCount); totalCount = client.resource(endpoint).path("/job/" + jobId + "/progress").get(SyncProgress.class).getObjectsComplete(); Assert.assertTrue(progress.getObjectsComplete() >= 15 + totalCount); Assert.assertTrue(progress.getObjectsComplete() <= 20 + totalCount);
Assert.assertTrue(progress.getObjectsAwaitingRetry() > 0);