use of org.apache.nifi.minifi.commons.status.processor.ProcessorHealth in project nifi-minifi by apache.
the class StatusRequestParser method parseProcessorStatusRequest.
static ProcessorStatusBean parseProcessorStatusRequest(ProcessorStatus inputProcessorStatus, String statusTypes, FlowController flowController, Collection<ValidationResult> validationResults) {
ProcessorStatusBean processorStatusBean = new ProcessorStatusBean();
processorStatusBean.setName(inputProcessorStatus.getName());
String[] statusSplits = statusTypes.split(",");
List<Bulletin> bulletinList = flowController.getBulletinRepository().findBulletins(new BulletinQuery.Builder().sourceIdMatches(inputProcessorStatus.getId()).build());
for (String statusType : statusSplits) {
switch(statusType.toLowerCase().trim()) {
case "health":
ProcessorHealth processorHealth = new ProcessorHealth();
processorHealth.setRunStatus(inputProcessorStatus.getRunStatus().name());
processorHealth.setHasBulletins(!bulletinList.isEmpty());
processorHealth.setValidationErrorList(transformValidationResults(validationResults));
processorStatusBean.setProcessorHealth(processorHealth);
break;
case "bulletins":
processorStatusBean.setBulletinList(transformBulletins(bulletinList));
break;
case "stats":
ProcessorStats processorStats = new ProcessorStats();
processorStats.setActiveThreads(inputProcessorStatus.getActiveThreadCount());
processorStats.setFlowfilesReceived(inputProcessorStatus.getFlowFilesReceived());
processorStats.setBytesRead(inputProcessorStatus.getBytesRead());
processorStats.setBytesWritten(inputProcessorStatus.getBytesWritten());
processorStats.setFlowfilesSent(inputProcessorStatus.getFlowFilesSent());
processorStats.setInvocations(inputProcessorStatus.getInvocations());
processorStats.setProcessingNanos(inputProcessorStatus.getProcessingNanos());
processorStatusBean.setProcessorStats(processorStats);
break;
}
}
return processorStatusBean;
}
use of org.apache.nifi.minifi.commons.status.processor.ProcessorHealth in project nifi-minifi by apache.
the class StatusReportPopulator method addProcessorStatus.
public static void addProcessorStatus(FlowStatusReport flowStatusReport, boolean addHealth, boolean validationErrors, boolean addStats, boolean addBulletins, boolean populateBulletins) {
ProcessorStatusBean expectedProcessorStatus = new ProcessorStatusBean();
expectedProcessorStatus.setName("UpdateAttributeProcessorId");
if (addHealth) {
ProcessorHealth processorHealth = new ProcessorHealth();
processorHealth.setHasBulletins(populateBulletins);
processorHealth.setRunStatus("Stopped");
if (validationErrors) {
List<ValidationError> validationErrorList = new LinkedList<>();
ValidationError validationError1 = new ValidationError();
validationError1.setInput("input");
validationError1.setSubject("subject");
validationError1.setReason("is not valid");
validationErrorList.add(validationError1);
ValidationError validationError2 = new ValidationError();
validationError2.setInput("input2");
validationError2.setSubject("subject2");
validationError2.setReason("is not valid too");
validationErrorList.add(validationError2);
processorHealth.setValidationErrorList(validationErrorList);
} else {
processorHealth.setValidationErrorList(Collections.EMPTY_LIST);
}
expectedProcessorStatus.setProcessorHealth(processorHealth);
}
if (addStats) {
ProcessorStats expectedProcessorStats = new ProcessorStats();
expectedProcessorStats.setActiveThreads(1);
expectedProcessorStats.setFlowfilesReceived(2);
expectedProcessorStats.setBytesRead(3);
expectedProcessorStats.setBytesWritten(4);
expectedProcessorStats.setFlowfilesSent(5);
expectedProcessorStats.setInvocations(6);
expectedProcessorStats.setProcessingNanos(7);
expectedProcessorStatus.setProcessorStats(expectedProcessorStats);
}
if (addBulletins) {
if (populateBulletins) {
BulletinStatus bulletinStatus = new BulletinStatus();
bulletinStatus.setMessage("Bulletin message");
bulletinStatus.setTimestamp(new Date(1464019245000L));
expectedProcessorStatus.setBulletinList(Collections.singletonList(bulletinStatus));
} else {
expectedProcessorStatus.setBulletinList(Collections.EMPTY_LIST);
}
}
flowStatusReport.setProcessorStatusList(Collections.singletonList(expectedProcessorStatus));
}
Aggregations