etraceserver-1 - End Tracing server daemon administration
#include <rad/client/1/etraceserver.h>
cc [ flag... ] file... -letraceserver1_client [ library... ]
interface ETraceServer
rc_err_t etraceserver_ETraceServer_startConnect(rc_instance_t *inst,
const char *client_name,
etraceserver_StartResult_t **result,
etraceserver_ETraceError_t **error);
rc_err_t etraceserver_ETraceServer_sessionCreate(rc_instance_t *inst,
const char *session_name,
const char *provider_name,
etraceserver_SessionArg_t **arguments,
int arguments_count,
etraceserver_LLQInfo_t **llq_options,
int llq_options_count,
boolean_t persistent,
etraceserver_ETraceError_t **error);
rc_err_t etraceserver_ETraceServer_sessionDelete(rc_instance_t *inst,
const char *session_name,
const char *user_name,
etraceserver_ETraceError_t **error);
rc_err_t etraceserver_ETraceServer_sessionUndelete(rc_instance_t *inst,
const char *session_name,
const char *user_name,
etraceserver_ETraceError_t **error);
rc_err_t etraceserver_ETraceServer_sessionList(rc_instance_t *inst,
const char *session_name,
boolean_t all_sessions,
etraceserver_SessionInfo_t ***result,
int *result_cnt,
etraceserver_ETraceError_t **error);
Structured Types
struct ETraceError
typedef struct etraceserver_ETraceError etraceserver_ETraceError_t;
struct etraceserver_ETraceError {
int eete_err;
char *eete_errmsg;
};
void etraceserver_ETraceError_free(etraceserver_ETraceError_t *in);
struct StartResult
typedef struct etraceserver_StartResult etraceserver_StartResult_t;
struct etraceserver_StartResult {
boolean_t esr_ssl;
char *esr_port;
char *esr_token;
};
void etraceserver_StartResult_free(etraceserver_StartResult_t *in);
struct LLQInfo
typedef struct etraceserver_LLQInfo etraceserver_LLQInfo_t;
struct etraceserver_LLQInfo {
char *ellqi_span;
unsigned long long ellqi_base;
unsigned long long ellqi_lo_exp;
unsigned long long ellqi_hi_exp;
unsigned long long ellqi_steps;
};
void etraceserver_LLQInfo_free(etraceserver_LLQInfo_t *in);
struct SessionArg
typedef struct etraceserver_SessionArg etraceserver_SessionArg_t;
struct etraceserver_SessionArg {
char *esa_name;
char **esa_values;
int esa_values_count;
};
void etraceserver_SessionArg_free(etraceserver_SessionArg_t *in);
struct SessionInfo
typedef struct etraceserver_SessionInfo etraceserver_SessionInfo_t;
struct etraceserver_SessionInfo {
char *esi_session;
char *esi_provider;
char *esi_uuid;
char *esi_uid;
char *esi_state;
etraceserver_LLQInfo_t **esi_llqs;
int esi_llqs_count;
};
void etraceserver_SessionInfo_free(etraceserver_SessionInfo_t *in);
ETRACESERVER-1(3rad) RAD Module Definitions ETRACESERVER-1(3rad)
NAME
etraceserver - API for End-to-End Tracing server daemon administration
SYNOPSIS
#include <rad/client/1/etraceserver.h>
cc [ flag... ] file... -letraceserver1_client [ library... ]
interface ETraceServer
rc_err_t etraceserver_ETraceServer_startConnect(rc_instance_t *inst,
const char *client_name,
etraceserver_StartResult_t **result,
etraceserver_ETraceError_t **error);
rc_err_t etraceserver_ETraceServer_sessionCreate(rc_instance_t *inst,
const char *session_name,
const char *provider_name,
etraceserver_SessionArg_t **arguments,
int arguments_count,
etraceserver_LLQInfo_t **llq_options,
int llq_options_count,
boolean_t persistent,
etraceserver_ETraceError_t **error);
rc_err_t etraceserver_ETraceServer_sessionDelete(rc_instance_t *inst,
const char *session_name,
const char *user_name,
etraceserver_ETraceError_t **error);
rc_err_t etraceserver_ETraceServer_sessionUndelete(rc_instance_t *inst,
const char *session_name,
const char *user_name,
etraceserver_ETraceError_t **error);
rc_err_t etraceserver_ETraceServer_sessionList(rc_instance_t *inst,
const char *session_name,
boolean_t all_sessions,
etraceserver_SessionInfo_t ***result,
int *result_cnt,
etraceserver_ETraceError_t **error);
Structured Types
struct ETraceError
typedef struct etraceserver_ETraceError etraceserver_ETraceError_t;
struct etraceserver_ETraceError {
int eete_err;
char *eete_errmsg;
};
void etraceserver_ETraceError_free(etraceserver_ETraceError_t *in);
struct StartResult
typedef struct etraceserver_StartResult etraceserver_StartResult_t;
struct etraceserver_StartResult {
boolean_t esr_ssl;
char *esr_port;
char *esr_token;
};
void etraceserver_StartResult_free(etraceserver_StartResult_t *in);
struct LLQInfo
typedef struct etraceserver_LLQInfo etraceserver_LLQInfo_t;
struct etraceserver_LLQInfo {
char *ellqi_span;
unsigned long long ellqi_base;
unsigned long long ellqi_lo_exp;
unsigned long long ellqi_hi_exp;
unsigned long long ellqi_steps;
};
void etraceserver_LLQInfo_free(etraceserver_LLQInfo_t *in);
struct SessionArg
typedef struct etraceserver_SessionArg etraceserver_SessionArg_t;
struct etraceserver_SessionArg {
char *esa_name;
char **esa_values;
int esa_values_count;
};
void etraceserver_SessionArg_free(etraceserver_SessionArg_t *in);
struct SessionInfo
typedef struct etraceserver_SessionInfo etraceserver_SessionInfo_t;
struct etraceserver_SessionInfo {
char *esi_session;
char *esi_provider;
char *esi_uuid;
char *esi_uid;
char *esi_state;
etraceserver_LLQInfo_t **esi_llqs;
int esi_llqs_count;
};
void etraceserver_SessionInfo_free(etraceserver_SessionInfo_t *in);
DESCRIPTION
API com.oracle.solaris.rad.etraceserver [1]
This API exposes End-to-End Tracing (ETrace) server daemon
administration to rad(8) clients. It also includes private APIs used by
the ETrace client daemons to connect to server.
INTERFACES
interface ETraceServer
Private end-to-end tracing server daemon interface.
Private implementation of end-to-end tracing server daemon interface.
ETraceServer Methods
rc_err_t etraceserver_ETraceServer_startConnect(rc_instance_t *inst,
const char *client_name,
etraceserver_StartResult_t **result,
etraceserver_ETraceError_t **error);
Begin a connect between the client and server.
Do a pre-flight check then start the report receiving listener.
This method is only used internally.
Arguments:
inst -- RAD instance
client_name
result
error
rc_err_t etraceserver_ETraceServer_sessionCreate(rc_instance_t *inst,
const char *session_name,
const char *provider_name,
etraceserver_SessionArg_t **arguments,
int arguments_count,
etraceserver_LLQInfo_t **llq_options,
int llq_options_count,
boolean_t persistent,
etraceserver_ETraceError_t **error);
Create a new session.
Create a new session for the specified provider using the
specified arguments. Each argument is specified as a name value
pair. The value of the argument is an array of strings.
Arguments:
inst -- RAD instance
session_name -- Specifies the name of the session to be
created.
provider_name -- Specifies the name of the provider to be used.
arguments -- Specifies the name of the provider to be used.
arguments_count -- Number of items in arguments array
llq_options -- Specifies the arguments for enabled llquantize
operations.
llq_options_count -- Number of items in llq_options array
persistent
error
rc_err_t etraceserver_ETraceServer_sessionDelete(rc_instance_t *inst,
const char *session_name,
const char *user_name,
etraceserver_ETraceError_t **error);
Delete a session.
Delete the specified session.
Arguments:
inst -- RAD instance
session_name
user_name (nullable)
error
rc_err_t etraceserver_ETraceServer_sessionUndelete(rc_instance_t *inst,
const char *session_name,
const char *user_name,
etraceserver_ETraceError_t **error);
Undelete a session.
Undelete the specified session.
Arguments:
inst -- RAD instance
session_name
user_name (nullable)
error
rc_err_t etraceserver_ETraceServer_sessionList(rc_instance_t *inst,
const char *session_name,
boolean_t all_sessions,
etraceserver_SessionInfo_t ***result,
int *result_cnt,
etraceserver_ETraceError_t **error);
List the current sessions.
List the current sessions.
Arguments:
inst -- RAD instance
session_name -- Specifies the name of the session to be
returned. If an empty string, will return all sessions for
current user.
all_sessions -- If set to TRUE, returns all sessions on the
system.
result
result_cnt -- Number of items in result array
error
ETraceServer Retrieve
rc_err_t etraceserver_ETraceServer__rad_get_name(adr_name_t **result,
int n,
...);
Obtain RAD name of a ETraceServer object.
Arguments:
result -- RAD name
n -- Number of key-value pairs provided as variadic arguments
... -- Optional key-value pairs that compose the primary key
rc_err_t etraceserver_ETraceServer__rad_lookup(rc_conn_t *c,
boolean_t strict,
rc_instance_t **result,
int n,
...);
Lookup a ETraceServer instance.
Construct a RAD name for the interface based on the provided
key-value pairs and perform a lookup. If successful, instance
reference is returned in the result.
Arguments:
c -- RAD connection handle
strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning
result -- RAD instance
n -- Number of key-value pairs provided as variadic arguments
... -- Optional key-value pairs that compose the primary key
rc_err_t etraceserver_ETraceServer__rad_list(rc_conn_t *c,
boolean_t strict,
adr_pattern_scheme_t scheme,
adr_name_t ***result,
int *result_count,
int n,
...);
List RAD names of a available ETraceServer instances.
Returns an array and array size of matching object names.
Arguments:
c -- RAD connection handle
strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning
scheme -- Apply glob (NS_GLOB) or regex (NS_REGEX) matching
result -- Array of RAD names
result_count -- Number of names in result array
n -- Number of key-value pairs provided as variadic arguments
... -- Optional key-value pairs that compose the primary key
STRUCTURED TYPES
struct ETraceError
typedef struct etraceserver_ETraceError etraceserver_ETraceError_t;
struct etraceserver_ETraceError {
int eete_err;
char *eete_errmsg;
};
void etraceserver_ETraceError_free(etraceserver_ETraceError_t *in);
Fields:
eete_err
eete_errmsg
struct StartResult
typedef struct etraceserver_StartResult etraceserver_StartResult_t;
struct etraceserver_StartResult {
boolean_t esr_ssl;
char *esr_port;
char *esr_token;
};
void etraceserver_StartResult_free(etraceserver_StartResult_t *in);
Fields:
esr_ssl
esr_port
esr_token
struct LLQInfo -- Log-linear quantization information structure. Keeps
track of five arguments that are needed to enable a llquantize
operation.
typedef struct etraceserver_LLQInfo etraceserver_LLQInfo_t;
struct etraceserver_LLQInfo {
char *ellqi_span;
unsigned long long ellqi_base;
unsigned long long ellqi_lo_exp;
unsigned long long ellqi_hi_exp;
unsigned long long ellqi_steps;
};
void etraceserver_LLQInfo_free(etraceserver_LLQInfo_t *in);
Fields:
ellqi_span
ellqi_base
ellqi_lo_exp
ellqi_hi_exp
ellqi_steps
struct SessionArg -- Session argument name/value pair.
typedef struct etraceserver_SessionArg etraceserver_SessionArg_t;
struct etraceserver_SessionArg {
char *esa_name;
char **esa_values;
int esa_values_count;
};
void etraceserver_SessionArg_free(etraceserver_SessionArg_t *in);
Fields:
esa_name
esa_values
esa_values_count
struct SessionInfo -- Session information.
typedef struct etraceserver_SessionInfo etraceserver_SessionInfo_t;
struct etraceserver_SessionInfo {
char *esi_session;
char *esi_provider;
char *esi_uuid;
char *esi_uid;
char *esi_state;
etraceserver_LLQInfo_t **esi_llqs;
int esi_llqs_count;
};
void etraceserver_SessionInfo_free(etraceserver_SessionInfo_t *in);
Fields:
esi_session
esi_provider
esi_uuid
esi_uid
esi_state
esi_llqs
esi_llqs_count
VERSION
1.0
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
+--------------------+-----------------------------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------------------------------------+
|Availability | system/management/rad/module/rad-etraceserver |
+--------------------+-----------------------------------------------+
|Interface Stability | Private |
+--------------------+-----------------------------------------------+
SEE ALSO
rad(8)
NOTES
1. Accessing Python documentation for this module:
$ pydoc rad.bindings.com.oracle.solaris.rad.etraceserver_1
Solaris 11.4 2017-02-01 ETRACESERVER-1(3rad)