X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=extras%2Fbindings%2Fswig%2Fpython%2Flttng.i.in;h=b6b6f960eba7720955611e3adbeceaa3679195e2;hp=7418d01d635c24778b55309de35aff4a4716086d;hb=refs%2Fheads%2Fsow-2019-0002-rev1;hpb=b178f53e90c376dd44b020535c32649edef8f80e diff --git a/extras/bindings/swig/python/lttng.i.in b/extras/bindings/swig/python/lttng.i.in index 7418d01d6..b6b6f960e 100644 --- a/extras/bindings/swig/python/lttng.i.in +++ b/extras/bindings/swig/python/lttng.i.in @@ -1,3 +1,10 @@ +/* + * Copyright (C) 2012 Danny Serres + * + * SPDX-License-Identifier: GPL-2.0-only + * + */ + %define DOCSTRING "LTTNG_VERSION_STR @@ -22,6 +29,9 @@ multiple concurrent processes and threads. Tracing across multiple systems is al // This makes the typemap code useable with both Python 2 and 3. #define PyInt_AsSsize_t PyLong_AsSsize_t #endif + +// Avoid -Wmissing-declarations warning. +PyObject *SWIG_init(void); %} typedef unsigned int uint32_t; @@ -44,6 +54,15 @@ enum lttng_domain_type { LTTNG_DOMAIN_UST = 2, }; +%rename("BUFFER_PER_PID") LTTNG_BUFFER_PER_PID; +%rename("BUFFER_PER_UID") LTTNG_BUFFER_PER_UID; +%rename("BUFFER_GLOBAL") LTTNG_BUFFER_GLOBAL; +enum lttng_buffer_type { + LTTNG_BUFFER_PER_PID, + LTTNG_BUFFER_PER_UID, + LTTNG_BUFFER_GLOBAL, +}; + %rename("EVENT_ALL") LTTNG_EVENT_ALL; %rename("EVENT_TRACEPOINT") LTTNG_EVENT_TRACEPOINT; %rename("EVENT_PROBE") LTTNG_EVENT_PROBE; @@ -121,6 +140,15 @@ enum lttng_event_output { %rename("EVENT_CONTEXT_PPID") LTTNG_EVENT_CONTEXT_PPID; %rename("EVENT_CONTEXT_VPPID") LTTNG_EVENT_CONTEXT_VPPID; %rename("EVENT_CONTEXT_PTHREAD_ID") LTTNG_EVENT_CONTEXT_PTHREAD_ID; +%rename("EVENT_CONTEXT_HOSTNAME") LTTNG_EVENT_CONTEXT_HOSTNAME; +%rename("EVENT_CONTEXT_IP") LTTNG_EVENT_CONTEXT_IP; +%rename("EVENT_CONTEXT_PERF_CPU_COUNTER") LTTNG_EVENT_CONTEXT_PERF_CPU_COUNTER; +%rename("EVENT_CONTEXT_PERF_THREAD_COUNTER") LTTNG_EVENT_CONTEXT_PERF_THREAD_COUNTER; +%rename("EVENT_CONTEXT_APP_CONTEXT") LTTNG_EVENT_CONTEXT_APP_CONTEXT; +%rename("EVENT_CONTEXT_INTERRUPTIBLE") LTTNG_EVENT_CONTEXT_INTERRUPTIBLE; +%rename("EVENT_CONTEXT_PREEMPTIBLE") LTTNG_EVENT_CONTEXT_PREEMPTIBLE; +%rename("EVENT_CONTEXT_NEED_RESCHEDULE") LTTNG_EVENT_CONTEXT_NEED_RESCHEDULE; +%rename("EVENT_CONTEXT_MIGRATABLE") LTTNG_EVENT_CONTEXT_MIGRATABLE; enum lttng_event_context_type { LTTNG_EVENT_CONTEXT_PID = 0, LTTNG_EVENT_CONTEXT_PERF_COUNTER = 1, @@ -133,6 +161,15 @@ enum lttng_event_context_type { LTTNG_EVENT_CONTEXT_PPID = 8, LTTNG_EVENT_CONTEXT_VPPID = 9, LTTNG_EVENT_CONTEXT_PTHREAD_ID = 10, + LTTNG_EVENT_CONTEXT_HOSTNAME = 11, + LTTNG_EVENT_CONTEXT_IP = 12, + LTTNG_EVENT_CONTEXT_PERF_CPU_COUNTER = 13, + LTTNG_EVENT_CONTEXT_PERF_THREAD_COUNTER = 14, + LTTNG_EVENT_CONTEXT_APP_CONTEXT = 15, + LTTNG_EVENT_CONTEXT_INTERRUPTIBLE = 16, + LTTNG_EVENT_CONTEXT_PREEMPTIBLE = 17, + LTTNG_EVENT_CONTEXT_NEED_RESCHEDULE = 18, + LTTNG_EVENT_CONTEXT_MIGRATABLE = 19, }; @@ -179,18 +216,20 @@ enum lttng_event_context_type { int i; for(i=0; itype ) { case 1: - sprintf(temp, "lttng.Domain; type(DOMAIN_KERNEL)"); + sprintf(domain_type, "type(DOMAIN_KERNEL)"); break; case 2: - sprintf(temp, "lttng.Domain; type(DOMAIN_UST)"); + sprintf(domain_type, "type(DOMAIN_UST)"); + break; + default: + sprintf(domain_type, "type(%i)", $self->type); + break; + } + + switch ( $self->buf_type ) { + case LTTNG_BUFFER_PER_UID: + sprintf(buffer_type, "buf_type(BUFFER_PER_UID)"); + break; + case LTTNG_BUFFER_PER_PID: + sprintf(buffer_type, "buf_type(BUFFER_PER_PID)"); + break; + case LTTNG_BUFFER_GLOBAL: + sprintf(buffer_type, "buf_type(BUFFER_GLOBAL)"); break; default: - sprintf(temp, "lttng.Domain; type(%i)", $self->type); + sprintf(buffer_type, "buf_type(%i)", $self->buf_type); break; } + + sprintf(temp, "lttng.Domain; %s, %s", + domain_type, + buffer_type + ); return &temp[0]; } } @@ -833,6 +896,33 @@ struct lttng_event_context { case 10: sprintf(temp, "lttng.EventContext; ctx(EVENT_CONTEXT_PTHREAD_ID)"); break; + case 11: + sprintf(temp, "lttng.EventContext; ctx(EVENT_CONTEXT_HOSTNAME)"); + break; + case 12: + sprintf(temp, "lttng.EventContext; ctx(EVENT_CONTEXT_IP)"); + break; + case 13: + sprintf(temp, "lttng.EventContext; ctx(EVENT_CONTEXT_PERF_CPU_COUNTER)"); + break; + case 14: + sprintf(temp, "lttng.EventContext; ctx(EVENT_CONTEXT_PERF_THREAD_COUNTER)"); + break; + case 15: + sprintf(temp, "lttng.EventContext; ctx(EVENT_CONTEXT_APP_CONTEXT)"); + break; + case 16: + sprintf(temp, "lttng.EventContext; ctx(EVENT_CONTEXT_INTERRUPTIBLE)"); + break; + case 17: + sprintf(temp, "lttng.EventContext; ctx(EVENT_CONTEXT_PREEMPTIBLE)"); + break; + case 18: + sprintf(temp, "lttng.EventContext; ctx(EVENT_CONTEXT_NEED_RESCHEDULE)"); + break; + case 19: + sprintf(temp, "lttng.EventContext; ctx(EVENT_CONTEXT_MIGRATABLE)"); + break; default: sprintf(temp, "lttng.EventContext; type(%i)", $self->ctx); break;