Support watch() and unwatch() in RDC module framework
The framework now supports watch() and unwatch(), which can be used
by the telemetry library to init events or pre-fetch fields when recording
starts.
* A new header file RdcTelemetryLibInterface.h is defined for library to
include it.
* The RdcWatchTable will not talk to RdcMetricFetcher directly anymore.
It will call the framework watch/unwatch to dispatch it to the libraries.
* Make the python binding consistent with the current code.
Change-Id: Ie5731d920ed5928f901369d60c23bd450807a562
[ROCm/rdc commit: 151520b97e]
This commit is contained in:
@@ -24,6 +24,7 @@ THE SOFTWARE.
|
||||
|
||||
#include <map>
|
||||
#include <list>
|
||||
#include <vector>
|
||||
#include <memory>
|
||||
#include "rdc_lib/RdcTelemetry.h"
|
||||
#include "rdc_lib/impl/RdcRasLib.h"
|
||||
@@ -49,7 +50,15 @@ class RdcTelemetryModule : public RdcTelemetry {
|
||||
|
||||
RdcTelemetryModule(const RdcMetricFetcherPtr& fetcher,
|
||||
const RdcRasLibPtr& ras_module);
|
||||
|
||||
private:
|
||||
//< Helper function to dispatch fields to module
|
||||
void get_fields_for_module(
|
||||
rdc_gpu_field_t* fields,
|
||||
uint32_t fields_count,
|
||||
std::map<RdcTelemetryPtr, std::vector<rdc_gpu_field_t>>
|
||||
& fields_in_module,
|
||||
std::vector<rdc_gpu_field_value_t>& unsupport_fields); // NOLINT
|
||||
std::list<RdcTelemetryPtr> telemetry_modules_;
|
||||
std::map<uint32_t, RdcTelemetryPtr> fields_id_module_;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user