Return event fields by field name
[babeltrace.git] / bindings / python / examples / example-api-test.py
index 104f2d5585e3c216ebe2a0611f400cd1d1f28ecd..5846facd574603efff3e84a185f04719d89ca2c8 100644 (file)
@@ -1,18 +1,19 @@
+#!/usr/bin/env python3
 # example_api_test.py
-# 
+#
 # Babeltrace example script based on the Babeltrace API test script
-# 
+#
 # Copyright 2012 EfficiOS Inc.
-# 
+#
 # Author: Danny Serres <danny.serres@efficios.com>
-# 
+#
 # Permission is hereby granted, free of charge, to any person obtaining a copy
 # of this software and associated documentation files (the "Software"), to deal
 # in the Software without restriction, including without limitation the rights
 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 # copies of the Software, and to permit persons to whom the Software is
 # furnished to do so, subject to the following conditions:
-# 
+#
 # The above copyright notice and this permission notice shall be included in
 # all copies or substantial portions of the Software.
 
@@ -49,23 +50,19 @@ while(event is not None):
                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():
+               prev_field = event.get_field("_prev_comm")
+               if prev_field is None:
                        print("ERROR: Missing prev_comm context info")
                else:
+                       prev_comm = prev_field[0].get_char_array()
                        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():
+               ret_field = event.get_field("_ret")
+               if ret_field is None:
                        print("ERROR: Unable to extract ret")
                else:
+                       ret_code = ret_field[0].get_int64()
                        print("exit_syscall ret: {}".format(ret_code))
 
        ret = ctf_it.next()
This page took 0.023459 seconds and 4 git commands to generate.