X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=include%2Flttng%2Fust-events.h;h=c79bbed62174c920efcc0b891b94bb3479295cbe;hb=77aa5901fd3f09001fb7e78f3533cf58c6d345e5;hp=05966ff69e344218daf0fa29b9e401843e3b7eac;hpb=13b21cd60df2abab292653cead980ef27dbfab08;p=lttng-ust.git diff --git a/include/lttng/ust-events.h b/include/lttng/ust-events.h index 05966ff6..c79bbed6 100644 --- a/include/lttng/ust-events.h +++ b/include/lttng/ust-events.h @@ -54,6 +54,8 @@ enum lttng_client_types { LTTNG_CLIENT_METADATA = 0, LTTNG_CLIENT_DISCARD = 1, LTTNG_CLIENT_OVERWRITE = 2, + LTTNG_CLIENT_DISCARD_RT = 3, + LTTNG_CLIENT_OVERWRITE_RT = 4, LTTNG_NR_CLIENT_TYPES, }; @@ -203,6 +205,12 @@ struct lttng_event_field { char padding[LTTNG_UST_EVENT_FIELD_PADDING]; }; +union lttng_ctx_value { + int64_t s64; + const char *str; + double d; +}; + #define LTTNG_UST_CTX_FIELD_PADDING 40 struct lttng_ctx_field { struct lttng_event_field event_field; @@ -210,6 +218,8 @@ struct lttng_ctx_field { void (*record)(struct lttng_ctx_field *field, struct lttng_ust_lib_ring_buffer_ctx *ctx, struct lttng_channel *chan); + void (*get_value)(struct lttng_ctx_field *field, + union lttng_ctx_value *value); union { char padding[LTTNG_UST_CTX_FIELD_PADDING]; } u; @@ -365,6 +375,7 @@ struct lttng_event { /* Backward references: list of lttng_enabler_ref (ref to enablers) */ struct cds_list_head enablers_ref_head; struct cds_hlist_node hlist; /* session ht of events */ + int registered; /* has reg'd tracepoint probe */ }; struct channel; @@ -381,7 +392,8 @@ struct lttng_channel_ops { size_t subbuf_size, size_t num_subbuf, unsigned int switch_timer_interval, unsigned int read_timer_interval, - unsigned char *uuid); + unsigned char *uuid, + uint32_t chan_id); void (*channel_destroy)(struct lttng_channel *chan); int (*event_reserve)(struct lttng_ust_lib_ring_buffer_ctx *ctx, uint32_t event_id); @@ -432,6 +444,7 @@ struct lttng_channel { unsigned int id; enum lttng_ust_chan_type type; unsigned char uuid[LTTNG_UST_UUID_LEN]; /* Trace session unique ID */ + int tstate:1; /* Transient enable state */ }; #define LTTNG_UST_EVENT_HT_BITS 12 @@ -463,6 +476,7 @@ struct lttng_session { struct cds_list_head enablers_head; struct lttng_ust_event_ht events_ht; /* ht of events */ void *owner; /* object owner */ + int tstate:1; /* Transient enable state */ }; struct lttng_transport { @@ -514,6 +528,7 @@ int lttng_fix_pending_event_desc(const struct lttng_event_desc *desc); int lttng_probes_init(void); void lttng_probes_exit(void); int lttng_find_context(struct lttng_ctx *ctx, const char *name); +int lttng_get_context_index(struct lttng_ctx *ctx, const char *name); struct lttng_ctx_field *lttng_append_context(struct lttng_ctx **ctx_p); void lttng_remove_context_field(struct lttng_ctx **ctx_p, struct lttng_ctx_field *field);