[rocprof-sys] Process all information regarding agents and store them as extdata in rocpd database (#1880)

## Motivation

Resolved: SWDEV-566226

The current implementation of agents inside of rocprof-systems keeps just the minimal necessary set of information required for populating the `info_agent` table inside of rocpd database. There is a sufficient amount of data that is being left out from database, so this change should fix that and store the additional agent information as an `extdata` row inside of `info_agent` table.

## Technical Details

This PR introduces additional filed inside of `agent` structure inside which is representing the JSON formatted string of all the additional information we can acquire about particular agent. This data is processed and added during the initial fetching of agents, and afterwards pushed inside of the database.

---------

Co-authored-by: David Galiffi <David.Galiffi@amd.com>
Dieser Commit ist enthalten in:
marantic-amd
2025-11-25 23:33:12 +01:00
committet von GitHub
Ursprung 304c2b82b0
Commit daf8596ce9
5 geänderte Dateien mit 256 neuen und 3 gelöschten Zeilen
@@ -21,6 +21,7 @@
// SOFTWARE.
#include "agent.hpp"
#include "agent_info.hpp"
#define ROCPROFILER_SDK_CEREAL_NAMESPACE_BEGIN \
namespace tim \
{ \
@@ -138,6 +139,9 @@ query_rocm_agents()
cur_agent.model_name = std::string(_agent->model_name);
cur_agent.vendor_name = std::string(_agent->vendor_name);
cur_agent.product_name = std::string(_agent->product_name);
cur_agent.agent_info = agent_info::to_json_string(*_agent);
_agent_manager.insert_agent(cur_agent);
}
return ROCPROFILER_STATUS_SUCCESS;