From 62c4fc67ea53c46da135f0e91cbd31f722817289 Mon Sep 17 00:00:00 2001 From: Philippe Proulx Date: Tue, 9 Dec 2014 18:51:25 -0500 Subject: [PATCH] Python: examples: import explicit BT modules MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The best practice in Python is generally to import explicit modules rather than importing all its exposed members. This also makes the examples hide the fact that reader/writer members are exposed directly by the package, whereas this is only a backward compatibility layer now. Signed-off-by: Philippe Proulx Signed-off-by: Jérémie Galarneau --- .../python/examples/babeltrace_and_lttng.py | 4 +-- bindings/python/examples/ctf_writer.py | 35 ++++++++++--------- bindings/python/examples/example-api-test.py | 5 +-- bindings/python/examples/sched_switch.py | 8 +++-- bindings/python/examples/sequence_test.py | 5 +-- 5 files changed, 31 insertions(+), 26 deletions(-) diff --git a/bindings/python/examples/babeltrace_and_lttng.py b/bindings/python/examples/babeltrace_and_lttng.py index 0b92c0f6..651fa2da 100644 --- a/bindings/python/examples/babeltrace_and_lttng.py +++ b/bindings/python/examples/babeltrace_and_lttng.py @@ -45,7 +45,7 @@ out_file = "babeltrace-lttng-trace-text-output.txt" import time try: - import babeltrace + import babeltrace.reader import lttng except ImportError: raise ImportError( "both babeltrace and lttng-tools " @@ -109,7 +109,7 @@ if ret < 0: # BABELTRACE # Create TraceCollecion and add trace: -traces = babeltrace.TraceCollection() +traces = babeltrace.reader.TraceCollection() ret = traces.add_trace(trace_path + "/kernel", "ctf") if ret is None: raise BabeltraceError("Error adding trace") diff --git a/bindings/python/examples/ctf_writer.py b/bindings/python/examples/ctf_writer.py index cd7b6fa0..d60eb3d8 100644 --- a/bindings/python/examples/ctf_writer.py +++ b/bindings/python/examples/ctf_writer.py @@ -27,14 +27,15 @@ import sys import tempfile -from babeltrace import * +import babeltrace.writer as btw + trace_path = tempfile.mkdtemp() print("Writing trace at {}".format(trace_path)) -writer = CTFWriter.Writer(trace_path) +writer = btw.Writer(trace_path) -clock = CTFWriter.Clock("A_clock") +clock = btw.Clock("A_clock") print("Clock name is \"{}\"".format(clock.name)) clock.description = "Simple clock" print("Clock description is \"{}\"".format(clock.description)) @@ -49,17 +50,17 @@ print("Clock UUID is {}".format(clock.uuid)) writer.add_clock(clock) writer.add_environment_field("Python_version", str(sys.version_info)) -stream_class = CTFWriter.StreamClass("test_stream") +stream_class = btw.StreamClass("test_stream") stream_class.clock = clock -event_class = CTFWriter.EventClass("SimpleEvent") +event_class = btw.EventClass("SimpleEvent") # Create a int32_t equivalent type -int32_type = CTFWriter.IntegerFieldDeclaration(32) +int32_type = btw.IntegerFieldDeclaration(32) int32_type.signed = True # Create a uint16_t equivalent type -uint16_type = CTFWriter.IntegerFieldDeclaration(16) +uint16_type = btw.IntegerFieldDeclaration(16) uint16_type.signed = False # Add a custom uint16_t field in the stream's packet context @@ -71,34 +72,34 @@ packet_context_type.add_field(uint16_type, "a_custom_packet_context_field") stream_class.packet_context_type = packet_context_type # Create a string type -string_type = CTFWriter.StringFieldDeclaration() +string_type = btw.StringFieldDeclaration() # Create a structure type containing both an integer and a string -structure_type = CTFWriter.StructureFieldDeclaration() +structure_type = btw.StructureFieldDeclaration() structure_type.add_field(int32_type, "an_integer") structure_type.add_field(string_type, "a_string_field") event_class.add_field(structure_type, "structure_field") # Create a floating point type -floating_point_type = CTFWriter.FloatFieldDeclaration() -floating_point_type.exponent_digits = CTFWriter.FloatFieldDeclaration.FLT_EXP_DIG -floating_point_type.mantissa_digits = CTFWriter.FloatFieldDeclaration.FLT_MANT_DIG +floating_point_type = btw.FloatFieldDeclaration() +floating_point_type.exponent_digits = btw.FloatFieldDeclaration.FLT_EXP_DIG +floating_point_type.mantissa_digits = btw.FloatFieldDeclaration.FLT_MANT_DIG event_class.add_field(floating_point_type, "float_field") # Create an enumeration type -int10_type = CTFWriter.IntegerFieldDeclaration(10) -enumeration_type = CTFWriter.EnumerationFieldDeclaration(int10_type) +int10_type = btw.IntegerFieldDeclaration(10) +enumeration_type = btw.EnumerationFieldDeclaration(int10_type) enumeration_type.add_mapping("FIRST_ENTRY", 0, 4) enumeration_type.add_mapping("SECOND_ENTRY", 5, 5) enumeration_type.add_mapping("THIRD_ENTRY", 6, 10) event_class.add_field(enumeration_type, "enum_field") # Create an array type -array_type = CTFWriter.ArrayFieldDeclaration(int10_type, 5) +array_type = btw.ArrayFieldDeclaration(int10_type, 5) event_class.add_field(array_type, "array_field") # Create a sequence type -sequence_type = CTFWriter.SequenceFieldDeclaration(int32_type, "sequence_len") +sequence_type = btw.SequenceFieldDeclaration(int32_type, "sequence_len") event_class.add_field(uint16_type, "sequence_len") event_class.add_field(sequence_type, "sequence_field") @@ -106,7 +107,7 @@ stream_class.add_event_class(event_class) stream = writer.create_stream(stream_class) for i in range(100): - event = CTFWriter.Event(event_class) + event = btw.Event(event_class) clock.time = i * 1000 structure_field = event.payload("structure_field") diff --git a/bindings/python/examples/example-api-test.py b/bindings/python/examples/example-api-test.py index 5410d2c2..1bdea6cc 100644 --- a/bindings/python/examples/example-api-test.py +++ b/bindings/python/examples/example-api-test.py @@ -29,14 +29,15 @@ # to partially test the api. import sys -from babeltrace import * +import babeltrace.reader + # Check for path arg: if len(sys.argv) < 2: raise TypeError("Usage: python example-api-test.py path/to/file") # Create TraceCollection and add trace: -traces = TraceCollection() +traces = babeltrace.reader.TraceCollection() trace_handle = traces.add_trace(sys.argv[1], "ctf") if trace_handle is None: raise IOError("Error adding trace") diff --git a/bindings/python/examples/sched_switch.py b/bindings/python/examples/sched_switch.py index cf944f52..0deb4a53 100644 --- a/bindings/python/examples/sched_switch.py +++ b/bindings/python/examples/sched_switch.py @@ -34,7 +34,9 @@ # The trace needs PID context (lttng add-context -k -t pid) import sys -from babeltrace import * +import babeltrace.reader +import babeltrace.common + if len(sys.argv) < 2 or len(sys.argv) > 3: raise TypeError("Usage: python sched_switch.py [pid] path/to/trace") @@ -43,7 +45,7 @@ elif len(sys.argv) == 3: else: filterPID = False -traces = TraceCollection() +traces = babeltrace.reader.TraceCollection() ret = traces.add_trace(sys.argv[len(sys.argv) - 1], "ctf") if ret is None: raise IOError("Error adding trace") @@ -53,7 +55,7 @@ for event in traces.events: continue # Getting PID - pid = event.field_with_scope("pid", CTFScope.STREAM_EVENT_CONTEXT) + pid = event.field_with_scope("pid", babeltrace.common.CTFScope.STREAM_EVENT_CONTEXT) if pid is None: print("ERROR: Missing PID info for sched_switch") continue # Next event diff --git a/bindings/python/examples/sequence_test.py b/bindings/python/examples/sequence_test.py index 8bd2c749..e9116ced 100644 --- a/bindings/python/examples/sequence_test.py +++ b/bindings/python/examples/sequence_test.py @@ -31,14 +31,15 @@ # to partially test the sequence API import sys -from babeltrace import * +import babeltrace.reader + # Check for path arg: if len(sys.argv) < 2: raise TypeError("Usage: sequence_test.py path/to/file") # Create TraceCollection and add trace: -traces = TraceCollection() +traces = babeltrace.reader.TraceCollection() trace_handle = traces.add_trace(sys.argv[1], "ctf") if trace_handle is None: raise IOError("Error adding trace") -- 2.34.1