in x-pack/plugin/ml/src/main/java/org/elasticsearch/xpack/ml/rest/cat/RestCatJobsAction.java [370:470]
private Table buildTable(RestRequest request, Response jobStats) {
Table table = getTableWithHeader(request);
jobStats.getResponse().results().forEach(job -> {
table.startRow();
table.addCell(job.getJobId());
table.addCell(job.getState().value());
table.addCell(job.getOpenTime());
table.addCell(job.getAssignmentExplanation());
DataCounts dataCounts = job.getDataCounts();
table.addCell(dataCounts.getProcessedRecordCount());
table.addCell(dataCounts.getProcessedFieldCount());
table.addCell(ByteSizeValue.ofBytes(dataCounts.getInputBytes()));
table.addCell(dataCounts.getInputRecordCount());
table.addCell(dataCounts.getInputFieldCount());
table.addCell(dataCounts.getInvalidDateCount());
table.addCell(dataCounts.getMissingFieldCount());
table.addCell(dataCounts.getOutOfOrderTimeStampCount());
table.addCell(dataCounts.getEmptyBucketCount());
table.addCell(dataCounts.getSparseBucketCount());
table.addCell(dataCounts.getBucketCount());
table.addCell(dataCounts.getEarliestRecordTimeStamp());
table.addCell(dataCounts.getLatestRecordTimeStamp());
table.addCell(dataCounts.getLastDataTimeStamp());
table.addCell(dataCounts.getLatestEmptyBucketTimeStamp());
table.addCell(dataCounts.getLatestSparseBucketTimeStamp());
ModelSizeStats modelSizeStats = job.getModelSizeStats();
table.addCell(modelSizeStats == null ? null : ByteSizeValue.ofBytes(modelSizeStats.getModelBytes()));
table.addCell(modelSizeStats == null ? null : modelSizeStats.getMemoryStatus().toString());
table.addCell(
modelSizeStats == null || modelSizeStats.getModelBytesExceeded() == null
? null
: ByteSizeValue.ofBytes(modelSizeStats.getModelBytesExceeded())
);
table.addCell(
modelSizeStats == null || modelSizeStats.getModelBytesMemoryLimit() == null
? null
: ByteSizeValue.ofBytes(modelSizeStats.getModelBytesMemoryLimit())
);
table.addCell(modelSizeStats == null ? null : modelSizeStats.getTotalByFieldCount());
table.addCell(modelSizeStats == null ? null : modelSizeStats.getTotalOverFieldCount());
table.addCell(modelSizeStats == null ? null : modelSizeStats.getTotalPartitionFieldCount());
table.addCell(modelSizeStats == null ? null : modelSizeStats.getBucketAllocationFailuresCount());
table.addCell(modelSizeStats == null ? null : modelSizeStats.getCategorizationStatus().toString());
table.addCell(
modelSizeStats == null || modelSizeStats.getOutputMemmoryAllocatorBytes() == null
? null
: ByteSizeValue.ofBytes(modelSizeStats.getOutputMemmoryAllocatorBytes())
);
table.addCell(modelSizeStats == null ? null : modelSizeStats.getCategorizedDocCount());
table.addCell(modelSizeStats == null ? null : modelSizeStats.getTotalCategoryCount());
table.addCell(modelSizeStats == null ? null : modelSizeStats.getFrequentCategoryCount());
table.addCell(modelSizeStats == null ? null : modelSizeStats.getRareCategoryCount());
table.addCell(modelSizeStats == null ? null : modelSizeStats.getDeadCategoryCount());
table.addCell(modelSizeStats == null ? null : modelSizeStats.getFailedCategoryCount());
table.addCell(modelSizeStats == null ? null : modelSizeStats.getLogTime());
table.addCell(modelSizeStats == null ? null : modelSizeStats.getTimestamp());
ForecastStats forecastStats = job.getForecastStats();
boolean missingForecastStats = forecastStats == null || forecastStats.getTotal() <= 0L;
table.addCell(forecastStats == null ? null : forecastStats.getTotal());
table.addCell(missingForecastStats ? null : ByteSizeValue.ofBytes((long) forecastStats.getMemoryStats().getMin()));
table.addCell(missingForecastStats ? null : ByteSizeValue.ofBytes((long) forecastStats.getMemoryStats().getMax()));
table.addCell(missingForecastStats ? null : ByteSizeValue.ofBytes(Math.round(forecastStats.getMemoryStats().getAvg())));
table.addCell(missingForecastStats ? null : ByteSizeValue.ofBytes((long) forecastStats.getMemoryStats().getTotal()));
table.addCell(missingForecastStats ? null : forecastStats.getRecordStats().getMin());
table.addCell(missingForecastStats ? null : forecastStats.getRecordStats().getMax());
table.addCell(missingForecastStats ? null : forecastStats.getRecordStats().getAvg());
table.addCell(missingForecastStats ? null : forecastStats.getRecordStats().getTotal());
table.addCell(missingForecastStats ? null : TimeValue.timeValueMillis((long) forecastStats.getRuntimeStats().getMin()));
table.addCell(missingForecastStats ? null : TimeValue.timeValueMillis((long) forecastStats.getRuntimeStats().getMax()));
table.addCell(missingForecastStats ? null : forecastStats.getRuntimeStats().getAvg());
table.addCell(missingForecastStats ? null : TimeValue.timeValueMillis((long) forecastStats.getRuntimeStats().getTotal()));
DiscoveryNode node = job.getNode();
table.addCell(node == null ? null : node.getId());
table.addCell(node == null ? null : node.getName());
table.addCell(node == null ? null : node.getEphemeralId());
table.addCell(node == null ? null : node.getAddress().toString());
TimingStats timingStats = job.getTimingStats();
table.addCell(timingStats == null ? null : timingStats.getBucketCount());
table.addCell(timingStats == null ? null : TimeValue.timeValueMillis((long) timingStats.getTotalBucketProcessingTimeMs()));
table.addCell(
timingStats == null || timingStats.getMinBucketProcessingTimeMs() == null
? null
: TimeValue.timeValueMillis(timingStats.getMinBucketProcessingTimeMs().longValue())
);
table.addCell(
timingStats == null || timingStats.getMaxBucketProcessingTimeMs() == null
? null
: TimeValue.timeValueMillis(timingStats.getMaxBucketProcessingTimeMs().longValue())
);
table.addCell(timingStats == null ? null : timingStats.getExponentialAvgBucketProcessingTimeMs());
table.addCell(timingStats == null ? null : timingStats.getExponentialAvgBucketProcessingTimePerHourMs());
table.endRow();
});
return table;
}