From 10177bc1241c79aaa74f887be4e940f33be24f48 Mon Sep 17 00:00:00 2001 From: Otavio Pontes Date: Fri, 17 Apr 2020 15:12:52 -0700 Subject: [PATCH] telemetry: Updating the severity of multiple telemetry records - On bundle-add send CRIT on errors, MED on missing bundles and LOW on success - update,verify: LOW on success and CRIT on errors. - packmissing: LOW when a delta pack is missing and CRIT if a zero pack is missing Signed-off-by: Otavio Pontes --- src/bundle_add.c | 10 +++++++++- src/packs.c | 11 ++++++++++- src/update.c | 2 +- src/verify.c | 2 +- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/bundle_add.c b/src/bundle_add.c index f8508b86..23306d3d 100644 --- a/src/bundle_add.c +++ b/src/bundle_add.c @@ -341,6 +341,7 @@ enum swupd_code bundle_add_extra(struct list *bundles_list, int version, extra_p int bundles_installed = 0; int dependencies_installed = 0; int bundles_requested; + enum telemetry_severity level; char *bundles_list_str = NULL; @@ -473,7 +474,14 @@ clean_and_exit: /* report command result to telemetry */ bundles_list_str = string_join(", ", bundles); - telemetry(ret ? TELEMETRY_CRIT : TELEMETRY_MED, + if (ret == 0) { + level = TELEMETRY_LOW; + } else if (ret == SWUPD_INVALID_BUNDLE) { + level = TELEMETRY_MED; + } else { // Errors occured on bundle-add + level = TELEMETRY_CRIT; + } + telemetry(level, "bundleadd", "bundles=%s\n" "current_version=%d\n" diff --git a/src/packs.c b/src/packs.c index d3f758c4..6efb573a 100644 --- a/src/packs.c +++ b/src/packs.c @@ -50,6 +50,7 @@ struct pack_data { char *filename; const char *module; int newversion; + int oldversion; }; static int finalize_pack_download(const char *module, int newversion, const char *filename) @@ -95,7 +96,14 @@ static bool download_error(enum download_status status, void *data) } if (status == DOWNLOAD_STATUS_NOT_FOUND) { - telemetry(TELEMETRY_HIGH, "packmissing", "url=%s\n", pack_data->url); + + enum telemetry_severity level = TELEMETRY_LOW; + + // Missing zero packs is a critical problem + if (pack_data->oldversion == 0) { + level = TELEMETRY_CRIT; + } + telemetry(level, "packmissing", "url=%s\n", pack_data->url); return true; } @@ -131,6 +139,7 @@ static int download_pack(struct swupd_curl_parallel_handle *download_handle, int pack_data->filename = filename; pack_data->module = module; pack_data->newversion = newversion; + pack_data->oldversion = oldversion; return swupd_curl_parallel_download_enqueue(download_handle, url, filename, NULL, pack_data); } diff --git a/src/update.c b/src/update.c index b67a1d8b..7b372608 100644 --- a/src/update.c +++ b/src/update.c @@ -462,7 +462,7 @@ clean_exit: clean_curl: clock_gettime(CLOCK_MONOTONIC_RAW, &ts_stop); delta = ts_stop.tv_sec - ts_start.tv_sec + ts_stop.tv_nsec / 1000000000.0 - ts_start.tv_nsec / 1000000000.0; - telemetry(ret ? TELEMETRY_CRIT : TELEMETRY_MED, + telemetry(ret ? TELEMETRY_CRIT : TELEMETRY_LOW, "update", "current_version=%d\n" "server_version=%d\n" diff --git a/src/verify.c b/src/verify.c index 28465616..2be4393c 100644 --- a/src/verify.c +++ b/src/verify.c @@ -1355,7 +1355,7 @@ clean_and_exit: * along with the official_manifest */ manifest_free(official_manifest); - telemetry(ret ? TELEMETRY_CRIT : TELEMETRY_MED, + telemetry(ret ? TELEMETRY_CRIT : TELEMETRY_LOW, "verify", "fix=%d\nret=%d\n" "current_version=%d\n"