| NVIDIA DOCA SDK | Data Center on a Chip Framework Documentation |
Data Structures | |
| struct | doca_telemetry_dpa_process_info |
| Single process structure. More... | |
| struct | doca_telemetry_dpa_thread_info |
| Single thread structure. More... | |
| struct | doca_telemetry_dpa_cumul_info |
| Single cumulative info structure. More... | |
| struct | doca_telemetry_dpa_event_sample |
| Single performance events tracer structure. More... | |
Macros | |
| #define | DOCA_TELEMETRY_DPA_PROCESS_NAME_SIZE (17) |
| #define | DOCA_TELEMETRY_DPA_THREAD_NAME_SIZE (17) |
Typedefs | |
| typedef struct doca_telemetry_dpa_process_info | doca_telemetry_dpa_process_info_t |
| Single process structure. More... | |
| typedef struct doca_telemetry_dpa_thread_info | doca_telemetry_dpa_thread_info_t |
| Single thread structure. More... | |
| typedef struct doca_telemetry_dpa_cumul_info | doca_telemetry_dpa_cumul_info_t |
| Single cumulative info structure. More... | |
| typedef struct doca_telemetry_dpa_event_sample | doca_telemetry_dpa_event_sample_t |
| Single performance events tracer structure. More... | |
Enumerations | |
| enum | doca_telemetry_dpa_counter_state { DOCA_TELEMETRY_DPA_COUNTER_STATE_ACTIVE = 0x1 , DOCA_TELEMETRY_DPA_COUNTER_STATE_INACTIVE = 0x2 , DOCA_TELEMETRY_DPA_COUNTER_STATE_RESET = 0x3 } |
| Performance counters state. More... | |
| enum | doca_telemetry_dpa_counter_type { DOCA_TELEMETRY_DPA_COUNTER_TYPE_CUMULATIVE_EVENT = 0x0 , DOCA_TELEMETRY_DPA_COUNTER_TYPE_EVENT_TRACER = 0x1 } |
| Performance counters type. More... | |
| enum | doca_telemetry_dpa_event_sample_type { DOCA_TELEMETRY_DPA_EVENT_SAMPLE_TYPE_EMPTY_SAMPLE = 0x0 , DOCA_TELEMETRY_DPA_EVENT_SAMPLE_TYPE_SCHEDULE_IN = 0x1 , DOCA_TELEMETRY_DPA_EVENT_SAMPLE_TYPE_SCHEDULE_OUT = 0x2 , DOCA_TELEMETRY_DPA_EVENT_SAMPLE_TYPE_BUFFER_FULL = 0xff } |
| List of the performance event samples type. More... | |
Functions | |
| DOCA_EXPERIMENTAL doca_error_t | doca_telemetry_dpa_cap_is_supported (const struct doca_devinfo *devinfo) |
| Check if given device is capable of executing telemetry DPA operations. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_telemetry_dpa_create (struct doca_dev *dev, struct doca_telemetry_dpa **dpa) |
| Create a DOCA telemetry DPA instance. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_telemetry_dpa_destroy (struct doca_telemetry_dpa *dpa) |
| Destroy doca_telemetry_dpa previously created by doca_telemetry_dpa_create(). More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_telemetry_dpa_start (struct doca_telemetry_dpa *dpa) |
| Start context for telemetry DPA. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_telemetry_dpa_stop (struct doca_telemetry_dpa *dpa) |
| Stop telemetry DPA context. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_telemetry_dpa_read_processes_list (struct doca_telemetry_dpa *dpa, uint32_t process_id, uint32_t *dpa_process_num, doca_telemetry_dpa_process_info_t *process_list) |
| Read the processes info. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_telemetry_dpa_read_thread_list (struct doca_telemetry_dpa *dpa, uint32_t process_id, uint32_t thread_id, uint32_t *dpa_threads_num, doca_telemetry_dpa_thread_info_t *thread_list) |
| Read threads info. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_telemetry_dpa_counter_start (struct doca_telemetry_dpa *dpa, uint32_t process_id, enum doca_telemetry_dpa_counter_type type) |
| Start device counters sampling - trigger device to collect performance metrics. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_telemetry_dpa_counter_restart (struct doca_telemetry_dpa *dpa, uint32_t process_id, enum doca_telemetry_dpa_counter_type type) |
| Restart device counters sampling. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_telemetry_dpa_counter_stop (struct doca_telemetry_dpa *dpa, uint32_t process_id, enum doca_telemetry_dpa_counter_type type) |
| Stop device counters sampling. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_telemetry_dpa_read_cumul_info_list (struct doca_telemetry_dpa *dpa, uint32_t process_id, uint32_t thread_id, uint32_t *cumul_samples_num, doca_telemetry_dpa_cumul_info_t *cumul_info_list) |
| Read list of the cumulative info counters. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_telemetry_dpa_read_perf_event_list (struct doca_telemetry_dpa *dpa, uint32_t process_id, uint32_t thread_id, uint32_t *perf_event_samples_num, doca_telemetry_dpa_event_sample_t *perf_event_list) |
| Read list of the performance event samples. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_telemetry_dpa_get_dpa_timer_freq (struct doca_telemetry_dpa *dpa, uint32_t *dpa_timer_freq) |
| Get DPA timer frequency. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_telemetry_dpa_get_process_list_size (struct doca_telemetry_dpa *dpa, uint32_t process_id, uint32_t *dpa_process_list_size) |
| Get memory size (in bytes) to allocate the process list. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_telemetry_dpa_get_thread_list_size (struct doca_telemetry_dpa *dpa, uint32_t process_id, uint32_t thread_id, uint32_t *dpa_thread_list_size) |
| Get memory size (in bytes) to allocate the thread list. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_telemetry_dpa_get_cumul_samples_size (struct doca_telemetry_dpa *dpa, uint32_t process_id, uint32_t thread_id, uint32_t *dpa_cumul_samples_size) |
| Get memory size (in bytes) to allocate the cumul samples. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_telemetry_dpa_set_max_perf_event_samples (struct doca_telemetry_dpa *dpa, uint32_t dpa_max_perf_event_samples) |
| Set maximum number of perf event samples. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_telemetry_dpa_get_max_perf_event_samples (struct doca_telemetry_dpa *dpa, uint32_t *dpa_max_perf_event_samples) |
| Get maximum number of perf event samples. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_telemetry_dpa_get_perf_event_samples_size (struct doca_telemetry_dpa *dpa, uint32_t *dpa_perf_event_samples_size) |
| Get memory size (in bytes) to allocate the perf event samples. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_telemetry_dpa_get_counter_state (struct doca_telemetry_dpa *dpa, uint32_t process_id, enum doca_telemetry_dpa_counter_state *state) |
| Get counter state. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_telemetry_dpa_get_counter_type (struct doca_telemetry_dpa *dpa, uint32_t process_id, enum doca_telemetry_dpa_counter_type *type) |
| Get counter state and type. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_telemetry_dpa_get_all_process_id (const struct doca_devinfo *devinfo, uint32_t *all_process_id) |
| Get all process mask. More... | |
| DOCA_EXPERIMENTAL doca_error_t | doca_telemetry_dpa_get_all_thread_id (const struct doca_devinfo *devinfo, uint32_t *all_thread_id) |
| Get all threads mask. More... | |
DOCA telemetry DPA library. For more details please refer to the user guide on DOCA devzone.
| #define DOCA_TELEMETRY_DPA_PROCESS_NAME_SIZE (17) |
Process name limits
Definition at line 28 of file doca_telemetry_dpa.h.
| #define DOCA_TELEMETRY_DPA_THREAD_NAME_SIZE (17) |
Thread name limits
Definition at line 29 of file doca_telemetry_dpa.h.
| typedef struct doca_telemetry_dpa_cumul_info doca_telemetry_dpa_cumul_info_t |
Single cumulative info structure.
| typedef struct doca_telemetry_dpa_event_sample doca_telemetry_dpa_event_sample_t |
Single performance events tracer structure.
| typedef struct doca_telemetry_dpa_process_info doca_telemetry_dpa_process_info_t |
Single process structure.
| typedef struct doca_telemetry_dpa_thread_info doca_telemetry_dpa_thread_info_t |
Single thread structure.
Performance counters state.
| Enumerator | |
|---|---|
| DOCA_TELEMETRY_DPA_COUNTER_STATE_ACTIVE | |
| DOCA_TELEMETRY_DPA_COUNTER_STATE_INACTIVE | |
| DOCA_TELEMETRY_DPA_COUNTER_STATE_RESET | |
Definition at line 53 of file doca_telemetry_dpa.h.
Performance counters type.
Definition at line 62 of file doca_telemetry_dpa.h.
List of the performance event samples type.
Definition at line 72 of file doca_telemetry_dpa.h.
| DOCA_EXPERIMENTAL doca_error_t doca_telemetry_dpa_cap_is_supported | ( | const struct doca_devinfo * | devinfo | ) |
Check if given device is capable of executing telemetry DPA operations.
| [in] | devinfo | The DOCA device information. |
| DOCA_EXPERIMENTAL doca_error_t doca_telemetry_dpa_counter_restart | ( | struct doca_telemetry_dpa * | dpa, |
| uint32_t | process_id, | ||
| enum doca_telemetry_dpa_counter_type | type | ||
| ) |
Restart device counters sampling.
| [in] | dpa | Pointer to dpa instance. |
| [in] | process_id | DPA process id or all processes id value (this value can be queried using doca_telemetry_dpa_get_all_process_id()). |
| [in] | type | DPA counter type. |
| DOCA_EXPERIMENTAL doca_error_t doca_telemetry_dpa_counter_start | ( | struct doca_telemetry_dpa * | dpa, |
| uint32_t | process_id, | ||
| enum doca_telemetry_dpa_counter_type | type | ||
| ) |
Start device counters sampling - trigger device to collect performance metrics.
| [in] | dpa | Pointer to dpa instance. |
| [in] | process_id | DPA process id or all processes id value (this value can be queried using doca_telemetry_dpa_get_all_process_id()). |
| [in] | type | DPA counter type. |
| DOCA_EXPERIMENTAL doca_error_t doca_telemetry_dpa_counter_stop | ( | struct doca_telemetry_dpa * | dpa, |
| uint32_t | process_id, | ||
| enum doca_telemetry_dpa_counter_type | type | ||
| ) |
Stop device counters sampling.
| [in] | dpa | Pointer to dpa instance. |
| [in] | process_id | DPA process id or all processes id value (this value can be queried using doca_telemetry_dpa_get_all_process_id()). |
| [in] | type | DPA counter type. |
| DOCA_EXPERIMENTAL doca_error_t doca_telemetry_dpa_create | ( | struct doca_dev * | dev, |
| struct doca_telemetry_dpa ** | dpa | ||
| ) |
Create a DOCA telemetry DPA instance.
| [in] | dev | The device to attach to the telemetry DPA instance. |
| [out] | dpa | Pointer to pointer to be set to point to the created doca_telemetry_dpa instance. |
| DOCA_EXPERIMENTAL doca_error_t doca_telemetry_dpa_destroy | ( | struct doca_telemetry_dpa * | dpa | ) |
Destroy doca_telemetry_dpa previously created by doca_telemetry_dpa_create().
| [in] | dpa | Pointer to instance to be destroyed. |
| DOCA_EXPERIMENTAL doca_error_t doca_telemetry_dpa_get_all_process_id | ( | const struct doca_devinfo * | devinfo, |
| uint32_t * | all_process_id | ||
| ) |
Get all process mask.
| [in] | devinfo | The DOCA device information. |
| [out] | all_process_id | DPA process id that address all processes. |
| DOCA_EXPERIMENTAL doca_error_t doca_telemetry_dpa_get_all_thread_id | ( | const struct doca_devinfo * | devinfo, |
| uint32_t * | all_thread_id | ||
| ) |
Get all threads mask.
| [in] | devinfo | The DOCA device information. |
| [out] | all_thread_id | DPA thread id that address all processes. |
| DOCA_EXPERIMENTAL doca_error_t doca_telemetry_dpa_get_counter_state | ( | struct doca_telemetry_dpa * | dpa, |
| uint32_t | process_id, | ||
| enum doca_telemetry_dpa_counter_state * | state | ||
| ) |
Get counter state.
| [in] | dpa | Pointer to dpa instance. |
| [in] | process_id | DPA process id. |
| [out] | state | DPA counter state. |
| DOCA_EXPERIMENTAL doca_error_t doca_telemetry_dpa_get_counter_type | ( | struct doca_telemetry_dpa * | dpa, |
| uint32_t | process_id, | ||
| enum doca_telemetry_dpa_counter_type * | type | ||
| ) |
Get counter state and type.
| [in] | dpa | Pointer to dpa instance. |
| [in] | process_id | DPA process id. |
| [out] | type | DPA counter type. |
| DOCA_EXPERIMENTAL doca_error_t doca_telemetry_dpa_get_cumul_samples_size | ( | struct doca_telemetry_dpa * | dpa, |
| uint32_t | process_id, | ||
| uint32_t | thread_id, | ||
| uint32_t * | dpa_cumul_samples_size | ||
| ) |
Get memory size (in bytes) to allocate the cumul samples.
| [in] | dpa | Pointer to dpa instance. |
| [in] | process_id | DPA process id or all processes id value (this value can be queried using doca_telemetry_dpa_get_all_process_id()). |
| [in] | thread_id | DPA thread id or all thread id value (this value can be queried using doca_telemetry_dpa_get_all_thread_id()). |
| [out] | dpa_cumul_samples_size | Memory size (in bytes) to allocate the cumul samples. |
| DOCA_EXPERIMENTAL doca_error_t doca_telemetry_dpa_get_dpa_timer_freq | ( | struct doca_telemetry_dpa * | dpa, |
| uint32_t * | dpa_timer_freq | ||
| ) |
Get DPA timer frequency.
| [in] | dpa | Pointer to dpa instance. |
| [out] | dpa_timer_freq | DPA timer frequency. |
| DOCA_EXPERIMENTAL doca_error_t doca_telemetry_dpa_get_max_perf_event_samples | ( | struct doca_telemetry_dpa * | dpa, |
| uint32_t * | dpa_max_perf_event_samples | ||
| ) |
Get maximum number of perf event samples.
| [in] | dpa | Pointer to dpa instance. |
| [out] | dpa_max_perf_event_samples | DPA maximum number of perf event samples. |
| DOCA_EXPERIMENTAL doca_error_t doca_telemetry_dpa_get_perf_event_samples_size | ( | struct doca_telemetry_dpa * | dpa, |
| uint32_t * | dpa_perf_event_samples_size | ||
| ) |
Get memory size (in bytes) to allocate the perf event samples.
| [in] | dpa | Pointer to dpa instance. |
| [out] | dpa_perf_event_samples_size | Memory size (in bytes) to allocate the perf event samples. |
| DOCA_EXPERIMENTAL doca_error_t doca_telemetry_dpa_get_process_list_size | ( | struct doca_telemetry_dpa * | dpa, |
| uint32_t | process_id, | ||
| uint32_t * | dpa_process_list_size | ||
| ) |
Get memory size (in bytes) to allocate the process list.
| [in] | dpa | Pointer to dpa instance. |
| [in] | process_id | DPA process id or all processes id value (this value can be queried using doca_telemetry_dpa_get_all_process_id()). |
| [out] | dpa_process_list_size | Memory size (in bytes) to allocate the process list. |
| DOCA_EXPERIMENTAL doca_error_t doca_telemetry_dpa_get_thread_list_size | ( | struct doca_telemetry_dpa * | dpa, |
| uint32_t | process_id, | ||
| uint32_t | thread_id, | ||
| uint32_t * | dpa_thread_list_size | ||
| ) |
Get memory size (in bytes) to allocate the thread list.
| [in] | dpa | Pointer to dpa instance. |
| [in] | process_id | DPA process id or all processes id value (this value can be queried using doca_telemetry_dpa_get_all_process_id()). |
| [in] | thread_id | DPA thread id or all thread id value (this value can be queried using doca_telemetry_dpa_get_all_thread_id()). |
| [out] | dpa_thread_list_size | Memory size (in bytes) to allocate the thread list. |
| DOCA_EXPERIMENTAL doca_error_t doca_telemetry_dpa_read_cumul_info_list | ( | struct doca_telemetry_dpa * | dpa, |
| uint32_t | process_id, | ||
| uint32_t | thread_id, | ||
| uint32_t * | cumul_samples_num, | ||
| doca_telemetry_dpa_cumul_info_t * | cumul_info_list | ||
| ) |
Read list of the cumulative info counters.
| [in] | dpa | Pointer to dpa instance. |
| [in] | process_id | DPA process id or all processes id value (this value can be queried using doca_telemetry_dpa_get_all_process_id()). |
| [in] | thread_id | DPA thread id or all thread id value (this value can be queried using doca_telemetry_dpa_get_all_thread_id()). |
| [out] | cumul_samples_num | Number of cumul samples retrieved |
| [out] | cumul_info_list | Pointer to the list of the cumulative info counters struct pointer. |
| DOCA_EXPERIMENTAL doca_error_t doca_telemetry_dpa_read_perf_event_list | ( | struct doca_telemetry_dpa * | dpa, |
| uint32_t | process_id, | ||
| uint32_t | thread_id, | ||
| uint32_t * | perf_event_samples_num, | ||
| doca_telemetry_dpa_event_sample_t * | perf_event_list | ||
| ) |
Read list of the performance event samples.
| [in] | dpa | Pointer to dpa instance. |
| [in] | process_id | DPA process id or all processes id value (this value can be queried using doca_telemetry_dpa_get_all_process_id()). |
| [in] | thread_id | DPA thread id or all thread id value (this value can be queried using doca_telemetry_dpa_get_all_thread_id()). |
| [out] | perf_event_samples_num | Number of perf event samples retrieved |
| [out] | perf_event_list | Pointer to the list of the performance event samples struct pointer. |
| DOCA_EXPERIMENTAL doca_error_t doca_telemetry_dpa_read_processes_list | ( | struct doca_telemetry_dpa * | dpa, |
| uint32_t | process_id, | ||
| uint32_t * | dpa_process_num, | ||
| doca_telemetry_dpa_process_info_t * | process_list | ||
| ) |
Read the processes info.
| [in] | dpa | Pointer to dpa instance. |
| [in] | process_id | DPA process id or all processes id value (this value can be queried using doca_telemetry_dpa_get_all_process_id()). |
| [out] | dpa_process_num | Number of DPA processes retrieved |
| [out] | process_list | Pointer to a processes list struct pointer. |
| DOCA_EXPERIMENTAL doca_error_t doca_telemetry_dpa_read_thread_list | ( | struct doca_telemetry_dpa * | dpa, |
| uint32_t | process_id, | ||
| uint32_t | thread_id, | ||
| uint32_t * | dpa_threads_num, | ||
| doca_telemetry_dpa_thread_info_t * | thread_list | ||
| ) |
Read threads info.
| [in] | dpa | Pointer to dpa instance. |
| [in] | process_id | DPA process id or all processes id value (this value can be queried using doca_telemetry_dpa_get_all_process_id()). |
| [in] | thread_id | DPA thread id or all thread id value (this value can be queried using doca_telemetry_dpa_get_all_thread_id()). |
| [out] | dpa_threads_num | Number of DPA threads retrieved |
| [out] | thread_list | Pointer to thread list struct pointer. |
| DOCA_EXPERIMENTAL doca_error_t doca_telemetry_dpa_set_max_perf_event_samples | ( | struct doca_telemetry_dpa * | dpa, |
| uint32_t | dpa_max_perf_event_samples | ||
| ) |
Set maximum number of perf event samples.
| [in] | dpa | Pointer to dpa instance. |
| [in] | dpa_max_perf_event_samples | DPA maximum number of perf event samples. |
| DOCA_EXPERIMENTAL doca_error_t doca_telemetry_dpa_start | ( | struct doca_telemetry_dpa * | dpa | ) |
Start context for telemetry DPA.
| [in] | dpa | Pointer to dpa instance. |
| DOCA_EXPERIMENTAL doca_error_t doca_telemetry_dpa_stop | ( | struct doca_telemetry_dpa * | dpa | ) |
Stop telemetry DPA context.
| [in] | dpa | Pointer to dpa instance. |