DOCA SDK Documentation

DOCA Flow Tune Server


This guide provides an overview and configuration instructions for DOCA Flow Tune Server API.

Introduction

DOCA Flow Tune Server (TS) is a DOCA Flow subcomponent that collects predefined internal key performance indicators (KPIs) and pipeline information of a running DOCA Flow application. All information is transferred by an inter-process communication channel (Unix domain socket) to DOCA Flow Tune Tool for further analysis and monitoring.

Prerequisites

DOCA Flow Tune Server API is only available when using the DOCA Flow and DOCA Flow Tune Server trace libraries.

For more detailed information, refer to section "Debug and Trace Features" under DOCA Flow.

Configuration

DOCA Flow Tune Server has a configuration file that allows customizing various settings. The configuration file is divided into different sections so to ease its use.

Config File Default Values

If a configuration file was not provided, DOCA Flow Tune Server uses default values for its mandatory fields. List of all default values can be seen in section "DOCA Flow Tune Server | id (2.9.3 LTS U1)DOCAFlowTuneServer ConfigurationFileExample".

Custom Config File

Instead of using the default configuration values, users may create a file of their own and provide a file path using the doca_flow_tune_server_cfg_set_cfg_file_path() API call.

Once used, DOCA Flow Tune Server loads all provided values directly from the file, while the rest of the fields (if any) use their respective default values.

Configuration File Example

 {
	"network": {
		"uds_path": "/tmp/tune_server.sock"
	}
} 
  • network

    • uds_path – Unix Domain Socket (AF_UNIX) path for the tune server to bind to. This socket is used for the inter-process-communication (IPC) channel between DOCA Flow Tune Server and DOCA Flow Tune Tool. Default value is /tmp/tune_server.sock.

API

For more detailed information on DOCA Flow API, refer to DOCA Library APIs.

The following subsections provide additional details about the library API.

struct doca_flow_tune_server_cfg

Opaque configuration struct to use on configuration API calls.

doca_flow_tune_server_cfg_create

Allocates and creates DOCA Flow Tune Server configuration structure.

doca_error_t doca_flow_tune_server_cfg_create(struct doca_flow_tune_server_cfg **cfg);

doca_flow_tune_server_cfg_set_cfg_file_path

Sets the local configuration file path in the opaque configuration struct, for DOCA Flow Tune Server to use when searching for the JSON configuration file.

Providing a JSON configuration file is optional. If a file is not provided, DOCA Flow Tune Server uses internal defaults.

doca_error_t doca_flow_tune_server_cfg_set_bind_path(struct doca_flow_tune_server_cfg *cfg, const char *path);

doca_flow_tune_server_cfg_destroy

Destroys and deallocates DOCA Flow Tune Server opaque configuration structure.

Should be called after calling doca_flow_tune_server_init().

doca_error_t doca_flow_tune_server_cfg_destroy(struct doca_flow_tune_server_cfg *cfg);

doca_flow_tune_server_init

Starts DOCA Flow Tune Server main thread.

doca_error_t doca_flow_tune_server_init(struct doca_flow_tune_server_cfg *cfg);

doca_flow_tune_server_destroy

Stops DOCA Flow Tune Server main thread.

void doca_flow_tune_server_destroy(void);

Last updated: