[ML] Addming failed job import telemetry (#108724)

This commit is contained in:
James Gowdy 2021-08-16 19:26:20 +01:00 committed by GitHub
parent 911271053b
commit 768957a2c2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 4 deletions

View file

@ -7,7 +7,9 @@
export const ML_USAGE_EVENT = {
IMPORTED_ANOMALY_DETECTOR_JOBS: 'imported_anomaly_detector_jobs',
IMPORT_FAILED_ANOMALY_DETECTOR_JOBS: 'import_failed_anomaly_detector_jobs',
IMPORTED_DATA_FRAME_ANALYTICS_JOBS: 'imported_data_frame_analytics_jobs',
IMPORT_FAILED_DATA_FRAME_ANALYTICS_JOBS: 'import_failed_data_frame_analytics_jobs',
EXPORTED_ANOMALY_DETECTOR_JOBS: 'exported_anomaly_detector_jobs',
EXPORTED_DATA_FRAME_ANALYTICS_JOBS: 'exported_data_frame_analytics_jobs',
} as const;

View file

@ -197,8 +197,10 @@ export const ImportJobsFlyout: FC<Props> = ({ isDisabled }) => {
const results = await bulkCreateJobs(jobs);
let successCount = 0;
const errors: ErrorType[] = [];
const failedJobIds = new Set();
Object.entries(results).forEach(([jobId, { job, datafeed }]) => {
if (job.error || datafeed.error) {
failedJobIds.add(jobId);
if (job.error) {
errors.push(job.error);
}
@ -214,7 +216,8 @@ export const ImportJobsFlyout: FC<Props> = ({ isDisabled }) => {
displayImportSuccessToast(successCount);
}
if (errors.length > 0) {
displayImportErrorToast(errors);
displayImportErrorToast(errors, failedJobIds.size);
mlUsageCollection.count('import_failed_anomaly_detector_jobs', failedJobIds.size);
}
}, []);
@ -234,7 +237,8 @@ export const ImportJobsFlyout: FC<Props> = ({ isDisabled }) => {
displayImportSuccessToast(successCount);
}
if (errors.length > 0) {
displayImportErrorToast(errors);
displayImportErrorToast(errors, errors.length);
mlUsageCollection.count('import_failed_data_frame_analytics_jobs', errors.length);
}
}, []);
@ -246,10 +250,10 @@ export const ImportJobsFlyout: FC<Props> = ({ isDisabled }) => {
displaySuccessToast(title);
}, []);
const displayImportErrorToast = useCallback((errors: ErrorType[]) => {
const displayImportErrorToast = useCallback((errors: ErrorType[], failureCount: number) => {
const title = i18n.translate('xpack.ml.importExport.importFlyout.importJobErrorToast', {
defaultMessage: '{count, plural, one {# job} other {# jobs}} failed to import correctly',
values: { count: errors.length },
values: { count: failureCount },
});
const errorList = errors.map(extractErrorProperties);