X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=bindings%2Fpython%2Fexamples%2Fexample-api-test.py;h=1ff742e77ae386bb11e609171d83a294060a1840;hp=fc59e249d2df7c0075aa39f7a1972c9d3445fc66;hb=cb1fcc68fd8c397ad94691ced4a70b3307f7a86b;hpb=92c6a024cd3e81293bd39fd2b322e12ce57ea502 diff --git a/bindings/python/examples/example-api-test.py b/bindings/python/examples/example-api-test.py index fc59e249..1ff742e7 100644 --- a/bindings/python/examples/example-api-test.py +++ b/bindings/python/examples/example-api-test.py @@ -27,52 +27,32 @@ from babeltrace import * if len(sys.argv) < 2: raise TypeError("Usage: python example-api-test.py path/to/file") -# Create context and add trace: -ctx = Context() -trace_handle = ctx.add_trace(sys.argv[1], "ctf") +# Create TraceCollection and add trace: +traces = TraceCollection() +trace_handle = traces.add_trace(sys.argv[1], "ctf") if trace_handle is None: raise IOError("Error adding trace") # Listing events -lst = ctf.get_event_decl_list(trace_handle, ctx) +lst = event_declaration_list(trace_handle, traces) print("--- Event list ---") for item in lst: - print("event : {}".format(item.get_name())) + print("event : {}".format(item.name)) print("--- Done ---") -# Iter trace -bp = IterPos(SEEK_BEGIN) -ctf_it = ctf.Iterator(ctx,bp) -event = ctf_it.read_event() +for event in traces.events: + print("TS: {}, {} : {}".format(event.timestamp, event.cycles, event.name)) -while(event is not None): - print("TS: {}, {} : {}".format(event.get_timestamp(), - event.get_cycles(), event.get_name())) - - if event.get_name() == "sched_switch": - sco = event.get_top_level_scope(ctf.scope.EVENT_FIELDS) - prev_field = event.get_field(sco, "_prev_comm") - prev_comm = prev_field.get_char_array() - - if ctf.field_error(): + if event.name == "sched_switch": + prev_comm = event["prev_comm"] + if prev_comm is None: print("ERROR: Missing prev_comm context info") else: print("sched_switch prev_comm: {}".format(prev_comm)) - if event.get_name() == "exit_syscall": - sco = event.get_top_level_scope(ctf.scope.EVENT_FIELDS) - ret_field = event.get_field(sco, "_ret") - ret_code = ret_field.get_int64() - - if ctf.field_error(): + if event.name == "exit_syscall": + ret_code = event["ret"] + if ret_code is None: print("ERROR: Unable to extract ret") else: print("exit_syscall ret: {}".format(ret_code)) - - ret = ctf_it.next() - if ret < 0: - break - else: - event = ctf_it.read_event() - -del ctf_it