diff --git a/plugins/solidigm/solidigm-nvme.h b/plugins/solidigm/solidigm-nvme.h index c6a556c0c0..e0e5d7c4e5 100644 --- a/plugins/solidigm/solidigm-nvme.h +++ b/plugins/solidigm/solidigm-nvme.h @@ -13,7 +13,7 @@ #include "cmd.h" -#define SOLIDIGM_PLUGIN_VERSION "1.18" +#define SOLIDIGM_PLUGIN_VERSION "1.19" PLUGIN(NAME("solidigm", "Solidigm vendor specific extensions", SOLIDIGM_PLUGIN_VERSION), COMMAND_LIST( diff --git a/plugins/solidigm/solidigm-telemetry/config.c b/plugins/solidigm/solidigm-telemetry/config.c index 9bdfff62a2..525747c0c1 100644 --- a/plugins/solidigm/solidigm-telemetry/config.c +++ b/plugins/solidigm/solidigm-telemetry/config.c @@ -13,6 +13,7 @@ #include #include "config.h" +#include "telemetry-log.h" #define NOT_FOUND "NOT_FOUND" @@ -23,6 +24,7 @@ #define NLOG_OBJ_PREFIX OBJ_NAME_PREFIX "NLOG_" static bool config_get_by_version(const struct json_object *obj, + const char *key, int version_major, int version_minor, struct json_object **value) { @@ -42,6 +44,10 @@ static bool config_get_by_version(const struct json_object *obj, /* Try wildcard minor version if exact match failed */ if (json_object_object_get_ex(major_obj, "*", value)) return value != NULL; + + SOLIDIGM_LOG_WARNING( + "Warning: Object %s version major %d found but minor %d not found\n", + key, version_major, version_minor); } /* Try wildcard major version if exact major version not found */ @@ -66,7 +72,8 @@ bool sldm_config_get_struct_by_key_version(const struct json_object *config, cha if (!json_object_object_get_ex(config, key, &token)) return false; - if (!config_get_by_version(token, version_major, version_minor, value)) + if (!config_get_by_version(token, key, + version_major, version_minor, value)) return false; return value != NULL; } diff --git a/plugins/solidigm/solidigm-telemetry/data-area.c b/plugins/solidigm/solidigm-telemetry/data-area.c index aa70f96c69..ed86b651cc 100644 --- a/plugins/solidigm/solidigm-telemetry/data-area.c +++ b/plugins/solidigm/solidigm-telemetry/data-area.c @@ -635,6 +635,18 @@ int solidigm_telemetry_log_data_areas_parse(struct telemetry_log *tl, solidigm_telemetry_log_da1_check_ocp(tl); sldm_telemetry_da2_check_skhT(tl); + // if TELEMETRY_CONFIG_META available copy it to the output for better + // context in the output data + if (tl->configuration) { + struct json_object *config_meta = NULL; + + if (json_object_object_get_ex(tl->configuration, + "TELEMETRY_CONFIG_META", + &config_meta)) + json_object_object_add(tl->root, + "TELEMETRY_CONFIG_META", + config_meta); + } solidigm_telemetry_log_header_parse(tl); solidigm_telemetry_log_cod_parse(tl); if (tl->configuration) {