NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
telemetry_diag_sample.c File Reference
#include <doca_error.h>
#include <doca_log.h>
#include <doca_dev.h>
#include <doca_telemetry_diag.h>
#include <errno.h>
#include <time.h>
#include <math.h>
#include <unistd.h>
#include "common.h"
#include "telemetry_diag_sample.h"
Include dependency graph for telemetry_diag_sample.c:

Go to the source code of this file.

Data Structures

struct  telemetry_diag_sample_objects
 

Macros

#define SECS_TO_NSECS_CONVERSION   pow(10, 9)
 

Functions

 DOCA_LOG_REGISTER (TELEMETRY_DIAG::SAMPLE)
 
static doca_error_t telemetry_diag_sample_check_capabilities (struct doca_dev *dev, uint8_t log_max_num_samples, uint32_t max_num_data_ids, enum doca_telemetry_diag_sync_mode sync_mode, enum doca_telemetry_diag_sample_mode sample_mode, uint8_t data_clear, enum doca_telemetry_diag_timestamp_source data_timestamp_source)
 
static doca_error_t telemetry_diag_sample_cleanup (struct telemetry_diag_sample_objects *sample_objects)
 
static doca_error_t telemetry_diag_sample_set_properties (struct doca_telemetry_diag *diag, enum doca_telemetry_diag_output_format output_format, uint64_t sample_period, uint8_t log_max_num_samples, uint32_t max_num_data_ids, enum doca_telemetry_diag_sync_mode sync_mode, enum doca_telemetry_diag_sample_mode sample_mode, uint8_t data_clear, enum doca_telemetry_diag_timestamp_source data_timestamp_source)
 
static uint64_t telemetry_diag_sample_time_diff_nsec (struct timespec start, struct timespec end)
 
static doca_error_t telemetry_diag_sample_context_init (struct telemetry_diag_sample_objects *sample_objects, struct data_id_entry *data_ids_struct, uint32_t num_data_ids, uint64_t sample_period_ns, uint8_t log_max_num_samples, enum doca_telemetry_diag_sample_mode sample_mode, enum doca_telemetry_diag_output_format output_format, uint8_t force_ownership)
 
static doca_error_t telemetry_diag_sample_write_sample_format_1 (struct telemetry_diag_sample_objects *sample_objects, uint32_t num_actual_samples, uint32_t size_of_sample)
 
static doca_error_t telemetry_diag_sample_write_sample_format_2 (struct telemetry_diag_sample_objects *sample_objects, uint32_t num_actual_samples, uint32_t size_of_sample)
 
static doca_error_t telemetry_diag_sample_write_output (struct telemetry_diag_sample_objects *sample_objects, uint32_t num_actual_samples, uint32_t size_of_sample, enum doca_telemetry_diag_output_format output_format)
 
static doca_error_t telemetry_diag_sample_run_query_counters_repetitive (struct telemetry_diag_sample_objects *sample_objects, uint32_t max_num_samples_per_read, uint64_t total_run_time_nsec, uint32_t size_of_sample, uint64_t poll_interval, enum doca_telemetry_diag_output_format output_format)
 
static doca_error_t telemetry_diag_sample_run_query_counters_by_max_samples (struct telemetry_diag_sample_objects *sample_objects, uint32_t num_samples_to_read, uint32_t max_num_samples_per_read, uint32_t size_of_sample, enum doca_telemetry_diag_output_format output_format)
 
doca_error_t telemetry_diag_sample_run (const struct telemetry_diag_sample_cfg *cfg)
 

Macro Definition Documentation

◆ SECS_TO_NSECS_CONVERSION

#define SECS_TO_NSECS_CONVERSION   pow(10, 9)

Definition at line 40 of file telemetry_diag_sample.c.

Function Documentation

◆ DOCA_LOG_REGISTER()

DOCA_LOG_REGISTER ( TELEMETRY_DIAG::SAMPLE  )

◆ telemetry_diag_sample_check_capabilities()

static doca_error_t telemetry_diag_sample_check_capabilities ( struct doca_dev *  dev,
uint8_t  log_max_num_samples,
uint32_t  max_num_data_ids,
enum doca_telemetry_diag_sync_mode  sync_mode,
enum doca_telemetry_diag_sample_mode  sample_mode,
uint8_t  data_clear,
enum doca_telemetry_diag_timestamp_source  data_timestamp_source 
)
static

Definition at line 65 of file telemetry_diag_sample.c.

◆ telemetry_diag_sample_cleanup()

static doca_error_t telemetry_diag_sample_cleanup ( struct telemetry_diag_sample_objects sample_objects)
static

Definition at line 163 of file telemetry_diag_sample.c.

◆ telemetry_diag_sample_context_init()

static doca_error_t telemetry_diag_sample_context_init ( struct telemetry_diag_sample_objects sample_objects,
struct data_id_entry data_ids_struct,
uint32_t  num_data_ids,
uint64_t  sample_period_ns,
uint8_t  log_max_num_samples,
enum doca_telemetry_diag_sample_mode  sample_mode,
enum doca_telemetry_diag_output_format  output_format,
uint8_t  force_ownership 
)
static

Definition at line 313 of file telemetry_diag_sample.c.

◆ telemetry_diag_sample_run()

doca_error_t telemetry_diag_sample_run ( const struct telemetry_diag_sample_cfg cfg)

Definition at line 656 of file telemetry_diag_sample.c.

◆ telemetry_diag_sample_run_query_counters_by_max_samples()

static doca_error_t telemetry_diag_sample_run_query_counters_by_max_samples ( struct telemetry_diag_sample_objects sample_objects,
uint32_t  num_samples_to_read,
uint32_t  max_num_samples_per_read,
uint32_t  size_of_sample,
enum doca_telemetry_diag_output_format  output_format 
)
static

Definition at line 616 of file telemetry_diag_sample.c.

◆ telemetry_diag_sample_run_query_counters_repetitive()

static doca_error_t telemetry_diag_sample_run_query_counters_repetitive ( struct telemetry_diag_sample_objects sample_objects,
uint32_t  max_num_samples_per_read,
uint64_t  total_run_time_nsec,
uint32_t  size_of_sample,
uint64_t  poll_interval,
enum doca_telemetry_diag_output_format  output_format 
)
static

Definition at line 548 of file telemetry_diag_sample.c.

◆ telemetry_diag_sample_set_properties()

static doca_error_t telemetry_diag_sample_set_properties ( struct doca_telemetry_diag *  diag,
enum doca_telemetry_diag_output_format  output_format,
uint64_t  sample_period,
uint8_t  log_max_num_samples,
uint32_t  max_num_data_ids,
enum doca_telemetry_diag_sync_mode  sync_mode,
enum doca_telemetry_diag_sample_mode  sample_mode,
uint8_t  data_clear,
enum doca_telemetry_diag_timestamp_source  data_timestamp_source 
)
static

Definition at line 224 of file telemetry_diag_sample.c.

◆ telemetry_diag_sample_time_diff_nsec()

static uint64_t telemetry_diag_sample_time_diff_nsec ( struct timespec  start,
struct timespec  end 
)
inlinestatic

Definition at line 295 of file telemetry_diag_sample.c.

◆ telemetry_diag_sample_write_output()

static doca_error_t telemetry_diag_sample_write_output ( struct telemetry_diag_sample_objects sample_objects,
uint32_t  num_actual_samples,
uint32_t  size_of_sample,
enum doca_telemetry_diag_output_format  output_format 
)
static

Definition at line 518 of file telemetry_diag_sample.c.

◆ telemetry_diag_sample_write_sample_format_1()

static doca_error_t telemetry_diag_sample_write_sample_format_1 ( struct telemetry_diag_sample_objects sample_objects,
uint32_t  num_actual_samples,
uint32_t  size_of_sample 
)
inlinestatic

Definition at line 407 of file telemetry_diag_sample.c.

◆ telemetry_diag_sample_write_sample_format_2()

static doca_error_t telemetry_diag_sample_write_sample_format_2 ( struct telemetry_diag_sample_objects sample_objects,
uint32_t  num_actual_samples,
uint32_t  size_of_sample 
)
inlinestatic

Definition at line 462 of file telemetry_diag_sample.c.