These APIs allows user to get performance information of RTOS based remote cores.
Data Structures | |
struct | app_perf_stats_cpu_load_t |
Summary of CPU load. More... | |
struct | app_perf_point_t |
Performance point, all time in units of usecs. More... | |
struct | app_perf_stats_cpu_task_stats_t |
CPU task statistics information. More... | |
struct | app_perf_stats_task_stats_t |
Detailed CPU Task Stats information. More... | |
struct | app_perf_stats_mem_stats_t |
Detailed CPU Mem Stats information. More... | |
struct | app_perf_stats_hwa_load_t |
HWA load information. More... | |
struct | app_perf_stats_hwa_stats_t |
HWA load information for all HWAs. More... | |
struct | app_perf_stats_ddr_stats_t |
DDR BW information. More... | |
struct | app_perf_stats_os_stats_t |
OS Resource usage information. More... | |
Functions | |
int32_t | appPerfStatsInit () |
Initialize perf statistics collector module. More... | |
int32_t | appPerfStatsRemoteServiceInit () |
Initialize perf statistics collector module. More... | |
int32_t | appPerfStatsCpuLoadReset (uint32_t app_cpu_id) |
Reset CPU load statistics. More... | |
int32_t | appPerfStatsCpuLoadGet (uint32_t app_cpu_id, app_perf_stats_cpu_load_t *cpu_load) |
Get CPU peformance statistics. More... | |
int32_t | appPerfStatsCpuTaskStatsGet (uint32_t app_cpu_id, app_perf_stats_task_stats_t *cpu_stats) |
Get CPU peformance statistics. More... | |
int32_t | appPerfStatsCpuTaskStatsPrint (uint32_t app_cpu_id, app_perf_stats_task_stats_t *cpu_stats) |
Print CPU peformance statistics. More... | |
int32_t | appPerfStatsCpuTaskStacksStatsGet (uint32_t app_cpu_id, app_perf_stats_task_stats_t *cpu_stats) |
Get CPU task stack statistics. More... | |
int32_t | appPerfStatsCpuTaskStacksStatsPrint (uint32_t app_cpu_id, app_perf_stats_task_stats_t *cpu_stats) |
Print CPU task stack statistics. More... | |
int32_t | appPerfStatsCpuMemStatsGet (uint32_t app_cpu_id, app_perf_stats_mem_stats_t *cpu_stats) |
Get Memory statistics. More... | |
int32_t | appPerfStatsCpuMemStatsPrint (uint32_t app_cpu_id, app_perf_stats_mem_stats_t *cpu_stats) |
Print CPU peformance statistics. More... | |
int32_t | appPerfStatsCpuLoadPrint (uint32_t app_cpu_id, app_perf_stats_cpu_load_t *cpu_load) |
Print CPU load statistics. More... | |
int32_t | appPerfStatsCpuLoadPrintAll () |
Print CPU load statistics for all enabled CPUs. More... | |
int32_t | appPerfStatsCpuOsStatsGet (uint32_t app_cpu_id, app_perf_stats_os_stats_t *os_stats) |
Get CPU OS statistics. More... | |
int32_t | appPerfStatsCpuOsStatsPrint (uint32_t app_cpu_id, app_perf_stats_os_stats_t *os_stats, uint32_t showPeak) |
Print CPU OS statistics. More... | |
int32_t | appPerfStatsCpuStatsPrintAll () |
Print CPU peformance statistics for all enabled CPUs. More... | |
int32_t | appPerfStatsCpuLoadResetAll () |
Reset CPU load calc for all enabled CPUs. More... | |
int32_t | appPerfStatsPrintAll () |
Print all performance related information. More... | |
int32_t | appPerfStatsRegisterTask (void *task_handle, const char *name) |
Register a task for task load calculation. More... | |
int32_t | appPerfStatsDeInit () |
De-Initialize perf statistics collector module. More... | |
void | appPerfPointSetName (app_perf_point_t *prm, const char *name) |
Set name for a performance point. More... | |
void | appPerfPointReset (app_perf_point_t *prm) |
Reset a performance point, MUST be called once before begin/end. More... | |
void | appPerfPointBegin (app_perf_point_t *prm) |
Start a performance point. More... | |
void | appPerfPointEnd (app_perf_point_t *prm) |
End a performance point. More... | |
void | appPerfPointPrint (app_perf_point_t *prm) |
Print a performance point. More... | |
void | appPerfPointPrintFPS (app_perf_point_t *prm) |
Print a performance point in units of FPS. More... | |
FILE * | appPerfStatsExportOpenFile (const char *output_file_path, const char *output_file_prefix) |
Opens a .md file and returns the pointer to application. More... | |
int32_t | appPerfStatsExportAll (FILE *fp, app_perf_point_t *perf_points[], uint32_t num_points) |
Exports the performance to a .md file. More... | |
int32_t | appPerfStatsExportCloseFile (FILE *fp) |
Closes performance file opened by appPerfStatsExportOpenFile. More... | |
void | appPerfStatsHwaUpdateLoad (app_perf_hwa_id_t id, uint32_t active_time_in_usecs, uint32_t pixels_processed) |
Update load numbers against a HWA. More... | |
int32_t | appPerfStatsHwaStatsGet (uint32_t app_cpu_id, app_perf_stats_hwa_stats_t *hwa_stats) |
Get HWA peformance statistics. More... | |
int32_t | appPerfStatsHwaLoadPrint (app_perf_stats_hwa_stats_t *hwa_load) |
Print HWA load statistics. More... | |
int32_t | appPerfStatsHwaLoadPrintAll () |
Print HWA load statistics for all enabled CPUs. More... | |
int32_t | appPerfStatsHwaLoadResetAll () |
Reset HWA load calc for all HWAs. More... | |
char * | appPerfStatsGetHwaName (app_perf_hwa_id_t hwa_id) |
Get HWA name. More... | |
int32_t | appPerfStatsDdrStatsGet (app_perf_stats_ddr_stats_t *ddr_stats) |
Get DDR BW statistics. More... | |
int32_t | appPerfStatsDdrStatsPrint (app_perf_stats_ddr_stats_t *ddr_load) |
Print DDR BW statistics. More... | |
int32_t | appPerfStatsDdrStatsPrintAll () |
Print DDR BW statistics. More... | |
int32_t | appPerfStatsDdrStatsResetAll () |
Reset DDR BW statistics. More... | |
void | appPerfStatsResetAll () |
Reset all perf stats. More... | |
Macros | |
#define | APP_PERF_STATS_TASK_NAME_MAX (12u) |
Max size of task name string. More... | |
#define | APP_PERF_STATS_TASK_MAX (24u) |
Max number of tasks whoose information can be retrived. More... | |
#define | APP_PERF_POINT_NAME_MAX (16u) |
Max size of performance point name string. More... | |
#define | APP_PERF_POINT_MAX_FILENAME (256u) |
Max file name size for output. More... | |
#define | APP_PERF_MAX_LINE_SIZE (1024u) |
Max file line size for output. More... | |
#define APP_PERF_STATS_TASK_NAME_MAX (12u) |
Max size of task name string.
#define APP_PERF_STATS_TASK_MAX (24u) |
Max number of tasks whoose information can be retrived.
#define APP_PERF_POINT_NAME_MAX (16u) |
Max size of performance point name string.
#define APP_PERF_POINT_MAX_FILENAME (256u) |
Max file name size for output.
#define APP_PERF_MAX_LINE_SIZE (1024u) |
Max file line size for output.
enum app_perf_hwa_id_t |
int32_t appPerfStatsInit | ( | ) |
Initialize perf statistics collector module.
RTOS only API MUST be called before any other API
int32_t appPerfStatsRemoteServiceInit | ( | ) |
Initialize perf statistics collector module.
RTOS only API MUST be called after IPC init
int32_t appPerfStatsCpuLoadReset | ( | uint32_t | app_cpu_id | ) |
Reset CPU load statistics.
Linux, RTOS API
app_cpu_id | [in] CPU ID |
int32_t appPerfStatsCpuLoadGet | ( | uint32_t | app_cpu_id, |
app_perf_stats_cpu_load_t * | cpu_load | ||
) |
Get CPU peformance statistics.
Linux, RTOS API
app_cpu_id | [in] CPU ID |
cpu_load | [out] CPU performance statistics |
int32_t appPerfStatsCpuTaskStatsGet | ( | uint32_t | app_cpu_id, |
app_perf_stats_task_stats_t * | cpu_stats | ||
) |
Get CPU peformance statistics.
Linux, RTOS API
app_cpu_id | [in] CPU ID |
cpu_stats | [out] CPU task performance statistics |
int32_t appPerfStatsCpuTaskStatsPrint | ( | uint32_t | app_cpu_id, |
app_perf_stats_task_stats_t * | cpu_stats | ||
) |
Print CPU peformance statistics.
Linux, RTOS API
app_cpu_id | [in] CPU ID |
cpu_stats | [in] Detailed CPU task performance statistics |
int32_t appPerfStatsCpuTaskStacksStatsGet | ( | uint32_t | app_cpu_id, |
app_perf_stats_task_stats_t * | cpu_stats | ||
) |
Get CPU task stack statistics.
Linux, RTOS API
app_cpu_id | [in] CPU ID |
cpu_stats | [out] CPU task stack statistics |
int32_t appPerfStatsCpuTaskStacksStatsPrint | ( | uint32_t | app_cpu_id, |
app_perf_stats_task_stats_t * | cpu_stats | ||
) |
Print CPU task stack statistics.
Linux, RTOS API
app_cpu_id | [in] CPU ID |
cpu_stats | [in] Detailed CPU task stack statistics |
int32_t appPerfStatsCpuMemStatsGet | ( | uint32_t | app_cpu_id, |
app_perf_stats_mem_stats_t * | cpu_stats | ||
) |
Get Memory statistics.
Linux, RTOS API
app_cpu_id | [in] CPU ID |
cpu_stats | [out] CPU mem performance statistics |
int32_t appPerfStatsCpuMemStatsPrint | ( | uint32_t | app_cpu_id, |
app_perf_stats_mem_stats_t * | cpu_stats | ||
) |
Print CPU peformance statistics.
Linux, RTOS API
app_cpu_id | [in] CPU ID |
cpu_stats | [in] Detailed CPU mem performance statistics |
int32_t appPerfStatsCpuLoadPrint | ( | uint32_t | app_cpu_id, |
app_perf_stats_cpu_load_t * | cpu_load | ||
) |
Print CPU load statistics.
Linux, RTOS API
app_cpu_id | [in] CPU ID |
cpu_load | [in] CPU load statistics |
int32_t appPerfStatsCpuLoadPrintAll | ( | ) |
Print CPU load statistics for all enabled CPUs.
Linux, RTOS API
int32_t appPerfStatsCpuOsStatsGet | ( | uint32_t | app_cpu_id, |
app_perf_stats_os_stats_t * | os_stats | ||
) |
Get CPU OS statistics.
Linux, RTOS API
app_cpu_id | [in] CPU ID |
os_stats | [out] CPU os static memory statistics |
int32_t appPerfStatsCpuOsStatsPrint | ( | uint32_t | app_cpu_id, |
app_perf_stats_os_stats_t * | os_stats, | ||
uint32_t | showPeak | ||
) |
Print CPU OS statistics.
Linux, RTOS API
app_cpu_id | [in] CPU ID |
os_stats | [in] Detailed CPU os memory statistics |
showPeak | [in] flag to print peak numbers or not |
int32_t appPerfStatsCpuStatsPrintAll | ( | ) |
Print CPU peformance statistics for all enabled CPUs.
Linux, RTOS API
int32_t appPerfStatsCpuLoadResetAll | ( | ) |
Reset CPU load calc for all enabled CPUs.
Linux, RTOS API
int32_t appPerfStatsPrintAll | ( | ) |
Print all performance related information.
Linux, RTOS API
int32_t appPerfStatsRegisterTask | ( | void * | task_handle, |
const char * | name | ||
) |
Register a task for task load calculation.
Linux, RTOS only API For linux, this API does nothing as of now For RTOS, task_handle MUST point to BIOS Task_Handle
int32_t appPerfStatsDeInit | ( | ) |
De-Initialize perf statistics collector module.
RTOS only API
void appPerfPointSetName | ( | app_perf_point_t * | prm, |
const char * | name | ||
) |
Set name for a performance point.
Also resets the performance point.
prm | [out] performance point |
name | [out] name of this profile point |
void appPerfPointReset | ( | app_perf_point_t * | prm | ) |
Reset a performance point, MUST be called once before begin/end.
prm | [out] performance point |
void appPerfPointBegin | ( | app_perf_point_t * | prm | ) |
Start a performance point.
prm | [out] performance point |
void appPerfPointEnd | ( | app_perf_point_t * | prm | ) |
End a performance point.
prm | [out] performance point |
void appPerfPointPrint | ( | app_perf_point_t * | prm | ) |
Print a performance point.
prm | [in] performance point |
void appPerfPointPrintFPS | ( | app_perf_point_t * | prm | ) |
Print a performance point in units of FPS.
prm | [in] performance point |
FILE* appPerfStatsExportOpenFile | ( | const char * | output_file_path, |
const char * | output_file_prefix | ||
) |
Opens a .md file and returns the pointer to application.
output_file_path | [in] path to output file |
output_file_prefix | [in] name of output file (function will append .md) |
int32_t appPerfStatsExportAll | ( | FILE * | fp, |
app_perf_point_t * | perf_points[], | ||
uint32_t | num_points | ||
) |
Exports the performance to a .md file.
fp | [in] file pointer to .md performance file |
perf_points | [in] array of performance points |
num_points | [in] number of points in array |
int32_t appPerfStatsExportCloseFile | ( | FILE * | fp | ) |
Closes performance file opened by appPerfStatsExportOpenFile.
fp | [in] file pointer to .md performance file |
void appPerfStatsHwaUpdateLoad | ( | app_perf_hwa_id_t | id, |
uint32_t | active_time_in_usecs, | ||
uint32_t | pixels_processed | ||
) |
Update load numbers against a HWA.
id | [in] HWA ID |
active_time_in_usecs | [in] Time the HWA was active |
pixels_processed | [in] Number of pixels processed in this duration |
int32_t appPerfStatsHwaStatsGet | ( | uint32_t | app_cpu_id, |
app_perf_stats_hwa_stats_t * | hwa_stats | ||
) |
Get HWA peformance statistics.
Linux, RTOS API
app_cpu_id | [in] CPU ID |
hwa_stats | [out] HWA performance statistics |
int32_t appPerfStatsHwaLoadPrint | ( | app_perf_stats_hwa_stats_t * | hwa_load | ) |
Print HWA load statistics.
Linux, RTOS API
hwa_load | [in] HWA load statistics |
int32_t appPerfStatsHwaLoadPrintAll | ( | ) |
Print HWA load statistics for all enabled CPUs.
Linux, RTOS API
int32_t appPerfStatsHwaLoadResetAll | ( | ) |
Reset HWA load calc for all HWAs.
Linux, RTOS API
char* appPerfStatsGetHwaName | ( | app_perf_hwa_id_t | hwa_id | ) |
Get HWA name.
Linux, RTOS API
int32_t appPerfStatsDdrStatsGet | ( | app_perf_stats_ddr_stats_t * | ddr_stats | ) |
Get DDR BW statistics.
Linux, RTOS API
ddr_stats | [out] DDR performance statistics |
int32_t appPerfStatsDdrStatsPrint | ( | app_perf_stats_ddr_stats_t * | ddr_load | ) |
Print DDR BW statistics.
Linux, RTOS API
ddr_load | [out] DDR performance statistics |
int32_t appPerfStatsDdrStatsPrintAll | ( | ) |
Print DDR BW statistics.
Linux, RTOS API
int32_t appPerfStatsDdrStatsResetAll | ( | ) |
Reset DDR BW statistics.
Linux, RTOS API
void appPerfStatsResetAll | ( | ) |
Reset all perf stats.
Linux, RTOS API