projects
/
lttng-ust.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Implement capturing payload on event notifiers
[lttng-ust.git]
/
include
/
lttng
/
ust-events.h
diff --git
a/include/lttng/ust-events.h
b/include/lttng/ust-events.h
index 41164ac348eb1edf14e83960f07027205cb037ca..44b8d4c4878819d57b2a13b7130e9c28862540d7 100644
(file)
--- a/
include/lttng/ust-events.h
+++ b/
include/lttng/ust-events.h
@@
-315,6
+315,7
@@
struct lttng_ctx_value {
enum lttng_ust_dynamic_type sel;
union {
int64_t s64;
enum lttng_ust_dynamic_type sel;
union {
int64_t s64;
+ uint64_t u64;
const char *str;
double d;
} u;
const char *str;
double d;
} u;
@@
-434,6
+435,8
@@
enum lttng_bytecode_interpreter_ret {
/* Other bits are kept for future use. */
};
/* Other bits are kept for future use. */
};
+struct lttng_interpreter_output;
+
/*
* This structure is used in the probes. More specifically, the `filter` and
* `node` fields are explicity used in the probes. When modifying this
/*
* This structure is used in the probes. More specifically, the `filter` and
* `node` fields are explicity used in the probes. When modifying this
@@
-446,6
+449,9
@@
struct lttng_bytecode_runtime {
union {
uint64_t (*filter)(void *interpreter_data,
const char *interpreter_stack_data);
union {
uint64_t (*filter)(void *interpreter_data,
const char *interpreter_stack_data);
+ uint64_t (*capture)(void *interpreter_data,
+ const char *interpreter_stack_data,
+ struct lttng_interpreter_output *interpreter_output);
} interpreter_funcs;
int link_failed;
struct cds_list_head node; /* list of bytecode runtime in event */
} interpreter_funcs;
int link_failed;
struct cds_list_head node; /* list of bytecode runtime in event */
@@
-506,7
+512,9
@@
struct lttng_event_notifier {
uint64_t user_token;
int enabled;
int registered; /* has reg'd tracepoint probe */
uint64_t user_token;
int enabled;
int registered; /* has reg'd tracepoint probe */
+ size_t num_captures; /* Needed to allocate the msgpack array. */
struct cds_list_head filter_bytecode_runtime_head;
struct cds_list_head filter_bytecode_runtime_head;
+ struct cds_list_head capture_bytecode_runtime_head;
int has_enablers_without_bytecode;
struct cds_list_head enablers_ref_head;
const struct lttng_event_desc *desc;
int has_enablers_without_bytecode;
struct cds_list_head enablers_ref_head;
const struct lttng_event_desc *desc;
@@
-694,7
+702,8
@@
int lttng_session_statedump(struct lttng_session *session);
void lttng_session_destroy(struct lttng_session *session);
void lttng_event_notifier_notification_send(
void lttng_session_destroy(struct lttng_session *session);
void lttng_event_notifier_notification_send(
- struct lttng_event_notifier *event_notifier);
+ struct lttng_event_notifier *event_notifier,
+ const char *stack_data);
struct lttng_channel *lttng_channel_create(struct lttng_session *session,
const char *transport_name,
struct lttng_channel *lttng_channel_create(struct lttng_session *session,
const char *transport_name,
@@
-712,8
+721,6
@@
int lttng_channel_disable(struct lttng_channel *channel);
int lttng_attach_context(struct lttng_ust_context *context_param,
union ust_args *uargs,
struct lttng_ctx **ctx, struct lttng_session *session);
int lttng_attach_context(struct lttng_ust_context *context_param,
union ust_args *uargs,
struct lttng_ctx **ctx, struct lttng_session *session);
-int lttng_session_context_init(struct lttng_ctx **ctx);
-
void lttng_transport_register(struct lttng_transport *transport);
void lttng_transport_unregister(struct lttng_transport *transport);
void lttng_transport_register(struct lttng_transport *transport);
void lttng_transport_unregister(struct lttng_transport *transport);
@@
-850,6
+857,8
@@
int lttng_enabler_attach_exclusion(struct lttng_enabler *enabler,
void lttng_enabler_event_link_bytecode(struct lttng_event *event,
struct lttng_enabler *enabler);
void lttng_filter_sync_state(struct lttng_bytecode_runtime *runtime);
void lttng_enabler_event_link_bytecode(struct lttng_event *event,
struct lttng_enabler *enabler);
void lttng_filter_sync_state(struct lttng_bytecode_runtime *runtime);
+int lttng_session_context_init(struct lttng_ctx **ctx);
+
#ifdef __cplusplus
}
#ifdef __cplusplus
}
This page took
0.024877 seconds
and
4
git commands to generate.