projects
/
lttng-modules.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add context support with metadata description
[lttng-modules.git]
/
ltt-events.h
diff --git
a/ltt-events.h
b/ltt-events.h
index bacef0a82e69c92f4dca34291a70db7426ccb86b..a5a57fcdf016c868c5ee0fe50f31afb2e07efd6d 100644
(file)
--- a/
ltt-events.h
+++ b/
ltt-events.h
@@
-14,6
+14,9
@@
#include <linux/kprobes.h>
#include "ltt-debugfs-abi.h"
#include <linux/kprobes.h>
#include "ltt-debugfs-abi.h"
+#undef is_signed_type
+#define is_signed_type(type) (((type)(-1)) < 0)
+
struct ltt_channel;
struct ltt_session;
struct lib_ring_buffer_ctx;
struct ltt_channel;
struct ltt_session;
struct lib_ring_buffer_ctx;
@@
-115,9
+118,11
@@
struct lttng_event_field {
};
struct lttng_ctx_field {
};
struct lttng_ctx_field {
- const char *name;
- struct lttng_type type;
- void *callback;
+ struct lttng_event_field event_field;
+ size_t (*get_size)(size_t offset);
+ void (*record)(struct lttng_ctx_field *field,
+ struct lib_ring_buffer_ctx *ctx,
+ struct ltt_channel *chan);
union {
struct {
struct perf_event **e; /* per-cpu array */
union {
struct {
struct perf_event **e; /* per-cpu array */
@@
-158,6
+163,7
@@
struct ltt_event {
struct ltt_channel *chan;
const struct lttng_event_desc *desc;
void *filter;
struct ltt_channel *chan;
const struct lttng_event_desc *desc;
void *filter;
+ struct lttng_ctx *ctx;
enum lttng_kernel_instrumentation instrumentation;
union {
struct {
enum lttng_kernel_instrumentation instrumentation;
union {
struct {
@@
-199,6
+205,7
@@
struct ltt_channel_ops {
struct ltt_channel {
unsigned int id;
struct channel *chan; /* Channel buffers */
struct ltt_channel {
unsigned int id;
struct channel *chan; /* Channel buffers */
+ struct lttng_ctx *ctx;
/* Event ID management */
struct ltt_session *session;
struct file *file; /* File associated to channel */
/* Event ID management */
struct ltt_session *session;
struct file *file; /* File associated to channel */
@@
-212,6
+219,7
@@
struct ltt_channel {
struct ltt_session {
int active; /* Is trace session active ? */
struct ltt_session {
int active; /* Is trace session active ? */
+ int been_active; /* Has trace session been active ? */
struct file *file; /* File associated to session */
struct ltt_channel *metadata; /* Metadata channel */
struct list_head chan; /* Channel list head */
struct file *file; /* File associated to session */
struct ltt_channel *metadata; /* Metadata channel */
struct list_head chan; /* Channel list head */
@@
-264,6
+272,7
@@
int ltt_probes_init(void);
void ltt_probes_exit(void);
struct lttng_ctx_field *lttng_append_context(struct lttng_ctx **ctx);
void lttng_destroy_context(struct lttng_ctx *ctx);
void ltt_probes_exit(void);
struct lttng_ctx_field *lttng_append_context(struct lttng_ctx **ctx);
void lttng_destroy_context(struct lttng_ctx *ctx);
+int lttng_add_pid_to_ctx(struct lttng_ctx **ctx);
#ifdef CONFIG_KPROBES
int lttng_kprobes_register(const char *name,
#ifdef CONFIG_KPROBES
int lttng_kprobes_register(const char *name,
This page took
0.023667 seconds
and
4
git commands to generate.