projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Implement the relayd live features
[lttng-tools.git]
/
src
/
common
/
sessiond-comm
/
sessiond-comm.h
diff --git
a/src/common/sessiond-comm/sessiond-comm.h
b/src/common/sessiond-comm/sessiond-comm.h
index 2450e79ec5bd78379941e9765de694a02df76ed8..f86ba732301aa6c6d1b035eb822c15bebd884438 100644
(file)
--- a/
src/common/sessiond-comm/sessiond-comm.h
+++ b/
src/common/sessiond-comm/sessiond-comm.h
@@
-88,6
+88,7
@@
enum lttcomm_sessiond_command {
LTTNG_SNAPSHOT_LIST_OUTPUT = 27,
LTTNG_SNAPSHOT_RECORD = 28,
LTTNG_CREATE_SESSION_SNAPSHOT = 29,
LTTNG_SNAPSHOT_LIST_OUTPUT = 27,
LTTNG_SNAPSHOT_RECORD = 28,
LTTNG_CREATE_SESSION_SNAPSHOT = 29,
+ LTTNG_CREATE_SESSION_LIVE = 30,
};
enum lttcomm_relayd_command {
};
enum lttcomm_relayd_command {
@@
-102,6
+103,11
@@
enum lttcomm_relayd_command {
RELAYD_QUIESCENT_CONTROL = 9,
RELAYD_BEGIN_DATA_PENDING = 10,
RELAYD_END_DATA_PENDING = 11,
RELAYD_QUIESCENT_CONTROL = 9,
RELAYD_BEGIN_DATA_PENDING = 10,
RELAYD_END_DATA_PENDING = 11,
+ RELAYD_ADD_INDEX = 12,
+ RELAYD_SEND_INDEX = 13,
+ RELAYD_CLOSE_INDEX = 14,
+ /* Live-reading commands. */
+ RELAYD_LIST_SESSIONS = 15,
};
/*
};
/*
@@
-255,6
+261,10
@@
struct lttcomm_session_msg {
uint32_t wait;
struct lttng_snapshot_output output;
} LTTNG_PACKED snapshot_record;
uint32_t wait;
struct lttng_snapshot_output output;
} LTTNG_PACKED snapshot_record;
+ struct {
+ uint32_t nb_uri;
+ unsigned int timer_interval; /* usec */
+ } LTTNG_PACKED session_live;
} u;
} LTTNG_PACKED;
} u;
} LTTNG_PACKED;
@@
-324,6
+334,8
@@
struct lttcomm_consumer_msg {
uint32_t tracefile_count; /* number of tracefiles */
/* If the channel's streams have to be monitored or not. */
uint32_t monitor;
uint32_t tracefile_count; /* number of tracefiles */
/* If the channel's streams have to be monitored or not. */
uint32_t monitor;
+ /* timer to check the streams usage in live mode (usec). */
+ unsigned int live_timer_interval;
} LTTNG_PACKED channel; /* Only used by Kernel. */
struct {
uint64_t stream_key;
} LTTNG_PACKED channel; /* Only used by Kernel. */
struct {
uint64_t stream_key;
@@
-339,6
+351,8
@@
struct lttcomm_consumer_msg {
struct lttcomm_relayd_sock sock;
/* Tracing session id associated to the relayd. */
uint64_t session_id;
struct lttcomm_relayd_sock sock;
/* Tracing session id associated to the relayd. */
uint64_t session_id;
+ /* Relayd session id, only used with control socket. */
+ uint64_t relayd_session_id;
} LTTNG_PACKED relayd_sock;
struct {
uint64_t net_seq_idx;
} LTTNG_PACKED relayd_sock;
struct {
uint64_t net_seq_idx;
@@
-352,6
+366,7
@@
struct lttcomm_consumer_msg {
int32_t overwrite; /* 1: overwrite, 0: discard */
uint32_t switch_timer_interval; /* usec */
uint32_t read_timer_interval; /* usec */
int32_t overwrite; /* 1: overwrite, 0: discard */
uint32_t switch_timer_interval; /* usec */
uint32_t read_timer_interval; /* usec */
+ unsigned int live_timer_interval; /* usec */
int32_t output; /* splice, mmap */
int32_t type; /* metadata or per_cpu */
uint64_t session_id; /* Tracing session id */
int32_t output; /* splice, mmap */
int32_t type; /* metadata or per_cpu */
uint64_t session_id; /* Tracing session id */
@@
-368,6
+383,13
@@
struct lttcomm_consumer_msg {
uint64_t session_id_per_pid; /* Per-pid session ID. */
/* Tells the consumer if the stream should be or not monitored. */
uint32_t monitor;
uint64_t session_id_per_pid; /* Per-pid session ID. */
/* Tells the consumer if the stream should be or not monitored. */
uint32_t monitor;
+ /*
+ * For UST per UID buffers, this is the application UID of the
+ * channel. This can be different from the user UID requesting the
+ * channel creation and used for the rights on the stream file
+ * because the application can be in the tracing for instance.
+ */
+ uint32_t ust_app_uid;
} LTTNG_PACKED ask_channel;
struct {
uint64_t key;
} LTTNG_PACKED ask_channel;
struct {
uint64_t key;
@@
-474,6
+496,9
@@
extern void lttcomm_copy_sock(struct lttcomm_sock *dst,
extern struct lttcomm_relayd_sock *lttcomm_alloc_relayd_sock(
struct lttng_uri *uri, uint32_t major, uint32_t minor);
extern struct lttcomm_relayd_sock *lttcomm_alloc_relayd_sock(
struct lttng_uri *uri, uint32_t major, uint32_t minor);
+extern int lttcomm_setsockopt_rcv_timeout(int sock, unsigned int msec);
+extern int lttcomm_setsockopt_snd_timeout(int sock, unsigned int msec);
+
extern void lttcomm_init(void);
/* Get network timeout, in milliseconds */
extern unsigned long lttcomm_get_network_timeout(void);
extern void lttcomm_init(void);
/* Get network timeout, in milliseconds */
extern unsigned long lttcomm_get_network_timeout(void);
This page took
0.023924 seconds
and
4
git commands to generate.