projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Adding log4j agent support
[lttng-tools.git]
/
src
/
bin
/
lttng-sessiond
/
main.c
diff --git
a/src/bin/lttng-sessiond/main.c
b/src/bin/lttng-sessiond/main.c
index a8751c696a62c58a5b634d2671be6971369dacde..c7fc178cdf09820809f14c218ac236f989439317 100644
(file)
--- a/
src/bin/lttng-sessiond/main.c
+++ b/
src/bin/lttng-sessiond/main.c
@@
-67,7
+67,7
@@
#include "health-sessiond.h"
#include "testpoint.h"
#include "ust-thread.h"
#include "health-sessiond.h"
#include "testpoint.h"
#include "ust-thread.h"
-#include "
jul
-thread.h"
+#include "
agent
-thread.h"
#include "save.h"
#include "load-session-thread.h"
#include "save.h"
#include "load-session-thread.h"
@@
-153,7
+153,7
@@
static const struct option long_options[] = {
{ "verbose-consumer", 0, 0, 'Z' },
{ "no-kernel", 0, 0, 'N' },
{ "pidfile", 1, 0, 'p' },
{ "verbose-consumer", 0, 0, 'Z' },
{ "no-kernel", 0, 0, 'N' },
{ "pidfile", 1, 0, 'p' },
- { "
jul
-tcp-port", 1, 0, 'J' },
+ { "
agent
-tcp-port", 1, 0, 'J' },
{ "config", 1, 0, 'f' },
{ "load", 1, 0, 'l' },
{ "kmod-probes", 1, 0, 'P' },
{ "config", 1, 0, 'f' },
{ "load", 1, 0, 'l' },
{ "kmod-probes", 1, 0, 'P' },
@@
-204,7
+204,7
@@
static pthread_t kernel_thread;
static pthread_t dispatch_thread;
static pthread_t health_thread;
static pthread_t ht_cleanup_thread;
static pthread_t dispatch_thread;
static pthread_t health_thread;
static pthread_t ht_cleanup_thread;
-static pthread_t
jul
_reg_thread;
+static pthread_t
agent
_reg_thread;
static pthread_t load_session_thread;
/*
static pthread_t load_session_thread;
/*
@@
-289,8
+289,8
@@
long page_size;
/* Application health monitoring */
struct health_app *health_sessiond;
/* Application health monitoring */
struct health_app *health_sessiond;
-/*
JUL TCP port for registration. Used by the JUL
thread. */
-unsigned int
jul_tcp_port = DEFAULT_JUL
_TCP_PORT;
+/*
Agent TCP port for registration. Used by the agent
thread. */
+unsigned int
agent_tcp_port = DEFAULT_AGENT
_TCP_PORT;
/* Am I root or not. */
int is_root; /* Set to 1 if the daemon is running as root */
/* Am I root or not. */
int is_root; /* Set to 1 if the daemon is running as root */
@@
-571,7
+571,7
@@
static void cleanup(void)
(void) unlink(path);
snprintf(path, PATH_MAX, "%s/%s", rundir,
(void) unlink(path);
snprintf(path, PATH_MAX, "%s/%s", rundir,
- DEFAULT_LTTNG_SESSIOND_
JUL
PORT_FILE);
+ DEFAULT_LTTNG_SESSIOND_
AGENT
PORT_FILE);
DBG("Removing %s", path);
(void) unlink(path);
DBG("Removing %s", path);
(void) unlink(path);
@@
-1685,7
+1685,7
@@
error_create:
static void *thread_dispatch_ust_registration(void *data)
{
int ret, err = -1;
static void *thread_dispatch_ust_registration(void *data)
{
int ret, err = -1;
- struct cds_wfq_node *node;
+ struct cds_wf
c
q_node *node;
struct ust_command *ust_cmd = NULL;
struct ust_reg_wait_node *wait_node = NULL, *tmp_wait_node;
struct ust_reg_wait_queue wait_queue = {
struct ust_command *ust_cmd = NULL;
struct ust_reg_wait_node *wait_node = NULL, *tmp_wait_node;
struct ust_reg_wait_queue wait_queue = {
@@
-1723,7
+1723,7
@@
static void *thread_dispatch_ust_registration(void *data)
health_code_update();
/* Dequeue command for registration */
health_code_update();
/* Dequeue command for registration */
- node = cds_wf
q_dequeue_blocking(&ust_cmd_queue.queue
);
+ node = cds_wf
cq_dequeue_blocking(&ust_cmd_queue.head, &ust_cmd_queue.tail
);
if (node == NULL) {
DBG("Woken up but nothing in the UST command queue");
/* Continue thread execution */
if (node == NULL) {
DBG("Woken up but nothing in the UST command queue");
/* Continue thread execution */
@@
-2077,11
+2077,11
@@
static void *thread_registration_apps(void *data)
* Lock free enqueue the registration request. The red pill
* has been taken! This apps will be part of the *system*.
*/
* Lock free enqueue the registration request. The red pill
* has been taken! This apps will be part of the *system*.
*/
- cds_wf
q_enqueue(&ust_cmd_queue.queue
, &ust_cmd->node);
+ cds_wf
cq_enqueue(&ust_cmd_queue.head, &ust_cmd_queue.tail
, &ust_cmd->node);
/*
* Wake the registration queue futex. Implicit memory
/*
* Wake the registration queue futex. Implicit memory
- * barrier with the exchange in cds_wfq_enqueue.
+ * barrier with the exchange in cds_wf
c
q_enqueue.
*/
futex_nto1_wake(&ust_cmd_queue.futex);
}
*/
futex_nto1_wake(&ust_cmd_queue.futex);
}
@@
-2593,6
+2593,7
@@
static int copy_session_consumer(int domain, struct ltt_session *session)
dir_name = DEFAULT_KERNEL_TRACE_DIR;
break;
case LTTNG_DOMAIN_JUL:
dir_name = DEFAULT_KERNEL_TRACE_DIR;
break;
case LTTNG_DOMAIN_JUL:
+ case LTTNG_DOMAIN_LOG4J:
case LTTNG_DOMAIN_UST:
DBG3("Copying tracing session consumer output in UST session");
if (session->ust_session->consumer) {
case LTTNG_DOMAIN_UST:
DBG3("Copying tracing session consumer output in UST session");
if (session->ust_session->consumer) {
@@
-2637,6
+2638,7
@@
static int create_ust_session(struct ltt_session *session,
switch (domain->type) {
case LTTNG_DOMAIN_JUL:
switch (domain->type) {
case LTTNG_DOMAIN_JUL:
+ case LTTNG_DOMAIN_LOG4J:
case LTTNG_DOMAIN_UST:
break;
default:
case LTTNG_DOMAIN_UST:
break;
default:
@@
-2882,6
+2884,7
@@
static int process_client_msg(struct command_ctx *cmd_ctx, int sock,
}
break;
case LTTNG_DOMAIN_JUL:
}
break;
case LTTNG_DOMAIN_JUL:
+ case LTTNG_DOMAIN_LOG4J:
case LTTNG_DOMAIN_UST:
if (!cmd_ctx->session->ust_session) {
ret = LTTNG_ERR_NO_CHANNEL;
case LTTNG_DOMAIN_UST:
if (!cmd_ctx->session->ust_session) {
ret = LTTNG_ERR_NO_CHANNEL;
@@
-2963,6
+2966,7
@@
static int process_client_msg(struct command_ctx *cmd_ctx, int sock,
break;
case LTTNG_DOMAIN_JUL:
break;
case LTTNG_DOMAIN_JUL:
+ case LTTNG_DOMAIN_LOG4J:
case LTTNG_DOMAIN_UST:
{
if (!ust_app_supported()) {
case LTTNG_DOMAIN_UST:
{
if (!ust_app_supported()) {
@@
-3016,6
+3020,7
@@
static int process_client_msg(struct command_ctx *cmd_ctx, int sock,
}
/* 32-bit */
}
/* 32-bit */
+ pthread_mutex_lock(&ustconsumer32_data.pid_mutex);
if (consumerd32_bin[0] != '\0' &&
ustconsumer32_data.pid == 0 &&
cmd_ctx->lsm->cmd_type != LTTNG_REGISTER_CONSUMER) {
if (consumerd32_bin[0] != '\0' &&
ustconsumer32_data.pid == 0 &&
cmd_ctx->lsm->cmd_type != LTTNG_REGISTER_CONSUMER) {
@@
-3055,6
+3060,7
@@
skip_domain:
cmd_ctx->lsm->cmd_type == LTTNG_STOP_TRACE) {
switch (cmd_ctx->lsm->domain.type) {
case LTTNG_DOMAIN_JUL:
cmd_ctx->lsm->cmd_type == LTTNG_STOP_TRACE) {
switch (cmd_ctx->lsm->domain.type) {
case LTTNG_DOMAIN_JUL:
+ case LTTNG_DOMAIN_LOG4J:
case LTTNG_DOMAIN_UST:
if (uatomic_read(&ust_consumerd_state) != CONSUMER_STARTED) {
ret = LTTNG_ERR_NO_USTCONSUMERD;
case LTTNG_DOMAIN_UST:
if (uatomic_read(&ust_consumerd_state) != CONSUMER_STARTED) {
ret = LTTNG_ERR_NO_USTCONSUMERD;
@@
-4204,7
+4210,7
@@
static void usage(void)
fprintf(stderr, " -p, --pidfile FILE Write a pid to FILE name overriding the default value.\n");
fprintf(stderr, " --verbose-consumer Verbose mode for consumer. Activate DBG() macro.\n");
fprintf(stderr, " --no-kernel Disable kernel tracer\n");
fprintf(stderr, " -p, --pidfile FILE Write a pid to FILE name overriding the default value.\n");
fprintf(stderr, " --verbose-consumer Verbose mode for consumer. Activate DBG() macro.\n");
fprintf(stderr, " --no-kernel Disable kernel tracer\n");
- fprintf(stderr, " --
jul-tcp-port JUL application
registration TCP port\n");
+ fprintf(stderr, " --
agent-tcp-port Agent
registration TCP port\n");
fprintf(stderr, " -f --config Load daemon configuration file\n");
fprintf(stderr, " -l --load PATH Load session configuration\n");
fprintf(stderr, " --kmod-probes Specify kernel module probes to load\n");
fprintf(stderr, " -f --config Load daemon configuration file\n");
fprintf(stderr, " -l --load PATH Load session configuration\n");
fprintf(stderr, " --kmod-probes Specify kernel module probes to load\n");
@@
-4360,22
+4366,22
@@
static int set_option(int opt, const char *arg, const char *optname)
ret = -ENOMEM;
}
break;
ret = -ENOMEM;
}
break;
- case 'J': /*
JUL
TCP port. */
+ case 'J': /*
Agent
TCP port. */
{
unsigned long v;
errno = 0;
v = strtoul(arg, NULL, 0);
if (errno != 0 || !isdigit(arg[0])) {
{
unsigned long v;
errno = 0;
v = strtoul(arg, NULL, 0);
if (errno != 0 || !isdigit(arg[0])) {
- ERR("Wrong value in --
jul
-tcp-port parameter: %s", arg);
+ ERR("Wrong value in --
agent
-tcp-port parameter: %s", arg);
return -1;
}
if (v == 0 || v >= 65535) {
return -1;
}
if (v == 0 || v >= 65535) {
- ERR("Port overflow in --
jul
-tcp-port parameter: %s", arg);
+ ERR("Port overflow in --
agent
-tcp-port parameter: %s", arg);
return -1;
}
return -1;
}
-
jul
_tcp_port = (uint32_t) v;
- DBG3("
JUL TCP port set to non default: %u", jul
_tcp_port);
+
agent
_tcp_port = (uint32_t) v;
+ DBG3("
Agent TCP port set to non default: %u", agent
_tcp_port);
break;
}
case 'l':
break;
}
case 'l':
@@
-4915,9
+4921,9
@@
error:
}
/*
}
/*
- * Write
JUL
TCP port using the rundir.
+ * Write
agent
TCP port using the rundir.
*/
*/
-static void write_
jul
port(void)
+static void write_
agent_
port(void)
{
int ret;
char path[PATH_MAX];
{
int ret;
char path[PATH_MAX];
@@
-4925,18
+4931,18
@@
static void write_julport(void)
assert(rundir);
ret = snprintf(path, sizeof(path), "%s/"
assert(rundir);
ret = snprintf(path, sizeof(path), "%s/"
- DEFAULT_LTTNG_SESSIOND_
JUL
PORT_FILE, rundir);
+ DEFAULT_LTTNG_SESSIOND_
AGENT
PORT_FILE, rundir);
if (ret < 0) {
if (ret < 0) {
- PERROR("snprintf
jul
port path");
+ PERROR("snprintf
agent
port path");
goto error;
}
/*
goto error;
}
/*
- * Create TCP
JUL
port file in rundir. Return value is of no importance.
+ * Create TCP
agent
port file in rundir. Return value is of no importance.
* The execution will continue even though we are not able to write the
* file.
*/
* The execution will continue even though we are not able to write the
* file.
*/
- (void) utils_create_pid_file(
jul
_tcp_port, path);
+ (void) utils_create_pid_file(
agent
_tcp_port, path);
error:
return;
error:
return;
@@
-5173,8
+5179,8
@@
int main(int argc, char **argv)
*/
ust_app_ht_alloc();
*/
ust_app_ht_alloc();
- /* Initialize
JUL
domain subsystem. */
- if ((ret =
jul_init
()) < 0) {
+ /* Initialize
agent
domain subsystem. */
+ if ((ret =
agent_setup
()) < 0) {
/* ENOMEM at this point. */
goto error;
}
/* ENOMEM at this point. */
goto error;
}
@@
-5256,7
+5262,7
@@
int main(int argc, char **argv)
buffer_reg_init_pid_registry();
/* Init UST command queue. */
buffer_reg_init_pid_registry();
/* Init UST command queue. */
- cds_wf
q_init(&ust_cmd_queue.queue
);
+ cds_wf
cq_init(&ust_cmd_queue.head, &ust_cmd_queue.tail
);
/*
* Get session list pointer. This pointer MUST NOT be free(). This list is
/*
* Get session list pointer. This pointer MUST NOT be free(). This list is
@@
-5278,7
+5284,7
@@
int main(int argc, char **argv)
}
write_pidfile();
}
write_pidfile();
- write_
jul
port();
+ write_
agent_
port();
/* Initialize communication library */
lttcomm_init();
/* Initialize communication library */
lttcomm_init();
@@
-5356,12
+5362,12
@@
int main(int argc, char **argv)
goto exit_apps_notify;
}
goto exit_apps_notify;
}
- /* Create
JUL
registration thread. */
- ret = pthread_create(&
jul
_reg_thread, NULL,
-
jul
_thread_manage_registration, (void *) NULL);
+ /* Create
agent
registration thread. */
+ ret = pthread_create(&
agent
_reg_thread, NULL,
+
agent
_thread_manage_registration, (void *) NULL);
if (ret != 0) {
if (ret != 0) {
- PERROR("pthread_create
JUL
");
- goto exit_
jul
_reg;
+ PERROR("pthread_create
agent
");
+ goto exit_
agent
_reg;
}
/* Don't start this thread if kernel tracing is not requested nor root */
}
/* Don't start this thread if kernel tracing is not requested nor root */
@@
-5387,13
+5393,13
@@
int main(int argc, char **argv)
}
exit_kernel:
}
exit_kernel:
- ret = pthread_join(
jul
_reg_thread, &status);
+ ret = pthread_join(
agent
_reg_thread, &status);
if (ret != 0) {
if (ret != 0) {
- PERROR("pthread_join
JUL
");
+ PERROR("pthread_join
agent
");
goto error; /* join error, exit without cleanup */
}
goto error; /* join error, exit without cleanup */
}
-exit_
jul
_reg:
+exit_
agent
_reg:
ret = pthread_join(apps_notify_thread, &status);
if (ret != 0) {
PERROR("pthread_join apps notify");
ret = pthread_join(apps_notify_thread, &status);
if (ret != 0) {
PERROR("pthread_join apps notify");
This page took
0.031388 seconds
and
4
git commands to generate.