X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=include%2Flttng%2Flttng.h;h=d7799780a793148bacb47e4aed8a9bf13ba32443;hp=a8b7ac09a37351b307dc87714693217698b3a8d3;hb=d65106b1011efccf8fa5f9d7c8f2dfb0de38f5e8;hpb=26cc6b4e17dc888cd894ef1f42a83c59d7f8a95f diff --git a/include/lttng/lttng.h b/include/lttng/lttng.h index a8b7ac09a..d7799780a 100644 --- a/include/lttng/lttng.h +++ b/include/lttng/lttng.h @@ -44,6 +44,35 @@ enum lttng_event_type { LTTNG_EVENT_FUNCTION, }; +/* Kernel context possible type */ +enum lttng_kernel_context_type { + LTTNG_KERNEL_CONTEXT_PID = 0, + LTTNG_KERNEL_CONTEXT_PERF_COUNTER = 1, + LTTNG_KERNEL_CONTEXT_COMM = 2, + LTTNG_KERNEL_CONTEXT_PRIO = 3, + LTTNG_KERNEL_CONTEXT_NICE = 4, + LTTNG_KERNEL_CONTEXT_VPID = 5, + LTTNG_KERNEL_CONTEXT_TID = 6, + LTTNG_KERNEL_CONTEXT_VTID = 7, + LTTNG_KERNEL_CONTEXT_PPID = 8, + LTTNG_KERNEL_CONTEXT_VPPID = 9, +}; + +/* Perf counter attributes */ +struct lttng_kernel_perf_counter_ctx { + uint32_t type; + uint64_t config; + char name[LTTNG_SYMBOL_NAME_LEN]; +}; + +/* Event/Channel context */ +struct lttng_kernel_context { + enum lttng_kernel_context_type ctx; + union { + struct lttng_kernel_perf_counter_ctx perf_counter; + } u; +}; + /* * Either addr is used or symbol_name and offset. */ @@ -129,6 +158,9 @@ extern int lttng_stop_tracing(char *session_name); /* * LTTng Kernel tracer control */ +extern int lttng_kernel_add_context(struct lttng_kernel_context *ctx, + char *event_name, char *channel_name); + extern int lttng_kernel_create_channel(struct lttng_channel *chan); extern int lttng_kernel_enable_event(struct lttng_event *ev, char *channel_name);