NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
doca_telemetry_dpa.h File Reference
#include <doca_error.h>
#include <doca_types.h>
Include dependency graph for doca_telemetry_dpa.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

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...