X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=extras%2Fbindings%2Fswig%2Fpython%2Flttng.i.in;h=3b7c5c0cc4fca0cbd2348ed5bbab60591576f9eb;hp=244bc2282da9639a432ba9820c9d787a56909d0f;hb=dcac8046802214aa852b7b3b36bc78a793cb6295;hpb=6c7ee73ef9b93eb6bd4381a4a4dfc96d45b7d401 diff --git a/extras/bindings/swig/python/lttng.i.in b/extras/bindings/swig/python/lttng.i.in index 244bc2282..3b7c5c0cc 100644 --- a/extras/bindings/swig/python/lttng.i.in +++ b/extras/bindings/swig/python/lttng.i.in @@ -314,6 +314,7 @@ enum lttng_calibrate_type { // ============================================= %rename("create") lttng_create_session(const char *name, const char *path); +%rename("create_snapshot") lttng_create_session_snapshot(const char *name, const char *snapshot_url); %rename("destroy") lttng_destroy_session(const char *name); %rename("_lttng_create_handle") lttng_create_handle(const char *session_name, struct lttng_domain *domain); %rename("_lttng_destroy_handle") lttng_destroy_handle(struct lttng_handle *handle); @@ -361,14 +362,20 @@ int lttng_list_domains(const char *session_name, struct lttng_domain **domains); %feature("docstring")"create(str name, str path) -> int Create a new tracing session using name and path. -Returns size of returned session payload data or a negative error code." +Returns 0 on success or a negative error code." int lttng_create_session(const char *name, const char *path); +%feature("docstring")"create_snapshot(str name, str snapshot_url) -> int + +Create a new tracing session using name and snapshot_url in snapshot +mode (flight recorder). +Returns 0 on success or a negative error code." +int lttng_create_session_snapshot(const char *name, const char *path); %feature("docstring")"destroy(str name) -> int Tear down tracing session using name. -Returns size of returned session payload data or a negative error code." +Returns 0 on success or a negative error code." int lttng_destroy_session(const char *name); @@ -715,7 +722,7 @@ def calibrate(handle, calibrate): %pythoncode %{ class Handle: - """ + """ Manages a handle. Takes two arguments: (str session_name, Domain domain) """ @@ -857,181 +864,130 @@ struct lttng_event_context { } }; -struct lttng_event_probe_attr { - uint64_t addr; - uint64_t offset; - char symbol_name[LTTNG_SYMBOL_NAME_LEN]; - char padding[LTTNG_EVENT_PROBE_PADDING1]; -}; - -struct lttng_event_function_attr { - char symbol_name[LTTNG_SYMBOL_NAME_LEN]; - char padding[LTTNG_EVENT_FUNCTION_PADDING1]; -}; - -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; - } - - 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_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_calibrate { - enum lttng_calibrate_type type; - char padding[LTTNG_CALIBRATE_PADDING1]; - - %extend { - 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; - } - return &temp[0]; + 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_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]; + 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]; + } +} - 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(%lu), " - "num_subbuf(%lu), 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_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; } + 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]; +} - %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_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; } + 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_session { - char name[NAME_MAX]; - char path[PATH_MAX]; - uint32_t enabled; - char padding[LTTNG_SESSION_PADDING1]; +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]; + } +} - %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]; - } +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]; } -}; + +}