22 #ifndef DOCA_TELEMETRY_DIAG_H_
23 #define DOCA_TELEMETRY_DIAG_H_
45 struct doca_telemetry_diag;
183 uint32_t *max_num_data_ids);
202 uint8_t *log_max_num_samples);
260 uint8_t *sample_mode_supported);
281 const struct doca_devinfo *devinfo,
283 uint8_t *timestamp_source_supported);
310 uint8_t force_ownership,
311 struct doca_telemetry_diag **diag);
495 uint8_t *log_max_num_samples);
653 struct doca_telemetry_diag *diag,
671 struct doca_telemetry_diag *diag,
727 const uint64_t *data_ids,
728 uint32_t num_data_ids,
729 uint64_t *counter_id_failure);
747 uint32_t *num_applied_counters);
770 uint32_t num_data_ids,
808 uint32_t max_samples_to_read,
809 uint32_t *num_valid_samples);
#define DOCA_EXPERIMENTAL
To set a Symbol (or specifically a function) as experimental.
enum doca_error doca_error_t
DOCA API return codes.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_get_data_timestamp_source(struct doca_telemetry_diag *diag, enum doca_telemetry_diag_timestamp_source *data_timestamp_source)
Get data timestamp source.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_destroy(struct doca_telemetry_diag *diag)
Destroy doca_telemetry_diag previously created by doca_telemetry_diag_create().
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_get_log_max_num_samples(struct doca_telemetry_diag *diag, uint8_t *log_max_num_samples)
Get log max of samples.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_get_num_applied_counters(struct doca_telemetry_diag *diag, uint32_t *num_applied_counters)
Get number of currently applied counters.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_create(struct doca_dev *dev, uint8_t force_ownership, struct doca_telemetry_diag **diag)
Create a DOCA Telemetry Diagnostics instance.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_apply_config(struct doca_telemetry_diag *diag)
Apply device configuration.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_get_max_num_data_ids(struct doca_telemetry_diag *diag, uint32_t *max_num_data_ids)
Get max num of data IDs.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_cap_is_data_timestamp_source_supported(const struct doca_devinfo *devinfo, enum doca_telemetry_diag_timestamp_source data_timestamp_source, uint8_t *timestamp_source_supported)
Check if given device supports a given data timestamp source.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_get_data_clear(struct doca_telemetry_diag *diag, uint8_t *data_clear)
Get data clear.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_stop(struct doca_telemetry_diag *diag)
Stop device sampling.
struct doca_telemetry_diag_data_sample_format_0 doca_telemetry_diag_data_sample_format_0
Output format 0 struct.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_cap_get_log_max_num_samples(const struct doca_devinfo *devinfo, uint8_t *log_max_num_samples)
Get the maximal num (in log base 2) of samples that is supported by a given device.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_get_sample_period(struct doca_telemetry_diag *diag, uint64_t *sample_period)
Get sample period.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_get_sample_size(struct doca_telemetry_diag *diag, uint32_t *sample_size)
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_get_sync_mode(struct doca_telemetry_diag *diag, enum doca_telemetry_diag_sync_mode *sync_mode)
Get synchronization mode.
struct doca_telemetry_diag_data_sample_format_0_value doca_telemetry_diag_data_sample_format_0_value
Output format 0 per-ID struct.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_set_sample_period(struct doca_telemetry_diag *diag, uint64_t sample_period)
Set sample period.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_set_data_clear(struct doca_telemetry_diag *diag, uint8_t data_clear)
Set data clear.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_cap_is_supported(const struct doca_devinfo *devinfo)
Check if given device is capable of executing telemetry diagnostics operations.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_set_data_timestamp_source(struct doca_telemetry_diag *diag, enum doca_telemetry_diag_timestamp_source data_timestamp_source)
Set data timestamp source.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_get_sample_mode(struct doca_telemetry_diag *diag, enum doca_telemetry_diag_sample_mode *sample_mode)
Get Sampling mode.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_get_applied_counters_list_by_id(struct doca_telemetry_diag *diag, uint32_t num_data_ids, uint64_t *data_ids)
Get list of currently applied counters, by their ID.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_restart(struct doca_telemetry_diag *diag)
Restart device sampling - trigger device to collect new metrics.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_get_output_format(struct doca_telemetry_diag *diag, enum doca_telemetry_diag_output_format *output_format)
Get output format.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_start(struct doca_telemetry_diag *diag)
Start device sampling - trigger device to collect metrics.
doca_telemetry_diag_timestamp_source
description of the timestamp source of the sample
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_cap_get_max_num_data_ids(const struct doca_devinfo *devinfo, uint32_t *max_num_data_ids)
Get the maximal num of data IDs that is supported by a given device.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_cap_is_sync_start_supported(const struct doca_devinfo *devinfo, uint8_t *sync_start)
Check if given device supports sync start.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_cap_is_sample_mode_supported(const struct doca_devinfo *devinfo, enum doca_telemetry_diag_sample_mode sample_mode, uint8_t *sample_mode_supported)
Check if given device supports a given sample mode.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_set_max_num_data_ids(struct doca_telemetry_diag *diag, uint32_t max_num_data_ids)
Set max num of data IDs.
doca_telemetry_diag_sample_mode
description of data sampling mode
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_apply_counters_list_by_id(struct doca_telemetry_diag *diag, const uint64_t *data_ids, uint32_t num_data_ids, uint64_t *counter_id_failure)
Apply the counters, by their data ID, to be queried.
struct doca_telemetry_diag_data_sample_format_1 doca_telemetry_diag_data_sample_format_1
Output format 1 struct.
doca_telemetry_diag_sync_mode
Synchronization mode of data sampling.
struct doca_telemetry_diag_data_sample_format_2 doca_telemetry_diag_data_sample_format_2
Output format 2 struct.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_query_counters(struct doca_telemetry_diag *diag, void *buf, uint32_t max_samples_to_read, uint32_t *num_valid_samples)
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_set_log_max_num_samples(struct doca_telemetry_diag *diag, uint8_t log_max_num_samples)
Set log max of samples.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_cap_is_data_clear_supported(const struct doca_devinfo *devinfo, uint8_t *data_clear)
Check if given device supports data clear.
doca_telemetry_diag_output_format
Defines the layout of the diagnostic data output:
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_set_sync_mode(struct doca_telemetry_diag *diag, enum doca_telemetry_diag_sync_mode sync_mode)
Set synchronization mode.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_set_output_format(struct doca_telemetry_diag *diag, enum doca_telemetry_diag_output_format output_format)
Set output format.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_check_data_id(struct doca_telemetry_diag *diag, uint64_t data_id)
Check if a counter is supported in current configuration, by it's data ID.
DOCA_EXPERIMENTAL doca_error_t doca_telemetry_diag_set_sample_mode(struct doca_telemetry_diag *diag, enum doca_telemetry_diag_sample_mode sample_mode)
Set sampling mode.
@ DOCA_TELEMETRY_DIAG_TIMESTAMP_SOURCE_FRC
@ DOCA_TELEMETRY_DIAG_TIMESTAMP_SOURCE_RTC
@ DOCA_TELEMETRY_DIAG_SAMPLE_MODE_ON_DEMAND
@ DOCA_TELEMETRY_DIAG_SAMPLE_MODE_SINGLE
@ DOCA_TELEMETRY_DIAG_SAMPLE_MODE_REPETITIVE
@ DOCA_TELEMETRY_DIAG_SYNC_MODE_SYNC_START
@ DOCA_TELEMETRY_DIAG_SYNC_MODE_NO_SYNC
@ DOCA_TELEMETRY_DIAG_OUTPUT_FORMAT_2
@ DOCA_TELEMETRY_DIAG_OUTPUT_FORMAT_0
@ DOCA_TELEMETRY_DIAG_OUTPUT_FORMAT_1