LTTng performance monitoring counters integration (work in progress)
[lttng-modules.git] / ltt-events.h
index 45d459d47f39af0187763a38d75e5283652f1987..0b4638975cd718fc9e5e01885ed5f1ed89e03f1e 100644 (file)
@@ -17,6 +17,8 @@
 struct ltt_channel;
 struct ltt_session;
 struct lib_ring_buffer_ctx;
+struct perf_event;
+struct perf_event_attr;
 
 /* Type description */
 
@@ -112,9 +114,23 @@ struct lttng_event_field {
        struct lttng_type type;
 };
 
-struct lttng_event_ctx {
-       const struct lttng_event_field *fields;
+struct lttng_ctx_field {
+       const char *name;
+       struct lttng_type type;
+       void *callback;
+       union {
+               struct {
+                       struct perf_event **e;  /* per-cpu array */
+                       struct list_head head;
+                       struct perf_event_attr *attr;
+               } perf_counter;
+       } u;
+};
+
+struct lttng_ctx {
+       struct lttng_ctx_field *fields;
        unsigned int nr_fields;
+       unsigned int allocated_fields;
 };
 
 struct lttng_event_desc {
This page took 0.024884 seconds and 4 git commands to generate.