X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=include%2Flttng%2Flttng.h;h=8811e197aa68b89c207a6022faafc907b2350b0e;hp=3bb245239fd6889f86a3122b9f90cc9d3733ebcb;hb=b738434783af68bc4f8a0de9b97e89e58c30f16e;hpb=16421f6edd83b37e777b55add8396a91afcbb08a diff --git a/include/lttng/lttng.h b/include/lttng/lttng.h index 3bb245239..8811e197a 100644 --- a/include/lttng/lttng.h +++ b/include/lttng/lttng.h @@ -1,4 +1,8 @@ /* + * lttng.h + * + * Linux Trace Toolkit Control Library Header File + * * Copyright (C) 2011 - David Goulet * * This program is free software; you can redistribute it and/or @@ -16,83 +20,80 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#ifndef _LIBLTTNGCTL_H -#define _LIBLTTNGCTL_H +#ifndef _LTTNG_H +#define _LTTNG_H #include -#include #include -/* Default unix group name for tracing. - */ -#define DEFAULT_TRACING_GROUP "tracing" +/* Default unix group name for tracing. */ +#define LTTNG_DEFAULT_TRACING_GROUP "tracing" -/* Environment variable to set session daemon - * binary path. - */ +/* Environment variable to set session daemon binary path. */ #define LTTNG_SESSIOND_PATH_ENV "LTTNG_SESSIOND_PATH" -/* UUID string length (including \0) */ -#define UUID_STR_LEN 37 -/* UUID short string version length (including \0) */ -#define UUID_SHORT_STR_LEN 9 - -typedef uint64_t u64; - -/* Trace type for lttng_trace. +/* + * Trace type for lttng_trace. */ enum lttng_trace_type { - KERNEL, USERSPACE, -}; - -/* Simple structure representing a session. - */ -struct lttng_session { - char name[NAME_MAX]; - uuid_t uuid; + KERNEL, + USERSPACE, }; -/* Simple trace representation. +/* + * Basic trace information exposed. */ struct lttng_trace { char name[NAME_MAX]; - pid_t pid; + pid_t pid; /* Only useful for user-space trace */ enum lttng_trace_type type; }; /* - * LTTng DebugFS ABI structures. + * Basic session information exposed. */ -enum lttng_instrum_type { - INSTRUM_TRACEPOINTS, -}; - -struct lttng_channel { - int overwrite; /* 1: overwrite, 0: discard */ - u64 subbuf_size; - u64 num_subbuf; - unsigned int switch_timer_interval; - unsigned int read_timer_interval; -}; - -struct lttng_event { - enum lttng_instrum_type itype; - char name[]; +struct lttng_session { + char name[NAME_MAX]; + uuid_t uuid; }; -extern int lttng_create_session(char *name, uuid_t *session_id); -extern int lttng_destroy_session(uuid_t *uuid); +/* + * Session daemon control + */ +extern int lttng_check_session_daemon(void); extern int lttng_connect_sessiond(void); +extern int lttng_create_session(char *name); +extern int lttng_destroy_session(uuid_t *uuid); extern int lttng_disconnect_sessiond(void); -extern int lttng_set_tracing_group(const char *name); -extern int lttng_check_session_daemon(void); -extern const char *lttng_get_readable_code(int code); -extern int lttng_ust_list_apps(pid_t **pids); +/* Return an allocated array of lttng_session */ extern int lttng_list_sessions(struct lttng_session **sessions); +/* Return an allocated array of lttng_traces */ extern int lttng_list_traces(uuid_t *uuid, struct lttng_trace **traces); +/* Set tracing group for the current execution */ +extern int lttng_set_tracing_group(const char *name); +/* Set session uuid for the current execution */ extern void lttng_set_current_session_uuid(uuid_t *uuid); +extern const char *lttng_get_readable_code(int code); + +/* + * User-space tracer control + */ extern int lttng_ust_create_trace(pid_t pid); +/* Return an allocated array of pids */ +extern int lttng_ust_list_apps(pid_t **pids); extern int lttng_ust_start_trace(pid_t pid); extern int lttng_ust_stop_trace(pid_t pid); -#endif /* _LIBLTTNGCTL_H */ +/* + * Kernel tracer control + */ +extern int lttng_kernel_create_channel(void); +extern int lttng_kernel_create_session(void); +extern int lttng_kernel_create_stream(void); +extern int lttng_kernel_disable_event(char *event_name); +extern int lttng_kernel_enable_event(char *event_name); +extern int lttng_kernel_open_metadata(void); +extern int lttng_kernel_start_tracing(void); +extern int lttng_kernel_stop_tracing(void); + +#endif /* _LTTNG_H */