Pipeline
(Python) Parsing Script
Input: telemetry-solution/data/pmu/cpu/neoverse (-r .json)
Output: X.def , e.g. telemetry-solutions-data.def
Functionality: take in and parse .json file, produce a file containing C style definitions, which can be then parsed to populate relevant data structures (e.g. metric, metric group, events)
See: wperf-scripts/telemtry_events_update.py
X.def
Input: N/A
Output: N/A
Functionality: provide populated C style macro definitions to be read by man.cpp
file (which then are used to populate relevant data structures)
See: wperf-common.telemetry-solution-data.def
man.cpp/man.h
Input: X.def
Output: ?
Functionality: Populate a specific data structure (or some equivalent implementation) based on X.def
, implement methods to output each piece of data (metric, metric group etc) as one block, with methods to implement each of the following formats: plain text
, json
, while following/utilising the pretty table
formatting structure - which can be called from the CLI parser (user_request.cpp
)
See wperf.pmu_device.cpp
, specifically do_list_prep_events
, do_list_prep_metrics
, m_product_metrics.count
and similar functions
user_request.cpp
Implement man
command line argument and parse arguments as a list of (a combination of) metrics, metric groups, or events. The relevant function from man.cpp
should be executed to generate and output (somewhere) the relevant information for each specified metric