X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=extras%2Fbindings%2Fswig%2Fpython%2Flttng.i.in;h=e48bf6d8e57a6e229d4ed76d62ad7f340916e586;hp=3b7c5c0cc4fca0cbd2348ed5bbab60591576f9eb;hb=965ef48e12ccfb55fed5c1782fb6739ce67dd323;hpb=dcac8046802214aa852b7b3b36bc78a793cb6295 diff --git a/extras/bindings/swig/python/lttng.i.in b/extras/bindings/swig/python/lttng.i.in index 3b7c5c0cc..e48bf6d8e 100644 --- a/extras/bindings/swig/python/lttng.i.in +++ b/extras/bindings/swig/python/lttng.i.in @@ -9,6 +9,7 @@ multiple concurrent processes and threads. Tracing across multiple systems is al %module(docstring=DOCSTRING) lttng %include "typemaps.i" +%include "stdint.i" %include "pyabc.i" %{ #define SWIG_FILE_WITH_INIT @@ -134,10 +135,6 @@ enum lttng_event_context_type { LTTNG_EVENT_CONTEXT_PTHREAD_ID = 10, }; -%rename("CALIBRATE_FUNCTION") LTTNG_CALIBRATE_FUNCTION; -enum lttng_calibrate_type { - LTTNG_CALIBRATE_FUNCTION = 0, -}; @@ -334,7 +331,6 @@ enum lttng_calibrate_type { %rename("_lttng_enable_channel") lttng_enable_channel(struct lttng_handle *handle, struct lttng_channel *chan); %rename("_lttng_disable_event") lttng_disable_event(struct lttng_handle *handle, const char *name, const char *channel_name); %rename("_lttng_disable_channel") lttng_disable_channel(struct lttng_handle *handle, const char *name); -%rename("_lttng_calibrate") lttng_calibrate(struct lttng_handle *handle, struct lttng_calibrate *calibrate); %rename("channel_set_default_attr") lttng_channel_set_default_attr(struct lttng_domain *domain, struct lttng_channel_attr *attr); //Redefined functions @@ -353,7 +349,6 @@ int lttng_enable_channel(struct lttng_handle *handle, struct lttng_channel *chan int lttng_disable_event(struct lttng_handle *handle, const char *name, const char *channel_name); int lttng_disable_channel(struct lttng_handle *handle, const char *name); -int lttng_calibrate(struct lttng_handle *handle, struct lttng_calibrate *calibrate); int lttng_register_consumer(struct lttng_handle *handle, const char *socket_path); int lttng_list_sessions(struct lttng_session **sessions); int lttng_list_domains(const char *session_name, struct lttng_domain **domains); @@ -695,20 +690,6 @@ def disable_channel(handle, name): return _lttng_disable_channel(handle._h, name) except AttributeError: raise TypeError("in method 'disable_channel', argument 1 must be a Handle instance") - - -def calibrate(handle, calibrate): - """ - calibrate(Handle handle, Calibrate calibrate) -> int - - Quantify LTTng overhead. - Returns size of returned session payload data or a negative error code. - """ - - try: - return _lttng_calibrate(handle._h, calibrate) - except AttributeError: - raise TypeError("in method 'calibrate', argument 1 must be a Handle instance") %} @@ -775,7 +756,6 @@ class Handle: %rename("Domain") lttng_domain; %rename("EventContext") lttng_event_context; %rename("Event") lttng_event; -%rename("Calibrate") lttng_calibrate; %rename("ChannelAttr") lttng_channel_attr; %rename("Channel") lttng_channel; %rename("Session") lttng_session; @@ -864,130 +844,161 @@ struct lttng_event_context { } }; -struct lttng_event_probe_attr { }; - -struct lttng_event_function_attr { }; - -struct lttng_event { }; -%extend lttng_event { - char *__repr__() { - static char temp[512]; - char evtype[50]; - char logtype[50]; - - switch ( $self->type ) { - case -1: - sprintf(evtype, "EVENT_ALL"); - break; - case 0: - sprintf(evtype, "EVENT_TRACEPOINT"); - break; - case 1: - sprintf(evtype, "EVENT_PROBE"); - break; - case 2: - sprintf(evtype, "EVENT_FUNCTION"); - break; - case 3: - sprintf(evtype, "EVENT_FUNCTION_ENTRY"); - break; - case 4: - sprintf(evtype, "EVENT_NOOP"); - break; - case 5: - sprintf(evtype, "EVENT_SYSCALL"); - break; - default: - sprintf(evtype, "%i", $self->type); - break; - } +struct lttng_event_probe_attr { + uint64_t addr; + uint64_t offset; + char symbol_name[LTTNG_SYMBOL_NAME_LEN]; + char padding[LTTNG_EVENT_PROBE_PADDING1]; +}; - switch ( $self->loglevel_type ) { - case 0: - sprintf(logtype, "EVENT_LOGLEVEL_ALL"); - break; - case 1: - sprintf(logtype, "EVENT_LOGLEVEL_RANGE"); - break; - case 2: - sprintf(logtype, "EVENT_LOGLEVEL_SINGLE"); - break; - default: - sprintf(logtype, "%i", $self->loglevel_type); - break; - } +struct lttng_event_function_attr { + char symbol_name[LTTNG_SYMBOL_NAME_LEN]; + char padding[LTTNG_EVENT_FUNCTION_PADDING1]; +}; - sprintf(temp, "lttng.Event; name('%s'), type(%s), " - "loglevel_type(%s), loglevel(%i), " - "enabled(%s), pid(%i)", - $self->name, evtype, logtype, $self->loglevel, - $self->enabled ? "True" : "False", $self->pid); - return &temp[0]; - } -} +struct lttng_event { + enum lttng_event_type type; + char name[LTTNG_SYMBOL_NAME_LEN]; + + enum lttng_loglevel_type loglevel_type; + int loglevel; + + int32_t enabled; + pid_t pid; + + char padding[LTTNG_EVENT_PADDING1]; + + union { + struct lttng_event_probe_attr probe; + struct lttng_event_function_attr ftrace; + + char padding[LTTNG_EVENT_PADDING2]; + } attr; + + %extend { + char *__repr__() { + static char temp[512]; + char evtype[50]; + char logtype[50]; + + switch ( $self->type ) { + case -1: + sprintf(evtype, "EVENT_ALL"); + break; + case 0: + sprintf(evtype, "EVENT_TRACEPOINT"); + break; + case 1: + sprintf(evtype, "EVENT_PROBE"); + break; + case 2: + sprintf(evtype, "EVENT_FUNCTION"); + break; + case 3: + sprintf(evtype, "EVENT_FUNCTION_ENTRY"); + break; + case 4: + sprintf(evtype, "EVENT_NOOP"); + break; + case 5: + sprintf(evtype, "EVENT_SYSCALL"); + break; + default: + sprintf(evtype, "%i", $self->type); + break; + } + + switch ( $self->loglevel_type ) { + case 0: + sprintf(logtype, "EVENT_LOGLEVEL_ALL"); + break; + case 1: + sprintf(logtype, "EVENT_LOGLEVEL_RANGE"); + break; + case 2: + sprintf(logtype, "EVENT_LOGLEVEL_SINGLE"); + break; + default: + sprintf(logtype, "%i", $self->loglevel_type); + break; + } -struct lttng_calibrate { }; -%extend lttng_calibrate { - char *__repr__() { - static char temp[256]; - switch ( $self->type ) { - case 0: - sprintf(temp, "lttng.Calibrate; type(CALIBRATE_FUNCTION)"); - break; - default: - sprintf(temp, "lttng.Calibrate; type(%i)", $self->type); - break; + sprintf(temp, "lttng.Event; name('%s'), type(%s), " + "loglevel_type(%s), loglevel(%i), " + "enabled(%s), pid(%i)", + $self->name, evtype, logtype, $self->loglevel, + $self->enabled ? "True" : "False", $self->pid); + return &temp[0]; } - return &temp[0]; } -} +}; -struct lttng_channel_attr { }; -%extend lttng_channel_attr { - char *__repr__() { - static char temp[256]; - char evout[25]; - - switch ( $self->output ) { - case 0: - sprintf(evout, "EVENT_SPLICE"); - break; - case 1: - sprintf(evout, "EVENT_MMAP"); - break; - default: - sprintf(evout, "%i", $self->output); - break; +struct lttng_channel_attr { + int overwrite; + uint64_t subbuf_size; + uint64_t num_subbuf; + unsigned int switch_timer_interval; + unsigned int read_timer_interval; + enum lttng_event_output output; + + char padding[LTTNG_CHANNEL_ATTR_PADDING1]; + + %extend { + char *__repr__() { + static char temp[256]; + char evout[25]; + + switch ( $self->output ) { + case 0: + sprintf(evout, "EVENT_SPLICE"); + break; + case 1: + sprintf(evout, "EVENT_MMAP"); + break; + default: + sprintf(evout, "%i", $self->output); + break; + } + sprintf(temp, "lttng.ChannelAttr; overwrite(%i), subbuf_size(%"PRIu64"), " + "num_subbuf(%"PRIu64"), switch_timer_interval(%u), " + "read_timer_interval(%u), output(%s)", + $self->overwrite, $self->subbuf_size, $self->num_subbuf, + $self->switch_timer_interval, $self->read_timer_interval, + evout); + return &temp[0]; } - sprintf(temp, "lttng.ChannelAttr; overwrite(%i), subbuf_size(%" - PRIu64 "), num_subbuf(%" PRIu64 "), " - "switch_timer_interval(%u), " - "read_timer_interval(%u), output(%s)", - $self->overwrite, $self->subbuf_size, $self->num_subbuf, - $self->switch_timer_interval, $self->read_timer_interval, - evout); - return &temp[0]; } }; -struct lttng_channel { }; -%extend lttng_channel { - char *__repr__() { - static char temp[512]; - sprintf(temp, "lttng.Channel; name('%s'), enabled(%s)", - $self->name, $self->enabled ? "True" : "False"); - return &temp[0]; - } -} +struct lttng_channel { + char name[LTTNG_SYMBOL_NAME_LEN]; + uint32_t enabled; + struct lttng_channel_attr attr; + char padding[LTTNG_CHANNEL_PADDING1]; -struct lttng_session { }; -%extend lttng_session { - char *__repr__() { - static char temp[512]; - sprintf(temp, "lttng.Session; name('%s'), path('%s'), enabled(%s)", - $self->name, $self->path, - $self->enabled ? "True" : "False"); - return &temp[0]; + %extend { + char *__repr__() { + static char temp[512]; + sprintf(temp, "lttng.Channel; name('%s'), enabled(%s)", + $self->name, $self->enabled ? "True" : "False"); + return &temp[0]; + } } +}; -} +struct lttng_session { + char name[NAME_MAX]; + char path[PATH_MAX]; + uint32_t enabled; + char padding[LTTNG_SESSION_PADDING1]; + + %extend { + char *__repr__() { + static char temp[512]; + sprintf(temp, "lttng.Session; name('%s'), path('%s'), enabled(%s)", + $self->name, $self->path, + $self->enabled ? "True" : "False"); + return &temp[0]; + } + } +};