#include "health-sessiond.h"
#include "ust-app.h"
#include "utils.h"
+#include "lttng-sessiond.h"
/*
* Send a data payload using a given consumer socket of size len.
ret = relayd_create_session(rsock,
&msg.u.relayd_sock.relayd_session_id,
session_name, hostname, session_live_timer,
- consumer->snapshot);
+ consumer->snapshot, session_id,
+ sessiond_uuid);
if (ret < 0) {
/* Close the control socket. */
(void) relayd_close(rsock);
*/
static int relayd_create_session_2_11(struct lttcomm_relayd_sock *rsock,
char *session_name, char *hostname,
- int session_live_timer, unsigned int snapshot)
+ int session_live_timer, unsigned int snapshot,
+ uint64_t sessiond_session_id, const lttng_uuid sessiond_uuid)
{
int ret;
struct lttcomm_relayd_create_session_2_11 *msg = NULL;
msg->live_timer = htobe32(session_live_timer);
msg->snapshot = !!snapshot;
+ lttng_uuid_copy(msg->sessiond_uuid, sessiond_uuid);
+ msg->session_id = htobe64(sessiond_session_id);
+
/* Send command */
ret = send_command(rsock, RELAYD_CREATE_SESSION, msg, msg_length, 0);
if (ret < 0) {
* On success, return 0 else a negative value which is either an errno error or
* a lttng error code from the relayd.
*/
-int relayd_create_session(struct lttcomm_relayd_sock *rsock, uint64_t *session_id,
+int relayd_create_session(struct lttcomm_relayd_sock *rsock, uint64_t *relayd_session_id,
char *session_name, char *hostname, int session_live_timer,
- unsigned int snapshot)
+ unsigned int snapshot, uint64_t sessiond_session_id,
+ const lttng_uuid sessiond_uuid)
{
int ret;
struct lttcomm_relayd_status_session reply;
assert(rsock);
- assert(session_id);
+ assert(relayd_session_id);
DBG("Relayd create session");
} else {
/* From 2.11 to ... */
ret = relayd_create_session_2_11(rsock, session_name,
- hostname, session_live_timer, snapshot);
+ hostname, session_live_timer, snapshot,
+ sessiond_session_id, sessiond_uuid);
}
if (ret < 0) {
goto error;
} else {
ret = 0;
- *session_id = reply.session_id;
+ *relayd_session_id = reply.session_id;
}
DBG("Relayd session created with id %" PRIu64, reply.session_id);
int relayd_connect(struct lttcomm_relayd_sock *sock);
int relayd_close(struct lttcomm_relayd_sock *sock);
-int relayd_create_session(struct lttcomm_relayd_sock *sock, uint64_t *session_id,
- char *session_name, char *hostname, int session_live_timer,
- unsigned int snapshot);
+int relayd_create_session(struct lttcomm_relayd_sock *sock,
+ uint64_t *relayd_session_id, char *session_name, char *hostname,
+ int session_live_timer, unsigned int snapshot,
+ uint64_t sessiond_session_id, const lttng_uuid sessiond_uuid);
int relayd_add_stream(struct lttcomm_relayd_sock *sock, const char *channel_name,
const char *pathname, uint64_t *stream_id,
uint64_t tracefile_size, uint64_t tracefile_count,
#include <common/defaults.h>
#include <common/index/ctf-index.h>
#include <common/macros.h>
+#include <common/compat/uuid.h>
#define RELAYD_VERSION_COMM_MAJOR VERSION_MAJOR
#define RELAYD_VERSION_COMM_MINOR VERSION_MINOR
uint32_t hostname_len;
uint32_t live_timer;
uint8_t snapshot;
+ /* Sessiond instance UUID */
+ lttng_uuid sessiond_uuid;
+ /* Sessiond session id */
+ uint64_t session_id;
/* Contains the session_name and hostname */
char names[];
} LTTNG_PACKED;
LIBHASHTABLE=$(top_builddir)/src/common/hashtable/libhashtable.la
LIBRELAYD=$(top_builddir)/src/common/relayd/librelayd.la
LIBHEALTH=$(top_builddir)/src/common/health/libhealth.la
+LIBCOMPAT=$(top_builddir)/src/common/compat/libcompat.la
LIVE= $(top_builddir)/src/bin/lttng-sessiond/consumer.$(OBJEXT) \
+ $(top_builddir)/src/bin/lttng-sessiond/globals.$(OBJEXT) \
$(top_builddir)/src/bin/lttng-sessiond/utils.$(OBJEXT) \
$(top_builddir)/src/bin/lttng-sessiond/snapshot.$(OBJEXT)
live_test_SOURCES = live_test.c
live_test_LDADD = $(LIBTAP) $(LIBCOMMON) $(LIBRELAYD) $(LIBSESSIOND_COMM) \
- $(LIBHASHTABLE) $(LIBHEALTH) $(DL_LIBS) -lrt
+ $(LIBHASHTABLE) $(LIBHEALTH) $(DL_LIBS) $(LIBCOMPAT) -lrt
live_test_LDADD += $(LIVE) \
$(top_builddir)/src/lib/lttng-ctl/liblttng-ctl.la
# Kernel data structures unit test
KERN_DATA_TRACE=$(top_builddir)/src/bin/lttng-sessiond/trace-kernel.$(OBJEXT) \
+ $(top_builddir)/src/common/compat/libcompat.la \
$(top_builddir)/src/bin/lttng-sessiond/consumer.$(OBJEXT) \
+ $(top_builddir)/src/bin/lttng-sessiond/globals.$(OBJEXT) \
$(top_builddir)/src/bin/lttng-sessiond/utils.$(OBJEXT) \
$(top_builddir)/src/common/health/libhealth.la \
$(top_builddir)/src/bin/lttng-sessiond/notification-thread-commands.$(OBJEXT) \