Completed basic ctf-filter functionality
authorAntoine Busque <antoinebusque@gmail.com>
Wed, 28 May 2014 18:43:52 +0000 (14:43 -0400)
committerAntoine Busque <antoinebusque@gmail.com>
Wed, 28 May 2014 18:43:52 +0000 (14:43 -0400)
It is still lacking support for certain types of fields,
but the basic event filtering works

ctf-filter.py

index b43dfcd02921df5f0fbe61ac28cc96cad14aae17..5f03fc595403dc0ff407bf757e801c718d81fd9b 100755 (executable)
@@ -75,6 +75,10 @@ class CTFFilter():
         self.event_classes = {}
 
     def process_event_metadata(self, event):
+        if self.args.discard and event.name == self.args.name\
+           or not self.args.discard and event.name != self.args.name:
+            return
+
         if event.name not in self.event_classes.keys():
             event_class = CTFWriter.EventClass(event.name)
             for field in event.fields_scope(CTFScope.EVENT_FIELDS):
@@ -144,6 +148,10 @@ class CTFFilter():
         print('seq')
 
     def process_event(self, event):
+        if self.args.discard and event.name == self.args.name\
+           or not self.args.discard and event.name != self.args.name:
+            return
+
         if event.name in ['lttng_statedump_start', 'lttng_statedump_end',
                           'sys_unknown', 'sys_geteuid', 'sys_getuid', 'sys_getegid']:
             return
@@ -234,7 +242,7 @@ if __name__ == '__main__':
     parser.add_argument('output', metavar='<path/to/new/trace>',
                         help='Location of file to which the resulting filtered\
                         trace will be written')
-    parser.add_argument('-n', '--name', type=str, default='',
+    parser.add_argument('-n', '--name', type=str, required=True,
                         help='Name of events to keep\
                         (or discard when --discard is used)')
     parser.add_argument('--discard', action='store_true',
This page took 0.02498 seconds and 5 git commands to generate.