NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
telemetry_diag_main.c File Reference
#include <errno.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <json-c/json.h>
#include <doca_argp.h>
#include <doca_dev.h>
#include <doca_error.h>
#include <doca_log.h>
#include <doca_telemetry_diag.h>
#include "telemetry_diag_sample.h"
Include dependency graph for telemetry_diag_main.c:

Go to the source code of this file.

Macros

#define MAX_DESCRIPTION_LEN   256
 
#define DATA_ID_STRING_MAX_LEN   20
 
#define DEFAULT_SAMPLE_PERIOD_NS   100000 /* 100 usec */
 
#define DEFAULT_LOG_MAX_NUM_SAMPLES   10
 
#define DEFAULT_MAX_NUM_SAMPLES_PER_READ   128
 
#define DEFAULT_SAMPLE_MODE   DOCA_TELEMETRY_DIAG_SAMPLE_MODE_REPETITIVE
 
#define DEFAULT_OUTPUT_FORMAT   DOCA_TELEMETRY_DIAG_OUTPUT_FORMAT_1
 
#define DEFAULT_TOTAL_RUN_TIME_SECS   1
 
#define DEFAULT_OUTPUT_PATH   "/tmp/out.csv"
 
#define DEFAULT_FORCE_OWNERSHIP   0
 
#define DEFAULT_DATA_IDS_PATH   "/0"
 
#define DEFAULT_EXAMPLE_JSON_PATH   "/0"
 
#define JSON_NAME_KEY   "name"
 
#define JSON_DATA_ID_KEY   "data_id"
 
#define DATA_ID_PORT_0_RX_BYTES   0x1020000100000000
 
#define DATA_ID_PORT_0_TX_BYTES   0x1140000100000000
 
#define DATA_ID_PORT_0_RX_PACKETS   0x1020000300000000
 
#define DATA_ID_PORT_0_TX_PACKETS   0x1140000300000000
 

Functions

 DOCA_LOG_REGISTER (TELEMETRY_DIAG::MAIN)
 
static doca_error_t pci_address_callback (void *param, void *config)
 
static doca_error_t data_ids_callback (void *param, void *config)
 
static doca_error_t output_callback (void *param, void *config)
 
static doca_error_t run_time_callback (void *param, void *config)
 
static doca_error_t sample_period_callback (void *param, void *config)
 
static doca_error_t log_max_num_samples_callback (void *param, void *config)
 
static doca_error_t max_num_samples_per_read_callback (void *param, void *config)
 
static doca_error_t sample_mode_callback (void *param, void *config)
 
static doca_error_t output_format_callback (void *param, void *config)
 
static doca_error_t force_ownership_callback (void *param, void *config)
 
static doca_error_t example_json_file_callback (void *param, void *config)
 
static doca_error_t register_telemetry_diag_params (void)
 
static doca_error_t parse_json_data_ids (struct telemetry_diag_sample_cfg *cfg, struct json_object *json_data_ids, int array_len)
 
static doca_error_t set_default_data_ids (struct telemetry_diag_sample_cfg *cfg)
 
static doca_error_t parse_and_read_data_ids_json_file (struct telemetry_diag_sample_cfg *cfg)
 
static json_object * create_data_id_pair (char *name, char *data_id_string)
 
static doca_error_t create_default_json (struct telemetry_diag_sample_cfg *cfg, struct json_object *example_json)
 
static doca_error_t generate_example_json (struct telemetry_diag_sample_cfg *cfg)
 
static void set_default_params (struct telemetry_diag_sample_cfg *cfg)
 
int main (int argc, char **argv)
 

Macro Definition Documentation

◆ DATA_ID_PORT_0_RX_BYTES

#define DATA_ID_PORT_0_RX_BYTES   0x1020000100000000

Definition at line 59 of file telemetry_diag_main.c.

◆ DATA_ID_PORT_0_RX_PACKETS

#define DATA_ID_PORT_0_RX_PACKETS   0x1020000300000000

Definition at line 61 of file telemetry_diag_main.c.

◆ DATA_ID_PORT_0_TX_BYTES

#define DATA_ID_PORT_0_TX_BYTES   0x1140000100000000

Definition at line 60 of file telemetry_diag_main.c.

◆ DATA_ID_PORT_0_TX_PACKETS

#define DATA_ID_PORT_0_TX_PACKETS   0x1140000300000000

Definition at line 62 of file telemetry_diag_main.c.

◆ DATA_ID_STRING_MAX_LEN

#define DATA_ID_STRING_MAX_LEN   20

Definition at line 43 of file telemetry_diag_main.c.

◆ DEFAULT_DATA_IDS_PATH

#define DEFAULT_DATA_IDS_PATH   "/0"

Definition at line 53 of file telemetry_diag_main.c.

◆ DEFAULT_EXAMPLE_JSON_PATH

#define DEFAULT_EXAMPLE_JSON_PATH   "/0"

Definition at line 54 of file telemetry_diag_main.c.

◆ DEFAULT_FORCE_OWNERSHIP

#define DEFAULT_FORCE_OWNERSHIP   0

Definition at line 52 of file telemetry_diag_main.c.

◆ DEFAULT_LOG_MAX_NUM_SAMPLES

#define DEFAULT_LOG_MAX_NUM_SAMPLES   10

Definition at line 46 of file telemetry_diag_main.c.

◆ DEFAULT_MAX_NUM_SAMPLES_PER_READ

#define DEFAULT_MAX_NUM_SAMPLES_PER_READ   128

Definition at line 47 of file telemetry_diag_main.c.

◆ DEFAULT_OUTPUT_FORMAT

#define DEFAULT_OUTPUT_FORMAT   DOCA_TELEMETRY_DIAG_OUTPUT_FORMAT_1

Definition at line 49 of file telemetry_diag_main.c.

◆ DEFAULT_OUTPUT_PATH

#define DEFAULT_OUTPUT_PATH   "/tmp/out.csv"

Definition at line 51 of file telemetry_diag_main.c.

◆ DEFAULT_SAMPLE_MODE

#define DEFAULT_SAMPLE_MODE   DOCA_TELEMETRY_DIAG_SAMPLE_MODE_REPETITIVE

Definition at line 48 of file telemetry_diag_main.c.

◆ DEFAULT_SAMPLE_PERIOD_NS

#define DEFAULT_SAMPLE_PERIOD_NS   100000 /* 100 usec */

Definition at line 45 of file telemetry_diag_main.c.

◆ DEFAULT_TOTAL_RUN_TIME_SECS

#define DEFAULT_TOTAL_RUN_TIME_SECS   1

Definition at line 50 of file telemetry_diag_main.c.

◆ JSON_DATA_ID_KEY

#define JSON_DATA_ID_KEY   "data_id"

Definition at line 57 of file telemetry_diag_main.c.

◆ JSON_NAME_KEY

#define JSON_NAME_KEY   "name"

Definition at line 56 of file telemetry_diag_main.c.

◆ MAX_DESCRIPTION_LEN

#define MAX_DESCRIPTION_LEN   256

Definition at line 42 of file telemetry_diag_main.c.

Function Documentation

◆ create_data_id_pair()

static json_object* create_data_id_pair ( char *  name,
char *  data_id_string 
)
static

Definition at line 671 of file telemetry_diag_main.c.

◆ create_default_json()

static doca_error_t create_default_json ( struct telemetry_diag_sample_cfg cfg,
struct json_object *  example_json 
)
static

Definition at line 718 of file telemetry_diag_main.c.

◆ data_ids_callback()

static doca_error_t data_ids_callback ( void *  param,
void *  config 
)
static

Definition at line 95 of file telemetry_diag_main.c.

◆ DOCA_LOG_REGISTER()

DOCA_LOG_REGISTER ( TELEMETRY_DIAG::MAIN  )

◆ example_json_file_callback()

static doca_error_t example_json_file_callback ( void *  param,
void *  config 
)
static

Definition at line 270 of file telemetry_diag_main.c.

◆ force_ownership_callback()

static doca_error_t force_ownership_callback ( void *  param,
void *  config 
)
static

Definition at line 253 of file telemetry_diag_main.c.

◆ generate_example_json()

static doca_error_t generate_example_json ( struct telemetry_diag_sample_cfg cfg)
static

Definition at line 763 of file telemetry_diag_main.c.

◆ log_max_num_samples_callback()

static doca_error_t log_max_num_samples_callback ( void *  param,
void *  config 
)
static

Definition at line 178 of file telemetry_diag_main.c.

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 845 of file telemetry_diag_main.c.

◆ max_num_samples_per_read_callback()

static doca_error_t max_num_samples_per_read_callback ( void *  param,
void *  config 
)
static

Definition at line 199 of file telemetry_diag_main.c.

◆ output_callback()

static doca_error_t output_callback ( void *  param,
void *  config 
)
static

Definition at line 123 of file telemetry_diag_main.c.

◆ output_format_callback()

static doca_error_t output_format_callback ( void *  param,
void *  config 
)
static

Definition at line 237 of file telemetry_diag_main.c.

◆ parse_and_read_data_ids_json_file()

static doca_error_t parse_and_read_data_ids_json_file ( struct telemetry_diag_sample_cfg cfg)
static

Definition at line 571 of file telemetry_diag_main.c.

◆ parse_json_data_ids()

static doca_error_t parse_json_data_ids ( struct telemetry_diag_sample_cfg cfg,
struct json_object *  json_data_ids,
int  array_len 
)
static

Definition at line 490 of file telemetry_diag_main.c.

◆ pci_address_callback()

static doca_error_t pci_address_callback ( void *  param,
void *  config 
)
static

Definition at line 71 of file telemetry_diag_main.c.

◆ register_telemetry_diag_params()

static doca_error_t register_telemetry_diag_params ( void  )
static

Definition at line 292 of file telemetry_diag_main.c.

◆ run_time_callback()

static doca_error_t run_time_callback ( void *  param,
void *  config 
)
static

Definition at line 146 of file telemetry_diag_main.c.

◆ sample_mode_callback()

static doca_error_t sample_mode_callback ( void *  param,
void *  config 
)
static

Definition at line 221 of file telemetry_diag_main.c.

◆ sample_period_callback()

static doca_error_t sample_period_callback ( void *  param,
void *  config 
)
static

Definition at line 162 of file telemetry_diag_main.c.

◆ set_default_data_ids()

static doca_error_t set_default_data_ids ( struct telemetry_diag_sample_cfg cfg)
static

Definition at line 537 of file telemetry_diag_main.c.

◆ set_default_params()

static void set_default_params ( struct telemetry_diag_sample_cfg cfg)
static

Definition at line 821 of file telemetry_diag_main.c.