class DefaultBatchJobObservationConvention implements BatchJobObservationConvention {

	@Override
	public KeyValues getLowCardinalityKeyValues(BatchJobContext context) {<FILL_FUNCTION_BODY>}

	@Override
	public KeyValues getHighCardinalityKeyValues(BatchJobContext context) {
		JobExecution execution = context.getJobExecution();
		return KeyValues.of(
				BatchJobObservation.JobHighCardinalityTags.JOB_INSTANCE_ID
					.withValue(String.valueOf(execution.getJobInstance().getInstanceId())),
				BatchJobObservation.JobHighCardinalityTags.JOB_EXECUTION_ID
					.withValue(String.valueOf(execution.getId())));
	}

}

		JobExecution execution = context.getJobExecution();
		return KeyValues.of(
				BatchJobObservation.JobLowCardinalityTags.JOB_NAME.withValue(execution.getJobInstance().getJobName()),
				BatchJobObservation.JobLowCardinalityTags.JOB_STATUS
					.withValue(execution.getExitStatus().getExitCode()));
	
<no_super_class>