projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: improve lttng with live by spawning relayd
[lttng-tools.git]
/
src
/
bin
/
lttng-sessiond
/
jul.h
diff --git
a/src/bin/lttng-sessiond/jul.h
b/src/bin/lttng-sessiond/jul.h
index f7d3c48f8d078afd83eb4f015c3d6cb8ad3e3c72..55c9e18c758cdd3beb59bb9b9210dc626987593d 100644
(file)
--- a/
src/bin/lttng-sessiond/jul.h
+++ b/
src/bin/lttng-sessiond/jul.h
@@
-15,8
+15,8
@@
* Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
* Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifndef _JUL_H
-#define _JUL_H
+#ifndef
LTTNG_SESSIOND
_JUL_H
+#define
LTTNG_SESSIOND
_JUL_H
#define _GNU_SOURCE
#include <inttypes.h>
#define _GNU_SOURCE
#include <inttypes.h>
@@
-30,6
+30,11
@@
*/
struct lttng_ht *jul_apps_ht_by_sock;
*/
struct lttng_ht *jul_apps_ht_by_sock;
+struct jul_ht_key {
+ const char *name;
+ enum lttng_loglevel_jul loglevel;
+};
+
/*
* Registration message payload from a JUL application. The PID is used to find
* back the corresponding UST app object so both socket can be linked.
/*
* Registration message payload from a JUL application. The PID is used to find
* back the corresponding UST app object so both socket can be linked.
@@
-39,8
+44,9
@@
struct jul_register_msg {
};
/*
};
/*
- * JUL application object created after a successful registration. This object
- * is kept inside an UST app.
+ * JUL application object created after a successful registration. This
+ * object is linked to its associated UST app by their PID through hash
+ * table lookups.
*/
struct jul_app {
/*
*/
struct jul_app {
/*
@@
-53,14
+59,6
@@
struct jul_app {
*/
struct lttcomm_sock *sock;
*/
struct lttcomm_sock *sock;
- /*
- * Associated UST app. socket. To get a reference to the ust application
- * object corresponding to that socket, a lookup MUST be done each time
- * since there is important synchronization issue for the lockless hash
- * table shared accross multiple threads.
- */
- int ust_app_sock;
-
/* Initialized with the JUL sock value. */
struct lttng_ht_node_ulong node;
};
/* Initialized with the JUL sock value. */
struct lttng_ht_node_ulong node;
};
@@
-74,6
+72,8
@@
struct jul_event {
* the JUL API.
*/
char name[LTTNG_SYMBOL_NAME_LEN];
* the JUL API.
*/
char name[LTTNG_SYMBOL_NAME_LEN];
+ enum lttng_loglevel_jul loglevel;
+ enum lttng_loglevel_type loglevel_type;
/*
* Tells if the event is enabled or not on the JUL Agent.
/*
* Tells if the event is enabled or not on the JUL Agent.
@@
-91,6
+91,13
@@
struct jul_event {
* for it.
*/
struct jul_domain {
* for it.
*/
struct jul_domain {
+ /*
+ * This indicates if that domain is being used meaning if at least one
+ * event has been at some point in time added to it. This is used so when
+ * listing domains for a session, we can tell or not if the JUL is actually
+ * enabled.
+ */
+ unsigned int being_used:1;
/*
* Contains JUL event indexed by name.
*/
/*
* Contains JUL event indexed by name.
*/
@@
-107,7
+114,10
@@
void jul_destroy_domain(struct jul_domain *dom);
/* JUL event API. */
struct jul_event *jul_create_event(const char *name);
void jul_add_event(struct jul_event *event, struct jul_domain *dom);
/* JUL event API. */
struct jul_event *jul_create_event(const char *name);
void jul_add_event(struct jul_event *event, struct jul_domain *dom);
-struct jul_event *jul_find_by_name(const char *name, struct jul_domain *dom);
+struct jul_event *jul_find_event(const char *name,
+ enum lttng_loglevel_jul loglevel, struct jul_domain *dom);
+struct jul_event *jul_find_event_by_name(const char *name,
+ struct jul_domain *dom);
void jul_delete_event(struct jul_event *event, struct jul_domain *dom);
void jul_destroy_event(struct jul_event *event);
void jul_delete_event(struct jul_event *event, struct jul_domain *dom);
void jul_destroy_event(struct jul_event *event);
@@
-116,13
+126,13
@@
struct jul_app *jul_create_app(pid_t pid, struct lttcomm_sock *sock);
void jul_add_app(struct jul_app *app);
void jul_delete_app(struct jul_app *app);
struct jul_app *jul_find_app_by_sock(int sock);
void jul_add_app(struct jul_app *app);
void jul_delete_app(struct jul_app *app);
struct jul_app *jul_find_app_by_sock(int sock);
-void jul_attach_app(struct jul_app *japp);
-void jul_detach_app(struct jul_app *app);
void jul_destroy_app(struct jul_app *app);
void jul_destroy_app(struct jul_app *app);
+int jul_send_registration_done(struct jul_app *app);
/* JUL action API */
int jul_enable_event(struct jul_event *event);
int jul_disable_event(struct jul_event *event);
void jul_update(struct jul_domain *domain, int sock);
/* JUL action API */
int jul_enable_event(struct jul_event *event);
int jul_disable_event(struct jul_event *event);
void jul_update(struct jul_domain *domain, int sock);
+int jul_list_events(struct lttng_event **events);
-#endif /* _JUL_H */
+#endif /*
LTTNG_SESSIOND
_JUL_H */
This page took
0.025734 seconds
and
4
git commands to generate.