.write(STATUS, stepExecution.getBatchStatus().toString())
.write(START_TIME, stepExecution.getStartTime().getTime())
.write(END_TIME, stepExecution.getEndTime().getTime())
.write(EXIT_STATUS, stepExecution.getExitStatus())
.write(PERSISTENT_USER_DATA, serialize(stepExecution.getPersistentUserData()));
generator.writeStartObject(METRICS);
for (Metric metric : stepExecution.getMetrics()) {
generator.writeStartObject(METRIC);
generator.write(METRIC_TYPE, metric.getType().toString());
generator.write(METRIC_VALUE, metric.getValue());
generator.writeEnd();