projects
/
lttng-modules.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix callstack context: write empty sequence if no stack trace
[lttng-modules.git]
/
lttng-events.h
diff --git
a/lttng-events.h
b/lttng-events.h
index 17dd8d3a3c312ef35da53f4cbbdd4aba75d4a2f7..2b1370520ecd85ab4d39364586ee08fe949d1f6a 100644
(file)
--- a/
lttng-events.h
+++ b/
lttng-events.h
@@
-55,6
+55,8
@@
enum abstract_types {
atype_array_compound, /* Array of compound types. */
atype_sequence_compound, /* Sequence of compound types. */
atype_variant,
atype_array_compound, /* Array of compound types. */
atype_sequence_compound, /* Sequence of compound types. */
atype_variant,
+ atype_array_bitfield,
+ atype_sequence_bitfield,
NR_ABSTRACT_TYPES,
};
NR_ABSTRACT_TYPES,
};
@@
-204,6
+206,9
@@
struct lttng_probe_ctx {
struct lttng_ctx_field {
struct lttng_event_field event_field;
size_t (*get_size)(size_t offset);
struct lttng_ctx_field {
struct lttng_event_field event_field;
size_t (*get_size)(size_t offset);
+ size_t (*get_size_arg)(size_t offset, struct lttng_ctx_field *field,
+ struct lib_ring_buffer_ctx *ctx,
+ struct lttng_channel *chan);
void (*record)(struct lttng_ctx_field *field,
struct lib_ring_buffer_ctx *ctx,
struct lttng_channel *chan);
void (*record)(struct lttng_ctx_field *field,
struct lib_ring_buffer_ctx *ctx,
struct lttng_channel *chan);
@@
-214,6
+219,12
@@
struct lttng_ctx_field {
struct lttng_perf_counter_field *perf_counter;
} u;
void (*destroy)(struct lttng_ctx_field *field);
struct lttng_perf_counter_field *perf_counter;
} u;
void (*destroy)(struct lttng_ctx_field *field);
+ /*
+ * Private data to keep state between get_size and record.
+ * User must perform its own synchronization to protect against
+ * concurrent and reentrant contexts.
+ */
+ void *priv;
};
struct lttng_ctx {
};
struct lttng_ctx {
@@
-275,6
+286,7
@@
struct lttng_bytecode_runtime {
const char *filter_stack_data);
int link_failed;
struct list_head node; /* list of bytecode runtime in event */
const char *filter_stack_data);
int link_failed;
struct list_head node; /* list of bytecode runtime in event */
+ struct lttng_event *event;
};
/*
};
/*
@@
-702,6
+714,9
@@
int lttng_add_migratable_to_ctx(struct lttng_ctx **ctx)
return -ENOSYS;
}
#endif
return -ENOSYS;
}
#endif
+
+int lttng_add_callstack_to_ctx(struct lttng_ctx **ctx, int type);
+
#if defined(CONFIG_PERF_EVENTS) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33))
int lttng_add_perf_counter_to_ctx(uint32_t type,
uint64_t config,
#if defined(CONFIG_PERF_EVENTS) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33))
int lttng_add_perf_counter_to_ctx(uint32_t type,
uint64_t config,
This page took
0.023577 seconds
and
4
git commands to generate.