Merge "[tracing] Support flow_ids on the END events."
diff --git a/Android.bp b/Android.bp
index f3ebaa9..72fee73 100644
--- a/Android.bp
+++ b/Android.bp
@@ -223,10 +223,8 @@
     srcs: [
         ":perfetto_include_perfetto_base_base",
         ":perfetto_include_perfetto_ext_base_base",
-        ":perfetto_include_perfetto_profiling_normalize",
         ":perfetto_src_base_base",
         ":perfetto_src_base_unix_socket",
-        ":perfetto_src_profiling_common_proc_utils",
         ":perfetto_src_profiling_memory_client",
         ":perfetto_src_profiling_memory_client_api",
         ":perfetto_src_profiling_memory_ring_buffer",
@@ -1819,8 +1817,8 @@
     ],
     shared_libs: [
         "heapprofd_client_api",
-        "libandroidicu",
         "libbase",
+        "libicu",
         "liblog",
         "libprocinfo",
         "libsqlite",
@@ -1931,6 +1929,7 @@
         "protos/perfetto/common/commit_data_request.proto",
         "protos/perfetto/common/data_source_descriptor.proto",
         "protos/perfetto/common/descriptor.proto",
+        "protos/perfetto/common/ftrace_descriptor.proto",
         "protos/perfetto/common/gpu_counter_descriptor.proto",
         "protos/perfetto/common/interceptor_descriptor.proto",
         "protos/perfetto/common/observable_events.proto",
@@ -1953,6 +1952,7 @@
         "external/perfetto/protos/perfetto/common/commit_data_request.gen.cc",
         "external/perfetto/protos/perfetto/common/data_source_descriptor.gen.cc",
         "external/perfetto/protos/perfetto/common/descriptor.gen.cc",
+        "external/perfetto/protos/perfetto/common/ftrace_descriptor.gen.cc",
         "external/perfetto/protos/perfetto/common/gpu_counter_descriptor.gen.cc",
         "external/perfetto/protos/perfetto/common/interceptor_descriptor.gen.cc",
         "external/perfetto/protos/perfetto/common/observable_events.gen.cc",
@@ -1975,6 +1975,7 @@
         "protos/perfetto/common/commit_data_request.proto",
         "protos/perfetto/common/data_source_descriptor.proto",
         "protos/perfetto/common/descriptor.proto",
+        "protos/perfetto/common/ftrace_descriptor.proto",
         "protos/perfetto/common/gpu_counter_descriptor.proto",
         "protos/perfetto/common/interceptor_descriptor.proto",
         "protos/perfetto/common/observable_events.proto",
@@ -1997,6 +1998,7 @@
         "external/perfetto/protos/perfetto/common/commit_data_request.gen.h",
         "external/perfetto/protos/perfetto/common/data_source_descriptor.gen.h",
         "external/perfetto/protos/perfetto/common/descriptor.gen.h",
+        "external/perfetto/protos/perfetto/common/ftrace_descriptor.gen.h",
         "external/perfetto/protos/perfetto/common/gpu_counter_descriptor.gen.h",
         "external/perfetto/protos/perfetto/common/interceptor_descriptor.gen.h",
         "external/perfetto/protos/perfetto/common/observable_events.gen.h",
@@ -2023,6 +2025,7 @@
         "protos/perfetto/common/commit_data_request.proto",
         "protos/perfetto/common/data_source_descriptor.proto",
         "protos/perfetto/common/descriptor.proto",
+        "protos/perfetto/common/ftrace_descriptor.proto",
         "protos/perfetto/common/gpu_counter_descriptor.proto",
         "protos/perfetto/common/interceptor_descriptor.proto",
         "protos/perfetto/common/observable_events.proto",
@@ -2044,6 +2047,7 @@
         "external/perfetto/protos/perfetto/common/commit_data_request.pb.cc",
         "external/perfetto/protos/perfetto/common/data_source_descriptor.pb.cc",
         "external/perfetto/protos/perfetto/common/descriptor.pb.cc",
+        "external/perfetto/protos/perfetto/common/ftrace_descriptor.pb.cc",
         "external/perfetto/protos/perfetto/common/gpu_counter_descriptor.pb.cc",
         "external/perfetto/protos/perfetto/common/interceptor_descriptor.pb.cc",
         "external/perfetto/protos/perfetto/common/observable_events.pb.cc",
@@ -2066,6 +2070,7 @@
         "protos/perfetto/common/commit_data_request.proto",
         "protos/perfetto/common/data_source_descriptor.proto",
         "protos/perfetto/common/descriptor.proto",
+        "protos/perfetto/common/ftrace_descriptor.proto",
         "protos/perfetto/common/gpu_counter_descriptor.proto",
         "protos/perfetto/common/interceptor_descriptor.proto",
         "protos/perfetto/common/observable_events.proto",
@@ -2087,6 +2092,7 @@
         "external/perfetto/protos/perfetto/common/commit_data_request.pb.h",
         "external/perfetto/protos/perfetto/common/data_source_descriptor.pb.h",
         "external/perfetto/protos/perfetto/common/descriptor.pb.h",
+        "external/perfetto/protos/perfetto/common/ftrace_descriptor.pb.h",
         "external/perfetto/protos/perfetto/common/gpu_counter_descriptor.pb.h",
         "external/perfetto/protos/perfetto/common/interceptor_descriptor.pb.h",
         "external/perfetto/protos/perfetto/common/observable_events.pb.h",
@@ -2113,6 +2119,7 @@
         "protos/perfetto/common/commit_data_request.proto",
         "protos/perfetto/common/data_source_descriptor.proto",
         "protos/perfetto/common/descriptor.proto",
+        "protos/perfetto/common/ftrace_descriptor.proto",
         "protos/perfetto/common/gpu_counter_descriptor.proto",
         "protos/perfetto/common/interceptor_descriptor.proto",
         "protos/perfetto/common/observable_events.proto",
@@ -2135,6 +2142,7 @@
         "external/perfetto/protos/perfetto/common/commit_data_request.pbzero.cc",
         "external/perfetto/protos/perfetto/common/data_source_descriptor.pbzero.cc",
         "external/perfetto/protos/perfetto/common/descriptor.pbzero.cc",
+        "external/perfetto/protos/perfetto/common/ftrace_descriptor.pbzero.cc",
         "external/perfetto/protos/perfetto/common/gpu_counter_descriptor.pbzero.cc",
         "external/perfetto/protos/perfetto/common/interceptor_descriptor.pbzero.cc",
         "external/perfetto/protos/perfetto/common/observable_events.pbzero.cc",
@@ -2157,6 +2165,7 @@
         "protos/perfetto/common/commit_data_request.proto",
         "protos/perfetto/common/data_source_descriptor.proto",
         "protos/perfetto/common/descriptor.proto",
+        "protos/perfetto/common/ftrace_descriptor.proto",
         "protos/perfetto/common/gpu_counter_descriptor.proto",
         "protos/perfetto/common/interceptor_descriptor.proto",
         "protos/perfetto/common/observable_events.proto",
@@ -2179,6 +2188,7 @@
         "external/perfetto/protos/perfetto/common/commit_data_request.pbzero.h",
         "external/perfetto/protos/perfetto/common/data_source_descriptor.pbzero.h",
         "external/perfetto/protos/perfetto/common/descriptor.pbzero.h",
+        "external/perfetto/protos/perfetto/common/ftrace_descriptor.pbzero.h",
         "external/perfetto/protos/perfetto/common/gpu_counter_descriptor.pbzero.h",
         "external/perfetto/protos/perfetto/common/interceptor_descriptor.pbzero.h",
         "external/perfetto/protos/perfetto/common/observable_events.pbzero.h",
@@ -2391,6 +2401,7 @@
         "protos/perfetto/common/commit_data_request.proto",
         "protos/perfetto/common/data_source_descriptor.proto",
         "protos/perfetto/common/descriptor.proto",
+        "protos/perfetto/common/ftrace_descriptor.proto",
         "protos/perfetto/common/gpu_counter_descriptor.proto",
         "protos/perfetto/common/interceptor_descriptor.proto",
         "protos/perfetto/common/observable_events.proto",
@@ -2921,21 +2932,6 @@
     ],
 }
 
-// GN: //protos/perfetto/config:merged_config_descriptor
-genrule {
-    name: "perfetto_protos_perfetto_config_merged_config_descriptor",
-    srcs: [
-        "protos/perfetto/config/perfetto_config.proto",
-    ],
-    tools: [
-        "aprotoc",
-    ],
-    cmd: "mkdir -p $(genDir)/external/perfetto/ && $(location aprotoc) --proto_path=external/perfetto --descriptor_set_out=$(out) $(in)",
-    out: [
-        "perfetto_protos_perfetto_config_merged_config_descriptor.bin",
-    ],
-}
-
 // GN: //protos/perfetto/config/power:cpp
 genrule {
     name: "perfetto_protos_perfetto_config_power_cpp_gen",
@@ -4094,6 +4090,7 @@
         "protos/perfetto/common/commit_data_request.proto",
         "protos/perfetto/common/data_source_descriptor.proto",
         "protos/perfetto/common/descriptor.proto",
+        "protos/perfetto/common/ftrace_descriptor.proto",
         "protos/perfetto/common/gpu_counter_descriptor.proto",
         "protos/perfetto/common/interceptor_descriptor.proto",
         "protos/perfetto/common/observable_events.proto",
@@ -4163,6 +4160,7 @@
         "protos/perfetto/trace/ftrace/ipi.proto",
         "protos/perfetto/trace/ftrace/irq.proto",
         "protos/perfetto/trace/ftrace/kmem.proto",
+        "protos/perfetto/trace/ftrace/kvm.proto",
         "protos/perfetto/trace/ftrace/lowmemorykiller.proto",
         "protos/perfetto/trace/ftrace/mali.proto",
         "protos/perfetto/trace/ftrace/mdss.proto",
@@ -4176,6 +4174,7 @@
         "protos/perfetto/trace/ftrace/scm.proto",
         "protos/perfetto/trace/ftrace/sde.proto",
         "protos/perfetto/trace/ftrace/signal.proto",
+        "protos/perfetto/trace/ftrace/skb.proto",
         "protos/perfetto/trace/ftrace/sock.proto",
         "protos/perfetto/trace/ftrace/sync.proto",
         "protos/perfetto/trace/ftrace/synthetic.proto",
@@ -4184,6 +4183,7 @@
         "protos/perfetto/trace/ftrace/tcp.proto",
         "protos/perfetto/trace/ftrace/test_bundle_wrapper.proto",
         "protos/perfetto/trace/ftrace/thermal.proto",
+        "protos/perfetto/trace/ftrace/ufs.proto",
         "protos/perfetto/trace/ftrace/vmscan.proto",
         "protos/perfetto/trace/ftrace/workqueue.proto",
         "protos/perfetto/trace/gpu/gpu_counter_event.proto",
@@ -4385,6 +4385,7 @@
         "protos/perfetto/trace/ftrace/ipi.proto",
         "protos/perfetto/trace/ftrace/irq.proto",
         "protos/perfetto/trace/ftrace/kmem.proto",
+        "protos/perfetto/trace/ftrace/kvm.proto",
         "protos/perfetto/trace/ftrace/lowmemorykiller.proto",
         "protos/perfetto/trace/ftrace/mali.proto",
         "protos/perfetto/trace/ftrace/mdss.proto",
@@ -4398,6 +4399,7 @@
         "protos/perfetto/trace/ftrace/scm.proto",
         "protos/perfetto/trace/ftrace/sde.proto",
         "protos/perfetto/trace/ftrace/signal.proto",
+        "protos/perfetto/trace/ftrace/skb.proto",
         "protos/perfetto/trace/ftrace/sock.proto",
         "protos/perfetto/trace/ftrace/sync.proto",
         "protos/perfetto/trace/ftrace/synthetic.proto",
@@ -4406,6 +4408,7 @@
         "protos/perfetto/trace/ftrace/tcp.proto",
         "protos/perfetto/trace/ftrace/test_bundle_wrapper.proto",
         "protos/perfetto/trace/ftrace/thermal.proto",
+        "protos/perfetto/trace/ftrace/ufs.proto",
         "protos/perfetto/trace/ftrace/vmscan.proto",
         "protos/perfetto/trace/ftrace/workqueue.proto",
     ],
@@ -4441,6 +4444,7 @@
         "external/perfetto/protos/perfetto/trace/ftrace/ipi.gen.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/irq.gen.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/kmem.gen.cc",
+        "external/perfetto/protos/perfetto/trace/ftrace/kvm.gen.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/lowmemorykiller.gen.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/mali.gen.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/mdss.gen.cc",
@@ -4454,6 +4458,7 @@
         "external/perfetto/protos/perfetto/trace/ftrace/scm.gen.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/sde.gen.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/signal.gen.cc",
+        "external/perfetto/protos/perfetto/trace/ftrace/skb.gen.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/sock.gen.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/sync.gen.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/synthetic.gen.cc",
@@ -4462,6 +4467,7 @@
         "external/perfetto/protos/perfetto/trace/ftrace/tcp.gen.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/test_bundle_wrapper.gen.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/thermal.gen.cc",
+        "external/perfetto/protos/perfetto/trace/ftrace/ufs.gen.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/vmscan.gen.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/workqueue.gen.cc",
     ],
@@ -4497,6 +4503,7 @@
         "protos/perfetto/trace/ftrace/ipi.proto",
         "protos/perfetto/trace/ftrace/irq.proto",
         "protos/perfetto/trace/ftrace/kmem.proto",
+        "protos/perfetto/trace/ftrace/kvm.proto",
         "protos/perfetto/trace/ftrace/lowmemorykiller.proto",
         "protos/perfetto/trace/ftrace/mali.proto",
         "protos/perfetto/trace/ftrace/mdss.proto",
@@ -4510,6 +4517,7 @@
         "protos/perfetto/trace/ftrace/scm.proto",
         "protos/perfetto/trace/ftrace/sde.proto",
         "protos/perfetto/trace/ftrace/signal.proto",
+        "protos/perfetto/trace/ftrace/skb.proto",
         "protos/perfetto/trace/ftrace/sock.proto",
         "protos/perfetto/trace/ftrace/sync.proto",
         "protos/perfetto/trace/ftrace/synthetic.proto",
@@ -4518,6 +4526,7 @@
         "protos/perfetto/trace/ftrace/tcp.proto",
         "protos/perfetto/trace/ftrace/test_bundle_wrapper.proto",
         "protos/perfetto/trace/ftrace/thermal.proto",
+        "protos/perfetto/trace/ftrace/ufs.proto",
         "protos/perfetto/trace/ftrace/vmscan.proto",
         "protos/perfetto/trace/ftrace/workqueue.proto",
     ],
@@ -4553,6 +4562,7 @@
         "external/perfetto/protos/perfetto/trace/ftrace/ipi.gen.h",
         "external/perfetto/protos/perfetto/trace/ftrace/irq.gen.h",
         "external/perfetto/protos/perfetto/trace/ftrace/kmem.gen.h",
+        "external/perfetto/protos/perfetto/trace/ftrace/kvm.gen.h",
         "external/perfetto/protos/perfetto/trace/ftrace/lowmemorykiller.gen.h",
         "external/perfetto/protos/perfetto/trace/ftrace/mali.gen.h",
         "external/perfetto/protos/perfetto/trace/ftrace/mdss.gen.h",
@@ -4566,6 +4576,7 @@
         "external/perfetto/protos/perfetto/trace/ftrace/scm.gen.h",
         "external/perfetto/protos/perfetto/trace/ftrace/sde.gen.h",
         "external/perfetto/protos/perfetto/trace/ftrace/signal.gen.h",
+        "external/perfetto/protos/perfetto/trace/ftrace/skb.gen.h",
         "external/perfetto/protos/perfetto/trace/ftrace/sock.gen.h",
         "external/perfetto/protos/perfetto/trace/ftrace/sync.gen.h",
         "external/perfetto/protos/perfetto/trace/ftrace/synthetic.gen.h",
@@ -4574,6 +4585,7 @@
         "external/perfetto/protos/perfetto/trace/ftrace/tcp.gen.h",
         "external/perfetto/protos/perfetto/trace/ftrace/test_bundle_wrapper.gen.h",
         "external/perfetto/protos/perfetto/trace/ftrace/thermal.gen.h",
+        "external/perfetto/protos/perfetto/trace/ftrace/ufs.gen.h",
         "external/perfetto/protos/perfetto/trace/ftrace/vmscan.gen.h",
         "external/perfetto/protos/perfetto/trace/ftrace/workqueue.gen.h",
     ],
@@ -4613,6 +4625,7 @@
         "protos/perfetto/trace/ftrace/ipi.proto",
         "protos/perfetto/trace/ftrace/irq.proto",
         "protos/perfetto/trace/ftrace/kmem.proto",
+        "protos/perfetto/trace/ftrace/kvm.proto",
         "protos/perfetto/trace/ftrace/lowmemorykiller.proto",
         "protos/perfetto/trace/ftrace/mali.proto",
         "protos/perfetto/trace/ftrace/mdss.proto",
@@ -4626,6 +4639,7 @@
         "protos/perfetto/trace/ftrace/scm.proto",
         "protos/perfetto/trace/ftrace/sde.proto",
         "protos/perfetto/trace/ftrace/signal.proto",
+        "protos/perfetto/trace/ftrace/skb.proto",
         "protos/perfetto/trace/ftrace/sock.proto",
         "protos/perfetto/trace/ftrace/sync.proto",
         "protos/perfetto/trace/ftrace/synthetic.proto",
@@ -4634,6 +4648,7 @@
         "protos/perfetto/trace/ftrace/tcp.proto",
         "protos/perfetto/trace/ftrace/test_bundle_wrapper.proto",
         "protos/perfetto/trace/ftrace/thermal.proto",
+        "protos/perfetto/trace/ftrace/ufs.proto",
         "protos/perfetto/trace/ftrace/vmscan.proto",
         "protos/perfetto/trace/ftrace/workqueue.proto",
     ],
@@ -4668,6 +4683,7 @@
         "external/perfetto/protos/perfetto/trace/ftrace/ipi.pb.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/irq.pb.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/kmem.pb.cc",
+        "external/perfetto/protos/perfetto/trace/ftrace/kvm.pb.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/lowmemorykiller.pb.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/mali.pb.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/mdss.pb.cc",
@@ -4681,6 +4697,7 @@
         "external/perfetto/protos/perfetto/trace/ftrace/scm.pb.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/sde.pb.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/signal.pb.cc",
+        "external/perfetto/protos/perfetto/trace/ftrace/skb.pb.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/sock.pb.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/sync.pb.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/synthetic.pb.cc",
@@ -4689,6 +4706,7 @@
         "external/perfetto/protos/perfetto/trace/ftrace/tcp.pb.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/test_bundle_wrapper.pb.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/thermal.pb.cc",
+        "external/perfetto/protos/perfetto/trace/ftrace/ufs.pb.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/vmscan.pb.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/workqueue.pb.cc",
     ],
@@ -4724,6 +4742,7 @@
         "protos/perfetto/trace/ftrace/ipi.proto",
         "protos/perfetto/trace/ftrace/irq.proto",
         "protos/perfetto/trace/ftrace/kmem.proto",
+        "protos/perfetto/trace/ftrace/kvm.proto",
         "protos/perfetto/trace/ftrace/lowmemorykiller.proto",
         "protos/perfetto/trace/ftrace/mali.proto",
         "protos/perfetto/trace/ftrace/mdss.proto",
@@ -4737,6 +4756,7 @@
         "protos/perfetto/trace/ftrace/scm.proto",
         "protos/perfetto/trace/ftrace/sde.proto",
         "protos/perfetto/trace/ftrace/signal.proto",
+        "protos/perfetto/trace/ftrace/skb.proto",
         "protos/perfetto/trace/ftrace/sock.proto",
         "protos/perfetto/trace/ftrace/sync.proto",
         "protos/perfetto/trace/ftrace/synthetic.proto",
@@ -4745,6 +4765,7 @@
         "protos/perfetto/trace/ftrace/tcp.proto",
         "protos/perfetto/trace/ftrace/test_bundle_wrapper.proto",
         "protos/perfetto/trace/ftrace/thermal.proto",
+        "protos/perfetto/trace/ftrace/ufs.proto",
         "protos/perfetto/trace/ftrace/vmscan.proto",
         "protos/perfetto/trace/ftrace/workqueue.proto",
     ],
@@ -4779,6 +4800,7 @@
         "external/perfetto/protos/perfetto/trace/ftrace/ipi.pb.h",
         "external/perfetto/protos/perfetto/trace/ftrace/irq.pb.h",
         "external/perfetto/protos/perfetto/trace/ftrace/kmem.pb.h",
+        "external/perfetto/protos/perfetto/trace/ftrace/kvm.pb.h",
         "external/perfetto/protos/perfetto/trace/ftrace/lowmemorykiller.pb.h",
         "external/perfetto/protos/perfetto/trace/ftrace/mali.pb.h",
         "external/perfetto/protos/perfetto/trace/ftrace/mdss.pb.h",
@@ -4792,6 +4814,7 @@
         "external/perfetto/protos/perfetto/trace/ftrace/scm.pb.h",
         "external/perfetto/protos/perfetto/trace/ftrace/sde.pb.h",
         "external/perfetto/protos/perfetto/trace/ftrace/signal.pb.h",
+        "external/perfetto/protos/perfetto/trace/ftrace/skb.pb.h",
         "external/perfetto/protos/perfetto/trace/ftrace/sock.pb.h",
         "external/perfetto/protos/perfetto/trace/ftrace/sync.pb.h",
         "external/perfetto/protos/perfetto/trace/ftrace/synthetic.pb.h",
@@ -4800,6 +4823,7 @@
         "external/perfetto/protos/perfetto/trace/ftrace/tcp.pb.h",
         "external/perfetto/protos/perfetto/trace/ftrace/test_bundle_wrapper.pb.h",
         "external/perfetto/protos/perfetto/trace/ftrace/thermal.pb.h",
+        "external/perfetto/protos/perfetto/trace/ftrace/ufs.pb.h",
         "external/perfetto/protos/perfetto/trace/ftrace/vmscan.pb.h",
         "external/perfetto/protos/perfetto/trace/ftrace/workqueue.pb.h",
     ],
@@ -4839,6 +4863,7 @@
         "protos/perfetto/trace/ftrace/ipi.proto",
         "protos/perfetto/trace/ftrace/irq.proto",
         "protos/perfetto/trace/ftrace/kmem.proto",
+        "protos/perfetto/trace/ftrace/kvm.proto",
         "protos/perfetto/trace/ftrace/lowmemorykiller.proto",
         "protos/perfetto/trace/ftrace/mali.proto",
         "protos/perfetto/trace/ftrace/mdss.proto",
@@ -4852,6 +4877,7 @@
         "protos/perfetto/trace/ftrace/scm.proto",
         "protos/perfetto/trace/ftrace/sde.proto",
         "protos/perfetto/trace/ftrace/signal.proto",
+        "protos/perfetto/trace/ftrace/skb.proto",
         "protos/perfetto/trace/ftrace/sock.proto",
         "protos/perfetto/trace/ftrace/sync.proto",
         "protos/perfetto/trace/ftrace/synthetic.proto",
@@ -4860,6 +4886,7 @@
         "protos/perfetto/trace/ftrace/tcp.proto",
         "protos/perfetto/trace/ftrace/test_bundle_wrapper.proto",
         "protos/perfetto/trace/ftrace/thermal.proto",
+        "protos/perfetto/trace/ftrace/ufs.proto",
         "protos/perfetto/trace/ftrace/vmscan.proto",
         "protos/perfetto/trace/ftrace/workqueue.proto",
     ],
@@ -4895,6 +4922,7 @@
         "external/perfetto/protos/perfetto/trace/ftrace/ipi.pbzero.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/irq.pbzero.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/kmem.pbzero.cc",
+        "external/perfetto/protos/perfetto/trace/ftrace/kvm.pbzero.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/lowmemorykiller.pbzero.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/mali.pbzero.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/mdss.pbzero.cc",
@@ -4908,6 +4936,7 @@
         "external/perfetto/protos/perfetto/trace/ftrace/scm.pbzero.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/sde.pbzero.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/signal.pbzero.cc",
+        "external/perfetto/protos/perfetto/trace/ftrace/skb.pbzero.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/sock.pbzero.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/sync.pbzero.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/synthetic.pbzero.cc",
@@ -4916,6 +4945,7 @@
         "external/perfetto/protos/perfetto/trace/ftrace/tcp.pbzero.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/test_bundle_wrapper.pbzero.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/thermal.pbzero.cc",
+        "external/perfetto/protos/perfetto/trace/ftrace/ufs.pbzero.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/vmscan.pbzero.cc",
         "external/perfetto/protos/perfetto/trace/ftrace/workqueue.pbzero.cc",
     ],
@@ -4951,6 +4981,7 @@
         "protos/perfetto/trace/ftrace/ipi.proto",
         "protos/perfetto/trace/ftrace/irq.proto",
         "protos/perfetto/trace/ftrace/kmem.proto",
+        "protos/perfetto/trace/ftrace/kvm.proto",
         "protos/perfetto/trace/ftrace/lowmemorykiller.proto",
         "protos/perfetto/trace/ftrace/mali.proto",
         "protos/perfetto/trace/ftrace/mdss.proto",
@@ -4964,6 +4995,7 @@
         "protos/perfetto/trace/ftrace/scm.proto",
         "protos/perfetto/trace/ftrace/sde.proto",
         "protos/perfetto/trace/ftrace/signal.proto",
+        "protos/perfetto/trace/ftrace/skb.proto",
         "protos/perfetto/trace/ftrace/sock.proto",
         "protos/perfetto/trace/ftrace/sync.proto",
         "protos/perfetto/trace/ftrace/synthetic.proto",
@@ -4972,6 +5004,7 @@
         "protos/perfetto/trace/ftrace/tcp.proto",
         "protos/perfetto/trace/ftrace/test_bundle_wrapper.proto",
         "protos/perfetto/trace/ftrace/thermal.proto",
+        "protos/perfetto/trace/ftrace/ufs.proto",
         "protos/perfetto/trace/ftrace/vmscan.proto",
         "protos/perfetto/trace/ftrace/workqueue.proto",
     ],
@@ -5007,6 +5040,7 @@
         "external/perfetto/protos/perfetto/trace/ftrace/ipi.pbzero.h",
         "external/perfetto/protos/perfetto/trace/ftrace/irq.pbzero.h",
         "external/perfetto/protos/perfetto/trace/ftrace/kmem.pbzero.h",
+        "external/perfetto/protos/perfetto/trace/ftrace/kvm.pbzero.h",
         "external/perfetto/protos/perfetto/trace/ftrace/lowmemorykiller.pbzero.h",
         "external/perfetto/protos/perfetto/trace/ftrace/mali.pbzero.h",
         "external/perfetto/protos/perfetto/trace/ftrace/mdss.pbzero.h",
@@ -5020,6 +5054,7 @@
         "external/perfetto/protos/perfetto/trace/ftrace/scm.pbzero.h",
         "external/perfetto/protos/perfetto/trace/ftrace/sde.pbzero.h",
         "external/perfetto/protos/perfetto/trace/ftrace/signal.pbzero.h",
+        "external/perfetto/protos/perfetto/trace/ftrace/skb.pbzero.h",
         "external/perfetto/protos/perfetto/trace/ftrace/sock.pbzero.h",
         "external/perfetto/protos/perfetto/trace/ftrace/sync.pbzero.h",
         "external/perfetto/protos/perfetto/trace/ftrace/synthetic.pbzero.h",
@@ -5028,6 +5063,7 @@
         "external/perfetto/protos/perfetto/trace/ftrace/tcp.pbzero.h",
         "external/perfetto/protos/perfetto/trace/ftrace/test_bundle_wrapper.pbzero.h",
         "external/perfetto/protos/perfetto/trace/ftrace/thermal.pbzero.h",
+        "external/perfetto/protos/perfetto/trace/ftrace/ufs.pbzero.h",
         "external/perfetto/protos/perfetto/trace/ftrace/vmscan.pbzero.h",
         "external/perfetto/protos/perfetto/trace/ftrace/workqueue.pbzero.h",
     ],
@@ -7221,11 +7257,11 @@
 genrule {
     name: "perfetto_src_perfetto_cmd_gen_cc_config_descriptor",
     srcs: [
-        ":perfetto_protos_perfetto_config_merged_config_descriptor",
+        ":perfetto_protos_perfetto_config_descriptor",
     ],
     cmd: "$(location tools/gen_cc_proto_descriptor.py) --gen_dir=$(genDir) --cpp_out=$(out) $(in)",
     out: [
-        "src/perfetto_cmd/perfetto_config.descriptor.h",
+        "src/perfetto_cmd/config.descriptor.h",
     ],
     tool_files: [
         "tools/gen_cc_proto_descriptor.py",
@@ -9164,28 +9200,6 @@
     ],
 }
 
-// GN: //tools/trace_to_text:common
-filegroup {
-    name: "perfetto_tools_trace_to_text_common",
-    srcs: [
-        "tools/trace_to_text/deobfuscate_profile.cc",
-        "tools/trace_to_text/main.cc",
-        "tools/trace_to_text/symbolize_profile.cc",
-        "tools/trace_to_text/trace_to_hprof.cc",
-        "tools/trace_to_text/trace_to_json.cc",
-        "tools/trace_to_text/trace_to_profile.cc",
-        "tools/trace_to_text/trace_to_systrace.cc",
-    ],
-}
-
-// GN: //tools/trace_to_text:full
-filegroup {
-    name: "perfetto_tools_trace_to_text_full",
-    srcs: [
-        "tools/trace_to_text/proto_full_utils.cc",
-    ],
-}
-
 // GN: //tools/trace_to_text:gen_cc_trace_descriptor
 genrule {
     name: "perfetto_tools_trace_to_text_gen_cc_trace_descriptor",
@@ -9201,6 +9215,28 @@
     ],
 }
 
+// GN: //tools/trace_to_text:lib
+filegroup {
+    name: "perfetto_tools_trace_to_text_lib",
+    srcs: [
+        "tools/trace_to_text/deobfuscate_profile.cc",
+        "tools/trace_to_text/symbolize_profile.cc",
+        "tools/trace_to_text/trace_to_hprof.cc",
+        "tools/trace_to_text/trace_to_json.cc",
+        "tools/trace_to_text/trace_to_profile.cc",
+        "tools/trace_to_text/trace_to_systrace.cc",
+        "tools/trace_to_text/trace_to_text.cc",
+    ],
+}
+
+// GN: //tools/trace_to_text:main
+filegroup {
+    name: "perfetto_tools_trace_to_text_main",
+    srcs: [
+        "tools/trace_to_text/main.cc",
+    ],
+}
+
 // GN: //tools/trace_to_text:pprofbuilder
 filegroup {
     name: "perfetto_tools_trace_to_text_pprofbuilder",
@@ -9209,22 +9245,6 @@
     ],
 }
 
-// GN: //tools/trace_to_text:trace_to_text_lib
-filegroup {
-    name: "perfetto_tools_trace_to_text_trace_to_text_lib",
-    srcs: [
-        "tools/trace_to_text/trace_to_text.cc",
-    ],
-}
-
-// GN: //tools/trace_to_text:unittests
-filegroup {
-    name: "perfetto_tools_trace_to_text_unittests",
-    srcs: [
-        "tools/trace_to_text/trace_to_text_unittest.cc",
-    ],
-}
-
 // GN: //tools/trace_to_text:utils
 filegroup {
     name: "perfetto_tools_trace_to_text_utils",
@@ -9495,7 +9515,6 @@
         ":perfetto_src_profiling_perf_producer_unittests",
         ":perfetto_src_profiling_perf_regs_parsing",
         ":perfetto_src_profiling_perf_unwinding",
-        ":perfetto_src_profiling_symbolizer_symbolize_database",
         ":perfetto_src_profiling_symbolizer_symbolizer",
         ":perfetto_src_profiling_symbolizer_unittests",
         ":perfetto_src_profiling_unittests",
@@ -9596,13 +9615,10 @@
         ":perfetto_src_tracing_test_tracing_integration_test",
         ":perfetto_src_tracing_unittests",
         ":perfetto_tools_sanitizers_unittests_sanitizers_unittests",
-        ":perfetto_tools_trace_to_text_trace_to_text_lib",
-        ":perfetto_tools_trace_to_text_unittests",
-        ":perfetto_tools_trace_to_text_utils",
     ],
     shared_libs: [
-        "libandroidicu",
         "libbase",
+        "libicu",
         "liblog",
         "libprocinfo",
         "libprotobuf-cpp-full",
@@ -9724,7 +9740,6 @@
         "perfetto_src_traced_probes_ftrace_test_messages_cpp_gen_headers",
         "perfetto_src_traced_probes_ftrace_test_messages_lite_gen_headers",
         "perfetto_src_traced_probes_ftrace_test_messages_zero_gen_headers",
-        "perfetto_tools_trace_to_text_gen_cc_trace_descriptor",
     ],
     defaults: [
         "perfetto_defaults",
@@ -9902,7 +9917,7 @@
     target: {
         android: {
             shared_libs: [
-                "libandroidicu",
+                "libicu",
                 "liblog",
                 "libprotobuf-cpp-full",
                 "libsqlite",
@@ -9998,14 +10013,12 @@
         ":perfetto_src_trace_processor_util_proto_to_args_parser",
         ":perfetto_src_trace_processor_util_protozero_to_text",
         ":perfetto_src_trace_processor_util_util",
-        ":perfetto_tools_trace_to_text_common",
-        ":perfetto_tools_trace_to_text_full",
+        ":perfetto_tools_trace_to_text_lib",
+        ":perfetto_tools_trace_to_text_main",
         ":perfetto_tools_trace_to_text_pprofbuilder",
-        ":perfetto_tools_trace_to_text_trace_to_text_lib",
         ":perfetto_tools_trace_to_text_utils",
     ],
     static_libs: [
-        "libprotobuf-cpp-full",
         "libsqlite",
         "libz",
     ],
@@ -10417,6 +10430,18 @@
     ],
 }
 
+// TODO(b/225381015): add fix to include all the trace protos.
+java_library {
+    name: "perfetto_trace_java_protos",
+    proto: {
+        type: "lite",
+        canonical_path_from_root: false,
+    },
+    srcs: [
+        "protos/perfetto/common/*.proto",
+    ]
+}
+
 // This sample target shows how to use the perfetto client API from within the
 // Android tree.
 cc_binary {
diff --git a/Android.bp.extras b/Android.bp.extras
index d6deb97..35e8368 100644
--- a/Android.bp.extras
+++ b/Android.bp.extras
@@ -20,6 +20,18 @@
     ],
 }
 
+// TODO(b/225381015): add fix to include all the trace protos.
+java_library {
+    name: "perfetto_trace_java_protos",
+    proto: {
+        type: "lite",
+        canonical_path_from_root: false,
+    },
+    srcs: [
+        "protos/perfetto/common/*.proto",
+    ]
+}
+
 // This sample target shows how to use the perfetto client API from within the
 // Android tree.
 cc_binary {
diff --git a/BUILD b/BUILD
index 283d9ce..02e2ccf 100644
--- a/BUILD
+++ b/BUILD
@@ -787,10 +787,10 @@
 perfetto_cc_proto_descriptor(
     name = "src_perfetto_cmd_gen_cc_config_descriptor",
     deps = [
-        ":protos_perfetto_config_merged_config_descriptor",
+        ":protos_perfetto_config_descriptor",
     ],
     outs = [
-        "src/perfetto_cmd/perfetto_config.descriptor.h",
+        "src/perfetto_cmd/config.descriptor.h",
     ],
 )
 
@@ -1903,36 +1903,6 @@
     ],
 )
 
-# GN target: //tools/trace_to_text:common
-perfetto_filegroup(
-    name = "tools_trace_to_text_common",
-    srcs = [
-        "tools/trace_to_text/deobfuscate_profile.cc",
-        "tools/trace_to_text/deobfuscate_profile.h",
-        "tools/trace_to_text/main.cc",
-        "tools/trace_to_text/symbolize_profile.cc",
-        "tools/trace_to_text/symbolize_profile.h",
-        "tools/trace_to_text/trace_to_hprof.cc",
-        "tools/trace_to_text/trace_to_hprof.h",
-        "tools/trace_to_text/trace_to_json.cc",
-        "tools/trace_to_text/trace_to_json.h",
-        "tools/trace_to_text/trace_to_profile.cc",
-        "tools/trace_to_text/trace_to_profile.h",
-        "tools/trace_to_text/trace_to_systrace.cc",
-        "tools/trace_to_text/trace_to_systrace.h",
-        "tools/trace_to_text/trace_to_text.h",
-    ],
-)
-
-# GN target: //tools/trace_to_text:full
-perfetto_filegroup(
-    name = "tools_trace_to_text_full",
-    srcs = [
-        "tools/trace_to_text/proto_full_utils.cc",
-        "tools/trace_to_text/proto_full_utils.h",
-    ],
-)
-
 perfetto_cc_proto_descriptor(
     name = "tools_trace_to_text_gen_cc_trace_descriptor",
     deps = [
@@ -1943,6 +1913,35 @@
     ],
 )
 
+# GN target: //tools/trace_to_text:lib
+perfetto_filegroup(
+    name = "tools_trace_to_text_lib",
+    srcs = [
+        "tools/trace_to_text/deobfuscate_profile.cc",
+        "tools/trace_to_text/deobfuscate_profile.h",
+        "tools/trace_to_text/symbolize_profile.cc",
+        "tools/trace_to_text/symbolize_profile.h",
+        "tools/trace_to_text/trace_to_hprof.cc",
+        "tools/trace_to_text/trace_to_hprof.h",
+        "tools/trace_to_text/trace_to_json.cc",
+        "tools/trace_to_text/trace_to_json.h",
+        "tools/trace_to_text/trace_to_profile.cc",
+        "tools/trace_to_text/trace_to_profile.h",
+        "tools/trace_to_text/trace_to_systrace.cc",
+        "tools/trace_to_text/trace_to_systrace.h",
+        "tools/trace_to_text/trace_to_text.cc",
+        "tools/trace_to_text/trace_to_text.h",
+    ],
+)
+
+# GN target: //tools/trace_to_text:main
+perfetto_filegroup(
+    name = "tools_trace_to_text_main",
+    srcs = [
+        "tools/trace_to_text/main.cc",
+    ],
+)
+
 # GN target: //tools/trace_to_text:pprofbuilder
 perfetto_filegroup(
     name = "tools_trace_to_text_pprofbuilder",
@@ -1951,16 +1950,6 @@
     ],
 )
 
-# GN target: //tools/trace_to_text:trace_to_text_lib
-perfetto_filegroup(
-    name = "tools_trace_to_text_trace_to_text_lib",
-    srcs = [
-        "tools/trace_to_text/proto_full_utils.h",
-        "tools/trace_to_text/trace_to_text.cc",
-        "tools/trace_to_text/trace_to_text.h",
-    ],
-)
-
 # GN target: //tools/trace_to_text:utils
 perfetto_filegroup(
     name = "tools_trace_to_text_utils",
@@ -1974,17 +1963,192 @@
 # Proto libraries
 # ##############################################################################
 
-# GN target: //protos/perfetto/common:cpp
-perfetto_cc_protocpp_library(
-    name = "protos_perfetto_common_cpp",
+# GN target: [//protos/perfetto/config:source_set]
+perfetto_proto_library(
+    name = "config_proto",
+    visibility = PERFETTO_CONFIG.public_visibility,
     deps = [
         ":protos_perfetto_common_protos",
+        ":protos_perfetto_config_android_protos",
+        ":protos_perfetto_config_ftrace_protos",
+        ":protos_perfetto_config_gpu_protos",
+        ":protos_perfetto_config_inode_file_protos",
+        ":protos_perfetto_config_interceptors_protos",
+        ":protos_perfetto_config_power_protos",
+        ":protos_perfetto_config_process_stats_protos",
+        ":protos_perfetto_config_profiling_protos",
+        ":protos_perfetto_config_protos",
+        ":protos_perfetto_config_sys_stats_protos",
+        ":protos_perfetto_config_track_event_protos",
     ],
 )
 
-# GN target: //protos/perfetto/common:lite
+# GN target: [//protos/perfetto/config:source_set]
 perfetto_cc_proto_library(
-    name = "protos_perfetto_common_lite",
+    name = "config_cc_proto",
+    visibility = PERFETTO_CONFIG.public_visibility,
+    deps = [
+        ":config_proto",
+    ],
+)
+
+# GN target: [//protos/perfetto/config:source_set]
+perfetto_java_proto_library(
+    name = "config_java_proto",
+    visibility = PERFETTO_CONFIG.public_visibility,
+    deps = [
+        ":config_proto",
+    ],
+)
+
+# GN target: [//protos/perfetto/config:source_set]
+perfetto_java_lite_proto_library(
+    name = "config_java_proto_lite",
+    visibility = PERFETTO_CONFIG.public_visibility,
+    deps = [
+        ":config_proto",
+    ],
+)
+
+# GN target: [//protos/perfetto/trace:non_minimal_source_set, //protos/perfetto/trace:minimal_source_set]
+perfetto_proto_library(
+    name = "trace_proto",
+    visibility = PERFETTO_CONFIG.public_visibility,
+    deps = [
+        ":protos_perfetto_common_protos",
+        ":protos_perfetto_config_android_protos",
+        ":protos_perfetto_config_ftrace_protos",
+        ":protos_perfetto_config_gpu_protos",
+        ":protos_perfetto_config_inode_file_protos",
+        ":protos_perfetto_config_interceptors_protos",
+        ":protos_perfetto_config_power_protos",
+        ":protos_perfetto_config_process_stats_protos",
+        ":protos_perfetto_config_profiling_protos",
+        ":protos_perfetto_config_protos",
+        ":protos_perfetto_config_sys_stats_protos",
+        ":protos_perfetto_config_track_event_protos",
+        ":protos_perfetto_trace_android_protos",
+        ":protos_perfetto_trace_chrome_protos",
+        ":protos_perfetto_trace_filesystem_protos",
+        ":protos_perfetto_trace_ftrace_protos",
+        ":protos_perfetto_trace_gpu_protos",
+        ":protos_perfetto_trace_interned_data_protos",
+        ":protos_perfetto_trace_minimal_protos",
+        ":protos_perfetto_trace_non_minimal_protos",
+        ":protos_perfetto_trace_perfetto_protos",
+        ":protos_perfetto_trace_power_protos",
+        ":protos_perfetto_trace_profiling_protos",
+        ":protos_perfetto_trace_ps_protos",
+        ":protos_perfetto_trace_sys_stats_protos",
+        ":protos_perfetto_trace_system_info_protos",
+        ":protos_perfetto_trace_track_event_protos",
+    ],
+)
+
+# GN target: [//protos/perfetto/trace:non_minimal_source_set, //protos/perfetto/trace:minimal_source_set]
+perfetto_cc_proto_library(
+    name = "trace_cc_proto",
+    visibility = PERFETTO_CONFIG.public_visibility,
+    deps = [
+        ":trace_proto",
+    ],
+)
+
+# GN target: [//protos/perfetto/trace:non_minimal_source_set, //protos/perfetto/trace:minimal_source_set]
+perfetto_java_proto_library(
+    name = "trace_java_proto",
+    visibility = PERFETTO_CONFIG.public_visibility,
+    deps = [
+        ":trace_proto",
+    ],
+)
+
+# GN target: [//protos/perfetto/trace:non_minimal_source_set, //protos/perfetto/trace:minimal_source_set]
+perfetto_java_lite_proto_library(
+    name = "trace_java_proto_lite",
+    visibility = PERFETTO_CONFIG.public_visibility,
+    deps = [
+        ":trace_proto",
+    ],
+)
+
+# GN target: [//protos/perfetto/metrics:source_set]
+perfetto_proto_library(
+    name = "metrics_proto",
+    visibility = PERFETTO_CONFIG.public_visibility,
+    deps = [
+        ":protos_perfetto_metrics_android_protos",
+        ":protos_perfetto_metrics_protos",
+    ],
+)
+
+# GN target: [//protos/perfetto/metrics:source_set]
+perfetto_cc_proto_library(
+    name = "metrics_cc_proto",
+    visibility = PERFETTO_CONFIG.public_visibility,
+    deps = [
+        ":metrics_proto",
+    ],
+)
+
+# GN target: [//protos/perfetto/metrics:source_set]
+perfetto_java_proto_library(
+    name = "metrics_java_proto",
+    visibility = PERFETTO_CONFIG.public_visibility,
+    deps = [
+        ":metrics_proto",
+    ],
+)
+
+# GN target: [//protos/perfetto/metrics:source_set]
+perfetto_java_lite_proto_library(
+    name = "metrics_java_proto_lite",
+    visibility = PERFETTO_CONFIG.public_visibility,
+    deps = [
+        ":metrics_proto",
+    ],
+)
+
+# GN target: [//protos/third_party/chromium:source_set]
+perfetto_proto_library(
+    name = "chromium_proto",
+    visibility = PERFETTO_CONFIG.public_visibility,
+    deps = [
+        ":protos_perfetto_trace_track_event_protos",
+        ":protos_third_party_chromium_protos",
+    ],
+)
+
+# GN target: [//protos/third_party/chromium:source_set]
+perfetto_cc_proto_library(
+    name = "chromium_cc_proto",
+    visibility = PERFETTO_CONFIG.public_visibility,
+    deps = [
+        ":chromium_proto",
+    ],
+)
+
+# GN target: [//protos/third_party/chromium:source_set]
+perfetto_java_proto_library(
+    name = "chromium_java_proto",
+    visibility = PERFETTO_CONFIG.public_visibility,
+    deps = [
+        ":chromium_proto",
+    ],
+)
+
+# GN target: [//protos/third_party/chromium:source_set]
+perfetto_java_lite_proto_library(
+    name = "chromium_java_proto_lite",
+    visibility = PERFETTO_CONFIG.public_visibility,
+    deps = [
+        ":chromium_proto",
+    ],
+)
+
+# GN target: //protos/perfetto/common:cpp
+perfetto_cc_protocpp_library(
+    name = "protos_perfetto_common_cpp",
     deps = [
         ":protos_perfetto_common_protos",
     ],
@@ -2000,6 +2164,7 @@
         "protos/perfetto/common/commit_data_request.proto",
         "protos/perfetto/common/data_source_descriptor.proto",
         "protos/perfetto/common/descriptor.proto",
+        "protos/perfetto/common/ftrace_descriptor.proto",
         "protos/perfetto/common/gpu_counter_descriptor.proto",
         "protos/perfetto/common/interceptor_descriptor.proto",
         "protos/perfetto/common/observable_events.proto",
@@ -2032,14 +2197,6 @@
     ],
 )
 
-# GN target: //protos/perfetto/config/android:lite
-perfetto_cc_proto_library(
-    name = "protos_perfetto_config_android_lite",
-    deps = [
-        ":protos_perfetto_config_android_protos",
-    ],
-)
-
 # GN target: //protos/perfetto/config/android:source_set
 perfetto_proto_library(
     name = "protos_perfetto_config_android_protos",
@@ -2103,14 +2260,6 @@
     ],
 )
 
-# GN target: //protos/perfetto/config/ftrace:lite
-perfetto_cc_proto_library(
-    name = "protos_perfetto_config_ftrace_lite",
-    deps = [
-        ":protos_perfetto_config_ftrace_protos",
-    ],
-)
-
 # GN target: //protos/perfetto/config/ftrace:source_set
 perfetto_proto_library(
     name = "protos_perfetto_config_ftrace_protos",
@@ -2138,14 +2287,6 @@
     ],
 )
 
-# GN target: //protos/perfetto/config/gpu:lite
-perfetto_cc_proto_library(
-    name = "protos_perfetto_config_gpu_lite",
-    deps = [
-        ":protos_perfetto_config_gpu_protos",
-    ],
-)
-
 # GN target: //protos/perfetto/config/gpu:source_set
 perfetto_proto_library(
     name = "protos_perfetto_config_gpu_protos",
@@ -2174,14 +2315,6 @@
     ],
 )
 
-# GN target: //protos/perfetto/config/inode_file:lite
-perfetto_cc_proto_library(
-    name = "protos_perfetto_config_inode_file_lite",
-    deps = [
-        ":protos_perfetto_config_inode_file_protos",
-    ],
-)
-
 # GN target: //protos/perfetto/config/inode_file:source_set
 perfetto_proto_library(
     name = "protos_perfetto_config_inode_file_protos",
@@ -2210,14 +2343,6 @@
     ],
 )
 
-# GN target: //protos/perfetto/config/interceptors:lite
-perfetto_cc_proto_library(
-    name = "protos_perfetto_config_interceptors_lite",
-    deps = [
-        ":protos_perfetto_config_interceptors_protos",
-    ],
-)
-
 # GN target: //protos/perfetto/config/interceptors:source_set
 perfetto_proto_library(
     name = "protos_perfetto_config_interceptors_protos",
@@ -2241,34 +2366,6 @@
     ],
 )
 
-# GN target: //protos/perfetto/config:lite
-perfetto_cc_proto_library(
-    name = "protos_perfetto_config_lite",
-    deps = [
-        ":protos_perfetto_config_protos",
-    ],
-)
-
-# GN target: //protos/perfetto/config:merged_config_descriptor
-perfetto_proto_descriptor(
-    name = "protos_perfetto_config_merged_config_descriptor",
-    deps = [
-        ":protos_perfetto_config_merged_config_protos",
-    ],
-    outs = [
-        "protos_perfetto_config_merged_config_descriptor.bin",
-    ],
-)
-
-# GN target: //protos/perfetto/config:merged_config_source_set
-perfetto_proto_library(
-    name = "protos_perfetto_config_merged_config_protos",
-    srcs = [
-        "protos/perfetto/config/perfetto_config.proto",
-    ],
-    visibility = PERFETTO_CONFIG.public_visibility,
-)
-
 # GN target: //protos/perfetto/config/power:cpp
 perfetto_cc_protocpp_library(
     name = "protos_perfetto_config_power_cpp",
@@ -2277,14 +2374,6 @@
     ],
 )
 
-# GN target: //protos/perfetto/config/power:lite
-perfetto_cc_proto_library(
-    name = "protos_perfetto_config_power_lite",
-    deps = [
-        ":protos_perfetto_config_power_protos",
-    ],
-)
-
 # GN target: //protos/perfetto/config/power:source_set
 perfetto_proto_library(
     name = "protos_perfetto_config_power_protos",
@@ -2312,14 +2401,6 @@
     ],
 )
 
-# GN target: //protos/perfetto/config/process_stats:lite
-perfetto_cc_proto_library(
-    name = "protos_perfetto_config_process_stats_lite",
-    deps = [
-        ":protos_perfetto_config_process_stats_protos",
-    ],
-)
-
 # GN target: //protos/perfetto/config/process_stats:source_set
 perfetto_proto_library(
     name = "protos_perfetto_config_process_stats_protos",
@@ -2348,14 +2429,6 @@
     ],
 )
 
-# GN target: //protos/perfetto/config/profiling:lite
-perfetto_cc_proto_library(
-    name = "protos_perfetto_config_profiling_lite",
-    deps = [
-        ":protos_perfetto_config_profiling_protos",
-    ],
-)
-
 # GN target: //protos/perfetto/config/profiling:source_set
 perfetto_proto_library(
     name = "protos_perfetto_config_profiling_protos",
@@ -2392,7 +2465,9 @@
         "protos/perfetto/config/test_config.proto",
         "protos/perfetto/config/trace_config.proto",
     ],
-    visibility = PERFETTO_CONFIG.public_visibility,
+    visibility = [
+        PERFETTO_CONFIG.proto_library_visibility,
+    ],
     deps = [
         ":protos_perfetto_common_protos",
         ":protos_perfetto_config_android_protos",
@@ -2417,14 +2492,6 @@
     ],
 )
 
-# GN target: //protos/perfetto/config/sys_stats:lite
-perfetto_cc_proto_library(
-    name = "protos_perfetto_config_sys_stats_lite",
-    deps = [
-        ":protos_perfetto_config_sys_stats_protos",
-    ],
-)
-
 # GN target: //protos/perfetto/config/sys_stats:source_set
 perfetto_proto_library(
     name = "protos_perfetto_config_sys_stats_protos",
@@ -2456,14 +2523,6 @@
     ],
 )
 
-# GN target: //protos/perfetto/config/track_event:lite
-perfetto_cc_proto_library(
-    name = "protos_perfetto_config_track_event_lite",
-    deps = [
-        ":protos_perfetto_config_track_event_protos",
-    ],
-)
-
 # GN target: //protos/perfetto/config/track_event:source_set
 perfetto_proto_library(
     name = "protos_perfetto_config_track_event_protos",
@@ -2588,14 +2647,6 @@
     ],
 )
 
-# GN target: //protos/perfetto/metrics/android:lite
-perfetto_cc_proto_library(
-    name = "protos_perfetto_metrics_android_lite",
-    deps = [
-        ":protos_perfetto_metrics_android_protos",
-    ],
-)
-
 # GN target: //protos/perfetto/metrics/android:source_set
 perfetto_proto_library(
     name = "protos_perfetto_metrics_android_protos",
@@ -2638,7 +2689,9 @@
         "protos/perfetto/metrics/android/trace_quality.proto",
         "protos/perfetto/metrics/android/unsymbolized_frames.proto",
     ],
-    visibility = PERFETTO_CONFIG.public_visibility,
+    visibility = [
+        PERFETTO_CONFIG.proto_library_visibility,
+    ],
 )
 
 # GN target: //protos/perfetto/metrics/chrome:descriptor
@@ -2700,34 +2753,20 @@
     ],
 )
 
-# GN target: //protos/perfetto/metrics:lite
-perfetto_cc_proto_library(
-    name = "protos_perfetto_metrics_lite",
-    deps = [
-        ":protos_perfetto_metrics_protos",
-    ],
-)
-
 # GN target: //protos/perfetto/metrics:source_set
 perfetto_proto_library(
     name = "protos_perfetto_metrics_protos",
     srcs = [
         "protos/perfetto/metrics/metrics.proto",
     ],
-    visibility = PERFETTO_CONFIG.public_visibility,
+    visibility = [
+        PERFETTO_CONFIG.proto_library_visibility,
+    ],
     deps = [
         ":protos_perfetto_metrics_android_protos",
     ],
 )
 
-# GN target: //protos/perfetto/trace/android:lite
-perfetto_cc_proto_library(
-    name = "protos_perfetto_trace_android_lite",
-    deps = [
-        ":protos_perfetto_trace_android_protos",
-    ],
-)
-
 # GN target: //protos/perfetto/trace/android:source_set
 perfetto_proto_library(
     name = "protos_perfetto_trace_android_protos",
@@ -2757,14 +2796,6 @@
     ],
 )
 
-# GN target: //protos/perfetto/trace/chrome:lite
-perfetto_cc_proto_library(
-    name = "protos_perfetto_trace_chrome_lite",
-    deps = [
-        ":protos_perfetto_trace_chrome_protos",
-    ],
-)
-
 # GN target: //protos/perfetto/trace/chrome:source_set
 perfetto_proto_library(
     name = "protos_perfetto_trace_chrome_protos",
@@ -2797,14 +2828,6 @@
     ],
 )
 
-# GN target: //protos/perfetto/trace/filesystem:lite
-perfetto_cc_proto_library(
-    name = "protos_perfetto_trace_filesystem_lite",
-    deps = [
-        ":protos_perfetto_trace_filesystem_protos",
-    ],
-)
-
 # GN target: //protos/perfetto/trace/filesystem:source_set
 perfetto_proto_library(
     name = "protos_perfetto_trace_filesystem_protos",
@@ -2824,14 +2847,6 @@
     ],
 )
 
-# GN target: //protos/perfetto/trace/ftrace:lite
-perfetto_cc_proto_library(
-    name = "protos_perfetto_trace_ftrace_lite",
-    deps = [
-        ":protos_perfetto_trace_ftrace_protos",
-    ],
-)
-
 # GN target: //protos/perfetto/trace/ftrace:source_set
 perfetto_proto_library(
     name = "protos_perfetto_trace_ftrace_protos",
@@ -2862,6 +2877,7 @@
         "protos/perfetto/trace/ftrace/ipi.proto",
         "protos/perfetto/trace/ftrace/irq.proto",
         "protos/perfetto/trace/ftrace/kmem.proto",
+        "protos/perfetto/trace/ftrace/kvm.proto",
         "protos/perfetto/trace/ftrace/lowmemorykiller.proto",
         "protos/perfetto/trace/ftrace/mali.proto",
         "protos/perfetto/trace/ftrace/mdss.proto",
@@ -2875,6 +2891,7 @@
         "protos/perfetto/trace/ftrace/scm.proto",
         "protos/perfetto/trace/ftrace/sde.proto",
         "protos/perfetto/trace/ftrace/signal.proto",
+        "protos/perfetto/trace/ftrace/skb.proto",
         "protos/perfetto/trace/ftrace/sock.proto",
         "protos/perfetto/trace/ftrace/sync.proto",
         "protos/perfetto/trace/ftrace/synthetic.proto",
@@ -2883,6 +2900,7 @@
         "protos/perfetto/trace/ftrace/tcp.proto",
         "protos/perfetto/trace/ftrace/test_bundle_wrapper.proto",
         "protos/perfetto/trace/ftrace/thermal.proto",
+        "protos/perfetto/trace/ftrace/ufs.proto",
         "protos/perfetto/trace/ftrace/vmscan.proto",
         "protos/perfetto/trace/ftrace/workqueue.proto",
     ],
@@ -2899,14 +2917,6 @@
     ],
 )
 
-# GN target: //protos/perfetto/trace/gpu:lite
-perfetto_cc_proto_library(
-    name = "protos_perfetto_trace_gpu_lite",
-    deps = [
-        ":protos_perfetto_trace_gpu_protos",
-    ],
-)
-
 # GN target: //protos/perfetto/trace/gpu:source_set
 perfetto_proto_library(
     name = "protos_perfetto_trace_gpu_protos",
@@ -2934,14 +2944,6 @@
     ],
 )
 
-# GN target: //protos/perfetto/trace/interned_data:lite
-perfetto_cc_proto_library(
-    name = "protos_perfetto_trace_interned_data_lite",
-    deps = [
-        ":protos_perfetto_trace_interned_data_protos",
-    ],
-)
-
 # GN target: //protos/perfetto/trace/interned_data:source_set
 perfetto_proto_library(
     name = "protos_perfetto_trace_interned_data_protos",
@@ -2971,23 +2973,6 @@
     ],
 )
 
-# GN target: //protos/perfetto/trace:merged_trace_source_set
-perfetto_proto_library(
-    name = "protos_perfetto_trace_merged_trace_protos",
-    srcs = [
-        "protos/perfetto/trace/perfetto_trace.proto",
-    ],
-    visibility = PERFETTO_CONFIG.public_visibility,
-)
-
-# GN target: //protos/perfetto/trace:minimal_lite
-perfetto_cc_proto_library(
-    name = "protos_perfetto_trace_minimal_lite",
-    deps = [
-        ":protos_perfetto_trace_minimal_protos",
-    ],
-)
-
 # GN target: //protos/perfetto/trace:minimal_source_set
 perfetto_proto_library(
     name = "protos_perfetto_trace_minimal_protos",
@@ -3035,14 +3020,6 @@
     ],
 )
 
-# GN target: //protos/perfetto/trace:non_minimal_lite
-perfetto_cc_proto_library(
-    name = "protos_perfetto_trace_non_minimal_lite",
-    deps = [
-        ":protos_perfetto_trace_non_minimal_protos",
-    ],
-)
-
 # GN target: //protos/perfetto/trace:non_minimal_source_set
 perfetto_proto_library(
     name = "protos_perfetto_trace_non_minimal_protos",
@@ -3056,7 +3033,9 @@
         "protos/perfetto/trace/trace_packet_defaults.proto",
         "protos/perfetto/trace/ui_state.proto",
     ],
-    visibility = PERFETTO_CONFIG.public_visibility,
+    visibility = [
+        PERFETTO_CONFIG.proto_library_visibility,
+    ],
     deps = [
         ":protos_perfetto_common_protos",
         ":protos_perfetto_config_android_protos",
@@ -3124,14 +3103,6 @@
     ],
 )
 
-# GN target: //protos/perfetto/trace/perfetto:lite
-perfetto_cc_proto_library(
-    name = "protos_perfetto_trace_perfetto_lite",
-    deps = [
-        ":protos_perfetto_trace_perfetto_protos",
-    ],
-)
-
 # GN target: //protos/perfetto/trace/perfetto:source_set
 perfetto_proto_library(
     name = "protos_perfetto_trace_perfetto_protos",
@@ -3152,14 +3123,6 @@
     ],
 )
 
-# GN target: //protos/perfetto/trace/power:lite
-perfetto_cc_proto_library(
-    name = "protos_perfetto_trace_power_lite",
-    deps = [
-        ":protos_perfetto_trace_power_protos",
-    ],
-)
-
 # GN target: //protos/perfetto/trace/power:source_set
 perfetto_proto_library(
     name = "protos_perfetto_trace_power_protos",
@@ -3227,14 +3190,6 @@
     ],
 )
 
-# GN target: //protos/perfetto/trace/profiling:lite
-perfetto_cc_proto_library(
-    name = "protos_perfetto_trace_profiling_lite",
-    deps = [
-        ":protos_perfetto_trace_profiling_protos",
-    ],
-)
-
 # GN target: //protos/perfetto/trace/profiling:source_set
 perfetto_proto_library(
     name = "protos_perfetto_trace_profiling_protos",
@@ -3262,14 +3217,6 @@
     ],
 )
 
-# GN target: //protos/perfetto/trace/ps:lite
-perfetto_cc_proto_library(
-    name = "protos_perfetto_trace_ps_lite",
-    deps = [
-        ":protos_perfetto_trace_ps_protos",
-    ],
-)
-
 # GN target: //protos/perfetto/trace/ps:source_set
 perfetto_proto_library(
     name = "protos_perfetto_trace_ps_protos",
@@ -3290,14 +3237,6 @@
     ],
 )
 
-# GN target: //protos/perfetto/trace/sys_stats:lite
-perfetto_cc_proto_library(
-    name = "protos_perfetto_trace_sys_stats_lite",
-    deps = [
-        ":protos_perfetto_trace_sys_stats_protos",
-    ],
-)
-
 # GN target: //protos/perfetto/trace/sys_stats:source_set
 perfetto_proto_library(
     name = "protos_perfetto_trace_sys_stats_protos",
@@ -3321,14 +3260,6 @@
     ],
 )
 
-# GN target: //protos/perfetto/trace/system_info:lite
-perfetto_cc_proto_library(
-    name = "protos_perfetto_trace_system_info_lite",
-    deps = [
-        ":protos_perfetto_trace_system_info_protos",
-    ],
-)
-
 # GN target: //protos/perfetto/trace/system_info:source_set
 perfetto_proto_library(
     name = "protos_perfetto_trace_system_info_protos",
@@ -3367,14 +3298,6 @@
     ],
 )
 
-# GN target: //protos/perfetto/trace/track_event:lite
-perfetto_cc_proto_library(
-    name = "protos_perfetto_trace_track_event_lite",
-    deps = [
-        ":protos_perfetto_trace_track_event_protos",
-    ],
-)
-
 # GN target: //protos/perfetto/trace/track_event:source_set
 perfetto_proto_library(
     name = "protos_perfetto_trace_track_event_protos",
@@ -3428,21 +3351,15 @@
     ],
 )
 
-# GN target: //protos/third_party/chromium:lite
-perfetto_cc_proto_library(
-    name = "protos_third_party_chromium_lite",
-    deps = [
-        ":protos_third_party_chromium_protos",
-    ],
-)
-
 # GN target: //protos/third_party/chromium:source_set
 perfetto_proto_library(
     name = "protos_third_party_chromium_protos",
     srcs = [
         "protos/third_party/chromium/chrome_track_event.proto",
     ],
-    visibility = PERFETTO_CONFIG.public_visibility,
+    visibility = [
+        PERFETTO_CONFIG.proto_library_visibility,
+    ],
     deps = [
         ":protos_perfetto_trace_track_event_protos",
     ],
@@ -3968,10 +3885,9 @@
         ":src_trace_processor_util_proto_to_args_parser",
         ":src_trace_processor_util_protozero_to_text",
         ":src_trace_processor_util_util",
-        ":tools_trace_to_text_common",
-        ":tools_trace_to_text_full",
+        ":tools_trace_to_text_lib",
+        ":tools_trace_to_text_main",
         ":tools_trace_to_text_pprofbuilder",
-        ":tools_trace_to_text_trace_to_text_lib",
         ":tools_trace_to_text_utils",
     ],
     visibility = [
@@ -4018,7 +3934,6 @@
                ":src_trace_processor_metrics_gen_cc_metrics_descriptor",
                ":tools_trace_to_text_gen_cc_trace_descriptor",
            ] + PERFETTO_CONFIG.deps.jsoncpp +
-           PERFETTO_CONFIG.deps.protobuf_full +
            PERFETTO_CONFIG.deps.sqlite +
            PERFETTO_CONFIG.deps.sqlite_ext_percentile +
            PERFETTO_CONFIG.deps.zlib + [
@@ -4066,6 +3981,7 @@
     deps = [
         ":protos_perfetto_metrics_protos",
     ],
+    visibility = PERFETTO_CONFIG.public_visibility,
 )
 
 perfetto_java_proto_library(
@@ -4073,27 +3989,7 @@
     deps = [
         ":protos_perfetto_metrics_android_protos",
     ],
-)
-
-perfetto_java_proto_library(
-    name = "protos_perfetto_trace_merged_trace_java",
-    deps = [
-        ":protos_perfetto_trace_merged_trace_protos",
-    ],
-)
-
-perfetto_java_proto_library(
-    name = "protos_perfetto_config_merged_config_java",
-    deps = [
-        ":protos_perfetto_config_merged_config_protos",
-    ],
-)
-
-perfetto_java_lite_proto_library(
-    name = "protos_perfetto_config_merged_config_java_lite",
-    deps = [
-        ":protos_perfetto_config_merged_config_protos",
-    ],
+    visibility = PERFETTO_CONFIG.public_visibility,
 )
 
 perfetto_gensignature_internal_only(
diff --git a/BUILD.extras b/BUILD.extras
index f91b2f4..dbf18af 100644
--- a/BUILD.extras
+++ b/BUILD.extras
@@ -36,6 +36,7 @@
     deps = [
         ":protos_perfetto_metrics_protos",
     ],
+    visibility = PERFETTO_CONFIG.public_visibility,
 )
 
 perfetto_java_proto_library(
@@ -43,27 +44,7 @@
     deps = [
         ":protos_perfetto_metrics_android_protos",
     ],
-)
-
-perfetto_java_proto_library(
-    name = "protos_perfetto_trace_merged_trace_java",
-    deps = [
-        ":protos_perfetto_trace_merged_trace_protos",
-    ],
-)
-
-perfetto_java_proto_library(
-    name = "protos_perfetto_config_merged_config_java",
-    deps = [
-        ":protos_perfetto_config_merged_config_protos",
-    ],
-)
-
-perfetto_java_lite_proto_library(
-    name = "protos_perfetto_config_merged_config_java_lite",
-    deps = [
-        ":protos_perfetto_config_merged_config_protos",
-    ],
+    visibility = PERFETTO_CONFIG.public_visibility,
 )
 
 perfetto_gensignature_internal_only(
diff --git a/BUILD.gn b/BUILD.gn
index 53b8d9a..6760137 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -45,6 +45,20 @@
   all_targets += [ "src/trace_processor:trace_processor_shell" ]
 }
 
+if (enable_perfetto_tools_trace_to_text) {
+  all_targets += [ "tools/trace_to_text" ]
+  if (is_cross_compiling) {
+    # In many cross-compilation scenarios (typically Android) developers expect
+    # the host version of trace_to_text to be available somewhere in out/, so
+    # they can convert Android traces on their dev machine. Also
+    # tools/gen_android_bp explicitly depends on the host version for the
+    # cc_binary_host("trace_to_text") target in Android.bp.
+    # Note that when cross-compiling the host executable will be available in
+    # out/xxx/gcc_like_host/trace_to_text NOT just out/xxx/trace_to_text.
+    all_targets += [ "tools/trace_to_text($host_toolchain)" ]
+  }
+}
+
 if (enable_perfetto_heapprofd) {
   all_targets += [ "src/profiling/memory:heapprofd" ]
 
@@ -134,7 +148,6 @@
     "test/configs",
 
     # For syntax-checking the protos.
-    "protos/perfetto/config:merged_config_lite",
     "protos/perfetto/trace:merged_trace_lite",
 
     # For checking all generated xxx.gen.{cc,h} files without waiting for
diff --git a/CHANGELOG b/CHANGELOG
index ebad664..526a152 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,13 +1,19 @@
 Unreleased:
   Tracing service and probes:
-    *
+    * Added prebuilts for mac-arm64.
+    * Removed merged trace and config protos from Bazel. Embedder should
+      instead depend on the non-merged proto targets.
   Trace Processor:
+    * Added prebuilts for mac-arm64.
     *
   UI:
     * Added flow arrows between binder transaction pairs (request/reply
       and async send/async recv).
   SDK:
-    *
+    * Added support for writing typed proto messages inside DebugAnnotations.
+    * Added support for delta encoding of timestamps for TrackEvents.
+      To disable it, refer to `disable_incremental_timestamps` flag in
+      `track_event_config.proto`.
 
 
 v24.2 - 2022-02-10:
diff --git a/docs/analysis/metrics.md b/docs/analysis/metrics.md
index 2602e88..db6752a 100644
--- a/docs/analysis/metrics.md
+++ b/docs/analysis/metrics.md
@@ -496,7 +496,7 @@
 ORDER BY cpu_time_ms DESC
 LIMIT 5;
 
-CREATE top_five_processes_output AS
+CREATE VIEW top_five_processes_output AS
 SELECT TopProcesses(
   'process_info', (
     SELECT RepeatedField(
diff --git a/docs/analysis/trace-processor.md b/docs/analysis/trace-processor.md
index 2385175..6287d5a 100644
--- a/docs/analysis/trace-processor.md
+++ b/docs/analysis/trace-processor.md
@@ -600,7 +600,7 @@
 
 The `trace_processor.api` module contains the `TraceProcessor` class which provides various
 functions that can be called on the loaded trace. For more information on how to use
-these functions, see this [`example`](/src/trace_processor/python/example.py).
+these functions, see this [`example`](/python/example.py).
 
 #### Query
 The query() function takes an SQL query as input and returns an iterator through the rows
diff --git a/docs/contributing/build-instructions.md b/docs/contributing/build-instructions.md
index ed5f135..e439315 100644
--- a/docs/contributing/build-instructions.md
+++ b/docs/contributing/build-instructions.md
@@ -41,6 +41,10 @@
 
 `--linux-arm` will pull the sysroots for cross-compiling for Linux ARM/64.
 
+WARNING: Note that if you're using an M1 or any later ARM Mac, your Python
+version should be at least 3.9.1 to work around
+[this Python Bug](https://bugs.python.org/issue42704).
+
 #### Generate the build files via GN
 
 Perfetto uses [GN](https://gn.googlesource.com/gn/+/HEAD/docs/quick_start.md)
diff --git a/docs/contributing/sdk-releasing.md b/docs/contributing/sdk-releasing.md
index ec69e5e..6898baf 100644
--- a/docs/contributing/sdk-releasing.md
+++ b/docs/contributing/sdk-releasing.md
@@ -137,8 +137,8 @@
 
 8. Run `tools/package-prebuilts-for-github-release vX.Y`. It will pull the
    prebuilts under `/tmp/perfetto-prebuilts-vX.Y`.
-  - There must be 9 zips in total: linux-{arm,arm64,amd64},
-    android-{arm,arm64,x86,x64}, mac-amd64, win-amd64.
+  - There must be 10 zips in total: linux-{arm,arm64,amd64},
+    android-{arm,arm64,x86,x64}, mac-{amd64,arm64}, win-amd64.
   - If one or more are missing it means that one of the LUCI bots failed,
     check the logs (follow the "Task URL: " link) from the invocation log.
   - If this happens you'll need to respin a vX.(Y+1) release with the fix
@@ -148,7 +148,7 @@
   - Select "Choose Tag" -> vX.Y
   - "Release title" -> "Perfetto vX.Y"
   - "Describe release" -> Copy the CHANGELOG, wrapping it in triple backticks.
-  - "Attach binaries" -> Attache the nine .zip files from the previous step.
+  - "Attach binaries" -> Attach the ten .zip files from the previous step.
 
 10. Run `tools/roll-prebuilts vX.Y`. It will update the SHA256 into the various
    scripts under `tools/`. Upload a CL with the changes.
diff --git a/docs/data-sources/cpu-freq.md b/docs/data-sources/cpu-freq.md
index 73a7f8e..5f67b24 100644
--- a/docs/data-sources/cpu-freq.md
+++ b/docs/data-sources/cpu-freq.md
@@ -7,14 +7,44 @@
 
 #### Frequency scaling
 
-Records changes in the frequency of a CPU. An event is emitted every time the
-scaling governor scales the CPU frequency up or down.
+There are two way to get CPU frequency data:
+
+1. Enabling the `power/cpu_frequency` ftrace event. (See
+   [TraceConfig](#traceconfig) below). This will record an event every time the
+   in-kernel cpufreq scaling driver changes the frequency. Note that this is not
+   supported on all platforms. In our experience it works reliably on ARM-based
+   SoCs but produces no data on most modern Intel-based platforms. This is
+   because recent Intel CPUs use an internal DVFS which is directly controlled
+   by the CPU, and that doesn't expose frequency change events to the kernel.
+   Also note that even on ARM-based platforms, the event is emitted only
+   when a CPU frequency changes. In many cases the CPU frequency won't
+   change for several seconds, which will show up as an empty block at the start
+   of the trace.
+   We suggest always combining this with polling (below) to get a reliable
+   snapshot of the initial frequency.
+2. Polling sysfs by enabling the `linux.sys_stats` data source and setting
+   `cpufreq_period_ms` to a value > 0. This will periodically poll
+   `/sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq` and record the
+   current value in the trace buffer. Works on both Intel and ARM-based
+   platforms.
 
 On most Android devices the frequency scaling is per-cluster (group of
 big/little cores) so it's not unusual to see groups of four CPUs changing
 frequency at the same time.
 
-#### idle states
+#### Available frequencies
+
+It is possible to record one-off also the full list of frequencies supported by
+each CPU by enabling the `linux.system_info` data source. This will
+record `/sys/devices/system/cpu/cpu*/cpufreq/scaling_available_frequencies` when
+the trace recording start. This information is typically used to tell apart
+big/little cores by inspecting the
+[`cpu_freq` table](/docs/analysis/sql-tables.autogen#cpu_freq).
+
+This is not supported on modern Intel platforms for the same aforementioned
+reasons of `power/cpu_frequency`.
+
+#### Idle states
 
 When no threads are eligible to be executed (e.g. they are all in sleep states)
 the kernel sets the CPU into an idle state, turning off some of the circuitry
@@ -85,9 +115,13 @@
 261187013665683 | cpuidle | 1 | 0
 261187013845058 | cpufreq | 0 | 1900800
 
+The list of known CPU frequencies, can be queried using the
+[`cpu_freq` table](/docs/analysis/sql-tables.autogen#cpu_freq).
+
 ### TraceConfig
 
 ```protobuf
+// Event-driven recording of frequency and idle state changes.
 data_sources: {
     config {
         name: "linux.ftrace"
@@ -98,6 +132,23 @@
         }
     }
 }
+
+// Polling the current cpu frequency.
+data_sources: {
+    config {
+        name: "linux.sys_stats"
+        sys_stats_config {
+            cpufreq_period_ms: 500
+        }
+    }
+}
+
+// Reporting the list of available frequency for each CPU.
+data_sources {
+    config {
+        name: "linux.system_info"
+    }
+}
 ```
 
 ### Full-device suspend
diff --git a/docs/data-sources/memory-counters.md b/docs/data-sources/memory-counters.md
index f2bbabd..8c3741c 100644
--- a/docs/data-sources/memory-counters.md
+++ b/docs/data-sources/memory-counters.md
@@ -282,7 +282,7 @@
 
 ### SQL
 
-Both newer lmkd and legacy kernel-driven lowmemorykiler events are normalized
+Both newer lmkd and legacy kernel-driven lowmemorykiller events are normalized
 at import time and available under the `mem.lmk` key in the `instants` table.
 
 ```sql
diff --git a/docs/data-sources/native-heap-profiler.md b/docs/data-sources/native-heap-profiler.md
index 56ef95c..d081313 100644
--- a/docs/data-sources/native-heap-profiler.md
+++ b/docs/data-sources/native-heap-profiler.md
@@ -424,6 +424,13 @@
 Then, Ctrl-C the Perfetto invocation and upload ~/heapprofd-trace to the
 [Perfetto UI](https://ui.perfetto.dev).
 
+NOTE: by default, heapprofd lazily initalizes to avoid blocking your program's
+main thread. However, if your program makes memory allocations on startup,
+these can be missed. To avoid this from happening, set the enironment variable
+`PERFETTO_HEAPPROFD_BLOCKING_INIT=1`; on the first malloc, your program will
+be blocked until heapprofd initializes fully but means every allocation will
+be correctly tracked.
+
 ## Known Issues
 
 ### {#known-issues-android11} Android 11
diff --git a/examples/sdk/BUILD.gn b/examples/sdk/BUILD.gn
index 8da2991..a801d29 100644
--- a/examples/sdk/BUILD.gn
+++ b/examples/sdk/BUILD.gn
@@ -20,7 +20,6 @@
     "trace_categories.cc",
     "trace_categories.h",
   ]
-  configs -= [ "//gn/standalone:extra_warnings" ]
   cflags = [ "-DPERFETTO_SDK_EXAMPLE_USE_INTERNAL_HEADERS" ]
   testonly = true
   deps = [
diff --git a/gn/perfetto_unittests.gni b/gn/perfetto_unittests.gni
index dbfa0fa..dec85bc 100644
--- a/gn/perfetto_unittests.gni
+++ b/gn/perfetto_unittests.gni
@@ -80,7 +80,10 @@
 
 if (enable_perfetto_trace_processor) {
   perfetto_unittests_targets += [ "src/trace_processor:unittests" ]
-  perfetto_unittests_targets += [ "tools/trace_to_text:unittests" ]
+
+  # TODO(mohitms): reenable this once we no longer link lite and full protobuf
+  # simultaneously.
+  # perfetto_unittests_targets += [ "tools/trace_to_text:unittests" ]
 
   if (enable_perfetto_trace_processor_sqlite) {
     perfetto_unittests_targets += [ "src/trace_processor/metrics:unittests" ]
diff --git a/include/perfetto/ext/base/string_utils.h b/include/perfetto/ext/base/string_utils.h
index 58444a8..593204f 100644
--- a/include/perfetto/ext/base/string_utils.h
+++ b/include/perfetto/ext/base/string_utils.h
@@ -124,7 +124,6 @@
 std::string ReplaceAll(std::string str,
                        const std::string& to_replace,
                        const std::string& replacement);
-std::string TrimLeading(const std::string& str);
 
 // A BSD-style strlcpy without the return value.
 // Copies at most |dst_size|-1 characters. Unlike strncpy, it always \0
diff --git a/include/perfetto/ext/base/subprocess.h b/include/perfetto/ext/base/subprocess.h
index 80adbdc..cca6c29 100644
--- a/include/perfetto/ext/base/subprocess.h
+++ b/include/perfetto/ext/base/subprocess.h
@@ -106,13 +106,18 @@
                       // This includes crashes or other signals on UNIX.
   };
 
-  enum OutputMode {
+  enum class OutputMode {
     kInherit = 0,  // Inherit's the caller process stdout/stderr.
-    kDevNull,      // dup() onto /dev/null
+    kDevNull,      // dup() onto /dev/null.
     kBuffer,       // dup() onto a pipe and move it into the output() buffer.
     kFd,           // dup() onto the passed args.fd.
   };
 
+  enum class InputMode {
+    kBuffer = 0,  // dup() onto a pipe and write args.input on it.
+    kDevNull,     // dup() onto /dev/null.
+  };
+
   // Input arguments for configuring the subprocess behavior.
   struct Args {
     Args(std::initializer_list<std::string> _cmd = {}) : exec_cmd(_cmd) {}
@@ -149,11 +154,13 @@
     // The file descriptors in this list will not be closed.
     std::vector<int> preserve_fds;
 
-    // The data to push in the child process stdin.
+    // The data to push in the child process stdin, if input_mode ==
+    // InputMode::kBuffer.
     std::string input;
 
-    OutputMode stdout_mode = kInherit;
-    OutputMode stderr_mode = kInherit;
+    InputMode stdin_mode = InputMode::kBuffer;
+    OutputMode stdout_mode = OutputMode::kInherit;
+    OutputMode stderr_mode = OutputMode::kInherit;
 
     base::ScopedPlatformHandle out_fd;
 
@@ -213,7 +220,7 @@
   bool timed_out() const { return s_->timed_out; }
 
   // This contains both stdout and stderr (if the corresponding _mode ==
-  // kBuffer). It's non-const so the caller can std::move() it.
+  // OutputMode::kBuffer). It's non-const so the caller can std::move() it.
   std::string& output() { return s_->output; }
   const std::string& output() const { return s_->output; }
 
@@ -236,7 +243,7 @@
     PlatformProcessId pid;
     Status status = kNotStarted;
     int returncode = -1;
-    std::string output;  // Stdin+stderr. Only when kBuffer.
+    std::string output;  // Stdin+stderr. Only when OutputMode::kBuffer.
     std::unique_ptr<ResourceUsage> rusage{new ResourceUsage()};
     bool timed_out = false;
 #if PERFETTO_BUILDFLAG(PERFETTO_OS_WIN)
diff --git a/include/perfetto/tracing/data_source.h b/include/perfetto/tracing/data_source.h
index 99aaf89..020708a 100644
--- a/include/perfetto/tracing/data_source.h
+++ b/include/perfetto/tracing/data_source.h
@@ -129,6 +129,10 @@
   // for when incremental state needs to be cleared. See
   // TraceContext::GetIncrementalState().
   using IncrementalStateType = void;
+  // |TlsStateType| can optionally be used to store custom per-sequence
+  // session data, which is not reset when incremental state is cleared
+  // (e.g. configuration options).
+  using TlsStateType = void;
 
   // Allows overriding what type of thread-local state configuration the data
   // source uses. By default every data source gets independent thread-local
@@ -214,7 +218,7 @@
     // immediately before calling this. The caller is supposed to check for its
     // validity before using it. After checking, the handle is guaranteed to
     // remain valid until the handle goes out of scope.
-    LockedHandle<DataSourceType> GetDataSourceLocked() {
+    LockedHandle<DataSourceType> GetDataSourceLocked() const {
       auto* internal_state = static_state_.TryGet(instance_index_);
       if (!internal_state)
         return LockedHandle<DataSourceType>();
@@ -223,6 +227,13 @@
           static_cast<DataSourceType*>(internal_state->data_source.get()));
     }
 
+    // Post-condition: returned ptr will be non-null.
+    typename DataSourceTraits::TlsStateType* GetCustomTlsState() {
+      PERFETTO_DCHECK(tls_inst_->data_source_custom_tls);
+      return reinterpret_cast<typename DataSourceTraits::TlsStateType*>(
+          tls_inst_->data_source_custom_tls.get());
+    }
+
     typename DataSourceTraits::IncrementalStateType* GetIncrementalState() {
       // Recreate incremental state data if it has been reset by the service.
       if (tls_inst_->incremental_state_generation !=
@@ -398,7 +409,7 @@
             &static_state_, i, instance_state,
             DataSourceType::kBufferExhaustedPolicy);
         CreateIncrementalState(&tls_inst);
-
+        CreateDataSourceCustomTLS(TraceContext(&tls_inst, i));
         // Even in the case of out-of-IDs, SharedMemoryArbiterImpl returns a
         // NullTraceWriter. The returned pointer should never be null.
         assert(tls_inst.trace_writer);
@@ -474,7 +485,7 @@
         static_state_.incremental_state_generation.load(
             std::memory_order_relaxed);
     tls_inst->incremental_state =
-        internal::DataSourceInstanceThreadLocalState::IncrementalStatePointer(
+        internal::DataSourceInstanceThreadLocalState::ObjectWithDeleter(
             reinterpret_cast<void*>(new T()),
             [](void* p) { delete reinterpret_cast<T*>(p); });
   }
@@ -490,6 +501,27 @@
         static_cast<typename DataSourceTraits::IncrementalStateType*>(nullptr));
   }
 
+  // Create the user provided custom tls state in the given TraceContext's
+  // thread-local storage.  Note: The second parameter here is used to
+  // specialize the case where there is no incremental state type.
+  template <typename T>
+  static void CreateDataSourceCustomTLSImpl(const TraceContext& trace_context,
+                                            const T*) {
+    PERFETTO_DCHECK(!trace_context.tls_inst_->data_source_custom_tls);
+    trace_context.tls_inst_->data_source_custom_tls =
+        internal::DataSourceInstanceThreadLocalState::ObjectWithDeleter(
+            reinterpret_cast<void*>(new T(trace_context)),
+            [](void* p) { delete reinterpret_cast<T*>(p); });
+  }
+
+  static void CreateDataSourceCustomTLSImpl(const TraceContext&, const void*) {}
+
+  static void CreateDataSourceCustomTLS(const TraceContext& trace_context) {
+    CreateDataSourceCustomTLSImpl(
+        trace_context,
+        static_cast<typename DataSourceTraits::TlsStateType*>(nullptr));
+  }
+
   // Note that the returned object is one per-thread per-data-source-type, NOT
   // per data-source *instance*.
   static internal::DataSourceThreadLocalState* GetOrCreateDataSourceTLS(
diff --git a/include/perfetto/tracing/event_context.h b/include/perfetto/tracing/event_context.h
index 9628a56..f1b77d6 100644
--- a/include/perfetto/tracing/event_context.h
+++ b/include/perfetto/tracing/event_context.h
@@ -90,7 +90,7 @@
   template <typename T>
   void AddDebugAnnotation(const char* name, T&& value) {
     auto annotation = AddDebugAnnotation(name);
-    WriteIntoTracedValue(internal::CreateTracedValueFromProto(annotation),
+    WriteIntoTracedValue(internal::CreateTracedValueFromProto(annotation, this),
                          std::forward<T>(value));
   }
 
diff --git a/include/perfetto/tracing/internal/data_source_internal.h b/include/perfetto/tracing/internal/data_source_internal.h
index 3212060..2be191a 100644
--- a/include/perfetto/tracing/internal/data_source_internal.h
+++ b/include/perfetto/tracing/internal/data_source_internal.h
@@ -152,11 +152,11 @@
 
 // Per-DataSource-instance thread-local state.
 struct DataSourceInstanceThreadLocalState {
-  using IncrementalStatePointer = std::unique_ptr<void, void (*)(void*)>;
 
   void Reset() {
     trace_writer.reset();
     incremental_state.reset();
+    data_source_custom_tls.reset();
     muxer_id_for_testing = 0;
     backend_id = 0;
     backend_connection_id = 0;
@@ -167,7 +167,9 @@
   }
 
   std::unique_ptr<TraceWriterBase> trace_writer;
-  IncrementalStatePointer incremental_state = {nullptr, [](void*) {}};
+  using ObjectWithDeleter = std::unique_ptr<void, void (*)(void*)>;
+  ObjectWithDeleter incremental_state = {nullptr, [](void*) {}};
+  ObjectWithDeleter data_source_custom_tls = {nullptr, [](void*) {}};
   uint32_t incremental_state_generation;
   uint32_t muxer_id_for_testing;
   TracingBackendId backend_id;
diff --git a/include/perfetto/tracing/internal/track_event_data_source.h b/include/perfetto/tracing/internal/track_event_data_source.h
index 9229153..93f2428 100644
--- a/include/perfetto/tracing/internal/track_event_data_source.h
+++ b/include/perfetto/tracing/internal/track_event_data_source.h
@@ -35,14 +35,16 @@
 
 namespace perfetto {
 
-// This template provides a way to convert an abstract timestamp into the trace
-// clock timebase in nanoseconds. By specialising this template and defining
+// A function for converting an abstract timestamp into a
+// perfetto::TraceTimestamp struct. By specialising this template and defining
 // static ConvertTimestampToTraceTimeNs function in it the user can register
-// additional timestamp types. The return value should specify the clock used by
-// the timestamp as well as its value in nanoseconds.
+// additional timestamp types. The return value should specify the
+// clock domain used by the timestamp as well as its value.
 //
-// The users should see the specialisation for uint64_t below as an example.
-// Note that the specialisation should be defined in perfetto namespace.
+// The supported clock domains are the ones described in
+// perfetto.protos.ClockSnapshot. However, custom clock IDs (>=64) are
+// reserved for internal use by the SDK for the time being.
+// The timestamp value should be in nanoseconds regardless of the clock domain.
 template <typename T>
 struct TraceTimestampTraits;
 
@@ -135,6 +137,7 @@
 
 struct TrackEventDataSourceTraits : public perfetto::DefaultDataSourceTraits {
   using IncrementalStateType = TrackEventIncrementalState;
+  using TlsStateType = TrackEventTlsState;
 
   // Use a one shared TLS slot so that all track event data sources write into
   // the same sequence and share interning dictionaries.
@@ -239,7 +242,7 @@
                                Arguments&&... args) PERFETTO_NO_INLINE {
     TraceForCategoryImpl(instances, category, event_name, type,
                          TrackEventInternal::kDefaultTrack,
-                         TrackEventInternal::GetTimeNs(),
+                         TrackEventInternal::GetTraceTime(),
                          std::forward<Arguments>(args)...);
   }
 
@@ -261,7 +264,7 @@
                                Arguments&&... args) PERFETTO_NO_INLINE {
     TraceForCategoryImpl(
         instances, category, event_name, type, std::forward<TrackType>(track),
-        TrackEventInternal::GetTimeNs(), std::forward<Arguments>(args)...);
+        TrackEventInternal::GetTraceTime(), std::forward<Arguments>(args)...);
   }
 
   // Trace point which takes a timestamp, but not track.
@@ -314,7 +317,7 @@
                                ValueType value) PERFETTO_ALWAYS_INLINE {
     PERFETTO_DCHECK(type == perfetto::protos::pbzero::TrackEvent::TYPE_COUNTER);
     TraceForCategory(instances, category, /*name=*/nullptr, type, track,
-                     TrackEventInternal::GetTimeNs(), value);
+                     TrackEventInternal::GetTraceTime(), value);
   }
 
   // Trace point with with a timestamp and a counter sample.
@@ -360,7 +363,8 @@
     TrackRegistry::Get()->UpdateTrack(track, desc.SerializeAsString());
     Base::template Trace([&](typename Base::TraceContext ctx) {
       TrackEventInternal::WriteTrackDescriptor(
-          track, ctx.tls_inst_->trace_writer.get());
+          track, ctx.tls_inst_->trace_writer.get(), ctx.GetIncrementalState(),
+          *ctx.GetCustomTlsState(), TrackEventInternal::GetTraceTime());
     });
   }
 
@@ -399,6 +403,8 @@
     return TrackEventInternal::GetClockId();
   }
 
+  const protos::gen::TrackEventConfig& GetConfig() const { return config_; }
+
  private:
   // Each category has its own enabled/disabled state, stored in the category
   // registry.
@@ -444,29 +450,27 @@
             return;
           }
 
+          const TrackEventTlsState& tls_state = *ctx.GetCustomTlsState();
           TraceTimestamp trace_timestamp = ::perfetto::TraceTimestampTraits<
               TimestampType>::ConvertTimestampToTraceTimeNs(timestamp);
 
-          // Make sure incremental state is valid.
           TraceWriterBase* trace_writer = ctx.tls_inst_->trace_writer.get();
+          // Make sure incremental state is valid.
           TrackEventIncrementalState* incr_state = ctx.GetIncrementalState();
-          if (incr_state->was_cleared) {
-            incr_state->was_cleared = false;
-            TrackEventInternal::ResetIncrementalState(trace_writer,
-                                                      trace_timestamp);
-          }
+          TrackEventInternal::ResetIncrementalStateIfRequired(
+              trace_writer, incr_state, tls_state, trace_timestamp);
 
           // Write the track descriptor before any event on the track.
           if (track) {
             TrackEventInternal::WriteTrackDescriptorIfNeeded(
-                track, trace_writer, incr_state);
+                track, trace_writer, incr_state, tls_state, trace_timestamp);
           }
 
           // Write the event itself.
           {
             auto event_ctx = TrackEventInternal::WriteEvent(
-                trace_writer, incr_state, static_category, event_name, type,
-                trace_timestamp);
+                trace_writer, incr_state, tls_state, static_category,
+                event_name, type, trace_timestamp);
             // Write dynamic categories (except for events that don't require
             // categories). For counter events, the counter name (and optional
             // category) is stored as part of the track descriptor instead being
@@ -513,7 +517,8 @@
     TrackRegistry::Get()->UpdateTrack(track, std::move(callback));
     Base::template Trace([&](typename Base::TraceContext ctx) {
       TrackEventInternal::WriteTrackDescriptor(
-          track, ctx.tls_inst_->trace_writer.get());
+          track, ctx.tls_inst_->trace_writer.get(), ctx.GetIncrementalState(),
+          *ctx.GetCustomTlsState(), TrackEventInternal::GetTraceTime());
     });
   }
 
diff --git a/include/perfetto/tracing/internal/track_event_internal.h b/include/perfetto/tracing/internal/track_event_internal.h
index 037dc09..5e0665c 100644
--- a/include/perfetto/tracing/internal/track_event_internal.h
+++ b/include/perfetto/tracing/internal/track_event_internal.h
@@ -35,13 +35,24 @@
 
 // Represents a point in time for the clock specified by |clock_id|.
 struct TraceTimestamp {
-  protos::pbzero::BuiltinClock clock_id;
-  uint64_t nanoseconds;
+  // Clock IDs have the following semantic:
+  // [1, 63]:    Builtin types, see BuiltinClock from
+  //             ../common/builtin_clock.proto.
+  // [64, 127]:  User-defined clocks. These clocks are sequence-scoped. They
+  //             are only valid within the same |trusted_packet_sequence_id|
+  //             (i.e. only for TracePacket(s) emitted by the same TraceWriter
+  //             that emitted the clock snapshot).
+  // [128, MAX]: Reserved for future use. The idea is to allow global clock
+  //             IDs and setting this ID to hash(full_clock_name) & ~127.
+  // Learn more: `clock_snapshot.proto`
+  uint32_t clock_id;
+  uint64_t value;
 };
 
 class EventContext;
 class TrackEventSessionObserver;
 struct Category;
+struct TraceTimestamp;
 namespace protos {
 namespace gen {
 class TrackEventConfig;
@@ -82,9 +93,27 @@
 #endif  // PERFETTO_DCHECK_IS_ON()
 };
 
+struct TrackEventTlsState {
+  template <typename TraceContext>
+  explicit TrackEventTlsState(const TraceContext& trace_context) {
+    auto locked_ds = trace_context.GetDataSourceLocked();
+    if (locked_ds.valid()) {
+      disable_incremental_timestamps =
+          locked_ds->GetConfig().disable_incremental_timestamps();
+    }
+  }
+  bool disable_incremental_timestamps = false;
+};
+
 struct TrackEventIncrementalState {
   static constexpr size_t kMaxInternedDataFields = 32;
 
+  // Packet-sequence-scoped clock that encodes microsecond timestamps in the
+  // domain of the clock returned by GetClockId() as delta values - see
+  // Clock::is_incremental in perfetto/trace/clock_snapshot.proto.
+  // Default unit: nanoseconds.
+  static constexpr uint32_t kClockIdIncremental = 64;
+
   bool was_cleared = true;
 
   // A heap-allocated message for storing newly seen interned data while we are
@@ -116,6 +145,11 @@
   // this tracing session. The value in the map indicates whether the category
   // is enabled or disabled.
   std::unordered_map<std::string, bool> dynamic_categories;
+
+  // The latest reference timestamp that was used in a TracePacket or in a
+  // ClockSnapshot. The increment between this timestamp and the current trace
+  // time (GetTimeNs) is a value in kClockIdIncremental's domain.
+  uint64_t last_timestamp_ns = 0;
 };
 
 // The backend portion of the track event trace point implemention. Outlined to
@@ -143,12 +177,22 @@
   static perfetto::EventContext WriteEvent(
       TraceWriterBase*,
       TrackEventIncrementalState*,
+      const TrackEventTlsState& tls_state,
       const Category* category,
       const char* name,
       perfetto::protos::pbzero::TrackEvent::Type,
-      TraceTimestamp timestamp = {GetClockId(), GetTimeNs()});
+      const TraceTimestamp& timestamp);
 
-  static void ResetIncrementalState(TraceWriterBase*, TraceTimestamp);
+  static void ResetIncrementalStateIfRequired(
+      TraceWriterBase* trace_writer,
+      TrackEventIncrementalState* incr_state,
+      const TrackEventTlsState& tls_state,
+      const TraceTimestamp& timestamp) {
+    if (incr_state->was_cleared) {
+      incr_state->was_cleared = false;
+      ResetIncrementalState(trace_writer, incr_state, tls_state, timestamp);
+    }
+  }
 
   // TODO(altimin): Remove this method once Chrome uses
   // EventContext::AddDebugAnnotation directly.
@@ -157,8 +201,9 @@
                                  const char* name,
                                  T&& value) {
     auto annotation = AddDebugAnnotation(event_ctx, name);
-    WriteIntoTracedValue(internal::CreateTracedValueFromProto(annotation),
-                         std::forward<T>(value));
+    WriteIntoTracedValue(
+        internal::CreateTracedValueFromProto(annotation, event_ctx),
+        std::forward<T>(value));
   }
 
   // If the given track hasn't been seen by the trace writer yet, write a
@@ -168,24 +213,33 @@
   static void WriteTrackDescriptorIfNeeded(
       const TrackType& track,
       TraceWriterBase* trace_writer,
-      TrackEventIncrementalState* incr_state) {
+      TrackEventIncrementalState* incr_state,
+      const TrackEventTlsState& tls_state,
+      const TraceTimestamp& timestamp) {
     auto it_and_inserted = incr_state->seen_tracks.insert(track.uuid);
     if (PERFETTO_LIKELY(!it_and_inserted.second))
       return;
-    WriteTrackDescriptor(track, trace_writer);
+    WriteTrackDescriptor(track, trace_writer, incr_state, tls_state, timestamp);
   }
 
   // Unconditionally write a track descriptor into the trace.
   template <typename TrackType>
   static void WriteTrackDescriptor(const TrackType& track,
-                                   TraceWriterBase* trace_writer) {
+                                   TraceWriterBase* trace_writer,
+                                   TrackEventIncrementalState* incr_state,
+                                   const TrackEventTlsState& tls_state,
+                                   const TraceTimestamp& timestamp) {
+    ResetIncrementalStateIfRequired(trace_writer, incr_state, tls_state,
+                                    timestamp);
     TrackRegistry::Get()->SerializeTrack(
-        track, NewTracePacket(trace_writer, {GetClockId(), GetTimeNs()}));
+        track, NewTracePacket(trace_writer, incr_state, tls_state, timestamp));
   }
 
   // Get the current time in nanoseconds in the trace clock timebase.
   static uint64_t GetTimeNs();
 
+  static TraceTimestamp GetTraceTime();
+
   // Get the clock used by GetTimeNs().
   static constexpr protos::pbzero::BuiltinClock GetClockId() {
 #if !PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) && \
@@ -202,8 +256,15 @@
   static const Track kDefaultTrack;
 
  private:
+  static void ResetIncrementalState(TraceWriterBase* trace_writer,
+                                    TrackEventIncrementalState* incr_state,
+                                    const TrackEventTlsState& tls_state,
+                                    const TraceTimestamp& timestamp);
+
   static protozero::MessageHandle<protos::pbzero::TracePacket> NewTracePacket(
       TraceWriterBase*,
+      TrackEventIncrementalState*,
+      const TrackEventTlsState& tls_state,
       TraceTimestamp,
       uint32_t seq_flags =
           protos::pbzero::TracePacket::SEQ_NEEDS_INCREMENTAL_STATE);
diff --git a/include/perfetto/tracing/internal/track_event_interned_fields.h b/include/perfetto/tracing/internal/track_event_interned_fields.h
index 81bfd98..50e3370 100644
--- a/include/perfetto/tracing/internal/track_event_interned_fields.h
+++ b/include/perfetto/tracing/internal/track_event_interned_fields.h
@@ -68,6 +68,20 @@
                   const char* value);
 };
 
+struct PERFETTO_EXPORT InternedDebugAnnotationValueTypeName
+    : public TrackEventInternedDataIndex<
+          InternedDebugAnnotationValueTypeName,
+          perfetto::protos::pbzero::InternedData::
+              kDebugAnnotationValueTypeNamesFieldNumber,
+          const char*,
+          SmallInternedDataTraits> {
+  ~InternedDebugAnnotationValueTypeName() override;
+
+  static void Add(protos::pbzero::InternedData* interned_data,
+                  size_t iid,
+                  const char* value);
+};
+
 }  // namespace internal
 }  // namespace perfetto
 
diff --git a/include/perfetto/tracing/internal/track_event_macros.h b/include/perfetto/tracing/internal/track_event_macros.h
index c82134d..a901524 100644
--- a/include/perfetto/tracing/internal/track_event_macros.h
+++ b/include/perfetto/tracing/internal/track_event_macros.h
@@ -87,9 +87,16 @@
   }  // namespace internal
 
 // Defines the TrackEvent data source for the current track event namespace.
+// `virtual ~TrackEvent` is added to avoid `-Wweak-vtables` warning.
+// Learn more : aosp/2019906
 #define PERFETTO_INTERNAL_DECLARE_TRACK_EVENT_DATA_SOURCE()              \
   struct TrackEvent : public ::perfetto::internal::TrackEventDataSource< \
-                          TrackEvent, &internal::kCategoryRegistry> {}
+                          TrackEvent, &internal::kCategoryRegistry> {    \
+    virtual ~TrackEvent();                                               \
+  }
+
+#define PERFETTO_INTERNAL_DEFINE_TRACK_EVENT_DATA_SOURCE() \
+  TrackEvent::~TrackEvent() = default;
 
 // At compile time, turns a category name represented by a static string into an
 // index into the current category registry. A build error will be generated if
diff --git a/include/perfetto/tracing/internal/write_track_event_args.h b/include/perfetto/tracing/internal/write_track_event_args.h
index f6e3b7f..ba6c4e8 100644
--- a/include/perfetto/tracing/internal/write_track_event_args.h
+++ b/include/perfetto/tracing/internal/write_track_event_args.h
@@ -132,10 +132,10 @@
                       typename FieldMetadataType::message_type>::value,
       "Only fields of TrackEvent (and TrackEvent's extensions) can "
       "be passed to TRACE_EVENT");
-  WriteIntoTracedProto(
-      event_ctx.Wrap(
-          event_ctx.event<typename FieldMetadataType::message_type>()),
-      field_name, std::forward<ArgValue>(arg_value));
+  auto track_event_proto = event_ctx.Wrap(
+      event_ctx.event<typename FieldMetadataType::message_type>());
+  WriteTracedProtoField(track_event_proto, field_name,
+                        std::forward<ArgValue>(arg_value));
   WriteTrackEventArgs(std::move(event_ctx), std::forward<Args>(args)...);
 }
 
diff --git a/include/perfetto/tracing/traced_proto.h b/include/perfetto/tracing/traced_proto.h
index a887d96..042b96e 100644
--- a/include/perfetto/tracing/traced_proto.h
+++ b/include/perfetto/tracing/traced_proto.h
@@ -24,6 +24,12 @@
 
 namespace perfetto {
 class EventContext;
+namespace internal {
+template <typename FieldMetadata,
+          bool is_message,
+          protozero::proto_utils::RepetitionType repetition_type>
+struct TypedProtoWriterImpl;
+}
 
 // A Wrapper around a protozero message to allow C++ classes to specify how it
 // should be serialised into the trace:
@@ -50,11 +56,15 @@
 template <typename MessageType>
 class TracedProto {
  public:
+  // implicit
+  TracedProto(TracedValue&& value)
+      : TracedProto(std::move(value).WriteProto<MessageType>()) {}
+  ~TracedProto() = default;
+
   TracedProto(const TracedProto&) = delete;
   TracedProto& operator=(const TracedProto&) = delete;
   TracedProto& operator=(TracedProto&&) = delete;
   TracedProto(TracedProto&&) = default;
-  ~TracedProto() = default;
 
   MessageType* operator->() const { return message_; }
 
@@ -82,29 +92,120 @@
         "This message does not have a |debug_annotations| field. Please add a"
         "'repeated perfetto.protos.DebugAnnotation debug_annnotations = N;' "
         "field to your message.");
-    return TracedDictionary(message_, MessageType::kDebugAnnotations, nullptr);
+    return TracedDictionary(message_, MessageType::kDebugAnnotations, context_,
+                            nullptr);
   }
 
-  // Write a nested message into a field according to the provided metadata.
-  template <typename FieldMetadata>
-  TracedProto<typename FieldMetadata::cpp_field_type> WriteNestedMessage() {
-    static_assert(std::is_base_of<MessageType,
-                                  typename FieldMetadata::message_type>::value,
-                  "Field should belong to the current message");
-    return TracedProto<typename FieldMetadata::cpp_field_type>(
-        message_->template BeginNestedMessage<
-            typename FieldMetadata::cpp_field_type>(FieldMetadata::kFieldId),
-        context_);
-  }
-
+  // Start writing a single entry corresponding to the given |field| and return
+  // TracedProto should be used to populate this further.
+  // This method requires |field|'s type to be a nested message, but both
+  // repeated and non-repeated complex fields are supported.
   template <typename FieldMetadata>
   TracedProto<typename FieldMetadata::cpp_field_type> WriteNestedMessage(
       protozero::proto_utils::internal::FieldMetadataHelper<FieldMetadata>) {
-    return WriteNestedMessage<FieldMetadata>();
+    static_assert(std::is_base_of<MessageType,
+                                  typename FieldMetadata::message_type>::value,
+                  "Field should belong to the current message");
+    static_assert(
+        FieldMetadata::kProtoFieldType ==
+            protozero::proto_utils::ProtoSchemaType::kMessage,
+        "AddItem() can be used only for nested message fields. To write a "
+        "primitive field, use traced_proto->set_field() or traced_proto.Set()");
+    return Wrap(
+        message_->template BeginNestedMessage<
+            typename FieldMetadata::cpp_field_type>(FieldMetadata::kFieldId));
+  }
+
+  // Write a given |value| into proto  as a new |field| of the current message.
+  // This method supports both nested messages and primitive types (i.e. int or
+  // string), but requires the |field| to be non-repeateable (i.e. optional).
+  // For repeatable fields, AppendValue or AppendFrom should be used.
+  template <typename FieldMetadata, typename ValueType>
+  void Set(protozero::proto_utils::internal::FieldMetadataHelper<FieldMetadata>,
+           ValueType&& value) {
+    static_assert(std::is_base_of<MessageType,
+                                  typename FieldMetadata::message_type>::value,
+                  "Field should belong to the current message");
+    static_assert(
+        FieldMetadata::kRepetitionType ==
+            protozero::proto_utils::RepetitionType::kNotRepeated,
+        "Set() can't be used with repeated fields due to ambiguity between "
+        "writing |value| as a single entry or treating |value| as a container "
+        "and writing all contained items as multiple entries. Please use "
+        "dedicated AppendValue() or AppendFrom() methods to differentiate "
+        "between "
+        "these two situations");
+
+    internal::TypedProtoWriterImpl<
+        FieldMetadata,
+        FieldMetadata::kProtoFieldType ==
+            protozero::proto_utils::ProtoSchemaType::kMessage,
+        protozero::proto_utils::RepetitionType::kNotRepeated>::
+        Write(*this, std::forward<ValueType>(value));
+  }
+
+  // Write a given |value| a single entry into the repeated |field| of the
+  // current message. If the field is not repeated, Set() should be used
+  // instead.
+  template <typename FieldMetadata, typename ValueType>
+  void AppendValue(
+      protozero::proto_utils::internal::FieldMetadataHelper<FieldMetadata>,
+      ValueType&& value) {
+    static_assert(std::is_base_of<MessageType,
+                                  typename FieldMetadata::message_type>::value,
+                  "Field should belong to the current message");
+    static_assert(
+        FieldMetadata::kRepetitionType ==
+            protozero::proto_utils::RepetitionType::kRepeatedNotPacked,
+        "Append*() methods can be used only with repeated fields. "
+        "Please use Set() for non-repeated");
+
+    // Write a single value into a given repeated field by explicitly passing
+    // "kNotRepeated" to the TypedProtoWriterImpl.
+    internal::TypedProtoWriterImpl<
+        FieldMetadata,
+        FieldMetadata::kProtoFieldType ==
+            protozero::proto_utils::ProtoSchemaType::kMessage,
+        protozero::proto_utils::RepetitionType::kNotRepeated>::
+        Write(*this, std::forward<ValueType>(value));
+  }
+
+  // Write a given |value| as a set of entries into the repeated |field| of the
+  // current message. If the field is not repeated, Set() should be used
+  // instead.
+  template <typename FieldMetadata, typename ValueType>
+  void AppendFrom(
+      protozero::proto_utils::internal::FieldMetadataHelper<FieldMetadata>,
+      ValueType&& value) {
+    static_assert(std::is_base_of<MessageType,
+                                  typename FieldMetadata::message_type>::value,
+                  "Field should belong to the current message");
+    static_assert(
+        FieldMetadata::kRepetitionType ==
+            protozero::proto_utils::RepetitionType::kRepeatedNotPacked,
+        "Append*() methods can be used only with repeated fields. "
+        "Please use Set() for non-repeated");
+
+    internal::TypedProtoWriterImpl<
+        FieldMetadata,
+        FieldMetadata::kProtoFieldType ==
+            protozero::proto_utils::ProtoSchemaType::kMessage,
+        protozero::proto_utils::RepetitionType::kRepeatedNotPacked>::
+        Write(*this, std::forward<ValueType>(value));
+  }
+
+  // Write a nested message into a field according to the provided metadata.
+  // TODO(altimin): Replace the current usages in Chrome with the functions
+  // above and make these methods private.
+  template <typename FieldMetadata>
+  TracedProto<typename FieldMetadata::cpp_field_type> WriteNestedMessage() {
+    return WriteNestedMessage(
+        protozero::proto_utils::internal::FieldMetadataHelper<FieldMetadata>());
   }
 
  private:
   friend class EventContext;
+  friend class TracedValue;
   // Allow TracedProto<Foo> to create TracedProto<Bar>.
   template <typename T>
   friend class TracedProto;
@@ -112,7 +213,7 @@
   // Wraps a raw protozero message using the same context as the current object.
   template <typename ChildMessageType>
   TracedProto<ChildMessageType> Wrap(ChildMessageType* message) {
-    return TracedProto(message, context_);
+    return TracedProto<ChildMessageType>(message, context_);
   }
 
   // Context might be null here when writing typed message which is
@@ -128,6 +229,9 @@
   EventContext* context_;
 };
 
+template <typename MessageType, typename ValueType>
+void WriteIntoTracedProto(TracedProto<MessageType> message, ValueType&& value);
+
 namespace internal {
 
 template <typename FieldMetadata,
@@ -142,7 +246,7 @@
     /*is_message=*/false,
     protozero::proto_utils::RepetitionType::kNotRepeated> {
   template <typename Proto, typename ValueType>
-  static void Write(TracedProto<Proto> context, ValueType&& value) {
+  static void Write(TracedProto<Proto>& context, ValueType&& value) {
     protozero::internal::FieldWriter<FieldMetadata::kProtoFieldType>::Append(
         *context.message(), FieldMetadata::kFieldId, value);
   }
@@ -155,7 +259,7 @@
     /*is_message=*/false,
     protozero::proto_utils::RepetitionType::kRepeatedNotPacked> {
   template <typename Proto, typename ValueType>
-  static void Write(TracedProto<Proto> context, ValueType&& value) {
+  static void Write(TracedProto<Proto>& context, ValueType&& value) {
     for (auto&& item : value) {
       protozero::internal::FieldWriter<FieldMetadata::kProtoFieldType>::Append(
           *context.message(), FieldMetadata::kFieldId, item);
@@ -170,9 +274,9 @@
     /*is_message=*/true,
     protozero::proto_utils::RepetitionType::kNotRepeated> {
   template <typename Proto, typename ValueType>
-  static void Write(TracedProto<Proto> context, ValueType&& value) {
-    // TODO(altimin): support TraceFormatTraits here.
-    value.WriteIntoTrace(context.template WriteNestedMessage<FieldMetadata>());
+  static void Write(TracedProto<Proto>& context, ValueType&& value) {
+    WriteIntoTracedProto(context.template WriteNestedMessage<FieldMetadata>(),
+                         std::forward<ValueType>(value));
   }
 };
 
@@ -183,14 +287,41 @@
     /*is_message=*/true,
     protozero::proto_utils::RepetitionType::kRepeatedNotPacked> {
   template <typename Proto, typename ValueType>
-  static void Write(TracedProto<Proto> context, ValueType&& value) {
-    // TODO(altimin): support TraceFormatTraits here.
+  static void Write(TracedProto<Proto>& context, ValueType&& value) {
     for (auto&& item : value) {
-      item.WriteIntoTrace(context.template WriteNestedMessage<FieldMetadata>());
+      WriteIntoTracedProto(context.template WriteNestedMessage<FieldMetadata>(),
+                           item);
     }
   }
 };
 
+constexpr int kMaxWriteTracedProtoImplPriority = 1;
+
+// If perfetto::TraceFormatTraits<T>::WriteIntoTrace(TracedProto<MessageType>,
+// T) is available, use it.
+template <typename MessageType, typename T>
+decltype(TraceFormatTraits<base::remove_cvref_t<T>>::WriteIntoTrace(
+             std::declval<TracedProto<MessageType>>(),
+             std::declval<T>()),
+         void())
+WriteIntoTracedProtoImpl(base::priority_tag<1>,
+                         TracedProto<MessageType> message,
+                         T&& value) {
+  TraceFormatTraits<base::remove_cvref_t<T>>::WriteIntoTrace(
+      std::move(message), std::forward<T>(value));
+}
+
+// If T has WriteIntoTrace(TracedProto<MessageType>) method, use it.
+template <typename MessageType, typename T>
+decltype(
+    std::declval<T>().WriteIntoTrace(std::declval<TracedProto<MessageType>>()),
+    void())
+WriteIntoTracedProtoImpl(base::priority_tag<0>,
+                         TracedProto<MessageType> message,
+                         T&& value) {
+  value.WriteIntoTrace(std::move(message));
+}
+
 // TypedProtoWriter takes the protozero message (TracedProto<MessageType>),
 // field description (FieldMetadata) and value and writes the given value
 // into the given field of the given protozero message.
@@ -216,20 +347,62 @@
 
  public:
   template <typename Proto, typename ValueType>
-  static void Write(TracedProto<Proto> context, ValueType&& value) {
+  static void Write(TracedProto<Proto>& context, ValueType&& value) {
     TypedProtoWriterImpl<
         FieldMetadata,
         FieldMetadata::kProtoFieldType == ProtoSchemaType::kMessage,
-        FieldMetadata::kRepetitionType>::Write(std::move(context),
+        FieldMetadata::kRepetitionType>::Write(context,
                                                std::forward<ValueType>(value));
   }
 };
 
 }  // namespace internal
 
+// Helper template to determine if a given type can be passed to
+// perfetto::WriteIntoTracedProto. These templates will fail to resolve if the
+// class does not have necesary support, so they are useful for SFINAE and for
+// producing helpful compiler error messages.
+template <typename MessageType, typename ValueType, typename Result = void>
+using check_traced_proto_support_t =
+    decltype(internal::WriteIntoTracedProtoImpl(
+        std::declval<
+            base::priority_tag<internal::kMaxWriteTracedProtoImplPriority>>(),
+        std::declval<TracedProto<MessageType>>(),
+        std::declval<ValueType>()));
+
+// check_traced_proto_support<MessageType, T, V>::type is defined (and equal to
+// V) iff T supports being passed to WriteIntoTracedProto together with
+// TracedProto<MessageType>. See the comment in traced_value_forward.h for more
+// details.
+template <typename MessageType, typename ValueType, class Result>
+struct check_traced_proto_support<
+    MessageType,
+    ValueType,
+    Result,
+    check_traced_proto_support_t<MessageType, ValueType, Result>> {
+  static constexpr bool value = true;
+  using type = Result;
+};
+
+template <typename MessageType, typename ValueType>
+void WriteIntoTracedProto(TracedProto<MessageType> message, ValueType&& value) {
+  // TODO(altimin): Add a URL to the documentation and a list of common failure
+  // patterns.
+  static_assert(
+      std::is_same<check_traced_proto_support_t<MessageType, ValueType>,
+                   void>::value,
+      "The provided type does not support being serialised into the "
+      "provided protozero message. Please see the comment in traced_proto.h "
+      "for more details.");
+
+  internal::WriteIntoTracedProtoImpl(
+      base::priority_tag<internal::kMaxWriteTracedProtoImplPriority>(),
+      std::move(message), std::forward<ValueType>(value));
+}
+
 template <typename MessageType, typename FieldMetadataType, typename ValueType>
-void WriteIntoTracedProto(
-    TracedProto<MessageType> message,
+void WriteTracedProtoField(
+    TracedProto<MessageType>& message,
     protozero::proto_utils::internal::FieldMetadataHelper<FieldMetadataType>,
     ValueType&& value) {
   static_assert(
@@ -242,7 +415,7 @@
       "Field's parent type should match the context.");
 
   internal::TypedProtoWriter<FieldMetadataType>::Write(
-      std::move(message), std::forward<ValueType>(value));
+      message, std::forward<ValueType>(value));
 }
 
 }  // namespace perfetto
diff --git a/include/perfetto/tracing/traced_value.h b/include/perfetto/tracing/traced_value.h
index 53f1cb6..cb659bc 100644
--- a/include/perfetto/tracing/traced_value.h
+++ b/include/perfetto/tracing/traced_value.h
@@ -39,6 +39,7 @@
 }  // namespace protos
 
 class DebugAnnotation;
+class EventContext;
 
 // These classes provide a JSON-inspired way to write structed data into traces.
 //
@@ -116,8 +117,12 @@
 //   }
 // }
 namespace internal {
+// TODO(altimin): Currently EventContext can be null due the need to support
+// TracedValue-based serialisation with the Chrome's TraceLog. After this is
+// gone, the second parameter should be changed to EventContext&.
 PERFETTO_EXPORT TracedValue
-CreateTracedValueFromProto(protos::pbzero::DebugAnnotation*);
+CreateTracedValueFromProto(protos::pbzero::DebugAnnotation*,
+                           EventContext* = nullptr);
 }
 
 class PERFETTO_EXPORT TracedValue {
@@ -125,8 +130,8 @@
   TracedValue(const TracedValue&) = delete;
   TracedValue& operator=(const TracedValue&) = delete;
   TracedValue& operator=(TracedValue&&) = delete;
-  TracedValue(TracedValue&&) = default;
-  ~TracedValue() = default;
+  TracedValue(TracedValue&&);
+  ~TracedValue();
 
   // TracedValue represents a context into which a single value can be written
   // (either by writing it directly for primitive types, or by creating a
@@ -141,6 +146,8 @@
   void WriteString(const char*, size_t len) &&;
   void WriteString(const std::string&) &&;
   void WritePointer(const void* value) &&;
+  template <typename MessageType>
+  TracedProto<MessageType> WriteProto() &&;
 
   // Rules for writing nested dictionaries and arrays:
   // - Only one scope (TracedArray, TracedDictionary or TracedValue) can be
@@ -164,26 +171,44 @@
   friend class TracedArray;
   friend class TracedDictionary;
   friend TracedValue internal::CreateTracedValueFromProto(
-      protos::pbzero::DebugAnnotation*);
+      protos::pbzero::DebugAnnotation*,
+      EventContext*);
 
-  static TracedValue CreateFromProto(protos::pbzero::DebugAnnotation*);
+  static TracedValue CreateFromProto(protos::pbzero::DebugAnnotation* proto,
+                                     EventContext* event_context = nullptr);
 
-  inline explicit TracedValue(protos::pbzero::DebugAnnotation* context,
+  inline explicit TracedValue(protos::pbzero::DebugAnnotation* annotation,
+                              EventContext* event_context,
                               internal::CheckedScope* parent_scope)
-      : context_(context), checked_scope_(parent_scope) {}
+      : annotation_(annotation),
+        event_context_(event_context),
+        checked_scope_(parent_scope) {}
+
+  protozero::Message* WriteProtoInternal(const char* name);
 
   // Temporary support for perfetto::DebugAnnotation C++ class before it's going
   // to be replaced by TracedValue.
   // TODO(altimin): Convert v8 to use TracedValue directly and delete it.
   friend class DebugAnnotation;
 
-  protos::pbzero::DebugAnnotation* const context_ = nullptr;
+  protos::pbzero::DebugAnnotation* const annotation_ = nullptr;
+  EventContext* const event_context_ = nullptr;
 
   internal::CheckedScope checked_scope_;
 };
 
+template <typename MessageType>
+TracedProto<MessageType> TracedValue::WriteProto() && {
+  return TracedProto<MessageType>(
+      static_cast<MessageType*>(WriteProtoInternal(MessageType::GetName())),
+      event_context_);
+}
+
 class PERFETTO_EXPORT TracedArray {
  public:
+  // implicit
+  TracedArray(TracedValue);
+
   TracedArray(const TracedArray&) = delete;
   TracedArray& operator=(const TracedArray&) = delete;
   TracedArray& operator=(TracedArray&&) = delete;
@@ -203,17 +228,24 @@
  private:
   friend class TracedValue;
 
-  inline explicit TracedArray(protos::pbzero::DebugAnnotation* context,
+  inline explicit TracedArray(protos::pbzero::DebugAnnotation* annotation,
+                              EventContext* event_context,
                               internal::CheckedScope* parent_scope)
-      : context_(context), checked_scope_(parent_scope) {}
+      : annotation_(annotation),
+        event_context_(event_context),
+        checked_scope_(parent_scope) {}
 
-  protos::pbzero::DebugAnnotation* context_;
+  protos::pbzero::DebugAnnotation* annotation_;
+  EventContext* const event_context_;
 
   internal::CheckedScope checked_scope_;
 };
 
 class PERFETTO_EXPORT TracedDictionary {
  public:
+  // implicit
+  TracedDictionary(TracedValue);
+
   TracedDictionary(const TracedDictionary&) = delete;
   TracedDictionary& operator=(const TracedDictionary&) = delete;
   TracedDictionary& operator=(TracedDictionary&&) = delete;
@@ -257,9 +289,11 @@
   inline explicit TracedDictionary(
       MessageType* message,
       protozero::proto_utils::internal::FieldMetadataHelper<FieldMetadata>,
+      EventContext* event_context,
       internal::CheckedScope* parent_scope)
       : message_(message),
         field_id_(FieldMetadata::kFieldId),
+        event_context_(event_context),
         checked_scope_(parent_scope) {
     static_assert(std::is_base_of<protozero::Message, MessageType>::value,
                   "Message should be a subclass of protozero::Message");
@@ -281,6 +315,7 @@
 
   protozero::Message* const message_;
   const uint32_t field_id_;
+  EventContext* event_context_;
 
   internal::CheckedScope checked_scope_;
 };
@@ -599,6 +634,12 @@
                                     const std::unique_ptr<T>& value) {
     ::perfetto::WriteIntoTracedValue(std::move(context), value.get());
   }
+
+  template <typename MessageType>
+  inline static void WriteIntoTrace(TracedProto<MessageType> message,
+                                    const std::unique_ptr<T>& value) {
+    ::perfetto::WriteIntoTracedProto(std::move(message), value.get());
+  }
 };
 
 // Specialisation for raw pointer, which writes either nullptr or the object it
@@ -612,6 +653,18 @@
     }
     ::perfetto::WriteIntoTracedValue(std::move(context), *value);
   }
+
+  template <typename MessageType>
+  inline static void WriteIntoTrace(TracedProto<MessageType> message,
+                                    T* value) {
+    if (!value) {
+      // Start the message, but do not write anything. TraceProcessor will emit
+      // a NULL value.
+      return;
+    }
+
+    ::perfetto::WriteIntoTracedProto(std::move(message), *value);
+  }
 };
 
 // Specialisation for nullptr.
@@ -620,6 +673,12 @@
   inline static void WriteIntoTrace(TracedValue context, std::nullptr_t) {
     std::move(context).WritePointer(nullptr);
   }
+
+  template <typename MessageType>
+  inline static void WriteIntoTrace(TracedProto<MessageType>, std::nullptr_t) {
+    // Start the message, but do not write anything. TraceProcessor will emit a
+    // NULL value.
+  }
 };
 
 }  // namespace perfetto
diff --git a/include/perfetto/tracing/traced_value_forward.h b/include/perfetto/tracing/traced_value_forward.h
index 7a91712..ee009f9 100644
--- a/include/perfetto/tracing/traced_value_forward.h
+++ b/include/perfetto/tracing/traced_value_forward.h
@@ -22,31 +22,53 @@
 class TracedValue;
 class TracedArray;
 class TracedDictionary;
+template <typename MessageType>
+class TracedProto;
 
 template <typename T>
 void WriteIntoTracedValue(TracedValue context, T&& value);
+template <typename MessageType, typename T>
+void WriteIntoTracedProto(TracedProto<MessageType> context, T&& value);
 
 template <typename T, class = void>
 struct TraceFormatTraits;
 
-// Write support checker to allow it to be used when matching.
+// Helpers to check whether a given type T can be written into a TracedValue /
+// TracedProto<MessageType>.
 //
 // Intended to be used for types like smart pointers, who should support
-// AsTracedValueInto only iff their inner type supports being written into
+// WriteIntoTrace only iff their inner type supports being written into
 // a TracedValue.
 //
 // template <typename T>
 // class SmartPtr {
 //   ...
 //
-//   typename check_traced_value_support<T, void>::value
-//   AsTracedValueInto(perfetto::TracedValue context) const {
+//   // Note: |Check| is needed to ensure that using
+//   SmartPtr<ClassWhichDoesNotSupportTracedValue> does not generate a
+//   compilation error.
+//
+//   template <typename Check=void>
+//   typename check_traced_value_support<T, Check>::value
+//   WriteIntoTrace(perfetto::TracedValue context) const {
 //      WriteIntoTracedValue(std::move(context), *ptr_);
 //   }
+//
+//   template <typename MessageType>
+//   typename check_traced_value_support<T, MessageType>::value
+//   WriteIntoTrace(perfetto::TracedProto<MessageType> message) const {
+//      WriteIntoTracedProto(std::move(message), *ptr_);
+//   }
 // };
-template <typename T, typename ResultType = void, class = void>
+template <typename T, typename ResultType = void, typename = void>
 struct check_traced_value_support;
 
+template <typename MessageType,
+          typename T,
+          typename ResultType = void,
+          typename = void>
+struct check_traced_proto_support;
+
 }  // namespace perfetto
 
 #endif  // INCLUDE_PERFETTO_TRACING_TRACED_VALUE_FORWARD_H_
diff --git a/include/perfetto/tracing/track_event.h b/include/perfetto/tracing/track_event.h
index 7e226f0..45499eb 100644
--- a/include/perfetto/tracing/track_event.h
+++ b/include/perfetto/tracing/track_event.h
@@ -184,12 +184,13 @@
 
 // Allocate storage for each category by using this macro once per track event
 // namespace.
-#define PERFETTO_TRACK_EVENT_STATIC_STORAGE()      \
-  namespace PERFETTO_TRACK_EVENT_NAMESPACE {       \
-  PERFETTO_INTERNAL_CATEGORY_STORAGE()             \
-  } /* namespace PERFETTO_TRACK_EVENT_NAMESPACE */ \
-  PERFETTO_DEFINE_DATA_SOURCE_STATIC_MEMBERS(      \
-      PERFETTO_TRACK_EVENT_NAMESPACE::TrackEvent,  \
+#define PERFETTO_TRACK_EVENT_STATIC_STORAGE()        \
+  namespace PERFETTO_TRACK_EVENT_NAMESPACE {         \
+  PERFETTO_INTERNAL_CATEGORY_STORAGE()               \
+  PERFETTO_INTERNAL_DEFINE_TRACK_EVENT_DATA_SOURCE() \
+  } /* namespace PERFETTO_TRACK_EVENT_NAMESPACE */   \
+  PERFETTO_DEFINE_DATA_SOURCE_STATIC_MEMBERS(        \
+      PERFETTO_TRACK_EVENT_NAMESPACE::TrackEvent,    \
       perfetto::internal::TrackEventDataSourceTraits)
 
 // Ignore GCC warning about a missing argument for a variadic macro parameter.
diff --git a/include/perfetto/tracing/track_event_state_tracker.h b/include/perfetto/tracing/track_event_state_tracker.h
index 7b2437e..e97f035 100644
--- a/include/perfetto/tracing/track_event_state_tracker.h
+++ b/include/perfetto/tracing/track_event_state_tracker.h
@@ -80,6 +80,10 @@
     std::map<uint64_t /*iid*/, std::string> event_names;
     std::map<uint64_t /*iid*/, std::string> event_categories;
     std::map<uint64_t /*iid*/, std::string> debug_annotation_names;
+    // Current absolute timestamp of the incremental clock.
+    uint64_t most_recent_absolute_time_ns = 0;
+    // default_clock_id == 0 means, no default clock_id is set.
+    uint32_t default_clock_id = 0;
   };
 
   // State for the entire tracing session. Shared by all trace writer sequences
diff --git a/infra/luci/recipe_modules/macos_sdk/__init__.py b/infra/luci/recipe_modules/macos_sdk/__init__.py
index 0bd7a5d..6a20ec1 100644
--- a/infra/luci/recipe_modules/macos_sdk/__init__.py
+++ b/infra/luci/recipe_modules/macos_sdk/__init__.py
@@ -44,7 +44,7 @@
         ),
         default={
             'sdk_version':
- '12B5025f',
+ '13C5066c',
             'tool_package':
  'infra/tools/mac_toolchain/${platform}',
             'tool_version':
diff --git a/infra/luci/recipe_modules/macos_sdk/examples/full.expected/mac.json b/infra/luci/recipe_modules/macos_sdk/examples/full.expected/mac.json
index ab278fd..7d0f197 100644
--- a/infra/luci/recipe_modules/macos_sdk/examples/full.expected/mac.json
+++ b/infra/luci/recipe_modules/macos_sdk/examples/full.expected/mac.json
@@ -35,7 +35,7 @@
       "-kind",
       "mac",
       "-xcode-version",
-      "12b5025f",
+      "13c5066c",
       "-output-dir",
       "[CACHE]/macos_sdk/XCode.app"
     ],
diff --git a/infra/luci/recipes/perfetto.expected/ci_mac.json b/infra/luci/recipes/perfetto.expected/ci_mac.json
index 2c67d65..4c9f89f 100644
--- a/infra/luci/recipes/perfetto.expected/ci_mac.json
+++ b/infra/luci/recipes/perfetto.expected/ci_mac.json
@@ -84,6 +84,10 @@
     "name": "build-deps"
   },
   {
+    "cmd": [],
+    "name": "mac-amd64"
+  },
+  {
     "cmd": [
       "cipd",
       "ensure",
@@ -98,8 +102,9 @@
     ],
     "cwd": "[CACHE]/builder/perfetto",
     "infra_step": true,
-    "name": "ensure_installed",
+    "name": "mac-amd64.ensure_installed",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"\": [@@@",
@@ -120,13 +125,16 @@
       "-kind",
       "mac",
       "-xcode-version",
-      "12b5025f",
+      "13c5066c",
       "-output-dir",
       "[CACHE]/macos_sdk/XCode.app"
     ],
     "cwd": "[CACHE]/builder/perfetto",
     "infra_step": true,
-    "name": "install xcode"
+    "name": "mac-amd64.install xcode",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -137,7 +145,10 @@
     ],
     "cwd": "[CACHE]/builder/perfetto",
     "infra_step": true,
-    "name": "select XCode"
+    "name": "mac-amd64.select XCode",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -145,10 +156,13 @@
       "tools/gn",
       "gen",
       "[CACHE]/builder/perfetto/out/mac-amd64",
-      "--args=is_debug=false monolithic_binaries=true"
+      "--args=is_debug=false monolithic_binaries=true target_os=\"mac\" target_cpu=\"x64\""
     ],
     "cwd": "[CACHE]/builder/perfetto",
-    "name": "gn gen"
+    "name": "mac-amd64.gn gen",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -164,7 +178,10 @@
       "traced_probes"
     ],
     "cwd": "[CACHE]/builder/perfetto",
-    "name": "ninja"
+    "name": "mac-amd64.ninja",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -174,11 +191,17 @@
     ],
     "cwd": "[CACHE]/builder/perfetto",
     "infra_step": true,
-    "name": "reset XCode"
+    "name": "mac-amd64.reset XCode",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [],
-    "name": "Artifact upload"
+    "name": "mac-amd64.Artifact upload",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -194,9 +217,9 @@
     ],
     "cwd": "[CACHE]/builder/perfetto",
     "infra_step": true,
-    "name": "Artifact upload.gsutil upload",
+    "name": "mac-amd64.Artifact upload.gsutil upload",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LINK@gsutil.upload@https://storage.cloud.google.com/perfetto-luci-artifacts//mac-amd64/trace_processor_shell@@@"
     ]
   },
@@ -214,9 +237,9 @@
       "/path/to/tmp/json"
     ],
     "cwd": "[CACHE]/builder/perfetto",
-    "name": "Artifact upload.build perfetto/trace_processor_shell/mac-amd64",
+    "name": "mac-amd64.Artifact upload.build perfetto/trace_processor_shell/mac-amd64",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"instance_id\": \"40-chars-fake-of-the-package-instance_id\", @@@",
@@ -239,9 +262,9 @@
       "/path/to/tmp/json"
     ],
     "cwd": "[CACHE]/builder/perfetto",
-    "name": "Artifact upload.register perfetto/trace_processor_shell/mac-amd64",
+    "name": "mac-amd64.Artifact upload.register perfetto/trace_processor_shell/mac-amd64",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"instance_id\": \"40-chars-fake-of-the-package-instance_id\", @@@",
@@ -266,9 +289,9 @@
     ],
     "cwd": "[CACHE]/builder/perfetto",
     "infra_step": true,
-    "name": "Artifact upload.gsutil upload (2)",
+    "name": "mac-amd64.Artifact upload.gsutil upload (2)",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LINK@gsutil.upload@https://storage.cloud.google.com/perfetto-luci-artifacts//mac-amd64/trace_to_text@@@"
     ]
   },
@@ -286,9 +309,9 @@
       "/path/to/tmp/json"
     ],
     "cwd": "[CACHE]/builder/perfetto",
-    "name": "Artifact upload.build perfetto/trace_to_text/mac-amd64",
+    "name": "mac-amd64.Artifact upload.build perfetto/trace_to_text/mac-amd64",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"instance_id\": \"40-chars-fake-of-the-package-instance_id\", @@@",
@@ -311,9 +334,9 @@
       "/path/to/tmp/json"
     ],
     "cwd": "[CACHE]/builder/perfetto",
-    "name": "Artifact upload.register perfetto/trace_to_text/mac-amd64",
+    "name": "mac-amd64.Artifact upload.register perfetto/trace_to_text/mac-amd64",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"instance_id\": \"40-chars-fake-of-the-package-instance_id\", @@@",
@@ -338,9 +361,9 @@
     ],
     "cwd": "[CACHE]/builder/perfetto",
     "infra_step": true,
-    "name": "Artifact upload.gsutil upload (3)",
+    "name": "mac-amd64.Artifact upload.gsutil upload (3)",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LINK@gsutil.upload@https://storage.cloud.google.com/perfetto-luci-artifacts//mac-amd64/tracebox@@@"
     ]
   },
@@ -358,9 +381,9 @@
       "/path/to/tmp/json"
     ],
     "cwd": "[CACHE]/builder/perfetto",
-    "name": "Artifact upload.build perfetto/tracebox/mac-amd64",
+    "name": "mac-amd64.Artifact upload.build perfetto/tracebox/mac-amd64",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"instance_id\": \"40-chars-fake-of-the-package-instance_id\", @@@",
@@ -383,9 +406,9 @@
       "/path/to/tmp/json"
     ],
     "cwd": "[CACHE]/builder/perfetto",
-    "name": "Artifact upload.register perfetto/tracebox/mac-amd64",
+    "name": "mac-amd64.Artifact upload.register perfetto/tracebox/mac-amd64",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"instance_id\": \"40-chars-fake-of-the-package-instance_id\", @@@",
@@ -410,9 +433,9 @@
     ],
     "cwd": "[CACHE]/builder/perfetto",
     "infra_step": true,
-    "name": "Artifact upload.gsutil upload (4)",
+    "name": "mac-amd64.Artifact upload.gsutil upload (4)",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LINK@gsutil.upload@https://storage.cloud.google.com/perfetto-luci-artifacts//mac-amd64/perfetto@@@"
     ]
   },
@@ -430,9 +453,9 @@
       "/path/to/tmp/json"
     ],
     "cwd": "[CACHE]/builder/perfetto",
-    "name": "Artifact upload.build perfetto/perfetto/mac-amd64",
+    "name": "mac-amd64.Artifact upload.build perfetto/perfetto/mac-amd64",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"instance_id\": \"40-chars-fake-of-the-package-instance_id\", @@@",
@@ -455,9 +478,9 @@
       "/path/to/tmp/json"
     ],
     "cwd": "[CACHE]/builder/perfetto",
-    "name": "Artifact upload.register perfetto/perfetto/mac-amd64",
+    "name": "mac-amd64.Artifact upload.register perfetto/perfetto/mac-amd64",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"instance_id\": \"40-chars-fake-of-the-package-instance_id\", @@@",
@@ -482,9 +505,9 @@
     ],
     "cwd": "[CACHE]/builder/perfetto",
     "infra_step": true,
-    "name": "Artifact upload.gsutil upload (5)",
+    "name": "mac-amd64.Artifact upload.gsutil upload (5)",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LINK@gsutil.upload@https://storage.cloud.google.com/perfetto-luci-artifacts//mac-amd64/traced@@@"
     ]
   },
@@ -502,9 +525,9 @@
       "/path/to/tmp/json"
     ],
     "cwd": "[CACHE]/builder/perfetto",
-    "name": "Artifact upload.build perfetto/traced/mac-amd64",
+    "name": "mac-amd64.Artifact upload.build perfetto/traced/mac-amd64",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"instance_id\": \"40-chars-fake-of-the-package-instance_id\", @@@",
@@ -527,9 +550,9 @@
       "/path/to/tmp/json"
     ],
     "cwd": "[CACHE]/builder/perfetto",
-    "name": "Artifact upload.register perfetto/traced/mac-amd64",
+    "name": "mac-amd64.Artifact upload.register perfetto/traced/mac-amd64",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"instance_id\": \"40-chars-fake-of-the-package-instance_id\", @@@",
@@ -554,9 +577,9 @@
     ],
     "cwd": "[CACHE]/builder/perfetto",
     "infra_step": true,
-    "name": "Artifact upload.gsutil upload (6)",
+    "name": "mac-amd64.Artifact upload.gsutil upload (6)",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LINK@gsutil.upload@https://storage.cloud.google.com/perfetto-luci-artifacts//mac-amd64/traced_probes@@@"
     ]
   },
@@ -574,9 +597,9 @@
       "/path/to/tmp/json"
     ],
     "cwd": "[CACHE]/builder/perfetto",
-    "name": "Artifact upload.build perfetto/traced_probes/mac-amd64",
+    "name": "mac-amd64.Artifact upload.build perfetto/traced_probes/mac-amd64",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"instance_id\": \"40-chars-fake-of-the-package-instance_id\", @@@",
@@ -599,9 +622,9 @@
       "/path/to/tmp/json"
     ],
     "cwd": "[CACHE]/builder/perfetto",
-    "name": "Artifact upload.register perfetto/traced_probes/mac-amd64",
+    "name": "mac-amd64.Artifact upload.register perfetto/traced_probes/mac-amd64",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"instance_id\": \"40-chars-fake-of-the-package-instance_id\", @@@",
@@ -613,6 +636,558 @@
     ]
   },
   {
+    "cmd": [],
+    "name": "mac-arm64"
+  },
+  {
+    "cmd": [
+      "cipd",
+      "ensure",
+      "-root",
+      "[CACHE]/macos_sdk",
+      "-ensure-file",
+      "infra/tools/mac_toolchain/${platform} git_revision:e9b1fe29fe21a1cd36428c43ea2aba244bd31280",
+      "-max-threads",
+      "0",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "cwd": "[CACHE]/builder/perfetto",
+    "infra_step": true,
+    "name": "mac-arm64.ensure_installed",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@      {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"instance_id\": \"resolved-instance_id-of-git_revision:e9b\", @@@",
+      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra/tools/mac_toolchain/resolved-platform\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    ]@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[CACHE]/macos_sdk/mac_toolchain",
+      "install",
+      "-kind",
+      "mac",
+      "-xcode-version",
+      "13c5066c",
+      "-output-dir",
+      "[CACHE]/macos_sdk/XCode.app"
+    ],
+    "cwd": "[CACHE]/builder/perfetto",
+    "infra_step": true,
+    "name": "mac-arm64.install xcode",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "sudo",
+      "xcode-select",
+      "--switch",
+      "[CACHE]/macos_sdk/XCode.app"
+    ],
+    "cwd": "[CACHE]/builder/perfetto",
+    "infra_step": true,
+    "name": "mac-arm64.select XCode",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python3",
+      "tools/gn",
+      "gen",
+      "[CACHE]/builder/perfetto/out/mac-arm64",
+      "--args=is_debug=false monolithic_binaries=true target_os=\"mac\" target_cpu=\"arm64\""
+    ],
+    "cwd": "[CACHE]/builder/perfetto",
+    "name": "mac-arm64.gn gen",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python3",
+      "tools/ninja",
+      "-C",
+      "[CACHE]/builder/perfetto/out/mac-arm64",
+      "trace_processor_shell",
+      "trace_to_text",
+      "tracebox",
+      "perfetto",
+      "traced",
+      "traced_probes"
+    ],
+    "cwd": "[CACHE]/builder/perfetto",
+    "name": "mac-arm64.ninja",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "sudo",
+      "xcode-select",
+      "--reset"
+    ],
+    "cwd": "[CACHE]/builder/perfetto",
+    "infra_step": true,
+    "name": "mac-arm64.reset XCode",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "mac-arm64.Artifact upload",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cp",
+      "[CACHE]/builder/perfetto/out/mac-arm64/stripped/trace_processor_shell",
+      "gs://perfetto-luci-artifacts//mac-arm64/trace_processor_shell"
+    ],
+    "cwd": "[CACHE]/builder/perfetto",
+    "infra_step": true,
+    "name": "mac-arm64.Artifact upload.gsutil upload",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LINK@gsutil.upload@https://storage.cloud.google.com/perfetto-luci-artifacts//mac-arm64/trace_processor_shell@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "cipd",
+      "pkg-build",
+      "-pkg-def",
+      "{\"data\": [{\"file\": \"trace_processor_shell\"}], \"install_mode\": \"\", \"package\": \"perfetto/trace_processor_shell/mac-arm64\", \"root\": \"[CACHE]/builder/perfetto/out/mac-arm64/stripped\"}",
+      "-out",
+      "[CLEANUP]/trace_processor_shell-mac-arm64.cipd",
+      "-hash-algo",
+      "sha256",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "cwd": "[CACHE]/builder/perfetto",
+    "name": "mac-arm64.Artifact upload.build perfetto/trace_processor_shell/mac-arm64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"instance_id\": \"40-chars-fake-of-the-package-instance_id\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"package\": \"perfetto/trace_processor_shell/mac-arm64\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "cipd",
+      "pkg-register",
+      "[CLEANUP]/trace_processor_shell-mac-arm64.cipd",
+      "-ref",
+      "latest",
+      "-tag",
+      "git_revision:",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "cwd": "[CACHE]/builder/perfetto",
+    "name": "mac-arm64.Artifact upload.register perfetto/trace_processor_shell/mac-arm64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"instance_id\": \"40-chars-fake-of-the-package-instance_id\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"package\": \"perfetto/trace_processor_shell/mac-arm64\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@perfetto/trace_processor_shell/mac-arm64@https://chrome-infra-packages.appspot.com/p/perfetto/trace_processor_shell/mac-arm64/+/40-chars-fake-of-the-package-instance_id@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cp",
+      "[CACHE]/builder/perfetto/out/mac-arm64/stripped/trace_to_text",
+      "gs://perfetto-luci-artifacts//mac-arm64/trace_to_text"
+    ],
+    "cwd": "[CACHE]/builder/perfetto",
+    "infra_step": true,
+    "name": "mac-arm64.Artifact upload.gsutil upload (2)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LINK@gsutil.upload@https://storage.cloud.google.com/perfetto-luci-artifacts//mac-arm64/trace_to_text@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "cipd",
+      "pkg-build",
+      "-pkg-def",
+      "{\"data\": [{\"file\": \"trace_to_text\"}], \"install_mode\": \"\", \"package\": \"perfetto/trace_to_text/mac-arm64\", \"root\": \"[CACHE]/builder/perfetto/out/mac-arm64/stripped\"}",
+      "-out",
+      "[CLEANUP]/trace_to_text-mac-arm64.cipd",
+      "-hash-algo",
+      "sha256",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "cwd": "[CACHE]/builder/perfetto",
+    "name": "mac-arm64.Artifact upload.build perfetto/trace_to_text/mac-arm64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"instance_id\": \"40-chars-fake-of-the-package-instance_id\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"package\": \"perfetto/trace_to_text/mac-arm64\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "cipd",
+      "pkg-register",
+      "[CLEANUP]/trace_to_text-mac-arm64.cipd",
+      "-ref",
+      "latest",
+      "-tag",
+      "git_revision:",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "cwd": "[CACHE]/builder/perfetto",
+    "name": "mac-arm64.Artifact upload.register perfetto/trace_to_text/mac-arm64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"instance_id\": \"40-chars-fake-of-the-package-instance_id\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"package\": \"perfetto/trace_to_text/mac-arm64\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@perfetto/trace_to_text/mac-arm64@https://chrome-infra-packages.appspot.com/p/perfetto/trace_to_text/mac-arm64/+/40-chars-fake-of-the-package-instance_id@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cp",
+      "[CACHE]/builder/perfetto/out/mac-arm64/stripped/tracebox",
+      "gs://perfetto-luci-artifacts//mac-arm64/tracebox"
+    ],
+    "cwd": "[CACHE]/builder/perfetto",
+    "infra_step": true,
+    "name": "mac-arm64.Artifact upload.gsutil upload (3)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LINK@gsutil.upload@https://storage.cloud.google.com/perfetto-luci-artifacts//mac-arm64/tracebox@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "cipd",
+      "pkg-build",
+      "-pkg-def",
+      "{\"data\": [{\"file\": \"tracebox\"}], \"install_mode\": \"\", \"package\": \"perfetto/tracebox/mac-arm64\", \"root\": \"[CACHE]/builder/perfetto/out/mac-arm64/stripped\"}",
+      "-out",
+      "[CLEANUP]/tracebox-mac-arm64.cipd",
+      "-hash-algo",
+      "sha256",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "cwd": "[CACHE]/builder/perfetto",
+    "name": "mac-arm64.Artifact upload.build perfetto/tracebox/mac-arm64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"instance_id\": \"40-chars-fake-of-the-package-instance_id\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"package\": \"perfetto/tracebox/mac-arm64\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "cipd",
+      "pkg-register",
+      "[CLEANUP]/tracebox-mac-arm64.cipd",
+      "-ref",
+      "latest",
+      "-tag",
+      "git_revision:",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "cwd": "[CACHE]/builder/perfetto",
+    "name": "mac-arm64.Artifact upload.register perfetto/tracebox/mac-arm64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"instance_id\": \"40-chars-fake-of-the-package-instance_id\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"package\": \"perfetto/tracebox/mac-arm64\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@perfetto/tracebox/mac-arm64@https://chrome-infra-packages.appspot.com/p/perfetto/tracebox/mac-arm64/+/40-chars-fake-of-the-package-instance_id@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cp",
+      "[CACHE]/builder/perfetto/out/mac-arm64/stripped/perfetto",
+      "gs://perfetto-luci-artifacts//mac-arm64/perfetto"
+    ],
+    "cwd": "[CACHE]/builder/perfetto",
+    "infra_step": true,
+    "name": "mac-arm64.Artifact upload.gsutil upload (4)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LINK@gsutil.upload@https://storage.cloud.google.com/perfetto-luci-artifacts//mac-arm64/perfetto@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "cipd",
+      "pkg-build",
+      "-pkg-def",
+      "{\"data\": [{\"file\": \"perfetto\"}], \"install_mode\": \"\", \"package\": \"perfetto/perfetto/mac-arm64\", \"root\": \"[CACHE]/builder/perfetto/out/mac-arm64/stripped\"}",
+      "-out",
+      "[CLEANUP]/perfetto-mac-arm64.cipd",
+      "-hash-algo",
+      "sha256",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "cwd": "[CACHE]/builder/perfetto",
+    "name": "mac-arm64.Artifact upload.build perfetto/perfetto/mac-arm64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"instance_id\": \"40-chars-fake-of-the-package-instance_id\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"package\": \"perfetto/perfetto/mac-arm64\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "cipd",
+      "pkg-register",
+      "[CLEANUP]/perfetto-mac-arm64.cipd",
+      "-ref",
+      "latest",
+      "-tag",
+      "git_revision:",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "cwd": "[CACHE]/builder/perfetto",
+    "name": "mac-arm64.Artifact upload.register perfetto/perfetto/mac-arm64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"instance_id\": \"40-chars-fake-of-the-package-instance_id\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"package\": \"perfetto/perfetto/mac-arm64\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@perfetto/perfetto/mac-arm64@https://chrome-infra-packages.appspot.com/p/perfetto/perfetto/mac-arm64/+/40-chars-fake-of-the-package-instance_id@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cp",
+      "[CACHE]/builder/perfetto/out/mac-arm64/stripped/traced",
+      "gs://perfetto-luci-artifacts//mac-arm64/traced"
+    ],
+    "cwd": "[CACHE]/builder/perfetto",
+    "infra_step": true,
+    "name": "mac-arm64.Artifact upload.gsutil upload (5)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LINK@gsutil.upload@https://storage.cloud.google.com/perfetto-luci-artifacts//mac-arm64/traced@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "cipd",
+      "pkg-build",
+      "-pkg-def",
+      "{\"data\": [{\"file\": \"traced\"}], \"install_mode\": \"\", \"package\": \"perfetto/traced/mac-arm64\", \"root\": \"[CACHE]/builder/perfetto/out/mac-arm64/stripped\"}",
+      "-out",
+      "[CLEANUP]/traced-mac-arm64.cipd",
+      "-hash-algo",
+      "sha256",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "cwd": "[CACHE]/builder/perfetto",
+    "name": "mac-arm64.Artifact upload.build perfetto/traced/mac-arm64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"instance_id\": \"40-chars-fake-of-the-package-instance_id\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"package\": \"perfetto/traced/mac-arm64\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "cipd",
+      "pkg-register",
+      "[CLEANUP]/traced-mac-arm64.cipd",
+      "-ref",
+      "latest",
+      "-tag",
+      "git_revision:",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "cwd": "[CACHE]/builder/perfetto",
+    "name": "mac-arm64.Artifact upload.register perfetto/traced/mac-arm64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"instance_id\": \"40-chars-fake-of-the-package-instance_id\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"package\": \"perfetto/traced/mac-arm64\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@perfetto/traced/mac-arm64@https://chrome-infra-packages.appspot.com/p/perfetto/traced/mac-arm64/+/40-chars-fake-of-the-package-instance_id@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+      "--",
+      "RECIPE_REPO[depot_tools]/gsutil.py",
+      "----",
+      "cp",
+      "[CACHE]/builder/perfetto/out/mac-arm64/stripped/traced_probes",
+      "gs://perfetto-luci-artifacts//mac-arm64/traced_probes"
+    ],
+    "cwd": "[CACHE]/builder/perfetto",
+    "infra_step": true,
+    "name": "mac-arm64.Artifact upload.gsutil upload (6)",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LINK@gsutil.upload@https://storage.cloud.google.com/perfetto-luci-artifacts//mac-arm64/traced_probes@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "cipd",
+      "pkg-build",
+      "-pkg-def",
+      "{\"data\": [{\"file\": \"traced_probes\"}], \"install_mode\": \"\", \"package\": \"perfetto/traced_probes/mac-arm64\", \"root\": \"[CACHE]/builder/perfetto/out/mac-arm64/stripped\"}",
+      "-out",
+      "[CLEANUP]/traced_probes-mac-arm64.cipd",
+      "-hash-algo",
+      "sha256",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "cwd": "[CACHE]/builder/perfetto",
+    "name": "mac-arm64.Artifact upload.build perfetto/traced_probes/mac-arm64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"instance_id\": \"40-chars-fake-of-the-package-instance_id\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"package\": \"perfetto/traced_probes/mac-arm64\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "cipd",
+      "pkg-register",
+      "[CLEANUP]/traced_probes-mac-arm64.cipd",
+      "-ref",
+      "latest",
+      "-tag",
+      "git_revision:",
+      "-json-output",
+      "/path/to/tmp/json"
+    ],
+    "cwd": "[CACHE]/builder/perfetto",
+    "name": "mac-arm64.Artifact upload.register perfetto/traced_probes/mac-arm64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_LOG_LINE@json.output@{@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"instance_id\": \"40-chars-fake-of-the-package-instance_id\", @@@",
+      "@@@STEP_LOG_LINE@json.output@    \"package\": \"perfetto/traced_probes/mac-arm64\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
+      "@@@STEP_LOG_LINE@json.output@}@@@",
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@perfetto/traced_probes/mac-arm64@https://chrome-infra-packages.appspot.com/p/perfetto/traced_probes/mac-arm64/+/40-chars-fake-of-the-package-instance_id@@@"
+    ]
+  },
+  {
     "name": "$result"
   }
 ]
\ No newline at end of file
diff --git a/infra/luci/recipes/perfetto.py b/infra/luci/recipes/perfetto.py
index 3ad2f9f..6e7faf5 100644
--- a/infra/luci/recipes/perfetto.py
+++ b/infra/luci/recipes/perfetto.py
@@ -81,8 +81,8 @@
 def GnArgs(platform):
   (os, cpu) = platform.split('-')
   base_args = 'is_debug=false monolithic_binaries=true'
-  if os not in ('android', 'linux'):
-    return base_args  # No cross-compiling on Mac and Windows.
+  if os not in ('android', 'linux', 'mac'):
+    return base_args  # No cross-compiling on Windows.
   cpu = 'x64' if cpu == 'amd64' else cpu  # GN calls it "x64".
   return base_args + ' target_os="{}" target_cpu="{}"'.format(os, cpu)
 
@@ -201,7 +201,10 @@
   if api.platform.is_win:
     BuildForPlatform(api, ctx, 'windows-amd64')
   elif api.platform.is_mac:
-    BuildForPlatform(api, ctx, 'mac-amd64')
+    with api.step.nest('mac-amd64'):
+      BuildForPlatform(api, ctx, 'mac-amd64')
+    with api.step.nest('mac-arm64'):
+      BuildForPlatform(api, ctx, 'mac-arm64')
   elif 'android' in api.buildbucket.builder_id.builder:
     with api.step.nest('android-arm'):
       BuildForPlatform(api, ctx, 'android-arm')
diff --git a/protos/perfetto/common/BUILD.gn b/protos/perfetto/common/BUILD.gn
index 1af189d..5ecc0de 100644
--- a/protos/perfetto/common/BUILD.gn
+++ b/protos/perfetto/common/BUILD.gn
@@ -25,6 +25,7 @@
     "commit_data_request.proto",
     "data_source_descriptor.proto",
     "descriptor.proto",
+    "ftrace_descriptor.proto",
     "gpu_counter_descriptor.proto",
     "interceptor_descriptor.proto",
     "observable_events.proto",
diff --git a/protos/perfetto/common/data_source_descriptor.proto b/protos/perfetto/common/data_source_descriptor.proto
index 2cdace2..dc2d742 100644
--- a/protos/perfetto/common/data_source_descriptor.proto
+++ b/protos/perfetto/common/data_source_descriptor.proto
@@ -18,6 +18,7 @@
 
 package perfetto.protos;
 
+import "protos/perfetto/common/ftrace_descriptor.proto";
 import "protos/perfetto/common/gpu_counter_descriptor.proto";
 import "protos/perfetto/common/track_event_descriptor.proto";
 
@@ -54,4 +55,6 @@
   optional GpuCounterDescriptor gpu_counter_descriptor = 5 [lazy = true];
 
   optional TrackEventDescriptor track_event_descriptor = 6 [lazy = true];
+
+  optional FtraceDescriptor ftrace_descriptor = 8 [lazy = true];
 }
diff --git a/protos/perfetto/common/ftrace_descriptor.proto b/protos/perfetto/common/ftrace_descriptor.proto
new file mode 100644
index 0000000..5406d6d
--- /dev/null
+++ b/protos/perfetto/common/ftrace_descriptor.proto
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto2";
+
+package perfetto.protos;
+
+message FtraceDescriptor {
+  message AtraceCategory {
+    optional string name = 1;
+    optional string description = 2;
+  }
+
+  // Report the available atrace categories.
+  //
+  // Used by Traceur via `perfetto --query`.
+  repeated AtraceCategory atrace_categories = 1;
+}
diff --git a/protos/perfetto/config/BUILD.gn b/protos/perfetto/config/BUILD.gn
index 471bfbe..4b96859 100644
--- a/protos/perfetto/config/BUILD.gn
+++ b/protos/perfetto/config/BUILD.gn
@@ -49,20 +49,3 @@
   deps = [ ":source_set" ]
   sources = [ "trace_config.proto" ]
 }
-
-# This target is not used in the tree and is built only to guarantee that the
-# autogenerated merged proto has a valid syntax.
-perfetto_proto_library("merged_config_@TYPE@") {
-  proto_generators = [
-    "lite",
-    "source_set",
-  ]
-  sources = [ "perfetto_config.proto" ]
-}
-
-perfetto_proto_library("merged_config_descriptor") {
-  proto_generators = [ "descriptor" ]
-  generate_descriptor = "perfetto_config.descriptor"
-  sources = [ "perfetto_config.proto" ]
-  deps = [ ":merged_config_source_set" ]
-}
diff --git a/protos/perfetto/config/perfetto_config.proto b/protos/perfetto/config/perfetto_config.proto
index 30195a4..b36ee1d 100644
--- a/protos/perfetto/config/perfetto_config.proto
+++ b/protos/perfetto/config/perfetto_config.proto
@@ -13,6 +13,22 @@
 
 option go_package = "github.com/google/perfetto/perfetto_proto";
 
+// Begin of protos/perfetto/common/ftrace_descriptor.proto
+
+message FtraceDescriptor {
+  message AtraceCategory {
+    optional string name = 1;
+    optional string description = 2;
+  }
+
+  // Report the available atrace categories.
+  //
+  // Used by Traceur via `perfetto --query`.
+  repeated AtraceCategory atrace_categories = 1;
+}
+
+// End of protos/perfetto/common/ftrace_descriptor.proto
+
 // Begin of protos/perfetto/common/gpu_counter_descriptor.proto
 
 // Description of GPU counters.
@@ -186,6 +202,8 @@
   optional GpuCounterDescriptor gpu_counter_descriptor = 5 [lazy = true];
 
   optional TrackEventDescriptor track_event_descriptor = 6 [lazy = true];
+
+  optional FtraceDescriptor ftrace_descriptor = 8 [lazy = true];
 }
 
 // End of protos/perfetto/common/data_source_descriptor.proto
@@ -1506,6 +1524,17 @@
 
   // Default: []
   repeated string enabled_tags = 4;
+
+  // Default: false (i.e. enabled by default)
+  optional bool disable_incremental_timestamps = 5;
+
+  // Allows to specify a custom unit different than the default (ns).
+  // A multiplier of 1000 means that a timestamp = 3 should be interpreted as
+  // 3000 ns = 3 us.
+  // Default: 1 (if unset, it should be read as 1).
+  // For now, this multiplier only affects incremental timestamps.
+  // Note: This isn't supported in the SDK yet. It will be supported soon.
+  optional uint64 timestamp_unit_multipler = 6;
 }
 
 // End of protos/perfetto/config/track_event/track_event_config.proto
diff --git a/protos/perfetto/config/track_event/track_event_config.proto b/protos/perfetto/config/track_event/track_event_config.proto
index 1729b7f..39878d7 100644
--- a/protos/perfetto/config/track_event/track_event_config.proto
+++ b/protos/perfetto/config/track_event/track_event_config.proto
@@ -64,4 +64,15 @@
 
   // Default: []
   repeated string enabled_tags = 4;
+
+  // Default: false (i.e. enabled by default)
+  optional bool disable_incremental_timestamps = 5;
+
+  // Allows to specify a custom unit different than the default (ns).
+  // A multiplier of 1000 means that a timestamp = 3 should be interpreted as
+  // 3000 ns = 3 us.
+  // Default: 1 (if unset, it should be read as 1).
+  // For now, this multiplier only affects incremental timestamps.
+  // Note: This isn't supported in the SDK yet. It will be supported soon.
+  optional uint64 timestamp_unit_multipler = 6;
 }
diff --git a/protos/perfetto/metrics/android/network_metric.proto b/protos/perfetto/metrics/android/network_metric.proto
index 393e76f..e09c571 100644
--- a/protos/perfetto/metrics/android/network_metric.proto
+++ b/protos/perfetto/metrics/android/network_metric.proto
@@ -116,4 +116,8 @@
 
   // Packet retransmission rate.
   optional double retransmission_rate = 3;
+
+  // Kfree Skb rate (i.e. kfree_skb count divided by the packet count from all
+  // net devices).
+  optional double kfree_skb_rate = 4;
 }
diff --git a/protos/perfetto/metrics/perfetto_merged_metrics.proto b/protos/perfetto/metrics/perfetto_merged_metrics.proto
index afcb6d7..f370254 100644
--- a/protos/perfetto/metrics/perfetto_merged_metrics.proto
+++ b/protos/perfetto/metrics/perfetto_merged_metrics.proto
@@ -973,6 +973,10 @@
 
   // Packet retransmission rate.
   optional double retransmission_rate = 3;
+
+  // Kfree Skb rate (i.e. kfree_skb count divided by the packet count from all
+  // net devices).
+  optional double kfree_skb_rate = 4;
 }
 
 // End of protos/perfetto/metrics/android/network_metric.proto
diff --git a/protos/perfetto/trace/BUILD.gn b/protos/perfetto/trace/BUILD.gn
index cfcca49..f0d0462 100644
--- a/protos/perfetto/trace/BUILD.gn
+++ b/protos/perfetto/trace/BUILD.gn
@@ -137,9 +137,6 @@
 # This target are not used in the tree and is built only to guarantee that the
 # autogenerated merged proto has a valid syntax.
 perfetto_proto_library("merged_trace_@TYPE@") {
-  proto_generators = [
-    "lite",
-    "source_set",
-  ]
+  proto_generators = [ "lite" ]
   sources = [ "perfetto_trace.proto" ]
 }
diff --git a/protos/perfetto/trace/android/camera_event.proto b/protos/perfetto/trace/android/camera_event.proto
index 906cb67..1e0b887 100644
--- a/protos/perfetto/trace/android/camera_event.proto
+++ b/protos/perfetto/trace/android/camera_event.proto
@@ -107,3 +107,54 @@
   optional int32 vendor_data_version = 15;
   optional bytes vendor_data = 16;
 }
+
+// A profiling event that may be emitted periodically (i.e., at a slower rate
+// than `AndroidCameraFrameEvent`s) to record fixed and aggregated camera
+// session-specific values.
+message AndroidCameraSessionStats {
+  // Identifier for the CameraCaptureSession this frame originates from. See:
+  // https://developer.android.com/reference/android/hardware/camera2/CameraCaptureSession
+  optional uint64 session_id = 1;
+
+  // Although vendor implementations may vary, camera pipeline processing is
+  // typically arranged into a directed graph-like structure. This message is
+  // used to record that graph.
+  message CameraGraph {
+    message CameraNode {
+      optional int64 node_id = 1;
+      // A list of inputs consumed by this node.
+      repeated int64 input_ids = 2;
+      // A list of outputs produced by this node.
+      repeated int64 output_ids = 3;
+
+      // These fields capture vendor-specific additions to this proto message. In
+      // practice `vendor_data` typically contains a serialized message of the
+      // vendor's design, and `vendor_data_version` is incremented each time there
+      // is a backwards incompatible change made to the message.
+      optional int32 vendor_data_version = 4;
+      optional bytes vendor_data = 5;
+    }
+    repeated CameraNode nodes = 1;
+
+    // An adjacency list describing connections between CameraNodes, mapping
+    // nodes and their outputs to other nodes that consume them as inputs.
+    message CameraEdge {
+      // The pair of IDs identifying the node and output connected by this edge.
+      optional int64 output_node_id = 1;
+      optional int64 output_id = 2;
+
+      // The pair of IDs identifying the node and input connected by this edge.
+      optional int64 input_node_id = 3;
+      optional int64 input_id = 4;
+
+      // These fields capture vendor-specific additions to this proto message. In
+      // practice `vendor_data` typically contains a serialized message of the
+      // vendor's design, and `vendor_data_version` is incremented each time there
+      // is a backwards incompatible change made to the message.
+      optional int32 vendor_data_version = 5;
+      optional bytes vendor_data = 6;
+    }
+    repeated CameraEdge edges = 2;
+  }
+  optional CameraGraph graph = 2;
+}
diff --git a/protos/perfetto/trace/ftrace/all_protos.gni b/protos/perfetto/trace/ftrace/all_protos.gni
index 7d43696..9330b8d 100644
--- a/protos/perfetto/trace/ftrace/all_protos.gni
+++ b/protos/perfetto/trace/ftrace/all_protos.gni
@@ -42,6 +42,7 @@
   "ipi.proto",
   "irq.proto",
   "kmem.proto",
+  "kvm.proto",
   "lowmemorykiller.proto",
   "mali.proto",
   "mdss.proto",
@@ -55,6 +56,7 @@
   "scm.proto",
   "sde.proto",
   "signal.proto",
+  "skb.proto",
   "sock.proto",
   "sync.proto",
   "synthetic.proto",
@@ -62,6 +64,7 @@
   "task.proto",
   "tcp.proto",
   "thermal.proto",
+  "ufs.proto",
   "vmscan.proto",
   "workqueue.proto",
 ]
diff --git a/protos/perfetto/trace/ftrace/binder.proto b/protos/perfetto/trace/ftrace/binder.proto
index ecec4a1..89d74aa 100644
--- a/protos/perfetto/trace/ftrace/binder.proto
+++ b/protos/perfetto/trace/ftrace/binder.proto
@@ -37,4 +37,5 @@
   optional uint64 data_size = 1;
   optional int32 debug_id = 2;
   optional uint64 offsets_size = 3;
+  optional uint64 extra_buffers_size = 4;
 }
diff --git a/protos/perfetto/trace/ftrace/block.proto b/protos/perfetto/trace/ftrace/block.proto
index c39a7a2..5549f6b 100644
--- a/protos/perfetto/trace/ftrace/block.proto
+++ b/protos/perfetto/trace/ftrace/block.proto
@@ -87,6 +87,7 @@
   optional int32 errors = 4;
   optional string rwbs = 5;
   optional string cmd = 6;
+  optional int32 error = 7;
 }
 message BlockRqInsertFtraceEvent {
   optional uint64 dev = 1;
diff --git a/protos/perfetto/trace/ftrace/cgroup.proto b/protos/perfetto/trace/ftrace/cgroup.proto
index efa8b9e..3f8288e 100644
--- a/protos/perfetto/trace/ftrace/cgroup.proto
+++ b/protos/perfetto/trace/ftrace/cgroup.proto
@@ -18,6 +18,8 @@
   optional int32 root = 1;
   optional int32 id = 2;
   optional string cname = 3;
+  optional int32 level = 4;
+  optional string path = 5;
 }
 message CgroupRemountFtraceEvent {
   optional int32 root = 1;
@@ -28,6 +30,8 @@
   optional int32 root = 1;
   optional int32 id = 2;
   optional string cname = 3;
+  optional int32 level = 4;
+  optional string path = 5;
 }
 message CgroupTransferTasksFtraceEvent {
   optional int32 dst_root = 1;
@@ -35,6 +39,8 @@
   optional int32 pid = 3;
   optional string comm = 4;
   optional string cname = 5;
+  optional int32 dst_level = 6;
+  optional string dst_path = 7;
 }
 message CgroupDestroyRootFtraceEvent {
   optional int32 root = 1;
@@ -45,11 +51,15 @@
   optional int32 root = 1;
   optional int32 id = 2;
   optional string cname = 3;
+  optional int32 level = 4;
+  optional string path = 5;
 }
 message CgroupRenameFtraceEvent {
   optional int32 root = 1;
   optional int32 id = 2;
   optional string cname = 3;
+  optional int32 level = 4;
+  optional string path = 5;
 }
 message CgroupSetupRootFtraceEvent {
   optional int32 root = 1;
diff --git a/protos/perfetto/trace/ftrace/compaction.proto b/protos/perfetto/trace/ftrace/compaction.proto
index cb57262..ee6c6ff 100644
--- a/protos/perfetto/trace/ftrace/compaction.proto
+++ b/protos/perfetto/trace/ftrace/compaction.proto
@@ -69,6 +69,7 @@
   optional int32 nid = 1;
   optional int32 order = 2;
   optional uint32 classzone_idx = 3;
+  optional uint32 highest_zoneidx = 4;
 }
 message MmCompactionMigratepagesFtraceEvent {
   optional uint64 nr_migrated = 1;
@@ -84,9 +85,11 @@
   optional int32 order = 1;
   optional uint32 gfp_mask = 2;
   optional uint32 mode = 3;
+  optional int32 prio = 4;
 }
 message MmCompactionWakeupKcompactdFtraceEvent {
   optional int32 nid = 1;
   optional int32 order = 2;
   optional uint32 classzone_idx = 3;
+  optional uint32 highest_zoneidx = 4;
 }
diff --git a/protos/perfetto/trace/ftrace/ext4.proto b/protos/perfetto/trace/ftrace/ext4.proto
index 90d0322..1bbe72c 100644
--- a/protos/perfetto/trace/ftrace/ext4.proto
+++ b/protos/perfetto/trace/ftrace/ext4.proto
@@ -138,6 +138,8 @@
 message Ext4DiscardPreallocationsFtraceEvent {
   optional uint64 dev = 1;
   optional uint64 ino = 2;
+  optional uint32 len = 3;
+  optional uint32 needed = 4;
 }
 message Ext4DropInodeFtraceEvent {
   optional uint64 dev = 1;
@@ -302,6 +304,9 @@
   optional int32 depth = 5;
   optional int64 partial = 6;
   optional uint32 eh_entries = 7;
+  optional uint32 pc_lblk = 8;
+  optional uint64 pc_pclu = 9;
+  optional int32 pc_state = 10;
 }
 message Ext4ExtRmIdxFtraceEvent {
   optional uint64 dev = 1;
@@ -316,6 +321,9 @@
   optional uint32 ee_lblk = 5;
   optional uint64 ee_pblk = 6;
   optional int32 ee_len = 7;
+  optional uint32 pc_lblk = 8;
+  optional uint64 pc_pclu = 9;
+  optional int32 pc_state = 10;
 }
 message Ext4ExtShowExtentFtraceEvent {
   optional uint64 dev = 1;
@@ -421,6 +429,7 @@
   optional int32 blocks = 3;
   optional int32 rsv_blocks = 4;
   optional int32 nblocks = 5;
+  optional int32 revoke_creds = 6;
 }
 message Ext4JournalStartReservedFtraceEvent {
   optional uint64 dev = 1;
@@ -557,6 +566,7 @@
 message Ext4ReadBlockBitmapLoadFtraceEvent {
   optional uint64 dev = 1;
   optional uint32 group = 2;
+  optional uint32 prefetch = 3;
 }
 message Ext4ReadpageFtraceEvent {
   optional uint64 dev = 1;
@@ -577,6 +587,9 @@
   optional uint64 ee_pblk = 6;
   optional uint32 ee_lblk = 7;
   optional uint32 ee_len = 8;
+  optional uint32 pc_lblk = 9;
+  optional uint64 pc_pclu = 10;
+  optional int32 pc_state = 11;
 }
 message Ext4RequestBlocksFtraceEvent {
   optional uint64 dev = 1;
diff --git a/protos/perfetto/trace/ftrace/f2fs.proto b/protos/perfetto/trace/ftrace/f2fs.proto
index 556c964..3a69da3 100644
--- a/protos/perfetto/trace/ftrace/f2fs.proto
+++ b/protos/perfetto/trace/ftrace/f2fs.proto
@@ -51,6 +51,7 @@
   optional uint32 pre_victim = 8;
   optional uint32 prefree = 9;
   optional uint32 free = 10;
+  optional uint32 cost = 11;
 }
 message F2fsIgetFtraceEvent {
   optional uint64 dev = 1;
@@ -78,6 +79,9 @@
   optional uint64 index = 3;
   optional uint64 blkaddr = 4;
   optional int32 type = 5;
+  optional int32 dir = 6;
+  optional int32 dirty = 7;
+  optional int32 uptodate = 8;
 }
 message F2fsReserveNewBlockFtraceEvent {
   optional uint64 dev = 1;
@@ -91,6 +95,7 @@
   optional int32 dir = 4;
   optional uint64 index = 5;
   optional int32 dirty = 6;
+  optional int32 uptodate = 7;
 }
 message F2fsSubmitWritePageFtraceEvent {
   optional uint64 dev = 1;
@@ -115,6 +120,7 @@
   optional uint32 need_cp = 3;
   optional int32 datasync = 4;
   optional int32 ret = 5;
+  optional int32 cp_reason = 6;
 }
 message F2fsSyncFsFtraceEvent {
   optional uint64 dev = 1;
@@ -205,6 +211,7 @@
   optional int32 dir = 4;
   optional uint64 index = 5;
   optional int32 dirty = 6;
+  optional int32 uptodate = 7;
 }
 message F2fsWriteBeginFtraceEvent {
   optional uint64 dev = 1;
@@ -217,6 +224,7 @@
   optional uint64 dev = 1;
   optional uint32 is_umount = 2;
   optional string msg = 3;
+  optional int32 reason = 4;
 }
 message F2fsWriteEndFtraceEvent {
   optional uint64 dev = 1;
diff --git a/protos/perfetto/trace/ftrace/ftrace_event.proto b/protos/perfetto/trace/ftrace/ftrace_event.proto
index 13b3acb..e917203 100644
--- a/protos/perfetto/trace/ftrace/ftrace_event.proto
+++ b/protos/perfetto/trace/ftrace/ftrace_event.proto
@@ -42,6 +42,7 @@
 import "protos/perfetto/trace/ftrace/ipi.proto";
 import "protos/perfetto/trace/ftrace/irq.proto";
 import "protos/perfetto/trace/ftrace/kmem.proto";
+import "protos/perfetto/trace/ftrace/kvm.proto";
 import "protos/perfetto/trace/ftrace/lowmemorykiller.proto";
 import "protos/perfetto/trace/ftrace/mali.proto";
 import "protos/perfetto/trace/ftrace/mdss.proto";
@@ -55,6 +56,7 @@
 import "protos/perfetto/trace/ftrace/scm.proto";
 import "protos/perfetto/trace/ftrace/sde.proto";
 import "protos/perfetto/trace/ftrace/signal.proto";
+import "protos/perfetto/trace/ftrace/skb.proto";
 import "protos/perfetto/trace/ftrace/sock.proto";
 import "protos/perfetto/trace/ftrace/sync.proto";
 import "protos/perfetto/trace/ftrace/synthetic.proto";
@@ -62,6 +64,7 @@
 import "protos/perfetto/trace/ftrace/task.proto";
 import "protos/perfetto/trace/ftrace/tcp.proto";
 import "protos/perfetto/trace/ftrace/thermal.proto";
+import "protos/perfetto/trace/ftrace/ufs.proto";
 import "protos/perfetto/trace/ftrace/vmscan.proto";
 import "protos/perfetto/trace/ftrace/workqueue.proto";
 import "protos/perfetto/trace/ftrace/generic.proto";
@@ -460,5 +463,46 @@
     CrosEcSensorhubDataFtraceEvent cros_ec_sensorhub_data = 364;
     NapiGroReceiveEntryFtraceEvent napi_gro_receive_entry = 365;
     NapiGroReceiveExitFtraceEvent napi_gro_receive_exit = 366;
+    KfreeSkbFtraceEvent kfree_skb = 367;
+    KvmAccessFaultFtraceEvent kvm_access_fault = 368;
+    KvmAckIrqFtraceEvent kvm_ack_irq = 369;
+    KvmAgeHvaFtraceEvent kvm_age_hva = 370;
+    KvmAgePageFtraceEvent kvm_age_page = 371;
+    KvmArmClearDebugFtraceEvent kvm_arm_clear_debug = 372;
+    KvmArmSetDreg32FtraceEvent kvm_arm_set_dreg32 = 373;
+    KvmArmSetRegsetFtraceEvent kvm_arm_set_regset = 374;
+    KvmArmSetupDebugFtraceEvent kvm_arm_setup_debug = 375;
+    KvmEntryFtraceEvent kvm_entry = 376;
+    KvmExitFtraceEvent kvm_exit = 377;
+    KvmFpuFtraceEvent kvm_fpu = 378;
+    KvmGetTimerMapFtraceEvent kvm_get_timer_map = 379;
+    KvmGuestFaultFtraceEvent kvm_guest_fault = 380;
+    KvmHandleSysRegFtraceEvent kvm_handle_sys_reg = 381;
+    KvmHvcArm64FtraceEvent kvm_hvc_arm64 = 382;
+    KvmIrqLineFtraceEvent kvm_irq_line = 383;
+    KvmMmioFtraceEvent kvm_mmio = 384;
+    KvmMmioEmulateFtraceEvent kvm_mmio_emulate = 385;
+    KvmSetGuestDebugFtraceEvent kvm_set_guest_debug = 386;
+    KvmSetIrqFtraceEvent kvm_set_irq = 387;
+    KvmSetSpteHvaFtraceEvent kvm_set_spte_hva = 388;
+    KvmSetWayFlushFtraceEvent kvm_set_way_flush = 389;
+    KvmSysAccessFtraceEvent kvm_sys_access = 390;
+    KvmTestAgeHvaFtraceEvent kvm_test_age_hva = 391;
+    KvmTimerEmulateFtraceEvent kvm_timer_emulate = 392;
+    KvmTimerHrtimerExpireFtraceEvent kvm_timer_hrtimer_expire = 393;
+    KvmTimerRestoreStateFtraceEvent kvm_timer_restore_state = 394;
+    KvmTimerSaveStateFtraceEvent kvm_timer_save_state = 395;
+    KvmTimerUpdateIrqFtraceEvent kvm_timer_update_irq = 396;
+    KvmToggleCacheFtraceEvent kvm_toggle_cache = 397;
+    KvmUnmapHvaRangeFtraceEvent kvm_unmap_hva_range = 398;
+    KvmUserspaceExitFtraceEvent kvm_userspace_exit = 399;
+    KvmVcpuWakeupFtraceEvent kvm_vcpu_wakeup = 400;
+    KvmWfxArm64FtraceEvent kvm_wfx_arm64 = 401;
+    TrapRegFtraceEvent trap_reg = 402;
+    VgicUpdateIrqPendingFtraceEvent vgic_update_irq_pending = 403;
+    WakeupSourceActivateFtraceEvent wakeup_source_activate = 404;
+    WakeupSourceDeactivateFtraceEvent wakeup_source_deactivate = 405;
+    UfshcdCommandFtraceEvent ufshcd_command = 406;
+    UfshcdClkGatingFtraceEvent ufshcd_clk_gating = 407;
   }
 }
diff --git a/protos/perfetto/trace/ftrace/ftrace_stats.proto b/protos/perfetto/trace/ftrace/ftrace_stats.proto
index 1f65456..11b7cbc 100644
--- a/protos/perfetto/trace/ftrace/ftrace_stats.proto
+++ b/protos/perfetto/trace/ftrace/ftrace_stats.proto
@@ -80,4 +80,14 @@
 
   // The memory used by the kernel symbolizer (KernelSymbolMap.size_bytes()).
   optional uint32 kernel_symbols_mem_kb = 4;
+
+  // Atrace errors (even non-fatal ones) are reported here. A typical example is
+  // one or more atrace categories not available on the device.
+  optional string atrace_errors = 5;
+
+  // Ftrace events requested by the config but not present on device.
+  repeated string unknown_ftrace_events = 6;
+
+  // Ftrace events requested by the config, present, which we failed to enable.
+  repeated string failed_ftrace_events = 7;
 }
diff --git a/protos/perfetto/trace/ftrace/kvm.proto b/protos/perfetto/trace/ftrace/kvm.proto
new file mode 100644
index 0000000..e179790
--- /dev/null
+++ b/protos/perfetto/trace/ftrace/kvm.proto
@@ -0,0 +1,170 @@
+// Autogenerated by:
+// ../../tools/ftrace_proto_gen/ftrace_proto_gen.cc
+// Do not edit.
+
+syntax = "proto2";
+package perfetto.protos;
+
+message KvmAccessFaultFtraceEvent {
+  optional uint64 ipa = 1;
+}
+message KvmAckIrqFtraceEvent {
+  optional uint32 irqchip = 1;
+  optional uint32 pin = 2;
+}
+message KvmAgeHvaFtraceEvent {
+  optional uint64 end = 1;
+  optional uint64 start = 2;
+}
+message KvmAgePageFtraceEvent {
+  optional uint64 gfn = 1;
+  optional uint64 hva = 2;
+  optional uint32 level = 3;
+  optional uint32 referenced = 4;
+}
+message KvmArmClearDebugFtraceEvent {
+  optional uint32 guest_debug = 1;
+}
+message KvmArmSetDreg32FtraceEvent {
+  optional string name = 1;
+  optional uint32 value = 2;
+}
+message KvmArmSetRegsetFtraceEvent {
+  optional int32 len = 1;
+  optional string name = 2;
+}
+message KvmArmSetupDebugFtraceEvent {
+  optional uint32 guest_debug = 1;
+  optional uint64 vcpu = 2;
+}
+message KvmEntryFtraceEvent {
+  optional uint64 vcpu_pc = 1;
+}
+message KvmExitFtraceEvent {
+  optional uint32 esr_ec = 1;
+  optional int32 ret = 2;
+  optional uint64 vcpu_pc = 3;
+}
+message KvmFpuFtraceEvent {
+  optional uint32 load = 1;
+}
+message KvmGetTimerMapFtraceEvent {
+  optional int32 direct_ptimer = 1;
+  optional int32 direct_vtimer = 2;
+  optional int32 emul_ptimer = 3;
+  optional uint64 vcpu_id = 4;
+}
+message KvmGuestFaultFtraceEvent {
+  optional uint64 hsr = 1;
+  optional uint64 hxfar = 2;
+  optional uint64 ipa = 3;
+  optional uint64 vcpu_pc = 4;
+}
+message KvmHandleSysRegFtraceEvent {
+  optional uint64 hsr = 1;
+}
+message KvmHvcArm64FtraceEvent {
+  optional uint64 imm = 1;
+  optional uint64 r0 = 2;
+  optional uint64 vcpu_pc = 3;
+}
+message KvmIrqLineFtraceEvent {
+  optional int32 irq_num = 1;
+  optional int32 level = 2;
+  optional uint32 type = 3;
+  optional int32 vcpu_idx = 4;
+}
+message KvmMmioFtraceEvent {
+  optional uint64 gpa = 1;
+  optional uint32 len = 2;
+  optional uint32 type = 3;
+  optional uint64 val = 4;
+}
+message KvmMmioEmulateFtraceEvent {
+  optional uint64 cpsr = 1;
+  optional uint64 instr = 2;
+  optional uint64 vcpu_pc = 3;
+}
+message KvmSetGuestDebugFtraceEvent {
+  optional uint32 guest_debug = 1;
+  optional uint64 vcpu = 2;
+}
+message KvmSetIrqFtraceEvent {
+  optional uint32 gsi = 1;
+  optional int32 irq_source_id = 2;
+  optional int32 level = 3;
+}
+message KvmSetSpteHvaFtraceEvent {
+  optional uint64 hva = 1;
+}
+message KvmSetWayFlushFtraceEvent {
+  optional uint32 cache = 1;
+  optional uint64 vcpu_pc = 2;
+}
+message KvmSysAccessFtraceEvent {
+  optional uint32 CRm = 1;
+  optional uint32 CRn = 2;
+  optional uint32 Op0 = 3;
+  optional uint32 Op1 = 4;
+  optional uint32 Op2 = 5;
+  optional uint32 is_write = 6;
+  optional string name = 7;
+  optional uint64 vcpu_pc = 8;
+}
+message KvmTestAgeHvaFtraceEvent {
+  optional uint64 hva = 1;
+}
+message KvmTimerEmulateFtraceEvent {
+  optional uint32 should_fire = 1;
+  optional int32 timer_idx = 2;
+}
+message KvmTimerHrtimerExpireFtraceEvent {
+  optional int32 timer_idx = 1;
+}
+message KvmTimerRestoreStateFtraceEvent {
+  optional uint64 ctl = 1;
+  optional uint64 cval = 2;
+  optional int32 timer_idx = 3;
+}
+message KvmTimerSaveStateFtraceEvent {
+  optional uint64 ctl = 1;
+  optional uint64 cval = 2;
+  optional int32 timer_idx = 3;
+}
+message KvmTimerUpdateIrqFtraceEvent {
+  optional uint32 irq = 1;
+  optional int32 level = 2;
+  optional uint64 vcpu_id = 3;
+}
+message KvmToggleCacheFtraceEvent {
+  optional uint32 now = 1;
+  optional uint64 vcpu_pc = 2;
+  optional uint32 was = 3;
+}
+message KvmUnmapHvaRangeFtraceEvent {
+  optional uint64 end = 1;
+  optional uint64 start = 2;
+}
+message KvmUserspaceExitFtraceEvent {
+  optional uint32 reason = 1;
+}
+message KvmVcpuWakeupFtraceEvent {
+  optional uint64 ns = 1;
+  optional uint32 valid = 2;
+  optional uint32 waited = 3;
+}
+message KvmWfxArm64FtraceEvent {
+  optional uint32 is_wfe = 1;
+  optional uint64 vcpu_pc = 2;
+}
+message TrapRegFtraceEvent {
+  optional string fn = 1;
+  optional uint32 is_write = 2;
+  optional int32 reg = 3;
+  optional uint64 write_value = 4;
+}
+message VgicUpdateIrqPendingFtraceEvent {
+  optional uint32 irq = 1;
+  optional uint32 level = 2;
+  optional uint64 vcpu_id = 3;
+}
diff --git a/protos/perfetto/trace/ftrace/power.proto b/protos/perfetto/trace/ftrace/power.proto
index f38015a..7279e24 100644
--- a/protos/perfetto/trace/ftrace/power.proto
+++ b/protos/perfetto/trace/ftrace/power.proto
@@ -42,3 +42,11 @@
   optional uint32 gpu_id = 1;
   optional uint32 state = 2;
 }
+message WakeupSourceActivateFtraceEvent {
+  optional string name = 1;
+  optional uint64 state = 2;
+}
+message WakeupSourceDeactivateFtraceEvent {
+  optional string name = 1;
+  optional uint64 state = 2;
+}
diff --git a/protos/perfetto/trace/ftrace/skb.proto b/protos/perfetto/trace/ftrace/skb.proto
new file mode 100644
index 0000000..b77f871
--- /dev/null
+++ b/protos/perfetto/trace/ftrace/skb.proto
@@ -0,0 +1,12 @@
+// Autogenerated by:
+// ../../tools/ftrace_proto_gen/ftrace_proto_gen.cc
+// Do not edit.
+
+syntax = "proto2";
+package perfetto.protos;
+
+message KfreeSkbFtraceEvent {
+  optional uint64 location = 1;
+  optional uint32 protocol = 2;
+  optional uint64 skbaddr = 3;
+}
diff --git a/protos/perfetto/trace/ftrace/ufs.proto b/protos/perfetto/trace/ftrace/ufs.proto
new file mode 100644
index 0000000..1e2d949
--- /dev/null
+++ b/protos/perfetto/trace/ftrace/ufs.proto
@@ -0,0 +1,23 @@
+// Autogenerated by:
+// ../../tools/ftrace_proto_gen/ftrace_proto_gen.cc
+// Do not edit.
+
+syntax = "proto2";
+package perfetto.protos;
+
+message UfshcdCommandFtraceEvent {
+  optional string dev_name = 1;
+  optional uint32 doorbell = 2;
+  optional uint32 intr = 3;
+  optional uint64 lba = 4;
+  optional uint32 opcode = 5;
+  optional string str = 6;
+  optional uint32 tag = 7;
+  optional int32 transfer_len = 8;
+  optional uint32 group_id = 9;
+  optional uint32 str_t = 10;
+}
+message UfshcdClkGatingFtraceEvent {
+  optional string dev_name = 1;
+  optional int32 state = 2;
+}
diff --git a/protos/perfetto/trace/ftrace/vmscan.proto b/protos/perfetto/trace/ftrace/vmscan.proto
index f5c5f66..084b221 100644
--- a/protos/perfetto/trace/ftrace/vmscan.proto
+++ b/protos/perfetto/trace/ftrace/vmscan.proto
@@ -16,6 +16,7 @@
 message MmVmscanKswapdWakeFtraceEvent {
   optional int32 nid = 1;
   optional int32 order = 2;
+  optional int32 zid = 3;
 }
 message MmVmscanKswapdSleepFtraceEvent {
   optional int32 nid = 1;
diff --git a/protos/perfetto/trace/ftrace/workqueue.proto b/protos/perfetto/trace/ftrace/workqueue.proto
index dd68361..cf6d8a7 100644
--- a/protos/perfetto/trace/ftrace/workqueue.proto
+++ b/protos/perfetto/trace/ftrace/workqueue.proto
@@ -10,6 +10,7 @@
 }
 message WorkqueueExecuteEndFtraceEvent {
   optional uint64 work = 1;
+  optional uint64 function = 2;
 }
 message WorkqueueExecuteStartFtraceEvent {
   optional uint64 work = 1;
diff --git a/protos/perfetto/trace/interned_data/interned_data.proto b/protos/perfetto/trace/interned_data/interned_data.proto
index cc9c9e3..86b8a9f 100644
--- a/protos/perfetto/trace/interned_data/interned_data.proto
+++ b/protos/perfetto/trace/interned_data/interned_data.proto
@@ -53,7 +53,7 @@
 // emitted proactively in advance of referring to them in later packets.
 //
 // Next reserved id: 8 (up to 15).
-// Next id: 27.
+// Next id: 28.
 message InternedData {
   // TODO(eseckler): Replace iid fields inside interned messages with
   // map<iid, message> type fields in InternedData.
@@ -68,6 +68,7 @@
   repeated EventCategory event_categories = 1;
   repeated EventName event_names = 2;
   repeated DebugAnnotationName debug_annotation_names = 3;
+  repeated DebugAnnotationValueTypeName debug_annotation_value_type_names = 27;
   repeated SourceLocation source_locations = 4;
   repeated LogMessageBody log_message_body = 20;
   repeated HistogramName histogram_names = 25;
diff --git a/protos/perfetto/trace/perfetto_trace.proto b/protos/perfetto/trace/perfetto_trace.proto
index 7e7747c..ea46bd2 100644
--- a/protos/perfetto/trace/perfetto_trace.proto
+++ b/protos/perfetto/trace/perfetto_trace.proto
@@ -13,6 +13,22 @@
 
 option go_package = "github.com/google/perfetto/perfetto_proto";
 
+// Begin of protos/perfetto/common/ftrace_descriptor.proto
+
+message FtraceDescriptor {
+  message AtraceCategory {
+    optional string name = 1;
+    optional string description = 2;
+  }
+
+  // Report the available atrace categories.
+  //
+  // Used by Traceur via `perfetto --query`.
+  repeated AtraceCategory atrace_categories = 1;
+}
+
+// End of protos/perfetto/common/ftrace_descriptor.proto
+
 // Begin of protos/perfetto/common/gpu_counter_descriptor.proto
 
 // Description of GPU counters.
@@ -186,6 +202,8 @@
   optional GpuCounterDescriptor gpu_counter_descriptor = 5 [lazy = true];
 
   optional TrackEventDescriptor track_event_descriptor = 6 [lazy = true];
+
+  optional FtraceDescriptor ftrace_descriptor = 8 [lazy = true];
 }
 
 // End of protos/perfetto/common/data_source_descriptor.proto
@@ -1506,6 +1524,17 @@
 
   // Default: []
   repeated string enabled_tags = 4;
+
+  // Default: false (i.e. enabled by default)
+  optional bool disable_incremental_timestamps = 5;
+
+  // Allows to specify a custom unit different than the default (ns).
+  // A multiplier of 1000 means that a timestamp = 3 should be interpreted as
+  // 3000 ns = 3 us.
+  // Default: 1 (if unset, it should be read as 1).
+  // For now, this multiplier only affects incremental timestamps.
+  // Note: This isn't supported in the SDK yet. It will be supported soon.
+  optional uint64 timestamp_unit_multipler = 6;
 }
 
 // End of protos/perfetto/config/track_event/track_event_config.proto
@@ -2433,6 +2462,57 @@
   optional bytes vendor_data = 16;
 }
 
+// A profiling event that may be emitted periodically (i.e., at a slower rate
+// than `AndroidCameraFrameEvent`s) to record fixed and aggregated camera
+// session-specific values.
+message AndroidCameraSessionStats {
+  // Identifier for the CameraCaptureSession this frame originates from. See:
+  // https://developer.android.com/reference/android/hardware/camera2/CameraCaptureSession
+  optional uint64 session_id = 1;
+
+  // Although vendor implementations may vary, camera pipeline processing is
+  // typically arranged into a directed graph-like structure. This message is
+  // used to record that graph.
+  message CameraGraph {
+    message CameraNode {
+      optional int64 node_id = 1;
+      // A list of inputs consumed by this node.
+      repeated int64 input_ids = 2;
+      // A list of outputs produced by this node.
+      repeated int64 output_ids = 3;
+
+      // These fields capture vendor-specific additions to this proto message. In
+      // practice `vendor_data` typically contains a serialized message of the
+      // vendor's design, and `vendor_data_version` is incremented each time there
+      // is a backwards incompatible change made to the message.
+      optional int32 vendor_data_version = 4;
+      optional bytes vendor_data = 5;
+    }
+    repeated CameraNode nodes = 1;
+
+    // An adjacency list describing connections between CameraNodes, mapping
+    // nodes and their outputs to other nodes that consume them as inputs.
+    message CameraEdge {
+      // The pair of IDs identifying the node and output connected by this edge.
+      optional int64 output_node_id = 1;
+      optional int64 output_id = 2;
+
+      // The pair of IDs identifying the node and input connected by this edge.
+      optional int64 input_node_id = 3;
+      optional int64 input_id = 4;
+
+      // These fields capture vendor-specific additions to this proto message. In
+      // practice `vendor_data` typically contains a serialized message of the
+      // vendor's design, and `vendor_data_version` is incremented each time there
+      // is a backwards incompatible change made to the message.
+      optional int32 vendor_data_version = 5;
+      optional bytes vendor_data = 6;
+    }
+    repeated CameraEdge edges = 2;
+  }
+  optional CameraGraph graph = 2;
+}
+
 // End of protos/perfetto/trace/android/camera_event.proto
 
 // Begin of protos/perfetto/trace/android/frame_timeline_event.proto
@@ -3226,6 +3306,7 @@
   optional uint64 data_size = 1;
   optional int32 debug_id = 2;
   optional uint64 offsets_size = 3;
+  optional uint64 extra_buffers_size = 4;
 }
 
 // End of protos/perfetto/trace/ftrace/binder.proto
@@ -3314,6 +3395,7 @@
   optional int32 errors = 4;
   optional string rwbs = 5;
   optional string cmd = 6;
+  optional int32 error = 7;
 }
 message BlockRqInsertFtraceEvent {
   optional uint64 dev = 1;
@@ -3382,6 +3464,8 @@
   optional int32 root = 1;
   optional int32 id = 2;
   optional string cname = 3;
+  optional int32 level = 4;
+  optional string path = 5;
 }
 message CgroupRemountFtraceEvent {
   optional int32 root = 1;
@@ -3392,6 +3476,8 @@
   optional int32 root = 1;
   optional int32 id = 2;
   optional string cname = 3;
+  optional int32 level = 4;
+  optional string path = 5;
 }
 message CgroupTransferTasksFtraceEvent {
   optional int32 dst_root = 1;
@@ -3399,6 +3485,8 @@
   optional int32 pid = 3;
   optional string comm = 4;
   optional string cname = 5;
+  optional int32 dst_level = 6;
+  optional string dst_path = 7;
 }
 message CgroupDestroyRootFtraceEvent {
   optional int32 root = 1;
@@ -3409,11 +3497,15 @@
   optional int32 root = 1;
   optional int32 id = 2;
   optional string cname = 3;
+  optional int32 level = 4;
+  optional string path = 5;
 }
 message CgroupRenameFtraceEvent {
   optional int32 root = 1;
   optional int32 id = 2;
   optional string cname = 3;
+  optional int32 level = 4;
+  optional string path = 5;
 }
 message CgroupSetupRootFtraceEvent {
   optional int32 root = 1;
@@ -3504,6 +3596,7 @@
   optional int32 nid = 1;
   optional int32 order = 2;
   optional uint32 classzone_idx = 3;
+  optional uint32 highest_zoneidx = 4;
 }
 message MmCompactionMigratepagesFtraceEvent {
   optional uint64 nr_migrated = 1;
@@ -3519,11 +3612,13 @@
   optional int32 order = 1;
   optional uint32 gfp_mask = 2;
   optional uint32 mode = 3;
+  optional int32 prio = 4;
 }
 message MmCompactionWakeupKcompactdFtraceEvent {
   optional int32 nid = 1;
   optional int32 order = 2;
   optional uint32 classzone_idx = 3;
+  optional uint32 highest_zoneidx = 4;
 }
 
 // End of protos/perfetto/trace/ftrace/compaction.proto
@@ -3734,6 +3829,8 @@
 message Ext4DiscardPreallocationsFtraceEvent {
   optional uint64 dev = 1;
   optional uint64 ino = 2;
+  optional uint32 len = 3;
+  optional uint32 needed = 4;
 }
 message Ext4DropInodeFtraceEvent {
   optional uint64 dev = 1;
@@ -3898,6 +3995,9 @@
   optional int32 depth = 5;
   optional int64 partial = 6;
   optional uint32 eh_entries = 7;
+  optional uint32 pc_lblk = 8;
+  optional uint64 pc_pclu = 9;
+  optional int32 pc_state = 10;
 }
 message Ext4ExtRmIdxFtraceEvent {
   optional uint64 dev = 1;
@@ -3912,6 +4012,9 @@
   optional uint32 ee_lblk = 5;
   optional uint64 ee_pblk = 6;
   optional int32 ee_len = 7;
+  optional uint32 pc_lblk = 8;
+  optional uint64 pc_pclu = 9;
+  optional int32 pc_state = 10;
 }
 message Ext4ExtShowExtentFtraceEvent {
   optional uint64 dev = 1;
@@ -4017,6 +4120,7 @@
   optional int32 blocks = 3;
   optional int32 rsv_blocks = 4;
   optional int32 nblocks = 5;
+  optional int32 revoke_creds = 6;
 }
 message Ext4JournalStartReservedFtraceEvent {
   optional uint64 dev = 1;
@@ -4153,6 +4257,7 @@
 message Ext4ReadBlockBitmapLoadFtraceEvent {
   optional uint64 dev = 1;
   optional uint32 group = 2;
+  optional uint32 prefetch = 3;
 }
 message Ext4ReadpageFtraceEvent {
   optional uint64 dev = 1;
@@ -4173,6 +4278,9 @@
   optional uint64 ee_pblk = 6;
   optional uint32 ee_lblk = 7;
   optional uint32 ee_len = 8;
+  optional uint32 pc_lblk = 9;
+  optional uint64 pc_pclu = 10;
+  optional int32 pc_state = 11;
 }
 message Ext4RequestBlocksFtraceEvent {
   optional uint64 dev = 1;
@@ -4328,6 +4436,7 @@
   optional uint32 pre_victim = 8;
   optional uint32 prefree = 9;
   optional uint32 free = 10;
+  optional uint32 cost = 11;
 }
 message F2fsIgetFtraceEvent {
   optional uint64 dev = 1;
@@ -4355,6 +4464,9 @@
   optional uint64 index = 3;
   optional uint64 blkaddr = 4;
   optional int32 type = 5;
+  optional int32 dir = 6;
+  optional int32 dirty = 7;
+  optional int32 uptodate = 8;
 }
 message F2fsReserveNewBlockFtraceEvent {
   optional uint64 dev = 1;
@@ -4368,6 +4480,7 @@
   optional int32 dir = 4;
   optional uint64 index = 5;
   optional int32 dirty = 6;
+  optional int32 uptodate = 7;
 }
 message F2fsSubmitWritePageFtraceEvent {
   optional uint64 dev = 1;
@@ -4392,6 +4505,7 @@
   optional uint32 need_cp = 3;
   optional int32 datasync = 4;
   optional int32 ret = 5;
+  optional int32 cp_reason = 6;
 }
 message F2fsSyncFsFtraceEvent {
   optional uint64 dev = 1;
@@ -4482,6 +4596,7 @@
   optional int32 dir = 4;
   optional uint64 index = 5;
   optional int32 dirty = 6;
+  optional int32 uptodate = 7;
 }
 message F2fsWriteBeginFtraceEvent {
   optional uint64 dev = 1;
@@ -4494,6 +4609,7 @@
   optional uint64 dev = 1;
   optional uint32 is_umount = 2;
   optional string msg = 3;
+  optional int32 reason = 4;
 }
 message F2fsWriteEndFtraceEvent {
   optional uint64 dev = 1;
@@ -4965,6 +5081,174 @@
 
 // End of protos/perfetto/trace/ftrace/kmem.proto
 
+// Begin of protos/perfetto/trace/ftrace/kvm.proto
+
+message KvmAccessFaultFtraceEvent {
+  optional uint64 ipa = 1;
+}
+message KvmAckIrqFtraceEvent {
+  optional uint32 irqchip = 1;
+  optional uint32 pin = 2;
+}
+message KvmAgeHvaFtraceEvent {
+  optional uint64 end = 1;
+  optional uint64 start = 2;
+}
+message KvmAgePageFtraceEvent {
+  optional uint64 gfn = 1;
+  optional uint64 hva = 2;
+  optional uint32 level = 3;
+  optional uint32 referenced = 4;
+}
+message KvmArmClearDebugFtraceEvent {
+  optional uint32 guest_debug = 1;
+}
+message KvmArmSetDreg32FtraceEvent {
+  optional string name = 1;
+  optional uint32 value = 2;
+}
+message KvmArmSetRegsetFtraceEvent {
+  optional int32 len = 1;
+  optional string name = 2;
+}
+message KvmArmSetupDebugFtraceEvent {
+  optional uint32 guest_debug = 1;
+  optional uint64 vcpu = 2;
+}
+message KvmEntryFtraceEvent {
+  optional uint64 vcpu_pc = 1;
+}
+message KvmExitFtraceEvent {
+  optional uint32 esr_ec = 1;
+  optional int32 ret = 2;
+  optional uint64 vcpu_pc = 3;
+}
+message KvmFpuFtraceEvent {
+  optional uint32 load = 1;
+}
+message KvmGetTimerMapFtraceEvent {
+  optional int32 direct_ptimer = 1;
+  optional int32 direct_vtimer = 2;
+  optional int32 emul_ptimer = 3;
+  optional uint64 vcpu_id = 4;
+}
+message KvmGuestFaultFtraceEvent {
+  optional uint64 hsr = 1;
+  optional uint64 hxfar = 2;
+  optional uint64 ipa = 3;
+  optional uint64 vcpu_pc = 4;
+}
+message KvmHandleSysRegFtraceEvent {
+  optional uint64 hsr = 1;
+}
+message KvmHvcArm64FtraceEvent {
+  optional uint64 imm = 1;
+  optional uint64 r0 = 2;
+  optional uint64 vcpu_pc = 3;
+}
+message KvmIrqLineFtraceEvent {
+  optional int32 irq_num = 1;
+  optional int32 level = 2;
+  optional uint32 type = 3;
+  optional int32 vcpu_idx = 4;
+}
+message KvmMmioFtraceEvent {
+  optional uint64 gpa = 1;
+  optional uint32 len = 2;
+  optional uint32 type = 3;
+  optional uint64 val = 4;
+}
+message KvmMmioEmulateFtraceEvent {
+  optional uint64 cpsr = 1;
+  optional uint64 instr = 2;
+  optional uint64 vcpu_pc = 3;
+}
+message KvmSetGuestDebugFtraceEvent {
+  optional uint32 guest_debug = 1;
+  optional uint64 vcpu = 2;
+}
+message KvmSetIrqFtraceEvent {
+  optional uint32 gsi = 1;
+  optional int32 irq_source_id = 2;
+  optional int32 level = 3;
+}
+message KvmSetSpteHvaFtraceEvent {
+  optional uint64 hva = 1;
+}
+message KvmSetWayFlushFtraceEvent {
+  optional uint32 cache = 1;
+  optional uint64 vcpu_pc = 2;
+}
+message KvmSysAccessFtraceEvent {
+  optional uint32 CRm = 1;
+  optional uint32 CRn = 2;
+  optional uint32 Op0 = 3;
+  optional uint32 Op1 = 4;
+  optional uint32 Op2 = 5;
+  optional uint32 is_write = 6;
+  optional string name = 7;
+  optional uint64 vcpu_pc = 8;
+}
+message KvmTestAgeHvaFtraceEvent {
+  optional uint64 hva = 1;
+}
+message KvmTimerEmulateFtraceEvent {
+  optional uint32 should_fire = 1;
+  optional int32 timer_idx = 2;
+}
+message KvmTimerHrtimerExpireFtraceEvent {
+  optional int32 timer_idx = 1;
+}
+message KvmTimerRestoreStateFtraceEvent {
+  optional uint64 ctl = 1;
+  optional uint64 cval = 2;
+  optional int32 timer_idx = 3;
+}
+message KvmTimerSaveStateFtraceEvent {
+  optional uint64 ctl = 1;
+  optional uint64 cval = 2;
+  optional int32 timer_idx = 3;
+}
+message KvmTimerUpdateIrqFtraceEvent {
+  optional uint32 irq = 1;
+  optional int32 level = 2;
+  optional uint64 vcpu_id = 3;
+}
+message KvmToggleCacheFtraceEvent {
+  optional uint32 now = 1;
+  optional uint64 vcpu_pc = 2;
+  optional uint32 was = 3;
+}
+message KvmUnmapHvaRangeFtraceEvent {
+  optional uint64 end = 1;
+  optional uint64 start = 2;
+}
+message KvmUserspaceExitFtraceEvent {
+  optional uint32 reason = 1;
+}
+message KvmVcpuWakeupFtraceEvent {
+  optional uint64 ns = 1;
+  optional uint32 valid = 2;
+  optional uint32 waited = 3;
+}
+message KvmWfxArm64FtraceEvent {
+  optional uint32 is_wfe = 1;
+  optional uint64 vcpu_pc = 2;
+}
+message TrapRegFtraceEvent {
+  optional string fn = 1;
+  optional uint32 is_write = 2;
+  optional int32 reg = 3;
+  optional uint64 write_value = 4;
+}
+message VgicUpdateIrqPendingFtraceEvent {
+  optional uint32 irq = 1;
+  optional uint32 level = 2;
+  optional uint64 vcpu_id = 3;
+}
+
+// End of protos/perfetto/trace/ftrace/kvm.proto
+
 // Begin of protos/perfetto/trace/ftrace/lowmemorykiller.proto
 
 message LowmemoryKillFtraceEvent {
@@ -5243,6 +5527,14 @@
   optional uint32 gpu_id = 1;
   optional uint32 state = 2;
 }
+message WakeupSourceActivateFtraceEvent {
+  optional string name = 1;
+  optional uint64 state = 2;
+}
+message WakeupSourceDeactivateFtraceEvent {
+  optional string name = 1;
+  optional uint64 state = 2;
+}
 
 // End of protos/perfetto/trace/ftrace/power.proto
 
@@ -5453,6 +5745,16 @@
 
 // End of protos/perfetto/trace/ftrace/signal.proto
 
+// Begin of protos/perfetto/trace/ftrace/skb.proto
+
+message KfreeSkbFtraceEvent {
+  optional uint64 location = 1;
+  optional uint32 protocol = 2;
+  optional uint64 skbaddr = 3;
+}
+
+// End of protos/perfetto/trace/ftrace/skb.proto
+
 // Begin of protos/perfetto/trace/ftrace/sock.proto
 
 message InetSockSetStateFtraceEvent {
@@ -5555,6 +5857,27 @@
 
 // End of protos/perfetto/trace/ftrace/thermal.proto
 
+// Begin of protos/perfetto/trace/ftrace/ufs.proto
+
+message UfshcdCommandFtraceEvent {
+  optional string dev_name = 1;
+  optional uint32 doorbell = 2;
+  optional uint32 intr = 3;
+  optional uint64 lba = 4;
+  optional uint32 opcode = 5;
+  optional string str = 6;
+  optional uint32 tag = 7;
+  optional int32 transfer_len = 8;
+  optional uint32 group_id = 9;
+  optional uint32 str_t = 10;
+}
+message UfshcdClkGatingFtraceEvent {
+  optional string dev_name = 1;
+  optional int32 state = 2;
+}
+
+// End of protos/perfetto/trace/ftrace/ufs.proto
+
 // Begin of protos/perfetto/trace/ftrace/vmscan.proto
 
 message MmVmscanDirectReclaimBeginFtraceEvent {
@@ -5568,6 +5891,7 @@
 message MmVmscanKswapdWakeFtraceEvent {
   optional int32 nid = 1;
   optional int32 order = 2;
+  optional int32 zid = 3;
 }
 message MmVmscanKswapdSleepFtraceEvent {
   optional int32 nid = 1;
@@ -5582,6 +5906,7 @@
 }
 message WorkqueueExecuteEndFtraceEvent {
   optional uint64 work = 1;
+  optional uint64 function = 2;
 }
 message WorkqueueExecuteStartFtraceEvent {
   optional uint64 work = 1;
@@ -5991,6 +6316,47 @@
     CrosEcSensorhubDataFtraceEvent cros_ec_sensorhub_data = 364;
     NapiGroReceiveEntryFtraceEvent napi_gro_receive_entry = 365;
     NapiGroReceiveExitFtraceEvent napi_gro_receive_exit = 366;
+    KfreeSkbFtraceEvent kfree_skb = 367;
+    KvmAccessFaultFtraceEvent kvm_access_fault = 368;
+    KvmAckIrqFtraceEvent kvm_ack_irq = 369;
+    KvmAgeHvaFtraceEvent kvm_age_hva = 370;
+    KvmAgePageFtraceEvent kvm_age_page = 371;
+    KvmArmClearDebugFtraceEvent kvm_arm_clear_debug = 372;
+    KvmArmSetDreg32FtraceEvent kvm_arm_set_dreg32 = 373;
+    KvmArmSetRegsetFtraceEvent kvm_arm_set_regset = 374;
+    KvmArmSetupDebugFtraceEvent kvm_arm_setup_debug = 375;
+    KvmEntryFtraceEvent kvm_entry = 376;
+    KvmExitFtraceEvent kvm_exit = 377;
+    KvmFpuFtraceEvent kvm_fpu = 378;
+    KvmGetTimerMapFtraceEvent kvm_get_timer_map = 379;
+    KvmGuestFaultFtraceEvent kvm_guest_fault = 380;
+    KvmHandleSysRegFtraceEvent kvm_handle_sys_reg = 381;
+    KvmHvcArm64FtraceEvent kvm_hvc_arm64 = 382;
+    KvmIrqLineFtraceEvent kvm_irq_line = 383;
+    KvmMmioFtraceEvent kvm_mmio = 384;
+    KvmMmioEmulateFtraceEvent kvm_mmio_emulate = 385;
+    KvmSetGuestDebugFtraceEvent kvm_set_guest_debug = 386;
+    KvmSetIrqFtraceEvent kvm_set_irq = 387;
+    KvmSetSpteHvaFtraceEvent kvm_set_spte_hva = 388;
+    KvmSetWayFlushFtraceEvent kvm_set_way_flush = 389;
+    KvmSysAccessFtraceEvent kvm_sys_access = 390;
+    KvmTestAgeHvaFtraceEvent kvm_test_age_hva = 391;
+    KvmTimerEmulateFtraceEvent kvm_timer_emulate = 392;
+    KvmTimerHrtimerExpireFtraceEvent kvm_timer_hrtimer_expire = 393;
+    KvmTimerRestoreStateFtraceEvent kvm_timer_restore_state = 394;
+    KvmTimerSaveStateFtraceEvent kvm_timer_save_state = 395;
+    KvmTimerUpdateIrqFtraceEvent kvm_timer_update_irq = 396;
+    KvmToggleCacheFtraceEvent kvm_toggle_cache = 397;
+    KvmUnmapHvaRangeFtraceEvent kvm_unmap_hva_range = 398;
+    KvmUserspaceExitFtraceEvent kvm_userspace_exit = 399;
+    KvmVcpuWakeupFtraceEvent kvm_vcpu_wakeup = 400;
+    KvmWfxArm64FtraceEvent kvm_wfx_arm64 = 401;
+    TrapRegFtraceEvent trap_reg = 402;
+    VgicUpdateIrqPendingFtraceEvent vgic_update_irq_pending = 403;
+    WakeupSourceActivateFtraceEvent wakeup_source_activate = 404;
+    WakeupSourceDeactivateFtraceEvent wakeup_source_deactivate = 405;
+    UfshcdCommandFtraceEvent ufshcd_command = 406;
+    UfshcdClkGatingFtraceEvent ufshcd_clk_gating = 407;
   }
 }
 
@@ -6150,6 +6516,16 @@
 
   // The memory used by the kernel symbolizer (KernelSymbolMap.size_bytes()).
   optional uint32 kernel_symbols_mem_kb = 4;
+
+  // Atrace errors (even non-fatal ones) are reported here. A typical example is
+  // one or more atrace categories not available on the device.
+  optional string atrace_errors = 5;
+
+  // Ftrace events requested by the config but not present on device.
+  repeated string unknown_ftrace_events = 6;
+
+  // Ftrace events requested by the config, present, which we failed to enable.
+  repeated string failed_ftrace_events = 7;
 }
 
 // End of protos/perfetto/trace/ftrace/ftrace_stats.proto
@@ -6652,7 +7028,8 @@
 //     }
 //   }
 //
-// Next ID: 13.
+// Next ID: 17.
+// Reserved ID: 15
 message DebugAnnotation {
   // Name fields are set only for dictionary entries.
   oneof name_field {
@@ -6680,6 +7057,18 @@
     string legacy_json_value = 9;
   }
 
+  // Used to embed arbitrary proto messages (which are also typically used to
+  // represent typed TrackEvent arguments). |proto_type_name| or
+  // |proto_type_name_iid| are storing the full name of the proto messages (e.g.
+  // .perfetto.protos.DebugAnnotation) and |proto_value| contains the serialised
+  // proto messages. See |TracedValue::WriteProto| for more details.
+  oneof proto_type_descriptor {
+    string proto_type_name = 16;
+    // interned DebugAnnotationValueTypeName.
+    uint64 proto_type_name_iid = 13;
+  }
+  optional bytes proto_value = 14;
+
   repeated DebugAnnotation dict_entries = 11;
   repeated DebugAnnotation array_values = 12;
 
@@ -6714,6 +7103,12 @@
   optional string name = 2;
 }
 
+// See the |proto_type_descriptor| comment.
+message DebugAnnotationValueTypeName {
+  optional uint64 iid = 1;
+  optional string name = 2;
+}
+
 // End of protos/perfetto/trace/track_event/debug_annotation.proto
 
 // Begin of protos/perfetto/trace/track_event/log_message.proto
@@ -7765,7 +8160,7 @@
 // emitted proactively in advance of referring to them in later packets.
 //
 // Next reserved id: 8 (up to 15).
-// Next id: 27.
+// Next id: 28.
 message InternedData {
   // TODO(eseckler): Replace iid fields inside interned messages with
   // map<iid, message> type fields in InternedData.
@@ -7780,6 +8175,7 @@
   repeated EventCategory event_categories = 1;
   repeated EventName event_names = 2;
   repeated DebugAnnotationName debug_annotation_names = 3;
+  repeated DebugAnnotationValueTypeName debug_annotation_value_type_names = 27;
   repeated SourceLocation source_locations = 4;
   repeated LogMessageBody log_message_body = 20;
   repeated HistogramName histogram_names = 25;
@@ -9483,7 +9879,7 @@
 // See the [Buffers and Dataflow](/docs/concepts/buffers.md) doc for details.
 //
 // Next reserved id: 14 (up to 15).
-// Next id: 81.
+// Next id: 82.
 message TracePacket {
   // The timestamp of the TracePacket.
   // By default this timestamps refers to the trace clock (CLOCK_BOOTTIME on
@@ -9546,6 +9942,7 @@
     AndroidEnergyEstimationBreakdown android_energy_estimation_breakdown = 77;
     UiState ui_state = 78;
     AndroidCameraFrameEvent android_camera_frame_event = 80;
+    AndroidCameraSessionStats android_camera_session_stats = 81;
 
     // Only used in profile packets.
     ProfiledFrameSymbols profiled_frame_symbols = 55;
diff --git a/protos/perfetto/trace/trace_packet.proto b/protos/perfetto/trace/trace_packet.proto
index bcf0d69..c90256a 100644
--- a/protos/perfetto/trace/trace_packet.proto
+++ b/protos/perfetto/trace/trace_packet.proto
@@ -86,7 +86,7 @@
 // See the [Buffers and Dataflow](/docs/concepts/buffers.md) doc for details.
 //
 // Next reserved id: 14 (up to 15).
-// Next id: 81.
+// Next id: 82.
 message TracePacket {
   // The timestamp of the TracePacket.
   // By default this timestamps refers to the trace clock (CLOCK_BOOTTIME on
@@ -149,6 +149,7 @@
     AndroidEnergyEstimationBreakdown android_energy_estimation_breakdown = 77;
     UiState ui_state = 78;
     AndroidCameraFrameEvent android_camera_frame_event = 80;
+    AndroidCameraSessionStats android_camera_session_stats = 81;
 
     // Only used in profile packets.
     ProfiledFrameSymbols profiled_frame_symbols = 55;
diff --git a/protos/perfetto/trace/track_event/debug_annotation.proto b/protos/perfetto/trace/track_event/debug_annotation.proto
index d6766cb..35a041d 100644
--- a/protos/perfetto/trace/track_event/debug_annotation.proto
+++ b/protos/perfetto/trace/track_event/debug_annotation.proto
@@ -57,7 +57,8 @@
 //     }
 //   }
 //
-// Next ID: 13.
+// Next ID: 17.
+// Reserved ID: 15
 message DebugAnnotation {
   // Name fields are set only for dictionary entries.
   oneof name_field {
@@ -85,6 +86,18 @@
     string legacy_json_value = 9;
   }
 
+  // Used to embed arbitrary proto messages (which are also typically used to
+  // represent typed TrackEvent arguments). |proto_type_name| or
+  // |proto_type_name_iid| are storing the full name of the proto messages (e.g.
+  // .perfetto.protos.DebugAnnotation) and |proto_value| contains the serialised
+  // proto messages. See |TracedValue::WriteProto| for more details.
+  oneof proto_type_descriptor {
+    string proto_type_name = 16;
+    // interned DebugAnnotationValueTypeName.
+    uint64 proto_type_name_iid = 13;
+  }
+  optional bytes proto_value = 14;
+
   repeated DebugAnnotation dict_entries = 11;
   repeated DebugAnnotation array_values = 12;
 
@@ -118,3 +131,9 @@
   optional uint64 iid = 1;
   optional string name = 2;
 }
+
+// See the |proto_type_descriptor| comment.
+message DebugAnnotationValueTypeName {
+  optional uint64 iid = 1;
+  optional string name = 2;
+}
diff --git a/protos/third_party/chromium/chrome_track_event.proto b/protos/third_party/chromium/chrome_track_event.proto
index 1984ebc..08f37a7 100644
--- a/protos/third_party/chromium/chrome_track_event.proto
+++ b/protos/third_party/chromium/chrome_track_event.proto
@@ -150,6 +150,8 @@
 
   // Whether there's a speculative RenderFrameHost or not.
   optional bool has_speculative_render_frame_host = 3;
+
+  optional RenderFrameHost current_frame_host = 4;
 }
 
 message ChromeHashedPerformanceMark {
@@ -268,8 +270,23 @@
   // related SiteInstances in the same BrowsingInstance.
   optional int32 related_active_contents_count = 5;
 
-  // The number of active RenderFrameHosts which belong to this SiteInstance.
+  // The number of active RenderFrameHosts this SiteInstance's SiteInstanceGroup
+  // has.
   optional int32 active_rfh_count = 6;
+
+  // The SiteInstanceGroup this SiteInstance belongs to.
+  optional SiteInstanceGroup site_instance_group = 7;
+}
+
+message SiteInstanceGroup {
+  // The ID of the SiteInstanceGroup.
+  optional int32 site_instance_group_id = 1;
+
+  // The number of active frames in this SiteInstanceGroup.
+  optional int32 active_frame_count = 2;
+
+  // The process ID of the SiteInstanceGroup.
+  optional RenderProcessHost process = 3;
 }
 
 message RenderViewHost {
@@ -306,6 +323,10 @@
 
   // Whether the renderer-side RenderFrameProxy is live or not.
   optional bool is_render_frame_proxy_live = 5;
+
+  // The SiteInstanceGroupId of the SiteInstanceGroup associated with the
+  // RenderFrameProxyHost.
+  optional int32 site_instance_group_id = 6;
 }
 
 message AndroidView {
@@ -396,6 +417,11 @@
   optional int32 process_id = 2;
 }
 
+message BrowsingContextState {
+  // The ID of the BrowsingInstance that the BrowsingContextState belongs to.
+  optional int32 browsing_instance_id = 1;
+}
+
 message RenderFrameHost {
   optional RenderProcessHost process = 1;
   optional GlobalRenderFrameHostId render_frame_host_id = 2;
@@ -421,6 +447,7 @@
   optional RenderFrameHost parent = 8;
   optional RenderFrameHost outer_document = 9;
   optional RenderFrameHost embedder = 10;
+  optional BrowsingContextState browsing_context_state = 11;
 }
 
 message ChromeThreadPoolTask {
@@ -515,6 +542,7 @@
     CACHE_CONTROL_NO_STORE_HTTP_ONLY_COOKIE_MODIFIED = 51;
     NO_RESPONSE_HEAD = 52;
     ACTIVATION_NAVIGATION_DISALLOWED_FOR_BUG_1234857 = 53;
+    ERROR_DOCUMENT = 54;
   }
 
   optional BackForwardCacheNotRestoredReason
@@ -683,9 +711,17 @@
   optional RemoteHungProcessTerminateReason remote_process_terminate_reason = 2;
 }
 
+enum DeviceThermalState {
+  DEVICE_THERMAL_STATE_UNKNOWN = 0;
+  DEVICE_THERMAL_STATE_NOMINAL = 1;
+  DEVICE_THERMAL_STATE_FAIR = 2;
+  DEVICE_THERMAL_STATE_SERIOUS = 3;
+  DEVICE_THERMAL_STATE_CRITICAL = 4;
+}
+
 message ChromeTrackEvent {
   // Extension range for Chrome: 1000-1999
-  // Next ID: 1034
+  // Next ID: 1037
   extend TrackEvent {
     optional ChromeAppState chrome_app_state = 1000;
 
@@ -759,5 +795,11 @@
     optional EventLatency event_latency = 1032;
 
     optional ProcessSingleton process_singleton = 1033;
+
+    optional SiteInstanceGroup site_instance_group = 1034;
+
+    optional BrowsingContextState browsing_context_state = 1035;
+
+    optional DeviceThermalState device_thermal_state = 1036;
   }
 }
diff --git a/python/perfetto/trace_processor/api.py b/python/perfetto/trace_processor/api.py
index 62259c5..a5efbcd 100644
--- a/python/perfetto/trace_processor/api.py
+++ b/python/perfetto/trace_processor/api.py
@@ -45,16 +45,19 @@
   bin_path: Optional[str]
   unique_port: bool
   verbose: bool
+  ingest_ftrace_in_raw: bool
   resolver_registry: Optional[ResolverRegistry]
 
   def __init__(self,
                bin_path: Optional[str] = None,
                unique_port: bool = True,
                verbose: bool = False,
+               ingest_ftrace_in_raw: bool = False,
                resolver_registry: Optional[ResolverRegistry] = None):
     self.bin_path = bin_path
     self.unique_port = unique_port
     self.verbose = verbose
+    self.ingest_ftrace_in_raw = ingest_ftrace_in_raw
     self.resolver_registry = resolver_registry
 
 
@@ -127,10 +130,8 @@
           break
         batch_index += 1
 
-      # If there are no rows in the query result, exit since
-      # we won't be returning anything and don't need to go
-      # through the process of generating the mapping between
-      # columns and data_list indices
+      # If there are no rows in the query result, don't bother updating the
+      # counts to avoid dealing with / 0 errors.
       if len(self.__cells) == 0:
         return
 
@@ -320,6 +321,7 @@
     url, self.subprocess = load_shell(self.config.bin_path,
                                       self.config.unique_port,
                                       self.config.verbose,
+                                      self.config.ingest_ftrace_in_raw,
                                       self.platform_delegate)
     return TraceProcessorHttp(url, protos=self.protos)
 
@@ -337,7 +339,10 @@
 
     resolved = resolved_lst[0]
     for chunk in resolved.generator:
-      self.http.parse(chunk)
+      result = self.http.parse(chunk)
+      if result.error:
+        raise TraceProcessorException(
+            f'Failed while parsing trace. Error message: {result.error}')
     self.http.notify_eof()
 
   def __enter__(self):
diff --git a/python/perfetto/trace_processor/http.py b/python/perfetto/trace_processor/http.py
index 71db4ab..9c6c780 100644
--- a/python/perfetto/trace_processor/http.py
+++ b/python/perfetto/trace_processor/http.py
@@ -48,7 +48,9 @@
   def parse(self, chunk: bytes):
     self.conn.request('POST', '/parse', body=chunk)
     with self.conn.getresponse() as f:
-      return f.read()
+      result = self.protos.AppendTraceDataResult()
+      result.ParseFromString(f.read())
+      return result
 
   def notify_eof(self):
     self.conn.request('GET', '/notify_eof')
diff --git a/python/perfetto/trace_processor/metrics.descriptor b/python/perfetto/trace_processor/metrics.descriptor
index 1b9135c..da768fc 100644
--- a/python/perfetto/trace_processor/metrics.descriptor
+++ b/python/perfetto/trace_processor/metrics.descriptor
Binary files differ
diff --git a/python/perfetto/trace_processor/protos.py b/python/perfetto/trace_processor/protos.py
index 3a844ea..2eb0af3 100644
--- a/python/perfetto/trace_processor/protos.py
+++ b/python/perfetto/trace_processor/protos.py
@@ -47,6 +47,8 @@
 
     # Create proto messages to correctly communicate with the RPC API by sending
     # and receiving data as protos
+    self.AppendTraceDataResult = create_message_factory(
+        'perfetto.protos.AppendTraceDataResult')
     self.StatusResult = create_message_factory('perfetto.protos.StatusResult')
     self.ComputeMetricArgs = create_message_factory(
         'perfetto.protos.ComputeMetricArgs')
diff --git a/python/perfetto/trace_processor/shell.py b/python/perfetto/trace_processor/shell.py
index a7c997d..93f8bd0 100644
--- a/python/perfetto/trace_processor/shell.py
+++ b/python/perfetto/trace_processor/shell.py
@@ -26,7 +26,7 @@
 
 
 def load_shell(bin_path: str, unique_port: bool, verbose: bool,
-               platform_delegate: PlatformDelegate):
+               ingest_ftrace_in_raw: bool, platform_delegate: PlatformDelegate):
   addr, port = platform_delegate.get_bind_addr(
       port=0 if unique_port else TP_PORT)
   url = f'{addr}:{str(port)}'
@@ -37,8 +37,12 @@
   else:
     tp_exec = [shell_path]
 
+  args = ['-D', '--http-port', str(port)]
+  if not ingest_ftrace_in_raw:
+    args.append('--no-ftrace-raw')
+
   p = subprocess.Popen(
-      tp_exec + ['-D', '--http-port', str(port)],
+      tp_exec + args,
       stdout=subprocess.DEVNULL,
       stderr=None if verbose else subprocess.DEVNULL)
 
diff --git a/python/perfetto/trace_uri_resolver/util.py b/python/perfetto/trace_uri_resolver/util.py
index 673d688..116be38 100644
--- a/python/perfetto/trace_uri_resolver/util.py
+++ b/python/perfetto/trace_uri_resolver/util.py
@@ -15,8 +15,8 @@
 import os
 from typing import BinaryIO, Dict, Optional, Tuple
 
-# Limit parsing file to 32MB to maintain parity with the UI
-MAX_BYTES_LOADED = 32 * 1024 * 1024
+# Limit parsing file to 1MB to maintain parity with the UI
+MAX_BYTES_LOADED = 1 * 1024 * 1024
 
 
 def file_generator(path: str):
diff --git a/python/perfetto/util.py b/python/perfetto/util.py
deleted file mode 100644
index b87562a..0000000
--- a/python/perfetto/util.py
+++ /dev/null
@@ -1,19 +0,0 @@
-def _file_generator(path: str):
-  with open(path, 'rb') as f:
-    yield from _read_generator(f)
-
-
-# Limit parsing file to 32MB to maintain parity with the UI
-MAX_BYTES_LOADED = 32 * 1024 * 1024
-
-
-def _read_generator(trace: BinaryIO):
-  while True:
-    chunk = trace.read(MAX_BYTES_LOADED)
-    if not chunk:
-      break
-    yield chunk
-
-
-def _merge_dicts(a: Dict[str, str], b: Dict[str, str]):
-  return {**a, **b}
diff --git a/python/test/api_integrationtest.py b/python/test/api_integrationtest.py
index 686aad7..d4755b7 100644
--- a/python/test/api_integrationtest.py
+++ b/python/test/api_integrationtest.py
@@ -22,7 +22,9 @@
 from perfetto.batch_trace_processor.api import BatchTraceProcessor
 from perfetto.batch_trace_processor.api import BatchTraceProcessorConfig
 from perfetto.batch_trace_processor.api import TraceListReference
-from perfetto.trace_processor.api import PLATFORM_DELEGATE, TraceProcessor
+from perfetto.trace_processor.api import PLATFORM_DELEGATE
+from perfetto.trace_processor.api import TraceProcessor
+from perfetto.trace_processor.api import TraceProcessorException
 from perfetto.trace_processor.api import TraceProcessorConfig
 from perfetto.trace_processor.api import TraceReference
 from perfetto.trace_uri_resolver.resolver import TraceUriResolver
@@ -109,6 +111,11 @@
 
 class TestApi(unittest.TestCase):
 
+  def test_invalid_trace(self):
+    f = io.BytesIO(b'<foo></foo>')
+    with self.assertRaises(TraceProcessorException):
+      _ = create_tp(trace=f)
+
   def test_trace_path(self):
     # Get path to trace_processor_shell and construct TraceProcessor
     tp = create_tp(trace=example_android_trace_path())
diff --git a/src/base/event_fd.cc b/src/base/event_fd.cc
index 0856818..135a59b 100644
--- a/src/base/event_fd.cc
+++ b/src/base/event_fd.cc
@@ -74,7 +74,8 @@
 
 void EventFd::Clear() {
   uint64_t value;
-  ssize_t ret = read(event_handle_.get(), &value, sizeof(value));
+  ssize_t ret =
+      PERFETTO_EINTR(read(event_handle_.get(), &value, sizeof(value)));
   if (ret <= 0 && errno != EAGAIN)
     PERFETTO_DFATAL("EventFd::Clear()");
 }
@@ -100,7 +101,8 @@
   // Drain the byte(s) written to the wake-up pipe. We can potentially read
   // more than one byte if several wake-ups have been scheduled.
   char buffer[16];
-  ssize_t ret = read(event_handle_.get(), &buffer[0], sizeof(buffer));
+  ssize_t ret =
+      PERFETTO_EINTR(read(event_handle_.get(), &buffer[0], sizeof(buffer)));
   if (ret <= 0 && errno != EAGAIN)
     PERFETTO_DFATAL("EventFd::Clear()");
 }
diff --git a/src/base/string_utils.cc b/src/base/string_utils.cc
index 5efca77..7e98ecd 100644
--- a/src/base/string_utils.cc
+++ b/src/base/string_utils.cc
@@ -205,11 +205,6 @@
   return str;
 }
 
-std::string TrimLeading(const std::string& str) {
-  size_t idx = str.find_first_not_of(' ');
-  return idx == std::string::npos ? str : str.substr(idx);
-}
-
 size_t SprintfTrunc(char* dst, size_t dst_size, const char* fmt, ...) {
   if (PERFETTO_UNLIKELY(dst_size) == 0)
     return 0;
diff --git a/src/base/string_utils_unittest.cc b/src/base/string_utils_unittest.cc
index 39803ff..9a885d1 100644
--- a/src/base/string_utils_unittest.cc
+++ b/src/base/string_utils_unittest.cc
@@ -296,13 +296,6 @@
   EXPECT_EQ(ReplaceAll("abc", "c", "bbb"), "abbbb");
 }
 
-TEST(StringUtilsTest, TrimLeading) {
-  EXPECT_EQ(TrimLeading(""), "");
-  EXPECT_EQ(TrimLeading("a"), "a");
-  EXPECT_EQ(TrimLeading(" aaaa"), "aaaa");
-  EXPECT_EQ(TrimLeading(" aaaaa     "), "aaaaa     ");
-}
-
 TEST(StringUtilsTest, StringCopy) {
   // Nothing should be written when |dst_size| = 0.
   {
diff --git a/src/base/subprocess_posix.cc b/src/base/subprocess_posix.cc
index 5e09544..fd32bb9 100644
--- a/src/base/subprocess_posix.cc
+++ b/src/base/subprocess_posix.cc
@@ -100,41 +100,49 @@
   if (getppid() == 1)
     die("terminating because parent process died");
 
-  if (dup2(args->stdin_pipe_rd, STDIN_FILENO) == -1)
-    die("Failed to dup2(STDIN)");
-  close(args->stdin_pipe_rd);
+  switch (args->create_args->stdin_mode) {
+    case Subprocess::InputMode::kBuffer:
+      if (dup2(args->stdin_pipe_rd, STDIN_FILENO) == -1)
+        die("Failed to dup2(STDIN)");
+      close(args->stdin_pipe_rd);
+      break;
+    case Subprocess::InputMode::kDevNull:
+      if (dup2(open("/dev/null", O_RDONLY), STDIN_FILENO) == -1)
+        die("Failed to dup2(STDOUT)");
+      break;
+  }
 
   switch (args->create_args->stdout_mode) {
-    case Subprocess::kInherit:
+    case Subprocess::OutputMode::kInherit:
       break;
-    case Subprocess::kDevNull: {
+    case Subprocess::OutputMode::kDevNull: {
       if (dup2(open("/dev/null", O_RDWR), STDOUT_FILENO) == -1)
         die("Failed to dup2(STDOUT)");
       break;
     }
-    case Subprocess::kBuffer:
+    case Subprocess::OutputMode::kBuffer:
       if (dup2(args->stdouterr_pipe_wr, STDOUT_FILENO) == -1)
         die("Failed to dup2(STDOUT)");
       break;
-    case Subprocess::kFd:
+    case Subprocess::OutputMode::kFd:
       if (dup2(*args->create_args->out_fd, STDOUT_FILENO) == -1)
         die("Failed to dup2(STDOUT)");
       break;
   }
 
   switch (args->create_args->stderr_mode) {
-    case Subprocess::kInherit:
+    case Subprocess::OutputMode::kInherit:
       break;
-    case Subprocess::kDevNull: {
+    case Subprocess::OutputMode::kDevNull: {
       if (dup2(open("/dev/null", O_RDWR), STDERR_FILENO) == -1)
         die("Failed to dup2(STDERR)");
       break;
     }
-    case Subprocess::kBuffer:
+    case Subprocess::OutputMode::kBuffer:
       if (dup2(args->stdouterr_pipe_wr, STDERR_FILENO) == -1)
         die("Failed to dup2(STDERR)");
       break;
-    case Subprocess::kFd:
+    case Subprocess::OutputMode::kFd:
       if (dup2(*args->create_args->out_fd, STDERR_FILENO) == -1)
         die("Failed to dup2(STDERR)");
       break;
@@ -220,8 +228,10 @@
   }
 
   // Setup the pipes for stdin/err redirection.
-  s_->stdin_pipe = base::Pipe::Create(base::Pipe::kWrNonBlock);
-  proc_args.stdin_pipe_rd = *s_->stdin_pipe.rd;
+  if (args.stdin_mode == InputMode::kBuffer) {
+    s_->stdin_pipe = base::Pipe::Create(base::Pipe::kWrNonBlock);
+    proc_args.stdin_pipe_rd = *s_->stdin_pipe.rd;
+  }
   s_->stdouterr_pipe = base::Pipe::Create(base::Pipe::kRdNonBlock);
   proc_args.stdouterr_pipe_wr = *s_->stdouterr_pipe.wr;
 
diff --git a/src/base/subprocess_unittest.cc b/src/base/subprocess_unittest.cc
index b52c804..6cebd1b 100644
--- a/src/base/subprocess_unittest.cc
+++ b/src/base/subprocess_unittest.cc
@@ -74,8 +74,8 @@
 #else
   Subprocess p({"sh", "-c", "(echo skip_err >&2); echo out_only"});
 #endif
-  p.args.stdout_mode = Subprocess::kBuffer;
-  p.args.stderr_mode = Subprocess::kDevNull;
+  p.args.stdout_mode = Subprocess::OutputMode::kBuffer;
+  p.args.stderr_mode = Subprocess::OutputMode::kDevNull;
 
   EXPECT_TRUE(p.Call());
   EXPECT_EQ(p.status(), Subprocess::kTerminated);
@@ -88,8 +88,8 @@
 #else
   Subprocess p({"sh", "-c", "(echo err_only >&2); echo skip_out"});
 #endif
-  p.args.stdout_mode = Subprocess::kDevNull;
-  p.args.stderr_mode = Subprocess::kBuffer;
+  p.args.stdout_mode = Subprocess::OutputMode::kDevNull;
+  p.args.stderr_mode = Subprocess::OutputMode::kBuffer;
   EXPECT_TRUE(p.Call());
   EXPECT_EQ(GetOutput(p), "err_only\n");
 }
@@ -100,12 +100,54 @@
 #else
   Subprocess p({"sh", "-c", "echo out; (echo err >&2); echo out2"});
 #endif
-  p.args.stdout_mode = Subprocess::kBuffer;
-  p.args.stderr_mode = Subprocess::kBuffer;
+  p.args.stdout_mode = Subprocess::OutputMode::kBuffer;
+  p.args.stderr_mode = Subprocess::OutputMode::kBuffer;
   EXPECT_TRUE(p.Call());
   EXPECT_EQ(GetOutput(p), "out\nerr\nout2\n");
 }
 
+TEST(SubprocessTest, CatInputModeDevNull) {
+  std::string ignored_input = "ignored input";
+#if PERFETTO_BUILDFLAG(PERFETTO_OS_WIN)
+  Subprocess p({"cmd", "/C", "findstr . || exit 0"});
+#else
+  Subprocess p({"cat", "-"});
+#endif
+  p.args.stdout_mode = Subprocess::OutputMode::kBuffer;
+  p.args.input = ignored_input;
+  p.args.stdin_mode = Subprocess::InputMode::kDevNull;
+  EXPECT_TRUE(p.Call());
+  EXPECT_EQ(p.status(), Subprocess::kTerminated);
+  EXPECT_EQ(GetOutput(p), "");
+}
+
+TEST(SubprocessTest, BothStdoutAndStderrInputModeDevNull) {
+#if PERFETTO_BUILDFLAG(PERFETTO_OS_WIN)
+  Subprocess p({"cmd", "/c", "echo out&&(echo err>&2)&&echo out2"});
+#else
+  Subprocess p({"sh", "-c", "echo out; (echo err >&2); echo out2"});
+#endif
+  p.args.stdout_mode = Subprocess::OutputMode::kBuffer;
+  p.args.stderr_mode = Subprocess::OutputMode::kBuffer;
+  p.args.stdin_mode = Subprocess::InputMode::kDevNull;
+  EXPECT_TRUE(p.Call());
+  EXPECT_EQ(GetOutput(p), "out\nerr\nout2\n");
+}
+
+TEST(SubprocessTest, AllDevNull) {
+#if PERFETTO_BUILDFLAG(PERFETTO_OS_WIN)
+  Subprocess p({"cmd", "/c", "(exit 1)"});
+#else
+  Subprocess p({"false"});
+#endif
+  p.args.stdout_mode = Subprocess::OutputMode::kDevNull;
+  p.args.stderr_mode = Subprocess::OutputMode::kDevNull;
+  p.args.stdin_mode = Subprocess::InputMode::kDevNull;
+  EXPECT_FALSE(p.Call());
+  EXPECT_EQ(p.status(), Subprocess::kTerminated);
+  EXPECT_EQ(p.returncode(), 1);
+}
+
 TEST(SubprocessTest, BinTrue) {
 #if PERFETTO_BUILDFLAG(PERFETTO_OS_WIN)
   Subprocess p({"cmd", "/c", "(exit 0)"});
@@ -134,7 +176,7 @@
 #else
   Subprocess p({"echo", "-n", "foobar"});
 #endif
-  p.args.stdout_mode = Subprocess::kBuffer;
+  p.args.stdout_mode = Subprocess::OutputMode::kBuffer;
   EXPECT_TRUE(p.Call());
   EXPECT_EQ(p.status(), Subprocess::kTerminated);
   EXPECT_EQ(p.returncode(), 0);
@@ -148,7 +190,7 @@
 #else
   Subprocess p({"cat", "-"});
 #endif
-  p.args.stdout_mode = Subprocess::kBuffer;
+  p.args.stdout_mode = Subprocess::OutputMode::kBuffer;
   p.args.input = contents;
   EXPECT_TRUE(p.Call());
   EXPECT_EQ(p.status(), Subprocess::kTerminated);
@@ -166,7 +208,7 @@
 #else
   Subprocess p({"cat", tf.path().c_str()});
 #endif
-  p.args.stdout_mode = Subprocess::kBuffer;
+  p.args.stdout_mode = Subprocess::OutputMode::kBuffer;
   EXPECT_TRUE(p.Call());
   EXPECT_EQ(GetOutput(p), contents);
 }
@@ -174,7 +216,7 @@
 TEST(SubprocessTest, Timeout) {
 #if PERFETTO_BUILDFLAG(PERFETTO_OS_WIN)
   Subprocess p({"ping", "127.0.0.1", "-n", "60"});
-  p.args.stdout_mode = Subprocess::kDevNull;
+  p.args.stdout_mode = Subprocess::OutputMode::kDevNull;
 #else
   Subprocess p({"sleep", "60"});
 #endif
@@ -187,7 +229,7 @@
 TEST(SubprocessTest, TimeoutNotHit) {
 #if PERFETTO_BUILDFLAG(PERFETTO_OS_WIN)
   Subprocess p({"ping", "127.0.0.1", "-n", "1"});
-  p.args.stdout_mode = Subprocess::kDevNull;
+  p.args.stdout_mode = Subprocess::OutputMode::kDevNull;
 #else
   Subprocess p({"sleep", "0.01"});
 #endif
@@ -201,7 +243,7 @@
 #else
   Subprocess p({"sh", "-c", "while true; do echo stuff; done"});
 #endif
-  p.args.stdout_mode = Subprocess::kDevNull;
+  p.args.stdout_mode = Subprocess::OutputMode::kDevNull;
   EXPECT_FALSE(p.Call(/*timeout_ms=*/10));
   EXPECT_EQ(p.status(), Subprocess::kTerminated);
   EXPECT_TRUE(p.timed_out());
@@ -214,8 +256,8 @@
   // 'sh -c' is to avoid closing stdin (sleep closes it before sleeping).
   Subprocess p({"sh", "-c", "sleep 0.01"});
 #endif
-  p.args.stdout_mode = Subprocess::kDevNull;
-  p.args.stderr_mode = Subprocess::kDevNull;
+  p.args.stdout_mode = Subprocess::OutputMode::kDevNull;
+  p.args.stderr_mode = Subprocess::OutputMode::kDevNull;
   p.args.input = GenLargeString();
   EXPECT_TRUE(p.Call());
   EXPECT_EQ(p.status(), Subprocess::kTerminated);
@@ -232,8 +274,8 @@
   // still handle the timeout properly.
   Subprocess p({"sh", "-c", "sleep 10"});
 #endif
-  p.args.stdout_mode = Subprocess::kDevNull;
-  p.args.stderr_mode = Subprocess::kDevNull;
+  p.args.stdout_mode = Subprocess::OutputMode::kDevNull;
+  p.args.stderr_mode = Subprocess::OutputMode::kDevNull;
   p.args.input = GenLargeString();
   EXPECT_FALSE(p.Call(/*timeout_ms=*/10));
   EXPECT_EQ(p.status(), Subprocess::kTerminated);
@@ -246,7 +288,7 @@
 #else
   Subprocess p({"sleep", "1000"});
 #endif
-  p.args.stdout_mode = Subprocess::kDevNull;
+  p.args.stdout_mode = Subprocess::OutputMode::kDevNull;
   p.Start();
   EXPECT_EQ(p.Poll(), Subprocess::kRunning);
   p.KillAndWaitForTermination();
@@ -267,7 +309,7 @@
 #else
   Subprocess p({"true"});
 #endif
-  p.args.stdout_mode = Subprocess::kFd;
+  p.args.stdout_mode = Subprocess::OutputMode::kFd;
   p.args.out_fd = std::move(pipe.wr);
   p.Start();
 
@@ -296,7 +338,7 @@
 #else
   Subprocess p({"sh", "-c", "echo exec_done; while true; do true; done"});
 #endif
-  p.args.stdout_mode = Subprocess::kBuffer;
+  p.args.stdout_mode = Subprocess::OutputMode::kBuffer;
   p.Start();
 
   // Wait for the fork()+exec() to complete.
@@ -365,7 +407,7 @@
 #else
     Subprocess initial = Subprocess({"sleep", "10000"});
 #endif
-    initial.args.stdout_mode = Subprocess::kDevNull;
+    initial.args.stdout_mode = Subprocess::OutputMode::kDevNull;
     initial.Start();
     Subprocess moved(std::move(initial));
     EXPECT_EQ(moved.Poll(), Subprocess::kRunning);
@@ -379,7 +421,7 @@
 #endif
     initial.args.stdout_mode = Subprocess::OutputMode::kBuffer;
     initial.Start();
-    initial.Wait(/*timeout=*/5000);
+    initial.Wait(/*timeout_ms=*/5000);
     EXPECT_EQ(initial.status(), Subprocess::kTerminated);
     EXPECT_EQ(initial.returncode(), 0);
     EXPECT_EQ(initial.output(), "hello");
@@ -406,7 +448,7 @@
 TEST(SubprocessTest, Entrypoint) {
   Subprocess p;
   p.args.input = "ping\n";
-  p.args.stdout_mode = Subprocess::kBuffer;
+  p.args.stdout_mode = Subprocess::OutputMode::kBuffer;
   p.args.posix_entrypoint_for_testing = [] {
     char buf[32]{};
     PERFETTO_CHECK(fgets(buf, sizeof(buf), stdin));
@@ -428,7 +470,7 @@
   int pipe2_wr = *pipe2.wr;
 
   Subprocess p({"echo", "123"});
-  p.args.stdout_mode = Subprocess::kBuffer;
+  p.args.stdout_mode = Subprocess::OutputMode::kBuffer;
   p.args.preserve_fds.push_back(pipe2_wr);
   p.args.posix_entrypoint_for_testing = [pipe1_wr, pipe2_wr] {
     base::ignore_result(write(pipe1_wr, "fail", 4));
diff --git a/src/base/subprocess_windows.cc b/src/base/subprocess_windows.cc
index d58d7bd..1264655 100644
--- a/src/base/subprocess_windows.cc
+++ b/src/base/subprocess_windows.cc
@@ -61,22 +61,26 @@
   if (!cmd.empty())
     cmd.resize(cmd.size() - 1);
 
-  s_->stdin_pipe = Pipe::Create();
-  // Allow the child process to inherit the other end of the pipe.
-  PERFETTO_CHECK(
-      ::SetHandleInformation(*s_->stdin_pipe.rd, HANDLE_FLAG_INHERIT, 1));
+  if (args.stdin_mode == InputMode::kBuffer) {
+    s_->stdin_pipe = Pipe::Create();
+    // Allow the child process to inherit the other end of the pipe.
+    PERFETTO_CHECK(
+        ::SetHandleInformation(*s_->stdin_pipe.rd, HANDLE_FLAG_INHERIT, 1));
+  }
 
-  if (args.stderr_mode == kBuffer || args.stdout_mode == kBuffer) {
+  if (args.stderr_mode == OutputMode::kBuffer ||
+      args.stdout_mode == OutputMode::kBuffer) {
     s_->stdouterr_pipe = Pipe::Create();
     PERFETTO_CHECK(
         ::SetHandleInformation(*s_->stdouterr_pipe.wr, HANDLE_FLAG_INHERIT, 1));
   }
 
   ScopedPlatformHandle nul_handle;
-  if (args.stderr_mode == kDevNull || args.stdout_mode == kDevNull) {
-    nul_handle.reset(::CreateFileA("NUL", GENERIC_WRITE, FILE_SHARE_WRITE,
-                                   nullptr, OPEN_EXISTING,
-                                   FILE_ATTRIBUTE_NORMAL, nullptr));
+  if (args.stderr_mode == OutputMode::kDevNull ||
+      args.stdout_mode == OutputMode::kDevNull) {
+    nul_handle.reset(::CreateFileA(
+        "NUL", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE,
+        nullptr, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, nullptr));
     PERFETTO_CHECK(::SetHandleInformation(*nul_handle, HANDLE_FLAG_INHERIT, 1));
   }
 
@@ -84,13 +88,13 @@
   STARTUPINFOA start_info{};
   start_info.cb = sizeof(STARTUPINFOA);
 
-  if (args.stderr_mode == kInherit) {
+  if (args.stderr_mode == OutputMode::kInherit) {
     start_info.hStdError = ::GetStdHandle(STD_ERROR_HANDLE);
-  } else if (args.stderr_mode == kBuffer) {
+  } else if (args.stderr_mode == OutputMode::kBuffer) {
     start_info.hStdError = *s_->stdouterr_pipe.wr;
-  } else if (args.stderr_mode == kDevNull) {
+  } else if (args.stderr_mode == OutputMode::kDevNull) {
     start_info.hStdError = *nul_handle;
-  } else if (args.stderr_mode == kFd) {
+  } else if (args.stderr_mode == OutputMode::kFd) {
     PERFETTO_CHECK(
         ::SetHandleInformation(*args.out_fd, HANDLE_FLAG_INHERIT, 1));
     start_info.hStdError = *args.out_fd;
@@ -98,13 +102,13 @@
     PERFETTO_CHECK(false);
   }
 
-  if (args.stdout_mode == kInherit) {
+  if (args.stdout_mode == OutputMode::kInherit) {
     start_info.hStdOutput = ::GetStdHandle(STD_OUTPUT_HANDLE);
-  } else if (args.stdout_mode == kBuffer) {
+  } else if (args.stdout_mode == OutputMode::kBuffer) {
     start_info.hStdOutput = *s_->stdouterr_pipe.wr;
-  } else if (args.stdout_mode == kDevNull) {
+  } else if (args.stdout_mode == OutputMode::kDevNull) {
     start_info.hStdOutput = *nul_handle;
-  } else if (args.stdout_mode == kFd) {
+  } else if (args.stdout_mode == OutputMode::kFd) {
     PERFETTO_CHECK(
         ::SetHandleInformation(*args.out_fd, HANDLE_FLAG_INHERIT, 1));
     start_info.hStdOutput = *args.out_fd;
@@ -112,7 +116,12 @@
     PERFETTO_CHECK(false);
   }
 
-  start_info.hStdInput = *s_->stdin_pipe.rd;
+  if (args.stdin_mode == InputMode::kBuffer) {
+    start_info.hStdInput = *s_->stdin_pipe.rd;
+  } else if (args.stdin_mode == InputMode::kDevNull) {
+    start_info.hStdInput = *nul_handle;
+  }
+
   start_info.dwFlags |= STARTF_USESTDHANDLES;
 
   // Create the child process.
@@ -149,9 +158,12 @@
   s_->status = kRunning;
 
   MovableState* s = s_.get();
-  s_->stdin_thread = std::thread(&Subprocess::StdinThread, s, args.input);
+  if (args.stdin_mode == InputMode::kBuffer) {
+    s_->stdin_thread = std::thread(&Subprocess::StdinThread, s, args.input);
+  }
 
-  if (args.stderr_mode == kBuffer || args.stdout_mode == kBuffer) {
+  if (args.stderr_mode == OutputMode::kBuffer ||
+      args.stdout_mode == OutputMode::kBuffer) {
     PERFETTO_DCHECK(s_->stdouterr_pipe.rd);
     s_->stdouterr_thread = std::thread(&Subprocess::StdoutErrThread, s);
   }
@@ -222,14 +234,14 @@
   const int64_t wait_start_ms = base::GetWallTimeMs().count();
 
   // Break out of the loop only after both conditions are satisfied:
-  // - All stdout/stderr data has been read (if kBuffer).
+  // - All stdout/stderr data has been read (if OutputMode::kBuffer).
   // - The process exited.
   // Note that the two events can happen arbitrary order. After the process
   // exits, there might be still data in the pipe buffer, which we want to
   // read fully.
   // Note also that stdout/err might be "complete" before starting, if neither
-  // is operating in kBuffer mode. In that case we just want to wait for the
-  // process termination.
+  // is operating in OutputMode::kBuffer mode. In that case we just want to wait
+  // for the process termination.
   //
   // Instead, don't wait on the stdin to be fully written. The child process
   // might exit prematurely (or crash). If that happens, we can end up in a
diff --git a/src/perfetto_cmd/BUILD.gn b/src/perfetto_cmd/BUILD.gn
index 9cfe232..74ca8fb 100644
--- a/src/perfetto_cmd/BUILD.gn
+++ b/src/perfetto_cmd/BUILD.gn
@@ -82,8 +82,8 @@
 }
 
 perfetto_cc_proto_descriptor("gen_cc_config_descriptor") {
-  descriptor_name = "perfetto_config.descriptor"
-  descriptor_target = "../../protos/perfetto/config:merged_config_descriptor"
+  descriptor_name = "config.descriptor"
+  descriptor_target = "../../protos/perfetto/config:descriptor"
 }
 
 source_set("trigger_perfetto_cmd") {
diff --git a/src/perfetto_cmd/pbtxt_to_pb.cc b/src/perfetto_cmd/pbtxt_to_pb.cc
index 7420502..2c7b67a 100644
--- a/src/perfetto_cmd/pbtxt_to_pb.cc
+++ b/src/perfetto_cmd/pbtxt_to_pb.cc
@@ -33,7 +33,7 @@
 #include "perfetto/protozero/message.h"
 #include "perfetto/protozero/message_handle.h"
 #include "perfetto/protozero/scattered_heap_buffer.h"
-#include "src/perfetto_cmd/perfetto_config.descriptor.h"
+#include "src/perfetto_cmd/config.descriptor.h"
 
 #include "protos/perfetto/common/descriptor.gen.h"
 
@@ -707,8 +707,7 @@
 
   {
     file_descriptor_set.ParseFromArray(
-        kPerfettoConfigDescriptor.data(),
-        static_cast<int>(kPerfettoConfigDescriptor.size()));
+        kConfigDescriptor.data(), static_cast<int>(kConfigDescriptor.size()));
     for (const auto& file_descriptor : file_descriptor_set.file()) {
       for (const auto& enum_descriptor : file_descriptor.enum_type()) {
         const std::string name =
diff --git a/src/perfetto_cmd/perfetto_cmd.cc b/src/perfetto_cmd/perfetto_cmd.cc
index e104296..83d76c0 100644
--- a/src/perfetto_cmd/perfetto_cmd.cc
+++ b/src/perfetto_cmd/perfetto_cmd.cc
@@ -64,6 +64,7 @@
 #include "src/perfetto_cmd/pbtxt_to_pb.h"
 #include "src/perfetto_cmd/trigger_producer.h"
 
+#include "protos/perfetto/common/ftrace_descriptor.gen.h"
 #include "protos/perfetto/common/tracing_service_state.gen.h"
 #include "protos/perfetto/common/track_event_descriptor.gen.h"
 
@@ -1224,13 +1225,21 @@
            producer_id_and_name);
     // Print the category names for clients using the track event SDK.
     if (!ds.ds_descriptor().track_event_descriptor_raw().empty()) {
-      auto raw = ds.ds_descriptor().track_event_descriptor_raw();
-      perfetto::protos::gen::TrackEventDescriptor desc;
+      const std::string& raw = ds.ds_descriptor().track_event_descriptor_raw();
+      protos::gen::TrackEventDescriptor desc;
       if (desc.ParseFromArray(raw.data(), raw.size())) {
         for (const auto& cat : desc.available_categories()) {
           printf("%s,", cat.name().c_str());
         }
       }
+    } else if (!ds.ds_descriptor().ftrace_descriptor_raw().empty()) {
+      const std::string& raw = ds.ds_descriptor().ftrace_descriptor_raw();
+      protos::gen::FtraceDescriptor desc;
+      if (desc.ParseFromArray(raw.data(), raw.size())) {
+        for (const auto& cat : desc.atrace_categories()) {
+          printf("%s,", cat.name().c_str());
+        }
+      }
     }
     printf("\n");
   }  // for data_sources()
@@ -1260,7 +1269,8 @@
     }  // for tracing_sessions()
 
     int sessions_listed = static_cast<int>(svc_state.tracing_sessions().size());
-    if (sessions_listed != svc_state.num_sessions() && geteuid() != 0) {
+    if (sessions_listed != svc_state.num_sessions() &&
+        base::GetCurrentUserId() != 0) {
       printf(
           "\n"
           "NOTE: Some tracing sessions are not reported in the list above.\n"
diff --git a/src/profiling/common/callstack_trie.h b/src/profiling/common/callstack_trie.h
index f8ca304..f5d2378 100644
--- a/src/profiling/common/callstack_trie.h
+++ b/src/profiling/common/callstack_trie.h
@@ -184,6 +184,8 @@
 
   uint64_t next_callstack_id_ = 0;
 
+  // Note: profile_module in trace processor relies on the value of this root
+  // callsite being exactly "1". See the perf_sample parsing code.
   Node root_{MakeRootFrame(), ++next_callstack_id_};
 };
 
diff --git a/src/profiling/memory/BUILD.gn b/src/profiling/memory/BUILD.gn
index 5400d07..34c6263 100644
--- a/src/profiling/memory/BUILD.gn
+++ b/src/profiling/memory/BUILD.gn
@@ -181,7 +181,6 @@
     ":wire_protocol",
     "../../../gn:default_deps",
     "../../base",
-    "../common:proc_utils",
   ]
   sources = [ "client_api.cc" ]
 }
@@ -296,7 +295,6 @@
     "../../../gn:default_deps",
     "../../base",
     "../../base:unix_socket",
-    "../common:proc_utils",
   ]
   public_deps = [ "../../../gn:libunwindstack" ]
   sources = [
diff --git a/src/profiling/memory/client_api.cc b/src/profiling/memory/client_api.cc
index 6ec2a61..0d46ac2 100644
--- a/src/profiling/memory/client_api.cc
+++ b/src/profiling/memory/client_api.cc
@@ -28,17 +28,14 @@
 #include <atomic>
 #include <cinttypes>
 #include <memory>
-#include <tuple>
 #include <type_traits>
 
 #include "perfetto/base/build_config.h"
 #include "perfetto/base/logging.h"
-#include "perfetto/ext/base/no_destructor.h"
 #include "perfetto/ext/base/string_utils.h"
 #include "perfetto/ext/base/unix_socket.h"
 #include "perfetto/ext/base/utils.h"
 
-#include "src/profiling/common/proc_utils.h"
 #include "src/profiling/memory/client.h"
 #include "src/profiling/memory/client_api_factory.h"
 #include "src/profiling/memory/scoped_spinlock.h"
diff --git a/src/profiling/memory/client_api_factory_android.cc b/src/profiling/memory/client_api_factory_android.cc
index 370dd60..16c3a25 100644
--- a/src/profiling/memory/client_api_factory_android.cc
+++ b/src/profiling/memory/client_api_factory_android.cc
@@ -27,7 +27,6 @@
 #include "perfetto/base/build_config.h"
 #include "perfetto/ext/base/optional.h"
 #include "perfetto/ext/base/unix_socket.h"
-#include "src/profiling/common/proc_utils.h"
 #include "src/profiling/memory/client.h"
 
 #if !PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
diff --git a/src/profiling/memory/client_api_factory_standalone.cc b/src/profiling/memory/client_api_factory_standalone.cc
index 799c44b..55a77bb 100644
--- a/src/profiling/memory/client_api_factory_standalone.cc
+++ b/src/profiling/memory/client_api_factory_standalone.cc
@@ -51,19 +51,27 @@
 
 base::UnixSocketRaw* g_client_sock;
 
+bool MonitorFdOnce() {
+  char buf[1];
+  ssize_t r = g_client_sock->Receive(buf, sizeof(buf));
+  if (r == 0) {
+    PERFETTO_ELOG("Server disconneced.");
+    return false;
+  }
+  if (r < 0) {
+    PERFETTO_PLOG("Receive failed.");
+    return true;
+  }
+  AHeapProfile_initSession(malloc, free);
+  return true;
+}
+
 void MonitorFd() {
   g_client_sock->DcheckIsBlocking(true);
   for (;;) {
-    char buf[1];
-    ssize_t r = g_client_sock->Receive(buf, sizeof(buf));
-    if (r >= 1) {
-      AHeapProfile_initSession(malloc, free);
-    } else if (r == 0) {
-      PERFETTO_ELOG("Server disconneced.");
+    bool cont = MonitorFdOnce();
+    if (!cont)
       break;
-    } else {
-      PERFETTO_PLOG("Receive failed.");
-    }
   }
 }
 
@@ -101,6 +109,13 @@
       PERFETTO_PLOG("waitpid");
 
     *g_client_sock = std::move(cli_sock);
+
+    const char* w = getenv("PERFETTO_HEAPPROFD_BLOCKING_INIT");
+    if (w && w[0] == '1') {
+      g_client_sock->DcheckIsBlocking(true);
+      MonitorFdOnce();
+    }
+
     std::thread th(MonitorFd);
     th.detach();
     return;
diff --git a/src/protozero/protoc_plugin/protozero_plugin.cc b/src/protozero/protoc_plugin/protozero_plugin.cc
index 311672a..feabdf1 100644
--- a/src/protozero/protoc_plugin/protozero_plugin.cc
+++ b/src/protozero/protoc_plugin/protozero_plugin.cc
@@ -779,6 +779,10 @@
 
     GenerateConstantsForMessageFields(message);
 
+    stub_h_->Print(
+        "static constexpr const char* GetName() { return \".$name$\"; }\n\n",
+        "name", message->full_name());
+
     // Using statements for nested messages.
     for (int i = 0; i < message->nested_type_count(); ++i) {
       const Descriptor* nested_message = message->nested_type(i);
@@ -848,7 +852,7 @@
 // It is declared as a function to keep protozero bindings header-only as
 // inline constexpr variables are not available until C++17 (while inline
 // functions are).
-// TODO(altimin): Use inline variable instead after adopting C++17.  
+// TODO(altimin): Use inline variable instead after adopting C++17.
 static constexpr $field_metadata_type$ $field_metadata_var$() { return {}; }
 )";
 
diff --git a/src/trace_processor/dynamic/ancestor_generator.cc b/src/trace_processor/dynamic/ancestor_generator.cc
index c126ced..1621a37 100644
--- a/src/trace_processor/dynamic/ancestor_generator.cc
+++ b/src/trace_processor/dynamic/ancestor_generator.cc
@@ -20,6 +20,7 @@
 #include <set>
 
 #include "src/trace_processor/types/trace_processor_context.h"
+#include "src/trace_processor/util/status_macros.h"
 
 namespace perfetto {
 namespace trace_processor {
@@ -50,18 +51,13 @@
 }
 
 template <typename T>
-base::Optional<RowMap> BuildAncestorsRowMap(const T& table,
-                                            typename T::Id starting_id) {
+base::Status BuildAncestorsRowMap(const T& table,
+                                  typename T::Id starting_id,
+                                  RowMap& rowmap_return) {
   auto start_row = table.id().IndexOf(starting_id);
-
   if (!start_row) {
-    // TODO(lalitm): Ideally this should result in an error, or be filtered out
-    // during ValidateConstraints so we can just dereference |start_row|
-    // directly. However ValidateConstraints doesn't know the value we're
-    // filtering for so can't ensure it exists. For now we return a nullptr
-    // which will cause the query to surface an error with the message "SQL
-    // error: constraint failed".
-    return base::nullopt;
+    return base::ErrStatus("no row with id %" PRIu32 "",
+                           static_cast<uint32_t>(starting_id.value));
   }
 
   std::vector<uint32_t> parent_rows;
@@ -72,23 +68,25 @@
     // Update the loop variable by looking up the next parent_id.
     maybe_parent_id = table.parent_id()[parent_row];
   }
-  return RowMap(std::move(parent_rows));
+  rowmap_return = RowMap{parent_rows};
+  return base::OkStatus();
 }
 
 // Constraint_value is used to construct the hidden column "start_id"
 // needed by SQL.
 // Starting_id refers to the id that is used to generate the ancestors.
 template <typename T>
-std::unique_ptr<Table> BuildAncestorsTable(int64_t constraint_value,
-                                           const T& table,
-                                           typename T::Id starting_id) {
+base::Status BuildAncestorsTable(int64_t constraint_value,
+                                 const T& table,
+                                 typename T::Id starting_id,
+                                 std::unique_ptr<Table>& table_return) {
   // Build up all the parents row ids.
-  auto ancestors = BuildAncestorsRowMap(table, starting_id);
-  if (!ancestors) {
-    return nullptr;
-  }
-  return std::unique_ptr<Table>(new Table(ExtendTableWithStartId(
-      table.Apply(std::move(*ancestors)), constraint_value)));
+  RowMap ancestors;
+  RETURN_IF_ERROR(BuildAncestorsRowMap(table, starting_id, ancestors));
+
+  table_return.reset(new Table(ExtendTableWithStartId(
+      table.Apply(std::move(ancestors)), constraint_value)));
+  return base::OkStatus();
 }
 }  // namespace
 
@@ -96,7 +94,7 @@
                                      TraceProcessorContext* context)
     : type_(type), context_(context) {}
 
-util::Status AncestorGenerator::ValidateConstraints(
+base::Status AncestorGenerator::ValidateConstraints(
     const QueryConstraints& qc) {
   const auto& cs = qc.constraints();
 
@@ -105,32 +103,46 @@
     return c.column == column && c.op == SQLITE_INDEX_CONSTRAINT_EQ;
   };
   bool has_id_cs = std::find_if(cs.begin(), cs.end(), id_fn) != cs.end();
-  return has_id_cs ? util::OkStatus()
-                   : util::ErrStatus("Failed to find required constraints");
+  return has_id_cs ? base::OkStatus()
+                   : base::ErrStatus("Failed to find required constraints");
 }
 
-std::unique_ptr<Table> AncestorGenerator::ComputeTable(
+base::Status AncestorGenerator::ComputeTable(
     const std::vector<Constraint>& cs,
     const std::vector<Order>&,
-    const BitVector&) {
+    const BitVector&,
+    std::unique_ptr<Table>& table_return) {
   uint32_t column = GetConstraintColumnIndex(type_, context_);
-  auto it = std::find_if(cs.begin(), cs.end(), [column](const Constraint& c) {
-    return c.col_idx == column && c.op == FilterOp::kEq;
-  });
-  PERFETTO_DCHECK(it != cs.end());
-  auto start_id = it->value.AsLong();
+  auto constraint_it =
+      std::find_if(cs.begin(), cs.end(), [column](const Constraint& c) {
+        return c.col_idx == column && c.op == FilterOp::kEq;
+      });
+  PERFETTO_DCHECK(constraint_it != cs.end());
+  if (constraint_it == cs.end() ||
+      constraint_it->value.type != SqlValue::Type::kLong) {
+    return base::ErrStatus("invalid start_id");
+  }
+  auto start_id = constraint_it->value.AsLong();
 
   switch (type_) {
-    case Ancestor::kSlice:
-      return BuildAncestorsTable(
+    case Ancestor::kSlice: {
+      RETURN_IF_ERROR(BuildAncestorsTable(
           /* constraint_id = */ start_id, context_->storage->slice_table(),
-          /* starting_id = */ SliceId(static_cast<uint32_t>(start_id)));
-    case Ancestor::kStackProfileCallsite:
-      return BuildAncestorsTable(
+          /* starting_id = */ SliceId(static_cast<uint32_t>(start_id)),
+          table_return));
+      return base::OkStatus();
+    }
+
+    case Ancestor::kStackProfileCallsite: {
+      RETURN_IF_ERROR(BuildAncestorsTable(
           /* constraint_id = */ start_id,
           context_->storage->stack_profile_callsite_table(),
-          /* starting_id = */ CallsiteId(static_cast<uint32_t>(start_id)));
-    case Ancestor::kSliceByStack:
+          /* starting_id = */ CallsiteId(static_cast<uint32_t>(start_id)),
+          table_return));
+      return base::OkStatus();
+    }
+
+    case Ancestor::kSliceByStack: {
       // Find the all slice ids that have the stack id and find all the
       // ancestors of the slice ids.
       const auto& slice_table = context_->storage->slice_table();
@@ -148,10 +160,12 @@
         }
       }
 
-      return std::unique_ptr<Table>(new Table(ExtendTableWithStartId(
+      table_return.reset(new Table(ExtendTableWithStartId(
           slice_table.Apply(std::move(result)), start_id)));
+      return base::OkStatus();
+    }
   }
-  return nullptr;
+  return base::ErrStatus("unknown AncestorGenerator type");
 }
 
 Table::Schema AncestorGenerator::CreateSchema() {
@@ -193,7 +207,11 @@
 base::Optional<RowMap> AncestorGenerator::GetAncestorSlices(
     const tables::SliceTable& slices,
     SliceId slice_id) {
-  return BuildAncestorsRowMap(slices, slice_id);
+  RowMap ret;
+  auto status = BuildAncestorsRowMap(slices, slice_id, ret);
+  if (!status.ok())
+    return base::nullopt;
+  return std::move(ret);  // -Wreturn-std-move-in-c++11
 }
 
 }  // namespace trace_processor
diff --git a/src/trace_processor/dynamic/ancestor_generator.h b/src/trace_processor/dynamic/ancestor_generator.h
index 48947ac..00679be 100644
--- a/src/trace_processor/dynamic/ancestor_generator.h
+++ b/src/trace_processor/dynamic/ancestor_generator.h
@@ -46,10 +46,11 @@
   Table::Schema CreateSchema() override;
   std::string TableName() override;
   uint32_t EstimateRowCount() override;
-  util::Status ValidateConstraints(const QueryConstraints&) override;
-  std::unique_ptr<Table> ComputeTable(const std::vector<Constraint>& cs,
-                                      const std::vector<Order>& ob,
-                                      const BitVector& cols_used) override;
+  base::Status ValidateConstraints(const QueryConstraints&) override;
+  base::Status ComputeTable(const std::vector<Constraint>& cs,
+                            const std::vector<Order>& ob,
+                            const BitVector& cols_used,
+                            std::unique_ptr<Table>& table_return) override;
 
   // Returns a RowMap of slice IDs which are ancestors of |slice_id|. Returns
   // NULL if an invalid |slice_id| is given. This is used by
diff --git a/src/trace_processor/dynamic/connected_flow_generator.cc b/src/trace_processor/dynamic/connected_flow_generator.cc
index 1032fd7..8dbefa1 100644
--- a/src/trace_processor/dynamic/connected_flow_generator.cc
+++ b/src/trace_processor/dynamic/connected_flow_generator.cc
@@ -34,7 +34,7 @@
 
 ConnectedFlowGenerator::~ConnectedFlowGenerator() = default;
 
-util::Status ConnectedFlowGenerator::ValidateConstraints(
+base::Status ConnectedFlowGenerator::ValidateConstraints(
     const QueryConstraints& qc) {
   const auto& cs = qc.constraints();
 
@@ -47,8 +47,8 @@
       std::find_if(cs.begin(), cs.end(), flow_id_fn) != cs.end();
 
   return has_flow_id_cs
-             ? util::OkStatus()
-             : util::ErrStatus("Failed to find required constraints");
+             ? base::OkStatus()
+             : base::ErrStatus("Failed to find required constraints");
 }
 
 namespace {
@@ -196,24 +196,27 @@
 
 }  // namespace
 
-std::unique_ptr<Table> ConnectedFlowGenerator::ComputeTable(
+base::Status ConnectedFlowGenerator::ComputeTable(
     const std::vector<Constraint>& cs,
     const std::vector<Order>&,
-    const BitVector&) {
+    const BitVector&,
+    std::unique_ptr<Table>& table_return) {
   const auto& flow = context_->storage->flow_table();
   const auto& slice = context_->storage->slice_table();
 
   auto it = std::find_if(cs.begin(), cs.end(), [&flow](const Constraint& c) {
     return c.col_idx == flow.GetColumnCount() && c.op == FilterOp::kEq;
   });
-
   PERFETTO_DCHECK(it != cs.end());
+  if (it == cs.end() || it->value.type != SqlValue::Type::kLong) {
+    return base::ErrStatus("invalid start_id");
+  }
 
   SliceId start_id{static_cast<uint32_t>(it->value.AsLong())};
 
   if (!slice.id().IndexOf(start_id)) {
-    PERFETTO_ELOG("Given slice id is invalid (ConnectedFlowGenerator)");
-    return nullptr;
+    return base::ErrStatus("invalid slice id %" PRIu32 "",
+                           static_cast<uint32_t>(start_id.value));
   }
 
   BFS bfs(context_);
@@ -241,11 +244,12 @@
     start_ids->Append(start_id.value);
   }
 
-  return std::unique_ptr<Table>(
+  table_return.reset(
       new Table(flow.Apply(RowMap(std::move(result_rows)))
                     .ExtendWithColumn("start_id", std::move(start_ids),
                                       TypedColumn<uint32_t>::default_flags() |
                                           TypedColumn<uint32_t>::kHidden)));
+  return base::OkStatus();
 }
 
 Table::Schema ConnectedFlowGenerator::CreateSchema() {
diff --git a/src/trace_processor/dynamic/connected_flow_generator.h b/src/trace_processor/dynamic/connected_flow_generator.h
index b2117af..0b8661b 100644
--- a/src/trace_processor/dynamic/connected_flow_generator.h
+++ b/src/trace_processor/dynamic/connected_flow_generator.h
@@ -53,10 +53,11 @@
   Table::Schema CreateSchema() override;
   std::string TableName() override;
   uint32_t EstimateRowCount() override;
-  util::Status ValidateConstraints(const QueryConstraints&) override;
-  std::unique_ptr<Table> ComputeTable(const std::vector<Constraint>& cs,
-                                      const std::vector<Order>& ob,
-                                      const BitVector& cols_used) override;
+  base::Status ValidateConstraints(const QueryConstraints&) override;
+  base::Status ComputeTable(const std::vector<Constraint>& cs,
+                            const std::vector<Order>& ob,
+                            const BitVector& cols_used,
+                            std::unique_ptr<Table>& table_return) override;
 
  private:
   Mode mode_;
diff --git a/src/trace_processor/dynamic/descendant_generator.cc b/src/trace_processor/dynamic/descendant_generator.cc
index ebec3f3..c0df1cd 100644
--- a/src/trace_processor/dynamic/descendant_generator.cc
+++ b/src/trace_processor/dynamic/descendant_generator.cc
@@ -20,6 +20,7 @@
 #include <set>
 
 #include "src/trace_processor/types/trace_processor_context.h"
+#include "src/trace_processor/util/status_macros.h"
 
 namespace perfetto {
 namespace trace_processor {
@@ -40,40 +41,38 @@
       TypedColumn<uint32_t>::default_flags() | TypedColumn<uint32_t>::kHidden);
 }
 
-base::Optional<RowMap> BuildDescendantsRowMap(const tables::SliceTable& slices,
-                                              SliceId starting_id) {
+base::Status BuildDescendantsRowMap(const tables::SliceTable& slices,
+                                    SliceId starting_id,
+                                    RowMap& rowmap_return) {
   auto start_row = slices.id().IndexOf(starting_id);
   // The query gave an invalid ID that doesn't exist in the slice table.
   if (!start_row) {
-    // TODO(lalitm): Ideally this should result in an error, or be filtered out
-    // during ValidateConstraints so we can just dereference |start_row|
-    // directly. However ValidateConstraints doesn't know the value we're
-    // filtering for so can't ensure it exists. For now we return a nullptr
-    // which will cause the query to surface an error with the message "SQL
-    // error: constraint failed".
-    return base::nullopt;
+    return base::ErrStatus("no row with id %" PRIu32 "",
+                           static_cast<uint32_t>(starting_id.value));
   }
 
   // All nested descendents must be on the same track, with a ts between
   // |start_id.ts| and |start_id.ts| + |start_id.dur|, and who's depth is larger
   // then |start_row|'s. So we just use Filter to select all relevant slices.
-  return slices.FilterToRowMap(
+  rowmap_return = slices.FilterToRowMap(
       {slices.ts().ge(slices.ts()[*start_row]),
        slices.ts().le(slices.ts()[*start_row] + slices.dur()[*start_row]),
        slices.track_id().eq(slices.track_id()[*start_row].value),
        slices.depth().gt(slices.depth()[*start_row])});
+  return base::OkStatus();
 }
 
-std::unique_ptr<Table> BuildDescendantsTable(int64_t constraint_value,
-                                             const tables::SliceTable& slices,
-                                             SliceId starting_id) {
+base::Status BuildDescendantsTable(int64_t constraint_value,
+                                   const tables::SliceTable& slices,
+                                   SliceId starting_id,
+                                   std::unique_ptr<Table>& table_return) {
   // Build up all the children row ids.
-  auto descendants = BuildDescendantsRowMap(slices, starting_id);
-  if (!descendants) {
-    return nullptr;
-  }
-  return std::unique_ptr<Table>(new Table(ExtendTableWithStartId(
-      slices.Apply(std::move(*descendants)), constraint_value)));
+  RowMap descendants;
+  RETURN_IF_ERROR(BuildDescendantsRowMap(slices, starting_id, descendants));
+
+  table_return.reset(new Table(ExtendTableWithStartId(
+      slices.Apply(std::move(descendants)), constraint_value)));
+  return base::OkStatus();
 }
 }  // namespace
 
@@ -81,7 +80,7 @@
                                          TraceProcessorContext* context)
     : type_(type), context_(context) {}
 
-util::Status DescendantGenerator::ValidateConstraints(
+base::Status DescendantGenerator::ValidateConstraints(
     const QueryConstraints& qc) {
   const auto& cs = qc.constraints();
 
@@ -90,28 +89,38 @@
     return c.column == column && c.op == SQLITE_INDEX_CONSTRAINT_EQ;
   };
   bool has_id_cs = std::find_if(cs.begin(), cs.end(), id_fn) != cs.end();
-  return has_id_cs ? util::OkStatus()
-                   : util::ErrStatus("Failed to find required constraints");
+  return has_id_cs ? base::OkStatus()
+                   : base::ErrStatus("Failed to find required constraints");
 }
 
-std::unique_ptr<Table> DescendantGenerator::ComputeTable(
+base::Status DescendantGenerator::ComputeTable(
     const std::vector<Constraint>& cs,
     const std::vector<Order>&,
-    const BitVector&) {
+    const BitVector&,
+    std::unique_ptr<Table>& table_return) {
   const auto& slices = context_->storage->slice_table();
 
   uint32_t column = GetConstraintColumnIndex(context_);
-  auto it = std::find_if(cs.begin(), cs.end(), [column](const Constraint& c) {
-    return c.col_idx == column && c.op == FilterOp::kEq;
-  });
-  PERFETTO_DCHECK(it != cs.end());
-  auto start_id = it->value.AsLong();
+  auto constraint_it =
+      std::find_if(cs.begin(), cs.end(), [column](const Constraint& c) {
+        return c.col_idx == column && c.op == FilterOp::kEq;
+      });
+  PERFETTO_DCHECK(constraint_it != cs.end());
+  if (constraint_it == cs.end() ||
+      constraint_it->value.type != SqlValue::Type::kLong) {
+    return base::ErrStatus("invalid start_id");
+  }
+  auto start_id = constraint_it->value.AsLong();
 
   switch (type_) {
-    case Descendant::kSlice:
-      return BuildDescendantsTable(start_id, slices,
-                                   SliceId(static_cast<uint32_t>(start_id)));
-    case Descendant::kSliceByStack:
+    case Descendant::kSlice: {
+      RETURN_IF_ERROR(BuildDescendantsTable(
+          start_id, slices, SliceId(static_cast<uint32_t>(start_id)),
+          table_return));
+      return base::OkStatus();
+    }
+
+    case Descendant::kSliceByStack: {
       auto result = RowMap();
       auto slice_ids = slices.FilterToRowMap({slices.stack_id().eq(start_id)});
 
@@ -124,10 +133,12 @@
         }
       }
 
-      return std::unique_ptr<Table>(new Table(
+      table_return.reset(new Table(
           ExtendTableWithStartId(slices.Apply(std::move(result)), start_id)));
+      return base::OkStatus();
+    }
   }
-  return nullptr;
+  return base::ErrStatus("unknown DescendantGenerator type");
 }
 
 Table::Schema DescendantGenerator::CreateSchema() {
@@ -156,7 +167,11 @@
 base::Optional<RowMap> DescendantGenerator::GetDescendantSlices(
     const tables::SliceTable& slices,
     SliceId slice_id) {
-  return BuildDescendantsRowMap(slices, slice_id);
+  RowMap ret;
+  auto status = BuildDescendantsRowMap(slices, slice_id, ret);
+  if (!status.ok())
+    return base::nullopt;
+  return std::move(ret);  // -Wreturn-std-move-in-c++11
 }
 
 }  // namespace trace_processor
diff --git a/src/trace_processor/dynamic/descendant_generator.h b/src/trace_processor/dynamic/descendant_generator.h
index 216b7e1..318fe7d 100644
--- a/src/trace_processor/dynamic/descendant_generator.h
+++ b/src/trace_processor/dynamic/descendant_generator.h
@@ -41,10 +41,11 @@
   Table::Schema CreateSchema() override;
   std::string TableName() override;
   uint32_t EstimateRowCount() override;
-  util::Status ValidateConstraints(const QueryConstraints&) override;
-  std::unique_ptr<Table> ComputeTable(const std::vector<Constraint>& cs,
-                                      const std::vector<Order>& ob,
-                                      const BitVector& cols_used) override;
+  base::Status ValidateConstraints(const QueryConstraints&) override;
+  base::Status ComputeTable(const std::vector<Constraint>& cs,
+                            const std::vector<Order>& ob,
+                            const BitVector& cols_used,
+                            std::unique_ptr<Table>& table_return) override;
 
   // Returns a RowMap of slice IDs which are descendants of |slice_id|. Returns
   // NULL if an invalid |slice_id| is given. This is used by
diff --git a/src/trace_processor/dynamic/describe_slice_generator.cc b/src/trace_processor/dynamic/describe_slice_generator.cc
index 500d561..ea8a70c 100644
--- a/src/trace_processor/dynamic/describe_slice_generator.cc
+++ b/src/trace_processor/dynamic/describe_slice_generator.cc
@@ -18,6 +18,7 @@
 
 #include "src/trace_processor/analysis/describe_slice.h"
 #include "src/trace_processor/types/trace_processor_context.h"
+#include "src/trace_processor/util/status_macros.h"
 
 namespace perfetto {
 namespace trace_processor {
@@ -34,10 +35,9 @@
   };
   auto slice_id_it = std::find_if(cs.begin(), cs.end(), slice_id_fn);
 
-  // We should always have valid iterators here because BestIndex should only
-  // allow the constraint set to be chosen when we have an equality constraint
-  // on both ts and upid.
   PERFETTO_CHECK(slice_id_it != cs.end());
+  // TODO(rsavitski): consider checking type of the SqlValue, as erroneous
+  // queries that pass a null here (or otherwise unexpected type) will crash.
 
   uint32_t slice_id_value = static_cast<uint32_t>(slice_id_it->value.AsLong());
   return DescribeSliceGenerator::InputValues{slice_id_value};
@@ -50,7 +50,7 @@
 
 DescribeSliceGenerator::~DescribeSliceGenerator() = default;
 
-util::Status DescribeSliceGenerator::ValidateConstraints(
+base::Status DescribeSliceGenerator::ValidateConstraints(
     const QueryConstraints& qc) {
   using T = tables::DescribeSliceTable;
 
@@ -64,21 +64,21 @@
       std::find_if(cs.begin(), cs.end(), slice_id_fn) != cs.end();
 
   return has_slice_id_cs
-             ? util::OkStatus()
-             : util::ErrStatus("Failed to find required constraints");
+             ? base::OkStatus()
+             : base::ErrStatus("Failed to find required constraints");
 }
 
-std::unique_ptr<Table> DescribeSliceGenerator::ComputeTable(
+base::Status DescribeSliceGenerator::ComputeTable(
     const std::vector<Constraint>& cs,
     const std::vector<Order>&,
-    const BitVector&) {
+    const BitVector&,
+    std::unique_ptr<Table>& table_return) {
   auto input = GetDescribeSliceInputValues(cs);
   const auto& slices = context_->storage->slice_table();
 
   base::Optional<SliceDescription> opt_desc;
-  auto status = DescribeSlice(slices, SliceId{input.slice_id_value}, &opt_desc);
-  if (!status.ok())
-    return nullptr;
+  RETURN_IF_ERROR(
+      DescribeSlice(slices, SliceId{input.slice_id_value}, &opt_desc));
 
   auto* pool = context_->storage->mutable_string_pool();
   std::unique_ptr<tables::DescribeSliceTable> table(
@@ -93,9 +93,8 @@
     row.slice_id = input.slice_id_value;
     table->Insert(row);
   }
-  // We need to explicitly std::move as clang complains about a bug in old
-  // compilers otherwise (-Wreturn-std-move-in-c++11).
-  return std::move(table);
+  table_return = std::move(table);
+  return base::OkStatus();
 }
 
 Table::Schema DescribeSliceGenerator::CreateSchema() {
diff --git a/src/trace_processor/dynamic/describe_slice_generator.h b/src/trace_processor/dynamic/describe_slice_generator.h
index fc7d991..fa8a87f 100644
--- a/src/trace_processor/dynamic/describe_slice_generator.h
+++ b/src/trace_processor/dynamic/describe_slice_generator.h
@@ -41,10 +41,11 @@
   Table::Schema CreateSchema() override;
   std::string TableName() override;
   uint32_t EstimateRowCount() override;
-  util::Status ValidateConstraints(const QueryConstraints&) override;
-  std::unique_ptr<Table> ComputeTable(const std::vector<Constraint>& cs,
-                                      const std::vector<Order>& ob,
-                                      const BitVector& cols_used) override;
+  base::Status ValidateConstraints(const QueryConstraints&) override;
+  base::Status ComputeTable(const std::vector<Constraint>& cs,
+                            const std::vector<Order>& ob,
+                            const BitVector& cols_used,
+                            std::unique_ptr<Table>& table_return) override;
 
  private:
   TraceProcessorContext* context_ = nullptr;
diff --git a/src/trace_processor/dynamic/experimental_annotated_stack_generator.cc b/src/trace_processor/dynamic/experimental_annotated_stack_generator.cc
index 617c658..45cf596 100644
--- a/src/trace_processor/dynamic/experimental_annotated_stack_generator.cc
+++ b/src/trace_processor/dynamic/experimental_annotated_stack_generator.cc
@@ -104,7 +104,7 @@
   return schema;
 }
 
-util::Status ExperimentalAnnotatedStackGenerator::ValidateConstraints(
+base::Status ExperimentalAnnotatedStackGenerator::ValidateConstraints(
     const QueryConstraints& qc) {
   const auto& cs = qc.constraints();
   int column = static_cast<int>(GetConstraintColumnIndex(context_));
@@ -113,14 +113,15 @@
     return c.column == column && c.op == SQLITE_INDEX_CONSTRAINT_EQ;
   };
   bool has_id_cs = std::find_if(cs.begin(), cs.end(), id_fn) != cs.end();
-  return has_id_cs ? util::OkStatus()
-                   : util::ErrStatus("Failed to find required constraints");
+  return has_id_cs ? base::OkStatus()
+                   : base::ErrStatus("Failed to find required constraints");
 }
 
-std::unique_ptr<Table> ExperimentalAnnotatedStackGenerator::ComputeTable(
+base::Status ExperimentalAnnotatedStackGenerator::ComputeTable(
     const std::vector<Constraint>& cs,
     const std::vector<Order>&,
-    const BitVector&) {
+    const BitVector&,
+    std::unique_ptr<Table>& table_return) {
   const auto& cs_table = context_->storage->stack_profile_callsite_table();
   const auto& f_table = context_->storage->stack_profile_frame_table();
   const auto& m_table = context_->storage->stack_profile_mapping_table();
@@ -133,12 +134,17 @@
         return c.col_idx == constraint_col && c.op == FilterOp::kEq;
       });
   PERFETTO_DCHECK(constraint_it != cs.end());
+  if (constraint_it == cs.end() ||
+      constraint_it->value.type != SqlValue::Type::kLong) {
+    return base::ErrStatus("invalid input callsite id");
+  }
 
-  auto start_id = static_cast<uint32_t>(constraint_it->value.AsLong());
+  uint32_t start_id = static_cast<uint32_t>(constraint_it->value.AsLong());
   base::Optional<uint32_t> start_row =
       cs_table.id().IndexOf(CallsiteId(start_id));
-  if (!start_row)
-    return nullptr;
+  if (!start_row) {
+    return base::ErrStatus("callsite with id %" PRIu32 " not found", start_id);
+  }
 
   // Iteratively walk the parent_id chain to construct the list of callstack
   // entries, each pointing at a frame.
@@ -264,13 +270,14 @@
   for (uint32_t i = 0; i < base_rowmap.size(); i++)
     start_id_vals->Append(start_id);
 
-  return std::unique_ptr<Table>(new Table(
+  table_return.reset(new Table(
       cs_table.Apply(std::move(base_rowmap))
           .ExtendWithColumn("annotation", std::move(annotation_vals),
                             TypedColumn<StringPool::Id>::default_flags())
           .ExtendWithColumn("start_id", std::move(start_id_vals),
                             TypedColumn<uint32_t>::default_flags() |
                                 TypedColumn<uint32_t>::kHidden)));
+  return base::OkStatus();
 }
 
 uint32_t ExperimentalAnnotatedStackGenerator::EstimateRowCount() {
diff --git a/src/trace_processor/dynamic/experimental_annotated_stack_generator.h b/src/trace_processor/dynamic/experimental_annotated_stack_generator.h
index f61c166..8b13536 100644
--- a/src/trace_processor/dynamic/experimental_annotated_stack_generator.h
+++ b/src/trace_processor/dynamic/experimental_annotated_stack_generator.h
@@ -38,10 +38,11 @@
   Table::Schema CreateSchema() override;
   std::string TableName() override;
   uint32_t EstimateRowCount() override;
-  util::Status ValidateConstraints(const QueryConstraints&) override;
-  std::unique_ptr<Table> ComputeTable(const std::vector<Constraint>& cs,
-                                      const std::vector<Order>& ob,
-                                      const BitVector& cols_used) override;
+  base::Status ValidateConstraints(const QueryConstraints&) override;
+  base::Status ComputeTable(const std::vector<Constraint>& cs,
+                            const std::vector<Order>& ob,
+                            const BitVector& cols_used,
+                            std::unique_ptr<Table>& table_return) override;
 
  private:
   TraceProcessorContext* context_ = nullptr;
diff --git a/src/trace_processor/dynamic/experimental_counter_dur_generator.cc b/src/trace_processor/dynamic/experimental_counter_dur_generator.cc
index 530fe39..ce60d47 100644
--- a/src/trace_processor/dynamic/experimental_counter_dur_generator.cc
+++ b/src/trace_processor/dynamic/experimental_counter_dur_generator.cc
@@ -43,15 +43,16 @@
   return counter_table_->row_count();
 }
 
-util::Status ExperimentalCounterDurGenerator::ValidateConstraints(
+base::Status ExperimentalCounterDurGenerator::ValidateConstraints(
     const QueryConstraints&) {
-  return util::OkStatus();
+  return base::OkStatus();
 }
 
-std::unique_ptr<Table> ExperimentalCounterDurGenerator::ComputeTable(
+base::Status ExperimentalCounterDurGenerator::ComputeTable(
     const std::vector<Constraint>&,
     const std::vector<Order>&,
-    const BitVector&) {
+    const BitVector&,
+    std::unique_ptr<Table>& table_return) {
   if (!dur_column_) {
     dur_column_.reset(
         new NullableVector<int64_t>(ComputeDurColumn(*counter_table_)));
@@ -65,7 +66,8 @@
                 .ExtendWithColumn("delta", std::move(delta_column_.get()),
                                   TypedColumn<int64_t>::default_flags());
 
-  return std::unique_ptr<Table>(new Table(t.Copy()));
+  table_return.reset(new Table(t.Copy()));
+  return base::OkStatus();
 }
 
 // static
diff --git a/src/trace_processor/dynamic/experimental_counter_dur_generator.h b/src/trace_processor/dynamic/experimental_counter_dur_generator.h
index 4ec9f24..de7071e 100644
--- a/src/trace_processor/dynamic/experimental_counter_dur_generator.h
+++ b/src/trace_processor/dynamic/experimental_counter_dur_generator.h
@@ -33,10 +33,11 @@
   Table::Schema CreateSchema() override;
   std::string TableName() override;
   uint32_t EstimateRowCount() override;
-  util::Status ValidateConstraints(const QueryConstraints&) override;
-  std::unique_ptr<Table> ComputeTable(const std::vector<Constraint>&,
-                                      const std::vector<Order>&,
-                                      const BitVector& cols_used) override;
+  base::Status ValidateConstraints(const QueryConstraints&) override;
+  base::Status ComputeTable(const std::vector<Constraint>& cs,
+                            const std::vector<Order>& ob,
+                            const BitVector& cols_used,
+                            std::unique_ptr<Table>& table_return) override;
 
   // public + static for testing
   static NullableVector<int64_t> ComputeDurColumn(const Table& table);
diff --git a/src/trace_processor/dynamic/experimental_flamegraph_generator.cc b/src/trace_processor/dynamic/experimental_flamegraph_generator.cc
index 1475eab..bcecec1 100644
--- a/src/trace_processor/dynamic/experimental_flamegraph_generator.cc
+++ b/src/trace_processor/dynamic/experimental_flamegraph_generator.cc
@@ -285,7 +285,7 @@
 // For filtering, this method uses the same constraints as
 // ExperimentalFlamegraphGenerator::GetFlamegraphInputValues and should
 // therefore be kept in sync.
-util::Status ExperimentalFlamegraphGenerator::ValidateConstraints(
+base::Status ExperimentalFlamegraphGenerator::ValidateConstraints(
     const QueryConstraints& qc) {
   using T = tables::ExperimentalFlamegraphNodesTable;
 
@@ -318,14 +318,15 @@
       std::find_if(cs.begin(), cs.end(), profile_type_fn) != cs.end();
 
   return has_ts_cs && (has_upid_cs || has_upid_group_cs) && has_profile_type_cs
-             ? util::OkStatus()
-             : util::ErrStatus("Failed to find required constraints");
+             ? base::OkStatus()
+             : base::ErrStatus("Failed to find required constraints");
 }
 
-std::unique_ptr<Table> ExperimentalFlamegraphGenerator::ComputeTable(
+base::Status ExperimentalFlamegraphGenerator::ComputeTable(
     const std::vector<Constraint>& cs,
     const std::vector<Order>&,
-    const BitVector&) {
+    const BitVector&,
+    std::unique_ptr<Table>& table_return) {
   // Get the input column values and compute the flamegraph using them.
   auto values = GetFlamegraphInputValues(cs);
 
@@ -352,9 +353,8 @@
       table->mutable_focus_str()->Set(i, focus_id);
     }
   }
-  // We need to explicitly std::move as clang complains about a bug in old
-  // compilers otherwise (-Wreturn-std-move-in-c++11).
-  return std::move(table);
+  table_return = std::move(table);
+  return base::OkStatus();
 }
 
 Table::Schema ExperimentalFlamegraphGenerator::CreateSchema() {
diff --git a/src/trace_processor/dynamic/experimental_flamegraph_generator.h b/src/trace_processor/dynamic/experimental_flamegraph_generator.h
index c8531ad..4ec3cbc 100644
--- a/src/trace_processor/dynamic/experimental_flamegraph_generator.h
+++ b/src/trace_processor/dynamic/experimental_flamegraph_generator.h
@@ -47,10 +47,11 @@
   Table::Schema CreateSchema() override;
   std::string TableName() override;
   uint32_t EstimateRowCount() override;
-  util::Status ValidateConstraints(const QueryConstraints&) override;
-  std::unique_ptr<Table> ComputeTable(const std::vector<Constraint>& cs,
-                                      const std::vector<Order>& ob,
-                                      const BitVector& cols_used) override;
+  base::Status ValidateConstraints(const QueryConstraints&) override;
+  base::Status ComputeTable(const std::vector<Constraint>& cs,
+                            const std::vector<Order>& ob,
+                            const BitVector& cols_used,
+                            std::unique_ptr<Table>& table_return) override;
 
  private:
   TraceProcessorContext* context_ = nullptr;
diff --git a/src/trace_processor/dynamic/experimental_flat_slice_generator.cc b/src/trace_processor/dynamic/experimental_flat_slice_generator.cc
index 4e8d697..48271b5 100644
--- a/src/trace_processor/dynamic/experimental_flat_slice_generator.cc
+++ b/src/trace_processor/dynamic/experimental_flat_slice_generator.cc
@@ -28,7 +28,7 @@
     TraceProcessorContext* context)
     : context_(context) {}
 
-util::Status ExperimentalFlatSliceGenerator::ValidateConstraints(
+base::Status ExperimentalFlatSliceGenerator::ValidateConstraints(
     const QueryConstraints& qc) {
   using CI = tables::ExperimentalFlatSliceTable::ColumnIndex;
   bool has_start_bound = false;
@@ -40,14 +40,15 @@
                      c.op == SQLITE_INDEX_CONSTRAINT_EQ;
   }
   return has_start_bound && has_end_bound
-             ? util::OkStatus()
-             : util::ErrStatus("Failed to find required constraints");
+             ? base::OkStatus()
+             : base::ErrStatus("Failed to find required constraints");
 }
 
-std::unique_ptr<Table> ExperimentalFlatSliceGenerator::ComputeTable(
+base::Status ExperimentalFlatSliceGenerator::ComputeTable(
     const std::vector<Constraint>& cs,
     const std::vector<Order>&,
-    const BitVector&) {
+    const BitVector&,
+    std::unique_ptr<Table>& table_return) {
   using CI = tables::ExperimentalFlatSliceTable::ColumnIndex;
   auto start_it = std::find_if(cs.begin(), cs.end(), [](const Constraint& c) {
     return c.col_idx == static_cast<uint32_t>(CI::start_bound) &&
@@ -57,11 +58,14 @@
     return c.col_idx == static_cast<uint32_t>(CI::end_bound) &&
            c.op == FilterOp::kEq;
   });
+  // TODO(rsavitski): consider checking the values' types (in case of erroneous
+  // queries passing e.g. null).
   int64_t start_bound = start_it->value.AsLong();
   int64_t end_bound = end_it->value.AsLong();
-  return ComputeFlatSliceTable(context_->storage->slice_table(),
-                               context_->storage->mutable_string_pool(),
-                               start_bound, end_bound);
+  table_return = ComputeFlatSliceTable(context_->storage->slice_table(),
+                                       context_->storage->mutable_string_pool(),
+                                       start_bound, end_bound);
+  return base::OkStatus();
 }
 
 std::unique_ptr<tables::ExperimentalFlatSliceTable>
diff --git a/src/trace_processor/dynamic/experimental_flat_slice_generator.h b/src/trace_processor/dynamic/experimental_flat_slice_generator.h
index 480e477..0083457 100644
--- a/src/trace_processor/dynamic/experimental_flat_slice_generator.h
+++ b/src/trace_processor/dynamic/experimental_flat_slice_generator.h
@@ -60,10 +60,11 @@
   Table::Schema CreateSchema() override;
   std::string TableName() override;
   uint32_t EstimateRowCount() override;
-  util::Status ValidateConstraints(const QueryConstraints&) override;
-  std::unique_ptr<Table> ComputeTable(const std::vector<Constraint>& cs,
-                                      const std::vector<Order>& ob,
-                                      const BitVector& cols_used) override;
+  base::Status ValidateConstraints(const QueryConstraints&) override;
+  base::Status ComputeTable(const std::vector<Constraint>& cs,
+                            const std::vector<Order>& ob,
+                            const BitVector& cols_used,
+                            std::unique_ptr<Table>& table_return) override;
 
   // Visibile for testing.
   static std::unique_ptr<tables::ExperimentalFlatSliceTable>
diff --git a/src/trace_processor/dynamic/experimental_sched_upid_generator.cc b/src/trace_processor/dynamic/experimental_sched_upid_generator.cc
index 60d325f..f0cd061 100644
--- a/src/trace_processor/dynamic/experimental_sched_upid_generator.cc
+++ b/src/trace_processor/dynamic/experimental_sched_upid_generator.cc
@@ -41,21 +41,24 @@
   return sched_slice_table_->row_count();
 }
 
-util::Status ExperimentalSchedUpidGenerator::ValidateConstraints(
+base::Status ExperimentalSchedUpidGenerator::ValidateConstraints(
     const QueryConstraints&) {
-  return util::OkStatus();
+  return base::OkStatus();
 }
 
-std::unique_ptr<Table> ExperimentalSchedUpidGenerator::ComputeTable(
+base::Status ExperimentalSchedUpidGenerator::ComputeTable(
     const std::vector<Constraint>&,
     const std::vector<Order>&,
-    const BitVector&) {
+    const BitVector&,
+    std::unique_ptr<Table>& table_return) {
   if (!upid_column_) {
     upid_column_.reset(new NullableVector<uint32_t>(ComputeUpidColumn()));
   }
-  return std::unique_ptr<Table>(new Table(sched_slice_table_->ExtendWithColumn(
-      "upid", upid_column_.get(),
-      TypedColumn<base::Optional<uint32_t>>::default_flags())));
+  table_return =
+      std::unique_ptr<Table>(new Table(sched_slice_table_->ExtendWithColumn(
+          "upid", upid_column_.get(),
+          TypedColumn<base::Optional<uint32_t>>::default_flags())));
+  return base::OkStatus();
 }
 
 NullableVector<uint32_t> ExperimentalSchedUpidGenerator::ComputeUpidColumn() {
diff --git a/src/trace_processor/dynamic/experimental_sched_upid_generator.h b/src/trace_processor/dynamic/experimental_sched_upid_generator.h
index e144eea..569e212 100644
--- a/src/trace_processor/dynamic/experimental_sched_upid_generator.h
+++ b/src/trace_processor/dynamic/experimental_sched_upid_generator.h
@@ -35,10 +35,11 @@
   Table::Schema CreateSchema() override;
   std::string TableName() override;
   uint32_t EstimateRowCount() override;
-  util::Status ValidateConstraints(const QueryConstraints&) override;
-  std::unique_ptr<Table> ComputeTable(const std::vector<Constraint>&,
-                                      const std::vector<Order>&,
-                                      const BitVector& cols_used) override;
+  base::Status ValidateConstraints(const QueryConstraints&) override;
+  base::Status ComputeTable(const std::vector<Constraint>& cs,
+                            const std::vector<Order>& ob,
+                            const BitVector& cols_used,
+                            std::unique_ptr<Table>& table_return) override;
 
  private:
   NullableVector<uint32_t> ComputeUpidColumn();
diff --git a/src/trace_processor/dynamic/experimental_slice_layout_generator.cc b/src/trace_processor/dynamic/experimental_slice_layout_generator.cc
index 9b842bb..c6153af 100644
--- a/src/trace_processor/dynamic/experimental_slice_layout_generator.cc
+++ b/src/trace_processor/dynamic/experimental_slice_layout_generator.cc
@@ -62,21 +62,22 @@
   return slice_table_->row_count();
 }
 
-util::Status ExperimentalSliceLayoutGenerator::ValidateConstraints(
+base::Status ExperimentalSliceLayoutGenerator::ValidateConstraints(
     const QueryConstraints& cs) {
   for (const auto& c : cs.constraints()) {
     if (c.column == kFilterTrackIdsColumnIndex && sqlite_utils::IsOpEq(c.op)) {
-      return util::OkStatus();
+      return base::OkStatus();
     }
   }
-  return util::ErrStatus(
+  return base::ErrStatus(
       "experimental_slice_layout must have filter_track_ids constraint");
 }
 
-std::unique_ptr<Table> ExperimentalSliceLayoutGenerator::ComputeTable(
+base::Status ExperimentalSliceLayoutGenerator::ComputeTable(
     const std::vector<Constraint>& cs,
     const std::vector<Order>&,
-    const BitVector&) {
+    const BitVector&,
+    std::unique_ptr<Table>& table_return) {
   std::set<TrackId> selected_tracks;
   std::string filter_string = "";
   for (const auto& c : cs) {
@@ -100,7 +101,8 @@
   // Try and find the table in the cache.
   auto it = layout_table_cache_.find(filter_id);
   if (it != layout_table_cache_.end()) {
-    return std::unique_ptr<Table>(new Table(it->second.Copy()));
+    table_return.reset(new Table(it->second.Copy()));
+    return base::OkStatus();
   }
 
   // Find all the slices for the tracks we want to filter and create a RowMap
@@ -125,7 +127,9 @@
   // Compute the table and add it to the cache for future use.
   Table layout_table = ComputeLayoutTable(filtered_table, filter_id);
   auto res = layout_table_cache_.emplace(filter_id, std::move(layout_table));
-  return std::unique_ptr<Table>(new Table(res.first->second.Copy()));
+
+  table_return.reset(new Table(res.first->second.Copy()));
+  return base::OkStatus();
 }
 
 // Build up a table of slice id -> root slice id by observing each
diff --git a/src/trace_processor/dynamic/experimental_slice_layout_generator.h b/src/trace_processor/dynamic/experimental_slice_layout_generator.h
index b2d731e..cc27bb2 100644
--- a/src/trace_processor/dynamic/experimental_slice_layout_generator.h
+++ b/src/trace_processor/dynamic/experimental_slice_layout_generator.h
@@ -38,10 +38,11 @@
   Table::Schema CreateSchema() override;
   std::string TableName() override;
   uint32_t EstimateRowCount() override;
-  util::Status ValidateConstraints(const QueryConstraints&) override;
-  std::unique_ptr<Table> ComputeTable(const std::vector<Constraint>&,
-                                      const std::vector<Order>&,
-                                      const BitVector& cols_used) override;
+  base::Status ValidateConstraints(const QueryConstraints&) override;
+  base::Status ComputeTable(const std::vector<Constraint>& cs,
+                            const std::vector<Order>& ob,
+                            const BitVector& cols_used,
+                            std::unique_ptr<Table>& table_return) override;
 
  private:
   Table ComputeLayoutTable(const Table& table, StringPool::Id filter_id);
diff --git a/src/trace_processor/dynamic/experimental_slice_layout_generator_unittest.cc b/src/trace_processor/dynamic/experimental_slice_layout_generator_unittest.cc
index efb8ae8..81fdb7d 100644
--- a/src/trace_processor/dynamic/experimental_slice_layout_generator_unittest.cc
+++ b/src/trace_processor/dynamic/experimental_slice_layout_generator_unittest.cc
@@ -104,9 +104,11 @@
 
   ExperimentalSliceLayoutGenerator gen(&pool, &slice_table);
 
-  std::unique_ptr<Table> table = gen.ComputeTable(
+  std::unique_ptr<Table> table;
+  auto status = gen.ComputeTable(
       {Constraint{kColumn, FilterOp::kEq, SqlValue::String("1")}}, {},
-      BitVector());
+      BitVector(), table);
+  EXPECT_TRUE(status.ok());
   ExpectOutput(*table, R"(
  #####
 )");
@@ -123,9 +125,11 @@
 
   ExperimentalSliceLayoutGenerator gen(&pool, &slice_table);
 
-  std::unique_ptr<Table> table = gen.ComputeTable(
+  std::unique_ptr<Table> table;
+  auto status = gen.ComputeTable(
       {Constraint{kColumn, FilterOp::kEq, SqlValue::String("1")}}, {},
-      BitVector());
+      BitVector(), table);
+  EXPECT_TRUE(status.ok());
   ExpectOutput(*table, R"(
  #####
  #####
@@ -147,9 +151,11 @@
 
   ExperimentalSliceLayoutGenerator gen(&pool, &slice_table);
 
-  std::unique_ptr<Table> table = gen.ComputeTable(
+  std::unique_ptr<Table> table;
+  auto status = gen.ComputeTable(
       {Constraint{kColumn, FilterOp::kEq, SqlValue::String("1")}}, {},
-      BitVector());
+      BitVector(), table);
+  EXPECT_TRUE(status.ok());
   ExpectOutput(*table, R"(
  #####
  ####
@@ -178,9 +184,11 @@
 
   ExperimentalSliceLayoutGenerator gen(&pool, &slice_table);
 
-  std::unique_ptr<Table> table = gen.ComputeTable(
+  std::unique_ptr<Table> table;
+  auto status = gen.ComputeTable(
       {Constraint{kColumn, FilterOp::kEq, SqlValue::String("1,2")}}, {},
-      BitVector());
+      BitVector(), table);
+  EXPECT_TRUE(status.ok());
   ExpectOutput(*table, R"(
  ####
  ##
@@ -214,9 +222,11 @@
 
   ExperimentalSliceLayoutGenerator gen(&pool, &slice_table);
 
-  std::unique_ptr<Table> table = gen.ComputeTable(
+  std::unique_ptr<Table> table;
+  auto status = gen.ComputeTable(
       {Constraint{kColumn, FilterOp::kEq, SqlValue::String("1,2")}}, {},
-      BitVector());
+      BitVector(), table);
+  EXPECT_TRUE(status.ok());
   ExpectOutput(*table, R"(
 #### ####
 ##   ##
@@ -247,9 +257,11 @@
   base::ignore_result(q);
 
   ExperimentalSliceLayoutGenerator gen(&pool, &slice_table);
-  std::unique_ptr<Table> table = gen.ComputeTable(
+  std::unique_ptr<Table> table;
+  auto status = gen.ComputeTable(
       {Constraint{kColumn, FilterOp::kEq, SqlValue::String("1,2")}}, {},
-      BitVector());
+      BitVector(), table);
+  EXPECT_TRUE(status.ok());
   ExpectOutput(*table, R"(
 ####
 ##
diff --git a/src/trace_processor/dynamic/thread_state_generator.cc b/src/trace_processor/dynamic/thread_state_generator.cc
index f68f127..7790a1f 100644
--- a/src/trace_processor/dynamic/thread_state_generator.cc
+++ b/src/trace_processor/dynamic/thread_state_generator.cc
@@ -31,15 +31,16 @@
 
 ThreadStateGenerator::~ThreadStateGenerator() = default;
 
-util::Status ThreadStateGenerator::ValidateConstraints(
+base::Status ThreadStateGenerator::ValidateConstraints(
     const QueryConstraints&) {
-  return util::OkStatus();
+  return base::OkStatus();
 }
 
-std::unique_ptr<Table> ThreadStateGenerator::ComputeTable(
+base::Status ThreadStateGenerator::ComputeTable(
     const std::vector<Constraint>&,
     const std::vector<Order>&,
-    const BitVector&) {
+    const BitVector&,
+    std::unique_ptr<Table>& table_return) {
   if (!unsorted_thread_state_table_) {
     int64_t trace_end_ts =
         context_->storage->GetTraceTimestampBoundsNs().second;
@@ -53,8 +54,11 @@
     sorted_thread_state_table_ = unsorted_thread_state_table_->Sort(
         {unsorted_thread_state_table_->ts().ascending()});
   }
+  // TODO(rsavitski): return base::ErrStatus instead?
   PERFETTO_CHECK(sorted_thread_state_table_);
-  return std::unique_ptr<Table>(new Table(sorted_thread_state_table_->Copy()));
+  table_return =
+      std::unique_ptr<Table>(new Table(sorted_thread_state_table_->Copy()));
+  return base::OkStatus();
 }
 
 std::unique_ptr<tables::ThreadStateTable>
@@ -311,7 +315,7 @@
   ThreadSchedInfo& info = state_map[utid];
 
   base::Optional<Variadic> opt_value;
-  util::Status status =
+  base::Status status =
       context_->storage->ExtractArg(arg_set_id, "io_wait", &opt_value);
 
   // We can't do anything better than ignoring any errors here.
diff --git a/src/trace_processor/dynamic/thread_state_generator.h b/src/trace_processor/dynamic/thread_state_generator.h
index db97925..8e111de 100644
--- a/src/trace_processor/dynamic/thread_state_generator.h
+++ b/src/trace_processor/dynamic/thread_state_generator.h
@@ -38,10 +38,11 @@
   Table::Schema CreateSchema() override;
   std::string TableName() override;
   uint32_t EstimateRowCount() override;
-  util::Status ValidateConstraints(const QueryConstraints&) override;
-  std::unique_ptr<Table> ComputeTable(const std::vector<Constraint>& cs,
-                                      const std::vector<Order>& ob,
-                                      const BitVector& cols_used) override;
+  base::Status ValidateConstraints(const QueryConstraints&) override;
+  base::Status ComputeTable(const std::vector<Constraint>& cs,
+                            const std::vector<Order>& ob,
+                            const BitVector& cols_used,
+                            std::unique_ptr<Table>& table_return) override;
 
   // Visible for testing.
   std::unique_ptr<tables::ThreadStateTable> ComputeThreadStateTable(
diff --git a/src/trace_processor/importers/common/slice_tracker.cc b/src/trace_processor/importers/common/slice_tracker.cc
index b160ec5..9396406 100644
--- a/src/trace_processor/importers/common/slice_tracker.cc
+++ b/src/trace_processor/importers/common/slice_tracker.cc
@@ -152,10 +152,6 @@
   MaybeCloseStack(timestamp, stack, track_id);
 
   const uint8_t depth = static_cast<uint8_t>(stack->size());
-  if (depth >= std::numeric_limits<uint8_t>::max()) {
-    PERFETTO_DFATAL("Slices with too large depth found.");
-    return base::nullopt;
-  }
   int64_t parent_stack_id =
       depth == 0 ? 0 : slices->stack_id()[stack->back().row];
   base::Optional<tables::SliceTable::Id> parent_id =
@@ -164,6 +160,14 @@
 
   SliceId id = inserter();
   uint32_t slice_idx = *slices->id().IndexOf(id);
+  if (depth >= std::numeric_limits<uint8_t>::max()) {
+    auto last_slice_name = slices->name().GetString(stack->back().row);
+    auto current_slice_name = slices->name().GetString(slice_idx);
+    PERFETTO_DLOG("Last slice: %s", last_slice_name.c_str());
+    PERFETTO_DLOG("Current slice: %s", current_slice_name.c_str());
+    PERFETTO_DFATAL("Slices with too large depth found.");
+    return base::nullopt;
+  }
   StackPush(track_id, slice_idx);
 
   // Post fill all the relevant columns. All the other columns should have
diff --git a/src/trace_processor/importers/ftrace/ftrace_descriptors.cc b/src/trace_processor/importers/ftrace/ftrace_descriptors.cc
index e397165..e2ee895 100644
--- a/src/trace_processor/importers/ftrace/ftrace_descriptors.cc
+++ b/src/trace_processor/importers/ftrace/ftrace_descriptors.cc
@@ -24,7 +24,7 @@
 namespace trace_processor {
 namespace {
 
-std::array<MessageDescriptor, 367> descriptors{{
+std::array<MessageDescriptor, 408> descriptors{{
     {nullptr, 0, {}},
     {nullptr, 0, {}},
     {nullptr, 0, {}},
@@ -446,11 +446,12 @@
     },
     {
         "mm_vmscan_kswapd_wake",
-        2,
+        3,
         {
             {},
             {"nid", ProtoSchemaType::kInt32},
             {"order", ProtoSchemaType::kInt32},
+            {"zid", ProtoSchemaType::kInt32},
         },
     },
     {
@@ -529,10 +530,11 @@
     },
     {
         "workqueue_execute_end",
-        1,
+        2,
         {
             {},
             {"work", ProtoSchemaType::kUint64},
+            {"function", ProtoSchemaType::kUint64},
         },
     },
     {
@@ -631,12 +633,14 @@
     },
     {
         "cgroup_mkdir",
-        3,
+        5,
         {
             {},
             {"root", ProtoSchemaType::kInt32},
             {"id", ProtoSchemaType::kInt32},
             {"cname", ProtoSchemaType::kString},
+            {"level", ProtoSchemaType::kInt32},
+            {"path", ProtoSchemaType::kString},
         },
     },
     {
@@ -651,17 +655,19 @@
     },
     {
         "cgroup_rmdir",
-        3,
+        5,
         {
             {},
             {"root", ProtoSchemaType::kInt32},
             {"id", ProtoSchemaType::kInt32},
             {"cname", ProtoSchemaType::kString},
+            {"level", ProtoSchemaType::kInt32},
+            {"path", ProtoSchemaType::kString},
         },
     },
     {
         "cgroup_transfer_tasks",
-        5,
+        7,
         {
             {},
             {"dst_root", ProtoSchemaType::kInt32},
@@ -669,6 +675,8 @@
             {"pid", ProtoSchemaType::kInt32},
             {"comm", ProtoSchemaType::kString},
             {"cname", ProtoSchemaType::kString},
+            {"dst_level", ProtoSchemaType::kInt32},
+            {"dst_path", ProtoSchemaType::kString},
         },
     },
     {
@@ -683,22 +691,26 @@
     },
     {
         "cgroup_release",
-        3,
+        5,
         {
             {},
             {"root", ProtoSchemaType::kInt32},
             {"id", ProtoSchemaType::kInt32},
             {"cname", ProtoSchemaType::kString},
+            {"level", ProtoSchemaType::kInt32},
+            {"path", ProtoSchemaType::kString},
         },
     },
     {
         "cgroup_rename",
-        3,
+        5,
         {
             {},
             {"root", ProtoSchemaType::kInt32},
             {"id", ProtoSchemaType::kInt32},
             {"cname", ProtoSchemaType::kString},
+            {"level", ProtoSchemaType::kInt32},
+            {"path", ProtoSchemaType::kString},
         },
     },
     {
@@ -1094,12 +1106,13 @@
     },
     {
         "mm_compaction_kcompactd_wake",
-        3,
+        4,
         {
             {},
             {"nid", ProtoSchemaType::kInt32},
             {"order", ProtoSchemaType::kInt32},
             {"classzone_idx", ProtoSchemaType::kUint32},
+            {"highest_zoneidx", ProtoSchemaType::kUint32},
         },
     },
     {
@@ -1124,22 +1137,24 @@
     },
     {
         "mm_compaction_try_to_compact_pages",
-        3,
+        4,
         {
             {},
             {"order", ProtoSchemaType::kInt32},
             {"gfp_mask", ProtoSchemaType::kUint32},
             {"mode", ProtoSchemaType::kUint32},
+            {"prio", ProtoSchemaType::kInt32},
         },
     },
     {
         "mm_compaction_wakeup_kcompactd",
-        3,
+        4,
         {
             {},
             {"nid", ProtoSchemaType::kInt32},
             {"order", ProtoSchemaType::kInt32},
             {"classzone_idx", ProtoSchemaType::kUint32},
+            {"highest_zoneidx", ProtoSchemaType::kUint32},
         },
     },
     {
@@ -1282,7 +1297,7 @@
     },
     {
         "block_rq_complete",
-        6,
+        7,
         {
             {},
             {"dev", ProtoSchemaType::kUint64},
@@ -1291,6 +1306,7 @@
             {"errors", ProtoSchemaType::kInt32},
             {"rwbs", ProtoSchemaType::kString},
             {"cmd", ProtoSchemaType::kString},
+            {"error", ProtoSchemaType::kInt32},
         },
     },
     {
@@ -1550,11 +1566,13 @@
     },
     {
         "ext4_discard_preallocations",
-        2,
+        4,
         {
             {},
             {"dev", ProtoSchemaType::kUint64},
             {"ino", ProtoSchemaType::kUint64},
+            {"len", ProtoSchemaType::kUint32},
+            {"needed", ProtoSchemaType::kUint32},
         },
     },
     {
@@ -1824,7 +1842,7 @@
     },
     {
         "ext4_ext_remove_space_done",
-        7,
+        10,
         {
             {},
             {"dev", ProtoSchemaType::kUint64},
@@ -1834,6 +1852,9 @@
             {"depth", ProtoSchemaType::kInt32},
             {"partial", ProtoSchemaType::kInt64},
             {"eh_entries", ProtoSchemaType::kUint32},
+            {"pc_lblk", ProtoSchemaType::kUint32},
+            {"pc_pclu", ProtoSchemaType::kUint64},
+            {"pc_state", ProtoSchemaType::kInt32},
         },
     },
     {
@@ -1848,7 +1869,7 @@
     },
     {
         "ext4_ext_rm_leaf",
-        7,
+        10,
         {
             {},
             {"dev", ProtoSchemaType::kUint64},
@@ -1858,6 +1879,9 @@
             {"ee_lblk", ProtoSchemaType::kUint32},
             {"ee_pblk", ProtoSchemaType::kUint64},
             {"ee_len", ProtoSchemaType::kInt32},
+            {"pc_lblk", ProtoSchemaType::kUint32},
+            {"pc_pclu", ProtoSchemaType::kUint64},
+            {"pc_state", ProtoSchemaType::kInt32},
         },
     },
     {
@@ -2025,7 +2049,7 @@
     },
     {
         "ext4_journal_start",
-        5,
+        6,
         {
             {},
             {"dev", ProtoSchemaType::kUint64},
@@ -2033,6 +2057,7 @@
             {"blocks", ProtoSchemaType::kInt32},
             {"rsv_blocks", ProtoSchemaType::kInt32},
             {"nblocks", ProtoSchemaType::kInt32},
+            {"revoke_creds", ProtoSchemaType::kInt32},
         },
     },
     {
@@ -2264,11 +2289,12 @@
     },
     {
         "ext4_read_block_bitmap_load",
-        2,
+        3,
         {
             {},
             {"dev", ProtoSchemaType::kUint64},
             {"group", ProtoSchemaType::kUint32},
+            {"prefetch", ProtoSchemaType::kUint32},
         },
     },
     {
@@ -2293,7 +2319,7 @@
     },
     {
         "ext4_remove_blocks",
-        8,
+        11,
         {
             {},
             {"dev", ProtoSchemaType::kUint64},
@@ -2304,6 +2330,9 @@
             {"ee_pblk", ProtoSchemaType::kUint64},
             {"ee_lblk", ProtoSchemaType::kUint32},
             {"ee_len", ProtoSchemaType::kUint32},
+            {"pc_lblk", ProtoSchemaType::kUint32},
+            {"pc_pclu", ProtoSchemaType::kUint64},
+            {"pc_state", ProtoSchemaType::kInt32},
         },
     },
     {
@@ -2634,7 +2663,7 @@
     },
     {
         "f2fs_get_victim",
-        10,
+        11,
         {
             {},
             {"dev", ProtoSchemaType::kUint64},
@@ -2647,6 +2676,7 @@
             {"pre_victim", ProtoSchemaType::kUint32},
             {"prefree", ProtoSchemaType::kUint32},
             {"free", ProtoSchemaType::kUint32},
+            {"cost", ProtoSchemaType::kUint32},
         },
     },
     {
@@ -2686,7 +2716,7 @@
     },
     {
         "f2fs_readpage",
-        5,
+        8,
         {
             {},
             {"dev", ProtoSchemaType::kUint64},
@@ -2694,6 +2724,9 @@
             {"index", ProtoSchemaType::kUint64},
             {"blkaddr", ProtoSchemaType::kUint64},
             {"type", ProtoSchemaType::kInt32},
+            {"dir", ProtoSchemaType::kInt32},
+            {"dirty", ProtoSchemaType::kInt32},
+            {"uptodate", ProtoSchemaType::kInt32},
         },
     },
     {
@@ -2708,7 +2741,7 @@
     },
     {
         "f2fs_set_page_dirty",
-        6,
+        7,
         {
             {},
             {"dev", ProtoSchemaType::kUint64},
@@ -2717,6 +2750,7 @@
             {"dir", ProtoSchemaType::kInt32},
             {"index", ProtoSchemaType::kUint64},
             {"dirty", ProtoSchemaType::kInt32},
+            {"uptodate", ProtoSchemaType::kInt32},
         },
     },
     {
@@ -2748,7 +2782,7 @@
     },
     {
         "f2fs_sync_file_exit",
-        5,
+        6,
         {
             {},
             {"dev", ProtoSchemaType::kUint64},
@@ -2756,6 +2790,7 @@
             {"need_cp", ProtoSchemaType::kUint32},
             {"datasync", ProtoSchemaType::kInt32},
             {"ret", ProtoSchemaType::kInt32},
+            {"cp_reason", ProtoSchemaType::kInt32},
         },
     },
     {
@@ -2907,7 +2942,7 @@
     },
     {
         "f2fs_vm_page_mkwrite",
-        6,
+        7,
         {
             {},
             {"dev", ProtoSchemaType::kUint64},
@@ -2916,6 +2951,7 @@
             {"dir", ProtoSchemaType::kInt32},
             {"index", ProtoSchemaType::kUint64},
             {"dirty", ProtoSchemaType::kInt32},
+            {"uptodate", ProtoSchemaType::kInt32},
         },
     },
     {
@@ -2932,12 +2968,13 @@
     },
     {
         "f2fs_write_checkpoint",
-        3,
+        4,
         {
             {},
             {"dev", ProtoSchemaType::kUint64},
             {"is_umount", ProtoSchemaType::kUint32},
             {"msg", ProtoSchemaType::kString},
+            {"reason", ProtoSchemaType::kInt32},
         },
     },
     {
@@ -3459,12 +3496,13 @@
     },
     {
         "binder_transaction_alloc_buf",
-        3,
+        4,
         {
             {},
             {"data_size", ProtoSchemaType::kUint64},
             {"debug_id", ProtoSchemaType::kInt32},
             {"offsets_size", ProtoSchemaType::kUint64},
+            {"extra_buffers_size", ProtoSchemaType::kUint64},
         },
     },
     {
@@ -3952,6 +3990,403 @@
             {"ret", ProtoSchemaType::kInt32},
         },
     },
+    {
+        "kfree_skb",
+        3,
+        {
+            {},
+            {"location", ProtoSchemaType::kUint64},
+            {"protocol", ProtoSchemaType::kUint32},
+            {"skbaddr", ProtoSchemaType::kUint64},
+        },
+    },
+    {
+        "kvm_access_fault",
+        1,
+        {
+            {},
+            {"ipa", ProtoSchemaType::kUint64},
+        },
+    },
+    {
+        "kvm_ack_irq",
+        2,
+        {
+            {},
+            {"irqchip", ProtoSchemaType::kUint32},
+            {"pin", ProtoSchemaType::kUint32},
+        },
+    },
+    {
+        "kvm_age_hva",
+        2,
+        {
+            {},
+            {"end", ProtoSchemaType::kUint64},
+            {"start", ProtoSchemaType::kUint64},
+        },
+    },
+    {
+        "kvm_age_page",
+        4,
+        {
+            {},
+            {"gfn", ProtoSchemaType::kUint64},
+            {"hva", ProtoSchemaType::kUint64},
+            {"level", ProtoSchemaType::kUint32},
+            {"referenced", ProtoSchemaType::kUint32},
+        },
+    },
+    {
+        "kvm_arm_clear_debug",
+        1,
+        {
+            {},
+            {"guest_debug", ProtoSchemaType::kUint32},
+        },
+    },
+    {
+        "kvm_arm_set_dreg32",
+        2,
+        {
+            {},
+            {"name", ProtoSchemaType::kString},
+            {"value", ProtoSchemaType::kUint32},
+        },
+    },
+    {
+        "kvm_arm_set_regset",
+        2,
+        {
+            {},
+            {"len", ProtoSchemaType::kInt32},
+            {"name", ProtoSchemaType::kString},
+        },
+    },
+    {
+        "kvm_arm_setup_debug",
+        2,
+        {
+            {},
+            {"guest_debug", ProtoSchemaType::kUint32},
+            {"vcpu", ProtoSchemaType::kUint64},
+        },
+    },
+    {
+        "kvm_entry",
+        1,
+        {
+            {},
+            {"vcpu_pc", ProtoSchemaType::kUint64},
+        },
+    },
+    {
+        "kvm_exit",
+        3,
+        {
+            {},
+            {"esr_ec", ProtoSchemaType::kUint32},
+            {"ret", ProtoSchemaType::kInt32},
+            {"vcpu_pc", ProtoSchemaType::kUint64},
+        },
+    },
+    {
+        "kvm_fpu",
+        1,
+        {
+            {},
+            {"load", ProtoSchemaType::kUint32},
+        },
+    },
+    {
+        "kvm_get_timer_map",
+        4,
+        {
+            {},
+            {"direct_ptimer", ProtoSchemaType::kInt32},
+            {"direct_vtimer", ProtoSchemaType::kInt32},
+            {"emul_ptimer", ProtoSchemaType::kInt32},
+            {"vcpu_id", ProtoSchemaType::kUint64},
+        },
+    },
+    {
+        "kvm_guest_fault",
+        4,
+        {
+            {},
+            {"hsr", ProtoSchemaType::kUint64},
+            {"hxfar", ProtoSchemaType::kUint64},
+            {"ipa", ProtoSchemaType::kUint64},
+            {"vcpu_pc", ProtoSchemaType::kUint64},
+        },
+    },
+    {
+        "kvm_handle_sys_reg",
+        1,
+        {
+            {},
+            {"hsr", ProtoSchemaType::kUint64},
+        },
+    },
+    {
+        "kvm_hvc_arm64",
+        3,
+        {
+            {},
+            {"imm", ProtoSchemaType::kUint64},
+            {"r0", ProtoSchemaType::kUint64},
+            {"vcpu_pc", ProtoSchemaType::kUint64},
+        },
+    },
+    {
+        "kvm_irq_line",
+        4,
+        {
+            {},
+            {"irq_num", ProtoSchemaType::kInt32},
+            {"level", ProtoSchemaType::kInt32},
+            {"type", ProtoSchemaType::kUint32},
+            {"vcpu_idx", ProtoSchemaType::kInt32},
+        },
+    },
+    {
+        "kvm_mmio",
+        4,
+        {
+            {},
+            {"gpa", ProtoSchemaType::kUint64},
+            {"len", ProtoSchemaType::kUint32},
+            {"type", ProtoSchemaType::kUint32},
+            {"val", ProtoSchemaType::kUint64},
+        },
+    },
+    {
+        "kvm_mmio_emulate",
+        3,
+        {
+            {},
+            {"cpsr", ProtoSchemaType::kUint64},
+            {"instr", ProtoSchemaType::kUint64},
+            {"vcpu_pc", ProtoSchemaType::kUint64},
+        },
+    },
+    {
+        "kvm_set_guest_debug",
+        2,
+        {
+            {},
+            {"guest_debug", ProtoSchemaType::kUint32},
+            {"vcpu", ProtoSchemaType::kUint64},
+        },
+    },
+    {
+        "kvm_set_irq",
+        3,
+        {
+            {},
+            {"gsi", ProtoSchemaType::kUint32},
+            {"irq_source_id", ProtoSchemaType::kInt32},
+            {"level", ProtoSchemaType::kInt32},
+        },
+    },
+    {
+        "kvm_set_spte_hva",
+        1,
+        {
+            {},
+            {"hva", ProtoSchemaType::kUint64},
+        },
+    },
+    {
+        "kvm_set_way_flush",
+        2,
+        {
+            {},
+            {"cache", ProtoSchemaType::kUint32},
+            {"vcpu_pc", ProtoSchemaType::kUint64},
+        },
+    },
+    {
+        "kvm_sys_access",
+        8,
+        {
+            {},
+            {"CRm", ProtoSchemaType::kUint32},
+            {"CRn", ProtoSchemaType::kUint32},
+            {"Op0", ProtoSchemaType::kUint32},
+            {"Op1", ProtoSchemaType::kUint32},
+            {"Op2", ProtoSchemaType::kUint32},
+            {"is_write", ProtoSchemaType::kUint32},
+            {"name", ProtoSchemaType::kString},
+            {"vcpu_pc", ProtoSchemaType::kUint64},
+        },
+    },
+    {
+        "kvm_test_age_hva",
+        1,
+        {
+            {},
+            {"hva", ProtoSchemaType::kUint64},
+        },
+    },
+    {
+        "kvm_timer_emulate",
+        2,
+        {
+            {},
+            {"should_fire", ProtoSchemaType::kUint32},
+            {"timer_idx", ProtoSchemaType::kInt32},
+        },
+    },
+    {
+        "kvm_timer_hrtimer_expire",
+        1,
+        {
+            {},
+            {"timer_idx", ProtoSchemaType::kInt32},
+        },
+    },
+    {
+        "kvm_timer_restore_state",
+        3,
+        {
+            {},
+            {"ctl", ProtoSchemaType::kUint64},
+            {"cval", ProtoSchemaType::kUint64},
+            {"timer_idx", ProtoSchemaType::kInt32},
+        },
+    },
+    {
+        "kvm_timer_save_state",
+        3,
+        {
+            {},
+            {"ctl", ProtoSchemaType::kUint64},
+            {"cval", ProtoSchemaType::kUint64},
+            {"timer_idx", ProtoSchemaType::kInt32},
+        },
+    },
+    {
+        "kvm_timer_update_irq",
+        3,
+        {
+            {},
+            {"irq", ProtoSchemaType::kUint32},
+            {"level", ProtoSchemaType::kInt32},
+            {"vcpu_id", ProtoSchemaType::kUint64},
+        },
+    },
+    {
+        "kvm_toggle_cache",
+        3,
+        {
+            {},
+            {"now", ProtoSchemaType::kUint32},
+            {"vcpu_pc", ProtoSchemaType::kUint64},
+            {"was", ProtoSchemaType::kUint32},
+        },
+    },
+    {
+        "kvm_unmap_hva_range",
+        2,
+        {
+            {},
+            {"end", ProtoSchemaType::kUint64},
+            {"start", ProtoSchemaType::kUint64},
+        },
+    },
+    {
+        "kvm_userspace_exit",
+        1,
+        {
+            {},
+            {"reason", ProtoSchemaType::kUint32},
+        },
+    },
+    {
+        "kvm_vcpu_wakeup",
+        3,
+        {
+            {},
+            {"ns", ProtoSchemaType::kUint64},
+            {"valid", ProtoSchemaType::kUint32},
+            {"waited", ProtoSchemaType::kUint32},
+        },
+    },
+    {
+        "kvm_wfx_arm64",
+        2,
+        {
+            {},
+            {"is_wfe", ProtoSchemaType::kUint32},
+            {"vcpu_pc", ProtoSchemaType::kUint64},
+        },
+    },
+    {
+        "trap_reg",
+        4,
+        {
+            {},
+            {"fn", ProtoSchemaType::kString},
+            {"is_write", ProtoSchemaType::kUint32},
+            {"reg", ProtoSchemaType::kInt32},
+            {"write_value", ProtoSchemaType::kUint64},
+        },
+    },
+    {
+        "vgic_update_irq_pending",
+        3,
+        {
+            {},
+            {"irq", ProtoSchemaType::kUint32},
+            {"level", ProtoSchemaType::kUint32},
+            {"vcpu_id", ProtoSchemaType::kUint64},
+        },
+    },
+    {
+        "wakeup_source_activate",
+        2,
+        {
+            {},
+            {"name", ProtoSchemaType::kString},
+            {"state", ProtoSchemaType::kUint64},
+        },
+    },
+    {
+        "wakeup_source_deactivate",
+        2,
+        {
+            {},
+            {"name", ProtoSchemaType::kString},
+            {"state", ProtoSchemaType::kUint64},
+        },
+    },
+    {
+        "ufshcd_command",
+        10,
+        {
+            {},
+            {"dev_name", ProtoSchemaType::kString},
+            {"doorbell", ProtoSchemaType::kUint32},
+            {"intr", ProtoSchemaType::kUint32},
+            {"lba", ProtoSchemaType::kUint64},
+            {"opcode", ProtoSchemaType::kUint32},
+            {"str", ProtoSchemaType::kString},
+            {"tag", ProtoSchemaType::kUint32},
+            {"transfer_len", ProtoSchemaType::kInt32},
+            {"group_id", ProtoSchemaType::kUint32},
+            {"str_t", ProtoSchemaType::kUint32},
+        },
+    },
+    {
+        "ufshcd_clk_gating",
+        2,
+        {
+            {},
+            {"dev_name", ProtoSchemaType::kString},
+            {"state", ProtoSchemaType::kInt32},
+        },
+    },
 }};
 
 }  // namespace
diff --git a/src/trace_processor/importers/ftrace/ftrace_parser.cc b/src/trace_processor/importers/ftrace/ftrace_parser.cc
index 9d5e382..f90e808 100644
--- a/src/trace_processor/importers/ftrace/ftrace_parser.cc
+++ b/src/trace_processor/importers/ftrace/ftrace_parser.cc
@@ -22,6 +22,7 @@
 #include "src/trace_processor/importers/common/process_tracker.h"
 #include "src/trace_processor/importers/ftrace/binder_tracker.h"
 #include "src/trace_processor/importers/proto/async_track_set_tracker.h"
+#include "src/trace_processor/importers/proto/metadata_tracker.h"
 #include "src/trace_processor/importers/syscalls/syscall_tracker.h"
 #include "src/trace_processor/importers/systrace/systrace_parser.h"
 #include "src/trace_processor/storage/stats.h"
@@ -32,6 +33,7 @@
 #include "protos/perfetto/common/gpu_counter_descriptor.pbzero.h"
 #include "protos/perfetto/trace/ftrace/binder.pbzero.h"
 #include "protos/perfetto/trace/ftrace/cpuhp.pbzero.h"
+#include "protos/perfetto/trace/ftrace/cros_ec.pbzero.h"
 #include "protos/perfetto/trace/ftrace/dmabuf_heap.pbzero.h"
 #include "protos/perfetto/trace/ftrace/dpu.pbzero.h"
 #include "protos/perfetto/trace/ftrace/fastrpc.pbzero.h"
@@ -55,11 +57,13 @@
 #include "protos/perfetto/trace/ftrace/scm.pbzero.h"
 #include "protos/perfetto/trace/ftrace/sde.pbzero.h"
 #include "protos/perfetto/trace/ftrace/signal.pbzero.h"
+#include "protos/perfetto/trace/ftrace/skb.pbzero.h"
 #include "protos/perfetto/trace/ftrace/sock.pbzero.h"
 #include "protos/perfetto/trace/ftrace/systrace.pbzero.h"
 #include "protos/perfetto/trace/ftrace/task.pbzero.h"
 #include "protos/perfetto/trace/ftrace/tcp.pbzero.h"
 #include "protos/perfetto/trace/ftrace/thermal.pbzero.h"
+#include "protos/perfetto/trace/ftrace/ufs.pbzero.h"
 #include "protos/perfetto/trace/ftrace/vmscan.pbzero.h"
 #include "protos/perfetto/trace/ftrace/workqueue.pbzero.h"
 #include "protos/perfetto/trace/interned_data/interned_data.pbzero.h"
@@ -111,6 +115,7 @@
       cpu_freq_name_id_(context->storage->InternString("cpufreq")),
       gpu_freq_name_id_(context->storage->InternString("gpufreq")),
       cpu_idle_name_id_(context->storage->InternString("cpuidle")),
+      kfree_skb_name_id_(context->storage->InternString("Kfree Skb IP Prot")),
       ion_total_id_(context->storage->InternString("mem.ion")),
       ion_change_id_(context->storage->InternString("mem.ion_change")),
       ion_buffer_id_(context->storage->InternString("mem.ion_buffer")),
@@ -132,6 +137,7 @@
       irq_id_(context_->storage->InternString("irq")),
       tcp_state_id_(context_->storage->InternString("tcp_state")),
       tcp_event_id_(context_->storage->InternString("tcp_event")),
+      protocol_arg_id_(context_->storage->InternString("protocol")),
       napi_gro_id_(context_->storage->InternString("napi_gro")),
       tcp_retransmited_name_id_(
           context_->storage->InternString("TCP Retransmit Skb")),
@@ -157,7 +163,11 @@
           context->storage->InternString("sched_blocked_reason")),
       io_wait_id_(context->storage->InternString("io_wait")),
       function_id_(context->storage->InternString("function")),
-      waker_utid_id_(context->storage->InternString("waker_utid")) {
+      waker_utid_id_(context->storage->InternString("waker_utid")),
+      cros_ec_arg_num_id_(context->storage->InternString("ec_num")),
+      cros_ec_arg_ec_id_(context->storage->InternString("ec_delta")),
+      cros_ec_arg_sample_ts_id_(context->storage->InternString("sample_ts")),
+      ufs_command_count_id_(context->storage->InternString("UFS Command Count")) {
   // Build the lookup table for the strings inside ftrace events (e.g. the
   // name of ftrace event fields and the names of their args).
   for (size_t i = 0; i < GetDescriptorsSize(); i++) {
@@ -349,6 +359,31 @@
                                cpu, static_cast<int64_t>(oldest_event_ts));
     }
   }
+
+  // Compute atrace + ftrace setup errors. We do two things here:
+  // 1. We add up all the errors and put the counter in the stats table (which
+  //    can hold only numerals). This will raise an orange flag in the UI.
+  // 2. We concatenate together all the errors in a string and put that in the
+  //    medatata table.
+  // Both will be reported in the 'Info & stats' page in the UI.
+  if (is_start) {
+    std::string error_str;
+    for (auto it = evt.failed_ftrace_events(); it; ++it) {
+      storage->IncrementStats(stats::ftrace_setup_errors, 1);
+      error_str += "Ftrace event failed: " + it->as_std_string() + "\n";
+    }
+    for (auto it = evt.unknown_ftrace_events(); it; ++it) {
+      storage->IncrementStats(stats::ftrace_setup_errors, 1);
+      error_str += "Ftrace event unknown: " + it->as_std_string() + "\n";
+    }
+    if (evt.atrace_errors().size > 0) {
+      storage->IncrementStats(stats::ftrace_setup_errors, 1);
+      error_str += "Atrace failures: " + evt.atrace_errors().ToStdString();
+    }
+    auto error_str_id = storage->InternString(base::StringView(error_str));
+    context_->metadata_tracker->SetMetadata(metadata::ftrace_setup_errors,
+                                            Variadic::String(error_str_id));
+  }
 }
 
 PERFETTO_ALWAYS_INLINE
@@ -676,6 +711,30 @@
         ParseNapiGroReceiveExit(cpu, ts, data);
         break;
       }
+      case FtraceEvent::kCpuFrequencyLimitsFieldNumber: {
+        ParseCpuFrequencyLimits(ts, data);
+        break;
+      }
+      case FtraceEvent::kKfreeSkbFieldNumber: {
+        ParseKfreeSkb(ts, data);
+        break;
+      }
+      case FtraceEvent::kCrosEcSensorhubDataFieldNumber: {
+        ParseCrosEcSensorhubData(ts, data);
+        break;
+      }
+      case FtraceEvent::kUfshcdCommandFieldNumber: {
+        ParseUfshcdCommand(ts, data);
+        break;
+      }
+      case FtraceEvent::kWakeupSourceActivateFieldNumber: {
+        ParseWakeSourceActivate(ts, data);
+        break;
+      }
+      case FtraceEvent::kWakeupSourceDeactivateFieldNumber: {
+        ParseWakeSourceDeactivate(ts, data);
+        break;
+      }
       default:
         break;
     }
@@ -1853,5 +1912,138 @@
                                args_inserter);
 }
 
+void FtraceParser::ParseCpuFrequencyLimits(int64_t timestamp,
+                                           protozero::ConstBytes blob) {
+  protos::pbzero::CpuFrequencyLimitsFtraceEvent::Decoder evt(blob.data,
+                                                             blob.size);
+  base::StackString<255> max_counter_name("Cpu %" PRIu32 " Max Freq Limit",
+                                          evt.cpu_id());
+  base::StackString<255> min_counter_name("Cpu %" PRIu32 " Min Freq Limit",
+                                          evt.cpu_id());
+  // Push max freq to global counter.
+  StringId max_name = context_->storage->InternString(max_counter_name.c_str());
+  TrackId max_track =
+      context_->track_tracker->InternGlobalCounterTrack(max_name);
+  context_->event_tracker->PushCounter(
+      timestamp, static_cast<double>(evt.max_freq()), max_track);
+
+  // Push min freq to global counter.
+  StringId min_name = context_->storage->InternString(min_counter_name.c_str());
+  TrackId min_track =
+      context_->track_tracker->InternGlobalCounterTrack(min_name);
+  context_->event_tracker->PushCounter(
+      timestamp, static_cast<double>(evt.min_freq()), min_track);
+}
+
+void FtraceParser::ParseKfreeSkb(int64_t timestamp,
+                                 protozero::ConstBytes blob) {
+  protos::pbzero::KfreeSkbFtraceEvent::Decoder evt(blob.data, blob.size);
+
+  // Skip non IP & IPV6 protocol.
+  if (evt.protocol() != kEthPIp && evt.protocol() != kEthPIp6) {
+    return;
+  }
+  num_of_kfree_skb_ip_prot += 1;
+
+  TrackId track =
+      context_->track_tracker->InternGlobalCounterTrack(kfree_skb_name_id_);
+  base::Optional<CounterId> id = context_->event_tracker->PushCounter(
+      timestamp, static_cast<double>(num_of_kfree_skb_ip_prot), track);
+  if (!id) {
+    return;
+  }
+  base::StackString<255> prot("%s", evt.protocol() == kEthPIp ? "IP" : "IPV6");
+  StringId prot_id = context_->storage->InternString(prot.string_view());
+  // Store protocol as args for metrics computation.
+  context_->args_tracker->AddArgsTo(*id).AddArg(
+      protocol_arg_id_, Variadic::String(prot_id));
+}
+
+void FtraceParser::ParseCrosEcSensorhubData(int64_t timestamp,
+                                            protozero::ConstBytes blob) {
+  protos::pbzero::CrosEcSensorhubDataFtraceEvent::Decoder evt(blob.data,
+                                                              blob.size);
+
+  // Push the global counter.
+  TrackId track = context_->track_tracker->InternGlobalCounterTrack(
+      context_->storage->InternString(
+          base::StringView("cros_ec.cros_ec_sensorhub_data." +
+                           std::to_string(evt.ec_sensor_num()))));
+
+  auto args_inserter = [this, &evt](ArgsTracker::BoundInserter* inserter) {
+    inserter->AddArg(cros_ec_arg_num_id_,
+                     Variadic::Integer(evt.ec_sensor_num()));
+    inserter->AddArg(
+        cros_ec_arg_ec_id_,
+        Variadic::Integer(evt.fifo_timestamp() - evt.current_timestamp()));
+    inserter->AddArg(cros_ec_arg_sample_ts_id_,
+                     Variadic::Integer(evt.current_timestamp()));
+  };
+
+  context_->event_tracker->PushCounter(
+      timestamp,
+      static_cast<double>(evt.current_time() - evt.current_timestamp()), track,
+      args_inserter);
+}
+
+void FtraceParser::ParseUfshcdCommand(int64_t timestamp,
+                                      protozero::ConstBytes blob) {
+  protos::pbzero::UfshcdCommandFtraceEvent::Decoder evt(blob.data, blob.size);
+  uint32_t num = evt.doorbell() > 0 ?
+      static_cast<uint32_t>(PERFETTO_POPCOUNT(evt.doorbell())) : 1;
+
+  TrackId track = context_->track_tracker->InternGlobalCounterTrack(
+      ufs_command_count_id_);
+  context_->event_tracker->PushCounter(timestamp, static_cast<double>(num),
+                                       track);
+}
+
+void FtraceParser::ParseWakeSourceActivate(int64_t timestamp,
+                                           protozero::ConstBytes blob) {
+  protos::pbzero::WakeupSourceActivateFtraceEvent::Decoder evt(blob.data,
+                                                               blob.size);
+  std::string event_name = evt.name().ToStdString();
+
+  uint32_t count = active_wakelock_to_count_[event_name];
+
+  active_wakelock_to_count_[event_name] += 1;
+
+  // There is already an active track with this name, don't create another.
+  if (count > 0) {
+    return;
+  }
+
+  base::StackString<32> str("Wakelock(%s)", event_name.c_str());
+  StringId stream_id = context_->storage->InternString(str.string_view());
+
+  auto async_track =
+      context_->async_track_set_tracker->InternGlobalTrackSet(stream_id);
+
+  TrackId start_id = context_->async_track_set_tracker->Begin(async_track, 0);
+
+  context_->slice_tracker->Begin(timestamp, start_id, kNullStringId, stream_id);
+}
+
+void FtraceParser::ParseWakeSourceDeactivate(int64_t timestamp,
+                                             protozero::ConstBytes blob) {
+  protos::pbzero::WakeupSourceDeactivateFtraceEvent::Decoder evt(blob.data,
+                                                                 blob.size);
+
+  std::string event_name = evt.name().ToStdString();
+  uint32_t count = active_wakelock_to_count_[event_name];
+  active_wakelock_to_count_[event_name] = count > 0 ? count - 1 : 0;
+  if (count != 1) {
+    return;
+  }
+
+  base::StackString<32> str("Wakelock(%s)", event_name.c_str());
+  StringId stream_id = context_->storage->InternString(str.string_view());
+  auto async_track =
+      context_->async_track_set_tracker->InternGlobalTrackSet(stream_id);
+
+  TrackId end_id = context_->async_track_set_tracker->End(async_track, 0);
+  context_->slice_tracker->End(timestamp, end_id);
+}
+
 }  // namespace trace_processor
 }  // namespace perfetto
diff --git a/src/trace_processor/importers/ftrace/ftrace_parser.h b/src/trace_processor/importers/ftrace/ftrace_parser.h
index cb040de..723be1c 100644
--- a/src/trace_processor/importers/ftrace/ftrace_parser.h
+++ b/src/trace_processor/importers/ftrace/ftrace_parser.h
@@ -167,6 +167,13 @@
   void ParseNapiGroReceiveExit(uint32_t cpu,
                                int64_t timestamp,
                                protozero::ConstBytes);
+  void ParseCpuFrequencyLimits(int64_t timestamp, protozero::ConstBytes);
+  void ParseKfreeSkb(int64_t timestamp, protozero::ConstBytes);
+  void ParseUfshcdCommand(int64_t timestamp, protozero::ConstBytes);
+
+  void ParseCrosEcSensorhubData(int64_t timestamp, protozero::ConstBytes);
+  void ParseWakeSourceActivate(int64_t timestamp, protozero::ConstBytes);
+  void ParseWakeSourceDeactivate(int64_t timestamp, protozero::ConstBytes);
 
   TraceProcessorContext* context_;
   RssStatTracker rss_stat_tracker_;
@@ -177,6 +184,7 @@
   const StringId cpu_freq_name_id_;
   const StringId gpu_freq_name_id_;
   const StringId cpu_idle_name_id_;
+  const StringId kfree_skb_name_id_;
   const StringId ion_total_id_;
   const StringId ion_change_id_;
   const StringId ion_buffer_id_;
@@ -196,6 +204,7 @@
   const StringId irq_id_;
   const StringId tcp_state_id_;
   const StringId tcp_event_id_;
+  const StringId protocol_arg_id_;
   const StringId napi_gro_id_;
   const StringId tcp_retransmited_name_id_;
   const StringId ret_arg_id_;
@@ -213,6 +222,10 @@
   const StringId io_wait_id_;
   const StringId function_id_;
   const StringId waker_utid_id_;
+  const StringId cros_ec_arg_num_id_;
+  const StringId cros_ec_arg_ec_id_;
+  const StringId cros_ec_arg_sample_ts_id_;
+  const StringId ufs_command_count_id_;
 
   struct FtraceMessageStrings {
     // The string id of name of the event field (e.g. sched_switch's id).
@@ -245,12 +258,19 @@
   // Record number of transmitted bytes to the network interface card.
   std::unordered_map<StringId, uint64_t> nic_transmitted_bytes_;
 
+  // Record number of kfree_skb with ip protocol.
+  uint64_t num_of_kfree_skb_ip_prot = 0;
+
   // Keep sock to stream number mapping.
   std::unordered_map<uint64_t, uint32_t> skaddr_to_stream_;
 
   // Record number of tcp steams.
   uint32_t num_of_tcp_stream_ = 0;
 
+  // A name collision is possible, always show if active wakelock exists
+  // with a give name
+  std::unordered_map<std::string, uint32_t> active_wakelock_to_count_;
+
   bool has_seen_first_ftrace_packet_ = false;
 
   // Stores information about the timestamp from the metadata table which is
diff --git a/src/trace_processor/importers/proto/heap_graph_tracker.cc b/src/trace_processor/importers/proto/heap_graph_tracker.cc
index 1224972..f4d5ad3 100644
--- a/src/trace_processor/importers/proto/heap_graph_tracker.cc
+++ b/src/trace_processor/importers/proto/heap_graph_tracker.cc
@@ -1010,8 +1010,8 @@
     FindPathFromRoot(context_->storage.get(), root, &init_path);
   }
 
-  std::vector<int32_t> node_to_cumulative_size(init_path.nodes.size());
-  std::vector<int32_t> node_to_cumulative_count(init_path.nodes.size());
+  std::vector<int64_t> node_to_cumulative_size(init_path.nodes.size());
+  std::vector<int64_t> node_to_cumulative_count(init_path.nodes.size());
   // i > 0 is to skip the artifical root node.
   for (size_t i = init_path.nodes.size() - 1; i > 0; --i) {
     const PathFromRoot::Node& node = init_path.nodes[i];
diff --git a/src/trace_processor/importers/proto/profile_module.cc b/src/trace_processor/importers/proto/profile_module.cc
index 61b2567..f679ca9 100644
--- a/src/trace_processor/importers/proto/profile_module.cc
+++ b/src/trace_processor/importers/proto/profile_module.cc
@@ -249,9 +249,6 @@
       ts, static_cast<double>(sample.timebase_count()),
       sampling_stream.timebase_track_id);
 
-  // TODO(rsavitski): empty callsite is not an error for counter-only samples.
-  // But consider identifying sequences which *should* have a callstack in every
-  // sample, as an invalid stack there is a bug.
   SequenceStackProfileTracker& stack_tracker =
       sequence_state->state()->sequence_stack_profile_tracker();
   ProfilePacketInternLookup intern_lookup(sequence_state);
@@ -259,6 +256,27 @@
   base::Optional<CallsiteId> cs_id =
       stack_tracker.FindOrInsertCallstack(callstack_iid, &intern_lookup);
 
+  // A failed lookup of the interned callstack can mean either:
+  // (a) This is a counter-only profile without callstacks. Due to an
+  //     implementation quirk, these packets still set callstack_iid
+  //     corresponding to a callstack with no frames. To reliably identify this
+  //     case (without resorting to config parsing) we further need to rely on
+  //     the fact that the implementation (callstack_trie.h) always assigns this
+  //     callstack the id "1". Such callstacks should not occur outside of
+  //     counter-only profiles, as there should always be at least a synthetic
+  //     error frame if the unwinding completely failed.
+  // (b) This is a ring-buffer profile where some of the referenced internings
+  //     have been overwritten, and the build predates perf_sample_defaults and
+  //     SEQ_NEEDS_INCREMENTAL_STATE sequence flag in perf_sample packets.
+  //     Such packets should be discarded.
+  if (!cs_id && callstack_iid != 1) {
+    PERFETTO_DLOG("Discarding perf_sample since callstack_iid [%" PRIu64
+                  "] references a missing/partially lost interning according "
+                  "to stack_profile_tracker",
+                  callstack_iid);
+    return;
+  }
+
   UniqueTid utid =
       context_->process_tracker->UpdateThread(sample.tid(), sample.pid());
 
diff --git a/src/trace_processor/importers/proto/proto_trace_parser.cc b/src/trace_processor/importers/proto/proto_trace_parser.cc
index 3ce7b77..521dc62 100644
--- a/src/trace_processor/importers/proto/proto_trace_parser.cc
+++ b/src/trace_processor/importers/proto/proto_trace_parser.cc
@@ -221,6 +221,8 @@
                              static_cast<int64_t>(buf.readaheads_succeeded()));
     storage->SetIndexedStats(stats::traced_buf_readaheads_failed, buf_num,
                              static_cast<int64_t>(buf.readaheads_failed()));
+    storage->SetIndexedStats(stats::traced_buf_abi_violations, buf_num,
+                             static_cast<int64_t>(buf.abi_violations()));
     storage->SetIndexedStats(
         stats::traced_buf_trace_writer_packet_loss, buf_num,
         static_cast<int64_t>(buf.trace_writer_packet_loss()));
diff --git a/src/trace_processor/importers/proto/proto_trace_parser_unittest.cc b/src/trace_processor/importers/proto/proto_trace_parser_unittest.cc
index cdd4333..304a481 100644
--- a/src/trace_processor/importers/proto/proto_trace_parser_unittest.cc
+++ b/src/trace_processor/importers/proto/proto_trace_parser_unittest.cc
@@ -580,6 +580,28 @@
   EXPECT_EQ(context_.storage->cpu_counter_track_table().cpu()[0], 10u);
 }
 
+TEST_F(ProtoTraceParserTest, LoadCpuFreqKHz) {
+  auto* packet = trace_->add_packet();
+  uint64_t ts = 1000;
+  packet->set_timestamp(ts);
+  auto* bundle = packet->set_sys_stats();
+  bundle->add_cpufreq_khz(2650000u);
+  bundle->add_cpufreq_khz(3698200u);
+
+  EXPECT_CALL(*event_, PushCounter(static_cast<int64_t>(ts), DoubleEq(2650000u),
+                                   TrackId{0u}));
+  EXPECT_CALL(*event_, PushCounter(static_cast<int64_t>(ts), DoubleEq(3698200u),
+                                   TrackId{1u}));
+  Tokenize();
+  context_.sorter->ExtractEventsForced();
+
+  EXPECT_EQ(context_.storage->track_table().row_count(), 2u);
+  EXPECT_EQ(context_.storage->track_table().name().GetString(0),
+            "CPU 0 Freq in kHz");
+  EXPECT_EQ(context_.storage->track_table().name().GetString(1),
+            "CPU 1 Freq in kHz");
+}
+
 TEST_F(ProtoTraceParserTest, LoadMemInfo) {
   auto* packet = trace_->add_packet();
   uint64_t ts = 1000;
diff --git a/src/trace_processor/importers/proto/system_probes_parser.cc b/src/trace_processor/importers/proto/system_probes_parser.cc
index 2fd7f08..63bdda7 100644
--- a/src/trace_processor/importers/proto/system_probes_parser.cc
+++ b/src/trace_processor/importers/proto/system_probes_parser.cc
@@ -188,6 +188,14 @@
                                          track);
   }
 
+  int c = 0;
+  for (auto it = sys_stats.cpufreq_khz(); it; ++it, ++c) {
+    base::StackString<255> counter_name("CPU %d Freq in kHz", c);
+    StringId name = context_->storage->InternString(counter_name.string_view());
+    TrackId track = context_->track_tracker->InternGlobalCounterTrack(name);
+    context_->event_tracker->PushCounter(ts, static_cast<double>(*it), track);
+  }
+
   for (auto it = sys_stats.vmstat(); it; ++it) {
     protos::pbzero::SysStats::VmstatValue::Decoder vm(*it);
     auto key = static_cast<size_t>(vm.key());
diff --git a/src/trace_processor/metrics/sql/android/android_netperf.sql b/src/trace_processor/metrics/sql/android/android_netperf.sql
index 6471d94..eb773ab 100644
--- a/src/trace_processor/metrics/sql/android/android_netperf.sql
+++ b/src/trace_processor/metrics/sql/android/android_netperf.sql
@@ -68,6 +68,16 @@
   WHERE
     t.name = "TCP Retransmit Skb";
 
+DROP VIEW IF EXISTS kfree_skb_count;
+CREATE VIEW kfree_skb_count AS
+  SELECT
+     MAX(value) AS cnt
+  FROM counter c
+  LEFT JOIN track t
+    ON c.track_id = t.id
+  WHERE
+    t.name = "Kfree Skb IP Prot";
+
 DROP VIEW IF EXISTS device_per_core_ingress_traffic;
 CREATE VIEW device_per_core_ingress_traffic AS
   SELECT
@@ -276,6 +286,11 @@
       SELECT
         (SELECT cnt FROM tcp_retransmitted_count) * 100.0 / COUNT(1)
       FROM tx_packets
+    ),
+    'kfree_skb_rate', (
+      SELECT
+        cnt * 100.0 / ((SELECT count(1) FROM rx_packets) + (SELECT count(1) FROM tx_packets))
+      FROM kfree_skb_count
     )
   );
 
diff --git a/src/trace_processor/metrics/sql/android/android_startup.sql b/src/trace_processor/metrics/sql/android/android_startup.sql
index c097ece..fda4553 100644
--- a/src/trace_processor/metrics/sql/android/android_startup.sql
+++ b/src/trace_processor/metrics/sql/android/android_startup.sql
@@ -270,36 +270,21 @@
 DROP TABLE IF EXISTS long_binder_transactions;
 CREATE TABLE long_binder_transactions AS
 SELECT
-  slice_id, arg_set_id, launch_id, slice_dur, thread_name
-FROM
-  main_process_slice_unaggregated
-WHERE
-  slice_name = 'binder transaction'
-  AND slice_dur >= 5e7;
-
-DROP TABLE IF EXISTS binder_to_destination_process;
-CREATE TABLE binder_to_destination_process AS
-SELECT
-  s.slice_id, process.name AS destination_process
-FROM long_binder_transactions s
-JOIN args USING(arg_set_id)
-JOIN process ON(args.int_value = process.pid)
-WHERE args.key = 'destination process';
-
--- Enriched binder transactions.
-DROP TABLE IF EXISTS long_binder_transactions_enriched;
-CREATE TABLE long_binder_transactions_enriched AS
-SELECT
+  s.slice_id,
   s.launch_id,
   s.slice_dur,
   s.thread_name,
   EXTRACT_ARG(s.arg_set_id, 'destination name') AS destination_thread,
-  bdp.destination_process,
+  process.name AS destination_process,
   EXTRACT_ARG(s.arg_set_id, 'flags') AS flags,
   EXTRACT_ARG(s.arg_set_id, 'code') AS code,
   EXTRACT_ARG(s.arg_set_id, 'data_size') AS data_size
-FROM long_binder_transactions s
-LEFT JOIN binder_to_destination_process bdp USING(slice_id);
+FROM
+  main_process_slice_unaggregated s
+JOIN process ON (EXTRACT_ARG(s.arg_set_id, 'destination process') = process.pid)
+WHERE
+  s.slice_name = 'binder transaction' AND
+  s.slice_dur >= 5e7;
 
 SELECT CREATE_FUNCTION(
   'MAIN_PROCESS_SLICE_PROTO(launch_id LONG, name STRING)',
@@ -352,7 +337,7 @@
         'code', lbt.code,
         'data_size', lbt.data_size
       ))
-      FROM long_binder_transactions_enriched lbt
+      FROM long_binder_transactions lbt
       WHERE lbt.launch_id = launches.id
     ),
     'zygote_new_process', EXISTS(SELECT TRUE FROM zygote_forks_by_id WHERE id = launches.id),
diff --git a/src/trace_processor/metrics/sql/android/android_sysui_cuj.sql b/src/trace_processor/metrics/sql/android/android_sysui_cuj.sql
index 48b5b41..9785e32 100644
--- a/src/trace_processor/metrics/sql/android/android_sysui_cuj.sql
+++ b/src/trace_processor/metrics/sql/android/android_sysui_cuj.sql
@@ -32,7 +32,7 @@
   WHERE
     slice.name GLOB 'J<*>'
     -- Filter out CUJs that are <4ms long - assuming CUJ was cancelled.
-    AND slice.dur > 4000000
+    AND slice.dur > 4e6
     AND (
       process.name GLOB 'com.google.android*'
       OR process.name GLOB 'com.android.*')
@@ -64,8 +64,8 @@
     CAST(e.name as INTEGER) as vsync,
     e.ts as ts_expected,
     e.dur as dur_expected,
-    MIN(a.ts) as ts_actual,
-    MAX(a.dur) as dur_actual
+    MIN(a.ts) as ts_actual_min,
+    MAX(a.ts + a.dur) as ts_end_actual_max
   FROM android_sysui_cuj_last_cuj cuj
   JOIN expected_frame_timeline_slice e USING (upid)
   JOIN android_sysui_cuj_vsync_boundaries vsync
@@ -111,7 +111,7 @@
 -- This may cause the actual/expected timeline to be misaligned with the rest
 -- of the trace for a short period.
 -- Do not use the timelines if it seems that this happened.
-AND slices.ts >= fte.ts_actual AND slices.ts <= (fte.ts_actual + fte.dur_actual);
+AND slices.ts >= fte.ts_actual_min - 1e6 AND slices.ts <= fte.ts_end_actual_max;
 
 DROP TABLE IF EXISTS android_sysui_cuj_ts_boundaries;
 CREATE TABLE android_sysui_cuj_ts_boundaries AS
@@ -342,7 +342,7 @@
     ON rts.ts >= f.ts_render_thread_start AND rts.ts < f.ts_render_thread_end
   WHERE rts.name = 'shader_compile'
   AND f.app_missed
-  AND rts.dur > 8000000
+  AND rts.dur > 8e6
 
   UNION ALL
   SELECT
@@ -352,7 +352,7 @@
   JOIN android_sysui_cuj_render_thread_slices_in_cuj rts
     ON rts.ts >= f.ts_render_thread_start AND rts.ts < f.ts_render_thread_end
   WHERE rts.name = 'flush layers'
-  AND rts.dur > 8000000
+  AND rts.dur > 8e6
   AND f.app_missed
 
   UNION ALL
@@ -364,7 +364,7 @@
     ((state = 'D' OR state = 'DK') AND io_wait)
     OR (state = 'DK' AND io_wait IS NULL)
   GROUP BY frame_number
-  HAVING SUM(dur) > 8000000
+  HAVING SUM(dur) > 8e6
 
   UNION ALL
   SELECT
@@ -373,7 +373,11 @@
   FROM android_sysui_cuj_main_thread_state
   WHERE (state = 'R' OR state = 'R+')
   GROUP BY frame_number
-  HAVING SUM(dur) > 8000000
+  HAVING SUM(dur) > 8e6
+  AND SUM(dur) > (
+    SELECT 0.4 * dur_main_thread
+    FROM android_sysui_cuj_frames fs
+    WHERE fs.frame_number = android_sysui_cuj_main_thread_state.frame_number)
 
   UNION ALL
   SELECT
@@ -384,7 +388,7 @@
     ((state = 'D' OR state = 'DK') AND io_wait)
     OR (state = 'DK' AND io_wait IS NULL)
   GROUP BY frame_number
-  HAVING SUM(dur) > 8000000
+  HAVING SUM(dur) > 8e6
 
   UNION ALL
   SELECT
@@ -393,14 +397,18 @@
   FROM android_sysui_cuj_render_thread_state
   WHERE (state = 'R' OR state = 'R+')
   GROUP BY frame_number
-  HAVING SUM(dur) > 8000000
+  HAVING SUM(dur) > 8e6
+  AND SUM(dur) > (
+    SELECT 0.4 * dur_render_thread
+    FROM android_sysui_cuj_frames fs
+    WHERE fs.frame_number = android_sysui_cuj_render_thread_state.frame_number)
 
   UNION ALL
   SELECT
   frame_number,
   'MainThread - binder transaction time' AS jank_cause
   FROM android_sysui_cuj_main_thread_binder
-  WHERE dur > 8000000
+  WHERE dur > 8e6
 
   UNION ALL
   SELECT
@@ -414,7 +422,7 @@
   frame_number,
   'GPU completion - long completion time' AS jank_cause
   FROM android_sysui_cuj_missed_frames f
-  WHERE dur_gcs > 8000000
+  WHERE dur_gcs > 8e6
   AND app_missed
 
   UNION ALL
@@ -426,7 +434,7 @@
   WHERE
     mts.state = 'Running'
     AND rts.state = 'Running'
-    AND mts.dur + rts.dur > 15000000
+    AND mts.dur + rts.dur > 15e6
 
   UNION ALL
   SELECT
@@ -436,7 +444,7 @@
   JOIN android_sysui_cuj_jit_slices_join_table jit USING (frame_number)
   WHERE f.app_missed
   GROUP BY f.frame_number
-  HAVING SUM(jit.dur) > 8000000
+  HAVING SUM(jit.dur) > 8e6
 
   UNION ALL
   SELECT frame_number, jank_cause FROM android_sysui_cuj_sf_jank_causes
diff --git a/src/trace_processor/metrics/sql/android/process_metadata.sql b/src/trace_processor/metrics/sql/android/process_metadata.sql
index 6873bb2..7167e12 100644
--- a/src/trace_processor/metrics/sql/android/process_metadata.sql
+++ b/src/trace_processor/metrics/sql/android/process_metadata.sql
@@ -26,7 +26,8 @@
 CREATE TABLE process_metadata_table AS
 SELECT
   process.upid,
-  -- TODO(b/169226092) remove this workaround
+  -- workaround for b/169226092: the bug has been fixed it Android T, but
+  -- we support ingesting traces from older Android versions.
   CASE
       -- cmdline gets rewritten after fork, if these are still there we must
       -- have seen a racy capture.
diff --git a/src/trace_processor/metrics/sql/chrome/scroll_jank_cause_queuing_delay.sql b/src/trace_processor/metrics/sql/chrome/scroll_jank_cause_queuing_delay.sql
index 35220d9..dad1cf3 100644
--- a/src/trace_processor/metrics/sql/chrome/scroll_jank_cause_queuing_delay.sql
+++ b/src/trace_processor/metrics/sql/chrome/scroll_jank_cause_queuing_delay.sql
@@ -314,7 +314,6 @@
   GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20
   ORDER BY descendant_cpu_percentage DESC;
 
-
 SELECT CREATE_FUNCTION(
   -- Function prototype: takes a '-' separated list of slice names (formed by
   -- the GROUP_CONCAT above) and returns the first slice if any or NULL
@@ -333,6 +332,58 @@
 );
 
 SELECT CREATE_FUNCTION(
+  -- Function prototype: takes a '-' separated list of slice names (formed by
+  -- the GROUP_CONCAT above) and checks for certain important view names and
+  -- falls back on GetFirstSliceNameOrNull if it can't find one.
+  'GetJavaSliceSummaryOrNull(name STRING)',
+  -- Returns the summary of the provided list of java slice names.
+  'STRING',
+  -- Performs a bunch of GLOB matches in an order, now there could be multiple
+  -- matches (both Toolbar & TabList could be true) so the order matters in
+  -- tagging since we don't support multiple tagging of values. Ideally we would
+  -- determine which one was the longest duration, but this should be sufficient
+  -- for now.
+  'SELECT
+    CASE WHEN $name GLOB "*ToolbarControlContainer*" THEN
+      "ToolbarControlContainer"
+    WHEN $name GLOB "*ToolbarProgressBar*" THEN
+      "ToolbarProgressBar"
+    WHEN $name GLOB "*TabGroupUiToolbarView*" THEN
+      "TabGroupUiToolbarView"
+    WHEN $name GLOB "*TabGridThumbnailView*" THEN
+      "TabGridThumbnailView"
+    WHEN $name GLOB "*TabGridDialogView*" THEN
+      "TabGridDialogView"
+    WHEN $name GLOB "*BottomContainer*" THEN
+      "BottomContainer"
+    WHEN $name GLOB "*FeedSwipeRefreshLayout*" THEN
+      "FeedSwipeRefreshLayout"
+    WHEN $name GLOB "*AutocompleteEditText*" THEN
+      "AutocompleteEditText"
+    WHEN $name GLOB "*HomeButton*" THEN
+      "HomeButton"
+    WHEN $name GLOB "*ToggleTabStackButton*" THEN
+      "ToggleTabStackButton"
+    WHEN $name GLOB "*ListMenuButton*" THEN
+      "ListMenuButton"
+    WHEN $name GLOB "*ScrimView*" THEN
+      "ScrimView"
+    WHEN $name GLOB "*ChromeImageView*" THEN
+      "ChromeImageView"
+    WHEN $name GLOB "*AppCompatImageView*" THEN
+      "AppCompatImageView"
+    WHEN $name GLOB "*ChromeImageButton*" THEN
+      "ChromeImageButton"
+    WHEN $name GLOB "*AppCompatImageButton*" THEN
+      "AppCompatImageButton"
+    WHEN $name GLOB "*TabListRecyclerView*" THEN
+      "TabListRecyclerView"
+    ELSE
+      GetFirstSliceNameOrNull($name)
+    END'
+);
+
+SELECT CREATE_FUNCTION(
   -- Function prototype: takes slice name, category and descendant_name and
   -- determines if this event should be classified as unknown or not.
   'UnknownEventOrEmptyString(name STRING, cat STRING, has_descendant STRING)',
@@ -394,7 +445,7 @@
     TopLevelName(name, function, file) || COALESCE(
       "-" || GetFirstSliceNameOrNull(mojom_name),
       "-" || GetFirstSliceNameOrNull(toplevel_name),
-      "-" || GetFirstSliceNameOrNull(java_name),
+      "-" || GetJavaSliceSummaryOrNull(java_name),
       UnknownEventOrEmptyString(name, category, descendant_name)
     ) AS restricted_location,
     base.*
diff --git a/src/trace_processor/rpc/httpd.cc b/src/trace_processor/rpc/httpd.cc
index 7b467a6..2e876b1 100644
--- a/src/trace_processor/rpc/httpd.cc
+++ b/src/trace_processor/rpc/httpd.cc
@@ -173,9 +173,14 @@
   }
 
   if (req.uri == "/parse") {
-    trace_processor_rpc_.Parse(
+    base::Status status = trace_processor_rpc_.Parse(
         reinterpret_cast<const uint8_t*>(req.body.data()), req.body.size());
-    return conn.SendResponse("200 OK", headers);
+    protozero::HeapBuffered<protos::pbzero::AppendTraceDataResult> result;
+    if (!status.ok()) {
+      result->set_error(status.c_message());
+    }
+    return conn.SendResponse("200 OK", headers,
+                             Vec2Sv(result.SerializeAsArray()));
   }
 
   if (req.uri == "/notify_eof") {
diff --git a/src/trace_processor/sqlite/db_sqlite_table.cc b/src/trace_processor/sqlite/db_sqlite_table.cc
index b6897e1..272151c 100644
--- a/src/trace_processor/sqlite/db_sqlite_table.cc
+++ b/src/trace_processor/sqlite/db_sqlite_table.cc
@@ -50,6 +50,15 @@
     case SQLITE_INDEX_CONSTRAINT_LIKE:
     case SQLITE_INDEX_CONSTRAINT_GLOB:
       return base::nullopt;
+#if SQLITE_VERSION_NUMBER >= 3038000
+    // LIMIT and OFFSET constraints were introduced in 3.38 but we
+    // still build for older versions in most places. We still need
+    // to handle this here as Chrome is very good at staying up to date
+    // with SQLite versions and crashes if we don't have this.
+    case SQLITE_INDEX_CONSTRAINT_LIMIT:
+    case SQLITE_INDEX_CONSTRAINT_OFFSET:
+      return base::nullopt;
+#endif
     default:
       PERFETTO_FATAL("Currently unsupported constraint");
   }
@@ -123,7 +132,7 @@
 
   // Figure out if the table needs explicit args (in the form of constraints
   // on hidden columns) passed to it in order to make the query valid.
-  util::Status status = generator->ValidateConstraints(
+  base::Status status = generator->ValidateConstraints(
       QueryConstraints(std::numeric_limits<uint64_t>::max()));
   bool requires_args = !status.ok();
 
@@ -133,9 +142,9 @@
                                                 false, requires_args);
 }
 
-util::Status DbSqliteTable::Init(int, const char* const*, Schema* schema) {
+base::Status DbSqliteTable::Init(int, const char* const*, Schema* schema) {
   *schema = ComputeSchema(schema_, name().c_str());
-  return util::OkStatus();
+  return base::OkStatus();
 }
 
 SqliteTable::Schema DbSqliteTable::ComputeSchema(const Table::Schema& schema,
@@ -169,7 +178,7 @@
       BestIndex(schema_, static_table_->row_count(), qc, info);
       break;
     case TableComputation::kDynamic:
-      util::Status status = generator_->ValidateConstraints(qc);
+      base::Status status = generator_->ValidateConstraints(qc);
       if (!status.ok())
         return SQLITE_CONSTRAINT;
       BestIndex(schema_, generator_->EstimateRowCount(), qc, info);
@@ -291,9 +300,13 @@
       break;
     const auto& col_schema = schema.columns[static_cast<uint32_t>(c.column)];
     if (sqlite_utils::IsOpEq(c.op) && col_schema.is_id) {
-      // If we have an id equality constraint, it's a bit expensive to find
-      // the exact row but it filters down to a single row.
-      filter_cost += 100;
+      // If we have an id equality constraint, we can very efficiently filter
+      // down to a single row in C++. However, if we're joining with another
+      // table, SQLite will do this once per row which can be extremely
+      // expensive because of all the virtual table (which is implemented using
+      // virtual function calls) machinery. Indicate this by saying that an
+      // entire filter call is ~10x the cost of iterating a single row.
+      filter_cost += 10;
       current_row_count = 1;
     } else if (sqlite_utils::IsOpEq(c.op)) {
       // If there is only a single equality constraint, we have special logic
@@ -304,12 +317,26 @@
       // search logic so we have the same low cost (even better because we don't
       // have to sort at all).
       filter_cost += cs.size() == 1 || col_schema.is_sorted
-                         ? (2 * current_row_count) / log2(current_row_count)
+                         ? log2(current_row_count)
                          : current_row_count;
 
-      // We assume that an equalty constraint will cut down the number of rows
-      // by approximate log of the number of rows.
-      double estimated_rows = current_row_count / log2(current_row_count);
+      // As an extremely rough heuristic, assume that an equalty constraint will
+      // cut down the number of rows by approximately double log of the number
+      // of rows.
+      double estimated_rows = current_row_count / (2 * log2(current_row_count));
+      current_row_count = std::max(static_cast<uint32_t>(estimated_rows), 1u);
+    } else if (col_schema.is_sorted &&
+               (sqlite_utils::IsOpLe(c.op) || sqlite_utils::IsOpLt(c.op) ||
+                sqlite_utils::IsOpGt(c.op) || sqlite_utils::IsOpGe(c.op))) {
+      // On a sorted column, if we see any partition constraints, we can do this
+      // filter very efficiently. Model this using the log of the  number of
+      // rows as a good approximation.
+      filter_cost += log2(current_row_count);
+
+      // As an extremely rough heuristic, assume that an partition constraint
+      // will cut down the number of rows by approximately double log of the
+      // number of rows.
+      double estimated_rows = current_row_count / (2 * log2(current_row_count));
       current_row_count = std::max(static_cast<uint32_t>(estimated_rows), 1u);
     } else {
       // Otherwise, we will need to do a full table scan and we estimate we will
@@ -326,7 +353,7 @@
       static_cast<double>(qc.order_by().size() * current_row_count) *
       log2(current_row_count);
 
-  // The cost of iterating rows is more expensive than filtering the rows
+  // The cost of iterating rows is more expensive than just filtering the rows
   // so multiply by an appropriate factor.
   double iteration_cost = current_row_count * 2.0;
 
@@ -400,10 +427,6 @@
 int DbSqliteTable::Cursor::Filter(const QueryConstraints& qc,
                                   sqlite3_value** argv,
                                   FilterHistory history) {
-  PERFETTO_TP_TRACE("DB_TABLE_XFILTER", [this](metatrace::Record* r) {
-    r->AddArg("Table", db_sqlite_table_->name());
-  });
-
   // Clear out the iterator before filtering to ensure the destructor is run
   // before the table's destructor.
   iterator_ = base::nullopt;
@@ -451,13 +474,21 @@
       });
       // If we have a dynamically created table, regenerate the table based on
       // the new constraints.
+      std::unique_ptr<Table> computed_table;
       BitVector cols_used_bv = ColsUsedBitVector(
           qc.cols_used(), db_sqlite_table_->schema_.columns.size());
-      dynamic_table_ = db_sqlite_table_->generator_->ComputeTable(
-          constraints_, orders_, cols_used_bv);
-      upstream_table_ = dynamic_table_.get();
-      if (!upstream_table_)
+      auto status = db_sqlite_table_->generator_->ComputeTable(
+          constraints_, orders_, cols_used_bv, computed_table);
+
+      if (!status.ok()) {
+        auto* sqlite_err = sqlite3_mprintf(
+            "%s: %s", db_sqlite_table_->name().c_str(), status.c_message());
+        db_sqlite_table_->SetErrorMessage(sqlite_err);
         return SQLITE_CONSTRAINT;
+      }
+      PERFETTO_DCHECK(computed_table);
+      dynamic_table_ = std::move(computed_table);
+      upstream_table_ = dynamic_table_.get();
       break;
     }
   }
@@ -517,6 +548,7 @@
           break;
         }
       }
+      r->AddArg("Table", db_sqlite_table_->name());
       r->AddArg("Constraint", writer.GetStringView());
     }
 
diff --git a/src/trace_processor/sqlite/db_sqlite_table.h b/src/trace_processor/sqlite/db_sqlite_table.h
index 1e713b2..e1a35b8 100644
--- a/src/trace_processor/sqlite/db_sqlite_table.h
+++ b/src/trace_processor/sqlite/db_sqlite_table.h
@@ -57,17 +57,19 @@
 
     // Checks that the constraint set is valid.
     //
-    // Returning util::OkStatus means that the required constraints are present
+    // Returning base::OkStatus means that the required constraints are present
     // in |qc| for dynamically computing the table (e.g. any required
     // constraints on hidden columns for table-valued functions are present).
-    virtual util::Status ValidateConstraints(const QueryConstraints& qc) = 0;
+    virtual base::Status ValidateConstraints(const QueryConstraints& qc) = 0;
 
     // Dynamically computes the table given the constraints and order by
     // vectors.
-    virtual std::unique_ptr<Table> ComputeTable(
-        const std::vector<Constraint>& cs,
-        const std::vector<Order>& ob,
-        const BitVector& cols_used) = 0;
+    // The table is returned via |table_return|. There are no guarantees on
+    // its value if the method returns a non-ok status.
+    virtual base::Status ComputeTable(const std::vector<Constraint>& cs,
+                                      const std::vector<Order>& ob,
+                                      const BitVector& cols_used,
+                                      std::unique_ptr<Table>& table_return) = 0;
   };
 
   class Cursor : public SqliteTable::Cursor {
@@ -166,7 +168,7 @@
   virtual ~DbSqliteTable() override;
 
   // Table implementation.
-  util::Status Init(int,
+  base::Status Init(int,
                     const char* const*,
                     SqliteTable::Schema*) override final;
   std::unique_ptr<SqliteTable::Cursor> CreateCursor() override;
diff --git a/src/trace_processor/sqlite/sqlite_raw_table.cc b/src/trace_processor/sqlite/sqlite_raw_table.cc
index 74475f0..e579fda 100644
--- a/src/trace_processor/sqlite/sqlite_raw_table.cc
+++ b/src/trace_processor/sqlite/sqlite_raw_table.cc
@@ -406,8 +406,8 @@
     WriteArgForField(IEX::kIrqFieldNumber, DVW());
     writer_->AppendString(" ret=");
     WriteValueForField(IEX::kRetFieldNumber, [this](const Variadic& value) {
-      PERFETTO_DCHECK(value.type == Variadic::Type::kUint);
-      writer_->AppendString(value.uint_value ? "handled" : "unhandled");
+      PERFETTO_DCHECK(value.type == Variadic::Type::kInt);
+      writer_->AppendString(value.int_value ? "handled" : "unhandled");
     });
     return;
   } else if (event_name_ == "softirq_entry") {
diff --git a/src/trace_processor/sqlite/sqlite_table.cc b/src/trace_processor/sqlite/sqlite_table.cc
index 6fad97b..4336e4f 100644
--- a/src/trace_processor/sqlite/sqlite_table.cc
+++ b/src/trace_processor/sqlite/sqlite_table.cc
@@ -16,9 +16,7 @@
 
 #include "src/trace_processor/sqlite/sqlite_table.h"
 
-#include <ctype.h>
 #include <string.h>
-
 #include <algorithm>
 #include <cinttypes>
 #include <map>
@@ -46,6 +44,66 @@
   PERFETTO_FATAL("Not reached");  // For gcc
 }
 
+std::string OpToString(int op) {
+  switch (op) {
+    case SQLITE_INDEX_CONSTRAINT_EQ:
+      return "=";
+    case SQLITE_INDEX_CONSTRAINT_NE:
+      return "!=";
+    case SQLITE_INDEX_CONSTRAINT_GE:
+      return ">=";
+    case SQLITE_INDEX_CONSTRAINT_GT:
+      return ">";
+    case SQLITE_INDEX_CONSTRAINT_LE:
+      return "<=";
+    case SQLITE_INDEX_CONSTRAINT_LT:
+      return "<";
+    case SQLITE_INDEX_CONSTRAINT_LIKE:
+      return "like";
+    case SQLITE_INDEX_CONSTRAINT_ISNULL:
+      return "is null";
+    case SQLITE_INDEX_CONSTRAINT_ISNOTNULL:
+      return "is not null";
+    case SQLITE_INDEX_CONSTRAINT_GLOB:
+      return "glob";
+    default:
+      PERFETTO_FATAL("Operator to string conversion not impemented for %d", op);
+  }
+}
+
+std::string QcDebugStr(const QueryConstraints& qc,
+                       const SqliteTable::Schema& schema) {
+  std::string str_result;
+  str_result.reserve(512);
+
+  str_result.append("C");
+  str_result.append(std::to_string(qc.constraints().size()));
+  str_result.append(",");
+  for (const auto& cs : qc.constraints()) {
+    str_result.append(schema.columns()[static_cast<size_t>(cs.column)].name());
+    str_result.append(" ");
+    str_result.append(OpToString(cs.op));
+    str_result.append(",");
+  }
+  str_result.back() = ';';
+
+  str_result.append("O");
+  str_result.append(std::to_string(qc.order_by().size()));
+  str_result.append(",");
+  for (const auto& ob : qc.order_by()) {
+    str_result.append(schema.columns()[static_cast<size_t>(ob.iColumn)].name());
+    str_result.append(" ");
+    str_result.append(std::to_string(ob.desc));
+    str_result.append(",");
+  }
+  str_result.back() = ';';
+
+  str_result.append("U");
+  str_result.append(std::to_string(qc.cols_used()));
+
+  return str_result;
+}
+
 }  // namespace
 
 // static
@@ -126,7 +184,7 @@
     PERFETTO_LOG(
         "[%s::BestIndex] constraints=%s orderByConsumed=%d estimatedCost=%f "
         "estimatedRows=%" PRId64,
-        name_.c_str(), out_qc_str.get(), idx->orderByConsumed,
+        name_.c_str(), QcDebugStr(qc, schema()).c_str(), idx->orderByConsumed,
         idx->estimatedCost, static_cast<int64_t>(idx->estimatedRows));
   }
 
@@ -162,7 +220,7 @@
   // happens precisely when the constraint set from SQLite changes.)
   if (SqliteTable::debug && !cache_hit) {
     PERFETTO_LOG("[%s::ParseConstraints] constraints=%s argc=%d", name_.c_str(),
-                 idxStr, argc);
+                 QcDebugStr(qc_cache_, schema_).c_str(), argc);
   }
   return cache_hit;
 }
diff --git a/src/trace_processor/sqlite/sqlite_utils.h b/src/trace_processor/sqlite/sqlite_utils.h
index 5315b0c..ad2a232 100644
--- a/src/trace_processor/sqlite/sqlite_utils.h
+++ b/src/trace_processor/sqlite/sqlite_utils.h
@@ -35,10 +35,18 @@
 inline bool IsOpEq(int op) {
   return op == SQLITE_INDEX_CONSTRAINT_EQ;
 }
-
 inline bool IsOpLe(int op) {
   return op == SQLITE_INDEX_CONSTRAINT_LE;
 }
+inline bool IsOpLt(int op) {
+  return op == SQLITE_INDEX_CONSTRAINT_LT;
+}
+inline bool IsOpGe(int op) {
+  return op == SQLITE_INDEX_CONSTRAINT_GE;
+}
+inline bool IsOpGt(int op) {
+  return op == SQLITE_INDEX_CONSTRAINT_GT;
+}
 
 inline SqlValue::Type SqliteTypeToSqlValueType(int sqlite_type) {
   switch (sqlite_type) {
diff --git a/src/trace_processor/storage/metadata.h b/src/trace_processor/storage/metadata.h
index 7c4e56d..70e5e60 100644
--- a/src/trace_processor/storage/metadata.h
+++ b/src/trace_processor/storage/metadata.h
@@ -29,30 +29,31 @@
 // Compile time list of metadata items.
 // clang-format off
 #define PERFETTO_TP_METADATA(F)                                               \
+  F(all_data_source_started_ns,        KeyType::kSingle,  Variadic::kInt),    \
+  F(android_build_fingerprint,         KeyType::kSingle,  Variadic::kString), \
+  F(android_sdk_version,               KeyType::kSingle,  Variadic::kInt),    \
   F(benchmark_description,             KeyType::kSingle,  Variadic::kString), \
-  F(benchmark_name,                    KeyType::kSingle,  Variadic::kString), \
-  F(benchmark_start_time_us,           KeyType::kSingle,  Variadic::kInt),    \
   F(benchmark_had_failures,            KeyType::kSingle,  Variadic::kInt),    \
   F(benchmark_label,                   KeyType::kSingle,  Variadic::kString), \
+  F(benchmark_name,                    KeyType::kSingle,  Variadic::kString), \
+  F(benchmark_start_time_us,           KeyType::kSingle,  Variadic::kInt),    \
   F(benchmark_story_name,              KeyType::kSingle,  Variadic::kString), \
   F(benchmark_story_run_index,         KeyType::kSingle,  Variadic::kInt),    \
   F(benchmark_story_run_time_us,       KeyType::kSingle,  Variadic::kInt),    \
   F(benchmark_story_tags,              KeyType::kMulti,   Variadic::kString), \
+  F(ftrace_setup_errors,               KeyType::kSingle,  Variadic::kString), \
   F(statsd_triggering_subscription_id, KeyType::kSingle,  Variadic::kInt),    \
-  F(trace_uuid,                        KeyType::kSingle,  Variadic::kString), \
-  F(unique_session_name,               KeyType::kSingle,  Variadic::kString), \
-  F(system_name,                       KeyType::kSingle,  Variadic::kString), \
-  F(system_version,                    KeyType::kSingle,  Variadic::kString), \
-  F(system_release,                    KeyType::kSingle,  Variadic::kString), \
   F(system_machine,                    KeyType::kSingle,  Variadic::kString), \
-  F(android_build_fingerprint,         KeyType::kSingle,  Variadic::kString), \
-  F(android_sdk_version,               KeyType::kSingle,  Variadic::kInt),    \
-  F(trace_size_bytes,                  KeyType::kSingle,  Variadic::kInt),    \
-  F(all_data_source_started_ns,        KeyType::kSingle,  Variadic::kInt),    \
-  F(tracing_started_ns,                KeyType::kSingle,  Variadic::kInt),    \
-  F(tracing_disabled_ns,               KeyType::kSingle,  Variadic::kInt),    \
+  F(system_name,                       KeyType::kSingle,  Variadic::kString), \
+  F(system_release,                    KeyType::kSingle,  Variadic::kString), \
+  F(system_version,                    KeyType::kSingle,  Variadic::kString), \
   F(trace_config_pbtxt,                KeyType::kSingle,  Variadic::kString), \
-  F(ui_state,                          KeyType::kSingle,  Variadic::kString)
+  F(trace_size_bytes,                  KeyType::kSingle,  Variadic::kInt),    \
+  F(trace_uuid,                        KeyType::kSingle,  Variadic::kString), \
+  F(tracing_disabled_ns,               KeyType::kSingle,  Variadic::kInt),    \
+  F(tracing_started_ns,                KeyType::kSingle,  Variadic::kInt),    \
+  F(ui_state,                          KeyType::kSingle,  Variadic::kString), \
+  F(unique_session_name,               KeyType::kSingle,  Variadic::kString)
 // clang-format on
 
 // Compile time list of metadata items.
diff --git a/src/trace_processor/storage/stats.h b/src/trace_processor/storage/stats.h
index 4064c80..04480e6 100644
--- a/src/trace_processor/storage/stats.h
+++ b/src/trace_processor/storage/stats.h
@@ -57,6 +57,9 @@
   F(ftrace_cpu_read_events_begin,       kIndexed, kInfo,     kTrace,    ""),   \
   F(ftrace_cpu_read_events_end,         kIndexed, kInfo,     kTrace,    ""),   \
   F(ftrace_cpu_read_events_delta,       kIndexed, kInfo,     kTrace,    ""),   \
+  F(ftrace_setup_errors,                kSingle,  kError,    kTrace,           \
+  "One or more atrace/ftrace categories were not found or failed to enable. "  \
+  "See ftrace_setup_errors in the metadata table for more details."),          \
   F(fuchsia_non_numeric_counters,       kSingle,  kError,    kAnalysis, ""),   \
   F(fuchsia_timestamp_overflow,         kSingle,  kError,    kAnalysis, ""),   \
   F(fuchsia_invalid_event,              kSingle,  kError,    kAnalysis, ""),   \
@@ -92,6 +95,7 @@
   F(stackprofile_parser_error,          kSingle,  kError,    kTrace,    ""),   \
   F(systrace_parse_failure,             kSingle,  kError,    kAnalysis, ""),   \
   F(task_state_invalid,                 kSingle,  kError,    kAnalysis, ""),   \
+  F(traced_buf_abi_violations,          kIndexed, kDataLoss, kTrace,    ""),   \
   F(traced_buf_buffer_size,             kIndexed, kInfo,     kTrace,    ""),   \
   F(traced_buf_bytes_overwritten,       kIndexed, kInfo,     kTrace,    ""),   \
   F(traced_buf_bytes_read,              kIndexed, kInfo,     kTrace,    ""),   \
diff --git a/src/trace_processor/tables/metadata_tables.h b/src/trace_processor/tables/metadata_tables.h
index 27fe0ef..2fad555 100644
--- a/src/trace_processor/tables/metadata_tables.h
+++ b/src/trace_processor/tables/metadata_tables.h
@@ -35,8 +35,9 @@
 
 PERFETTO_TP_TABLE(PERFETTO_TP_RAW_TABLE_DEF);
 
+// @name args
 #define PERFETTO_TP_ARG_TABLE_DEF(NAME, PARENT, C) \
-  NAME(ArgTable, "args")                           \
+  NAME(ArgTable, "internal_args")                  \
   PERFETTO_TP_ROOT_TABLE(PARENT, C)                \
   C(uint32_t, arg_set_id, Column::Flag::kSorted)   \
   C(StringPool::Id, flat_key)                      \
diff --git a/src/trace_processor/trace_processor_impl.cc b/src/trace_processor/trace_processor_impl.cc
index 97db464..42d1d4e 100644
--- a/src/trace_processor/trace_processor_impl.cc
+++ b/src/trace_processor/trace_processor_impl.cc
@@ -307,6 +307,29 @@
     PERFETTO_ELOG("Error initializing: %s", error);
     sqlite3_free(error);
   }
+
+  // This should be kept in sync with GlobalArgsTracker::AddArgSet.
+  sqlite3_exec(db,
+               "CREATE VIEW args AS "
+               "SELECT "
+               "*, "
+               "CASE value_type "
+               "  WHEN 'int' THEN CAST(int_value AS text) "
+               "  WHEN 'uint' THEN CAST(int_value AS text) "
+               "  WHEN 'string' THEN string_value "
+               "  WHEN 'real' THEN CAST(real_value AS text) "
+               "  WHEN 'pointer' THEN printf('0x%x', int_value) "
+               "  WHEN 'bool' THEN ( "
+               "    CASE WHEN int_value <> 0 THEN 'true' "
+               "    ELSE 'false' END) "
+               "  WHEN 'json' THEN string_value "
+               "ELSE NULL END AS display_value "
+               "FROM internal_args;",
+               0, 0, &error);
+  if (error) {
+    PERFETTO_ELOG("Error initializing: %s", error);
+    sqlite3_free(error);
+  }
 }
 
 struct ExportJson : public SqlFunction {
diff --git a/src/trace_processor/trace_processor_shell.cc b/src/trace_processor/trace_processor_shell.cc
index 1050120..2c1afb7 100644
--- a/src/trace_processor/trace_processor_shell.cc
+++ b/src/trace_processor/trace_processor_shell.cc
@@ -667,6 +667,7 @@
   bool force_full_sort = false;
   std::string metatrace_path;
   bool dev = false;
+  bool no_ftrace_raw = false;
 };
 
 void PrintUsage(char** argv) {
@@ -723,7 +724,12 @@
                                       local development use only and
                                       *should not* be enabled on production
                                       builds. The features behind this flag can
-                                      break at any time without any warning.)",
+                                      break at any time without any warning.
+ --no-ftrace-raw                      Prevents ingestion of typed ftrace events
+                                      into the raw table. This significantly
+                                      reduces the memory usage of trace
+                                      processor when loading traces containing
+                                      ftrace events.)",
                 argv[0]);
 }
 
@@ -737,6 +743,7 @@
     OPT_HTTP_PORT,
     OPT_METRIC_EXTENSION,
     OPT_DEV,
+    OPT_NO_FTRACE_RAW,
   };
 
   static const option long_options[] = {
@@ -757,6 +764,7 @@
       {"http-port", required_argument, nullptr, OPT_HTTP_PORT},
       {"metric-extension", required_argument, nullptr, OPT_METRIC_EXTENSION},
       {"dev", no_argument, nullptr, OPT_DEV},
+      {"no-ftrace-raw", no_argument, nullptr, OPT_NO_FTRACE_RAW},
       {nullptr, 0, nullptr, 0}};
 
   bool explicit_interactive = false;
@@ -853,6 +861,11 @@
       continue;
     }
 
+    if (option == OPT_NO_FTRACE_RAW) {
+      command_line_options.no_ftrace_raw = true;
+      continue;
+    }
+
     PrintUsage(argv);
     exit(option == 'h' ? 0 : 1);
   }
@@ -1285,6 +1298,7 @@
   config.sorting_mode = options.force_full_sort
                             ? SortingMode::kForceFullSort
                             : SortingMode::kDefaultHeuristics;
+  config.ingest_ftrace_in_raw_table = !options.no_ftrace_raw;
 
   std::vector<MetricExtension> metric_extensions;
   RETURN_IF_ERROR(ParseMetricExtensionPaths(
diff --git a/src/trace_processor/types/tcp_state.h b/src/trace_processor/types/tcp_state.h
index 1db06de..5ed58ef 100644
--- a/src/trace_processor/types/tcp_state.h
+++ b/src/trace_processor/types/tcp_state.h
@@ -20,12 +20,16 @@
 namespace perfetto {
 namespace trace_processor {
 
-// IPV4 protocol
+// Sock IPV4 Protocol Definition, from include/uapi/linux/in.h.
 constexpr int kAfNet = 2;
-// IPV6 protocol
+// Sock IPV6 Protocol Definition, from include/uapi/linux/in.h.
 constexpr int kAfNet6 = 10;
-// TCP protocol
+// Sock TCP protocol Definition, from include/uapi/linux/in.h.
 constexpr int kIpprotoTcp = 6;
+// Skb IPV4 Protocol Definition, from include/uapi/linux/if_ether.h.
+constexpr int kEthPIp = 0x800;
+// Skb IPV6 Protocol Definition, from include/uapi/linux/if_ether.h.
+constexpr int kEthPIp6 = 0x86DD;
 // TCP protocol states, from include/net/tcp_states.h.
 enum {
   TCP_ESTABLISHED = 1,
diff --git a/src/trace_processor/util/BUILD.gn b/src/trace_processor/util/BUILD.gn
index 82b2c7e..07c8d76 100644
--- a/src/trace_processor/util/BUILD.gn
+++ b/src/trace_processor/util/BUILD.gn
@@ -130,6 +130,7 @@
     "../../../gn:default_deps",
     "../../../gn:gtest_and_gmock",
     "../../../protos/perfetto/common:zero",
+    "../../../protos/perfetto/trace:non_minimal_zero",
     "../../../protos/perfetto/trace/track_event:zero",
     "../../protozero",
     "../../protozero:testing_messages_zero",
diff --git a/src/trace_processor/util/debug_annotation_parser.cc b/src/trace_processor/util/debug_annotation_parser.cc
index 7fa359e..7b49d2d 100644
--- a/src/trace_processor/util/debug_annotation_parser.cc
+++ b/src/trace_processor/util/debug_annotation_parser.cc
@@ -130,6 +130,25 @@
   } else if (annotation.has_nested_value()) {
     return ParseNestedValueArgs(annotation.nested_value(), context_name,
                                 delegate);
+  } else if (annotation.has_proto_value()) {
+    std::string type_name;
+    if (annotation.has_proto_type_name()) {
+      type_name = annotation.proto_type_name().ToStdString();
+    } else if (annotation.has_proto_type_name_iid()) {
+      auto* interned_name = delegate.GetInternedMessage(
+          protos::pbzero::InternedData::kDebugAnnotationValueTypeNames,
+          annotation.proto_type_name_iid());
+      if (!interned_name)
+        return {base::ErrStatus("Interned proto type name not found"), false};
+      type_name = interned_name->name().ToStdString();
+    } else {
+      return {base::ErrStatus("DebugAnnotation has proto_value, but doesn't "
+                              "have proto type name"),
+              false};
+    }
+    return {proto_to_args_parser_.ParseMessage(annotation.proto_value(),
+                                               type_name, nullptr, delegate),
+            true};
   } else {
     return {base::OkStatus(), /*added_entry=*/false};
   }
diff --git a/src/trace_processor/util/debug_annotation_parser_unittest.cc b/src/trace_processor/util/debug_annotation_parser_unittest.cc
index d074e79..55a614f 100644
--- a/src/trace_processor/util/debug_annotation_parser_unittest.cc
+++ b/src/trace_processor/util/debug_annotation_parser_unittest.cc
@@ -20,6 +20,7 @@
 #include "perfetto/protozero/scattered_heap_buffer.h"
 #include "perfetto/trace_processor/trace_blob_view.h"
 #include "protos/perfetto/common/descriptor.pbzero.h"
+#include "protos/perfetto/trace/test_event.pbzero.h"
 #include "protos/perfetto/trace/track_event/debug_annotation.pbzero.h"
 #include "protos/perfetto/trace/track_event/source_location.pbzero.h"
 #include "src/protozero/test/example_proto/test_messages.pbzero.h"
@@ -237,6 +238,33 @@
                                    "root root[1][0] 3", "root root[1][1] 4"));
 }
 
+TEST_F(DebugAnnotationParserTest, TypedMessageInsideUntyped) {
+  protozero::HeapBuffered<protos::pbzero::DebugAnnotation> msg;
+  msg->set_name("root");
+
+  protozero::HeapBuffered<protozero::test::protos::pbzero::EveryField> message;
+  message->set_field_string("value");
+
+  msg->set_proto_type_name(message->GetName());
+  msg->set_proto_value(message.SerializeAsString());
+
+  DescriptorPool pool;
+  auto status = pool.AddFromFileDescriptorSet(kTestMessagesDescriptor.data(),
+                                              kTestMessagesDescriptor.size());
+  EXPECT_TRUE(status.ok()) << "Failed to parse kTestMessagesDescriptor: "
+                           << status.message();
+
+  ProtoToArgsParser args_parser(pool);
+  DebugAnnotationParser parser(args_parser);
+
+  status = ParseDebugAnnotation(parser, msg, *this);
+  EXPECT_TRUE(status.ok()) << "DebugAnnotationParser::Parse failed with error: "
+                           << status.message();
+
+  EXPECT_THAT(args(), testing::ElementsAre(
+                          "root.field_string root.field_string value"));
+}
+
 }  // namespace
 }  // namespace util
 }  // namespace trace_processor
diff --git a/src/trace_processor/util/protozero_to_text.cc b/src/trace_processor/util/protozero_to_text.cc
index ce6b973..cdb60d1 100644
--- a/src/trace_processor/util/protozero_to_text.cc
+++ b/src/trace_processor/util/protozero_to_text.cc
@@ -285,8 +285,9 @@
 std::string ProtozeroToText(const DescriptorPool& pool,
                             const std::string& type,
                             protozero::ConstBytes protobytes,
-                            NewLinesMode new_lines_mode) {
-  std::string indent = "";
+                            NewLinesMode new_lines_mode,
+                            uint32_t initial_indent_depth) {
+  std::string indent = std::string(2 * initial_indent_depth, ' ');
   std::string final_result;
   ProtozeroToTextInternal(type, protobytes, new_lines_mode, pool, &indent,
                           &final_result);
diff --git a/src/trace_processor/util/protozero_to_text.h b/src/trace_processor/util/protozero_to_text.h
index c2082f9..c7b793b 100644
--- a/src/trace_processor/util/protozero_to_text.h
+++ b/src/trace_processor/util/protozero_to_text.h
@@ -28,6 +28,8 @@
 
 namespace protozero_to_text {
 
+// If |new_lines_modes| == kIncludeNewLines, new lines will be used between
+// fields, otherwise only a space will be used.
 enum NewLinesMode {
   kIncludeNewLines = 0,
   kSkipNewLines,
@@ -47,13 +49,13 @@
 
 // Given a protozero message |protobytes| which is of fully qualified name
 // |type|, convert this into a text proto format string. All types used in
-// message definition of |type| must be available in |pool|. If
-// |new_lines_modes| == kIncludeNewLines, new lines will be used between fields,
-// otherwise only a space will be used.
-std::string ProtozeroToText(const DescriptorPool& pool,
-                            const std::string& type,
-                            protozero::ConstBytes protobytes,
-                            NewLinesMode new_lines_mode);
+// message definition of |type| must be available in |pool|.
+std::string ProtozeroToText(
+    const DescriptorPool& pool,
+    const std::string& type,
+    protozero::ConstBytes protobytes,
+    NewLinesMode new_lines_mode = NewLinesMode::kIncludeNewLines,
+    uint32_t initial_indent_depth = 0);
 
 std::string ProtozeroToText(const DescriptorPool& pool,
                             const std::string& type,
diff --git a/src/traced/probes/android_log/android_log_data_source.cc b/src/traced/probes/android_log/android_log_data_source.cc
index 286d138..4d8d309 100644
--- a/src/traced/probes/android_log/android_log_data_source.cc
+++ b/src/traced/probes/android_log/android_log_data_source.cc
@@ -89,6 +89,7 @@
 const ProbesDataSource::Descriptor AndroidLogDataSource::descriptor = {
     /*name*/ "android.log",
     /*flags*/ Descriptor::kFlagsNone,
+    /*fill_descriptor_func*/ nullptr,
 };
 
 AndroidLogDataSource::AndroidLogDataSource(DataSourceConfig ds_config,
diff --git a/src/traced/probes/filesystem/inode_file_data_source.cc b/src/traced/probes/filesystem/inode_file_data_source.cc
index 5362f2c..8185a6e 100644
--- a/src/traced/probes/filesystem/inode_file_data_source.cc
+++ b/src/traced/probes/filesystem/inode_file_data_source.cc
@@ -83,6 +83,7 @@
 const ProbesDataSource::Descriptor InodeFileDataSource::descriptor = {
     /*name*/ "linux.inode_file_map",
     /*flags*/ Descriptor::kFlagsNone,
+    /*fill_descriptor_func*/ nullptr,
 };
 
 void CreateStaticDeviceToInodeMap(
@@ -106,7 +107,7 @@
 }
 
 InodeFileDataSource::InodeFileDataSource(
-    DataSourceConfig ds_config,
+    const DataSourceConfig& ds_config,
     base::TaskRunner* task_runner,
     TracingSessionID session_id,
     std::map<BlockDeviceID, std::unordered_map<Inode, InodeMapValue>>*
diff --git a/src/traced/probes/filesystem/inode_file_data_source.h b/src/traced/probes/filesystem/inode_file_data_source.h
index 54a5d4d..62cc4d7 100644
--- a/src/traced/probes/filesystem/inode_file_data_source.h
+++ b/src/traced/probes/filesystem/inode_file_data_source.h
@@ -56,7 +56,7 @@
   static const ProbesDataSource::Descriptor descriptor;
 
   InodeFileDataSource(
-      DataSourceConfig,
+      const DataSourceConfig&,
       base::TaskRunner*,
       TracingSessionID,
       std::map<BlockDeviceID, std::unordered_map<Inode, InodeMapValue>>*
diff --git a/src/traced/probes/ftrace/BUILD.gn b/src/traced/probes/ftrace/BUILD.gn
index dcc8ca1..a047684 100644
--- a/src/traced/probes/ftrace/BUILD.gn
+++ b/src/traced/probes/ftrace/BUILD.gn
@@ -113,6 +113,7 @@
     "..:data_source",
     "../../../../gn:default_deps",
     "../../../../include/perfetto/ext/traced",
+    "../../../../protos/perfetto/common:zero",
     "../../../../protos/perfetto/trace:zero",
     "../../../../protos/perfetto/trace/interned_data:zero",
     "../../../../protos/perfetto/trace/profiling:zero",
diff --git a/src/traced/probes/ftrace/atrace_wrapper.cc b/src/traced/probes/ftrace/atrace_wrapper.cc
index 22523f1..632c131 100644
--- a/src/traced/probes/ftrace/atrace_wrapper.cc
+++ b/src/traced/probes/ftrace/atrace_wrapper.cc
@@ -43,7 +43,8 @@
 
 #if PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
 // Args should include "atrace" for argv[0].
-bool ExecvAtrace(const std::vector<std::string>& args) {
+bool ExecvAtrace(const std::vector<std::string>& args,
+                 std::string* atrace_errors) {
   int status = 1;
 
   std::vector<char*> argv;
@@ -163,20 +164,22 @@
   PERFETTO_EINTR(waitpid(pid, &status, 0));
 
   bool ok = WIFEXITED(status) && WEXITSTATUS(status) == 0;
-  if (!ok) {
+  if (!ok)
     PERFETTO_ELOG("%s", error.c_str());
-  }
+  if (atrace_errors)
+    atrace_errors->append(error);
   return ok;
 }
 #endif
 
 }  // namespace
 
-bool RunAtrace(const std::vector<std::string>& args) {
+bool RunAtrace(const std::vector<std::string>& args,
+               std::string* atrace_errors) {
   if (g_run_atrace_for_testing)
-    return g_run_atrace_for_testing(args);
+    return g_run_atrace_for_testing(args, atrace_errors);
 #if PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
-  return ExecvAtrace(args);
+  return ExecvAtrace(args, atrace_errors);
 #else
   PERFETTO_LOG("Atrace only supported on Android.");
   return false;
diff --git a/src/traced/probes/ftrace/atrace_wrapper.h b/src/traced/probes/ftrace/atrace_wrapper.h
index 91f02cb..29847aa 100644
--- a/src/traced/probes/ftrace/atrace_wrapper.h
+++ b/src/traced/probes/ftrace/atrace_wrapper.h
@@ -24,7 +24,8 @@
 namespace perfetto {
 
 using RunAtraceFunction =
-    std::add_pointer<bool(const std::vector<std::string>& /*args*/)>::type;
+    std::add_pointer<bool(const std::vector<std::string>& /*args*/,
+                          std::string* /*atrace_errors*/)>::type;
 
 // When we are sideloaded on an old version of Android (pre P), we cannot use
 // atrace --only_userspace because that option doesn't exist. In that case we:
@@ -35,7 +36,8 @@
 void SetIsOldAtraceForTesting(bool);
 void ClearIsOldAtraceForTesting();
 
-bool RunAtrace(const std::vector<std::string>& args);
+bool RunAtrace(const std::vector<std::string>& args,
+               std::string* atrace_errors);
 void SetRunAtraceForTesting(RunAtraceFunction);
 
 }  // namespace perfetto
diff --git a/src/traced/probes/ftrace/event_info.cc b/src/traced/probes/ftrace/event_info.cc
index baf5468..ae030ab 100644
--- a/src/traced/probes/ftrace/event_info.cc
+++ b/src/traced/probes/ftrace/event_info.cc
@@ -132,6 +132,9 @@
            {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
             "offsets_size", 3, ProtoSchemaType::kUint64,
             TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "extra_buffers_size", 4, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
        },
        kUnsetFtraceId,
        323,
@@ -393,6 +396,9 @@
            {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
             "cmd", 6, ProtoSchemaType::kString,
             TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "error", 7, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
        },
        kUnsetFtraceId,
        125,
@@ -591,6 +597,12 @@
            {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
             "cname", 3, ProtoSchemaType::kString,
             TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "level", 4, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "path", 5, ProtoSchemaType::kString,
+            TranslationStrategy::kInvalidTranslationStrategy},
        },
        kUnsetFtraceId,
        68,
@@ -623,6 +635,12 @@
            {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
             "cname", 3, ProtoSchemaType::kString,
             TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "level", 4, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "path", 5, ProtoSchemaType::kString,
+            TranslationStrategy::kInvalidTranslationStrategy},
        },
        kUnsetFtraceId,
        70,
@@ -645,6 +663,12 @@
            {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
             "cname", 5, ProtoSchemaType::kString,
             TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "dst_level", 6, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "dst_path", 7, ProtoSchemaType::kString,
+            TranslationStrategy::kInvalidTranslationStrategy},
        },
        kUnsetFtraceId,
        71,
@@ -677,6 +701,12 @@
            {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
             "cname", 3, ProtoSchemaType::kString,
             TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "level", 4, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "path", 5, ProtoSchemaType::kString,
+            TranslationStrategy::kInvalidTranslationStrategy},
        },
        kUnsetFtraceId,
        73,
@@ -693,6 +723,12 @@
            {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
             "cname", 3, ProtoSchemaType::kString,
             TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "level", 4, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "path", 5, ProtoSchemaType::kString,
+            TranslationStrategy::kInvalidTranslationStrategy},
        },
        kUnsetFtraceId,
        74,
@@ -947,6 +983,9 @@
            {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
             "classzone_idx", 3, ProtoSchemaType::kUint32,
             TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "highest_zoneidx", 4, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
        },
        kUnsetFtraceId,
        108,
@@ -995,6 +1034,9 @@
            {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
             "mode", 3, ProtoSchemaType::kUint32,
             TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "prio", 4, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
        },
        kUnsetFtraceId,
        111,
@@ -1011,6 +1053,9 @@
            {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
             "classzone_idx", 3, ProtoSchemaType::kUint32,
             TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "highest_zoneidx", 4, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
        },
        kUnsetFtraceId,
        112,
@@ -1592,6 +1637,12 @@
            {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
             "ino", 2, ProtoSchemaType::kUint64,
             TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "len", 3, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "needed", 4, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
        },
        kUnsetFtraceId,
        147,
@@ -2107,6 +2158,15 @@
            {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
             "eh_entries", 7, ProtoSchemaType::kUint32,
             TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "pc_lblk", 8, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "pc_pclu", 9, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "pc_state", 10, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
        },
        kUnsetFtraceId,
        170,
@@ -2151,6 +2211,15 @@
            {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
             "ee_len", 7, ProtoSchemaType::kInt32,
             TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "pc_lblk", 8, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "pc_pclu", 9, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "pc_state", 10, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
        },
        kUnsetFtraceId,
        172,
@@ -2480,6 +2549,9 @@
            {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
             "nblocks", 5, ProtoSchemaType::kInt32,
             TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "revoke_creds", 6, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
        },
        kUnsetFtraceId,
        186,
@@ -2908,6 +2980,9 @@
            {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
             "group", 2, ProtoSchemaType::kUint32,
             TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "prefetch", 3, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
        },
        kUnsetFtraceId,
        206,
@@ -2971,6 +3046,15 @@
            {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
             "ee_len", 8, ProtoSchemaType::kUint32,
             TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "pc_lblk", 9, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "pc_pclu", 10, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "pc_state", 11, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
        },
        kUnsetFtraceId,
        209,
@@ -3441,6 +3525,9 @@
            {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
             "free", 10, ProtoSchemaType::kUint32,
             TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "cost", 11, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
        },
        kUnsetFtraceId,
        247,
@@ -3526,6 +3613,15 @@
            {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
             "type", 5, ProtoSchemaType::kInt32,
             TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "dir", 6, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "dirty", 7, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "uptodate", 8, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
        },
        kUnsetFtraceId,
        251,
@@ -3567,6 +3663,9 @@
            {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
             "dirty", 6, ProtoSchemaType::kInt32,
             TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "uptodate", 7, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
        },
        kUnsetFtraceId,
        253,
@@ -3642,6 +3741,9 @@
            {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
             "ret", 5, ProtoSchemaType::kInt32,
             TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "cp_reason", 6, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
        },
        kUnsetFtraceId,
        256,
@@ -3926,6 +4028,9 @@
            {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
             "dirty", 6, ProtoSchemaType::kInt32,
             TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "uptodate", 7, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
        },
        kUnsetFtraceId,
        270,
@@ -3964,6 +4069,9 @@
            {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
             "msg", 3, ProtoSchemaType::kString,
             TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "reason", 4, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
        },
        kUnsetFtraceId,
        272,
@@ -5213,6 +5321,531 @@
        kUnsetFtraceId,
        337,
        kUnsetSize},
+      {"kvm_access_fault",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "ipa", 1, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       368,
+       kUnsetSize},
+      {"kvm_ack_irq",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "irqchip", 1, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "pin", 2, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       369,
+       kUnsetSize},
+      {"kvm_age_hva",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "end", 1, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "start", 2, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       370,
+       kUnsetSize},
+      {"kvm_age_page",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "gfn", 1, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "hva", 2, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "level", 3, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "referenced", 4, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       371,
+       kUnsetSize},
+      {"kvm_arm_clear_debug",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "guest_debug", 1, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       372,
+       kUnsetSize},
+      {"kvm_arm_set_dreg32",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "name", 1, ProtoSchemaType::kString,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "value", 2, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       373,
+       kUnsetSize},
+      {"kvm_arm_set_regset",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "len", 1, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "name", 2, ProtoSchemaType::kString,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       374,
+       kUnsetSize},
+      {"kvm_arm_setup_debug",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "guest_debug", 1, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "vcpu", 2, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       375,
+       kUnsetSize},
+      {"kvm_entry",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "vcpu_pc", 1, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       376,
+       kUnsetSize},
+      {"kvm_exit",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "esr_ec", 1, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "ret", 2, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "vcpu_pc", 3, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       377,
+       kUnsetSize},
+      {"kvm_fpu",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "load", 1, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       378,
+       kUnsetSize},
+      {"kvm_get_timer_map",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "direct_ptimer", 1, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "direct_vtimer", 2, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "emul_ptimer", 3, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "vcpu_id", 4, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       379,
+       kUnsetSize},
+      {"kvm_guest_fault",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "hsr", 1, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "hxfar", 2, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "ipa", 3, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "vcpu_pc", 4, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       380,
+       kUnsetSize},
+      {"kvm_handle_sys_reg",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "hsr", 1, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       381,
+       kUnsetSize},
+      {"kvm_hvc_arm64",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "imm", 1, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "r0", 2, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "vcpu_pc", 3, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       382,
+       kUnsetSize},
+      {"kvm_irq_line",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "irq_num", 1, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "level", 2, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "type", 3, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "vcpu_idx", 4, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       383,
+       kUnsetSize},
+      {"kvm_mmio",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "gpa", 1, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "len", 2, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "type", 3, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "val", 4, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       384,
+       kUnsetSize},
+      {"kvm_mmio_emulate",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "cpsr", 1, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "instr", 2, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "vcpu_pc", 3, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       385,
+       kUnsetSize},
+      {"kvm_set_guest_debug",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "guest_debug", 1, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "vcpu", 2, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       386,
+       kUnsetSize},
+      {"kvm_set_irq",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "gsi", 1, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "irq_source_id", 2, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "level", 3, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       387,
+       kUnsetSize},
+      {"kvm_set_spte_hva",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "hva", 1, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       388,
+       kUnsetSize},
+      {"kvm_set_way_flush",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "cache", 1, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "vcpu_pc", 2, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       389,
+       kUnsetSize},
+      {"kvm_sys_access",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "CRm", 1, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "CRn", 2, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "Op0", 3, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "Op1", 4, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "Op2", 5, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "is_write", 6, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "name", 7, ProtoSchemaType::kString,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "vcpu_pc", 8, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       390,
+       kUnsetSize},
+      {"kvm_test_age_hva",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "hva", 1, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       391,
+       kUnsetSize},
+      {"kvm_timer_emulate",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "should_fire", 1, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "timer_idx", 2, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       392,
+       kUnsetSize},
+      {"kvm_timer_hrtimer_expire",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "timer_idx", 1, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       393,
+       kUnsetSize},
+      {"kvm_timer_restore_state",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "ctl", 1, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "cval", 2, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "timer_idx", 3, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       394,
+       kUnsetSize},
+      {"kvm_timer_save_state",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "ctl", 1, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "cval", 2, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "timer_idx", 3, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       395,
+       kUnsetSize},
+      {"kvm_timer_update_irq",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "irq", 1, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "level", 2, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "vcpu_id", 3, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       396,
+       kUnsetSize},
+      {"kvm_toggle_cache",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "now", 1, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "vcpu_pc", 2, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "was", 3, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       397,
+       kUnsetSize},
+      {"kvm_unmap_hva_range",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "end", 1, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "start", 2, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       398,
+       kUnsetSize},
+      {"kvm_userspace_exit",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "reason", 1, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       399,
+       kUnsetSize},
+      {"kvm_vcpu_wakeup",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "ns", 1, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "valid", 2, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "waited", 3, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       400,
+       kUnsetSize},
+      {"kvm_wfx_arm64",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "is_wfe", 1, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "vcpu_pc", 2, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       401,
+       kUnsetSize},
+      {"trap_reg",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "fn", 1, ProtoSchemaType::kString,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "is_write", 2, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "reg", 3, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "write_value", 4, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       402,
+       kUnsetSize},
+      {"vgic_update_irq_pending",
+       "kvm",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "irq", 1, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "level", 2, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "vcpu_id", 3, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       403,
+       kUnsetSize},
       {"lowmemory_kill",
        "lowmemorykiller",
        {
@@ -5989,6 +6622,32 @@
        kUnsetFtraceId,
        332,
        kUnsetSize},
+      {"wakeup_source_activate",
+       "power",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "name", 1, ProtoSchemaType::kString,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "state", 2, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       404,
+       kUnsetSize},
+      {"wakeup_source_deactivate",
+       "power",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "name", 1, ProtoSchemaType::kString,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "state", 2, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       405,
+       kUnsetSize},
       {"sys_enter",
        "raw_syscalls",
        {
@@ -6549,6 +7208,22 @@
        kUnsetFtraceId,
        325,
        kUnsetSize},
+      {"kfree_skb",
+       "skb",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "location", 1, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "protocol", 2, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "skbaddr", 3, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       367,
+       kUnsetSize},
       {"inet_sock_set_state",
        "sock",
        {
@@ -6761,6 +7436,56 @@
        kUnsetFtraceId,
        342,
        kUnsetSize},
+      {"ufshcd_command",
+       "ufs",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "dev_name", 1, ProtoSchemaType::kString,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "doorbell", 2, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "intr", 3, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "lba", 4, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "opcode", 5, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "str", 6, ProtoSchemaType::kString,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "tag", 7, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "transfer_len", 8, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "group_id", 9, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "str_t", 10, ProtoSchemaType::kUint32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       406,
+       kUnsetSize},
+      {"ufshcd_clk_gating",
+       "ufs",
+       {
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "dev_name", 1, ProtoSchemaType::kString,
+            TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "state", 2, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
+       },
+       kUnsetFtraceId,
+       407,
+       kUnsetSize},
       {"mm_vmscan_direct_reclaim_begin",
        "vmscan",
        {
@@ -6796,6 +7521,9 @@
            {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
             "order", 2, ProtoSchemaType::kInt32,
             TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "zid", 3, ProtoSchemaType::kInt32,
+            TranslationStrategy::kInvalidTranslationStrategy},
        },
        kUnsetFtraceId,
        48,
@@ -6826,6 +7554,9 @@
            {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
             "work", 1, ProtoSchemaType::kUint64,
             TranslationStrategy::kInvalidTranslationStrategy},
+           {kUnsetOffset, kUnsetSize, FtraceFieldType::kInvalidFtraceFieldType,
+            "function", 2, ProtoSchemaType::kUint64,
+            TranslationStrategy::kInvalidTranslationStrategy},
        },
        kUnsetFtraceId,
        57,
diff --git a/src/traced/probes/ftrace/ftrace_config_muxer.cc b/src/traced/probes/ftrace/ftrace_config_muxer.cc
index 4ebd30f..ba48c44 100644
--- a/src/traced/probes/ftrace/ftrace_config_muxer.cc
+++ b/src/traced/probes/ftrace/ftrace_config_muxer.cc
@@ -29,6 +29,7 @@
 #include "protos/perfetto/trace/ftrace/sched.pbzero.h"
 #include "src/traced/probes/ftrace/atrace_wrapper.h"
 #include "src/traced/probes/ftrace/compact_sched.h"
+#include "src/traced/probes/ftrace/ftrace_stats.h"
 
 namespace perfetto {
 namespace {
@@ -485,7 +486,8 @@
       vendor_events_(vendor_events) {}
 FtraceConfigMuxer::~FtraceConfigMuxer() = default;
 
-FtraceConfigId FtraceConfigMuxer::SetupConfig(const FtraceConfig& request) {
+FtraceConfigId FtraceConfigMuxer::SetupConfig(const FtraceConfig& request,
+                                              FtraceSetupErrors* errors) {
   EventFilter filter;
   bool is_ftrace_enabled = ftrace_->IsTracingEnabled();
   if (ds_configs_.empty()) {
@@ -530,7 +532,7 @@
           "bailing out.");
       return 0;
     }
-    UpdateAtrace(request);
+    UpdateAtrace(request, errors ? &errors->atrace_errors : nullptr);
   }
 
   for (const auto& group_and_name : events) {
@@ -538,6 +540,8 @@
     if (!event) {
       PERFETTO_DLOG("Can't enable %s, event not known",
                     group_and_name.ToString().c_str());
+      if (errors)
+        errors->unknown_ftrace_events.push_back(group_and_name.ToString());
       continue;
     }
     // Note: ftrace events are always implicitly enabled (and don't have an
@@ -554,6 +558,8 @@
       filter.AddEnabledEvent(event->ftrace_event_id);
     } else {
       PERFETTO_DPLOG("Failed to enable %s.", group_and_name.ToString().c_str());
+      if (errors)
+        errors->failed_ftrace_events.push_back(group_and_name.ToString());
     }
   }
 
@@ -662,7 +668,8 @@
       // some categories this won't disable them (e.g. categories that just
       // enable ftrace events) for those there is nothing we can do till the
       // last ftrace config is removed.
-      if (StartAtrace(expected_apps, expected_categories)) {
+      if (StartAtrace(expected_apps, expected_categories,
+                      /*atrace_errors=*/nullptr)) {
         // Update current_state_ to reflect this change.
         current_state_.atrace_apps = expected_apps;
         current_state_.atrace_categories = expected_categories;
@@ -720,7 +727,8 @@
   return current_state_.cpu_buffer_size_pages;
 }
 
-void FtraceConfigMuxer::UpdateAtrace(const FtraceConfig& request) {
+void FtraceConfigMuxer::UpdateAtrace(const FtraceConfig& request,
+                                     std::string* atrace_errors) {
   // We want to avoid poisoning current_state_.atrace_{categories, apps}
   // if for some reason these args make atrace unhappy so we stash the
   // union into temps and only update current_state_ if we successfully
@@ -738,7 +746,7 @@
     return;
   }
 
-  if (StartAtrace(combined_apps, combined_categories)) {
+  if (StartAtrace(combined_apps, combined_categories, atrace_errors)) {
     current_state_.atrace_categories = combined_categories;
     current_state_.atrace_apps = combined_apps;
     current_state_.atrace_on = true;
@@ -746,9 +754,9 @@
 }
 
 // static
-bool FtraceConfigMuxer::StartAtrace(
-    const std::vector<std::string>& apps,
-    const std::vector<std::string>& categories) {
+bool FtraceConfigMuxer::StartAtrace(const std::vector<std::string>& apps,
+                                    const std::vector<std::string>& categories,
+                                    std::string* atrace_errors) {
   PERFETTO_DLOG("Update atrace config...");
 
   std::vector<std::string> args;
@@ -771,7 +779,7 @@
     args.push_back(arg);
   }
 
-  bool result = RunAtrace(args);
+  bool result = RunAtrace(args, atrace_errors);
   PERFETTO_DLOG("...done (%s)", result ? "success" : "fail");
   return result;
 }
@@ -784,7 +792,7 @@
   std::vector<std::string> args{"atrace", "--async_stop"};
   if (!IsOldAtrace())
     args.push_back("--only_userspace");
-  if (RunAtrace(args)) {
+  if (RunAtrace(args, /*atrace_errors=*/nullptr)) {
     current_state_.atrace_categories.clear();
     current_state_.atrace_apps.clear();
     current_state_.atrace_on = false;
diff --git a/src/traced/probes/ftrace/ftrace_config_muxer.h b/src/traced/probes/ftrace/ftrace_config_muxer.h
index bcaf1e5..7b21357 100644
--- a/src/traced/probes/ftrace/ftrace_config_muxer.h
+++ b/src/traced/probes/ftrace/ftrace_config_muxer.h
@@ -34,6 +34,8 @@
 }  // namespace pbzero
 }  // namespace protos
 
+struct FtraceSetupErrors;
+
 // State held by the muxer per data source, used to parse ftrace according to
 // that data source's config.
 struct FtraceDataSourceConfig {
@@ -93,7 +95,8 @@
   // (if you enable an atrace category we try to give you the matching events).
   // If someone else is tracing we won't touch atrace (since it resets the
   // buffer).
-  FtraceConfigId SetupConfig(const FtraceConfig& request);
+  FtraceConfigId SetupConfig(const FtraceConfig& request,
+                             FtraceSetupErrors* = nullptr);
 
   // Activate ftrace for the given config (if not already active).
   bool ActivateConfig(FtraceConfigId);
@@ -131,7 +134,8 @@
 
  private:
   static bool StartAtrace(const std::vector<std::string>& apps,
-                          const std::vector<std::string>& categories);
+                          const std::vector<std::string>& categories,
+                          std::string* atrace_errors);
 
   struct FtraceState {
     EventFilter ftrace_events;
@@ -148,7 +152,7 @@
 
   void SetupClock(const FtraceConfig& request);
   void SetupBufferSize(const FtraceConfig& request);
-  void UpdateAtrace(const FtraceConfig& request);
+  void UpdateAtrace(const FtraceConfig& request, std::string* atrace_errors);
   void DisableAtrace();
 
   // This processes the config to get the exact events.
diff --git a/src/traced/probes/ftrace/ftrace_config_muxer_unittest.cc b/src/traced/probes/ftrace/ftrace_config_muxer_unittest.cc
index 006ee59..af01bd9 100644
--- a/src/traced/probes/ftrace/ftrace_config_muxer_unittest.cc
+++ b/src/traced/probes/ftrace/ftrace_config_muxer_unittest.cc
@@ -18,9 +18,11 @@
 
 #include <memory>
 
+#include "ftrace_config_muxer.h"
 #include "src/traced/probes/ftrace/atrace_wrapper.h"
 #include "src/traced/probes/ftrace/compact_sched.h"
 #include "src/traced/probes/ftrace/ftrace_procfs.h"
+#include "src/traced/probes/ftrace/ftrace_stats.h"
 #include "src/traced/probes/ftrace/proto_translation_table.h"
 #include "test/gtest_and_gmock.h"
 
@@ -29,6 +31,7 @@
 using testing::Contains;
 using testing::ElementsAreArray;
 using testing::Eq;
+using testing::Invoke;
 using testing::IsEmpty;
 using testing::MatchesRegex;
 using testing::NiceMock;
@@ -63,14 +66,15 @@
   MockRunAtrace() {
     static MockRunAtrace* instance;
     instance = this;
-    SetRunAtraceForTesting([](const std::vector<std::string>& args) {
-      return instance->RunAtrace(args);
-    });
+    SetRunAtraceForTesting(
+        [](const std::vector<std::string>& args, std::string* atrace_errors) {
+          return instance->RunAtrace(args, atrace_errors);
+        });
   }
 
   ~MockRunAtrace() { SetRunAtraceForTesting(nullptr); }
 
-  MOCK_METHOD1(RunAtrace, bool(const std::vector<std::string>&));
+  MOCK_METHOD2(RunAtrace, bool(const std::vector<std::string>&, std::string*));
 };
 
 class MockProtoTranslationTable : public ProtoTranslationTable {
@@ -474,9 +478,9 @@
 
   EXPECT_CALL(ftrace, ReadOneCharFromFile("/root/tracing_on"))
       .WillOnce(Return('0'));
-  EXPECT_CALL(atrace,
-              RunAtrace(ElementsAreArray(
-                  {"atrace", "--async_start", "--only_userspace", "sched"})))
+  EXPECT_CALL(atrace, RunAtrace(ElementsAreArray({"atrace", "--async_start",
+                                                  "--only_userspace", "sched"}),
+                                _))
       .WillOnce(Return(true));
 
   FtraceConfigId id = model.SetupConfig(config);
@@ -496,8 +500,10 @@
   EXPECT_THAT(central_filter->GetEnabledEvents(),
               Contains(FtraceConfigMuxerTest::kFakeSchedSwitchEventId));
 
-  EXPECT_CALL(atrace, RunAtrace(ElementsAreArray(
-                          {"atrace", "--async_stop", "--only_userspace"})))
+  EXPECT_CALL(
+      atrace,
+      RunAtrace(
+          ElementsAreArray({"atrace", "--async_stop", "--only_userspace"}), _))
       .WillOnce(Return(true));
   ASSERT_TRUE(model.RemoveConfig(id));
 }
@@ -516,9 +522,11 @@
       .WillOnce(Return('0'));
   EXPECT_CALL(
       atrace,
-      RunAtrace(ElementsAreArray(
-          {"atrace", "--async_start", "--only_userspace", "-a",
-           "com.google.android.gms,com.google.android.gms.persistent"})))
+      RunAtrace(
+          ElementsAreArray(
+              {"atrace", "--async_start", "--only_userspace", "-a",
+               "com.google.android.gms,com.google.android.gms.persistent"}),
+          _))
       .WillOnce(Return(true));
 
   FtraceConfigId id = model.SetupConfig(config);
@@ -529,8 +537,10 @@
   ASSERT_THAT(ds_config->event_filter.GetEnabledEvents(),
               Contains(FtraceConfigMuxerTest::kFakePrintEventId));
 
-  EXPECT_CALL(atrace, RunAtrace(ElementsAreArray(
-                          {"atrace", "--async_stop", "--only_userspace"})))
+  EXPECT_CALL(
+      atrace,
+      RunAtrace(
+          ElementsAreArray({"atrace", "--async_stop", "--only_userspace"}), _))
       .WillOnce(Return(true));
   ASSERT_TRUE(model.RemoveConfig(id));
 }
@@ -555,7 +565,8 @@
 
   EXPECT_CALL(atrace, RunAtrace(ElementsAreArray({"atrace", "--async_start",
                                                   "--only_userspace", "cat_a",
-                                                  "-a", "app_a"})))
+                                                  "-a", "app_a"}),
+                                _))
       .WillOnce(Return(true));
   FtraceConfigId id_a = model.SetupConfig(config_a);
   ASSERT_TRUE(id_a);
@@ -563,7 +574,8 @@
   EXPECT_CALL(
       atrace,
       RunAtrace(ElementsAreArray({"atrace", "--async_start", "--only_userspace",
-                                  "cat_a", "cat_b", "-a", "app_a,app_b"})))
+                                  "cat_a", "cat_b", "-a", "app_a,app_b"}),
+                _))
       .WillOnce(Return(true));
   FtraceConfigId id_b = model.SetupConfig(config_b);
   ASSERT_TRUE(id_b);
@@ -571,7 +583,8 @@
   EXPECT_CALL(atrace,
               RunAtrace(ElementsAreArray({"atrace", "--async_start",
                                           "--only_userspace", "cat_a", "cat_b",
-                                          "cat_c", "-a", "app_a,app_b,app_c"})))
+                                          "cat_c", "-a", "app_a,app_b,app_c"}),
+                        _))
       .WillOnce(Return(true));
   FtraceConfigId id_c = model.SetupConfig(config_c);
   ASSERT_TRUE(id_c);
@@ -579,18 +592,22 @@
   EXPECT_CALL(
       atrace,
       RunAtrace(ElementsAreArray({"atrace", "--async_start", "--only_userspace",
-                                  "cat_a", "cat_c", "-a", "app_a,app_c"})))
+                                  "cat_a", "cat_c", "-a", "app_a,app_c"}),
+                _))
       .WillOnce(Return(true));
   ASSERT_TRUE(model.RemoveConfig(id_b));
 
   EXPECT_CALL(atrace, RunAtrace(ElementsAreArray({"atrace", "--async_start",
                                                   "--only_userspace", "cat_c",
-                                                  "-a", "app_c"})))
+                                                  "-a", "app_c"}),
+                                _))
       .WillOnce(Return(true));
   ASSERT_TRUE(model.RemoveConfig(id_a));
 
-  EXPECT_CALL(atrace, RunAtrace(ElementsAreArray(
-                          {"atrace", "--async_stop", "--only_userspace"})))
+  EXPECT_CALL(
+      atrace,
+      RunAtrace(
+          ElementsAreArray({"atrace", "--async_stop", "--only_userspace"}), _))
       .WillOnce(Return(true));
   ASSERT_TRUE(model.RemoveConfig(id_c));
 }
@@ -620,15 +637,17 @@
   EXPECT_CALL(
       atrace,
       RunAtrace(ElementsAreArray({"atrace", "--async_start", "--only_userspace",
-                                  "cat_1", "cat_2", "-a", "app_1,app_2"})))
+                                  "cat_1", "cat_2", "-a", "app_1,app_2"}),
+                _))
       .WillOnce(Return(true));
   FtraceConfigId id_a = model.SetupConfig(config_a);
   ASSERT_TRUE(id_a);
 
-  EXPECT_CALL(atrace,
-              RunAtrace(ElementsAreArray(
-                  {"atrace", "--async_start", "--only_userspace", "cat_1",
-                   "cat_2", "cat_fail", "-a", "app_1,app_2,app_fail"})))
+  EXPECT_CALL(atrace, RunAtrace(ElementsAreArray({"atrace", "--async_start",
+                                                  "--only_userspace", "cat_1",
+                                                  "cat_2", "cat_fail", "-a",
+                                                  "app_1,app_2,app_fail"}),
+                                _))
       .WillOnce(Return(false));
   FtraceConfigId id_b = model.SetupConfig(config_b);
   ASSERT_TRUE(id_b);
@@ -636,7 +655,8 @@
   EXPECT_CALL(atrace,
               RunAtrace(ElementsAreArray({"atrace", "--async_start",
                                           "--only_userspace", "cat_1", "cat_2",
-                                          "cat_3", "-a", "app_1,app_2,app_3"})))
+                                          "cat_3", "-a", "app_1,app_2,app_3"}),
+                        _))
       .WillOnce(Return(true));
   FtraceConfigId id_c = model.SetupConfig(config_c);
   ASSERT_TRUE(id_c);
@@ -644,7 +664,8 @@
   EXPECT_CALL(
       atrace,
       RunAtrace(ElementsAreArray({"atrace", "--async_start", "--only_userspace",
-                                  "cat_1", "cat_2", "-a", "app_1,app_2"})))
+                                  "cat_1", "cat_2", "-a", "app_1,app_2"}),
+                _))
       .WillOnce(Return(true));
   ASSERT_TRUE(model.RemoveConfig(id_c));
 
@@ -652,8 +673,10 @@
   // so we don't expect a call here.
   ASSERT_TRUE(model.RemoveConfig(id_b));
 
-  EXPECT_CALL(atrace, RunAtrace(ElementsAreArray(
-                          {"atrace", "--async_stop", "--only_userspace"})))
+  EXPECT_CALL(
+      atrace,
+      RunAtrace(
+          ElementsAreArray({"atrace", "--async_stop", "--only_userspace"}), _))
       .WillOnce(Return(true));
   ASSERT_TRUE(model.RemoveConfig(id_a));
 }
@@ -674,7 +697,8 @@
 
   EXPECT_CALL(atrace, RunAtrace(ElementsAreArray({"atrace", "--async_start",
                                                   "--only_userspace", "cat_1",
-                                                  "-a", "app_1"})))
+                                                  "-a", "app_1"}),
+                                _))
       .WillOnce(Return(true));
   FtraceConfigId id_a = model.SetupConfig(config_a);
   ASSERT_TRUE(id_a);
@@ -684,8 +708,10 @@
 
   ASSERT_TRUE(model.RemoveConfig(id_a));
 
-  EXPECT_CALL(atrace, RunAtrace(ElementsAreArray(
-                          {"atrace", "--async_stop", "--only_userspace"})))
+  EXPECT_CALL(
+      atrace,
+      RunAtrace(
+          ElementsAreArray({"atrace", "--async_stop", "--only_userspace"}), _))
       .WillOnce(Return(true));
   ASSERT_TRUE(model.RemoveConfig(id_b));
 }
@@ -710,7 +736,8 @@
   ASSERT_TRUE(id_a);
 
   EXPECT_CALL(atrace, RunAtrace(ElementsAreArray({"atrace", "--async_start",
-                                                  "--only_userspace", "b"})))
+                                                  "--only_userspace", "b"}),
+                                _))
       .WillOnce(Return(true));
   FtraceConfigId id_b = model.SetupConfig(config_b);
   ASSERT_TRUE(id_b);
@@ -719,27 +746,61 @@
   ASSERT_TRUE(id_c);
 
   EXPECT_CALL(atrace,
-              RunAtrace(ElementsAreArray(
-                  {"atrace", "--async_start", "--only_userspace", "b", "d"})))
+              RunAtrace(ElementsAreArray({"atrace", "--async_start",
+                                          "--only_userspace", "b", "d"}),
+                        _))
       .WillOnce(Return(true));
   FtraceConfigId id_d = model.SetupConfig(config_d);
   ASSERT_TRUE(id_d);
 
   EXPECT_CALL(atrace, RunAtrace(ElementsAreArray({"atrace", "--async_start",
-                                                  "--only_userspace", "b"})))
+                                                  "--only_userspace", "b"}),
+                                _))
       .WillOnce(Return(true));
   ASSERT_TRUE(model.RemoveConfig(id_d));
 
   ASSERT_TRUE(model.RemoveConfig(id_c));
 
-  EXPECT_CALL(atrace, RunAtrace(ElementsAreArray(
-                          {"atrace", "--async_stop", "--only_userspace"})))
+  EXPECT_CALL(
+      atrace,
+      RunAtrace(
+          ElementsAreArray({"atrace", "--async_stop", "--only_userspace"}), _))
       .WillOnce(Return(true));
   ASSERT_TRUE(model.RemoveConfig(id_b));
 
   ASSERT_TRUE(model.RemoveConfig(id_a));
 }
 
+TEST_F(FtraceConfigMuxerTest, AtraceErrorsPropagated) {
+  NiceMock<MockFtraceProcfs> ftrace;
+  MockRunAtrace atrace;
+
+  FtraceConfig config = CreateFtraceConfig({});
+  *config.add_atrace_categories() = "cat_1";
+  *config.add_atrace_categories() = "cat_2";
+
+  EXPECT_CALL(ftrace, ReadOneCharFromFile("/root/tracing_on"))
+      .WillRepeatedly(Return('0'));
+
+  FtraceConfigMuxer model(&ftrace, table_.get(), {});
+
+  EXPECT_CALL(atrace, RunAtrace(ElementsAreArray({"atrace", "--async_start",
+                                                  "--only_userspace", "cat_1",
+                                                  "cat_2"}),
+                                _))
+      .WillOnce(Invoke([](const std::vector<std::string>&, std::string* err) {
+        EXPECT_NE(err, nullptr);
+        if (err)
+          err->append("foo\nbar\n");
+        return true;
+      }));
+
+  FtraceSetupErrors errors{};
+  FtraceConfigId id_a = model.SetupConfig(config, &errors);
+  ASSERT_TRUE(id_a);
+  EXPECT_EQ(errors.atrace_errors, "foo\nbar\n");
+}
+
 TEST_F(FtraceConfigMuxerTest, SetupClockForTesting) {
   MockFtraceProcfs ftrace;
   FtraceConfig config;
diff --git a/src/traced/probes/ftrace/ftrace_controller.cc b/src/traced/probes/ftrace/ftrace_controller.cc
index 0d8cb73..fc25d3b 100644
--- a/src/traced/probes/ftrace/ftrace_controller.cc
+++ b/src/traced/probes/ftrace/ftrace_controller.cc
@@ -393,7 +393,8 @@
   if (!ValidConfig(data_source->config()))
     return false;
 
-  auto config_id = ftrace_config_muxer_->SetupConfig(data_source->config());
+  auto config_id = ftrace_config_muxer_->SetupConfig(
+      data_source->config(), data_source->mutable_setup_errors());
   if (!config_id)
     return false;
 
diff --git a/src/traced/probes/ftrace/ftrace_data_source.cc b/src/traced/probes/ftrace/ftrace_data_source.cc
index a801e05..e5ba144 100644
--- a/src/traced/probes/ftrace/ftrace_data_source.cc
+++ b/src/traced/probes/ftrace/ftrace_data_source.cc
@@ -16,19 +16,68 @@
 
 #include "src/traced/probes/ftrace/ftrace_data_source.h"
 
+#include "perfetto/ext/base/string_splitter.h"
+#include "perfetto/ext/base/string_utils.h"
+#include "perfetto/ext/base/string_view.h"
+#include "perfetto/ext/base/subprocess.h"
+#include "perfetto/protozero/scattered_heap_buffer.h"
+#include "perfetto/tracing/core/data_source_descriptor.h"
 #include "src/traced/probes/ftrace/cpu_reader.h"
 #include "src/traced/probes/ftrace/ftrace_controller.h"
 
+#include "protos/perfetto/common/ftrace_descriptor.pbzero.h"
 #include "protos/perfetto/trace/ftrace/ftrace_event_bundle.pbzero.h"
 #include "protos/perfetto/trace/ftrace/ftrace_stats.pbzero.h"
 #include "protos/perfetto/trace/trace_packet.pbzero.h"
 
 namespace perfetto {
+namespace {
+
+void FillFtraceDataSourceDescriptor(DataSourceDescriptor* dsd) {
+  protozero::HeapBuffered<protos::pbzero::FtraceDescriptor> ftd;
+
+#if PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
+  base::Subprocess p({"/system/bin/atrace", "--list_categories"});
+  p.args.stdin_mode = base::Subprocess::InputMode::kDevNull;
+  p.args.stdout_mode = base::Subprocess::OutputMode::kBuffer;
+  p.args.stderr_mode = base::Subprocess::OutputMode::kBuffer;
+  bool res = p.Call(/*timeout_ms=*/20000);
+  if (res) {
+    for (base::StringSplitter ss(std::move(p.output()), '\n'); ss.Next();) {
+      base::StringView line(ss.cur_token(), ss.cur_token_size());
+      size_t pos = line.find(" - ");
+      if (pos == line.npos) {
+        continue;
+      }
+      base::StringView name = line.substr(0, pos);
+      // Trim initial whitespaces
+      auto it = std::find_if(name.begin(), name.end(),
+                             [](char c) { return c != ' '; });
+      name = name.substr(static_cast<size_t>(it - name.begin()));
+
+      base::StringView desc = line.substr(pos + 3);
+
+      protos::pbzero::FtraceDescriptor::AtraceCategory* cat =
+          ftd->add_atrace_categories();
+      cat->set_name(name.data(), name.size());
+      cat->set_description(desc.data(), desc.size());
+    }
+  } else {
+    PERFETTO_ELOG("Failed to run atrace --list_categories code(%d): %s",
+                  p.returncode(), p.output().c_str());
+  }
+#endif
+
+  dsd->set_ftrace_descriptor_raw(ftd.SerializeAsString());
+}
+
+}  // namespace
 
 // static
 const ProbesDataSource::Descriptor FtraceDataSource::descriptor = {
     /*name*/ "linux.ftrace",
     /*flags*/ Descriptor::kFlagsNone,
+    /*fill_descriptor_func*/ &FillFtraceDataSourceDescriptor,
 };
 
 FtraceDataSource::FtraceDataSource(
@@ -62,11 +111,13 @@
   if (!ftrace->StartDataSource(this))
     return;
   DumpFtraceStats(&stats_before_);
+  setup_errors_ = FtraceSetupErrors();  // Dump only on START_OF_TRACE.
 }
 
 void FtraceDataSource::DumpFtraceStats(FtraceStats* stats) {
   if (controller_weak_)
     controller_weak_->DumpFtraceStats(stats);
+  stats->setup_errors = std::move(setup_errors_);
 }
 
 void FtraceDataSource::Flush(FlushRequestID flush_request_id,
diff --git a/src/traced/probes/ftrace/ftrace_data_source.h b/src/traced/probes/ftrace/ftrace_data_source.h
index cadcd5f..b1a1c45 100644
--- a/src/traced/probes/ftrace/ftrace_data_source.h
+++ b/src/traced/probes/ftrace/ftrace_data_source.h
@@ -81,6 +81,7 @@
   }
 
   FtraceMetadata* mutable_metadata() { return &metadata_; }
+  FtraceSetupErrors* mutable_setup_errors() { return &setup_errors_; }
   TraceWriter* trace_writer() { return writer_.get(); }
 
  private:
@@ -95,7 +96,8 @@
 
   const FtraceConfig config_;
   FtraceMetadata metadata_;
-  FtraceStats stats_before_ = {};
+  FtraceStats stats_before_{};
+  FtraceSetupErrors setup_errors_{};
   std::map<FlushRequestID, std::function<void()>> pending_flushes_;
 
   // -- Fields initialized by the Initialize() call:
diff --git a/src/traced/probes/ftrace/ftrace_stats.cc b/src/traced/probes/ftrace/ftrace_stats.cc
index a424cc9..bba09ac 100644
--- a/src/traced/probes/ftrace/ftrace_stats.cc
+++ b/src/traced/probes/ftrace/ftrace_stats.cc
@@ -26,6 +26,12 @@
   }
   writer->set_kernel_symbols_parsed(kernel_symbols_parsed);
   writer->set_kernel_symbols_mem_kb(kernel_symbols_mem_kb);
+  if (!setup_errors.atrace_errors.empty())
+    writer->set_atrace_errors(setup_errors.atrace_errors);
+  for (const std::string& err : setup_errors.unknown_ftrace_events)
+    writer->add_unknown_ftrace_events(err);
+  for (const std::string& err : setup_errors.failed_ftrace_events)
+    writer->add_failed_ftrace_events(err);
 }
 
 void FtraceCpuStats::Write(protos::pbzero::FtraceCpuStats* writer) const {
diff --git a/src/traced/probes/ftrace/ftrace_stats.h b/src/traced/probes/ftrace/ftrace_stats.h
index ce68fe8..c7a16d8 100644
--- a/src/traced/probes/ftrace/ftrace_stats.h
+++ b/src/traced/probes/ftrace/ftrace_stats.h
@@ -18,6 +18,7 @@
 #define SRC_TRACED_PROBES_FTRACE_FTRACE_STATS_H_
 
 #include <cinttypes>
+#include <string>
 #include <vector>
 
 namespace perfetto {
@@ -43,8 +44,15 @@
   void Write(protos::pbzero::FtraceCpuStats*) const;
 };
 
+struct FtraceSetupErrors {
+  std::string atrace_errors;
+  std::vector<std::string> unknown_ftrace_events;
+  std::vector<std::string> failed_ftrace_events;
+};
+
 struct FtraceStats {
   std::vector<FtraceCpuStats> cpu_stats;
+  FtraceSetupErrors setup_errors;
   uint32_t kernel_symbols_parsed = 0;
   uint32_t kernel_symbols_mem_kb = 0;
 
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/available_events b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/available_events
new file mode 100644
index 0000000..fad8c70
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/available_events
@@ -0,0 +1,1533 @@
+mac80211:wake_queue
+mac80211:stop_queue
+mac80211:drv_wake_tx_queue
+mac80211:drv_update_vif_offload
+mac80211:drv_update_tkip_key
+mac80211:drv_unassign_vif_chanctx
+mac80211:drv_tx_last_beacon
+mac80211:drv_tx_frames_pending
+mac80211:drv_tdls_recv_channel_switch
+mac80211:drv_tdls_channel_switch
+mac80211:drv_tdls_cancel_channel_switch
+mac80211:drv_sync_rx_queues
+mac80211:drv_switch_vif_chanctx
+mac80211:drv_sw_scan_start
+mac80211:drv_sw_scan_complete
+mac80211:drv_suspend
+mac80211:drv_stop_nan
+mac80211:drv_stop_ap
+mac80211:drv_stop
+mac80211:drv_start_pmsr
+mac80211:drv_start_nan
+mac80211:drv_start_ap
+mac80211:drv_start
+mac80211:drv_sta_statistics
+mac80211:drv_sta_state
+mac80211:drv_sta_set_txpwr
+mac80211:drv_sta_set_4addr
+mac80211:drv_sta_remove
+mac80211:drv_sta_rc_update
+mac80211:drv_sta_rate_tbl_update
+mac80211:drv_sta_pre_rcu_remove
+mac80211:drv_sta_notify
+mac80211:drv_sta_add
+mac80211:drv_set_wakeup
+mac80211:drv_set_tsf
+mac80211:drv_set_tim
+mac80211:drv_set_rts_threshold
+mac80211:drv_set_ringparam
+mac80211:drv_set_rekey_data
+mac80211:drv_set_key
+mac80211:drv_set_frag_threshold
+mac80211:drv_set_default_unicast_key
+mac80211:drv_set_coverage_class
+mac80211:drv_set_bitrate_mask
+mac80211:drv_set_antenna
+mac80211:drv_sched_scan_stop
+mac80211:drv_sched_scan_start
+mac80211:drv_return_void
+mac80211:drv_return_u64
+mac80211:drv_return_u32
+mac80211:drv_return_int
+mac80211:drv_return_bool
+mac80211:drv_resume
+mac80211:drv_reset_tsf
+mac80211:drv_remove_interface
+mac80211:drv_remove_chanctx
+mac80211:drv_remain_on_channel
+mac80211:drv_release_buffered_frames
+mac80211:drv_reconfig_complete
+mac80211:drv_prepare_multicast
+mac80211:drv_pre_channel_switch
+mac80211:drv_post_channel_switch
+mac80211:drv_offset_tsf
+mac80211:drv_offchannel_tx_cancel_wait
+mac80211:drv_nan_change_conf
+mac80211:drv_mgd_protect_tdls_discover
+mac80211:drv_mgd_prepare_tx
+mac80211:drv_leave_ibss
+mac80211:drv_join_ibss
+mac80211:drv_ipv6_addr_change
+mac80211:drv_hw_scan
+mac80211:drv_get_txpower
+mac80211:drv_get_tsf
+mac80211:drv_get_survey
+mac80211:drv_get_stats
+mac80211:drv_get_ringparam
+mac80211:drv_get_key_seq
+mac80211:drv_get_ftm_responder_stats
+mac80211:drv_get_expected_throughput
+mac80211:drv_get_et_strings
+mac80211:drv_get_et_stats
+mac80211:drv_get_et_sset_count
+mac80211:drv_get_antenna
+mac80211:drv_flush
+mac80211:drv_event_callback
+mac80211:drv_del_nan_func
+mac80211:drv_configure_filter
+mac80211:drv_config_iface_filter
+mac80211:drv_config
+mac80211:drv_conf_tx
+mac80211:drv_channel_switch_rx_beacon
+mac80211:drv_channel_switch_beacon
+mac80211:drv_channel_switch
+mac80211:drv_change_interface
+mac80211:drv_change_chanctx
+mac80211:drv_cancel_remain_on_channel
+mac80211:drv_cancel_hw_scan
+mac80211:drv_bss_info_changed
+mac80211:drv_assign_vif_chanctx
+mac80211:drv_ampdu_action
+mac80211:drv_allow_buffered_frames
+mac80211:drv_add_nan_func
+mac80211:drv_add_interface
+mac80211:drv_add_chanctx
+mac80211:drv_abort_pmsr
+mac80211:drv_abort_channel_switch
+mac80211:api_stop_tx_ba_session
+mac80211:api_stop_tx_ba_cb
+mac80211:api_start_tx_ba_session
+mac80211:api_start_tx_ba_cb
+mac80211:api_sta_set_buffered
+mac80211:api_sta_block_awake
+mac80211:api_send_eosp_nullfunc
+mac80211:api_sched_scan_stopped
+mac80211:api_sched_scan_results
+mac80211:api_scan_completed
+mac80211:api_restart_hw
+mac80211:api_remain_on_channel_expired
+mac80211:api_ready_on_channel
+mac80211:api_radar_detected
+mac80211:api_gtk_rekey_notify
+mac80211:api_eosp
+mac80211:api_enable_rssi_reports
+mac80211:api_cqm_rssi_notify
+mac80211:api_cqm_beacon_loss_notify
+mac80211:api_connection_loss
+mac80211:api_chswitch_done
+mac80211:api_beacon_loss
+cfg80211:rdev_update_owe_info
+cfg80211:rdev_update_mgmt_frame_registrations
+cfg80211:rdev_update_mesh_config
+cfg80211:rdev_update_ft_ies
+cfg80211:rdev_update_connect_params
+cfg80211:rdev_tx_control_port
+cfg80211:rdev_testmode_dump
+cfg80211:rdev_testmode_cmd
+cfg80211:rdev_tdls_oper
+cfg80211:rdev_tdls_mgmt
+cfg80211:rdev_tdls_channel_switch
+cfg80211:rdev_tdls_cancel_channel_switch
+cfg80211:rdev_suspend
+cfg80211:rdev_stop_p2p_device
+cfg80211:rdev_stop_nan
+cfg80211:rdev_stop_ap
+cfg80211:rdev_start_radar_detection
+cfg80211:rdev_start_pmsr
+cfg80211:rdev_start_p2p_device
+cfg80211:rdev_start_nan
+cfg80211:rdev_start_ap
+cfg80211:rdev_set_wiphy_params
+cfg80211:rdev_set_wds_peer
+cfg80211:rdev_set_wakeup
+cfg80211:rdev_set_txq_params
+cfg80211:rdev_set_tx_power
+cfg80211:rdev_set_tid_config
+cfg80211:rdev_set_rekey_data
+cfg80211:rdev_set_qos_map
+cfg80211:rdev_set_power_mgmt
+cfg80211:rdev_set_pmksa
+cfg80211:rdev_set_pmk
+cfg80211:rdev_set_noack_map
+cfg80211:rdev_set_multicast_to_unicast
+cfg80211:rdev_set_monitor_channel
+cfg80211:rdev_set_mcast_rate
+cfg80211:rdev_set_mac_acl
+cfg80211:rdev_set_default_mgmt_key
+cfg80211:rdev_set_default_key
+cfg80211:rdev_set_default_beacon_key
+cfg80211:rdev_set_cqm_txe_config
+cfg80211:rdev_set_cqm_rssi_range_config
+cfg80211:rdev_set_cqm_rssi_config
+cfg80211:rdev_set_coalesce
+cfg80211:rdev_set_bitrate_mask
+cfg80211:rdev_set_ap_chanwidth
+cfg80211:rdev_set_antenna
+cfg80211:rdev_sched_scan_stop
+cfg80211:rdev_sched_scan_start
+cfg80211:rdev_scan
+cfg80211:rdev_rfkill_poll
+cfg80211:rdev_return_wdev
+cfg80211:rdev_return_void_tx_rx
+cfg80211:rdev_return_void
+cfg80211:rdev_return_int_tx_rx
+cfg80211:rdev_return_int_survey_info
+cfg80211:rdev_return_int_station_info
+cfg80211:rdev_return_int_mpath_info
+cfg80211:rdev_return_int_mesh_config
+cfg80211:rdev_return_int_int
+cfg80211:rdev_return_int_cookie
+cfg80211:rdev_return_int
+cfg80211:rdev_return_chandef
+cfg80211:rdev_resume
+cfg80211:rdev_reset_tid_config
+cfg80211:rdev_remain_on_channel
+cfg80211:rdev_probe_mesh_link
+cfg80211:rdev_probe_client
+cfg80211:rdev_nan_change_conf
+cfg80211:rdev_mgmt_tx_cancel_wait
+cfg80211:rdev_mgmt_tx
+cfg80211:rdev_libertas_set_mesh_channel
+cfg80211:rdev_leave_ocb
+cfg80211:rdev_leave_mesh
+cfg80211:rdev_leave_ibss
+cfg80211:rdev_join_ocb
+cfg80211:rdev_join_mesh
+cfg80211:rdev_join_ibss
+cfg80211:rdev_get_txq_stats
+cfg80211:rdev_get_tx_power
+cfg80211:rdev_get_station
+cfg80211:rdev_get_mpp
+cfg80211:rdev_get_mpath
+cfg80211:rdev_get_mesh_config
+cfg80211:rdev_get_key
+cfg80211:rdev_get_ftm_responder_stats
+cfg80211:rdev_get_channel
+cfg80211:rdev_get_antenna
+cfg80211:rdev_flush_pmksa
+cfg80211:rdev_external_auth
+cfg80211:rdev_end_cac
+cfg80211:rdev_dump_survey
+cfg80211:rdev_dump_station
+cfg80211:rdev_dump_mpp
+cfg80211:rdev_dump_mpath
+cfg80211:rdev_disconnect
+cfg80211:rdev_disassoc
+cfg80211:rdev_del_virtual_intf
+cfg80211:rdev_del_tx_ts
+cfg80211:rdev_del_station
+cfg80211:rdev_del_pmksa
+cfg80211:rdev_del_pmk
+cfg80211:rdev_del_nan_func
+cfg80211:rdev_del_mpath
+cfg80211:rdev_del_key
+cfg80211:rdev_deauth
+cfg80211:rdev_crit_proto_stop
+cfg80211:rdev_crit_proto_start
+cfg80211:rdev_connect
+cfg80211:rdev_channel_switch
+cfg80211:rdev_change_virtual_intf
+cfg80211:rdev_change_station
+cfg80211:rdev_change_mpath
+cfg80211:rdev_change_bss
+cfg80211:rdev_change_beacon
+cfg80211:rdev_cancel_remain_on_channel
+cfg80211:rdev_auth
+cfg80211:rdev_assoc
+cfg80211:rdev_add_virtual_intf
+cfg80211:rdev_add_tx_ts
+cfg80211:rdev_add_station
+cfg80211:rdev_add_nan_func
+cfg80211:rdev_add_mpath
+cfg80211:rdev_add_key
+cfg80211:rdev_abort_scan
+cfg80211:rdev_abort_pmsr
+cfg80211:cfg80211_update_owe_info_event
+cfg80211:cfg80211_tx_mlme_mgmt
+cfg80211:cfg80211_tx_mgmt_expired
+cfg80211:cfg80211_tdls_oper_request
+cfg80211:cfg80211_stop_iface
+cfg80211:cfg80211_send_rx_auth
+cfg80211:cfg80211_send_rx_assoc
+cfg80211:cfg80211_send_auth_timeout
+cfg80211:cfg80211_send_assoc_timeout
+cfg80211:cfg80211_sched_scan_stopped
+cfg80211:cfg80211_sched_scan_results
+cfg80211:cfg80211_scan_done
+cfg80211:cfg80211_rx_unprot_mlme_mgmt
+cfg80211:cfg80211_rx_unexpected_4addr_frame
+cfg80211:cfg80211_rx_spurious_frame
+cfg80211:cfg80211_rx_mlme_mgmt
+cfg80211:cfg80211_rx_mgmt
+cfg80211:cfg80211_rx_control_port
+cfg80211:cfg80211_return_uint
+cfg80211:cfg80211_return_u32
+cfg80211:cfg80211_return_bss
+cfg80211:cfg80211_return_bool
+cfg80211:cfg80211_report_wowlan_wakeup
+cfg80211:cfg80211_report_obss_beacon
+cfg80211:cfg80211_reg_can_beacon
+cfg80211:cfg80211_ready_on_channel_expired
+cfg80211:cfg80211_ready_on_channel
+cfg80211:cfg80211_radar_event
+cfg80211:cfg80211_probe_status
+cfg80211:cfg80211_pmsr_report
+cfg80211:cfg80211_pmsr_complete
+cfg80211:cfg80211_pmksa_candidate_notify
+cfg80211:cfg80211_notify_new_peer_candidate
+cfg80211:cfg80211_new_sta
+cfg80211:cfg80211_michael_mic_failure
+cfg80211:cfg80211_mgmt_tx_status
+cfg80211:cfg80211_inform_bss_frame
+cfg80211:cfg80211_ibss_joined
+cfg80211:cfg80211_gtk_rekey_notify
+cfg80211:cfg80211_get_bss
+cfg80211:cfg80211_ft_event
+cfg80211:cfg80211_del_sta
+cfg80211:cfg80211_cqm_rssi_notify
+cfg80211:cfg80211_cqm_pktloss_notify
+cfg80211:cfg80211_control_port_tx_status
+cfg80211:cfg80211_chandef_dfs_required
+cfg80211:cfg80211_ch_switch_started_notify
+cfg80211:cfg80211_ch_switch_notify
+cfg80211:cfg80211_cac_event
+synthetic:rss_stat_throttled
+mcps802154_region_nfcc_coex:nfcc_coex_llhw_vendor_cmd
+mcps802154_region_nfcc_coex:nfcc_coex_llhw_return_int
+mcps802154_region_fira:region_fira_tx_message_type
+mcps802154_region_fira:region_fira_session_params
+mcps802154_region_fira:region_fira_rx_message_type
+mali:gpu_power_state
+power:gpu_frequency
+mali:sysgraph_gpu
+mali:sysgraph
+mali:mali_total_alloc_pages_change
+mali:mali_pm_status
+mali:mali_page_fault_insert_pages
+mali:mali_mmu_page_fault_grow
+mali:mali_job_slots_event
+mali:mali_jit_trim_from_region
+mali:mali_jit_trim
+mali:mali_jit_report_pressure
+mali:mali_jit_report_gpu_mem
+mali:mali_jit_report
+mali:mali_jit_free
+mali:mali_jit_alloc
+dpu:tracing_mark_write
+dw3000:dw3000_wakeup_timer_start
+dw3000:dw3000_wakeup_done
+dw3000:dw3000_wakeup
+dw3000:dw3000_tm_cmd
+dw3000:dw3000_testmode_continuous_tx_stop
+dw3000:dw3000_testmode_continuous_tx_start
+dw3000:dw3000_set_pdoa
+dw3000:dw3000_set_operational_state
+dw3000:dw3000_set_antenna_gpio
+dw3000:dw3000_rx_rssi
+dw3000:dw3000_return_void
+dw3000:dw3000_return_int_u64
+dw3000:dw3000_return_int_u32
+dw3000:dw3000_return_int
+dw3000:dw3000_resync_dtu_sys_time
+dw3000:dw3000_read_rx_timestamp
+dw3000:dw3000_read_pdoa
+dw3000:dw3000_read_clockoffset
+dw3000:dw3000_rctu_convert_tx
+dw3000:dw3000_rctu_convert_synced
+dw3000:dw3000_rctu_convert_rx
+dw3000:dw3000_rctu_convert_align
+dw3000:dw3000_power_stats
+dw3000:dw3000_nfcc_coex_watchdog
+dw3000:dw3000_nfcc_coex_warn
+dw3000:dw3000_nfcc_coex_sleep
+dw3000:dw3000_nfcc_coex_rx_msg_info
+dw3000:dw3000_nfcc_coex_isr
+dw3000:dw3000_nfcc_coex_header_check
+dw3000:dw3000_nfcc_coex_err
+dw3000:dw3000_nfcc_coex_enable
+dw3000:dw3000_nfcc_coex_disable
+dw3000:dw3000_nfcc_coex_clock_sync_payload_put
+dw3000:dw3000_nfcc_coex_clock_offset_payload_put
+dw3000:dw3000_mcps_tx_frame
+dw3000:dw3000_mcps_stop
+dw3000:dw3000_mcps_start
+dw3000:dw3000_mcps_set_sts_params
+dw3000:dw3000_mcps_set_hw_addr_filt
+dw3000:dw3000_mcps_set_channel
+dw3000:dw3000_mcps_rx_get_frame
+dw3000:dw3000_mcps_rx_get_error_frame
+dw3000:dw3000_mcps_rx_enable
+dw3000:dw3000_mcps_rx_disable
+dw3000:dw3000_mcps_reset
+dw3000:dw3000_mcps_idle
+dw3000:dw3000_mcps_get_timestamp
+dw3000:dw3000_isr
+dw3000:dw3000_get_counters_second_part
+dw3000:dw3000_get_counters_first_part
+dw3000:dw3000_deep_sleep_enter
+dw3000:dw3000_deep_sleep
+dw3000:dw3000_coex_gpio_stop
+dw3000:dw3000_coex_gpio_start
+dw3000:dw3000_coex_gpio
+dw3000:dw3000_check_operational_state
+dw3000:dw3000_adjust_tx_power
+mcps802154:schedule_update_done
+mcps802154:schedule_update
+mcps802154:region_get_access
+mcps802154:llhw_tx_frame
+mcps802154:llhw_testmode_cmd
+mcps802154:llhw_stop
+mcps802154:llhw_start
+mcps802154:llhw_set_txpower
+mcps802154:llhw_set_sts_params
+mcps802154:llhw_set_scanning_mode
+mcps802154:llhw_set_promiscuous_mode
+mcps802154:llhw_set_hw_addr_filt
+mcps802154:llhw_set_hrp_uwb_params
+mcps802154:llhw_set_channel
+mcps802154:llhw_set_cca_mode
+mcps802154:llhw_set_cca_ed_level
+mcps802154:llhw_set_calibration
+mcps802154:llhw_rx_get_frame
+mcps802154:llhw_rx_get_error_frame
+mcps802154:llhw_rx_enable
+mcps802154:llhw_rx_disable
+mcps802154:llhw_return_void
+mcps802154:llhw_return_timestamp_rctu
+mcps802154:llhw_return_timestamp_dtu
+mcps802154:llhw_return_rx_frame
+mcps802154:llhw_return_int
+mcps802154:llhw_reset
+mcps802154:llhw_list_calibration
+mcps802154:llhw_idle_timestamp
+mcps802154:llhw_idle
+mcps802154:llhw_get_current_timestamp_dtu
+mcps802154:llhw_get_calibration
+mcps802154:llhw_event_tx_done
+mcps802154:llhw_event_timer_expired
+mcps802154:llhw_event_rx_timeout
+mcps802154:llhw_event_rx_frame
+mcps802154:llhw_event_rx_error
+mcps802154:llhw_event_done
+mcps802154:llhw_event_broken
+mcps802154:ca_set_scheduler_parameters
+mcps802154:ca_set_scheduler
+mcps802154:ca_scheduler_set_region_parameters
+mcps802154:ca_scheduler_call_region
+mcps802154:ca_scheduler_call
+mcps802154:ca_return_int
+mcps802154:ca_get_access
+edgetpu:edgetpu_map_dmabuf_start
+edgetpu:edgetpu_map_dmabuf_end
+edgetpu:edgetpu_map_buffer_start
+edgetpu:edgetpu_map_buffer_end
+power:memlat_dev_update
+power:memlat_dev_meas
+thermal_exynos_gpu:vendor_cdev_update
+thermal_exynos_gpu:thermal_exynos_power_gpu_limit
+thermal_exynos_gpu:thermal_exynos_power_gpu_get_power
+thermal_exynos:vendor_cdev_update
+thermal_exynos:thermal_exynos_tpu_pause
+thermal_exynos:thermal_exynos_power_gpu_limit
+thermal_exynos:thermal_exynos_power_gpu_get_power
+thermal_exynos:thermal_exynos_power_cpu_limit
+thermal_exynos:thermal_exynos_power_cpu_get_power
+thermal_exynos:thermal_exynos_power_allocator_pid
+thermal_exynos:thermal_exynos_power_allocator
+thermal_exynos:thermal_exynos_hard_limit_cdev_update
+thermal_exynos:thermal_exynos_cpu_pause
+thermal_exynos:thermal_exynos_arm_update
+thermal_exynos:thermal_exynos_allow_max_power
+thermal_exynos:thermal_cpu_pressure
+mfc:mfc_node_open
+mfc:mfc_node_close
+mfc:mfc_loadfw_start
+mfc:mfc_loadfw_end
+mfc:mfc_frame_top
+mfc:mfc_frame_start
+mfc:mfc_frame_bottom
+mfc:mfc_dcpp_start
+mfc:mfc_dcpp_end
+ufs_pixel:ufs_stats
+zram:zcomp_decompress_start
+zram:zcomp_decompress_end
+g2d:tracing_mark_write
+g2d:g2d_perf_update_qos
+pt:pt_resize_callback
+pt:pt_enable
+pt:pt_driver_log
+devfreq:dvfs_update_load
+devfreq:dvfs_read_ppc
+preemptirq_long:preempt_disable_long
+preemptirq_long:irq_disable_long
+sched:sugov_util_update
+sched:sugov_next_freq
+sched:schedutil_cpu_util_clamp
+sched:sched_util_est_se
+sched:sched_util_est_cfs
+sched:sched_setscheduler_uclamp
+sched:sched_select_task_rq_rt
+sched:sched_rt_cpu_util
+sched:sched_pelt_se
+sched:sched_pelt_rt
+sched:sched_pelt_irq
+sched:sched_pelt_dl
+sched:sched_pelt_cfs
+sched:sched_overutilized
+sched:sched_find_least_loaded_cpu
+sched:sched_find_energy_efficient_cpu
+sched:sched_find_best_target
+sched:sched_cpu_util
+sched:sched_cpu_capacity
+dmabuf_heap:dma_heap_stat
+systrace:0
+initcall:initcall_finish
+initcall:initcall_level
+initcall:initcall_start
+raw_syscalls:sys_enter
+raw_syscalls:sys_exit
+ipi:ipi_entry
+ipi:ipi_exit
+ipi:ipi_raise
+emulation:instruction_emulation
+kvm:kvm_ack_irq
+kvm:kvm_age_page
+kvm:kvm_fpu
+kvm:kvm_halt_poll_ns
+kvm:kvm_mmio
+kvm:kvm_set_irq
+kvm:kvm_userspace_exit
+kvm:kvm_vcpu_wakeup
+kvm:kvm_access_fault
+kvm:kvm_age_hva
+kvm:kvm_entry
+kvm:kvm_exit
+kvm:kvm_get_timer_map
+kvm:kvm_guest_fault
+kvm:kvm_irq_line
+kvm:kvm_mmio_emulate
+kvm:kvm_set_spte_hva
+kvm:kvm_set_way_flush
+kvm:kvm_test_age_hva
+kvm:kvm_timer_emulate
+kvm:kvm_timer_hrtimer_expire
+kvm:kvm_timer_restore_state
+kvm:kvm_timer_save_state
+kvm:kvm_timer_update_irq
+kvm:kvm_toggle_cache
+kvm:kvm_unmap_hva_range
+kvm:kvm_arm_clear_debug
+kvm:kvm_arm_set_dreg32
+kvm:kvm_arm_set_regset
+kvm:kvm_arm_setup_debug
+kvm:kvm_handle_sys_reg
+kvm:kvm_hvc_arm64
+kvm:kvm_set_guest_debug
+kvm:kvm_sys_access
+kvm:kvm_wfx_arm64
+kvm:trap_reg
+kvm:vgic_update_irq_pending
+task:task_newtask
+task:task_rename
+cpuhp:cpuhp_enter
+cpuhp:cpuhp_exit
+cpuhp:cpuhp_multi_enter
+cpuhp:cpuhp_pause
+irq:irq_handler_entry
+irq:irq_handler_exit
+irq:softirq_entry
+irq:softirq_exit
+irq:softirq_raise
+irq:tasklet_entry
+irq:tasklet_exit
+irq:tasklet_hi_entry
+irq:tasklet_hi_exit
+signal:signal_deliver
+signal:signal_generate
+workqueue:workqueue_activate_work
+workqueue:workqueue_execute_end
+workqueue:workqueue_execute_start
+workqueue:workqueue_queue_work
+sched:sched_blocked_reason
+sched:sched_kthread_stop
+sched:sched_kthread_stop_ret
+sched:sched_migrate_task
+sched:sched_move_numa
+sched:sched_pi_setprio
+sched:sched_process_exec
+sched:sched_process_exit
+sched:sched_process_fork
+sched:sched_process_free
+sched:sched_process_hang
+sched:sched_process_wait
+sched:sched_stat_blocked
+sched:sched_stat_iowait
+sched:sched_stat_runtime
+sched:sched_stat_sleep
+sched:sched_stat_wait
+sched:sched_stick_numa
+sched:sched_swap_numa
+sched:sched_switch
+sched:sched_wait_task
+sched:sched_wake_idle_without_ipi
+sched:sched_wakeup
+sched:sched_wakeup_new
+sched:sched_waking
+printk:console
+rcu:rcu_barrier
+rcu:rcu_batch_end
+rcu:rcu_batch_start
+rcu:rcu_callback
+rcu:rcu_dyntick
+rcu:rcu_exp_funnel_lock
+rcu:rcu_exp_grace_period
+rcu:rcu_fqs
+rcu:rcu_future_grace_period
+rcu:rcu_grace_period
+rcu:rcu_grace_period_init
+rcu:rcu_invoke_callback
+rcu:rcu_invoke_kfree_bulk_callback
+rcu:rcu_invoke_kvfree_callback
+rcu:rcu_kvfree_callback
+rcu:rcu_nocb_wake
+rcu:rcu_preempt_task
+rcu:rcu_quiescent_state_report
+rcu:rcu_stall_warning
+rcu:rcu_torture_read
+rcu:rcu_unlock_preempted_task
+rcu:rcu_utilization
+swiotlb:swiotlb_bounced
+timer:hrtimer_cancel
+timer:hrtimer_expire_entry
+timer:hrtimer_expire_exit
+timer:hrtimer_init
+timer:hrtimer_start
+timer:itimer_expire
+timer:itimer_state
+timer:tick_stop
+timer:timer_cancel
+timer:timer_expire_entry
+timer:timer_expire_exit
+timer:timer_init
+timer:timer_start
+alarmtimer:alarmtimer_cancel
+alarmtimer:alarmtimer_fired
+alarmtimer:alarmtimer_start
+alarmtimer:alarmtimer_suspend
+module:module_free
+module:module_get
+module:module_load
+module:module_put
+module:module_request
+cgroup:cgroup_attach_task
+cgroup:cgroup_destroy_root
+cgroup:cgroup_freeze
+cgroup:cgroup_mkdir
+cgroup:cgroup_notify_frozen
+cgroup:cgroup_notify_populated
+cgroup:cgroup_release
+cgroup:cgroup_remount
+cgroup:cgroup_rename
+cgroup:cgroup_rmdir
+cgroup:cgroup_setup_root
+cgroup:cgroup_transfer_tasks
+cgroup:cgroup_unfreeze
+bpf_trace:bpf_trace_printk
+error_report:error_report_end
+power:clock_disable
+power:clock_enable
+power:clock_set_rate
+power:cpu_frequency
+power:cpu_frequency_limits
+power:cpu_idle
+power:dev_pm_qos_add_request
+power:dev_pm_qos_remove_request
+power:dev_pm_qos_update_request
+power:device_pm_callback_end
+power:device_pm_callback_start
+power:pm_qos_add_request
+power:pm_qos_remove_request
+power:pm_qos_update_flags
+power:pm_qos_update_request
+power:pm_qos_update_target
+power:power_domain_target
+power:powernv_throttle
+power:pstate_sample
+power:suspend_resume
+power:wakeup_source_activate
+power:wakeup_source_deactivate
+rpm:rpm_idle
+rpm:rpm_resume
+rpm:rpm_return_int
+rpm:rpm_suspend
+rpm:rpm_usage
+rwmmio:rwmmio_post_read
+rwmmio:rwmmio_read
+rwmmio:rwmmio_write
+xdp:mem_connect
+xdp:mem_disconnect
+xdp:mem_return_failed
+xdp:xdp_bulk_tx
+xdp:xdp_cpumap_enqueue
+xdp:xdp_cpumap_kthread
+xdp:xdp_devmap_xmit
+xdp:xdp_exception
+xdp:xdp_redirect
+xdp:xdp_redirect_err
+xdp:xdp_redirect_map
+xdp:xdp_redirect_map_err
+filemap:file_check_and_advance_wb_err
+filemap:filemap_set_wb_err
+filemap:mm_filemap_add_to_page_cache
+filemap:mm_filemap_delete_from_page_cache
+oom:compact_retry
+oom:finish_task_reaping
+oom:mark_victim
+oom:oom_score_adj_update
+oom:reclaim_retry_zone
+oom:skip_task_reaping
+oom:start_task_reaping
+oom:wake_reaper
+pagemap:mm_lru_activate
+pagemap:mm_lru_insertion
+vmscan:mm_shrink_slab_end
+vmscan:mm_shrink_slab_start
+vmscan:mm_vmscan_direct_reclaim_begin
+vmscan:mm_vmscan_direct_reclaim_end
+vmscan:mm_vmscan_inactive_list_is_low
+vmscan:mm_vmscan_kswapd_sleep
+vmscan:mm_vmscan_kswapd_wake
+vmscan:mm_vmscan_lru_isolate
+vmscan:mm_vmscan_lru_shrink_active
+vmscan:mm_vmscan_lru_shrink_inactive
+vmscan:mm_vmscan_memcg_reclaim_begin
+vmscan:mm_vmscan_memcg_reclaim_end
+vmscan:mm_vmscan_memcg_softlimit_reclaim_begin
+vmscan:mm_vmscan_memcg_softlimit_reclaim_end
+vmscan:mm_vmscan_node_reclaim_begin
+vmscan:mm_vmscan_node_reclaim_end
+vmscan:mm_vmscan_wakeup_kswapd
+vmscan:mm_vmscan_writepage
+percpu:percpu_alloc_percpu
+percpu:percpu_alloc_percpu_fail
+percpu:percpu_create_chunk
+percpu:percpu_destroy_chunk
+percpu:percpu_free_percpu
+kmem:kfree
+kmem:kmalloc
+kmem:kmalloc_node
+kmem:kmem_cache_alloc
+kmem:kmem_cache_alloc_node
+kmem:kmem_cache_free
+kmem:mm_page_alloc
+kmem:mm_page_alloc_extfrag
+kmem:mm_page_alloc_zone_locked
+kmem:mm_page_free
+kmem:mm_page_free_batched
+kmem:mm_page_pcpu_drain
+kmem:rss_stat
+compaction:mm_compaction_begin
+compaction:mm_compaction_defer_compaction
+compaction:mm_compaction_defer_reset
+compaction:mm_compaction_deferred
+compaction:mm_compaction_end
+compaction:mm_compaction_finished
+compaction:mm_compaction_isolate_freepages
+compaction:mm_compaction_isolate_migratepages
+compaction:mm_compaction_kcompactd_sleep
+compaction:mm_compaction_kcompactd_wake
+compaction:mm_compaction_migratepages
+compaction:mm_compaction_suitable
+compaction:mm_compaction_try_to_compact_pages
+compaction:mm_compaction_wakeup_kcompactd
+pagefault:spf_pmd_changed
+pagefault:spf_pte_lock
+pagefault:spf_vma_access
+pagefault:spf_vma_changed
+pagefault:spf_vma_noanon
+pagefault:spf_vma_notsup
+mmap:vm_unmapped_area
+migrate:mm_migrate_pages
+migrate:mm_migrate_pages_start
+huge_memory:mm_collapse_huge_page
+huge_memory:mm_collapse_huge_page_isolate
+huge_memory:mm_collapse_huge_page_swapin
+huge_memory:mm_khugepaged_scan_pmd
+page_isolation:test_pages_isolated
+cma:cma_alloc_busy_retry
+cma:cma_alloc_finish
+cma:cma_alloc_info
+cma:cma_alloc_start
+cma:cma_release
+namei:inodepath
+writeback:balance_dirty_pages
+writeback:bdi_dirty_ratelimit
+writeback:flush_foreign
+writeback:global_dirty_state
+writeback:inode_foreign_history
+writeback:inode_switch_wbs
+writeback:sb_clear_inode_writeback
+writeback:sb_mark_inode_writeback
+writeback:track_foreign_dirty
+writeback:wait_on_page_writeback
+writeback:wbc_writepage
+writeback:writeback_bdi_register
+writeback:writeback_congestion_wait
+writeback:writeback_dirty_inode
+writeback:writeback_dirty_inode_enqueue
+writeback:writeback_dirty_inode_start
+writeback:writeback_dirty_page
+writeback:writeback_exec
+writeback:writeback_lazytime
+writeback:writeback_lazytime_iput
+writeback:writeback_mark_inode_dirty
+writeback:writeback_pages_written
+writeback:writeback_queue
+writeback:writeback_queue_io
+writeback:writeback_sb_inodes_requeue
+writeback:writeback_single_inode
+writeback:writeback_single_inode_start
+writeback:writeback_start
+writeback:writeback_wait
+writeback:writeback_wait_iff_congested
+writeback:writeback_wake_background
+writeback:writeback_write_inode
+writeback:writeback_write_inode_start
+writeback:writeback_written
+android_fs:android_fs_dataread_end
+android_fs:android_fs_dataread_start
+android_fs:android_fs_datawrite_end
+android_fs:android_fs_datawrite_start
+io_uring:io_uring_complete
+io_uring:io_uring_cqring_wait
+io_uring:io_uring_create
+io_uring:io_uring_defer
+io_uring:io_uring_fail_link
+io_uring:io_uring_file_get
+io_uring:io_uring_link
+io_uring:io_uring_poll_arm
+io_uring:io_uring_poll_wake
+io_uring:io_uring_queue_async_work
+io_uring:io_uring_register
+io_uring:io_uring_submit_sqe
+io_uring:io_uring_task_add
+io_uring:io_uring_task_run
+filelock:break_lease_block
+filelock:break_lease_noblock
+filelock:break_lease_unblock
+filelock:fcntl_setlk
+filelock:flock_lock_inode
+filelock:generic_add_lease
+filelock:generic_delete_lease
+filelock:leases_conflict
+filelock:locks_get_lock_context
+filelock:locks_remove_posix
+filelock:posix_lock_inode
+filelock:time_out_leases
+iomap:iomap_apply
+iomap:iomap_apply_dstmap
+iomap:iomap_apply_srcmap
+iomap:iomap_dio_invalidate_fail
+iomap:iomap_invalidatepage
+iomap:iomap_readahead
+iomap:iomap_readpage
+iomap:iomap_releasepage
+iomap:iomap_writepage
+ext4:ext4_alloc_da_blocks
+ext4:ext4_allocate_blocks
+ext4:ext4_allocate_inode
+ext4:ext4_begin_ordered_truncate
+ext4:ext4_collapse_range
+ext4:ext4_da_release_space
+ext4:ext4_da_reserve_space
+ext4:ext4_da_update_reserve_space
+ext4:ext4_da_write_begin
+ext4:ext4_da_write_end
+ext4:ext4_da_write_pages
+ext4:ext4_da_write_pages_extent
+ext4:ext4_direct_IO_enter
+ext4:ext4_direct_IO_exit
+ext4:ext4_discard_blocks
+ext4:ext4_discard_preallocations
+ext4:ext4_drop_inode
+ext4:ext4_error
+ext4:ext4_es_cache_extent
+ext4:ext4_es_find_extent_range_enter
+ext4:ext4_es_find_extent_range_exit
+ext4:ext4_es_insert_delayed_block
+ext4:ext4_es_insert_extent
+ext4:ext4_es_lookup_extent_enter
+ext4:ext4_es_lookup_extent_exit
+ext4:ext4_es_remove_extent
+ext4:ext4_es_shrink
+ext4:ext4_es_shrink_count
+ext4:ext4_es_shrink_scan_enter
+ext4:ext4_es_shrink_scan_exit
+ext4:ext4_evict_inode
+ext4:ext4_ext_convert_to_initialized_enter
+ext4:ext4_ext_convert_to_initialized_fastpath
+ext4:ext4_ext_handle_unwritten_extents
+ext4:ext4_ext_in_cache
+ext4:ext4_ext_load_extent
+ext4:ext4_ext_map_blocks_enter
+ext4:ext4_ext_map_blocks_exit
+ext4:ext4_ext_put_in_cache
+ext4:ext4_ext_remove_space
+ext4:ext4_ext_remove_space_done
+ext4:ext4_ext_rm_idx
+ext4:ext4_ext_rm_leaf
+ext4:ext4_ext_show_extent
+ext4:ext4_fallocate_enter
+ext4:ext4_fallocate_exit
+ext4:ext4_fc_commit_start
+ext4:ext4_fc_commit_stop
+ext4:ext4_fc_replay
+ext4:ext4_fc_replay_scan
+ext4:ext4_fc_stats
+ext4:ext4_fc_track_create
+ext4:ext4_fc_track_inode
+ext4:ext4_fc_track_link
+ext4:ext4_fc_track_range
+ext4:ext4_fc_track_unlink
+ext4:ext4_find_delalloc_range
+ext4:ext4_forget
+ext4:ext4_free_blocks
+ext4:ext4_free_inode
+ext4:ext4_fsmap_high_key
+ext4:ext4_fsmap_low_key
+ext4:ext4_fsmap_mapping
+ext4:ext4_get_implied_cluster_alloc_exit
+ext4:ext4_get_reserved_cluster_alloc
+ext4:ext4_getfsmap_high_key
+ext4:ext4_getfsmap_low_key
+ext4:ext4_getfsmap_mapping
+ext4:ext4_ind_map_blocks_enter
+ext4:ext4_ind_map_blocks_exit
+ext4:ext4_insert_range
+ext4:ext4_invalidatepage
+ext4:ext4_journal_start
+ext4:ext4_journal_start_reserved
+ext4:ext4_journalled_invalidatepage
+ext4:ext4_journalled_write_end
+ext4:ext4_lazy_itable_init
+ext4:ext4_load_inode
+ext4:ext4_load_inode_bitmap
+ext4:ext4_mark_inode_dirty
+ext4:ext4_mb_bitmap_load
+ext4:ext4_mb_buddy_bitmap_load
+ext4:ext4_mb_discard_preallocations
+ext4:ext4_mb_new_group_pa
+ext4:ext4_mb_new_inode_pa
+ext4:ext4_mb_release_group_pa
+ext4:ext4_mb_release_inode_pa
+ext4:ext4_mballoc_alloc
+ext4:ext4_mballoc_discard
+ext4:ext4_mballoc_free
+ext4:ext4_mballoc_prealloc
+ext4:ext4_nfs_commit_metadata
+ext4:ext4_other_inode_update_time
+ext4:ext4_prefetch_bitmaps
+ext4:ext4_punch_hole
+ext4:ext4_read_block_bitmap_load
+ext4:ext4_readpage
+ext4:ext4_releasepage
+ext4:ext4_remove_blocks
+ext4:ext4_request_blocks
+ext4:ext4_request_inode
+ext4:ext4_shutdown
+ext4:ext4_sync_file_enter
+ext4:ext4_sync_file_exit
+ext4:ext4_sync_fs
+ext4:ext4_trim_all_free
+ext4:ext4_trim_extent
+ext4:ext4_truncate_enter
+ext4:ext4_truncate_exit
+ext4:ext4_unlink_enter
+ext4:ext4_unlink_exit
+ext4:ext4_write_begin
+ext4:ext4_write_end
+ext4:ext4_writepage
+ext4:ext4_writepages
+ext4:ext4_writepages_result
+ext4:ext4_zero_range
+jbd2:jbd2_checkpoint
+jbd2:jbd2_checkpoint_stats
+jbd2:jbd2_commit_flushing
+jbd2:jbd2_commit_locking
+jbd2:jbd2_commit_logging
+jbd2:jbd2_drop_transaction
+jbd2:jbd2_end_commit
+jbd2:jbd2_handle_extend
+jbd2:jbd2_handle_restart
+jbd2:jbd2_handle_start
+jbd2:jbd2_handle_stats
+jbd2:jbd2_lock_buffer_stall
+jbd2:jbd2_run_stats
+jbd2:jbd2_start_commit
+jbd2:jbd2_submit_inode_data
+jbd2:jbd2_update_log_tail
+jbd2:jbd2_write_superblock
+f2fs:f2fs_background_gc
+f2fs:f2fs_bmap
+f2fs:f2fs_commit_inmem_page
+f2fs:f2fs_compress_pages_end
+f2fs:f2fs_compress_pages_start
+f2fs:f2fs_decompress_pages_end
+f2fs:f2fs_decompress_pages_start
+f2fs:f2fs_destroy_extent_tree
+f2fs:f2fs_direct_IO_enter
+f2fs:f2fs_direct_IO_exit
+f2fs:f2fs_do_write_data_page
+f2fs:f2fs_drop_inode
+f2fs:f2fs_evict_inode
+f2fs:f2fs_fallocate
+f2fs:f2fs_fiemap
+f2fs:f2fs_file_write_iter
+f2fs:f2fs_filemap_fault
+f2fs:f2fs_gc_begin
+f2fs:f2fs_gc_end
+f2fs:f2fs_get_victim
+f2fs:f2fs_iget
+f2fs:f2fs_iget_exit
+f2fs:f2fs_iostat
+f2fs:f2fs_issue_discard
+f2fs:f2fs_issue_flush
+f2fs:f2fs_issue_reset_zone
+f2fs:f2fs_lookup_end
+f2fs:f2fs_lookup_extent_tree_end
+f2fs:f2fs_lookup_extent_tree_start
+f2fs:f2fs_lookup_start
+f2fs:f2fs_map_blocks
+f2fs:f2fs_new_inode
+f2fs:f2fs_prepare_read_bio
+f2fs:f2fs_prepare_write_bio
+f2fs:f2fs_queue_discard
+f2fs:f2fs_readdir
+f2fs:f2fs_readpage
+f2fs:f2fs_readpages
+f2fs:f2fs_register_inmem_page
+f2fs:f2fs_remove_discard
+f2fs:f2fs_reserve_new_blocks
+f2fs:f2fs_set_page_dirty
+f2fs:f2fs_shrink_extent_tree
+f2fs:f2fs_shutdown
+f2fs:f2fs_submit_page_bio
+f2fs:f2fs_submit_page_write
+f2fs:f2fs_submit_read_bio
+f2fs:f2fs_submit_write_bio
+f2fs:f2fs_sync_dirty_inodes_enter
+f2fs:f2fs_sync_dirty_inodes_exit
+f2fs:f2fs_sync_file_enter
+f2fs:f2fs_sync_file_exit
+f2fs:f2fs_sync_fs
+f2fs:f2fs_truncate
+f2fs:f2fs_truncate_blocks_enter
+f2fs:f2fs_truncate_blocks_exit
+f2fs:f2fs_truncate_data_blocks_range
+f2fs:f2fs_truncate_inode_blocks_enter
+f2fs:f2fs_truncate_inode_blocks_exit
+f2fs:f2fs_truncate_node
+f2fs:f2fs_truncate_nodes_enter
+f2fs:f2fs_truncate_nodes_exit
+f2fs:f2fs_truncate_partial_nodes
+f2fs:f2fs_unlink_enter
+f2fs:f2fs_unlink_exit
+f2fs:f2fs_update_extent_tree_range
+f2fs:f2fs_vm_page_mkwrite
+f2fs:f2fs_write_begin
+f2fs:f2fs_write_checkpoint
+f2fs:f2fs_write_end
+f2fs:f2fs_writepage
+f2fs:f2fs_writepages
+erofs:erofs_destroy_inode
+erofs:erofs_fill_inode
+erofs:erofs_lookup
+erofs:erofs_map_blocks_flatmode_enter
+erofs:erofs_map_blocks_flatmode_exit
+erofs:erofs_readpage
+erofs:erofs_readpages
+erofs:z_erofs_map_blocks_iter_enter
+erofs:z_erofs_map_blocks_iter_exit
+avc:selinux_audited
+block:block_bio_backmerge
+block:block_bio_bounce
+block:block_bio_complete
+block:block_bio_frontmerge
+block:block_bio_queue
+block:block_bio_remap
+block:block_dirty_buffer
+block:block_getrq
+block:block_plug
+block:block_rq_complete
+block:block_rq_insert
+block:block_rq_issue
+block:block_rq_merge
+block:block_rq_remap
+block:block_rq_requeue
+block:block_sleeprq
+block:block_split
+block:block_touch_buffer
+block:block_unplug
+iocost:iocost_inuse_adjust
+iocost:iocost_inuse_shortage
+iocost:iocost_inuse_transfer
+iocost:iocost_ioc_vrate_adj
+iocost:iocost_iocg_activate
+iocost:iocost_iocg_forgive_debt
+kyber:kyber_adjust
+kyber:kyber_latency
+kyber:kyber_throttled
+gpio:gpio_direction
+gpio:gpio_value
+pwm:pwm_apply
+pwm:pwm_get
+clk:clk_disable
+clk:clk_disable_complete
+clk:clk_enable
+clk:clk_enable_complete
+clk:clk_prepare
+clk:clk_prepare_complete
+clk:clk_set_duty_cycle
+clk:clk_set_duty_cycle_complete
+clk:clk_set_parent
+clk:clk_set_parent_complete
+clk:clk_set_phase
+clk:clk_set_phase_complete
+clk:clk_set_rate
+clk:clk_set_rate_complete
+clk:clk_unprepare
+clk:clk_unprepare_complete
+regulator:regulator_bypass_disable
+regulator:regulator_bypass_disable_complete
+regulator:regulator_bypass_enable
+regulator:regulator_bypass_enable_complete
+regulator:regulator_disable
+regulator:regulator_disable_complete
+regulator:regulator_enable
+regulator:regulator_enable_complete
+regulator:regulator_enable_delay
+regulator:regulator_set_voltage
+regulator:regulator_set_voltage_complete
+random:add_device_randomness
+random:add_disk_randomness
+random:add_input_randomness
+random:credit_entropy_bits
+random:debit_entropy
+random:extract_entropy
+random:extract_entropy_user
+random:get_random_bytes
+random:get_random_bytes_arch
+random:mix_pool_bytes
+random:mix_pool_bytes_nolock
+random:prandom_u32
+random:push_to_pool
+random:random_read
+random:urandom_read
+random:xfer_secondary_pool
+iommu:add_device_to_group
+iommu:attach_device_to_domain
+iommu:detach_device_from_domain
+iommu:io_page_fault
+iommu:map
+iommu:remove_device_from_group
+iommu:unmap
+drm:drm_vblank_event
+drm:drm_vblank_event_delivered
+drm:drm_vblank_event_queued
+gpu_mem:gpu_mem_total
+regmap:regcache_drop_region
+regmap:regcache_sync
+regmap:regmap_async_complete_done
+regmap:regmap_async_complete_start
+regmap:regmap_async_io_complete
+regmap:regmap_async_write_start
+regmap:regmap_cache_bypass
+regmap:regmap_cache_only
+regmap:regmap_hw_read_done
+regmap:regmap_hw_read_start
+regmap:regmap_hw_write_done
+regmap:regmap_hw_write_start
+regmap:regmap_reg_read
+regmap:regmap_reg_read_cache
+regmap:regmap_reg_write
+dma_fence:dma_fence_destroy
+dma_fence:dma_fence_emit
+dma_fence:dma_fence_enable_signal
+dma_fence:dma_fence_init
+dma_fence:dma_fence_signaled
+dma_fence:dma_fence_wait_end
+dma_fence:dma_fence_wait_start
+scsi:scsi_dispatch_cmd_done
+scsi:scsi_dispatch_cmd_error
+scsi:scsi_dispatch_cmd_start
+scsi:scsi_dispatch_cmd_timeout
+scsi:scsi_eh_wakeup
+ufs:ufshcd_auto_bkops_state
+ufs:ufshcd_clk_gating
+ufs:ufshcd_clk_scaling
+ufs:ufshcd_command
+ufs:ufshcd_init
+ufs:ufshcd_profile_clk_gating
+ufs:ufshcd_profile_clk_scaling
+ufs:ufshcd_profile_hibern8
+ufs:ufshcd_runtime_resume
+ufs:ufshcd_runtime_suspend
+ufs:ufshcd_system_resume
+ufs:ufshcd_system_suspend
+ufs:ufshcd_uic_command
+ufs:ufshcd_upiu
+spi:spi_controller_busy
+spi:spi_controller_idle
+spi:spi_message_done
+spi:spi_message_start
+spi:spi_message_submit
+spi:spi_transfer_start
+spi:spi_transfer_stop
+spmi:spmi_cmd
+spmi:spmi_read_begin
+spmi:spmi_read_end
+spmi:spmi_write_begin
+spmi:spmi_write_end
+mdio:mdio_access
+dwc3:dwc3_alloc_request
+dwc3:dwc3_complete_trb
+dwc3:dwc3_ctrl_req
+dwc3:dwc3_ep_dequeue
+dwc3:dwc3_ep_queue
+dwc3:dwc3_event
+dwc3:dwc3_free_request
+dwc3:dwc3_gadget_ep_cmd
+dwc3:dwc3_gadget_ep_disable
+dwc3:dwc3_gadget_ep_enable
+dwc3:dwc3_gadget_generic_cmd
+dwc3:dwc3_gadget_giveback
+dwc3:dwc3_prepare_trb
+dwc3:dwc3_readl
+dwc3:dwc3_writel
+xhci-hcd:xhci_add_endpoint
+xhci-hcd:xhci_address_ctrl_ctx
+xhci-hcd:xhci_address_ctx
+xhci-hcd:xhci_alloc_dev
+xhci-hcd:xhci_alloc_virt_device
+xhci-hcd:xhci_configure_endpoint
+xhci-hcd:xhci_configure_endpoint_ctrl_ctx
+xhci-hcd:xhci_dbc_alloc_request
+xhci-hcd:xhci_dbc_free_request
+xhci-hcd:xhci_dbc_gadget_ep_queue
+xhci-hcd:xhci_dbc_giveback_request
+xhci-hcd:xhci_dbc_handle_event
+xhci-hcd:xhci_dbc_handle_transfer
+xhci-hcd:xhci_dbc_queue_request
+xhci-hcd:xhci_dbg_address
+xhci-hcd:xhci_dbg_cancel_urb
+xhci-hcd:xhci_dbg_context_change
+xhci-hcd:xhci_dbg_init
+xhci-hcd:xhci_dbg_quirks
+xhci-hcd:xhci_dbg_reset_ep
+xhci-hcd:xhci_dbg_ring_expansion
+xhci-hcd:xhci_discover_or_reset_device
+xhci-hcd:xhci_free_dev
+xhci-hcd:xhci_free_virt_device
+xhci-hcd:xhci_get_port_status
+xhci-hcd:xhci_handle_cmd_addr_dev
+xhci-hcd:xhci_handle_cmd_config_ep
+xhci-hcd:xhci_handle_cmd_disable_slot
+xhci-hcd:xhci_handle_cmd_reset_dev
+xhci-hcd:xhci_handle_cmd_reset_ep
+xhci-hcd:xhci_handle_cmd_set_deq
+xhci-hcd:xhci_handle_cmd_set_deq_ep
+xhci-hcd:xhci_handle_cmd_stop_ep
+xhci-hcd:xhci_handle_command
+xhci-hcd:xhci_handle_event
+xhci-hcd:xhci_handle_port_status
+xhci-hcd:xhci_handle_transfer
+xhci-hcd:xhci_hub_status_data
+xhci-hcd:xhci_inc_deq
+xhci-hcd:xhci_inc_enq
+xhci-hcd:xhci_queue_trb
+xhci-hcd:xhci_ring_alloc
+xhci-hcd:xhci_ring_ep_doorbell
+xhci-hcd:xhci_ring_expansion
+xhci-hcd:xhci_ring_free
+xhci-hcd:xhci_ring_host_doorbell
+xhci-hcd:xhci_setup_addressable_virt_device
+xhci-hcd:xhci_setup_device
+xhci-hcd:xhci_setup_device_slot
+xhci-hcd:xhci_stop_device
+xhci-hcd:xhci_urb_dequeue
+xhci-hcd:xhci_urb_enqueue
+xhci-hcd:xhci_urb_giveback
+gadget:usb_ep_alloc_request
+gadget:usb_ep_clear_halt
+gadget:usb_ep_dequeue
+gadget:usb_ep_disable
+gadget:usb_ep_enable
+gadget:usb_ep_fifo_flush
+gadget:usb_ep_fifo_status
+gadget:usb_ep_free_request
+gadget:usb_ep_queue
+gadget:usb_ep_set_halt
+gadget:usb_ep_set_maxpacket_limit
+gadget:usb_ep_set_wedge
+gadget:usb_gadget_activate
+gadget:usb_gadget_clear_selfpowered
+gadget:usb_gadget_connect
+gadget:usb_gadget_deactivate
+gadget:usb_gadget_disconnect
+gadget:usb_gadget_frame_number
+gadget:usb_gadget_giveback_request
+gadget:usb_gadget_set_selfpowered
+gadget:usb_gadget_vbus_connect
+gadget:usb_gadget_vbus_disconnect
+gadget:usb_gadget_vbus_draw
+gadget:usb_gadget_wakeup
+ucsi:ucsi_connector_change
+ucsi:ucsi_register_altmode
+ucsi:ucsi_register_port
+ucsi:ucsi_reset_ppm
+ucsi:ucsi_run_command
+rtc:rtc_alarm_irq_enable
+rtc:rtc_irq_set_freq
+rtc:rtc_irq_set_state
+rtc:rtc_read_alarm
+rtc:rtc_read_offset
+rtc:rtc_read_time
+rtc:rtc_set_alarm
+rtc:rtc_set_offset
+rtc:rtc_set_time
+rtc:rtc_timer_dequeue
+rtc:rtc_timer_enqueue
+rtc:rtc_timer_fired
+i2c:i2c_read
+i2c:i2c_reply
+i2c:i2c_result
+i2c:i2c_write
+smbus:smbus_read
+smbus:smbus_reply
+smbus:smbus_result
+smbus:smbus_write
+v4l2:v4l2_dqbuf
+v4l2:v4l2_qbuf
+v4l2:vb2_v4l2_buf_done
+v4l2:vb2_v4l2_buf_queue
+v4l2:vb2_v4l2_dqbuf
+v4l2:vb2_v4l2_qbuf
+vb2:vb2_buf_done
+vb2:vb2_buf_queue
+vb2:vb2_dqbuf
+vb2:vb2_qbuf
+thermal:cdev_update
+thermal:thermal_power_cpu_get_power
+thermal:thermal_power_cpu_limit
+thermal:thermal_power_devfreq_get_power
+thermal:thermal_power_devfreq_limit
+thermal:thermal_temperature
+thermal:thermal_zone_trip
+thermal_power_allocator:thermal_power_allocator
+thermal_power_allocator:thermal_power_allocator_pid
+mmc:mmc_request_done
+mmc:mmc_request_start
+scmi:scmi_rx_done
+scmi:scmi_xfer_begin
+scmi:scmi_xfer_end
+devfreq:devfreq_monitor
+ras:aer_event
+ras:arm_event
+ras:mc_event
+ras:non_standard_event
+binder:binder_alloc_lru_end
+binder:binder_alloc_lru_start
+binder:binder_alloc_page_end
+binder:binder_alloc_page_start
+binder:binder_command
+binder:binder_free_lru_end
+binder:binder_free_lru_start
+binder:binder_ioctl
+binder:binder_ioctl_done
+binder:binder_lock
+binder:binder_locked
+binder:binder_read_done
+binder:binder_return
+binder:binder_set_priority
+binder:binder_transaction
+binder:binder_transaction_alloc_buf
+binder:binder_transaction_buffer_release
+binder:binder_transaction_failed_buffer_release
+binder:binder_transaction_fd_recv
+binder:binder_transaction_fd_send
+binder:binder_transaction_node_to_ref
+binder:binder_transaction_received
+binder:binder_transaction_ref_to_node
+binder:binder_transaction_ref_to_ref
+binder:binder_unlock
+binder:binder_unmap_kernel_end
+binder:binder_unmap_kernel_start
+binder:binder_unmap_user_end
+binder:binder_unmap_user_start
+binder:binder_update_page_range
+binder:binder_wait_for_work
+binder:binder_write_done
+interconnect:icc_set_bw
+interconnect:icc_set_bw_end
+asoc:snd_soc_bias_level_done
+asoc:snd_soc_bias_level_start
+asoc:snd_soc_dapm_connected
+asoc:snd_soc_dapm_done
+asoc:snd_soc_dapm_path
+asoc:snd_soc_dapm_start
+asoc:snd_soc_dapm_walk_done
+asoc:snd_soc_dapm_widget_event_done
+asoc:snd_soc_dapm_widget_event_start
+asoc:snd_soc_dapm_widget_power
+asoc:snd_soc_jack_irq
+asoc:snd_soc_jack_notify
+asoc:snd_soc_jack_report
+bridge:br_fdb_add
+bridge:br_fdb_external_learn_add
+bridge:br_fdb_update
+skb:consume_skb
+bridge:fdb_delete
+fib:fib_table_lookup
+sock:inet_sock_set_state
+skb:kfree_skb
+net:napi_gro_frags_entry
+net:napi_gro_frags_exit
+net:napi_gro_receive_entry
+net:napi_gro_receive_exit
+napi:napi_poll
+neigh:neigh_cleanup_and_release
+neigh:neigh_create
+neigh:neigh_event_send_dead
+neigh:neigh_event_send_done
+neigh:neigh_timer_handler
+neigh:neigh_update
+neigh:neigh_update_done
+net:net_dev_queue
+net:net_dev_start_xmit
+net:net_dev_xmit
+net:net_dev_xmit_timeout
+net:netif_receive_skb
+net:netif_receive_skb_entry
+net:netif_receive_skb_exit
+net:netif_receive_skb_list_entry
+net:netif_receive_skb_list_exit
+net:netif_rx
+net:netif_rx_entry
+net:netif_rx_exit
+net:netif_rx_ni_entry
+net:netif_rx_ni_exit
+page_pool:page_pool_release
+page_pool:page_pool_state_hold
+page_pool:page_pool_state_release
+page_pool:page_pool_update_nid
+qdisc:qdisc_create
+qdisc:qdisc_dequeue
+qdisc:qdisc_destroy
+qdisc:qdisc_reset
+skb:skb_copy_datagram_iovec
+sock:sock_exceed_buf_limit
+sock:sock_rcvqueue_full
+tcp:tcp_destroy_sock
+tcp:tcp_probe
+tcp:tcp_rcv_space_adjust
+tcp:tcp_receive_reset
+tcp:tcp_retransmit_skb
+tcp:tcp_retransmit_synack
+tcp:tcp_send_reset
+udp:udp_fail_queue_rcv_skb
+bpf_test_run:bpf_test_finish
+fib6:fib6_table_lookup
+l2tp:delete_session
+l2tp:delete_tunnel
+l2tp:free_session
+l2tp:free_tunnel
+l2tp:register_session
+l2tp:register_tunnel
+l2tp:session_pkt_expired
+l2tp:session_pkt_oos
+l2tp:session_pkt_outside_rx_window
+l2tp:session_seqnum_lns_disable
+l2tp:session_seqnum_lns_enable
+l2tp:session_seqnum_reset
+l2tp:session_seqnum_update
+tipc:tipc_l2_device_event
+tipc:tipc_link_bc_ack
+tipc:tipc_link_conges
+tipc:tipc_link_dump
+tipc:tipc_link_fsm
+tipc:tipc_link_reset
+tipc:tipc_link_retrans
+tipc:tipc_link_timeout
+tipc:tipc_link_too_silent
+tipc:tipc_list_dump
+tipc:tipc_node_check_state
+tipc:tipc_node_create
+tipc:tipc_node_delete
+tipc:tipc_node_dump
+tipc:tipc_node_fsm
+tipc:tipc_node_link_down
+tipc:tipc_node_link_up
+tipc:tipc_node_lost_contact
+tipc:tipc_node_reset_links
+tipc:tipc_node_timeout
+tipc:tipc_proto_build
+tipc:tipc_proto_rcv
+tipc:tipc_sk_advance_rx
+tipc:tipc_sk_create
+tipc:tipc_sk_drop_msg
+tipc:tipc_sk_dump
+tipc:tipc_sk_filter_rcv
+tipc:tipc_sk_overlimit1
+tipc:tipc_sk_overlimit2
+tipc:tipc_sk_poll
+tipc:tipc_sk_rej_msg
+tipc:tipc_sk_release
+tipc:tipc_sk_sendmcast
+tipc:tipc_sk_sendmsg
+tipc:tipc_sk_sendstream
+tipc:tipc_sk_shutdown
+tipc:tipc_skb_dump
+cfg802154:802154_rdev_add_virtual_intf
+cfg802154:802154_rdev_del_virtual_intf
+cfg802154:802154_rdev_resume
+cfg802154:802154_rdev_return_int
+cfg802154:802154_rdev_set_ackreq_default
+cfg802154:802154_rdev_set_backoff_exponent
+cfg802154:802154_rdev_set_cca_ed_level
+cfg802154:802154_rdev_set_cca_mode
+cfg802154:802154_rdev_set_channel
+cfg802154:802154_rdev_set_csma_backoffs
+cfg802154:802154_rdev_set_lbt_mode
+cfg802154:802154_rdev_set_max_frame_retries
+cfg802154:802154_rdev_set_pan_id
+cfg802154:802154_rdev_set_short_addr
+cfg802154:802154_rdev_set_tx_power
+cfg802154:802154_rdev_suspend
+mac802154:802154_drv_return_int
+mac802154:802154_drv_return_void
+mac802154:802154_drv_set_cca_ed_level
+mac802154:802154_drv_set_cca_mode
+mac802154:802154_drv_set_channel
+mac802154:802154_drv_set_csma_params
+mac802154:802154_drv_set_extended_addr
+mac802154:802154_drv_set_lbt_mode
+mac802154:802154_drv_set_max_frame_retries
+mac802154:802154_drv_set_pan_coord
+mac802154:802154_drv_set_pan_id
+mac802154:802154_drv_set_promiscuous_mode
+mac802154:802154_drv_set_short_addr
+mac802154:802154_drv_set_tx_power
+mac802154:802154_drv_start
+mac802154:802154_drv_stop
+vsock:virtio_transport_alloc_pkt
+vsock:virtio_transport_recv_pkt
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/alarmtimer/alarmtimer_cancel/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/alarmtimer/alarmtimer_cancel/format
new file mode 100644
index 0000000..60dc020
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/alarmtimer/alarmtimer_cancel/format
@@ -0,0 +1,14 @@
+name: alarmtimer_cancel
+ID: 146
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * alarm;	offset:8;	size:8;	signed:0;
+	field:unsigned char alarm_type;	offset:16;	size:1;	signed:0;
+	field:s64 expires;	offset:24;	size:8;	signed:1;
+	field:s64 now;	offset:32;	size:8;	signed:1;
+
+print fmt: "alarmtimer:%p type:%s expires:%llu now:%llu", REC->alarm, __print_flags((1 << REC->alarm_type), " | ", { 1 << 0, "REALTIME" }, { 1 << 1, "BOOTTIME" }, { 1 << 3, "REALTIME Freezer" }, { 1 << 4, "BOOTTIME Freezer" }), REC->expires, REC->now
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/alarmtimer/alarmtimer_fired/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/alarmtimer/alarmtimer_fired/format
new file mode 100644
index 0000000..b71b9ac
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/alarmtimer/alarmtimer_fired/format
@@ -0,0 +1,14 @@
+name: alarmtimer_fired
+ID: 147
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * alarm;	offset:8;	size:8;	signed:0;
+	field:unsigned char alarm_type;	offset:16;	size:1;	signed:0;
+	field:s64 expires;	offset:24;	size:8;	signed:1;
+	field:s64 now;	offset:32;	size:8;	signed:1;
+
+print fmt: "alarmtimer:%p type:%s expires:%llu now:%llu", REC->alarm, __print_flags((1 << REC->alarm_type), " | ", { 1 << 0, "REALTIME" }, { 1 << 1, "BOOTTIME" }, { 1 << 3, "REALTIME Freezer" }, { 1 << 4, "BOOTTIME Freezer" }), REC->expires, REC->now
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/alarmtimer/alarmtimer_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/alarmtimer/alarmtimer_start/format
new file mode 100644
index 0000000..dc6cfdc
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/alarmtimer/alarmtimer_start/format
@@ -0,0 +1,14 @@
+name: alarmtimer_start
+ID: 148
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * alarm;	offset:8;	size:8;	signed:0;
+	field:unsigned char alarm_type;	offset:16;	size:1;	signed:0;
+	field:s64 expires;	offset:24;	size:8;	signed:1;
+	field:s64 now;	offset:32;	size:8;	signed:1;
+
+print fmt: "alarmtimer:%p type:%s expires:%llu now:%llu", REC->alarm, __print_flags((1 << REC->alarm_type), " | ", { 1 << 0, "REALTIME" }, { 1 << 1, "BOOTTIME" }, { 1 << 3, "REALTIME Freezer" }, { 1 << 4, "BOOTTIME Freezer" }), REC->expires, REC->now
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/alarmtimer/alarmtimer_suspend/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/alarmtimer/alarmtimer_suspend/format
new file mode 100644
index 0000000..16940e3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/alarmtimer/alarmtimer_suspend/format
@@ -0,0 +1,12 @@
+name: alarmtimer_suspend
+ID: 149
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:s64 expires;	offset:8;	size:8;	signed:1;
+	field:unsigned char alarm_type;	offset:16;	size:1;	signed:0;
+
+print fmt: "alarmtimer type:%s expires:%llu", __print_flags((1 << REC->alarm_type), " | ", { 1 << 0, "REALTIME" }, { 1 << 1, "BOOTTIME" }, { 1 << 3, "REALTIME Freezer" }, { 1 << 4, "BOOTTIME Freezer" }), REC->expires
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/android_fs/android_fs_dataread_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/android_fs/android_fs_dataread_end/format
new file mode 100644
index 0000000..5e10a34
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/android_fs/android_fs_dataread_end/format
@@ -0,0 +1,13 @@
+name: android_fs_dataread_end
+ID: 330
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:ino_t ino;	offset:8;	size:8;	signed:0;
+	field:loff_t offset;	offset:16;	size:8;	signed:1;
+	field:int bytes;	offset:24;	size:4;	signed:1;
+
+print fmt: "ino %lu, offset %llu, bytes %d", (unsigned long) REC->ino, REC->offset, REC->bytes
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/android_fs/android_fs_dataread_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/android_fs/android_fs_dataread_start/format
new file mode 100644
index 0000000..58d69b2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/android_fs/android_fs_dataread_start/format
@@ -0,0 +1,17 @@
+name: android_fs_dataread_start
+ID: 331
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] pathbuf;	offset:8;	size:4;	signed:0;
+	field:loff_t offset;	offset:16;	size:8;	signed:1;
+	field:int bytes;	offset:24;	size:4;	signed:1;
+	field:loff_t i_size;	offset:32;	size:8;	signed:1;
+	field:__data_loc char[] cmdline;	offset:40;	size:4;	signed:0;
+	field:pid_t pid;	offset:44;	size:4;	signed:1;
+	field:ino_t ino;	offset:48;	size:8;	signed:0;
+
+print fmt: "entry_name %s, offset %llu, bytes %d, cmdline %s, pid %d, i_size %llu, ino %lu", __get_str(pathbuf), REC->offset, REC->bytes, __get_str(cmdline), REC->pid, REC->i_size, (unsigned long) REC->ino
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/android_fs/android_fs_datawrite_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/android_fs/android_fs_datawrite_end/format
new file mode 100644
index 0000000..0dcdc56
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/android_fs/android_fs_datawrite_end/format
@@ -0,0 +1,13 @@
+name: android_fs_datawrite_end
+ID: 332
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:ino_t ino;	offset:8;	size:8;	signed:0;
+	field:loff_t offset;	offset:16;	size:8;	signed:1;
+	field:int bytes;	offset:24;	size:4;	signed:1;
+
+print fmt: "ino %lu, offset %llu, bytes %d", (unsigned long) REC->ino, REC->offset, REC->bytes
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/android_fs/android_fs_datawrite_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/android_fs/android_fs_datawrite_start/format
new file mode 100644
index 0000000..208ecfb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/android_fs/android_fs_datawrite_start/format
@@ -0,0 +1,17 @@
+name: android_fs_datawrite_start
+ID: 333
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] pathbuf;	offset:8;	size:4;	signed:0;
+	field:loff_t offset;	offset:16;	size:8;	signed:1;
+	field:int bytes;	offset:24;	size:4;	signed:1;
+	field:loff_t i_size;	offset:32;	size:8;	signed:1;
+	field:__data_loc char[] cmdline;	offset:40;	size:4;	signed:0;
+	field:pid_t pid;	offset:44;	size:4;	signed:1;
+	field:ino_t ino;	offset:48;	size:8;	signed:0;
+
+print fmt: "entry_name %s, offset %llu, bytes %d, cmdline %s, pid %d, i_size %llu, ino %lu", __get_str(pathbuf), REC->offset, REC->bytes, __get_str(cmdline), REC->pid, REC->i_size, (unsigned long) REC->ino
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_bias_level_done/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_bias_level_done/format
new file mode 100644
index 0000000..4b838b9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_bias_level_done/format
@@ -0,0 +1,12 @@
+name: snd_soc_bias_level_done
+ID: 905
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:int val;	offset:12;	size:4;	signed:1;
+
+print fmt: "card=%s val=%d", __get_str(name), (int)REC->val
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_bias_level_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_bias_level_start/format
new file mode 100644
index 0000000..d28cf54
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_bias_level_start/format
@@ -0,0 +1,12 @@
+name: snd_soc_bias_level_start
+ID: 906
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:int val;	offset:12;	size:4;	signed:1;
+
+print fmt: "card=%s val=%d", __get_str(name), (int)REC->val
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_dapm_connected/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_dapm_connected/format
new file mode 100644
index 0000000..ebd8339
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_dapm_connected/format
@@ -0,0 +1,12 @@
+name: snd_soc_dapm_connected
+ID: 907
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int paths;	offset:8;	size:4;	signed:1;
+	field:int stream;	offset:12;	size:4;	signed:1;
+
+print fmt: "%s: found %d paths", REC->stream ? "capture" : "playback", REC->paths
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_dapm_done/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_dapm_done/format
new file mode 100644
index 0000000..f0ce6df
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_dapm_done/format
@@ -0,0 +1,11 @@
+name: snd_soc_dapm_done
+ID: 908
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+
+print fmt: "card=%s", __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_dapm_path/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_dapm_path/format
new file mode 100644
index 0000000..53626f9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_dapm_path/format
@@ -0,0 +1,16 @@
+name: snd_soc_dapm_path
+ID: 909
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] wname;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] pname;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] pnname;	offset:16;	size:4;	signed:0;
+	field:int path_node;	offset:20;	size:4;	signed:1;
+	field:int path_connect;	offset:24;	size:4;	signed:1;
+	field:int path_dir;	offset:28;	size:4;	signed:1;
+
+print fmt: "%c%s %s %s %s %s", (int) REC->path_node && (int) REC->path_connect ? '*' : ' ', __get_str(wname), (((REC->path_dir) == SND_SOC_DAPM_DIR_OUT) ? "->" : "<-"), __get_str(pname), (((REC->path_dir) == SND_SOC_DAPM_DIR_OUT) ? "->" : "<-"), __get_str(pnname)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_dapm_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_dapm_start/format
new file mode 100644
index 0000000..3931848
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_dapm_start/format
@@ -0,0 +1,11 @@
+name: snd_soc_dapm_start
+ID: 910
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+
+print fmt: "card=%s", __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_dapm_walk_done/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_dapm_walk_done/format
new file mode 100644
index 0000000..c4169e7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_dapm_walk_done/format
@@ -0,0 +1,14 @@
+name: snd_soc_dapm_walk_done
+ID: 911
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:int power_checks;	offset:12;	size:4;	signed:1;
+	field:int path_checks;	offset:16;	size:4;	signed:1;
+	field:int neighbour_checks;	offset:20;	size:4;	signed:1;
+
+print fmt: "%s: checks %d power, %d path, %d neighbour", __get_str(name), (int)REC->power_checks, (int)REC->path_checks, (int)REC->neighbour_checks
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_dapm_widget_event_done/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_dapm_widget_event_done/format
new file mode 100644
index 0000000..3e81d1d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_dapm_widget_event_done/format
@@ -0,0 +1,12 @@
+name: snd_soc_dapm_widget_event_done
+ID: 912
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:int val;	offset:12;	size:4;	signed:1;
+
+print fmt: "widget=%s val=%d", __get_str(name), (int)REC->val
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_dapm_widget_event_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_dapm_widget_event_start/format
new file mode 100644
index 0000000..e883e09
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_dapm_widget_event_start/format
@@ -0,0 +1,12 @@
+name: snd_soc_dapm_widget_event_start
+ID: 913
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:int val;	offset:12;	size:4;	signed:1;
+
+print fmt: "widget=%s val=%d", __get_str(name), (int)REC->val
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_dapm_widget_power/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_dapm_widget_power/format
new file mode 100644
index 0000000..7dec55c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_dapm_widget_power/format
@@ -0,0 +1,12 @@
+name: snd_soc_dapm_widget_power
+ID: 914
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:int val;	offset:12;	size:4;	signed:1;
+
+print fmt: "widget=%s val=%d", __get_str(name), (int)REC->val
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_jack_irq/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_jack_irq/format
new file mode 100644
index 0000000..7d6d07c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_jack_irq/format
@@ -0,0 +1,11 @@
+name: snd_soc_jack_irq
+ID: 915
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+
+print fmt: "%s", __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_jack_notify/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_jack_notify/format
new file mode 100644
index 0000000..1728997
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_jack_notify/format
@@ -0,0 +1,12 @@
+name: snd_soc_jack_notify
+ID: 916
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:int val;	offset:12;	size:4;	signed:1;
+
+print fmt: "jack=%s %x", __get_str(name), (int)REC->val
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_jack_report/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_jack_report/format
new file mode 100644
index 0000000..f08239f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/asoc/snd_soc_jack_report/format
@@ -0,0 +1,13 @@
+name: snd_soc_jack_report
+ID: 917
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:int mask;	offset:12;	size:4;	signed:1;
+	field:int val;	offset:16;	size:4;	signed:1;
+
+print fmt: "jack=%s %x/%x", __get_str(name), (int)REC->val, (int)REC->mask
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/avc/selinux_audited/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/avc/selinux_audited/format
new file mode 100644
index 0000000..8d6eabb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/avc/selinux_audited/format
@@ -0,0 +1,17 @@
+name: selinux_audited
+ID: 584
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 requested;	offset:8;	size:4;	signed:0;
+	field:u32 denied;	offset:12;	size:4;	signed:0;
+	field:u32 audited;	offset:16;	size:4;	signed:0;
+	field:int result;	offset:20;	size:4;	signed:1;
+	field:__data_loc char[] scontext;	offset:24;	size:4;	signed:0;
+	field:__data_loc char[] tcontext;	offset:28;	size:4;	signed:0;
+	field:__data_loc char[] tclass;	offset:32;	size:4;	signed:0;
+
+print fmt: "requested=0x%x denied=0x%x audited=0x%x result=%d scontext=%s tcontext=%s tclass=%s", REC->requested, REC->denied, REC->audited, REC->result, __get_str(scontext), __get_str(tcontext), __get_str(tclass)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_alloc_lru_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_alloc_lru_end/format
new file mode 100644
index 0000000..68e4058
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_alloc_lru_end/format
@@ -0,0 +1,12 @@
+name: binder_alloc_lru_end
+ID: 871
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int proc;	offset:8;	size:4;	signed:1;
+	field:size_t page_index;	offset:16;	size:8;	signed:0;
+
+print fmt: "proc=%d page_index=%zu", REC->proc, REC->page_index
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_alloc_lru_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_alloc_lru_start/format
new file mode 100644
index 0000000..d3da7ec
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_alloc_lru_start/format
@@ -0,0 +1,12 @@
+name: binder_alloc_lru_start
+ID: 872
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int proc;	offset:8;	size:4;	signed:1;
+	field:size_t page_index;	offset:16;	size:8;	signed:0;
+
+print fmt: "proc=%d page_index=%zu", REC->proc, REC->page_index
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_alloc_page_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_alloc_page_end/format
new file mode 100644
index 0000000..1e82de1
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_alloc_page_end/format
@@ -0,0 +1,12 @@
+name: binder_alloc_page_end
+ID: 873
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int proc;	offset:8;	size:4;	signed:1;
+	field:size_t page_index;	offset:16;	size:8;	signed:0;
+
+print fmt: "proc=%d page_index=%zu", REC->proc, REC->page_index
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_alloc_page_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_alloc_page_start/format
new file mode 100644
index 0000000..1e5f9cd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_alloc_page_start/format
@@ -0,0 +1,12 @@
+name: binder_alloc_page_start
+ID: 874
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int proc;	offset:8;	size:4;	signed:1;
+	field:size_t page_index;	offset:16;	size:8;	signed:0;
+
+print fmt: "proc=%d page_index=%zu", REC->proc, REC->page_index
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_command/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_command/format
new file mode 100644
index 0000000..0151f46
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_command/format
@@ -0,0 +1,11 @@
+name: binder_command
+ID: 875
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:uint32_t cmd;	offset:8;	size:4;	signed:0;
+
+print fmt: "cmd=0x%x %s", REC->cmd, (((REC->cmd) >> 0) & ((1 << 8)-1)) < (sizeof(binder_command_strings) / sizeof((binder_command_strings)[0]) + ((int)(sizeof(struct { int:(-!!(__builtin_types_compatible_p(typeof((binder_command_strings)), typeof(&(binder_command_strings)[0])))); })))) ? binder_command_strings[(((REC->cmd) >> 0) & ((1 << 8)-1))] : "unknown"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_free_lru_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_free_lru_end/format
new file mode 100644
index 0000000..814482f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_free_lru_end/format
@@ -0,0 +1,12 @@
+name: binder_free_lru_end
+ID: 876
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int proc;	offset:8;	size:4;	signed:1;
+	field:size_t page_index;	offset:16;	size:8;	signed:0;
+
+print fmt: "proc=%d page_index=%zu", REC->proc, REC->page_index
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_free_lru_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_free_lru_start/format
new file mode 100644
index 0000000..2dc323f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_free_lru_start/format
@@ -0,0 +1,12 @@
+name: binder_free_lru_start
+ID: 877
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int proc;	offset:8;	size:4;	signed:1;
+	field:size_t page_index;	offset:16;	size:8;	signed:0;
+
+print fmt: "proc=%d page_index=%zu", REC->proc, REC->page_index
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_ioctl/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_ioctl/format
new file mode 100644
index 0000000..d745dcb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_ioctl/format
@@ -0,0 +1,12 @@
+name: binder_ioctl
+ID: 878
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int cmd;	offset:8;	size:4;	signed:0;
+	field:unsigned long arg;	offset:16;	size:8;	signed:0;
+
+print fmt: "cmd=0x%x arg=0x%lx", REC->cmd, REC->arg
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_ioctl_done/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_ioctl_done/format
new file mode 100644
index 0000000..202f060
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_ioctl_done/format
@@ -0,0 +1,11 @@
+name: binder_ioctl_done
+ID: 879
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int ret;	offset:8;	size:4;	signed:1;
+
+print fmt: "ret=%d", REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_lock/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_lock/format
new file mode 100644
index 0000000..0c1b2c2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_lock/format
@@ -0,0 +1,11 @@
+name: binder_lock
+ID: 880
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * tag;	offset:8;	size:8;	signed:0;
+
+print fmt: "tag=%s", REC->tag
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_locked/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_locked/format
new file mode 100644
index 0000000..757cd6c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_locked/format
@@ -0,0 +1,11 @@
+name: binder_locked
+ID: 881
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * tag;	offset:8;	size:8;	signed:0;
+
+print fmt: "tag=%s", REC->tag
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_read_done/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_read_done/format
new file mode 100644
index 0000000..8d574c3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_read_done/format
@@ -0,0 +1,11 @@
+name: binder_read_done
+ID: 882
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int ret;	offset:8;	size:4;	signed:1;
+
+print fmt: "ret=%d", REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_return/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_return/format
new file mode 100644
index 0000000..968e0a8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_return/format
@@ -0,0 +1,11 @@
+name: binder_return
+ID: 883
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:uint32_t cmd;	offset:8;	size:4;	signed:0;
+
+print fmt: "cmd=0x%x %s", REC->cmd, (((REC->cmd) >> 0) & ((1 << 8)-1)) < (sizeof(binder_return_strings) / sizeof((binder_return_strings)[0]) + ((int)(sizeof(struct { int:(-!!(__builtin_types_compatible_p(typeof((binder_return_strings)), typeof(&(binder_return_strings)[0])))); })))) ? binder_return_strings[(((REC->cmd) >> 0) & ((1 << 8)-1))] : "unknown"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_set_priority/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_set_priority/format
new file mode 100644
index 0000000..13c918b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_set_priority/format
@@ -0,0 +1,15 @@
+name: binder_set_priority
+ID: 884
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int proc;	offset:8;	size:4;	signed:1;
+	field:int thread;	offset:12;	size:4;	signed:1;
+	field:unsigned int old_prio;	offset:16;	size:4;	signed:0;
+	field:unsigned int new_prio;	offset:20;	size:4;	signed:0;
+	field:unsigned int desired_prio;	offset:24;	size:4;	signed:0;
+
+print fmt: "proc=%d thread=%d old=%d => new=%d desired=%d", REC->proc, REC->thread, REC->old_prio, REC->new_prio, REC->desired_prio
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction/format
new file mode 100644
index 0000000..95ef601
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction/format
@@ -0,0 +1,17 @@
+name: binder_transaction
+ID: 885
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int debug_id;	offset:8;	size:4;	signed:1;
+	field:int target_node;	offset:12;	size:4;	signed:1;
+	field:int to_proc;	offset:16;	size:4;	signed:1;
+	field:int to_thread;	offset:20;	size:4;	signed:1;
+	field:int reply;	offset:24;	size:4;	signed:1;
+	field:unsigned int code;	offset:28;	size:4;	signed:0;
+	field:unsigned int flags;	offset:32;	size:4;	signed:0;
+
+print fmt: "transaction=%d dest_node=%d dest_proc=%d dest_thread=%d reply=%d flags=0x%x code=0x%x", REC->debug_id, REC->target_node, REC->to_proc, REC->to_thread, REC->reply, REC->flags, REC->code
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction_alloc_buf/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction_alloc_buf/format
new file mode 100644
index 0000000..39d6068
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction_alloc_buf/format
@@ -0,0 +1,14 @@
+name: binder_transaction_alloc_buf
+ID: 886
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int debug_id;	offset:8;	size:4;	signed:1;
+	field:size_t data_size;	offset:16;	size:8;	signed:0;
+	field:size_t offsets_size;	offset:24;	size:8;	signed:0;
+	field:size_t extra_buffers_size;	offset:32;	size:8;	signed:0;
+
+print fmt: "transaction=%d data_size=%zd offsets_size=%zd extra_buffers_size=%zd", REC->debug_id, REC->data_size, REC->offsets_size, REC->extra_buffers_size
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction_buffer_release/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction_buffer_release/format
new file mode 100644
index 0000000..56f455e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction_buffer_release/format
@@ -0,0 +1,14 @@
+name: binder_transaction_buffer_release
+ID: 887
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int debug_id;	offset:8;	size:4;	signed:1;
+	field:size_t data_size;	offset:16;	size:8;	signed:0;
+	field:size_t offsets_size;	offset:24;	size:8;	signed:0;
+	field:size_t extra_buffers_size;	offset:32;	size:8;	signed:0;
+
+print fmt: "transaction=%d data_size=%zd offsets_size=%zd extra_buffers_size=%zd", REC->debug_id, REC->data_size, REC->offsets_size, REC->extra_buffers_size
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction_failed_buffer_release/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction_failed_buffer_release/format
new file mode 100644
index 0000000..d0f98b5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction_failed_buffer_release/format
@@ -0,0 +1,14 @@
+name: binder_transaction_failed_buffer_release
+ID: 888
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int debug_id;	offset:8;	size:4;	signed:1;
+	field:size_t data_size;	offset:16;	size:8;	signed:0;
+	field:size_t offsets_size;	offset:24;	size:8;	signed:0;
+	field:size_t extra_buffers_size;	offset:32;	size:8;	signed:0;
+
+print fmt: "transaction=%d data_size=%zd offsets_size=%zd extra_buffers_size=%zd", REC->debug_id, REC->data_size, REC->offsets_size, REC->extra_buffers_size
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction_fd_recv/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction_fd_recv/format
new file mode 100644
index 0000000..a066ff1
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction_fd_recv/format
@@ -0,0 +1,13 @@
+name: binder_transaction_fd_recv
+ID: 889
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int debug_id;	offset:8;	size:4;	signed:1;
+	field:int fd;	offset:12;	size:4;	signed:1;
+	field:size_t offset;	offset:16;	size:8;	signed:0;
+
+print fmt: "transaction=%d dest_fd=%d offset=%zu", REC->debug_id, REC->fd, REC->offset
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction_fd_send/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction_fd_send/format
new file mode 100644
index 0000000..9bbd3f9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction_fd_send/format
@@ -0,0 +1,13 @@
+name: binder_transaction_fd_send
+ID: 890
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int debug_id;	offset:8;	size:4;	signed:1;
+	field:int fd;	offset:12;	size:4;	signed:1;
+	field:size_t offset;	offset:16;	size:8;	signed:0;
+
+print fmt: "transaction=%d src_fd=%d offset=%zu", REC->debug_id, REC->fd, REC->offset
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction_node_to_ref/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction_node_to_ref/format
new file mode 100644
index 0000000..23c24a5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction_node_to_ref/format
@@ -0,0 +1,15 @@
+name: binder_transaction_node_to_ref
+ID: 891
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int debug_id;	offset:8;	size:4;	signed:1;
+	field:int node_debug_id;	offset:12;	size:4;	signed:1;
+	field:binder_uintptr_t node_ptr;	offset:16;	size:8;	signed:0;
+	field:int ref_debug_id;	offset:24;	size:4;	signed:1;
+	field:uint32_t ref_desc;	offset:28;	size:4;	signed:0;
+
+print fmt: "transaction=%d node=%d src_ptr=0x%016llx ==> dest_ref=%d dest_desc=%d", REC->debug_id, REC->node_debug_id, (u64)REC->node_ptr, REC->ref_debug_id, REC->ref_desc
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction_received/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction_received/format
new file mode 100644
index 0000000..a0532a9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction_received/format
@@ -0,0 +1,11 @@
+name: binder_transaction_received
+ID: 892
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int debug_id;	offset:8;	size:4;	signed:1;
+
+print fmt: "transaction=%d", REC->debug_id
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction_ref_to_node/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction_ref_to_node/format
new file mode 100644
index 0000000..4a234cd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction_ref_to_node/format
@@ -0,0 +1,15 @@
+name: binder_transaction_ref_to_node
+ID: 893
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int debug_id;	offset:8;	size:4;	signed:1;
+	field:int ref_debug_id;	offset:12;	size:4;	signed:1;
+	field:uint32_t ref_desc;	offset:16;	size:4;	signed:0;
+	field:int node_debug_id;	offset:20;	size:4;	signed:1;
+	field:binder_uintptr_t node_ptr;	offset:24;	size:8;	signed:0;
+
+print fmt: "transaction=%d node=%d src_ref=%d src_desc=%d ==> dest_ptr=0x%016llx", REC->debug_id, REC->node_debug_id, REC->ref_debug_id, REC->ref_desc, (u64)REC->node_ptr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction_ref_to_ref/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction_ref_to_ref/format
new file mode 100644
index 0000000..2a82ec6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_transaction_ref_to_ref/format
@@ -0,0 +1,16 @@
+name: binder_transaction_ref_to_ref
+ID: 894
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int debug_id;	offset:8;	size:4;	signed:1;
+	field:int node_debug_id;	offset:12;	size:4;	signed:1;
+	field:int src_ref_debug_id;	offset:16;	size:4;	signed:1;
+	field:uint32_t src_ref_desc;	offset:20;	size:4;	signed:0;
+	field:int dest_ref_debug_id;	offset:24;	size:4;	signed:1;
+	field:uint32_t dest_ref_desc;	offset:28;	size:4;	signed:0;
+
+print fmt: "transaction=%d node=%d src_ref=%d src_desc=%d ==> dest_ref=%d dest_desc=%d", REC->debug_id, REC->node_debug_id, REC->src_ref_debug_id, REC->src_ref_desc, REC->dest_ref_debug_id, REC->dest_ref_desc
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_unlock/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_unlock/format
new file mode 100644
index 0000000..0d0db84
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_unlock/format
@@ -0,0 +1,11 @@
+name: binder_unlock
+ID: 895
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * tag;	offset:8;	size:8;	signed:0;
+
+print fmt: "tag=%s", REC->tag
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_unmap_kernel_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_unmap_kernel_end/format
new file mode 100644
index 0000000..059b436
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_unmap_kernel_end/format
@@ -0,0 +1,12 @@
+name: binder_unmap_kernel_end
+ID: 896
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int proc;	offset:8;	size:4;	signed:1;
+	field:size_t page_index;	offset:16;	size:8;	signed:0;
+
+print fmt: "proc=%d page_index=%zu", REC->proc, REC->page_index
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_unmap_kernel_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_unmap_kernel_start/format
new file mode 100644
index 0000000..0627165
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_unmap_kernel_start/format
@@ -0,0 +1,12 @@
+name: binder_unmap_kernel_start
+ID: 897
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int proc;	offset:8;	size:4;	signed:1;
+	field:size_t page_index;	offset:16;	size:8;	signed:0;
+
+print fmt: "proc=%d page_index=%zu", REC->proc, REC->page_index
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_unmap_user_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_unmap_user_end/format
new file mode 100644
index 0000000..602e353
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_unmap_user_end/format
@@ -0,0 +1,12 @@
+name: binder_unmap_user_end
+ID: 898
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int proc;	offset:8;	size:4;	signed:1;
+	field:size_t page_index;	offset:16;	size:8;	signed:0;
+
+print fmt: "proc=%d page_index=%zu", REC->proc, REC->page_index
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_unmap_user_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_unmap_user_start/format
new file mode 100644
index 0000000..361e0cc
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_unmap_user_start/format
@@ -0,0 +1,12 @@
+name: binder_unmap_user_start
+ID: 899
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int proc;	offset:8;	size:4;	signed:1;
+	field:size_t page_index;	offset:16;	size:8;	signed:0;
+
+print fmt: "proc=%d page_index=%zu", REC->proc, REC->page_index
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_update_page_range/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_update_page_range/format
new file mode 100644
index 0000000..40cb814
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_update_page_range/format
@@ -0,0 +1,14 @@
+name: binder_update_page_range
+ID: 900
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int proc;	offset:8;	size:4;	signed:1;
+	field:bool allocate;	offset:12;	size:1;	signed:0;
+	field:size_t offset;	offset:16;	size:8;	signed:0;
+	field:size_t size;	offset:24;	size:8;	signed:0;
+
+print fmt: "proc=%d allocate=%d offset=%zu size=%zu", REC->proc, REC->allocate, REC->offset, REC->size
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_wait_for_work/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_wait_for_work/format
new file mode 100644
index 0000000..47430be
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_wait_for_work/format
@@ -0,0 +1,13 @@
+name: binder_wait_for_work
+ID: 901
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:bool proc_work;	offset:8;	size:1;	signed:0;
+	field:bool transaction_stack;	offset:9;	size:1;	signed:0;
+	field:bool thread_todo;	offset:10;	size:1;	signed:0;
+
+print fmt: "proc_work=%d transaction_stack=%d thread_todo=%d", REC->proc_work, REC->transaction_stack, REC->thread_todo
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_write_done/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_write_done/format
new file mode 100644
index 0000000..566b62d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/binder/binder_write_done/format
@@ -0,0 +1,11 @@
+name: binder_write_done
+ID: 902
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int ret;	offset:8;	size:4;	signed:1;
+
+print fmt: "ret=%d", REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_bio_backmerge/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_bio_backmerge/format
new file mode 100644
index 0000000..55d276b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_bio_backmerge/format
@@ -0,0 +1,15 @@
+name: block_bio_backmerge
+ID: 585
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:sector_t sector;	offset:16;	size:8;	signed:0;
+	field:unsigned int nr_sector;	offset:24;	size:4;	signed:0;
+	field:char rwbs[8];	offset:28;	size:8;	signed:0;
+	field:char comm[16];	offset:36;	size:16;	signed:0;
+
+print fmt: "%d,%d %s %llu + %u [%s]", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->rwbs, (unsigned long long)REC->sector, REC->nr_sector, REC->comm
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_bio_bounce/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_bio_bounce/format
new file mode 100644
index 0000000..9ed824f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_bio_bounce/format
@@ -0,0 +1,15 @@
+name: block_bio_bounce
+ID: 586
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:sector_t sector;	offset:16;	size:8;	signed:0;
+	field:unsigned int nr_sector;	offset:24;	size:4;	signed:0;
+	field:char rwbs[8];	offset:28;	size:8;	signed:0;
+	field:char comm[16];	offset:36;	size:16;	signed:0;
+
+print fmt: "%d,%d %s %llu + %u [%s]", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->rwbs, (unsigned long long)REC->sector, REC->nr_sector, REC->comm
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_bio_complete/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_bio_complete/format
new file mode 100644
index 0000000..79c3e77
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_bio_complete/format
@@ -0,0 +1,15 @@
+name: block_bio_complete
+ID: 587
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:sector_t sector;	offset:16;	size:8;	signed:0;
+	field:unsigned nr_sector;	offset:24;	size:4;	signed:0;
+	field:int error;	offset:28;	size:4;	signed:1;
+	field:char rwbs[8];	offset:32;	size:8;	signed:0;
+
+print fmt: "%d,%d %s %llu + %u [%d]", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->rwbs, (unsigned long long)REC->sector, REC->nr_sector, REC->error
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_bio_frontmerge/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_bio_frontmerge/format
new file mode 100644
index 0000000..35c0c33
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_bio_frontmerge/format
@@ -0,0 +1,15 @@
+name: block_bio_frontmerge
+ID: 588
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:sector_t sector;	offset:16;	size:8;	signed:0;
+	field:unsigned int nr_sector;	offset:24;	size:4;	signed:0;
+	field:char rwbs[8];	offset:28;	size:8;	signed:0;
+	field:char comm[16];	offset:36;	size:16;	signed:0;
+
+print fmt: "%d,%d %s %llu + %u [%s]", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->rwbs, (unsigned long long)REC->sector, REC->nr_sector, REC->comm
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_bio_queue/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_bio_queue/format
new file mode 100644
index 0000000..8fa0c86
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_bio_queue/format
@@ -0,0 +1,15 @@
+name: block_bio_queue
+ID: 589
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:sector_t sector;	offset:16;	size:8;	signed:0;
+	field:unsigned int nr_sector;	offset:24;	size:4;	signed:0;
+	field:char rwbs[8];	offset:28;	size:8;	signed:0;
+	field:char comm[16];	offset:36;	size:16;	signed:0;
+
+print fmt: "%d,%d %s %llu + %u [%s]", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->rwbs, (unsigned long long)REC->sector, REC->nr_sector, REC->comm
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_bio_remap/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_bio_remap/format
new file mode 100644
index 0000000..813d9fd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_bio_remap/format
@@ -0,0 +1,16 @@
+name: block_bio_remap
+ID: 590
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:sector_t sector;	offset:16;	size:8;	signed:0;
+	field:unsigned int nr_sector;	offset:24;	size:4;	signed:0;
+	field:dev_t old_dev;	offset:28;	size:4;	signed:0;
+	field:sector_t old_sector;	offset:32;	size:8;	signed:0;
+	field:char rwbs[8];	offset:40;	size:8;	signed:0;
+
+print fmt: "%d,%d %s %llu + %u <- (%d,%d) %llu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->rwbs, (unsigned long long)REC->sector, REC->nr_sector, ((unsigned int) ((REC->old_dev) >> 20)), ((unsigned int) ((REC->old_dev) & ((1U << 20) - 1))), (unsigned long long)REC->old_sector
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_dirty_buffer/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_dirty_buffer/format
new file mode 100644
index 0000000..9414322
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_dirty_buffer/format
@@ -0,0 +1,13 @@
+name: block_dirty_buffer
+ID: 591
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:sector_t sector;	offset:16;	size:8;	signed:0;
+	field:size_t size;	offset:24;	size:8;	signed:0;
+
+print fmt: "%d,%d sector=%llu size=%zu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long long)REC->sector, REC->size
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_getrq/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_getrq/format
new file mode 100644
index 0000000..4022f93
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_getrq/format
@@ -0,0 +1,15 @@
+name: block_getrq
+ID: 592
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:sector_t sector;	offset:16;	size:8;	signed:0;
+	field:unsigned int nr_sector;	offset:24;	size:4;	signed:0;
+	field:char rwbs[8];	offset:28;	size:8;	signed:0;
+	field:char comm[16];	offset:36;	size:16;	signed:0;
+
+print fmt: "%d,%d %s %llu + %u [%s]", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->rwbs, (unsigned long long)REC->sector, REC->nr_sector, REC->comm
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_plug/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_plug/format
new file mode 100644
index 0000000..fdcf5f1
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_plug/format
@@ -0,0 +1,11 @@
+name: block_plug
+ID: 593
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char comm[16];	offset:8;	size:16;	signed:0;
+
+print fmt: "[%s]", REC->comm
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_rq_complete/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_rq_complete/format
new file mode 100644
index 0000000..c846b5c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_rq_complete/format
@@ -0,0 +1,16 @@
+name: block_rq_complete
+ID: 594
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:sector_t sector;	offset:16;	size:8;	signed:0;
+	field:unsigned int nr_sector;	offset:24;	size:4;	signed:0;
+	field:int error;	offset:28;	size:4;	signed:1;
+	field:char rwbs[8];	offset:32;	size:8;	signed:0;
+	field:__data_loc char[] cmd;	offset:40;	size:4;	signed:0;
+
+print fmt: "%d,%d %s (%s) %llu + %u [%d]", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->rwbs, __get_str(cmd), (unsigned long long)REC->sector, REC->nr_sector, REC->error
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_rq_insert/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_rq_insert/format
new file mode 100644
index 0000000..5b5a0fb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_rq_insert/format
@@ -0,0 +1,17 @@
+name: block_rq_insert
+ID: 595
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:sector_t sector;	offset:16;	size:8;	signed:0;
+	field:unsigned int nr_sector;	offset:24;	size:4;	signed:0;
+	field:unsigned int bytes;	offset:28;	size:4;	signed:0;
+	field:char rwbs[8];	offset:32;	size:8;	signed:0;
+	field:char comm[16];	offset:40;	size:16;	signed:0;
+	field:__data_loc char[] cmd;	offset:56;	size:4;	signed:0;
+
+print fmt: "%d,%d %s %u (%s) %llu + %u [%s]", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->rwbs, REC->bytes, __get_str(cmd), (unsigned long long)REC->sector, REC->nr_sector, REC->comm
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_rq_issue/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_rq_issue/format
new file mode 100644
index 0000000..e0db503
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_rq_issue/format
@@ -0,0 +1,17 @@
+name: block_rq_issue
+ID: 596
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:sector_t sector;	offset:16;	size:8;	signed:0;
+	field:unsigned int nr_sector;	offset:24;	size:4;	signed:0;
+	field:unsigned int bytes;	offset:28;	size:4;	signed:0;
+	field:char rwbs[8];	offset:32;	size:8;	signed:0;
+	field:char comm[16];	offset:40;	size:16;	signed:0;
+	field:__data_loc char[] cmd;	offset:56;	size:4;	signed:0;
+
+print fmt: "%d,%d %s %u (%s) %llu + %u [%s]", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->rwbs, REC->bytes, __get_str(cmd), (unsigned long long)REC->sector, REC->nr_sector, REC->comm
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_rq_merge/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_rq_merge/format
new file mode 100644
index 0000000..cfff110
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_rq_merge/format
@@ -0,0 +1,17 @@
+name: block_rq_merge
+ID: 597
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:sector_t sector;	offset:16;	size:8;	signed:0;
+	field:unsigned int nr_sector;	offset:24;	size:4;	signed:0;
+	field:unsigned int bytes;	offset:28;	size:4;	signed:0;
+	field:char rwbs[8];	offset:32;	size:8;	signed:0;
+	field:char comm[16];	offset:40;	size:16;	signed:0;
+	field:__data_loc char[] cmd;	offset:56;	size:4;	signed:0;
+
+print fmt: "%d,%d %s %u (%s) %llu + %u [%s]", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->rwbs, REC->bytes, __get_str(cmd), (unsigned long long)REC->sector, REC->nr_sector, REC->comm
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_rq_remap/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_rq_remap/format
new file mode 100644
index 0000000..e171785
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_rq_remap/format
@@ -0,0 +1,17 @@
+name: block_rq_remap
+ID: 598
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:sector_t sector;	offset:16;	size:8;	signed:0;
+	field:unsigned int nr_sector;	offset:24;	size:4;	signed:0;
+	field:dev_t old_dev;	offset:28;	size:4;	signed:0;
+	field:sector_t old_sector;	offset:32;	size:8;	signed:0;
+	field:unsigned int nr_bios;	offset:40;	size:4;	signed:0;
+	field:char rwbs[8];	offset:44;	size:8;	signed:0;
+
+print fmt: "%d,%d %s %llu + %u <- (%d,%d) %llu %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->rwbs, (unsigned long long)REC->sector, REC->nr_sector, ((unsigned int) ((REC->old_dev) >> 20)), ((unsigned int) ((REC->old_dev) & ((1U << 20) - 1))), (unsigned long long)REC->old_sector, REC->nr_bios
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_rq_requeue/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_rq_requeue/format
new file mode 100644
index 0000000..954dcb8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_rq_requeue/format
@@ -0,0 +1,15 @@
+name: block_rq_requeue
+ID: 599
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:sector_t sector;	offset:16;	size:8;	signed:0;
+	field:unsigned int nr_sector;	offset:24;	size:4;	signed:0;
+	field:char rwbs[8];	offset:28;	size:8;	signed:0;
+	field:__data_loc char[] cmd;	offset:36;	size:4;	signed:0;
+
+print fmt: "%d,%d %s (%s) %llu + %u [%d]", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->rwbs, __get_str(cmd), (unsigned long long)REC->sector, REC->nr_sector, 0
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_sleeprq/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_sleeprq/format
new file mode 100644
index 0000000..02cdab6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_sleeprq/format
@@ -0,0 +1,15 @@
+name: block_sleeprq
+ID: 600
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:sector_t sector;	offset:16;	size:8;	signed:0;
+	field:unsigned int nr_sector;	offset:24;	size:4;	signed:0;
+	field:char rwbs[8];	offset:28;	size:8;	signed:0;
+	field:char comm[16];	offset:36;	size:16;	signed:0;
+
+print fmt: "%d,%d %s %llu + %u [%s]", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->rwbs, (unsigned long long)REC->sector, REC->nr_sector, REC->comm
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_split/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_split/format
new file mode 100644
index 0000000..da3d053
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_split/format
@@ -0,0 +1,15 @@
+name: block_split
+ID: 601
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:sector_t sector;	offset:16;	size:8;	signed:0;
+	field:sector_t new_sector;	offset:24;	size:8;	signed:0;
+	field:char rwbs[8];	offset:32;	size:8;	signed:0;
+	field:char comm[16];	offset:40;	size:16;	signed:0;
+
+print fmt: "%d,%d %s %llu / %llu [%s]", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->rwbs, (unsigned long long)REC->sector, (unsigned long long)REC->new_sector, REC->comm
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_touch_buffer/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_touch_buffer/format
new file mode 100644
index 0000000..6b38b9a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_touch_buffer/format
@@ -0,0 +1,13 @@
+name: block_touch_buffer
+ID: 602
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:sector_t sector;	offset:16;	size:8;	signed:0;
+	field:size_t size;	offset:24;	size:8;	signed:0;
+
+print fmt: "%d,%d sector=%llu size=%zu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long long)REC->sector, REC->size
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_unplug/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_unplug/format
new file mode 100644
index 0000000..ba38d3b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/block/block_unplug/format
@@ -0,0 +1,12 @@
+name: block_unplug
+ID: 603
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int nr_rq;	offset:8;	size:4;	signed:1;
+	field:char comm[16];	offset:12;	size:16;	signed:0;
+
+print fmt: "[%s] %d", REC->comm, REC->nr_rq
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/bpf_test_run/bpf_test_finish/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/bpf_test_run/bpf_test_finish/format
new file mode 100644
index 0000000..4abd7e7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/bpf_test_run/bpf_test_finish/format
@@ -0,0 +1,11 @@
+name: bpf_test_finish
+ID: 971
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int err;	offset:8;	size:4;	signed:1;
+
+print fmt: "bpf_test_finish with err=%d", REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/bpf_trace/bpf_trace_printk/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/bpf_trace/bpf_trace_printk/format
new file mode 100644
index 0000000..4166d9f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/bpf_trace/bpf_trace_printk/format
@@ -0,0 +1,11 @@
+name: bpf_trace_printk
+ID: 168
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] bpf_string;	offset:8;	size:4;	signed:0;
+
+print fmt: "%s", __get_str(bpf_string)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/bridge/br_fdb_add/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/bridge/br_fdb_add/format
new file mode 100644
index 0000000..0a61c58
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/bridge/br_fdb_add/format
@@ -0,0 +1,15 @@
+name: br_fdb_add
+ID: 918
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u8 ndm_flags;	offset:8;	size:1;	signed:0;
+	field:__data_loc char[] dev;	offset:12;	size:4;	signed:0;
+	field:unsigned char addr[6];	offset:16;	size:6;	signed:0;
+	field:u16 vid;	offset:22;	size:2;	signed:0;
+	field:u16 nlh_flags;	offset:24;	size:2;	signed:0;
+
+print fmt: "dev %s addr %02x:%02x:%02x:%02x:%02x:%02x vid %u nlh_flags %04x ndm_flags %02x", __get_str(dev), REC->addr[0], REC->addr[1], REC->addr[2], REC->addr[3], REC->addr[4], REC->addr[5], REC->vid, REC->nlh_flags, REC->ndm_flags
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/bridge/br_fdb_external_learn_add/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/bridge/br_fdb_external_learn_add/format
new file mode 100644
index 0000000..4b1fd10
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/bridge/br_fdb_external_learn_add/format
@@ -0,0 +1,14 @@
+name: br_fdb_external_learn_add
+ID: 919
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] br_dev;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] dev;	offset:12;	size:4;	signed:0;
+	field:unsigned char addr[6];	offset:16;	size:6;	signed:0;
+	field:u16 vid;	offset:22;	size:2;	signed:0;
+
+print fmt: "br_dev %s port %s addr %02x:%02x:%02x:%02x:%02x:%02x vid %u", __get_str(br_dev), __get_str(dev), REC->addr[0], REC->addr[1], REC->addr[2], REC->addr[3], REC->addr[4], REC->addr[5], REC->vid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/bridge/br_fdb_update/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/bridge/br_fdb_update/format
new file mode 100644
index 0000000..1033003
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/bridge/br_fdb_update/format
@@ -0,0 +1,15 @@
+name: br_fdb_update
+ID: 920
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] br_dev;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] dev;	offset:12;	size:4;	signed:0;
+	field:unsigned char addr[6];	offset:16;	size:6;	signed:0;
+	field:u16 vid;	offset:22;	size:2;	signed:0;
+	field:unsigned long flags;	offset:24;	size:8;	signed:0;
+
+print fmt: "br_dev %s source %s addr %02x:%02x:%02x:%02x:%02x:%02x vid %u flags 0x%lx", __get_str(br_dev), __get_str(dev), REC->addr[0], REC->addr[1], REC->addr[2], REC->addr[3], REC->addr[4], REC->addr[5], REC->vid, REC->flags
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/bridge/fdb_delete/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/bridge/fdb_delete/format
new file mode 100644
index 0000000..b0d4744
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/bridge/fdb_delete/format
@@ -0,0 +1,14 @@
+name: fdb_delete
+ID: 922
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] br_dev;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] dev;	offset:12;	size:4;	signed:0;
+	field:unsigned char addr[6];	offset:16;	size:6;	signed:0;
+	field:u16 vid;	offset:22;	size:2;	signed:0;
+
+print fmt: "br_dev %s dev %s addr %02x:%02x:%02x:%02x:%02x:%02x vid %u", __get_str(br_dev), __get_str(dev), REC->addr[0], REC->addr[1], REC->addr[2], REC->addr[3], REC->addr[4], REC->addr[5], REC->vid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_cac_event/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_cac_event/format
new file mode 100644
index 0000000..ccc882e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_cac_event/format
@@ -0,0 +1,13 @@
+name: cfg80211_cac_event
+ID: 1247
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[16];	offset:8;	size:16;	signed:0;
+	field:int ifindex;	offset:24;	size:4;	signed:1;
+	field:enum nl80211_radar_event evt;	offset:28;	size:4;	signed:0;
+
+print fmt: "netdev:%s(%d),  event: %d", REC->name, REC->ifindex, REC->evt
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_ch_switch_notify/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_ch_switch_notify/format
new file mode 100644
index 0000000..8bd478d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_ch_switch_notify/format
@@ -0,0 +1,19 @@
+name: cfg80211_ch_switch_notify
+ID: 1248
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[16];	offset:8;	size:16;	signed:0;
+	field:int ifindex;	offset:24;	size:4;	signed:1;
+	field:enum nl80211_band band;	offset:28;	size:4;	signed:0;
+	field:u32 control_freq;	offset:32;	size:4;	signed:0;
+	field:u32 freq_offset;	offset:36;	size:4;	signed:0;
+	field:u32 width;	offset:40;	size:4;	signed:0;
+	field:u32 center_freq1;	offset:44;	size:4;	signed:0;
+	field:u32 freq1_offset;	offset:48;	size:4;	signed:0;
+	field:u32 center_freq2;	offset:52;	size:4;	signed:0;
+
+print fmt: "netdev:%s(%d), band: %d, control freq: %u.%03u, width: %d, cf1: %u.%03u, cf2: %u", REC->name, REC->ifindex, REC->band, REC->control_freq, REC->freq_offset, REC->width, REC->center_freq1, REC->freq1_offset, REC->center_freq2
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_ch_switch_started_notify/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_ch_switch_started_notify/format
new file mode 100644
index 0000000..4510fcc
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_ch_switch_started_notify/format
@@ -0,0 +1,19 @@
+name: cfg80211_ch_switch_started_notify
+ID: 1249
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[16];	offset:8;	size:16;	signed:0;
+	field:int ifindex;	offset:24;	size:4;	signed:1;
+	field:enum nl80211_band band;	offset:28;	size:4;	signed:0;
+	field:u32 control_freq;	offset:32;	size:4;	signed:0;
+	field:u32 freq_offset;	offset:36;	size:4;	signed:0;
+	field:u32 width;	offset:40;	size:4;	signed:0;
+	field:u32 center_freq1;	offset:44;	size:4;	signed:0;
+	field:u32 freq1_offset;	offset:48;	size:4;	signed:0;
+	field:u32 center_freq2;	offset:52;	size:4;	signed:0;
+
+print fmt: "netdev:%s(%d), band: %d, control freq: %u.%03u, width: %d, cf1: %u.%03u, cf2: %u", REC->name, REC->ifindex, REC->band, REC->control_freq, REC->freq_offset, REC->width, REC->center_freq1, REC->freq1_offset, REC->center_freq2
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_chandef_dfs_required/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_chandef_dfs_required/format
new file mode 100644
index 0000000..f5d6792
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_chandef_dfs_required/format
@@ -0,0 +1,18 @@
+name: cfg80211_chandef_dfs_required
+ID: 1250
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_band band;	offset:40;	size:4;	signed:0;
+	field:u32 control_freq;	offset:44;	size:4;	signed:0;
+	field:u32 freq_offset;	offset:48;	size:4;	signed:0;
+	field:u32 width;	offset:52;	size:4;	signed:0;
+	field:u32 center_freq1;	offset:56;	size:4;	signed:0;
+	field:u32 freq1_offset;	offset:60;	size:4;	signed:0;
+	field:u32 center_freq2;	offset:64;	size:4;	signed:0;
+
+print fmt: "%s, band: %d, control freq: %u.%03u, width: %d, cf1: %u.%03u, cf2: %u", REC->wiphy_name, REC->band, REC->control_freq, REC->freq_offset, REC->width, REC->center_freq1, REC->freq1_offset, REC->center_freq2
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_control_port_tx_status/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_control_port_tx_status/format
new file mode 100644
index 0000000..813e1a4
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_control_port_tx_status/format
@@ -0,0 +1,13 @@
+name: cfg80211_control_port_tx_status
+ID: 1251
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 id;	offset:8;	size:4;	signed:0;
+	field:u64 cookie;	offset:16;	size:8;	signed:0;
+	field:bool ack;	offset:24;	size:1;	signed:0;
+
+print fmt: "wdev(%u), cookie: %llu, ack: %s", (REC->id), REC->cookie, (REC->ack) ? "true" : "false"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_cqm_pktloss_notify/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_cqm_pktloss_notify/format
new file mode 100644
index 0000000..fa42110
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_cqm_pktloss_notify/format
@@ -0,0 +1,14 @@
+name: cfg80211_cqm_pktloss_notify
+ID: 1252
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[16];	offset:8;	size:16;	signed:0;
+	field:int ifindex;	offset:24;	size:4;	signed:1;
+	field:u8 peer[6];	offset:28;	size:6;	signed:0;
+	field:u32 num_packets;	offset:36;	size:4;	signed:0;
+
+print fmt: "netdev:%s(%d), peer: %pM, num of lost packets: %u", REC->name, REC->ifindex, (REC->peer), REC->num_packets
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_cqm_rssi_notify/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_cqm_rssi_notify/format
new file mode 100644
index 0000000..50a0ad7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_cqm_rssi_notify/format
@@ -0,0 +1,14 @@
+name: cfg80211_cqm_rssi_notify
+ID: 1253
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[16];	offset:8;	size:16;	signed:0;
+	field:int ifindex;	offset:24;	size:4;	signed:1;
+	field:enum nl80211_cqm_rssi_threshold_event rssi_event;	offset:28;	size:4;	signed:0;
+	field:s32 rssi_level;	offset:32;	size:4;	signed:1;
+
+print fmt: "netdev:%s(%d), rssi event: %d, level: %d", REC->name, REC->ifindex, REC->rssi_event, REC->rssi_level
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_del_sta/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_del_sta/format
new file mode 100644
index 0000000..f7d99bd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_del_sta/format
@@ -0,0 +1,13 @@
+name: cfg80211_del_sta
+ID: 1254
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[16];	offset:8;	size:16;	signed:0;
+	field:int ifindex;	offset:24;	size:4;	signed:1;
+	field:u8 macaddr[6];	offset:28;	size:6;	signed:0;
+
+print fmt: "netdev:%s(%d), mac: %pM", REC->name, REC->ifindex, (REC->macaddr)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_ft_event/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_ft_event/format
new file mode 100644
index 0000000..6bc6953
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_ft_event/format
@@ -0,0 +1,16 @@
+name: cfg80211_ft_event
+ID: 1255
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:__data_loc u8[] ies;	offset:60;	size:4;	signed:0;
+	field:u8 target_ap[6];	offset:64;	size:6;	signed:0;
+	field:__data_loc u8[] ric_ies;	offset:72;	size:4;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), target_ap: %pM", REC->wiphy_name, REC->name, REC->ifindex, (REC->target_ap)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_get_bss/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_get_bss/format
new file mode 100644
index 0000000..0a6454b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_get_bss/format
@@ -0,0 +1,18 @@
+name: cfg80211_get_bss
+ID: 1256
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_band band;	offset:40;	size:4;	signed:0;
+	field:u32 center_freq;	offset:44;	size:4;	signed:0;
+	field:u16 freq_offset;	offset:48;	size:2;	signed:0;
+	field:u8 bssid[6];	offset:50;	size:6;	signed:0;
+	field:__data_loc u8[] ssid;	offset:56;	size:4;	signed:0;
+	field:enum ieee80211_bss_type bss_type;	offset:60;	size:4;	signed:0;
+	field:enum ieee80211_privacy privacy;	offset:64;	size:4;	signed:0;
+
+print fmt: "%s, band: %d, freq: %u.%03u, %pM, buf: %#.2x, bss_type: %d, privacy: %d", REC->wiphy_name, REC->band, REC->center_freq, REC->freq_offset, (REC->bssid), ((u8 *)__get_dynamic_array(ssid))[0], REC->bss_type, REC->privacy
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_gtk_rekey_notify/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_gtk_rekey_notify/format
new file mode 100644
index 0000000..779a3c5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_gtk_rekey_notify/format
@@ -0,0 +1,13 @@
+name: cfg80211_gtk_rekey_notify
+ID: 1257
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[16];	offset:8;	size:16;	signed:0;
+	field:int ifindex;	offset:24;	size:4;	signed:1;
+	field:u8 macaddr[6];	offset:28;	size:6;	signed:0;
+
+print fmt: "netdev:%s(%d), mac: %pM", REC->name, REC->ifindex, (REC->macaddr)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_ibss_joined/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_ibss_joined/format
new file mode 100644
index 0000000..8345285
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_ibss_joined/format
@@ -0,0 +1,16 @@
+name: cfg80211_ibss_joined
+ID: 1258
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[16];	offset:8;	size:16;	signed:0;
+	field:int ifindex;	offset:24;	size:4;	signed:1;
+	field:u8 bssid[6];	offset:28;	size:6;	signed:0;
+	field:enum nl80211_band band;	offset:36;	size:4;	signed:0;
+	field:u32 center_freq;	offset:40;	size:4;	signed:0;
+	field:u16 freq_offset;	offset:44;	size:2;	signed:0;
+
+print fmt: "netdev:%s(%d), bssid: %pM, band: %d, freq: %u.%03u", REC->name, REC->ifindex, (REC->bssid), REC->band, REC->center_freq, REC->freq_offset
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_inform_bss_frame/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_inform_bss_frame/format
new file mode 100644
index 0000000..81d9cfc
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_inform_bss_frame/format
@@ -0,0 +1,20 @@
+name: cfg80211_inform_bss_frame
+ID: 1259
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_band band;	offset:40;	size:4;	signed:0;
+	field:u32 center_freq;	offset:44;	size:4;	signed:0;
+	field:u16 freq_offset;	offset:48;	size:2;	signed:0;
+	field:enum nl80211_bss_scan_width scan_width;	offset:52;	size:4;	signed:0;
+	field:__data_loc u8[] mgmt;	offset:56;	size:4;	signed:0;
+	field:s32 signal;	offset:60;	size:4;	signed:1;
+	field:u64 ts_boottime;	offset:64;	size:8;	signed:0;
+	field:u64 parent_tsf;	offset:72;	size:8;	signed:0;
+	field:u8 parent_bssid[6];	offset:80;	size:6;	signed:0;
+
+print fmt: "%s, band: %d, freq: %u.%03u(scan_width: %d) signal: %d, tsb:%llu, detect_tsf:%llu, tsf_bssid: %pM", REC->wiphy_name, REC->band, REC->center_freq, REC->freq_offset, REC->scan_width, REC->signal, (unsigned long long)REC->ts_boottime, (unsigned long long)REC->parent_tsf, (REC->parent_bssid)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_mgmt_tx_status/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_mgmt_tx_status/format
new file mode 100644
index 0000000..bf36367
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_mgmt_tx_status/format
@@ -0,0 +1,13 @@
+name: cfg80211_mgmt_tx_status
+ID: 1260
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 id;	offset:8;	size:4;	signed:0;
+	field:u64 cookie;	offset:16;	size:8;	signed:0;
+	field:bool ack;	offset:24;	size:1;	signed:0;
+
+print fmt: "wdev(%u), cookie: %llu, ack: %s", (REC->id), REC->cookie, (REC->ack) ? "true" : "false"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_michael_mic_failure/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_michael_mic_failure/format
new file mode 100644
index 0000000..19ff0b7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_michael_mic_failure/format
@@ -0,0 +1,16 @@
+name: cfg80211_michael_mic_failure
+ID: 1261
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[16];	offset:8;	size:16;	signed:0;
+	field:int ifindex;	offset:24;	size:4;	signed:1;
+	field:u8 addr[6];	offset:28;	size:6;	signed:0;
+	field:enum nl80211_key_type key_type;	offset:36;	size:4;	signed:0;
+	field:int key_id;	offset:40;	size:4;	signed:1;
+	field:u8 tsc[6];	offset:44;	size:6;	signed:0;
+
+print fmt: "netdev:%s(%d), %pM, key type: %d, key id: %d, tsc: %pm", REC->name, REC->ifindex, (REC->addr), REC->key_type, REC->key_id, REC->tsc
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_new_sta/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_new_sta/format
new file mode 100644
index 0000000..d1cd045
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_new_sta/format
@@ -0,0 +1,27 @@
+name: cfg80211_new_sta
+ID: 1262
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[16];	offset:8;	size:16;	signed:0;
+	field:int ifindex;	offset:24;	size:4;	signed:1;
+	field:u8 mac_addr[6];	offset:28;	size:6;	signed:0;
+	field:int generation;	offset:36;	size:4;	signed:1;
+	field:u32 connected_time;	offset:40;	size:4;	signed:0;
+	field:u32 inactive_time;	offset:44;	size:4;	signed:0;
+	field:u32 rx_bytes;	offset:48;	size:4;	signed:0;
+	field:u32 tx_bytes;	offset:52;	size:4;	signed:0;
+	field:u32 rx_packets;	offset:56;	size:4;	signed:0;
+	field:u32 tx_packets;	offset:60;	size:4;	signed:0;
+	field:u32 tx_retries;	offset:64;	size:4;	signed:0;
+	field:u32 tx_failed;	offset:68;	size:4;	signed:0;
+	field:u32 rx_dropped_misc;	offset:72;	size:4;	signed:0;
+	field:u32 beacon_loss_count;	offset:76;	size:4;	signed:0;
+	field:u16 llid;	offset:80;	size:2;	signed:0;
+	field:u16 plid;	offset:82;	size:2;	signed:0;
+	field:u8 plink_state;	offset:84;	size:1;	signed:0;
+
+print fmt: "netdev:%s(%d), %pM", REC->name, REC->ifindex, (REC->mac_addr)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_notify_new_peer_candidate/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_notify_new_peer_candidate/format
new file mode 100644
index 0000000..abf253b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_notify_new_peer_candidate/format
@@ -0,0 +1,13 @@
+name: cfg80211_notify_new_peer_candidate
+ID: 1263
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[16];	offset:8;	size:16;	signed:0;
+	field:int ifindex;	offset:24;	size:4;	signed:1;
+	field:u8 macaddr[6];	offset:28;	size:6;	signed:0;
+
+print fmt: "netdev:%s(%d), mac: %pM", REC->name, REC->ifindex, (REC->macaddr)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_pmksa_candidate_notify/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_pmksa_candidate_notify/format
new file mode 100644
index 0000000..a0334d6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_pmksa_candidate_notify/format
@@ -0,0 +1,15 @@
+name: cfg80211_pmksa_candidate_notify
+ID: 1264
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[16];	offset:8;	size:16;	signed:0;
+	field:int ifindex;	offset:24;	size:4;	signed:1;
+	field:int index;	offset:28;	size:4;	signed:1;
+	field:u8 bssid[6];	offset:32;	size:6;	signed:0;
+	field:bool preauth;	offset:38;	size:1;	signed:0;
+
+print fmt: "netdev:%s(%d), index:%d, bssid: %pM, pre auth: %s", REC->name, REC->ifindex, REC->index, (REC->bssid), (REC->preauth) ? "true" : "false"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_pmsr_complete/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_pmsr_complete/format
new file mode 100644
index 0000000..e965302
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_pmsr_complete/format
@@ -0,0 +1,13 @@
+name: cfg80211_pmsr_complete
+ID: 1265
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 id;	offset:40;	size:4;	signed:0;
+	field:u64 cookie;	offset:48;	size:8;	signed:0;
+
+print fmt: "%s, wdev(%u), cookie:%lld", REC->wiphy_name, (REC->id), (unsigned long long)REC->cookie
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_pmsr_report/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_pmsr_report/format
new file mode 100644
index 0000000..586d830
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_pmsr_report/format
@@ -0,0 +1,14 @@
+name: cfg80211_pmsr_report
+ID: 1266
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 id;	offset:40;	size:4;	signed:0;
+	field:u64 cookie;	offset:48;	size:8;	signed:0;
+	field:u8 addr[6];	offset:56;	size:6;	signed:0;
+
+print fmt: "%s, wdev(%u), cookie:%lld, %pM", REC->wiphy_name, (REC->id), (unsigned long long)REC->cookie, (REC->addr)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_probe_status/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_probe_status/format
new file mode 100644
index 0000000..dafef55
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_probe_status/format
@@ -0,0 +1,15 @@
+name: cfg80211_probe_status
+ID: 1267
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[16];	offset:8;	size:16;	signed:0;
+	field:int ifindex;	offset:24;	size:4;	signed:1;
+	field:u8 addr[6];	offset:28;	size:6;	signed:0;
+	field:u64 cookie;	offset:40;	size:8;	signed:0;
+	field:bool acked;	offset:48;	size:1;	signed:0;
+
+print fmt: "netdev:%s(%d) addr:%pM, cookie: %llu, acked: %s", REC->name, REC->ifindex, (REC->addr), REC->cookie, (REC->acked) ? "true" : "false"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_radar_event/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_radar_event/format
new file mode 100644
index 0000000..836cecf
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_radar_event/format
@@ -0,0 +1,18 @@
+name: cfg80211_radar_event
+ID: 1268
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_band band;	offset:40;	size:4;	signed:0;
+	field:u32 control_freq;	offset:44;	size:4;	signed:0;
+	field:u32 freq_offset;	offset:48;	size:4;	signed:0;
+	field:u32 width;	offset:52;	size:4;	signed:0;
+	field:u32 center_freq1;	offset:56;	size:4;	signed:0;
+	field:u32 freq1_offset;	offset:60;	size:4;	signed:0;
+	field:u32 center_freq2;	offset:64;	size:4;	signed:0;
+
+print fmt: "%s, band: %d, control freq: %u.%03u, width: %d, cf1: %u.%03u, cf2: %u", REC->wiphy_name, REC->band, REC->control_freq, REC->freq_offset, REC->width, REC->center_freq1, REC->freq1_offset, REC->center_freq2
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_ready_on_channel/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_ready_on_channel/format
new file mode 100644
index 0000000..41e6a9c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_ready_on_channel/format
@@ -0,0 +1,16 @@
+name: cfg80211_ready_on_channel
+ID: 1269
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 id;	offset:8;	size:4;	signed:0;
+	field:u64 cookie;	offset:16;	size:8;	signed:0;
+	field:enum nl80211_band band;	offset:24;	size:4;	signed:0;
+	field:u32 center_freq;	offset:28;	size:4;	signed:0;
+	field:u16 freq_offset;	offset:32;	size:2;	signed:0;
+	field:unsigned int duration;	offset:36;	size:4;	signed:0;
+
+print fmt: "wdev(%u), cookie: %llu, band: %d, freq: %u.%03u, duration: %u", (REC->id), REC->cookie, REC->band, REC->center_freq, REC->freq_offset, REC->duration
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_ready_on_channel_expired/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_ready_on_channel_expired/format
new file mode 100644
index 0000000..4f67040
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_ready_on_channel_expired/format
@@ -0,0 +1,15 @@
+name: cfg80211_ready_on_channel_expired
+ID: 1270
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 id;	offset:8;	size:4;	signed:0;
+	field:u64 cookie;	offset:16;	size:8;	signed:0;
+	field:enum nl80211_band band;	offset:24;	size:4;	signed:0;
+	field:u32 center_freq;	offset:28;	size:4;	signed:0;
+	field:u16 freq_offset;	offset:32;	size:2;	signed:0;
+
+print fmt: "wdev(%u), cookie: %llu, band: %d, freq: %u.%03u", (REC->id), REC->cookie, REC->band, REC->center_freq, REC->freq_offset
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_reg_can_beacon/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_reg_can_beacon/format
new file mode 100644
index 0000000..e44f219
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_reg_can_beacon/format
@@ -0,0 +1,20 @@
+name: cfg80211_reg_can_beacon
+ID: 1271
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_band band;	offset:40;	size:4;	signed:0;
+	field:u32 control_freq;	offset:44;	size:4;	signed:0;
+	field:u32 freq_offset;	offset:48;	size:4;	signed:0;
+	field:u32 width;	offset:52;	size:4;	signed:0;
+	field:u32 center_freq1;	offset:56;	size:4;	signed:0;
+	field:u32 freq1_offset;	offset:60;	size:4;	signed:0;
+	field:u32 center_freq2;	offset:64;	size:4;	signed:0;
+	field:enum nl80211_iftype iftype;	offset:68;	size:4;	signed:0;
+	field:bool check_no_ir;	offset:72;	size:1;	signed:0;
+
+print fmt: "%s, band: %d, control freq: %u.%03u, width: %d, cf1: %u.%03u, cf2: %u, iftype=%d check_no_ir=%s", REC->wiphy_name, REC->band, REC->control_freq, REC->freq_offset, REC->width, REC->center_freq1, REC->freq1_offset, REC->center_freq2, REC->iftype, (REC->check_no_ir) ? "true" : "false"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_report_obss_beacon/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_report_obss_beacon/format
new file mode 100644
index 0000000..fe20166
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_report_obss_beacon/format
@@ -0,0 +1,13 @@
+name: cfg80211_report_obss_beacon
+ID: 1272
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:int freq;	offset:40;	size:4;	signed:1;
+	field:int sig_dbm;	offset:44;	size:4;	signed:1;
+
+print fmt: "%s, freq: %d.%03d, sig_dbm: %d", REC->wiphy_name, ((REC->freq) / 1000), REC->freq % 1000, REC->sig_dbm
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_report_wowlan_wakeup/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_report_wowlan_wakeup/format
new file mode 100644
index 0000000..7ccced3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_report_wowlan_wakeup/format
@@ -0,0 +1,22 @@
+name: cfg80211_report_wowlan_wakeup
+ID: 1273
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 id;	offset:40;	size:4;	signed:0;
+	field:bool non_wireless;	offset:44;	size:1;	signed:0;
+	field:bool disconnect;	offset:45;	size:1;	signed:0;
+	field:bool magic_pkt;	offset:46;	size:1;	signed:0;
+	field:bool gtk_rekey_failure;	offset:47;	size:1;	signed:0;
+	field:bool eap_identity_req;	offset:48;	size:1;	signed:0;
+	field:bool four_way_handshake;	offset:49;	size:1;	signed:0;
+	field:bool rfkill_release;	offset:50;	size:1;	signed:0;
+	field:s32 pattern_idx;	offset:52;	size:4;	signed:1;
+	field:u32 packet_len;	offset:56;	size:4;	signed:0;
+	field:__data_loc u8[] packet;	offset:60;	size:4;	signed:0;
+
+print fmt: "%s, wdev(%u)", REC->wiphy_name, (REC->id)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_return_bool/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_return_bool/format
new file mode 100644
index 0000000..737da52
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_return_bool/format
@@ -0,0 +1,11 @@
+name: cfg80211_return_bool
+ID: 1274
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:bool ret;	offset:8;	size:1;	signed:0;
+
+print fmt: "returned %s", (REC->ret) ? "true" : "false"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_return_bss/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_return_bss/format
new file mode 100644
index 0000000..26cd318
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_return_bss/format
@@ -0,0 +1,14 @@
+name: cfg80211_return_bss
+ID: 1275
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u8 bssid[6];	offset:8;	size:6;	signed:0;
+	field:enum nl80211_band band;	offset:16;	size:4;	signed:0;
+	field:u32 center_freq;	offset:20;	size:4;	signed:0;
+	field:u16 freq_offset;	offset:24;	size:2;	signed:0;
+
+print fmt: "%pM, band: %d, freq: %u.%03u", (REC->bssid), REC->band, REC->center_freq, REC->freq_offset
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_return_u32/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_return_u32/format
new file mode 100644
index 0000000..88eea69
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_return_u32/format
@@ -0,0 +1,11 @@
+name: cfg80211_return_u32
+ID: 1276
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 ret;	offset:8;	size:4;	signed:0;
+
+print fmt: "ret: %u", REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_return_uint/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_return_uint/format
new file mode 100644
index 0000000..f5fff3e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_return_uint/format
@@ -0,0 +1,11 @@
+name: cfg80211_return_uint
+ID: 1277
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int ret;	offset:8;	size:4;	signed:0;
+
+print fmt: "ret: %d", REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_rx_control_port/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_rx_control_port/format
new file mode 100644
index 0000000..a58a213
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_rx_control_port/format
@@ -0,0 +1,16 @@
+name: cfg80211_rx_control_port
+ID: 1278
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[16];	offset:8;	size:16;	signed:0;
+	field:int ifindex;	offset:24;	size:4;	signed:1;
+	field:int len;	offset:28;	size:4;	signed:1;
+	field:u8 from[6];	offset:32;	size:6;	signed:0;
+	field:u16 proto;	offset:38;	size:2;	signed:0;
+	field:bool unencrypted;	offset:40;	size:1;	signed:0;
+
+print fmt: "netdev:%s(%d), len=%d, %pM, proto: 0x%x, unencrypted: %s", REC->name, REC->ifindex, REC->len, (REC->from), REC->proto, (REC->unencrypted) ? "true" : "false"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_rx_mgmt/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_rx_mgmt/format
new file mode 100644
index 0000000..9610e6f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_rx_mgmt/format
@@ -0,0 +1,13 @@
+name: cfg80211_rx_mgmt
+ID: 1279
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 id;	offset:8;	size:4;	signed:0;
+	field:int freq;	offset:12;	size:4;	signed:1;
+	field:int sig_dbm;	offset:16;	size:4;	signed:1;
+
+print fmt: "wdev(%u), freq: %d.%03d, sig dbm: %d", (REC->id), ((REC->freq) / 1000), REC->freq % 1000, REC->sig_dbm
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_rx_mlme_mgmt/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_rx_mlme_mgmt/format
new file mode 100644
index 0000000..27eed3e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_rx_mlme_mgmt/format
@@ -0,0 +1,13 @@
+name: cfg80211_rx_mlme_mgmt
+ID: 1280
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[16];	offset:8;	size:16;	signed:0;
+	field:int ifindex;	offset:24;	size:4;	signed:1;
+	field:__data_loc u8[] frame;	offset:28;	size:4;	signed:0;
+
+print fmt: "netdev:%s(%d), ftype:0x%.2x", REC->name, REC->ifindex, __le16_to_cpup((__le16 *)__get_dynamic_array(frame))
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_rx_spurious_frame/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_rx_spurious_frame/format
new file mode 100644
index 0000000..4aa94bd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_rx_spurious_frame/format
@@ -0,0 +1,13 @@
+name: cfg80211_rx_spurious_frame
+ID: 1281
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[16];	offset:8;	size:16;	signed:0;
+	field:int ifindex;	offset:24;	size:4;	signed:1;
+	field:u8 addr[6];	offset:28;	size:6;	signed:0;
+
+print fmt: "netdev:%s(%d), %pM", REC->name, REC->ifindex, (REC->addr)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_rx_unexpected_4addr_frame/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_rx_unexpected_4addr_frame/format
new file mode 100644
index 0000000..7b81c47
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_rx_unexpected_4addr_frame/format
@@ -0,0 +1,13 @@
+name: cfg80211_rx_unexpected_4addr_frame
+ID: 1282
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[16];	offset:8;	size:16;	signed:0;
+	field:int ifindex;	offset:24;	size:4;	signed:1;
+	field:u8 addr[6];	offset:28;	size:6;	signed:0;
+
+print fmt: "netdev:%s(%d), %pM", REC->name, REC->ifindex, (REC->addr)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_rx_unprot_mlme_mgmt/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_rx_unprot_mlme_mgmt/format
new file mode 100644
index 0000000..1eb2371
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_rx_unprot_mlme_mgmt/format
@@ -0,0 +1,13 @@
+name: cfg80211_rx_unprot_mlme_mgmt
+ID: 1283
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[16];	offset:8;	size:16;	signed:0;
+	field:int ifindex;	offset:24;	size:4;	signed:1;
+	field:__data_loc u8[] frame;	offset:28;	size:4;	signed:0;
+
+print fmt: "netdev:%s(%d), ftype:0x%.2x", REC->name, REC->ifindex, __le16_to_cpup((__le16 *)__get_dynamic_array(frame))
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_scan_done/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_scan_done/format
new file mode 100644
index 0000000..d3d0d24
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_scan_done/format
@@ -0,0 +1,19 @@
+name: cfg80211_scan_done
+ID: 1284
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 n_channels;	offset:8;	size:4;	signed:0;
+	field:__data_loc u8[] ie;	offset:12;	size:4;	signed:0;
+	field:u32 rates[NUM_NL80211_BANDS];	offset:16;	size:20;	signed:0;
+	field:u32 wdev_id;	offset:36;	size:4;	signed:0;
+	field:u8 wiphy_mac[6];	offset:40;	size:6;	signed:0;
+	field:bool no_cck;	offset:46;	size:1;	signed:0;
+	field:bool aborted;	offset:47;	size:1;	signed:0;
+	field:u64 scan_start_tsf;	offset:48;	size:8;	signed:0;
+	field:u8 tsf_bssid[6];	offset:56;	size:6;	signed:0;
+
+print fmt: "aborted: %s, scan start (TSF): %llu, tsf_bssid: %pM", (REC->aborted) ? "true" : "false", (unsigned long long)REC->scan_start_tsf, (REC->tsf_bssid)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_sched_scan_results/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_sched_scan_results/format
new file mode 100644
index 0000000..5301c25
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_sched_scan_results/format
@@ -0,0 +1,12 @@
+name: cfg80211_sched_scan_results
+ID: 1285
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u64 id;	offset:40;	size:8;	signed:0;
+
+print fmt: "%s, id: %llu", REC->wiphy_name, REC->id
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_sched_scan_stopped/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_sched_scan_stopped/format
new file mode 100644
index 0000000..4b88b29
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_sched_scan_stopped/format
@@ -0,0 +1,12 @@
+name: cfg80211_sched_scan_stopped
+ID: 1286
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u64 id;	offset:40;	size:8;	signed:0;
+
+print fmt: "%s, id: %llu", REC->wiphy_name, REC->id
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_send_assoc_timeout/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_send_assoc_timeout/format
new file mode 100644
index 0000000..1601452
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_send_assoc_timeout/format
@@ -0,0 +1,13 @@
+name: cfg80211_send_assoc_timeout
+ID: 1287
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[16];	offset:8;	size:16;	signed:0;
+	field:int ifindex;	offset:24;	size:4;	signed:1;
+	field:u8 mac[6];	offset:28;	size:6;	signed:0;
+
+print fmt: "netdev:%s(%d), mac: %pM", REC->name, REC->ifindex, (REC->mac)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_send_auth_timeout/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_send_auth_timeout/format
new file mode 100644
index 0000000..7fbbb6c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_send_auth_timeout/format
@@ -0,0 +1,13 @@
+name: cfg80211_send_auth_timeout
+ID: 1288
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[16];	offset:8;	size:16;	signed:0;
+	field:int ifindex;	offset:24;	size:4;	signed:1;
+	field:u8 mac[6];	offset:28;	size:6;	signed:0;
+
+print fmt: "netdev:%s(%d), mac: %pM", REC->name, REC->ifindex, (REC->mac)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_send_rx_assoc/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_send_rx_assoc/format
new file mode 100644
index 0000000..f973162
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_send_rx_assoc/format
@@ -0,0 +1,16 @@
+name: cfg80211_send_rx_assoc
+ID: 1289
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[16];	offset:8;	size:16;	signed:0;
+	field:int ifindex;	offset:24;	size:4;	signed:1;
+	field:u8 bssid[6];	offset:28;	size:6;	signed:0;
+	field:enum nl80211_band band;	offset:36;	size:4;	signed:0;
+	field:u32 center_freq;	offset:40;	size:4;	signed:0;
+	field:u16 freq_offset;	offset:44;	size:2;	signed:0;
+
+print fmt: "netdev:%s(%d), %pM, band: %d, freq: %u.%03u", REC->name, REC->ifindex, (REC->bssid), REC->band, REC->center_freq, REC->freq_offset
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_send_rx_auth/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_send_rx_auth/format
new file mode 100644
index 0000000..ae385fd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_send_rx_auth/format
@@ -0,0 +1,12 @@
+name: cfg80211_send_rx_auth
+ID: 1290
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[16];	offset:8;	size:16;	signed:0;
+	field:int ifindex;	offset:24;	size:4;	signed:1;
+
+print fmt: "netdev:%s(%d)", REC->name, REC->ifindex
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_stop_iface/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_stop_iface/format
new file mode 100644
index 0000000..5485718
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_stop_iface/format
@@ -0,0 +1,12 @@
+name: cfg80211_stop_iface
+ID: 1291
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 id;	offset:40;	size:4;	signed:0;
+
+print fmt: "%s, wdev(%u)", REC->wiphy_name, (REC->id)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_tdls_oper_request/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_tdls_oper_request/format
new file mode 100644
index 0000000..c89867c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_tdls_oper_request/format
@@ -0,0 +1,16 @@
+name: cfg80211_tdls_oper_request
+ID: 1292
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 peer[6];	offset:60;	size:6;	signed:0;
+	field:enum nl80211_tdls_operation oper;	offset:68;	size:4;	signed:0;
+	field:u16 reason_code;	offset:72;	size:2;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), peer: %pM, oper: %d, reason_code %u", REC->wiphy_name, REC->name, REC->ifindex, (REC->peer), REC->oper, REC->reason_code
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_tx_mgmt_expired/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_tx_mgmt_expired/format
new file mode 100644
index 0000000..96fbee4
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_tx_mgmt_expired/format
@@ -0,0 +1,15 @@
+name: cfg80211_tx_mgmt_expired
+ID: 1293
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 id;	offset:8;	size:4;	signed:0;
+	field:u64 cookie;	offset:16;	size:8;	signed:0;
+	field:enum nl80211_band band;	offset:24;	size:4;	signed:0;
+	field:u32 center_freq;	offset:28;	size:4;	signed:0;
+	field:u16 freq_offset;	offset:32;	size:2;	signed:0;
+
+print fmt: "wdev(%u), cookie: %llu, band: %d, freq: %u.%03u", (REC->id), REC->cookie, REC->band, REC->center_freq, REC->freq_offset
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_tx_mlme_mgmt/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_tx_mlme_mgmt/format
new file mode 100644
index 0000000..2a0e118
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_tx_mlme_mgmt/format
@@ -0,0 +1,13 @@
+name: cfg80211_tx_mlme_mgmt
+ID: 1294
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[16];	offset:8;	size:16;	signed:0;
+	field:int ifindex;	offset:24;	size:4;	signed:1;
+	field:__data_loc u8[] frame;	offset:28;	size:4;	signed:0;
+
+print fmt: "netdev:%s(%d), ftype:0x%.2x", REC->name, REC->ifindex, __le16_to_cpup((__le16 *)__get_dynamic_array(frame))
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_update_owe_info_event/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_update_owe_info_event/format
new file mode 100644
index 0000000..ad1676f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/cfg80211_update_owe_info_event/format
@@ -0,0 +1,15 @@
+name: cfg80211_update_owe_info_event
+ID: 1295
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 peer[6];	offset:60;	size:6;	signed:0;
+	field:__data_loc u8[] ie;	offset:68;	size:4;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), peer: %pM", REC->wiphy_name, REC->name, REC->ifindex, (REC->peer)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_abort_pmsr/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_abort_pmsr/format
new file mode 100644
index 0000000..73c42c0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_abort_pmsr/format
@@ -0,0 +1,13 @@
+name: rdev_abort_pmsr
+ID: 1296
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 id;	offset:40;	size:4;	signed:0;
+	field:u64 cookie;	offset:48;	size:8;	signed:0;
+
+print fmt: "%s, wdev(%u), cookie: %lld", REC->wiphy_name, (REC->id), (unsigned long long)REC->cookie
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_abort_scan/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_abort_scan/format
new file mode 100644
index 0000000..45cd303
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_abort_scan/format
@@ -0,0 +1,12 @@
+name: rdev_abort_scan
+ID: 1297
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 id;	offset:40;	size:4;	signed:0;
+
+print fmt: "%s, wdev(%u)", REC->wiphy_name, (REC->id)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_add_key/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_add_key/format
new file mode 100644
index 0000000..972288c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_add_key/format
@@ -0,0 +1,17 @@
+name: rdev_add_key
+ID: 1298
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 mac_addr[6];	offset:60;	size:6;	signed:0;
+	field:u8 key_index;	offset:66;	size:1;	signed:0;
+	field:bool pairwise;	offset:67;	size:1;	signed:0;
+	field:u8 mode;	offset:68;	size:1;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), key_index: %u, mode: %u, pairwise: %s, mac addr: %pM", REC->wiphy_name, REC->name, REC->ifindex, REC->key_index, REC->mode, (REC->pairwise) ? "true" : "false", (REC->mac_addr)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_add_mpath/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_add_mpath/format
new file mode 100644
index 0000000..cff08fd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_add_mpath/format
@@ -0,0 +1,15 @@
+name: rdev_add_mpath
+ID: 1299
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 dst[6];	offset:60;	size:6;	signed:0;
+	field:u8 next_hop[6];	offset:66;	size:6;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), destination: %pM, next hop: %pM", REC->wiphy_name, REC->name, REC->ifindex, (REC->dst), (REC->next_hop)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_add_nan_func/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_add_nan_func/format
new file mode 100644
index 0000000..3f3188c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_add_nan_func/format
@@ -0,0 +1,14 @@
+name: rdev_add_nan_func
+ID: 1300
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 id;	offset:40;	size:4;	signed:0;
+	field:u8 func_type;	offset:44;	size:1;	signed:0;
+	field:u64 cookie;	offset:48;	size:8;	signed:0;
+
+print fmt: "%s, wdev(%u), type=%u, cookie=%llu", REC->wiphy_name, (REC->id), REC->func_type, REC->cookie
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_add_station/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_add_station/format
new file mode 100644
index 0000000..a180c7a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_add_station/format
@@ -0,0 +1,33 @@
+name: rdev_add_station
+ID: 1301
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 sta_mac[6];	offset:60;	size:6;	signed:0;
+	field:u32 sta_flags_mask;	offset:68;	size:4;	signed:0;
+	field:u32 sta_flags_set;	offset:72;	size:4;	signed:0;
+	field:u32 sta_modify_mask;	offset:76;	size:4;	signed:0;
+	field:int listen_interval;	offset:80;	size:4;	signed:1;
+	field:u16 capability;	offset:84;	size:2;	signed:0;
+	field:u16 aid;	offset:86;	size:2;	signed:0;
+	field:u8 plink_action;	offset:88;	size:1;	signed:0;
+	field:u8 plink_state;	offset:89;	size:1;	signed:0;
+	field:u8 uapsd_queues;	offset:90;	size:1;	signed:0;
+	field:u8 max_sp;	offset:91;	size:1;	signed:0;
+	field:u8 opmode_notif;	offset:92;	size:1;	signed:0;
+	field:bool opmode_notif_used;	offset:93;	size:1;	signed:0;
+	field:u8 ht_capa[(int)sizeof(struct ieee80211_ht_cap)];	offset:94;	size:26;	signed:0;
+	field:u8 vht_capa[(int)sizeof(struct ieee80211_vht_cap)];	offset:120;	size:12;	signed:0;
+	field:char vlan[16];	offset:132;	size:16;	signed:0;
+	field:__data_loc u8[] supported_rates;	offset:148;	size:4;	signed:0;
+	field:__data_loc u8[] ext_capab;	offset:152;	size:4;	signed:0;
+	field:__data_loc u8[] supported_channels;	offset:156;	size:4;	signed:0;
+	field:__data_loc u8[] supported_oper_classes;	offset:160;	size:4;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), station mac: %pM, station flags mask: %u, station flags set: %u, station modify mask: %u, listen interval: %d, aid: %u, plink action: %u, plink state: %u, uapsd queues: %u, vlan:%s", REC->wiphy_name, REC->name, REC->ifindex, (REC->sta_mac), REC->sta_flags_mask, REC->sta_flags_set, REC->sta_modify_mask, REC->listen_interval, REC->aid, REC->plink_action, REC->plink_state, REC->uapsd_queues, REC->vlan
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_add_tx_ts/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_add_tx_ts/format
new file mode 100644
index 0000000..09e5944
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_add_tx_ts/format
@@ -0,0 +1,17 @@
+name: rdev_add_tx_ts
+ID: 1302
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 peer[6];	offset:60;	size:6;	signed:0;
+	field:u8 tsid;	offset:66;	size:1;	signed:0;
+	field:u8 user_prio;	offset:67;	size:1;	signed:0;
+	field:u16 admitted_time;	offset:68;	size:2;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), %pM, TSID %d, UP %d, time %d", REC->wiphy_name, REC->name, REC->ifindex, (REC->peer), REC->tsid, REC->user_prio, REC->admitted_time
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_add_virtual_intf/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_add_virtual_intf/format
new file mode 100644
index 0000000..17c7e57
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_add_virtual_intf/format
@@ -0,0 +1,13 @@
+name: rdev_add_virtual_intf
+ID: 1303
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:__data_loc char[] vir_intf_name;	offset:40;	size:4;	signed:0;
+	field:enum nl80211_iftype type;	offset:44;	size:4;	signed:0;
+
+print fmt: "%s, virtual intf name: %s, type: %d", REC->wiphy_name, __get_str(vir_intf_name), REC->type
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_assoc/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_assoc/format
new file mode 100644
index 0000000..b0d5e0d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_assoc/format
@@ -0,0 +1,17 @@
+name: rdev_assoc
+ID: 1304
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 bssid[6];	offset:60;	size:6;	signed:0;
+	field:u8 prev_bssid[6];	offset:66;	size:6;	signed:0;
+	field:bool use_mfp;	offset:72;	size:1;	signed:0;
+	field:u32 flags;	offset:76;	size:4;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), bssid: %pM, previous bssid: %pM, use mfp: %s, flags: %u", REC->wiphy_name, REC->name, REC->ifindex, (REC->bssid), (REC->prev_bssid), (REC->use_mfp) ? "true" : "false", REC->flags
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_auth/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_auth/format
new file mode 100644
index 0000000..c38f708
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_auth/format
@@ -0,0 +1,15 @@
+name: rdev_auth
+ID: 1305
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 bssid[6];	offset:60;	size:6;	signed:0;
+	field:enum nl80211_auth_type auth_type;	offset:68;	size:4;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), auth type: %d, bssid: %pM", REC->wiphy_name, REC->name, REC->ifindex, REC->auth_type, (REC->bssid)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_cancel_remain_on_channel/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_cancel_remain_on_channel/format
new file mode 100644
index 0000000..b101b06
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_cancel_remain_on_channel/format
@@ -0,0 +1,13 @@
+name: rdev_cancel_remain_on_channel
+ID: 1306
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 id;	offset:40;	size:4;	signed:0;
+	field:u64 cookie;	offset:48;	size:8;	signed:0;
+
+print fmt: "%s, wdev(%u), cookie: %llu", REC->wiphy_name, (REC->id), REC->cookie
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_change_beacon/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_change_beacon/format
new file mode 100644
index 0000000..f3cede5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_change_beacon/format
@@ -0,0 +1,19 @@
+name: rdev_change_beacon
+ID: 1307
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:__data_loc u8[] head;	offset:60;	size:4;	signed:0;
+	field:__data_loc u8[] tail;	offset:64;	size:4;	signed:0;
+	field:__data_loc u8[] beacon_ies;	offset:68;	size:4;	signed:0;
+	field:__data_loc u8[] proberesp_ies;	offset:72;	size:4;	signed:0;
+	field:__data_loc u8[] assocresp_ies;	offset:76;	size:4;	signed:0;
+	field:__data_loc u8[] probe_resp;	offset:80;	size:4;	signed:0;
+
+print fmt: "%s, netdev:%s(%d)", REC->wiphy_name, REC->name, REC->ifindex
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_change_bss/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_change_bss/format
new file mode 100644
index 0000000..7c96678
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_change_bss/format
@@ -0,0 +1,18 @@
+name: rdev_change_bss
+ID: 1308
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:int use_cts_prot;	offset:60;	size:4;	signed:1;
+	field:int use_short_preamble;	offset:64;	size:4;	signed:1;
+	field:int use_short_slot_time;	offset:68;	size:4;	signed:1;
+	field:int ap_isolate;	offset:72;	size:4;	signed:1;
+	field:int ht_opmode;	offset:76;	size:4;	signed:1;
+
+print fmt: "%s, netdev:%s(%d), use cts prot: %d, use short preamble: %d, use short slot time: %d, ap isolate: %d, ht opmode: %d", REC->wiphy_name, REC->name, REC->ifindex, REC->use_cts_prot, REC->use_short_preamble, REC->use_short_slot_time, REC->ap_isolate, REC->ht_opmode
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_change_mpath/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_change_mpath/format
new file mode 100644
index 0000000..309047d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_change_mpath/format
@@ -0,0 +1,15 @@
+name: rdev_change_mpath
+ID: 1309
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 dst[6];	offset:60;	size:6;	signed:0;
+	field:u8 next_hop[6];	offset:66;	size:6;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), destination: %pM, next hop: %pM", REC->wiphy_name, REC->name, REC->ifindex, (REC->dst), (REC->next_hop)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_change_station/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_change_station/format
new file mode 100644
index 0000000..1ed39a3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_change_station/format
@@ -0,0 +1,33 @@
+name: rdev_change_station
+ID: 1310
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 sta_mac[6];	offset:60;	size:6;	signed:0;
+	field:u32 sta_flags_mask;	offset:68;	size:4;	signed:0;
+	field:u32 sta_flags_set;	offset:72;	size:4;	signed:0;
+	field:u32 sta_modify_mask;	offset:76;	size:4;	signed:0;
+	field:int listen_interval;	offset:80;	size:4;	signed:1;
+	field:u16 capability;	offset:84;	size:2;	signed:0;
+	field:u16 aid;	offset:86;	size:2;	signed:0;
+	field:u8 plink_action;	offset:88;	size:1;	signed:0;
+	field:u8 plink_state;	offset:89;	size:1;	signed:0;
+	field:u8 uapsd_queues;	offset:90;	size:1;	signed:0;
+	field:u8 max_sp;	offset:91;	size:1;	signed:0;
+	field:u8 opmode_notif;	offset:92;	size:1;	signed:0;
+	field:bool opmode_notif_used;	offset:93;	size:1;	signed:0;
+	field:u8 ht_capa[(int)sizeof(struct ieee80211_ht_cap)];	offset:94;	size:26;	signed:0;
+	field:u8 vht_capa[(int)sizeof(struct ieee80211_vht_cap)];	offset:120;	size:12;	signed:0;
+	field:char vlan[16];	offset:132;	size:16;	signed:0;
+	field:__data_loc u8[] supported_rates;	offset:148;	size:4;	signed:0;
+	field:__data_loc u8[] ext_capab;	offset:152;	size:4;	signed:0;
+	field:__data_loc u8[] supported_channels;	offset:156;	size:4;	signed:0;
+	field:__data_loc u8[] supported_oper_classes;	offset:160;	size:4;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), station mac: %pM, station flags mask: %u, station flags set: %u, station modify mask: %u, listen interval: %d, aid: %u, plink action: %u, plink state: %u, uapsd queues: %u, vlan:%s", REC->wiphy_name, REC->name, REC->ifindex, (REC->sta_mac), REC->sta_flags_mask, REC->sta_flags_set, REC->sta_modify_mask, REC->listen_interval, REC->aid, REC->plink_action, REC->plink_state, REC->uapsd_queues, REC->vlan
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_change_virtual_intf/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_change_virtual_intf/format
new file mode 100644
index 0000000..f3da4dc
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_change_virtual_intf/format
@@ -0,0 +1,14 @@
+name: rdev_change_virtual_intf
+ID: 1311
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:enum nl80211_iftype type;	offset:60;	size:4;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), type: %d", REC->wiphy_name, REC->name, REC->ifindex, REC->type
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_channel_switch/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_channel_switch/format
new file mode 100644
index 0000000..e42a338
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_channel_switch/format
@@ -0,0 +1,25 @@
+name: rdev_channel_switch
+ID: 1312
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:enum nl80211_band band;	offset:60;	size:4;	signed:0;
+	field:u32 control_freq;	offset:64;	size:4;	signed:0;
+	field:u32 freq_offset;	offset:68;	size:4;	signed:0;
+	field:u32 width;	offset:72;	size:4;	signed:0;
+	field:u32 center_freq1;	offset:76;	size:4;	signed:0;
+	field:u32 freq1_offset;	offset:80;	size:4;	signed:0;
+	field:u32 center_freq2;	offset:84;	size:4;	signed:0;
+	field:bool radar_required;	offset:88;	size:1;	signed:0;
+	field:bool block_tx;	offset:89;	size:1;	signed:0;
+	field:u8 count;	offset:90;	size:1;	signed:0;
+	field:__data_loc u16[] bcn_ofs;	offset:92;	size:4;	signed:0;
+	field:__data_loc u16[] pres_ofs;	offset:96;	size:4;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), band: %d, control freq: %u.%03u, width: %d, cf1: %u.%03u, cf2: %u, block_tx: %d, count: %u, radar_required: %d", REC->wiphy_name, REC->name, REC->ifindex, REC->band, REC->control_freq, REC->freq_offset, REC->width, REC->center_freq1, REC->freq1_offset, REC->center_freq2, REC->block_tx, REC->count, REC->radar_required
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_connect/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_connect/format
new file mode 100644
index 0000000..6fa4c80
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_connect/format
@@ -0,0 +1,20 @@
+name: rdev_connect
+ID: 1313
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 bssid[6];	offset:60;	size:6;	signed:0;
+	field:char ssid[32 + 1];	offset:66;	size:33;	signed:0;
+	field:enum nl80211_auth_type auth_type;	offset:100;	size:4;	signed:0;
+	field:bool privacy;	offset:104;	size:1;	signed:0;
+	field:u32 wpa_versions;	offset:108;	size:4;	signed:0;
+	field:u32 flags;	offset:112;	size:4;	signed:0;
+	field:u8 prev_bssid[6];	offset:116;	size:6;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), bssid: %pM, ssid: %s, auth type: %d, privacy: %s, wpa versions: %u, flags: %u, previous bssid: %pM", REC->wiphy_name, REC->name, REC->ifindex, (REC->bssid), REC->ssid, REC->auth_type, (REC->privacy) ? "true" : "false", REC->wpa_versions, REC->flags, (REC->prev_bssid)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_crit_proto_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_crit_proto_start/format
new file mode 100644
index 0000000..13cef3e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_crit_proto_start/format
@@ -0,0 +1,14 @@
+name: rdev_crit_proto_start
+ID: 1314
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 id;	offset:40;	size:4;	signed:0;
+	field:u16 proto;	offset:44;	size:2;	signed:0;
+	field:u16 duration;	offset:46;	size:2;	signed:0;
+
+print fmt: "%s, wdev(%u), proto=%x, duration=%u", REC->wiphy_name, (REC->id), REC->proto, REC->duration
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_crit_proto_stop/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_crit_proto_stop/format
new file mode 100644
index 0000000..73d8a3b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_crit_proto_stop/format
@@ -0,0 +1,12 @@
+name: rdev_crit_proto_stop
+ID: 1315
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 id;	offset:40;	size:4;	signed:0;
+
+print fmt: "%s, wdev(%u)", REC->wiphy_name, (REC->id)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_deauth/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_deauth/format
new file mode 100644
index 0000000..769f921
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_deauth/format
@@ -0,0 +1,15 @@
+name: rdev_deauth
+ID: 1316
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 bssid[6];	offset:60;	size:6;	signed:0;
+	field:u16 reason_code;	offset:66;	size:2;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), bssid: %pM, reason: %u", REC->wiphy_name, REC->name, REC->ifindex, (REC->bssid), REC->reason_code
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_del_key/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_del_key/format
new file mode 100644
index 0000000..d3f1911
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_del_key/format
@@ -0,0 +1,16 @@
+name: rdev_del_key
+ID: 1317
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 mac_addr[6];	offset:60;	size:6;	signed:0;
+	field:u8 key_index;	offset:66;	size:1;	signed:0;
+	field:bool pairwise;	offset:67;	size:1;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), key_index: %u, pairwise: %s, mac addr: %pM", REC->wiphy_name, REC->name, REC->ifindex, REC->key_index, (REC->pairwise) ? "true" : "false", (REC->mac_addr)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_del_mpath/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_del_mpath/format
new file mode 100644
index 0000000..e246d6c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_del_mpath/format
@@ -0,0 +1,14 @@
+name: rdev_del_mpath
+ID: 1318
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 sta_mac[6];	offset:60;	size:6;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), mac: %pM", REC->wiphy_name, REC->name, REC->ifindex, (REC->sta_mac)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_del_nan_func/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_del_nan_func/format
new file mode 100644
index 0000000..9e6c515
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_del_nan_func/format
@@ -0,0 +1,13 @@
+name: rdev_del_nan_func
+ID: 1319
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 id;	offset:40;	size:4;	signed:0;
+	field:u64 cookie;	offset:48;	size:8;	signed:0;
+
+print fmt: "%s, wdev(%u), cookie=%llu", REC->wiphy_name, (REC->id), REC->cookie
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_del_pmk/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_del_pmk/format
new file mode 100644
index 0000000..60f49af
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_del_pmk/format
@@ -0,0 +1,14 @@
+name: rdev_del_pmk
+ID: 1320
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 aa[6];	offset:60;	size:6;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), %pM", REC->wiphy_name, REC->name, REC->ifindex, (REC->aa)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_del_pmksa/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_del_pmksa/format
new file mode 100644
index 0000000..40c4d3f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_del_pmksa/format
@@ -0,0 +1,14 @@
+name: rdev_del_pmksa
+ID: 1321
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 bssid[6];	offset:60;	size:6;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), bssid: %pM", REC->wiphy_name, REC->name, REC->ifindex, (REC->bssid)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_del_station/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_del_station/format
new file mode 100644
index 0000000..596d7d2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_del_station/format
@@ -0,0 +1,16 @@
+name: rdev_del_station
+ID: 1322
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 sta_mac[6];	offset:60;	size:6;	signed:0;
+	field:u8 subtype;	offset:66;	size:1;	signed:0;
+	field:u16 reason_code;	offset:68;	size:2;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), station mac: %pM, subtype: %u, reason_code: %u", REC->wiphy_name, REC->name, REC->ifindex, (REC->sta_mac), REC->subtype, REC->reason_code
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_del_tx_ts/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_del_tx_ts/format
new file mode 100644
index 0000000..7dc8cfb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_del_tx_ts/format
@@ -0,0 +1,15 @@
+name: rdev_del_tx_ts
+ID: 1323
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 peer[6];	offset:60;	size:6;	signed:0;
+	field:u8 tsid;	offset:66;	size:1;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), %pM, TSID %d", REC->wiphy_name, REC->name, REC->ifindex, (REC->peer), REC->tsid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_del_virtual_intf/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_del_virtual_intf/format
new file mode 100644
index 0000000..7271d56
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_del_virtual_intf/format
@@ -0,0 +1,12 @@
+name: rdev_del_virtual_intf
+ID: 1324
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 id;	offset:40;	size:4;	signed:0;
+
+print fmt: "%s, wdev(%u)", REC->wiphy_name, (REC->id)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_disassoc/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_disassoc/format
new file mode 100644
index 0000000..2e0e784
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_disassoc/format
@@ -0,0 +1,16 @@
+name: rdev_disassoc
+ID: 1325
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 bssid[6];	offset:60;	size:6;	signed:0;
+	field:u16 reason_code;	offset:66;	size:2;	signed:0;
+	field:bool local_state_change;	offset:68;	size:1;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), bssid: %pM, reason: %u, local state change: %s", REC->wiphy_name, REC->name, REC->ifindex, (REC->bssid), REC->reason_code, (REC->local_state_change) ? "true" : "false"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_disconnect/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_disconnect/format
new file mode 100644
index 0000000..4c2a548
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_disconnect/format
@@ -0,0 +1,14 @@
+name: rdev_disconnect
+ID: 1326
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u16 reason_code;	offset:60;	size:2;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), reason code: %u", REC->wiphy_name, REC->name, REC->ifindex, REC->reason_code
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_dump_mpath/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_dump_mpath/format
new file mode 100644
index 0000000..495cd7b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_dump_mpath/format
@@ -0,0 +1,16 @@
+name: rdev_dump_mpath
+ID: 1327
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 dst[6];	offset:60;	size:6;	signed:0;
+	field:u8 next_hop[6];	offset:66;	size:6;	signed:0;
+	field:int idx;	offset:72;	size:4;	signed:1;
+
+print fmt: "%s, netdev:%s(%d), index: %d, destination: %pM, next hop: %pM", REC->wiphy_name, REC->name, REC->ifindex, REC->idx, (REC->dst), (REC->next_hop)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_dump_mpp/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_dump_mpp/format
new file mode 100644
index 0000000..0e21f61
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_dump_mpp/format
@@ -0,0 +1,16 @@
+name: rdev_dump_mpp
+ID: 1328
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 dst[6];	offset:60;	size:6;	signed:0;
+	field:u8 mpp[6];	offset:66;	size:6;	signed:0;
+	field:int idx;	offset:72;	size:4;	signed:1;
+
+print fmt: "%s, netdev:%s(%d), index: %d, destination: %pM, mpp: %pM", REC->wiphy_name, REC->name, REC->ifindex, REC->idx, (REC->dst), (REC->mpp)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_dump_station/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_dump_station/format
new file mode 100644
index 0000000..b632d04
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_dump_station/format
@@ -0,0 +1,15 @@
+name: rdev_dump_station
+ID: 1329
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 sta_mac[6];	offset:60;	size:6;	signed:0;
+	field:int idx;	offset:68;	size:4;	signed:1;
+
+print fmt: "%s, netdev:%s(%d), station mac: %pM, idx: %d", REC->wiphy_name, REC->name, REC->ifindex, (REC->sta_mac), REC->idx
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_dump_survey/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_dump_survey/format
new file mode 100644
index 0000000..f3442ae
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_dump_survey/format
@@ -0,0 +1,14 @@
+name: rdev_dump_survey
+ID: 1330
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:int idx;	offset:60;	size:4;	signed:1;
+
+print fmt: "%s, netdev:%s(%d), index: %d", REC->wiphy_name, REC->name, REC->ifindex, REC->idx
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_end_cac/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_end_cac/format
new file mode 100644
index 0000000..3fbf932
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_end_cac/format
@@ -0,0 +1,13 @@
+name: rdev_end_cac
+ID: 1331
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+
+print fmt: "%s, netdev:%s(%d)", REC->wiphy_name, REC->name, REC->ifindex
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_external_auth/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_external_auth/format
new file mode 100644
index 0000000..d6e238b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_external_auth/format
@@ -0,0 +1,16 @@
+name: rdev_external_auth
+ID: 1332
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 bssid[6];	offset:60;	size:6;	signed:0;
+	field:u8 ssid[32 + 1];	offset:66;	size:33;	signed:0;
+	field:u16 status;	offset:100;	size:2;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), bssid: %pM, ssid: %s, status: %u", REC->wiphy_name, REC->name, REC->ifindex, REC->bssid, REC->ssid, REC->status
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_flush_pmksa/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_flush_pmksa/format
new file mode 100644
index 0000000..66de6a5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_flush_pmksa/format
@@ -0,0 +1,13 @@
+name: rdev_flush_pmksa
+ID: 1333
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+
+print fmt: "%s, netdev:%s(%d)", REC->wiphy_name, REC->name, REC->ifindex
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_antenna/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_antenna/format
new file mode 100644
index 0000000..1d8ecfb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_antenna/format
@@ -0,0 +1,11 @@
+name: rdev_get_antenna
+ID: 1334
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->wiphy_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_channel/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_channel/format
new file mode 100644
index 0000000..a4be7ea
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_channel/format
@@ -0,0 +1,12 @@
+name: rdev_get_channel
+ID: 1335
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 id;	offset:40;	size:4;	signed:0;
+
+print fmt: "%s, wdev(%u)", REC->wiphy_name, (REC->id)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_ftm_responder_stats/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_ftm_responder_stats/format
new file mode 100644
index 0000000..d5c7d56
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_ftm_responder_stats/format
@@ -0,0 +1,23 @@
+name: rdev_get_ftm_responder_stats
+ID: 1336
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u64 timestamp;	offset:64;	size:8;	signed:0;
+	field:u32 success_num;	offset:72;	size:4;	signed:0;
+	field:u32 partial_num;	offset:76;	size:4;	signed:0;
+	field:u32 failed_num;	offset:80;	size:4;	signed:0;
+	field:u32 asap_num;	offset:84;	size:4;	signed:0;
+	field:u32 non_asap_num;	offset:88;	size:4;	signed:0;
+	field:u64 duration;	offset:96;	size:8;	signed:0;
+	field:u32 unknown_triggers;	offset:104;	size:4;	signed:0;
+	field:u32 reschedule;	offset:108;	size:4;	signed:0;
+	field:u32 out_of_window;	offset:112;	size:4;	signed:0;
+
+print fmt: "%sFtm responder stats: success %u, partial %u, failed %u, asap %u, non asap %u, total duration %llu, unknown triggers %u, rescheduled %u, out of window %u", REC->wiphy_name, REC->success_num, REC->partial_num, REC->failed_num, REC->asap_num, REC->non_asap_num, REC->duration, REC->unknown_triggers, REC->reschedule, REC->out_of_window
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_key/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_key/format
new file mode 100644
index 0000000..983a996
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_key/format
@@ -0,0 +1,16 @@
+name: rdev_get_key
+ID: 1337
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 mac_addr[6];	offset:60;	size:6;	signed:0;
+	field:u8 key_index;	offset:66;	size:1;	signed:0;
+	field:bool pairwise;	offset:67;	size:1;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), key_index: %u, pairwise: %s, mac addr: %pM", REC->wiphy_name, REC->name, REC->ifindex, REC->key_index, (REC->pairwise) ? "true" : "false", (REC->mac_addr)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_mesh_config/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_mesh_config/format
new file mode 100644
index 0000000..ea05559
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_mesh_config/format
@@ -0,0 +1,13 @@
+name: rdev_get_mesh_config
+ID: 1338
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+
+print fmt: "%s, netdev:%s(%d)", REC->wiphy_name, REC->name, REC->ifindex
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_mpath/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_mpath/format
new file mode 100644
index 0000000..8df1b87
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_mpath/format
@@ -0,0 +1,15 @@
+name: rdev_get_mpath
+ID: 1339
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 dst[6];	offset:60;	size:6;	signed:0;
+	field:u8 next_hop[6];	offset:66;	size:6;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), destination: %pM, next hop: %pM", REC->wiphy_name, REC->name, REC->ifindex, (REC->dst), (REC->next_hop)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_mpp/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_mpp/format
new file mode 100644
index 0000000..df134b9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_mpp/format
@@ -0,0 +1,15 @@
+name: rdev_get_mpp
+ID: 1340
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 dst[6];	offset:60;	size:6;	signed:0;
+	field:u8 mpp[6];	offset:66;	size:6;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), destination: %pM, mpp: %pM", REC->wiphy_name, REC->name, REC->ifindex, (REC->dst), (REC->mpp)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_station/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_station/format
new file mode 100644
index 0000000..90b2961
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_station/format
@@ -0,0 +1,14 @@
+name: rdev_get_station
+ID: 1341
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 sta_mac[6];	offset:60;	size:6;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), mac: %pM", REC->wiphy_name, REC->name, REC->ifindex, (REC->sta_mac)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_tx_power/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_tx_power/format
new file mode 100644
index 0000000..b5f3c64
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_tx_power/format
@@ -0,0 +1,12 @@
+name: rdev_get_tx_power
+ID: 1342
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 id;	offset:40;	size:4;	signed:0;
+
+print fmt: "%s, wdev(%u)", REC->wiphy_name, (REC->id)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_txq_stats/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_txq_stats/format
new file mode 100644
index 0000000..601ea61
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_get_txq_stats/format
@@ -0,0 +1,12 @@
+name: rdev_get_txq_stats
+ID: 1343
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 id;	offset:40;	size:4;	signed:0;
+
+print fmt: "%s, wdev(%u)", REC->wiphy_name, (REC->id)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_join_ibss/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_join_ibss/format
new file mode 100644
index 0000000..5bddfe3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_join_ibss/format
@@ -0,0 +1,15 @@
+name: rdev_join_ibss
+ID: 1344
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 bssid[6];	offset:60;	size:6;	signed:0;
+	field:char ssid[32 + 1];	offset:66;	size:33;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), bssid: %pM, ssid: %s", REC->wiphy_name, REC->name, REC->ifindex, (REC->bssid), REC->ssid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_join_mesh/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_join_mesh/format
new file mode 100644
index 0000000..38bd933
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_join_mesh/format
@@ -0,0 +1,39 @@
+name: rdev_join_mesh
+ID: 1345
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u16 dot11MeshRetryTimeout;	offset:60;	size:2;	signed:0;
+	field:u16 dot11MeshConfirmTimeout;	offset:62;	size:2;	signed:0;
+	field:u16 dot11MeshHoldingTimeout;	offset:64;	size:2;	signed:0;
+	field:u16 dot11MeshMaxPeerLinks;	offset:66;	size:2;	signed:0;
+	field:u8 dot11MeshMaxRetries;	offset:68;	size:1;	signed:0;
+	field:u8 dot11MeshTTL;	offset:69;	size:1;	signed:0;
+	field:u8 element_ttl;	offset:70;	size:1;	signed:0;
+	field:bool auto_open_plinks;	offset:71;	size:1;	signed:0;
+	field:u32 dot11MeshNbrOffsetMaxNeighbor;	offset:72;	size:4;	signed:0;
+	field:u8 dot11MeshHWMPmaxPREQretries;	offset:76;	size:1;	signed:0;
+	field:u32 path_refresh_time;	offset:80;	size:4;	signed:0;
+	field:u32 dot11MeshHWMPactivePathTimeout;	offset:84;	size:4;	signed:0;
+	field:u16 min_discovery_timeout;	offset:88;	size:2;	signed:0;
+	field:u16 dot11MeshHWMPpreqMinInterval;	offset:90;	size:2;	signed:0;
+	field:u16 dot11MeshHWMPperrMinInterval;	offset:92;	size:2;	signed:0;
+	field:u16 dot11MeshHWMPnetDiameterTraversalTime;	offset:94;	size:2;	signed:0;
+	field:u8 dot11MeshHWMPRootMode;	offset:96;	size:1;	signed:0;
+	field:u16 dot11MeshHWMPRannInterval;	offset:98;	size:2;	signed:0;
+	field:bool dot11MeshGateAnnouncementProtocol;	offset:100;	size:1;	signed:0;
+	field:bool dot11MeshForwarding;	offset:101;	size:1;	signed:0;
+	field:s32 rssi_threshold;	offset:104;	size:4;	signed:1;
+	field:u16 ht_opmode;	offset:108;	size:2;	signed:0;
+	field:u32 dot11MeshHWMPactivePathToRootTimeout;	offset:112;	size:4;	signed:0;
+	field:u16 dot11MeshHWMProotInterval;	offset:116;	size:2;	signed:0;
+	field:u16 dot11MeshHWMPconfirmationInterval;	offset:118;	size:2;	signed:0;
+	field:bool dot11MeshNolearn;	offset:120;	size:1;	signed:0;
+
+print fmt: "%s, netdev:%s(%d)", REC->wiphy_name, REC->name, REC->ifindex
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_join_ocb/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_join_ocb/format
new file mode 100644
index 0000000..c8b9a0a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_join_ocb/format
@@ -0,0 +1,13 @@
+name: rdev_join_ocb
+ID: 1346
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+
+print fmt: "%s, netdev:%s(%d)", REC->wiphy_name, REC->name, REC->ifindex
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_leave_ibss/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_leave_ibss/format
new file mode 100644
index 0000000..54e90b4
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_leave_ibss/format
@@ -0,0 +1,13 @@
+name: rdev_leave_ibss
+ID: 1347
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+
+print fmt: "%s, netdev:%s(%d)", REC->wiphy_name, REC->name, REC->ifindex
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_leave_mesh/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_leave_mesh/format
new file mode 100644
index 0000000..f8d4f08
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_leave_mesh/format
@@ -0,0 +1,13 @@
+name: rdev_leave_mesh
+ID: 1348
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+
+print fmt: "%s, netdev:%s(%d)", REC->wiphy_name, REC->name, REC->ifindex
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_leave_ocb/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_leave_ocb/format
new file mode 100644
index 0000000..5d89836
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_leave_ocb/format
@@ -0,0 +1,13 @@
+name: rdev_leave_ocb
+ID: 1349
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+
+print fmt: "%s, netdev:%s(%d)", REC->wiphy_name, REC->name, REC->ifindex
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_libertas_set_mesh_channel/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_libertas_set_mesh_channel/format
new file mode 100644
index 0000000..1302ac2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_libertas_set_mesh_channel/format
@@ -0,0 +1,16 @@
+name: rdev_libertas_set_mesh_channel
+ID: 1350
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:enum nl80211_band band;	offset:60;	size:4;	signed:0;
+	field:u32 center_freq;	offset:64;	size:4;	signed:0;
+	field:u16 freq_offset;	offset:68;	size:2;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), band: %d, freq: %u.%03u", REC->wiphy_name, REC->name, REC->ifindex, REC->band, REC->center_freq, REC->freq_offset
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_mgmt_tx/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_mgmt_tx/format
new file mode 100644
index 0000000..e326c73
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_mgmt_tx/format
@@ -0,0 +1,19 @@
+name: rdev_mgmt_tx
+ID: 1351
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 id;	offset:40;	size:4;	signed:0;
+	field:enum nl80211_band band;	offset:44;	size:4;	signed:0;
+	field:u32 center_freq;	offset:48;	size:4;	signed:0;
+	field:u16 freq_offset;	offset:52;	size:2;	signed:0;
+	field:bool offchan;	offset:54;	size:1;	signed:0;
+	field:unsigned int wait;	offset:56;	size:4;	signed:0;
+	field:bool no_cck;	offset:60;	size:1;	signed:0;
+	field:bool dont_wait_for_ack;	offset:61;	size:1;	signed:0;
+
+print fmt: "%s, wdev(%u), band: %d, freq: %u.%03u, offchan: %s, wait: %u, no cck: %s, dont wait for ack: %s", REC->wiphy_name, (REC->id), REC->band, REC->center_freq, REC->freq_offset, (REC->offchan) ? "true" : "false", REC->wait, (REC->no_cck) ? "true" : "false", (REC->dont_wait_for_ack) ? "true" : "false"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_mgmt_tx_cancel_wait/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_mgmt_tx_cancel_wait/format
new file mode 100644
index 0000000..bbbcec6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_mgmt_tx_cancel_wait/format
@@ -0,0 +1,13 @@
+name: rdev_mgmt_tx_cancel_wait
+ID: 1352
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 id;	offset:40;	size:4;	signed:0;
+	field:u64 cookie;	offset:48;	size:8;	signed:0;
+
+print fmt: "%s, wdev(%u), cookie: %llu ", REC->wiphy_name, (REC->id), REC->cookie
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_nan_change_conf/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_nan_change_conf/format
new file mode 100644
index 0000000..7532fdc
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_nan_change_conf/format
@@ -0,0 +1,15 @@
+name: rdev_nan_change_conf
+ID: 1353
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 id;	offset:40;	size:4;	signed:0;
+	field:u8 master_pref;	offset:44;	size:1;	signed:0;
+	field:u8 bands;	offset:45;	size:1;	signed:0;
+	field:u32 changes;	offset:48;	size:4;	signed:0;
+
+print fmt: "%s, wdev(%u), master preference: %u, bands: 0x%0x, changes: %x", REC->wiphy_name, (REC->id), REC->master_pref, REC->bands, REC->changes
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_probe_client/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_probe_client/format
new file mode 100644
index 0000000..c7b0fee
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_probe_client/format
@@ -0,0 +1,14 @@
+name: rdev_probe_client
+ID: 1354
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 peer[6];	offset:60;	size:6;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), %pM", REC->wiphy_name, REC->name, REC->ifindex, (REC->peer)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_probe_mesh_link/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_probe_mesh_link/format
new file mode 100644
index 0000000..7ce46a9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_probe_mesh_link/format
@@ -0,0 +1,14 @@
+name: rdev_probe_mesh_link
+ID: 1355
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 dest[6];	offset:60;	size:6;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), %pM", REC->wiphy_name, REC->name, REC->ifindex, (REC->dest)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_remain_on_channel/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_remain_on_channel/format
new file mode 100644
index 0000000..fc5935e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_remain_on_channel/format
@@ -0,0 +1,16 @@
+name: rdev_remain_on_channel
+ID: 1356
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 id;	offset:40;	size:4;	signed:0;
+	field:enum nl80211_band band;	offset:44;	size:4;	signed:0;
+	field:u32 center_freq;	offset:48;	size:4;	signed:0;
+	field:u16 freq_offset;	offset:52;	size:2;	signed:0;
+	field:unsigned int duration;	offset:56;	size:4;	signed:0;
+
+print fmt: "%s, wdev(%u), band: %d, freq: %u.%03u, duration: %u", REC->wiphy_name, (REC->id), REC->band, REC->center_freq, REC->freq_offset, REC->duration
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_reset_tid_config/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_reset_tid_config/format
new file mode 100644
index 0000000..5b58269
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_reset_tid_config/format
@@ -0,0 +1,15 @@
+name: rdev_reset_tid_config
+ID: 1357
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 peer[6];	offset:60;	size:6;	signed:0;
+	field:u8 tids;	offset:66;	size:1;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), peer: %pM, tids: 0x%x", REC->wiphy_name, REC->name, REC->ifindex, (REC->peer), REC->tids
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_resume/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_resume/format
new file mode 100644
index 0000000..8bba5e5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_resume/format
@@ -0,0 +1,11 @@
+name: rdev_resume
+ID: 1358
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->wiphy_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_chandef/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_chandef/format
new file mode 100644
index 0000000..e932f3f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_chandef/format
@@ -0,0 +1,19 @@
+name: rdev_return_chandef
+ID: 1359
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:int ret;	offset:40;	size:4;	signed:1;
+	field:enum nl80211_band band;	offset:44;	size:4;	signed:0;
+	field:u32 control_freq;	offset:48;	size:4;	signed:0;
+	field:u32 freq_offset;	offset:52;	size:4;	signed:0;
+	field:u32 width;	offset:56;	size:4;	signed:0;
+	field:u32 center_freq1;	offset:60;	size:4;	signed:0;
+	field:u32 freq1_offset;	offset:64;	size:4;	signed:0;
+	field:u32 center_freq2;	offset:68;	size:4;	signed:0;
+
+print fmt: "%s, band: %d, control freq: %u.%03u, width: %d, cf1: %u.%03u, cf2: %u, ret: %d", REC->wiphy_name, REC->band, REC->control_freq, REC->freq_offset, REC->width, REC->center_freq1, REC->freq1_offset, REC->center_freq2, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_int/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_int/format
new file mode 100644
index 0000000..b820ac5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_int/format
@@ -0,0 +1,12 @@
+name: rdev_return_int
+ID: 1360
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:int ret;	offset:40;	size:4;	signed:1;
+
+print fmt: "%s, returned: %d", REC->wiphy_name, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_int_cookie/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_int_cookie/format
new file mode 100644
index 0000000..7b1d9f6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_int_cookie/format
@@ -0,0 +1,13 @@
+name: rdev_return_int_cookie
+ID: 1361
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:int ret;	offset:40;	size:4;	signed:1;
+	field:u64 cookie;	offset:48;	size:8;	signed:0;
+
+print fmt: "%s, returned %d, cookie: %llu", REC->wiphy_name, REC->ret, REC->cookie
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_int_int/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_int_int/format
new file mode 100644
index 0000000..0b5a217
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_int_int/format
@@ -0,0 +1,13 @@
+name: rdev_return_int_int
+ID: 1362
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:int func_ret;	offset:40;	size:4;	signed:1;
+	field:int func_fill;	offset:44;	size:4;	signed:1;
+
+print fmt: "%s, function returns: %d, function filled: %d", REC->wiphy_name, REC->func_ret, REC->func_fill
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_int_mesh_config/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_int_mesh_config/format
new file mode 100644
index 0000000..ca709e3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_int_mesh_config/format
@@ -0,0 +1,38 @@
+name: rdev_return_int_mesh_config
+ID: 1363
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u16 dot11MeshRetryTimeout;	offset:40;	size:2;	signed:0;
+	field:u16 dot11MeshConfirmTimeout;	offset:42;	size:2;	signed:0;
+	field:u16 dot11MeshHoldingTimeout;	offset:44;	size:2;	signed:0;
+	field:u16 dot11MeshMaxPeerLinks;	offset:46;	size:2;	signed:0;
+	field:u8 dot11MeshMaxRetries;	offset:48;	size:1;	signed:0;
+	field:u8 dot11MeshTTL;	offset:49;	size:1;	signed:0;
+	field:u8 element_ttl;	offset:50;	size:1;	signed:0;
+	field:bool auto_open_plinks;	offset:51;	size:1;	signed:0;
+	field:u32 dot11MeshNbrOffsetMaxNeighbor;	offset:52;	size:4;	signed:0;
+	field:u8 dot11MeshHWMPmaxPREQretries;	offset:56;	size:1;	signed:0;
+	field:u32 path_refresh_time;	offset:60;	size:4;	signed:0;
+	field:u32 dot11MeshHWMPactivePathTimeout;	offset:64;	size:4;	signed:0;
+	field:u16 min_discovery_timeout;	offset:68;	size:2;	signed:0;
+	field:u16 dot11MeshHWMPpreqMinInterval;	offset:70;	size:2;	signed:0;
+	field:u16 dot11MeshHWMPperrMinInterval;	offset:72;	size:2;	signed:0;
+	field:u16 dot11MeshHWMPnetDiameterTraversalTime;	offset:74;	size:2;	signed:0;
+	field:u8 dot11MeshHWMPRootMode;	offset:76;	size:1;	signed:0;
+	field:u16 dot11MeshHWMPRannInterval;	offset:78;	size:2;	signed:0;
+	field:bool dot11MeshGateAnnouncementProtocol;	offset:80;	size:1;	signed:0;
+	field:bool dot11MeshForwarding;	offset:81;	size:1;	signed:0;
+	field:s32 rssi_threshold;	offset:84;	size:4;	signed:1;
+	field:u16 ht_opmode;	offset:88;	size:2;	signed:0;
+	field:u32 dot11MeshHWMPactivePathToRootTimeout;	offset:92;	size:4;	signed:0;
+	field:u16 dot11MeshHWMProotInterval;	offset:96;	size:2;	signed:0;
+	field:u16 dot11MeshHWMPconfirmationInterval;	offset:98;	size:2;	signed:0;
+	field:bool dot11MeshNolearn;	offset:100;	size:1;	signed:0;
+	field:int ret;	offset:104;	size:4;	signed:1;
+
+print fmt: "%s, returned: %d", REC->wiphy_name, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_int_mpath_info/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_int_mpath_info/format
new file mode 100644
index 0000000..153857a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_int_mpath_info/format
@@ -0,0 +1,21 @@
+name: rdev_return_int_mpath_info
+ID: 1364
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:int ret;	offset:40;	size:4;	signed:1;
+	field:int generation;	offset:44;	size:4;	signed:1;
+	field:u32 filled;	offset:48;	size:4;	signed:0;
+	field:u32 frame_qlen;	offset:52;	size:4;	signed:0;
+	field:u32 sn;	offset:56;	size:4;	signed:0;
+	field:u32 metric;	offset:60;	size:4;	signed:0;
+	field:u32 exptime;	offset:64;	size:4;	signed:0;
+	field:u32 discovery_timeout;	offset:68;	size:4;	signed:0;
+	field:u8 discovery_retries;	offset:72;	size:1;	signed:0;
+	field:u8 flags;	offset:73;	size:1;	signed:0;
+
+print fmt: "%s, returned %d. mpath info - generation: %d, filled: %u, frame qlen: %u, sn: %u, metric: %u, exptime: %u, discovery timeout: %u, discovery retries: %u, flags: %u", REC->wiphy_name, REC->ret, REC->generation, REC->filled, REC->frame_qlen, REC->sn, REC->metric, REC->exptime, REC->discovery_timeout, REC->discovery_retries, REC->flags
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_int_station_info/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_int_station_info/format
new file mode 100644
index 0000000..79c6438
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_int_station_info/format
@@ -0,0 +1,26 @@
+name: rdev_return_int_station_info
+ID: 1365
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:int ret;	offset:40;	size:4;	signed:1;
+	field:int generation;	offset:44;	size:4;	signed:1;
+	field:u32 connected_time;	offset:48;	size:4;	signed:0;
+	field:u32 inactive_time;	offset:52;	size:4;	signed:0;
+	field:u32 rx_bytes;	offset:56;	size:4;	signed:0;
+	field:u32 tx_bytes;	offset:60;	size:4;	signed:0;
+	field:u32 rx_packets;	offset:64;	size:4;	signed:0;
+	field:u32 tx_packets;	offset:68;	size:4;	signed:0;
+	field:u32 tx_retries;	offset:72;	size:4;	signed:0;
+	field:u32 tx_failed;	offset:76;	size:4;	signed:0;
+	field:u32 rx_dropped_misc;	offset:80;	size:4;	signed:0;
+	field:u32 beacon_loss_count;	offset:84;	size:4;	signed:0;
+	field:u16 llid;	offset:88;	size:2;	signed:0;
+	field:u16 plid;	offset:90;	size:2;	signed:0;
+	field:u8 plink_state;	offset:92;	size:1;	signed:0;
+
+print fmt: "%s, returned %d", REC->wiphy_name, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_int_survey_info/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_int_survey_info/format
new file mode 100644
index 0000000..0b76468
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_int_survey_info/format
@@ -0,0 +1,23 @@
+name: rdev_return_int_survey_info
+ID: 1366
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_band band;	offset:40;	size:4;	signed:0;
+	field:u32 center_freq;	offset:44;	size:4;	signed:0;
+	field:u16 freq_offset;	offset:48;	size:2;	signed:0;
+	field:int ret;	offset:52;	size:4;	signed:1;
+	field:u64 time;	offset:56;	size:8;	signed:0;
+	field:u64 time_busy;	offset:64;	size:8;	signed:0;
+	field:u64 time_ext_busy;	offset:72;	size:8;	signed:0;
+	field:u64 time_rx;	offset:80;	size:8;	signed:0;
+	field:u64 time_tx;	offset:88;	size:8;	signed:0;
+	field:u64 time_scan;	offset:96;	size:8;	signed:0;
+	field:u32 filled;	offset:104;	size:4;	signed:0;
+	field:s8 noise;	offset:108;	size:1;	signed:1;
+
+print fmt: "%s, returned: %d, band: %d, freq: %u.%03u, channel time: %llu, channel time busy: %llu, channel time extension busy: %llu, channel time rx: %llu, channel time tx: %llu, scan time: %llu, filled: %u, noise: %d", REC->wiphy_name, REC->ret, REC->band, REC->center_freq, REC->freq_offset, REC->time, REC->time_busy, REC->time_ext_busy, REC->time_rx, REC->time_tx, REC->time_scan, REC->filled, REC->noise
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_int_tx_rx/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_int_tx_rx/format
new file mode 100644
index 0000000..bfaada5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_int_tx_rx/format
@@ -0,0 +1,14 @@
+name: rdev_return_int_tx_rx
+ID: 1367
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:int ret;	offset:40;	size:4;	signed:1;
+	field:u32 tx;	offset:44;	size:4;	signed:0;
+	field:u32 rx;	offset:48;	size:4;	signed:0;
+
+print fmt: "%s, returned %d, tx: %u, rx: %u", REC->wiphy_name, REC->ret, REC->tx, REC->rx
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_void/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_void/format
new file mode 100644
index 0000000..f91a39f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_void/format
@@ -0,0 +1,11 @@
+name: rdev_return_void
+ID: 1368
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->wiphy_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_void_tx_rx/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_void_tx_rx/format
new file mode 100644
index 0000000..153d3a7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_void_tx_rx/format
@@ -0,0 +1,15 @@
+name: rdev_return_void_tx_rx
+ID: 1369
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 tx;	offset:40;	size:4;	signed:0;
+	field:u32 tx_max;	offset:44;	size:4;	signed:0;
+	field:u32 rx;	offset:48;	size:4;	signed:0;
+	field:u32 rx_max;	offset:52;	size:4;	signed:0;
+
+print fmt: "%s, tx: %u, tx_max: %u, rx: %u, rx_max: %u ", REC->wiphy_name, REC->tx, REC->tx_max, REC->rx, REC->rx_max
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_wdev/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_wdev/format
new file mode 100644
index 0000000..2b1bc97
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_return_wdev/format
@@ -0,0 +1,12 @@
+name: rdev_return_wdev
+ID: 1370
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 id;	offset:40;	size:4;	signed:0;
+
+print fmt: "%s, wdev(%u)", REC->wiphy_name, (REC->id)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_rfkill_poll/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_rfkill_poll/format
new file mode 100644
index 0000000..819faf5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_rfkill_poll/format
@@ -0,0 +1,11 @@
+name: rdev_rfkill_poll
+ID: 1371
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->wiphy_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_scan/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_scan/format
new file mode 100644
index 0000000..dfb0926
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_scan/format
@@ -0,0 +1,11 @@
+name: rdev_scan
+ID: 1372
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->wiphy_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_sched_scan_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_sched_scan_start/format
new file mode 100644
index 0000000..fd1929e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_sched_scan_start/format
@@ -0,0 +1,14 @@
+name: rdev_sched_scan_start
+ID: 1373
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u64 id;	offset:64;	size:8;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), id: %llu", REC->wiphy_name, REC->name, REC->ifindex, REC->id
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_sched_scan_stop/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_sched_scan_stop/format
new file mode 100644
index 0000000..3a9e7a6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_sched_scan_stop/format
@@ -0,0 +1,14 @@
+name: rdev_sched_scan_stop
+ID: 1374
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u64 id;	offset:64;	size:8;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), id: %llu", REC->wiphy_name, REC->name, REC->ifindex, REC->id
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_antenna/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_antenna/format
new file mode 100644
index 0000000..16cb2e0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_antenna/format
@@ -0,0 +1,13 @@
+name: rdev_set_antenna
+ID: 1375
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 tx;	offset:40;	size:4;	signed:0;
+	field:u32 rx;	offset:44;	size:4;	signed:0;
+
+print fmt: "%s, tx: %u, rx: %u ", REC->wiphy_name, REC->tx, REC->rx
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_ap_chanwidth/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_ap_chanwidth/format
new file mode 100644
index 0000000..0b9eff4
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_ap_chanwidth/format
@@ -0,0 +1,20 @@
+name: rdev_set_ap_chanwidth
+ID: 1376
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:enum nl80211_band band;	offset:60;	size:4;	signed:0;
+	field:u32 control_freq;	offset:64;	size:4;	signed:0;
+	field:u32 freq_offset;	offset:68;	size:4;	signed:0;
+	field:u32 width;	offset:72;	size:4;	signed:0;
+	field:u32 center_freq1;	offset:76;	size:4;	signed:0;
+	field:u32 freq1_offset;	offset:80;	size:4;	signed:0;
+	field:u32 center_freq2;	offset:84;	size:4;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), band: %d, control freq: %u.%03u, width: %d, cf1: %u.%03u, cf2: %u", REC->wiphy_name, REC->name, REC->ifindex, REC->band, REC->control_freq, REC->freq_offset, REC->width, REC->center_freq1, REC->freq1_offset, REC->center_freq2
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_bitrate_mask/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_bitrate_mask/format
new file mode 100644
index 0000000..8312786
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_bitrate_mask/format
@@ -0,0 +1,14 @@
+name: rdev_set_bitrate_mask
+ID: 1377
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 peer[6];	offset:60;	size:6;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), peer: %pM", REC->wiphy_name, REC->name, REC->ifindex, (REC->peer)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_coalesce/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_coalesce/format
new file mode 100644
index 0000000..ce6ca11
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_coalesce/format
@@ -0,0 +1,12 @@
+name: rdev_set_coalesce
+ID: 1378
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:int n_rules;	offset:40;	size:4;	signed:1;
+
+print fmt: "%s, n_rules=%d", REC->wiphy_name, REC->n_rules
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_cqm_rssi_config/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_cqm_rssi_config/format
new file mode 100644
index 0000000..90c79d8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_cqm_rssi_config/format
@@ -0,0 +1,15 @@
+name: rdev_set_cqm_rssi_config
+ID: 1379
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:s32 rssi_thold;	offset:60;	size:4;	signed:1;
+	field:u32 rssi_hyst;	offset:64;	size:4;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), rssi_thold: %d, rssi_hyst: %u ", REC->wiphy_name, REC->name, REC->ifindex, REC->rssi_thold, REC->rssi_hyst
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_cqm_rssi_range_config/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_cqm_rssi_range_config/format
new file mode 100644
index 0000000..cace814
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_cqm_rssi_range_config/format
@@ -0,0 +1,15 @@
+name: rdev_set_cqm_rssi_range_config
+ID: 1380
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:s32 rssi_low;	offset:60;	size:4;	signed:1;
+	field:s32 rssi_high;	offset:64;	size:4;	signed:1;
+
+print fmt: "%s, netdev:%s(%d), range: %d - %d ", REC->wiphy_name, REC->name, REC->ifindex, REC->rssi_low, REC->rssi_high
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_cqm_txe_config/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_cqm_txe_config/format
new file mode 100644
index 0000000..d580d0e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_cqm_txe_config/format
@@ -0,0 +1,16 @@
+name: rdev_set_cqm_txe_config
+ID: 1381
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u32 rate;	offset:60;	size:4;	signed:0;
+	field:u32 pkts;	offset:64;	size:4;	signed:0;
+	field:u32 intvl;	offset:68;	size:4;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), rate: %u, packets: %u, interval: %u", REC->wiphy_name, REC->name, REC->ifindex, REC->rate, REC->pkts, REC->intvl
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_default_beacon_key/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_default_beacon_key/format
new file mode 100644
index 0000000..c14e076
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_default_beacon_key/format
@@ -0,0 +1,14 @@
+name: rdev_set_default_beacon_key
+ID: 1382
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 key_index;	offset:60;	size:1;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), key index: %u", REC->wiphy_name, REC->name, REC->ifindex, REC->key_index
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_default_key/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_default_key/format
new file mode 100644
index 0000000..98720fa
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_default_key/format
@@ -0,0 +1,16 @@
+name: rdev_set_default_key
+ID: 1383
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 key_index;	offset:60;	size:1;	signed:0;
+	field:bool unicast;	offset:61;	size:1;	signed:0;
+	field:bool multicast;	offset:62;	size:1;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), key index: %u, unicast: %s, multicast: %s", REC->wiphy_name, REC->name, REC->ifindex, REC->key_index, (REC->unicast) ? "true" : "false", (REC->multicast) ? "true" : "false"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_default_mgmt_key/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_default_mgmt_key/format
new file mode 100644
index 0000000..2665224
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_default_mgmt_key/format
@@ -0,0 +1,14 @@
+name: rdev_set_default_mgmt_key
+ID: 1384
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 key_index;	offset:60;	size:1;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), key index: %u", REC->wiphy_name, REC->name, REC->ifindex, REC->key_index
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_mac_acl/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_mac_acl/format
new file mode 100644
index 0000000..9d31b60
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_mac_acl/format
@@ -0,0 +1,14 @@
+name: rdev_set_mac_acl
+ID: 1385
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u32 acl_policy;	offset:60;	size:4;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), acl policy: %d", REC->wiphy_name, REC->name, REC->ifindex, REC->acl_policy
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_mcast_rate/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_mcast_rate/format
new file mode 100644
index 0000000..075a62a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_mcast_rate/format
@@ -0,0 +1,14 @@
+name: rdev_set_mcast_rate
+ID: 1386
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:int mcast_rate[NUM_NL80211_BANDS];	offset:60;	size:20;	signed:1;
+
+print fmt: "%s, netdev:%s(%d), mcast_rates [2.4GHz=0x%x, 5.2GHz=0x%x, 6GHz=0x%x, 60GHz=0x%x]", REC->wiphy_name, REC->name, REC->ifindex, REC->mcast_rate[NL80211_BAND_2GHZ], REC->mcast_rate[NL80211_BAND_5GHZ], REC->mcast_rate[NL80211_BAND_6GHZ], REC->mcast_rate[NL80211_BAND_60GHZ]
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_monitor_channel/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_monitor_channel/format
new file mode 100644
index 0000000..ce8f6f3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_monitor_channel/format
@@ -0,0 +1,18 @@
+name: rdev_set_monitor_channel
+ID: 1387
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_band band;	offset:40;	size:4;	signed:0;
+	field:u32 control_freq;	offset:44;	size:4;	signed:0;
+	field:u32 freq_offset;	offset:48;	size:4;	signed:0;
+	field:u32 width;	offset:52;	size:4;	signed:0;
+	field:u32 center_freq1;	offset:56;	size:4;	signed:0;
+	field:u32 freq1_offset;	offset:60;	size:4;	signed:0;
+	field:u32 center_freq2;	offset:64;	size:4;	signed:0;
+
+print fmt: "%s, band: %d, control freq: %u.%03u, width: %d, cf1: %u.%03u, cf2: %u", REC->wiphy_name, REC->band, REC->control_freq, REC->freq_offset, REC->width, REC->center_freq1, REC->freq1_offset, REC->center_freq2
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_multicast_to_unicast/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_multicast_to_unicast/format
new file mode 100644
index 0000000..50b92c6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_multicast_to_unicast/format
@@ -0,0 +1,14 @@
+name: rdev_set_multicast_to_unicast
+ID: 1388
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:bool enabled;	offset:60;	size:1;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), unicast: %s", REC->wiphy_name, REC->name, REC->ifindex, (REC->enabled) ? "true" : "false"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_noack_map/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_noack_map/format
new file mode 100644
index 0000000..0fd7b97
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_noack_map/format
@@ -0,0 +1,14 @@
+name: rdev_set_noack_map
+ID: 1389
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u16 noack_map;	offset:60;	size:2;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), noack_map: %u", REC->wiphy_name, REC->name, REC->ifindex, REC->noack_map
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_pmk/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_pmk/format
new file mode 100644
index 0000000..cdc7c66
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_pmk/format
@@ -0,0 +1,18 @@
+name: rdev_set_pmk
+ID: 1390
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 aa[6];	offset:60;	size:6;	signed:0;
+	field:u8 pmk_len;	offset:66;	size:1;	signed:0;
+	field:u8 pmk_r0_name_len;	offset:67;	size:1;	signed:0;
+	field:__data_loc u8[] pmk;	offset:68;	size:4;	signed:0;
+	field:__data_loc u8[] pmk_r0_name;	offset:72;	size:4;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), %pMpmk_len=%u, pmk: %s pmk_r0_name: %s", REC->wiphy_name, REC->name, REC->ifindex, (REC->aa), REC->pmk_len, __print_array(__get_dynamic_array(pmk), __get_dynamic_array_len(pmk), 1), REC->pmk_r0_name_len ? __print_array(__get_dynamic_array(pmk_r0_name), __get_dynamic_array_len(pmk_r0_name), 1) : ""
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_pmksa/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_pmksa/format
new file mode 100644
index 0000000..08e9c20
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_pmksa/format
@@ -0,0 +1,14 @@
+name: rdev_set_pmksa
+ID: 1391
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 bssid[6];	offset:60;	size:6;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), bssid: %pM", REC->wiphy_name, REC->name, REC->ifindex, (REC->bssid)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_power_mgmt/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_power_mgmt/format
new file mode 100644
index 0000000..e6afe4c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_power_mgmt/format
@@ -0,0 +1,15 @@
+name: rdev_set_power_mgmt
+ID: 1392
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:bool enabled;	offset:60;	size:1;	signed:0;
+	field:int timeout;	offset:64;	size:4;	signed:1;
+
+print fmt: "%s, netdev:%s(%d), %senabled, timeout: %d ", REC->wiphy_name, REC->name, REC->ifindex, REC->enabled ? "" : "not ", REC->timeout
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_qos_map/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_qos_map/format
new file mode 100644
index 0000000..aac23af
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_qos_map/format
@@ -0,0 +1,16 @@
+name: rdev_set_qos_map
+ID: 1393
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 num_des;	offset:60;	size:1;	signed:0;
+	field:u8 dscp_exception[2 * 21];	offset:61;	size:42;	signed:0;
+	field:u8 up[16];	offset:103;	size:16;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), num_des: %u", REC->wiphy_name, REC->name, REC->ifindex, REC->num_des
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_rekey_data/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_rekey_data/format
new file mode 100644
index 0000000..1b0daad
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_rekey_data/format
@@ -0,0 +1,13 @@
+name: rdev_set_rekey_data
+ID: 1394
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+
+print fmt: "%s, netdev:%s(%d)", REC->wiphy_name, REC->name, REC->ifindex
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_tid_config/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_tid_config/format
new file mode 100644
index 0000000..44abc24
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_tid_config/format
@@ -0,0 +1,14 @@
+name: rdev_set_tid_config
+ID: 1395
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 peer[6];	offset:60;	size:6;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), peer: %pM", REC->wiphy_name, REC->name, REC->ifindex, (REC->peer)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_tx_power/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_tx_power/format
new file mode 100644
index 0000000..83a1098
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_tx_power/format
@@ -0,0 +1,14 @@
+name: rdev_set_tx_power
+ID: 1396
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 id;	offset:40;	size:4;	signed:0;
+	field:enum nl80211_tx_power_setting type;	offset:44;	size:4;	signed:0;
+	field:int mbm;	offset:48;	size:4;	signed:1;
+
+print fmt: "%s, wdev(%u), type: %u, mbm: %d", REC->wiphy_name, (REC->id),REC->type, REC->mbm
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_txq_params/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_txq_params/format
new file mode 100644
index 0000000..0d2fe48
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_txq_params/format
@@ -0,0 +1,18 @@
+name: rdev_set_txq_params
+ID: 1397
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:enum nl80211_ac ac;	offset:60;	size:4;	signed:0;
+	field:u16 txop;	offset:64;	size:2;	signed:0;
+	field:u16 cwmin;	offset:66;	size:2;	signed:0;
+	field:u16 cwmax;	offset:68;	size:2;	signed:0;
+	field:u8 aifs;	offset:70;	size:1;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), ac: %d, txop: %u, cwmin: %u, cwmax: %u, aifs: %u", REC->wiphy_name, REC->name, REC->ifindex, REC->ac, REC->txop, REC->cwmin, REC->cwmax, REC->aifs
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_wakeup/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_wakeup/format
new file mode 100644
index 0000000..2579cbf
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_wakeup/format
@@ -0,0 +1,12 @@
+name: rdev_set_wakeup
+ID: 1398
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:bool enabled;	offset:40;	size:1;	signed:0;
+
+print fmt: "%s, %senabled ", REC->wiphy_name, REC->enabled ? "" : "not "
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_wds_peer/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_wds_peer/format
new file mode 100644
index 0000000..31e471d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_wds_peer/format
@@ -0,0 +1,14 @@
+name: rdev_set_wds_peer
+ID: 1399
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 sta_mac[6];	offset:60;	size:6;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), mac: %pM", REC->wiphy_name, REC->name, REC->ifindex, (REC->sta_mac)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_wiphy_params/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_wiphy_params/format
new file mode 100644
index 0000000..67b212e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_set_wiphy_params/format
@@ -0,0 +1,12 @@
+name: rdev_set_wiphy_params
+ID: 1400
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 changed;	offset:40;	size:4;	signed:0;
+
+print fmt: "%s, changed: %u", REC->wiphy_name, REC->changed
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_start_ap/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_start_ap/format
new file mode 100644
index 0000000..f025f26
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_start_ap/format
@@ -0,0 +1,28 @@
+name: rdev_start_ap
+ID: 1401
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:enum nl80211_band band;	offset:60;	size:4;	signed:0;
+	field:u32 control_freq;	offset:64;	size:4;	signed:0;
+	field:u32 freq_offset;	offset:68;	size:4;	signed:0;
+	field:u32 width;	offset:72;	size:4;	signed:0;
+	field:u32 center_freq1;	offset:76;	size:4;	signed:0;
+	field:u32 freq1_offset;	offset:80;	size:4;	signed:0;
+	field:u32 center_freq2;	offset:84;	size:4;	signed:0;
+	field:int beacon_interval;	offset:88;	size:4;	signed:1;
+	field:int dtim_period;	offset:92;	size:4;	signed:1;
+	field:char ssid[32 + 1];	offset:96;	size:33;	signed:0;
+	field:enum nl80211_hidden_ssid hidden_ssid;	offset:132;	size:4;	signed:0;
+	field:u32 wpa_ver;	offset:136;	size:4;	signed:0;
+	field:bool privacy;	offset:140;	size:1;	signed:0;
+	field:enum nl80211_auth_type auth_type;	offset:144;	size:4;	signed:0;
+	field:int inactivity_timeout;	offset:148;	size:4;	signed:1;
+
+print fmt: "%s, netdev:%s(%d), AP settings - ssid: %s, band: %d, control freq: %u.%03u, width: %d, cf1: %u.%03u, cf2: %u, beacon interval: %d, dtim period: %d, hidden ssid: %d, wpa versions: %u, privacy: %s, auth type: %d, inactivity timeout: %d", REC->wiphy_name, REC->name, REC->ifindex, REC->ssid, REC->band, REC->control_freq, REC->freq_offset, REC->width, REC->center_freq1, REC->freq1_offset, REC->center_freq2, REC->beacon_interval, REC->dtim_period, REC->hidden_ssid, REC->wpa_ver, (REC->privacy) ? "true" : "false", REC->auth_type, REC->inactivity_timeout
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_start_nan/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_start_nan/format
new file mode 100644
index 0000000..812adb0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_start_nan/format
@@ -0,0 +1,14 @@
+name: rdev_start_nan
+ID: 1402
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 id;	offset:40;	size:4;	signed:0;
+	field:u8 master_pref;	offset:44;	size:1;	signed:0;
+	field:u8 bands;	offset:45;	size:1;	signed:0;
+
+print fmt: "%s, wdev(%u), master preference: %u, bands: 0x%0x", REC->wiphy_name, (REC->id), REC->master_pref, REC->bands
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_start_p2p_device/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_start_p2p_device/format
new file mode 100644
index 0000000..2a2cbee
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_start_p2p_device/format
@@ -0,0 +1,12 @@
+name: rdev_start_p2p_device
+ID: 1403
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 id;	offset:40;	size:4;	signed:0;
+
+print fmt: "%s, wdev(%u)", REC->wiphy_name, (REC->id)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_start_pmsr/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_start_pmsr/format
new file mode 100644
index 0000000..82c04b6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_start_pmsr/format
@@ -0,0 +1,13 @@
+name: rdev_start_pmsr
+ID: 1404
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 id;	offset:40;	size:4;	signed:0;
+	field:u64 cookie;	offset:48;	size:8;	signed:0;
+
+print fmt: "%s, wdev(%u), cookie: %lld", REC->wiphy_name, (REC->id), (unsigned long long)REC->cookie
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_start_radar_detection/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_start_radar_detection/format
new file mode 100644
index 0000000..6993dd1
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_start_radar_detection/format
@@ -0,0 +1,21 @@
+name: rdev_start_radar_detection
+ID: 1405
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:enum nl80211_band band;	offset:60;	size:4;	signed:0;
+	field:u32 control_freq;	offset:64;	size:4;	signed:0;
+	field:u32 freq_offset;	offset:68;	size:4;	signed:0;
+	field:u32 width;	offset:72;	size:4;	signed:0;
+	field:u32 center_freq1;	offset:76;	size:4;	signed:0;
+	field:u32 freq1_offset;	offset:80;	size:4;	signed:0;
+	field:u32 center_freq2;	offset:84;	size:4;	signed:0;
+	field:u32 cac_time_ms;	offset:88;	size:4;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), band: %d, control freq: %u.%03u, width: %d, cf1: %u.%03u, cf2: %u, cac_time_ms=%u", REC->wiphy_name, REC->name, REC->ifindex, REC->band, REC->control_freq, REC->freq_offset, REC->width, REC->center_freq1, REC->freq1_offset, REC->center_freq2, REC->cac_time_ms
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_stop_ap/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_stop_ap/format
new file mode 100644
index 0000000..0a37c0c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_stop_ap/format
@@ -0,0 +1,13 @@
+name: rdev_stop_ap
+ID: 1406
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+
+print fmt: "%s, netdev:%s(%d)", REC->wiphy_name, REC->name, REC->ifindex
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_stop_nan/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_stop_nan/format
new file mode 100644
index 0000000..fe07585
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_stop_nan/format
@@ -0,0 +1,12 @@
+name: rdev_stop_nan
+ID: 1407
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 id;	offset:40;	size:4;	signed:0;
+
+print fmt: "%s, wdev(%u)", REC->wiphy_name, (REC->id)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_stop_p2p_device/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_stop_p2p_device/format
new file mode 100644
index 0000000..63ed3ee
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_stop_p2p_device/format
@@ -0,0 +1,12 @@
+name: rdev_stop_p2p_device
+ID: 1408
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 id;	offset:40;	size:4;	signed:0;
+
+print fmt: "%s, wdev(%u)", REC->wiphy_name, (REC->id)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_suspend/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_suspend/format
new file mode 100644
index 0000000..5872fd3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_suspend/format
@@ -0,0 +1,19 @@
+name: rdev_suspend
+ID: 1409
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:bool any;	offset:40;	size:1;	signed:0;
+	field:bool disconnect;	offset:41;	size:1;	signed:0;
+	field:bool magic_pkt;	offset:42;	size:1;	signed:0;
+	field:bool gtk_rekey_failure;	offset:43;	size:1;	signed:0;
+	field:bool eap_identity_req;	offset:44;	size:1;	signed:0;
+	field:bool four_way_handshake;	offset:45;	size:1;	signed:0;
+	field:bool rfkill_release;	offset:46;	size:1;	signed:0;
+	field:bool valid_wow;	offset:47;	size:1;	signed:0;
+
+print fmt: "%s, wow%s - any: %d, disconnect: %d, magic pkt: %d, gtk rekey failure: %d, eap identify req: %d, four way handshake: %d, rfkill release: %d.", REC->wiphy_name, REC->valid_wow ? "" : "(Not configured!)", REC->any, REC->disconnect, REC->magic_pkt, REC->gtk_rekey_failure, REC->eap_identity_req, REC->four_way_handshake, REC->rfkill_release
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_tdls_cancel_channel_switch/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_tdls_cancel_channel_switch/format
new file mode 100644
index 0000000..1676803
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_tdls_cancel_channel_switch/format
@@ -0,0 +1,14 @@
+name: rdev_tdls_cancel_channel_switch
+ID: 1410
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 addr[6];	offset:60;	size:6;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), %pM", REC->wiphy_name, REC->name, REC->ifindex, (REC->addr)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_tdls_channel_switch/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_tdls_channel_switch/format
new file mode 100644
index 0000000..d46b2ae
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_tdls_channel_switch/format
@@ -0,0 +1,22 @@
+name: rdev_tdls_channel_switch
+ID: 1411
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 addr[6];	offset:60;	size:6;	signed:0;
+	field:u8 oper_class;	offset:66;	size:1;	signed:0;
+	field:enum nl80211_band band;	offset:68;	size:4;	signed:0;
+	field:u32 control_freq;	offset:72;	size:4;	signed:0;
+	field:u32 freq_offset;	offset:76;	size:4;	signed:0;
+	field:u32 width;	offset:80;	size:4;	signed:0;
+	field:u32 center_freq1;	offset:84;	size:4;	signed:0;
+	field:u32 freq1_offset;	offset:88;	size:4;	signed:0;
+	field:u32 center_freq2;	offset:92;	size:4;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), %pM oper class %d, band: %d, control freq: %u.%03u, width: %d, cf1: %u.%03u, cf2: %u", REC->wiphy_name, REC->name, REC->ifindex, (REC->addr), REC->oper_class, REC->band, REC->control_freq, REC->freq_offset, REC->width, REC->center_freq1, REC->freq1_offset, REC->center_freq2
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_tdls_mgmt/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_tdls_mgmt/format
new file mode 100644
index 0000000..5304bc3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_tdls_mgmt/format
@@ -0,0 +1,20 @@
+name: rdev_tdls_mgmt
+ID: 1412
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 peer[6];	offset:60;	size:6;	signed:0;
+	field:u8 action_code;	offset:66;	size:1;	signed:0;
+	field:u8 dialog_token;	offset:67;	size:1;	signed:0;
+	field:u16 status_code;	offset:68;	size:2;	signed:0;
+	field:u32 peer_capability;	offset:72;	size:4;	signed:0;
+	field:bool initiator;	offset:76;	size:1;	signed:0;
+	field:__data_loc u8[] buf;	offset:80;	size:4;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), %pM, action_code: %u, dialog_token: %u, status_code: %u, peer_capability: %u initiator: %s buf: %#.2x ", REC->wiphy_name, REC->name, REC->ifindex, (REC->peer), REC->action_code, REC->dialog_token, REC->status_code, REC->peer_capability, (REC->initiator) ? "true" : "false", ((u8 *)__get_dynamic_array(buf))[0]
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_tdls_oper/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_tdls_oper/format
new file mode 100644
index 0000000..60ae2e9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_tdls_oper/format
@@ -0,0 +1,15 @@
+name: rdev_tdls_oper
+ID: 1413
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 peer[6];	offset:60;	size:6;	signed:0;
+	field:enum nl80211_tdls_operation oper;	offset:68;	size:4;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), %pM, oper: %d", REC->wiphy_name, REC->name, REC->ifindex, (REC->peer), REC->oper
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_testmode_cmd/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_testmode_cmd/format
new file mode 100644
index 0000000..7960a67
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_testmode_cmd/format
@@ -0,0 +1,12 @@
+name: rdev_testmode_cmd
+ID: 1414
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 id;	offset:40;	size:4;	signed:0;
+
+print fmt: "%swdev(%u)", REC->wiphy_name, (REC->id)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_testmode_dump/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_testmode_dump/format
new file mode 100644
index 0000000..38f4819
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_testmode_dump/format
@@ -0,0 +1,11 @@
+name: rdev_testmode_dump
+ID: 1415
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->wiphy_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_tx_control_port/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_tx_control_port/format
new file mode 100644
index 0000000..511d299
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_tx_control_port/format
@@ -0,0 +1,16 @@
+name: rdev_tx_control_port
+ID: 1416
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 dest[6];	offset:60;	size:6;	signed:0;
+	field:__be16 proto;	offset:66;	size:2;	signed:0;
+	field:bool unencrypted;	offset:68;	size:1;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), %pM, proto: 0x%x, unencrypted: %s", REC->wiphy_name, REC->name, REC->ifindex, (REC->dest), (__builtin_constant_p((__u16)(( __u16)(__be16)(REC->proto))) ? ((__u16)( (((__u16)(( __u16)(__be16)(REC->proto)) & (__u16)0x00ffU) << 8) | (((__u16)(( __u16)(__be16)(REC->proto)) & (__u16)0xff00U) >> 8))) : __fswab16(( __u16)(__be16)(REC->proto))), (REC->unencrypted) ? "true" : "false"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_update_connect_params/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_update_connect_params/format
new file mode 100644
index 0000000..58ca80a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_update_connect_params/format
@@ -0,0 +1,14 @@
+name: rdev_update_connect_params
+ID: 1417
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u32 changed;	offset:60;	size:4;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), parameters changed: %u", REC->wiphy_name, REC->name, REC->ifindex, REC->changed
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_update_ft_ies/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_update_ft_ies/format
new file mode 100644
index 0000000..c9cf6c9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_update_ft_ies/format
@@ -0,0 +1,15 @@
+name: rdev_update_ft_ies
+ID: 1418
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u16 md;	offset:60;	size:2;	signed:0;
+	field:__data_loc u8[] ie;	offset:64;	size:4;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), md: 0x%x", REC->wiphy_name, REC->name, REC->ifindex, REC->md
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_update_mesh_config/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_update_mesh_config/format
new file mode 100644
index 0000000..bb31958
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_update_mesh_config/format
@@ -0,0 +1,40 @@
+name: rdev_update_mesh_config
+ID: 1419
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u16 dot11MeshRetryTimeout;	offset:60;	size:2;	signed:0;
+	field:u16 dot11MeshConfirmTimeout;	offset:62;	size:2;	signed:0;
+	field:u16 dot11MeshHoldingTimeout;	offset:64;	size:2;	signed:0;
+	field:u16 dot11MeshMaxPeerLinks;	offset:66;	size:2;	signed:0;
+	field:u8 dot11MeshMaxRetries;	offset:68;	size:1;	signed:0;
+	field:u8 dot11MeshTTL;	offset:69;	size:1;	signed:0;
+	field:u8 element_ttl;	offset:70;	size:1;	signed:0;
+	field:bool auto_open_plinks;	offset:71;	size:1;	signed:0;
+	field:u32 dot11MeshNbrOffsetMaxNeighbor;	offset:72;	size:4;	signed:0;
+	field:u8 dot11MeshHWMPmaxPREQretries;	offset:76;	size:1;	signed:0;
+	field:u32 path_refresh_time;	offset:80;	size:4;	signed:0;
+	field:u32 dot11MeshHWMPactivePathTimeout;	offset:84;	size:4;	signed:0;
+	field:u16 min_discovery_timeout;	offset:88;	size:2;	signed:0;
+	field:u16 dot11MeshHWMPpreqMinInterval;	offset:90;	size:2;	signed:0;
+	field:u16 dot11MeshHWMPperrMinInterval;	offset:92;	size:2;	signed:0;
+	field:u16 dot11MeshHWMPnetDiameterTraversalTime;	offset:94;	size:2;	signed:0;
+	field:u8 dot11MeshHWMPRootMode;	offset:96;	size:1;	signed:0;
+	field:u16 dot11MeshHWMPRannInterval;	offset:98;	size:2;	signed:0;
+	field:bool dot11MeshGateAnnouncementProtocol;	offset:100;	size:1;	signed:0;
+	field:bool dot11MeshForwarding;	offset:101;	size:1;	signed:0;
+	field:s32 rssi_threshold;	offset:104;	size:4;	signed:1;
+	field:u16 ht_opmode;	offset:108;	size:2;	signed:0;
+	field:u32 dot11MeshHWMPactivePathToRootTimeout;	offset:112;	size:4;	signed:0;
+	field:u16 dot11MeshHWMProotInterval;	offset:116;	size:2;	signed:0;
+	field:u16 dot11MeshHWMPconfirmationInterval;	offset:118;	size:2;	signed:0;
+	field:bool dot11MeshNolearn;	offset:120;	size:1;	signed:0;
+	field:u32 mask;	offset:124;	size:4;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), mask: %u", REC->wiphy_name, REC->name, REC->ifindex, REC->mask
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_update_mgmt_frame_registrations/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_update_mgmt_frame_registrations/format
new file mode 100644
index 0000000..3b37fe7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_update_mgmt_frame_registrations/format
@@ -0,0 +1,14 @@
+name: rdev_update_mgmt_frame_registrations
+ID: 1420
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 id;	offset:40;	size:4;	signed:0;
+	field:u16 global_stypes;	offset:44;	size:2;	signed:0;
+	field:u16 interface_stypes;	offset:46;	size:2;	signed:0;
+
+print fmt: "%s, wdev(%u), global: 0x%.2x, intf: 0x%.2x", REC->wiphy_name, (REC->id), REC->global_stypes, REC->interface_stypes
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_update_owe_info/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_update_owe_info/format
new file mode 100644
index 0000000..c5c0faa
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg80211/rdev_update_owe_info/format
@@ -0,0 +1,16 @@
+name: rdev_update_owe_info
+ID: 1421
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char name[16];	offset:40;	size:16;	signed:0;
+	field:int ifindex;	offset:56;	size:4;	signed:1;
+	field:u8 peer[6];	offset:60;	size:6;	signed:0;
+	field:u16 status;	offset:66;	size:2;	signed:0;
+	field:__data_loc u8[] ie;	offset:68;	size:4;	signed:0;
+
+print fmt: "%s, netdev:%s(%d), peer: %pM status %d", REC->wiphy_name, REC->name, REC->ifindex, (REC->peer), REC->status
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_add_virtual_intf/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_add_virtual_intf/format
new file mode 100644
index 0000000..fb70676
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_add_virtual_intf/format
@@ -0,0 +1,14 @@
+name: 802154_rdev_add_virtual_intf
+ID: 1023
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+	field:__data_loc char[] vir_intf_name;	offset:40;	size:4;	signed:0;
+	field:enum nl802154_iftype type;	offset:44;	size:4;	signed:1;
+	field:__le64 extended_addr;	offset:48;	size:8;	signed:0;
+
+print fmt: "%s, virtual intf name: %s, type: %d, extended addr: 0x%llx", REC->wpan_phy_name, __get_str(vir_intf_name), REC->type, (( __u64)(__le64)(REC->extended_addr))
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_del_virtual_intf/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_del_virtual_intf/format
new file mode 100644
index 0000000..b4b0008
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_del_virtual_intf/format
@@ -0,0 +1,12 @@
+name: 802154_rdev_del_virtual_intf
+ID: 1024
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 identifier;	offset:40;	size:4;	signed:0;
+
+print fmt: "%s, wpan_dev(%u)", REC->wpan_phy_name, (REC->identifier)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_resume/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_resume/format
new file mode 100644
index 0000000..7f70eee
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_resume/format
@@ -0,0 +1,11 @@
+name: 802154_rdev_resume
+ID: 1025
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->wpan_phy_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_return_int/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_return_int/format
new file mode 100644
index 0000000..ed9d48d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_return_int/format
@@ -0,0 +1,12 @@
+name: 802154_rdev_return_int
+ID: 1026
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+	field:int ret;	offset:40;	size:4;	signed:1;
+
+print fmt: "%s, returned: %d", REC->wpan_phy_name, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_ackreq_default/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_ackreq_default/format
new file mode 100644
index 0000000..f27e52e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_ackreq_default/format
@@ -0,0 +1,13 @@
+name: 802154_rdev_set_ackreq_default
+ID: 1027
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 identifier;	offset:40;	size:4;	signed:0;
+	field:bool ackreq;	offset:44;	size:1;	signed:0;
+
+print fmt: "%s, wpan_dev(%u), ackreq default: %s", REC->wpan_phy_name, (REC->identifier), (REC->ackreq) ? "true" : "false"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_backoff_exponent/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_backoff_exponent/format
new file mode 100644
index 0000000..3637c59
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_backoff_exponent/format
@@ -0,0 +1,14 @@
+name: 802154_rdev_set_backoff_exponent
+ID: 1028
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 identifier;	offset:40;	size:4;	signed:0;
+	field:u8 min_be;	offset:44;	size:1;	signed:0;
+	field:u8 max_be;	offset:45;	size:1;	signed:0;
+
+print fmt: "%s, wpan_dev(%u), min be: %d, max be: %d", REC->wpan_phy_name, (REC->identifier), REC->min_be, REC->max_be
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_cca_ed_level/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_cca_ed_level/format
new file mode 100644
index 0000000..37a9e3e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_cca_ed_level/format
@@ -0,0 +1,12 @@
+name: 802154_rdev_set_cca_ed_level
+ID: 1029
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+	field:s32 ed_level;	offset:40;	size:4;	signed:1;
+
+print fmt: "%s, ed level: %d", REC->wpan_phy_name, REC->ed_level
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_cca_mode/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_cca_mode/format
new file mode 100644
index 0000000..8d1e799
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_cca_mode/format
@@ -0,0 +1,13 @@
+name: 802154_rdev_set_cca_mode
+ID: 1030
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl802154_cca_modes cca_mode;	offset:40;	size:4;	signed:0;
+	field:enum nl802154_cca_opts cca_opt;	offset:44;	size:4;	signed:0;
+
+print fmt: "%s, cca_mode: %d, cca_opt: %d", REC->wpan_phy_name, REC->cca_mode, REC->cca_opt
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_channel/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_channel/format
new file mode 100644
index 0000000..2e9854e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_channel/format
@@ -0,0 +1,13 @@
+name: 802154_rdev_set_channel
+ID: 1031
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+	field:u8 page;	offset:40;	size:1;	signed:0;
+	field:u8 channel;	offset:41;	size:1;	signed:0;
+
+print fmt: "%s, page: %d, channel: %d", REC->wpan_phy_name, REC->page, REC->channel
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_csma_backoffs/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_csma_backoffs/format
new file mode 100644
index 0000000..96a5d0b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_csma_backoffs/format
@@ -0,0 +1,13 @@
+name: 802154_rdev_set_csma_backoffs
+ID: 1032
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 identifier;	offset:40;	size:4;	signed:0;
+	field:u8 max_csma_backoffs;	offset:44;	size:1;	signed:0;
+
+print fmt: "%s, wpan_dev(%u), max csma backoffs: %d", REC->wpan_phy_name, (REC->identifier), REC->max_csma_backoffs
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_lbt_mode/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_lbt_mode/format
new file mode 100644
index 0000000..0d1cf18
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_lbt_mode/format
@@ -0,0 +1,13 @@
+name: 802154_rdev_set_lbt_mode
+ID: 1033
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 identifier;	offset:40;	size:4;	signed:0;
+	field:bool mode;	offset:44;	size:1;	signed:0;
+
+print fmt: "%s, wpan_dev(%u), lbt mode: %s", REC->wpan_phy_name, (REC->identifier), (REC->mode) ? "true" : "false"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_max_frame_retries/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_max_frame_retries/format
new file mode 100644
index 0000000..187b1d6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_max_frame_retries/format
@@ -0,0 +1,13 @@
+name: 802154_rdev_set_max_frame_retries
+ID: 1034
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 identifier;	offset:40;	size:4;	signed:0;
+	field:s8 max_frame_retries;	offset:44;	size:1;	signed:1;
+
+print fmt: "%s, wpan_dev(%u), max frame retries: %d", REC->wpan_phy_name, (REC->identifier), REC->max_frame_retries
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_pan_id/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_pan_id/format
new file mode 100644
index 0000000..9cac8ab
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_pan_id/format
@@ -0,0 +1,13 @@
+name: 802154_rdev_set_pan_id
+ID: 1035
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 identifier;	offset:40;	size:4;	signed:0;
+	field:__le16 le16arg;	offset:44;	size:2;	signed:0;
+
+print fmt: "%s, wpan_dev(%u), pan id: 0x%04x", REC->wpan_phy_name, (REC->identifier), (( __u16)(__le16)(REC->le16arg))
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_short_addr/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_short_addr/format
new file mode 100644
index 0000000..d723e5b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_short_addr/format
@@ -0,0 +1,13 @@
+name: 802154_rdev_set_short_addr
+ID: 1036
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 identifier;	offset:40;	size:4;	signed:0;
+	field:__le16 le16arg;	offset:44;	size:2;	signed:0;
+
+print fmt: "%s, wpan_dev(%u), short addr: 0x%04x", REC->wpan_phy_name, (REC->identifier), (( __u16)(__le16)(REC->le16arg))
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_tx_power/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_tx_power/format
new file mode 100644
index 0000000..be804fc
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_set_tx_power/format
@@ -0,0 +1,12 @@
+name: 802154_rdev_set_tx_power
+ID: 1037
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+	field:s32 power;	offset:40;	size:4;	signed:1;
+
+print fmt: "%s, mbm: %d", REC->wpan_phy_name, REC->power
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_suspend/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_suspend/format
new file mode 100644
index 0000000..0503e9b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cfg802154/802154_rdev_suspend/format
@@ -0,0 +1,11 @@
+name: 802154_rdev_suspend
+ID: 1038
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->wpan_phy_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_attach_task/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_attach_task/format
new file mode 100644
index 0000000..918f93a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_attach_task/format
@@ -0,0 +1,16 @@
+name: cgroup_attach_task
+ID: 155
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int dst_root;	offset:8;	size:4;	signed:1;
+	field:int dst_id;	offset:12;	size:4;	signed:1;
+	field:int dst_level;	offset:16;	size:4;	signed:1;
+	field:int pid;	offset:20;	size:4;	signed:1;
+	field:__data_loc char[] dst_path;	offset:24;	size:4;	signed:0;
+	field:__data_loc char[] comm;	offset:28;	size:4;	signed:0;
+
+print fmt: "dst_root=%d dst_id=%d dst_level=%d dst_path=%s pid=%d comm=%s", REC->dst_root, REC->dst_id, REC->dst_level, __get_str(dst_path), REC->pid, __get_str(comm)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_destroy_root/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_destroy_root/format
new file mode 100644
index 0000000..a1b50cb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_destroy_root/format
@@ -0,0 +1,13 @@
+name: cgroup_destroy_root
+ID: 156
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int root;	offset:8;	size:4;	signed:1;
+	field:u16 ss_mask;	offset:12;	size:2;	signed:0;
+	field:__data_loc char[] name;	offset:16;	size:4;	signed:0;
+
+print fmt: "root=%d ss_mask=%#x name=%s", REC->root, REC->ss_mask, __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_freeze/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_freeze/format
new file mode 100644
index 0000000..3700e28
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_freeze/format
@@ -0,0 +1,14 @@
+name: cgroup_freeze
+ID: 157
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int root;	offset:8;	size:4;	signed:1;
+	field:int id;	offset:12;	size:4;	signed:1;
+	field:int level;	offset:16;	size:4;	signed:1;
+	field:__data_loc char[] path;	offset:20;	size:4;	signed:0;
+
+print fmt: "root=%d id=%d level=%d path=%s", REC->root, REC->id, REC->level, __get_str(path)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_mkdir/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_mkdir/format
new file mode 100644
index 0000000..868ec20
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_mkdir/format
@@ -0,0 +1,14 @@
+name: cgroup_mkdir
+ID: 158
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int root;	offset:8;	size:4;	signed:1;
+	field:int id;	offset:12;	size:4;	signed:1;
+	field:int level;	offset:16;	size:4;	signed:1;
+	field:__data_loc char[] path;	offset:20;	size:4;	signed:0;
+
+print fmt: "root=%d id=%d level=%d path=%s", REC->root, REC->id, REC->level, __get_str(path)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_notify_frozen/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_notify_frozen/format
new file mode 100644
index 0000000..ddc1017
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_notify_frozen/format
@@ -0,0 +1,15 @@
+name: cgroup_notify_frozen
+ID: 159
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int root;	offset:8;	size:4;	signed:1;
+	field:int id;	offset:12;	size:4;	signed:1;
+	field:int level;	offset:16;	size:4;	signed:1;
+	field:__data_loc char[] path;	offset:20;	size:4;	signed:0;
+	field:int val;	offset:24;	size:4;	signed:1;
+
+print fmt: "root=%d id=%d level=%d path=%s val=%d", REC->root, REC->id, REC->level, __get_str(path), REC->val
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_notify_populated/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_notify_populated/format
new file mode 100644
index 0000000..7121279
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_notify_populated/format
@@ -0,0 +1,15 @@
+name: cgroup_notify_populated
+ID: 160
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int root;	offset:8;	size:4;	signed:1;
+	field:int id;	offset:12;	size:4;	signed:1;
+	field:int level;	offset:16;	size:4;	signed:1;
+	field:__data_loc char[] path;	offset:20;	size:4;	signed:0;
+	field:int val;	offset:24;	size:4;	signed:1;
+
+print fmt: "root=%d id=%d level=%d path=%s val=%d", REC->root, REC->id, REC->level, __get_str(path), REC->val
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_release/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_release/format
new file mode 100644
index 0000000..d18234e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_release/format
@@ -0,0 +1,14 @@
+name: cgroup_release
+ID: 161
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int root;	offset:8;	size:4;	signed:1;
+	field:int id;	offset:12;	size:4;	signed:1;
+	field:int level;	offset:16;	size:4;	signed:1;
+	field:__data_loc char[] path;	offset:20;	size:4;	signed:0;
+
+print fmt: "root=%d id=%d level=%d path=%s", REC->root, REC->id, REC->level, __get_str(path)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_remount/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_remount/format
new file mode 100644
index 0000000..90c5c56
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_remount/format
@@ -0,0 +1,13 @@
+name: cgroup_remount
+ID: 162
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int root;	offset:8;	size:4;	signed:1;
+	field:u16 ss_mask;	offset:12;	size:2;	signed:0;
+	field:__data_loc char[] name;	offset:16;	size:4;	signed:0;
+
+print fmt: "root=%d ss_mask=%#x name=%s", REC->root, REC->ss_mask, __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_rename/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_rename/format
new file mode 100644
index 0000000..7cb4a62
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_rename/format
@@ -0,0 +1,14 @@
+name: cgroup_rename
+ID: 163
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int root;	offset:8;	size:4;	signed:1;
+	field:int id;	offset:12;	size:4;	signed:1;
+	field:int level;	offset:16;	size:4;	signed:1;
+	field:__data_loc char[] path;	offset:20;	size:4;	signed:0;
+
+print fmt: "root=%d id=%d level=%d path=%s", REC->root, REC->id, REC->level, __get_str(path)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_rmdir/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_rmdir/format
new file mode 100644
index 0000000..87e01ed
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_rmdir/format
@@ -0,0 +1,14 @@
+name: cgroup_rmdir
+ID: 164
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int root;	offset:8;	size:4;	signed:1;
+	field:int id;	offset:12;	size:4;	signed:1;
+	field:int level;	offset:16;	size:4;	signed:1;
+	field:__data_loc char[] path;	offset:20;	size:4;	signed:0;
+
+print fmt: "root=%d id=%d level=%d path=%s", REC->root, REC->id, REC->level, __get_str(path)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_setup_root/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_setup_root/format
new file mode 100644
index 0000000..bd34e72
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_setup_root/format
@@ -0,0 +1,13 @@
+name: cgroup_setup_root
+ID: 165
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int root;	offset:8;	size:4;	signed:1;
+	field:u16 ss_mask;	offset:12;	size:2;	signed:0;
+	field:__data_loc char[] name;	offset:16;	size:4;	signed:0;
+
+print fmt: "root=%d ss_mask=%#x name=%s", REC->root, REC->ss_mask, __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_transfer_tasks/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_transfer_tasks/format
new file mode 100644
index 0000000..631dba9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_transfer_tasks/format
@@ -0,0 +1,16 @@
+name: cgroup_transfer_tasks
+ID: 166
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int dst_root;	offset:8;	size:4;	signed:1;
+	field:int dst_id;	offset:12;	size:4;	signed:1;
+	field:int dst_level;	offset:16;	size:4;	signed:1;
+	field:int pid;	offset:20;	size:4;	signed:1;
+	field:__data_loc char[] dst_path;	offset:24;	size:4;	signed:0;
+	field:__data_loc char[] comm;	offset:28;	size:4;	signed:0;
+
+print fmt: "dst_root=%d dst_id=%d dst_level=%d dst_path=%s pid=%d comm=%s", REC->dst_root, REC->dst_id, REC->dst_level, __get_str(dst_path), REC->pid, __get_str(comm)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_unfreeze/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_unfreeze/format
new file mode 100644
index 0000000..c594bd4
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cgroup/cgroup_unfreeze/format
@@ -0,0 +1,14 @@
+name: cgroup_unfreeze
+ID: 167
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int root;	offset:8;	size:4;	signed:1;
+	field:int id;	offset:12;	size:4;	signed:1;
+	field:int level;	offset:16;	size:4;	signed:1;
+	field:__data_loc char[] path;	offset:20;	size:4;	signed:0;
+
+print fmt: "root=%d id=%d level=%d path=%s", REC->root, REC->id, REC->level, __get_str(path)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_disable/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_disable/format
new file mode 100644
index 0000000..41aad01
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_disable/format
@@ -0,0 +1,11 @@
+name: clk_disable
+ID: 617
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+
+print fmt: "%s", __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_disable_complete/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_disable_complete/format
new file mode 100644
index 0000000..842bfaf
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_disable_complete/format
@@ -0,0 +1,11 @@
+name: clk_disable_complete
+ID: 618
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+
+print fmt: "%s", __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_enable/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_enable/format
new file mode 100644
index 0000000..0c462bd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_enable/format
@@ -0,0 +1,11 @@
+name: clk_enable
+ID: 619
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+
+print fmt: "%s", __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_enable_complete/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_enable_complete/format
new file mode 100644
index 0000000..c7743b6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_enable_complete/format
@@ -0,0 +1,11 @@
+name: clk_enable_complete
+ID: 620
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+
+print fmt: "%s", __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_prepare/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_prepare/format
new file mode 100644
index 0000000..5b4c28b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_prepare/format
@@ -0,0 +1,11 @@
+name: clk_prepare
+ID: 621
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+
+print fmt: "%s", __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_prepare_complete/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_prepare_complete/format
new file mode 100644
index 0000000..374a723
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_prepare_complete/format
@@ -0,0 +1,11 @@
+name: clk_prepare_complete
+ID: 622
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+
+print fmt: "%s", __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_set_duty_cycle/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_set_duty_cycle/format
new file mode 100644
index 0000000..334cbc6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_set_duty_cycle/format
@@ -0,0 +1,13 @@
+name: clk_set_duty_cycle
+ID: 623
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned int num;	offset:12;	size:4;	signed:0;
+	field:unsigned int den;	offset:16;	size:4;	signed:0;
+
+print fmt: "%s %u/%u", __get_str(name), (unsigned int)REC->num, (unsigned int)REC->den
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_set_duty_cycle_complete/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_set_duty_cycle_complete/format
new file mode 100644
index 0000000..c3906ab
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_set_duty_cycle_complete/format
@@ -0,0 +1,13 @@
+name: clk_set_duty_cycle_complete
+ID: 624
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned int num;	offset:12;	size:4;	signed:0;
+	field:unsigned int den;	offset:16;	size:4;	signed:0;
+
+print fmt: "%s %u/%u", __get_str(name), (unsigned int)REC->num, (unsigned int)REC->den
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_set_parent/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_set_parent/format
new file mode 100644
index 0000000..2c35de7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_set_parent/format
@@ -0,0 +1,12 @@
+name: clk_set_parent
+ID: 625
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] pname;	offset:12;	size:4;	signed:0;
+
+print fmt: "%s %s", __get_str(name), __get_str(pname)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_set_parent_complete/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_set_parent_complete/format
new file mode 100644
index 0000000..fb3bf71
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_set_parent_complete/format
@@ -0,0 +1,12 @@
+name: clk_set_parent_complete
+ID: 626
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] pname;	offset:12;	size:4;	signed:0;
+
+print fmt: "%s %s", __get_str(name), __get_str(pname)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_set_phase/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_set_phase/format
new file mode 100644
index 0000000..a02dec0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_set_phase/format
@@ -0,0 +1,12 @@
+name: clk_set_phase
+ID: 627
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:int phase;	offset:12;	size:4;	signed:1;
+
+print fmt: "%s %d", __get_str(name), (int)REC->phase
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_set_phase_complete/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_set_phase_complete/format
new file mode 100644
index 0000000..dc6ef25
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_set_phase_complete/format
@@ -0,0 +1,12 @@
+name: clk_set_phase_complete
+ID: 628
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:int phase;	offset:12;	size:4;	signed:1;
+
+print fmt: "%s %d", __get_str(name), (int)REC->phase
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_set_rate/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_set_rate/format
new file mode 100644
index 0000000..5e5bc7c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_set_rate/format
@@ -0,0 +1,12 @@
+name: clk_set_rate
+ID: 629
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned long rate;	offset:16;	size:8;	signed:0;
+
+print fmt: "%s %lu", __get_str(name), (unsigned long)REC->rate
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_set_rate_complete/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_set_rate_complete/format
new file mode 100644
index 0000000..5a7eac2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_set_rate_complete/format
@@ -0,0 +1,12 @@
+name: clk_set_rate_complete
+ID: 630
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned long rate;	offset:16;	size:8;	signed:0;
+
+print fmt: "%s %lu", __get_str(name), (unsigned long)REC->rate
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_unprepare/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_unprepare/format
new file mode 100644
index 0000000..3c5d4e2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_unprepare/format
@@ -0,0 +1,11 @@
+name: clk_unprepare
+ID: 631
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+
+print fmt: "%s", __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_unprepare_complete/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_unprepare_complete/format
new file mode 100644
index 0000000..402d81a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/clk/clk_unprepare_complete/format
@@ -0,0 +1,11 @@
+name: clk_unprepare_complete
+ID: 632
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+
+print fmt: "%s", __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cma/cma_alloc_busy_retry/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cma/cma_alloc_busy_retry/format
new file mode 100644
index 0000000..3bb853b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cma/cma_alloc_busy_retry/format
@@ -0,0 +1,15 @@
+name: cma_alloc_busy_retry
+ID: 290
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned long pfn;	offset:16;	size:8;	signed:0;
+	field:const struct page * page;	offset:24;	size:8;	signed:0;
+	field:unsigned int count;	offset:32;	size:4;	signed:0;
+	field:unsigned int align;	offset:36;	size:4;	signed:0;
+
+print fmt: "name=%s pfn=%lx page=%p count=%u align=%u", __get_str(name), REC->pfn, REC->page, REC->count, REC->align
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cma/cma_alloc_finish/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cma/cma_alloc_finish/format
new file mode 100644
index 0000000..e1e66f0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cma/cma_alloc_finish/format
@@ -0,0 +1,15 @@
+name: cma_alloc_finish
+ID: 291
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned long pfn;	offset:16;	size:8;	signed:0;
+	field:const struct page * page;	offset:24;	size:8;	signed:0;
+	field:unsigned int count;	offset:32;	size:4;	signed:0;
+	field:unsigned int align;	offset:36;	size:4;	signed:0;
+
+print fmt: "name=%s pfn=%lx page=%p count=%u align=%u", __get_str(name), REC->pfn, REC->page, REC->count, REC->align
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cma/cma_alloc_info/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cma/cma_alloc_info/format
new file mode 100644
index 0000000..038d756
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cma/cma_alloc_info/format
@@ -0,0 +1,20 @@
+name: cma_alloc_info
+ID: 292
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned long pfn;	offset:16;	size:8;	signed:0;
+	field:unsigned int count;	offset:24;	size:4;	signed:0;
+	field:unsigned int align;	offset:28;	size:4;	signed:0;
+	field:unsigned long nr_migrated;	offset:32;	size:8;	signed:0;
+	field:unsigned long nr_reclaimed;	offset:40;	size:8;	signed:0;
+	field:unsigned long nr_mapped;	offset:48;	size:8;	signed:0;
+	field:unsigned int err_iso;	offset:56;	size:4;	signed:0;
+	field:unsigned int err_mig;	offset:60;	size:4;	signed:0;
+	field:unsigned int err_test;	offset:64;	size:4;	signed:0;
+
+print fmt: "name=%s pfn=0x%lx count=%u align=%u nr_migrated=%lu nr_reclaimed=%lu nr_mapped=%lu err_iso=%u err_mig=%u err_test=%u", __get_str(name), REC->pfn, REC->count, REC->align, REC->nr_migrated, REC->nr_reclaimed, REC->nr_mapped, REC->err_iso, REC->err_mig, REC->err_test
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cma/cma_alloc_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cma/cma_alloc_start/format
new file mode 100644
index 0000000..390f727
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cma/cma_alloc_start/format
@@ -0,0 +1,13 @@
+name: cma_alloc_start
+ID: 293
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned int count;	offset:12;	size:4;	signed:0;
+	field:unsigned int align;	offset:16;	size:4;	signed:0;
+
+print fmt: "name=%s count=%u align=%u", __get_str(name), REC->count, REC->align
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cma/cma_release/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cma/cma_release/format
new file mode 100644
index 0000000..f22d50f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cma/cma_release/format
@@ -0,0 +1,14 @@
+name: cma_release
+ID: 294
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned long pfn;	offset:16;	size:8;	signed:0;
+	field:const struct page * page;	offset:24;	size:8;	signed:0;
+	field:unsigned int count;	offset:32;	size:4;	signed:0;
+
+print fmt: "name=%s pfn=%lx page=%p count=%u", __get_str(name), REC->pfn, REC->page, REC->count
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_begin/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_begin/format
new file mode 100644
index 0000000..1c59963
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_begin/format
@@ -0,0 +1,15 @@
+name: mm_compaction_begin
+ID: 262
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long zone_start;	offset:8;	size:8;	signed:0;
+	field:unsigned long migrate_pfn;	offset:16;	size:8;	signed:0;
+	field:unsigned long free_pfn;	offset:24;	size:8;	signed:0;
+	field:unsigned long zone_end;	offset:32;	size:8;	signed:0;
+	field:bool sync;	offset:40;	size:1;	signed:0;
+
+print fmt: "zone_start=0x%lx migrate_pfn=0x%lx free_pfn=0x%lx zone_end=0x%lx, mode=%s", REC->zone_start, REC->migrate_pfn, REC->free_pfn, REC->zone_end, REC->sync ? "sync" : "async"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_defer_compaction/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_defer_compaction/format
new file mode 100644
index 0000000..689144d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_defer_compaction/format
@@ -0,0 +1,16 @@
+name: mm_compaction_defer_compaction
+ID: 263
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int nid;	offset:8;	size:4;	signed:1;
+	field:enum zone_type idx;	offset:12;	size:4;	signed:0;
+	field:int order;	offset:16;	size:4;	signed:1;
+	field:unsigned int considered;	offset:20;	size:4;	signed:0;
+	field:unsigned int defer_shift;	offset:24;	size:4;	signed:0;
+	field:int order_failed;	offset:28;	size:4;	signed:1;
+
+print fmt: "node=%d zone=%-8s order=%d order_failed=%d consider=%u limit=%lu", REC->nid, __print_symbolic(REC->idx, {0, "DMA32"}, {1, "Normal"}, {2, "Movable"}), REC->order, REC->order_failed, REC->considered, 1UL << REC->defer_shift
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_defer_reset/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_defer_reset/format
new file mode 100644
index 0000000..80e296d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_defer_reset/format
@@ -0,0 +1,16 @@
+name: mm_compaction_defer_reset
+ID: 264
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int nid;	offset:8;	size:4;	signed:1;
+	field:enum zone_type idx;	offset:12;	size:4;	signed:0;
+	field:int order;	offset:16;	size:4;	signed:1;
+	field:unsigned int considered;	offset:20;	size:4;	signed:0;
+	field:unsigned int defer_shift;	offset:24;	size:4;	signed:0;
+	field:int order_failed;	offset:28;	size:4;	signed:1;
+
+print fmt: "node=%d zone=%-8s order=%d order_failed=%d consider=%u limit=%lu", REC->nid, __print_symbolic(REC->idx, {0, "DMA32"}, {1, "Normal"}, {2, "Movable"}), REC->order, REC->order_failed, REC->considered, 1UL << REC->defer_shift
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_deferred/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_deferred/format
new file mode 100644
index 0000000..7425659
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_deferred/format
@@ -0,0 +1,16 @@
+name: mm_compaction_deferred
+ID: 265
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int nid;	offset:8;	size:4;	signed:1;
+	field:enum zone_type idx;	offset:12;	size:4;	signed:0;
+	field:int order;	offset:16;	size:4;	signed:1;
+	field:unsigned int considered;	offset:20;	size:4;	signed:0;
+	field:unsigned int defer_shift;	offset:24;	size:4;	signed:0;
+	field:int order_failed;	offset:28;	size:4;	signed:1;
+
+print fmt: "node=%d zone=%-8s order=%d order_failed=%d consider=%u limit=%lu", REC->nid, __print_symbolic(REC->idx, {0, "DMA32"}, {1, "Normal"}, {2, "Movable"}), REC->order, REC->order_failed, REC->considered, 1UL << REC->defer_shift
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_end/format
new file mode 100644
index 0000000..7d410c4
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_end/format
@@ -0,0 +1,16 @@
+name: mm_compaction_end
+ID: 266
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long zone_start;	offset:8;	size:8;	signed:0;
+	field:unsigned long migrate_pfn;	offset:16;	size:8;	signed:0;
+	field:unsigned long free_pfn;	offset:24;	size:8;	signed:0;
+	field:unsigned long zone_end;	offset:32;	size:8;	signed:0;
+	field:bool sync;	offset:40;	size:1;	signed:0;
+	field:int status;	offset:44;	size:4;	signed:1;
+
+print fmt: "zone_start=0x%lx migrate_pfn=0x%lx free_pfn=0x%lx zone_end=0x%lx, mode=%s status=%s", REC->zone_start, REC->migrate_pfn, REC->free_pfn, REC->zone_end, REC->sync ? "sync" : "async", __print_symbolic(REC->status, {1, "skipped"}, {2, "deferred"}, {4, "continue"}, {8, "success"}, {6, "partial_skipped"}, {5, "complete"}, {3, "no_suitable_page"}, {0, "not_suitable_zone"}, {7, "contended"})
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_finished/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_finished/format
new file mode 100644
index 0000000..305adf5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_finished/format
@@ -0,0 +1,14 @@
+name: mm_compaction_finished
+ID: 267
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int nid;	offset:8;	size:4;	signed:1;
+	field:enum zone_type idx;	offset:12;	size:4;	signed:0;
+	field:int order;	offset:16;	size:4;	signed:1;
+	field:int ret;	offset:20;	size:4;	signed:1;
+
+print fmt: "node=%d zone=%-8s order=%d ret=%s", REC->nid, __print_symbolic(REC->idx, {0, "DMA32"}, {1, "Normal"}, {2, "Movable"}), REC->order, __print_symbolic(REC->ret, {1, "skipped"}, {2, "deferred"}, {4, "continue"}, {8, "success"}, {6, "partial_skipped"}, {5, "complete"}, {3, "no_suitable_page"}, {0, "not_suitable_zone"}, {7, "contended"})
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_isolate_freepages/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_isolate_freepages/format
new file mode 100644
index 0000000..2423e3a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_isolate_freepages/format
@@ -0,0 +1,14 @@
+name: mm_compaction_isolate_freepages
+ID: 268
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long start_pfn;	offset:8;	size:8;	signed:0;
+	field:unsigned long end_pfn;	offset:16;	size:8;	signed:0;
+	field:unsigned long nr_scanned;	offset:24;	size:8;	signed:0;
+	field:unsigned long nr_taken;	offset:32;	size:8;	signed:0;
+
+print fmt: "range=(0x%lx ~ 0x%lx) nr_scanned=%lu nr_taken=%lu", REC->start_pfn, REC->end_pfn, REC->nr_scanned, REC->nr_taken
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_isolate_migratepages/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_isolate_migratepages/format
new file mode 100644
index 0000000..5e0e79f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_isolate_migratepages/format
@@ -0,0 +1,14 @@
+name: mm_compaction_isolate_migratepages
+ID: 269
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long start_pfn;	offset:8;	size:8;	signed:0;
+	field:unsigned long end_pfn;	offset:16;	size:8;	signed:0;
+	field:unsigned long nr_scanned;	offset:24;	size:8;	signed:0;
+	field:unsigned long nr_taken;	offset:32;	size:8;	signed:0;
+
+print fmt: "range=(0x%lx ~ 0x%lx) nr_scanned=%lu nr_taken=%lu", REC->start_pfn, REC->end_pfn, REC->nr_scanned, REC->nr_taken
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_kcompactd_sleep/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_kcompactd_sleep/format
new file mode 100644
index 0000000..4ec70b5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_kcompactd_sleep/format
@@ -0,0 +1,11 @@
+name: mm_compaction_kcompactd_sleep
+ID: 270
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int nid;	offset:8;	size:4;	signed:1;
+
+print fmt: "nid=%d", REC->nid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_kcompactd_wake/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_kcompactd_wake/format
new file mode 100644
index 0000000..01e28ff
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_kcompactd_wake/format
@@ -0,0 +1,13 @@
+name: mm_compaction_kcompactd_wake
+ID: 271
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int nid;	offset:8;	size:4;	signed:1;
+	field:int order;	offset:12;	size:4;	signed:1;
+	field:enum zone_type highest_zoneidx;	offset:16;	size:4;	signed:0;
+
+print fmt: "nid=%d order=%d classzone_idx=%-8s", REC->nid, REC->order, __print_symbolic(REC->highest_zoneidx, {0, "DMA32"}, {1, "Normal"}, {2, "Movable"})
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_migratepages/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_migratepages/format
new file mode 100644
index 0000000..80e1c04
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_migratepages/format
@@ -0,0 +1,12 @@
+name: mm_compaction_migratepages
+ID: 272
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long nr_migrated;	offset:8;	size:8;	signed:0;
+	field:unsigned long nr_failed;	offset:16;	size:8;	signed:0;
+
+print fmt: "nr_migrated=%lu nr_failed=%lu", REC->nr_migrated, REC->nr_failed
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_suitable/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_suitable/format
new file mode 100644
index 0000000..84f3c75
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_suitable/format
@@ -0,0 +1,14 @@
+name: mm_compaction_suitable
+ID: 273
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int nid;	offset:8;	size:4;	signed:1;
+	field:enum zone_type idx;	offset:12;	size:4;	signed:0;
+	field:int order;	offset:16;	size:4;	signed:1;
+	field:int ret;	offset:20;	size:4;	signed:1;
+
+print fmt: "node=%d zone=%-8s order=%d ret=%s", REC->nid, __print_symbolic(REC->idx, {0, "DMA32"}, {1, "Normal"}, {2, "Movable"}), REC->order, __print_symbolic(REC->ret, {1, "skipped"}, {2, "deferred"}, {4, "continue"}, {8, "success"}, {6, "partial_skipped"}, {5, "complete"}, {3, "no_suitable_page"}, {0, "not_suitable_zone"}, {7, "contended"})
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_try_to_compact_pages/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_try_to_compact_pages/format
new file mode 100644
index 0000000..1f0da6c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_try_to_compact_pages/format
@@ -0,0 +1,13 @@
+name: mm_compaction_try_to_compact_pages
+ID: 274
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int order;	offset:8;	size:4;	signed:1;
+	field:gfp_t gfp_mask;	offset:12;	size:4;	signed:0;
+	field:int prio;	offset:16;	size:4;	signed:1;
+
+print fmt: "order=%d gfp_mask=%s priority=%d", REC->order, (REC->gfp_mask) ? __print_flags(REC->gfp_mask, "|", {(unsigned long)(((((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)) | (( gfp_t)0x40000u) | (( gfp_t)0x80000u) | (( gfp_t)0x2000u)) & ~(( gfp_t)(0x400u|0x800u))) | (( gfp_t)0x400u)), "GFP_TRANSHUGE"}, {(unsigned long)((((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)) | (( gfp_t)0x40000u) | (( gfp_t)0x80000u) | (( gfp_t)0x2000u)) & ~(( gfp_t)(0x400u|0x800u))), "GFP_TRANSHUGE_LIGHT"}, {(unsigned long)((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)), "GFP_HIGHUSER_MOVABLE"}, {(unsigned long)(((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)), "GFP_HIGHUSER"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)), "GFP_USER"}, {(unsigned long)(((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u)) | (( gfp_t)0x400000u)), "GFP_KERNEL_ACCOUNT"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u)), "GFP_KERNEL"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u)), "GFP_NOFS"}, {(unsigned long)((( gfp_t)0x20u)|(( gfp_t)0x200u)|(( gfp_t)0x800u)), "GFP_ATOMIC"}, {(unsigned long)((( gfp_t)(0x400u|0x800u))), "GFP_NOIO"}, {(unsigned long)((( gfp_t)0x800u)), "GFP_NOWAIT"}, {(unsigned long)(( gfp_t)0x01u), "GFP_DMA"}, {(unsigned long)(( gfp_t)0x02u), "__GFP_HIGHMEM"}, {(unsigned long)(( gfp_t)0x04u), "GFP_DMA32"}, {(unsigned long)(( gfp_t)0x20u), "__GFP_HIGH"}, {(unsigned long)(( gfp_t)0x200u), "__GFP_ATOMIC"}, {(unsigned long)(( gfp_t)0x40u), "__GFP_IO"}, {(unsigned long)(( gfp_t)0x80u), "__GFP_FS"}, {(unsigned long)(( gfp_t)0x2000u), "__GFP_NOWARN"}, {(unsigned long)(( gfp_t)0x4000u), "__GFP_RETRY_MAYFAIL"}, {(unsigned long)(( gfp_t)0x8000u), "__GFP_NOFAIL"}, {(unsigned long)(( gfp_t)0x10000u), "__GFP_NORETRY"}, {(unsigned long)(( gfp_t)0x40000u), "__GFP_COMP"}, {(unsigned long)(( gfp_t)0x100u), "__GFP_ZERO"}, {(unsigned long)(( gfp_t)0x80000u), "__GFP_NOMEMALLOC"}, {(unsigned long)(( gfp_t)0x20000u), "__GFP_MEMALLOC"}, {(unsigned long)(( gfp_t)0x100000u), "__GFP_HARDWALL"}, {(unsigned long)(( gfp_t)0x200000u), "__GFP_THISNODE"}, {(unsigned long)(( gfp_t)0x10u), "__GFP_RECLAIMABLE"}, {(unsigned long)(( gfp_t)0x08u), "__GFP_MOVABLE"}, {(unsigned long)(( gfp_t)0x400000u), "__GFP_ACCOUNT"}, {(unsigned long)(( gfp_t)0x1000u), "__GFP_WRITE"}, {(unsigned long)(( gfp_t)(0x400u|0x800u)), "__GFP_RECLAIM"}, {(unsigned long)(( gfp_t)0x400u), "__GFP_DIRECT_RECLAIM"}, {(unsigned long)(( gfp_t)0x800u), "__GFP_KSWAPD_RECLAIM"} ) : "none", REC->prio
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_wakeup_kcompactd/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_wakeup_kcompactd/format
new file mode 100644
index 0000000..8936a05
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/compaction/mm_compaction_wakeup_kcompactd/format
@@ -0,0 +1,13 @@
+name: mm_compaction_wakeup_kcompactd
+ID: 275
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int nid;	offset:8;	size:4;	signed:1;
+	field:int order;	offset:12;	size:4;	signed:1;
+	field:enum zone_type highest_zoneidx;	offset:16;	size:4;	signed:0;
+
+print fmt: "nid=%d order=%d classzone_idx=%-8s", REC->nid, REC->order, __print_symbolic(REC->highest_zoneidx, {0, "DMA32"}, {1, "Normal"}, {2, "Movable"})
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cpuhp/cpuhp_enter/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cpuhp/cpuhp_enter/format
new file mode 100644
index 0000000..a59cdcf
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cpuhp/cpuhp_enter/format
@@ -0,0 +1,14 @@
+name: cpuhp_enter
+ID: 65
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int cpu;	offset:8;	size:4;	signed:0;
+	field:int target;	offset:12;	size:4;	signed:1;
+	field:int idx;	offset:16;	size:4;	signed:1;
+	field:void * fun;	offset:24;	size:8;	signed:0;
+
+print fmt: "cpu: %04u target: %3d step: %3d (%ps)", REC->cpu, REC->target, REC->idx, REC->fun
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cpuhp/cpuhp_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cpuhp/cpuhp_exit/format
new file mode 100644
index 0000000..e540189
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cpuhp/cpuhp_exit/format
@@ -0,0 +1,14 @@
+name: cpuhp_exit
+ID: 66
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int cpu;	offset:8;	size:4;	signed:0;
+	field:int state;	offset:12;	size:4;	signed:1;
+	field:int idx;	offset:16;	size:4;	signed:1;
+	field:int ret;	offset:20;	size:4;	signed:1;
+
+print fmt: " cpu: %04u  state: %3d step: %3d ret: %d", REC->cpu, REC->state, REC->idx, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cpuhp/cpuhp_multi_enter/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cpuhp/cpuhp_multi_enter/format
new file mode 100644
index 0000000..1ed6bc2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cpuhp/cpuhp_multi_enter/format
@@ -0,0 +1,14 @@
+name: cpuhp_multi_enter
+ID: 67
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int cpu;	offset:8;	size:4;	signed:0;
+	field:int target;	offset:12;	size:4;	signed:1;
+	field:int idx;	offset:16;	size:4;	signed:1;
+	field:void * fun;	offset:24;	size:8;	signed:0;
+
+print fmt: "cpu: %04u target: %3d step: %3d (%ps)", REC->cpu, REC->target, REC->idx, REC->fun
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cpuhp/cpuhp_pause/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cpuhp/cpuhp_pause/format
new file mode 100644
index 0000000..e0ff5e8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/cpuhp/cpuhp_pause/format
@@ -0,0 +1,14 @@
+name: cpuhp_pause
+ID: 68
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int cpus;	offset:8;	size:4;	signed:0;
+	field:unsigned int active_cpus;	offset:12;	size:4;	signed:0;
+	field:unsigned int time;	offset:16;	size:4;	signed:0;
+	field:unsigned char pause;	offset:20;	size:1;	signed:0;
+
+print fmt: "req_cpus=0x%x act_cpus=0x%x time=%u us paused=%d", REC->cpus, REC->active_cpus, REC->time, REC->pause
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/devfreq/devfreq_monitor/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/devfreq/devfreq_monitor/format
new file mode 100644
index 0000000..8519ba1
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/devfreq/devfreq_monitor/format
@@ -0,0 +1,15 @@
+name: devfreq_monitor
+ID: 866
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long freq;	offset:8;	size:8;	signed:0;
+	field:unsigned long busy_time;	offset:16;	size:8;	signed:0;
+	field:unsigned long total_time;	offset:24;	size:8;	signed:0;
+	field:unsigned int polling_ms;	offset:32;	size:4;	signed:0;
+	field:__data_loc char[] dev_name;	offset:36;	size:4;	signed:0;
+
+print fmt: "dev_name=%s freq=%lu polling_ms=%u load=%lu", __get_str(dev_name), REC->freq, REC->polling_ms, REC->total_time == 0 ? 0 : (100 * REC->busy_time) / REC->total_time
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/devfreq/dvfs_read_ppc/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/devfreq/dvfs_read_ppc/format
new file mode 100644
index 0000000..5d9a65e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/devfreq/dvfs_read_ppc/format
@@ -0,0 +1,14 @@
+name: dvfs_read_ppc
+ID: 1080
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long long ccnt;	offset:8;	size:8;	signed:0;
+	field:unsigned long long pmcnt0;	offset:16;	size:8;	signed:0;
+	field:unsigned long long pmcnt1;	offset:24;	size:8;	signed:0;
+	field:unsigned long pa_base;	offset:32;	size:8;	signed:0;
+
+print fmt: "ppc_base=%lx ccnt=%llu pmcnt0=%llu pmcnt1=%llu", REC->pa_base, REC->ccnt, REC->pmcnt0, REC->pmcnt1
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/devfreq/dvfs_update_load/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/devfreq/dvfs_update_load/format
new file mode 100644
index 0000000..f3b5c9d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/devfreq/dvfs_update_load/format
@@ -0,0 +1,18 @@
+name: dvfs_update_load
+ID: 1081
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int mif_freq;	offset:8;	size:4;	signed:0;
+	field:unsigned long long busy;	offset:16;	size:8;	signed:0;
+	field:unsigned long long total;	offset:24;	size:8;	signed:0;
+	field:unsigned int min_load;	offset:32;	size:4;	signed:0;
+	field:unsigned int max_load;	offset:36;	size:4;	signed:0;
+	field:unsigned int max_spent;	offset:40;	size:4;	signed:0;
+	field:unsigned int idx;	offset:44;	size:4;	signed:0;
+	field:unsigned int int_freq;	offset:48;	size:4;	signed:0;
+
+print fmt: "mif_freq=%u busy=%llu total=%llu min_load=%u max_load=%u max_spent=%u idx=%u int_freq=%u", REC->mif_freq, REC->busy, REC->total, REC->min_load, REC->max_load, REC->max_spent, REC->idx, REC->int_freq
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dma_fence/dma_fence_destroy/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dma_fence/dma_fence_destroy/format
new file mode 100644
index 0000000..34e7922
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dma_fence/dma_fence_destroy/format
@@ -0,0 +1,14 @@
+name: dma_fence_destroy
+ID: 686
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] driver;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] timeline;	offset:12;	size:4;	signed:0;
+	field:unsigned int context;	offset:16;	size:4;	signed:0;
+	field:unsigned int seqno;	offset:20;	size:4;	signed:0;
+
+print fmt: "driver=%s timeline=%s context=%u seqno=%u", __get_str(driver), __get_str(timeline), REC->context, REC->seqno
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dma_fence/dma_fence_emit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dma_fence/dma_fence_emit/format
new file mode 100644
index 0000000..0535499
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dma_fence/dma_fence_emit/format
@@ -0,0 +1,14 @@
+name: dma_fence_emit
+ID: 687
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] driver;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] timeline;	offset:12;	size:4;	signed:0;
+	field:unsigned int context;	offset:16;	size:4;	signed:0;
+	field:unsigned int seqno;	offset:20;	size:4;	signed:0;
+
+print fmt: "driver=%s timeline=%s context=%u seqno=%u", __get_str(driver), __get_str(timeline), REC->context, REC->seqno
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dma_fence/dma_fence_enable_signal/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dma_fence/dma_fence_enable_signal/format
new file mode 100644
index 0000000..40346ac
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dma_fence/dma_fence_enable_signal/format
@@ -0,0 +1,14 @@
+name: dma_fence_enable_signal
+ID: 688
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] driver;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] timeline;	offset:12;	size:4;	signed:0;
+	field:unsigned int context;	offset:16;	size:4;	signed:0;
+	field:unsigned int seqno;	offset:20;	size:4;	signed:0;
+
+print fmt: "driver=%s timeline=%s context=%u seqno=%u", __get_str(driver), __get_str(timeline), REC->context, REC->seqno
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dma_fence/dma_fence_init/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dma_fence/dma_fence_init/format
new file mode 100644
index 0000000..56e8243
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dma_fence/dma_fence_init/format
@@ -0,0 +1,14 @@
+name: dma_fence_init
+ID: 689
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] driver;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] timeline;	offset:12;	size:4;	signed:0;
+	field:unsigned int context;	offset:16;	size:4;	signed:0;
+	field:unsigned int seqno;	offset:20;	size:4;	signed:0;
+
+print fmt: "driver=%s timeline=%s context=%u seqno=%u", __get_str(driver), __get_str(timeline), REC->context, REC->seqno
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dma_fence/dma_fence_signaled/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dma_fence/dma_fence_signaled/format
new file mode 100644
index 0000000..8790021
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dma_fence/dma_fence_signaled/format
@@ -0,0 +1,14 @@
+name: dma_fence_signaled
+ID: 690
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] driver;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] timeline;	offset:12;	size:4;	signed:0;
+	field:unsigned int context;	offset:16;	size:4;	signed:0;
+	field:unsigned int seqno;	offset:20;	size:4;	signed:0;
+
+print fmt: "driver=%s timeline=%s context=%u seqno=%u", __get_str(driver), __get_str(timeline), REC->context, REC->seqno
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dma_fence/dma_fence_wait_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dma_fence/dma_fence_wait_end/format
new file mode 100644
index 0000000..5d75b98
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dma_fence/dma_fence_wait_end/format
@@ -0,0 +1,14 @@
+name: dma_fence_wait_end
+ID: 691
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] driver;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] timeline;	offset:12;	size:4;	signed:0;
+	field:unsigned int context;	offset:16;	size:4;	signed:0;
+	field:unsigned int seqno;	offset:20;	size:4;	signed:0;
+
+print fmt: "driver=%s timeline=%s context=%u seqno=%u", __get_str(driver), __get_str(timeline), REC->context, REC->seqno
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dma_fence/dma_fence_wait_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dma_fence/dma_fence_wait_start/format
new file mode 100644
index 0000000..c7c208d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dma_fence/dma_fence_wait_start/format
@@ -0,0 +1,14 @@
+name: dma_fence_wait_start
+ID: 692
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] driver;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] timeline;	offset:12;	size:4;	signed:0;
+	field:unsigned int context;	offset:16;	size:4;	signed:0;
+	field:unsigned int seqno;	offset:20;	size:4;	signed:0;
+
+print fmt: "driver=%s timeline=%s context=%u seqno=%u", __get_str(driver), __get_str(timeline), REC->context, REC->seqno
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dmabuf_heap/dma_heap_stat/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dmabuf_heap/dma_heap_stat/format
new file mode 100644
index 0000000..14c6e10
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dmabuf_heap/dma_heap_stat/format
@@ -0,0 +1,13 @@
+name: dma_heap_stat
+ID: 1058
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long inode;	offset:8;	size:8;	signed:0;
+	field:long len;	offset:16;	size:8;	signed:1;
+	field:unsigned long total_allocated;	offset:24;	size:8;	signed:0;
+
+print fmt: "inode=%lu len=%ldB total_allocated=%luB", REC->inode, REC->len, REC->total_allocated
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dpu/tracing_mark_write/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dpu/tracing_mark_write/format
new file mode 100644
index 0000000..4b77e29
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dpu/tracing_mark_write/format
@@ -0,0 +1,14 @@
+name: tracing_mark_write
+ID: 1224
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char type;	offset:8;	size:1;	signed:0;
+	field:int pid;	offset:12;	size:4;	signed:1;
+	field:__data_loc char[] name;	offset:16;	size:4;	signed:0;
+	field:int value;	offset:20;	size:4;	signed:1;
+
+print fmt: "%c|%d|%s|%d", REC->type, REC->pid, __get_str(name), REC->value
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/drm/drm_vblank_event/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/drm/drm_vblank_event/format
new file mode 100644
index 0000000..cf1ce93
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/drm/drm_vblank_event/format
@@ -0,0 +1,14 @@
+name: drm_vblank_event
+ID: 667
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int crtc;	offset:8;	size:4;	signed:1;
+	field:unsigned int seq;	offset:12;	size:4;	signed:0;
+	field:ktime_t time;	offset:16;	size:8;	signed:1;
+	field:bool high_prec;	offset:24;	size:1;	signed:0;
+
+print fmt: "crtc=%d, seq=%u, time=%lld, high-prec=%s", REC->crtc, REC->seq, REC->time, REC->high_prec ? "true" : "false"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/drm/drm_vblank_event_delivered/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/drm/drm_vblank_event_delivered/format
new file mode 100644
index 0000000..9bbff43
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/drm/drm_vblank_event_delivered/format
@@ -0,0 +1,13 @@
+name: drm_vblank_event_delivered
+ID: 668
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct drm_file * file;	offset:8;	size:8;	signed:0;
+	field:int crtc;	offset:16;	size:4;	signed:1;
+	field:unsigned int seq;	offset:20;	size:4;	signed:0;
+
+print fmt: "file=%p, crtc=%d, seq=%u", REC->file, REC->crtc, REC->seq
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/drm/drm_vblank_event_queued/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/drm/drm_vblank_event_queued/format
new file mode 100644
index 0000000..05d7afa
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/drm/drm_vblank_event_queued/format
@@ -0,0 +1,13 @@
+name: drm_vblank_event_queued
+ID: 669
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct drm_file * file;	offset:8;	size:8;	signed:0;
+	field:int crtc;	offset:16;	size:4;	signed:1;
+	field:unsigned int seq;	offset:20;	size:4;	signed:0;
+
+print fmt: "file=%p, crtc=%d, seq=%u", REC->file, REC->crtc, REC->seq
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_adjust_tx_power/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_adjust_tx_power/format
new file mode 100644
index 0000000..6ba5153
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_adjust_tx_power/format
@@ -0,0 +1,18 @@
+name: dw3000_adjust_tx_power
+ID: 1167
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 base_power;	offset:40;	size:4;	signed:0;
+	field:u32 adjusted_power;	offset:44;	size:4;	signed:0;
+	field:u32 frm_dur;	offset:48;	size:4;	signed:0;
+	field:u16 pl_len;	offset:52;	size:2;	signed:0;
+	field:u8 chan;	offset:54;	size:1;	signed:0;
+	field:u16 th_boost;	offset:56;	size:2;	signed:0;
+	field:u16 app_boost;	offset:58;	size:2;	signed:0;
+
+print fmt: "%s base pwr: 0x%08x, adjusted: 0x%08x (chan: %u,frm_dur: %u, PL_len: %u, th. boost: %u, applied boost: %u)", REC->dw_name, REC->base_power, REC->adjusted_power, REC->chan, REC->frm_dur, REC->pl_len, REC->th_boost, REC->app_boost
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_check_operational_state/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_check_operational_state/format
new file mode 100644
index 0000000..7980633
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_check_operational_state/format
@@ -0,0 +1,14 @@
+name: dw3000_check_operational_state
+ID: 1168
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:int delay_dtu;	offset:40;	size:4;	signed:1;
+	field:enum operational_state current_operational_state;	offset:44;	size:4;	signed:0;
+	field:enum operational_state next_operational_state;	offset:48;	size:4;	signed:0;
+
+print fmt: "%s, delay_dtu: %d, current_operational_state: %s, next_operational_state: %s", REC->dw_name, REC->delay_dtu, __print_symbolic(REC->current_operational_state, { 0, "OFF" }, { 1, "DEEP_SLEEP" }, { 2, "SLEEP" }, { 3, "WAKE_UP" }, { 4, "INIT_RC" }, { 5, "IDLE_RC" }, { 6, "IDLE_PLL" }, { 7, "TX_WAIT" }, { 8, "TX" }, { 9, "RX_WAIT" }, { 10, "RX" }), __print_symbolic(REC->next_operational_state, { 0, "OFF" }, { 1, "DEEP_SLEEP" }, { 2, "SLEEP" }, { 3, "WAKE_UP" }, { 4, "INIT_RC" }, { 5, "IDLE_RC" }, { 6, "IDLE_PLL" }, { 7, "TX_WAIT" }, { 8, "TX" }, { 9, "RX_WAIT" }, { 10, "RX" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_coex_gpio/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_coex_gpio/format
new file mode 100644
index 0000000..50ea161
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_coex_gpio/format
@@ -0,0 +1,15 @@
+name: dw3000_coex_gpio
+ID: 1169
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:bool state;	offset:40;	size:1;	signed:0;
+	field:int delay_us;	offset:44;	size:4;	signed:1;
+	field:u32 expire;	offset:48;	size:4;	signed:0;
+	field:bool status;	offset:52;	size:1;	signed:0;
+
+print fmt: "%s, current state: %s, new state: %s, delay_us: %d, expire: %u", REC->dw_name, REC->status ? "ON" : "OFF", REC->state ? "ON" : "OFF", REC->delay_us, (unsigned)REC->expire
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_coex_gpio_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_coex_gpio_start/format
new file mode 100644
index 0000000..fe14326
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_coex_gpio_start/format
@@ -0,0 +1,14 @@
+name: dw3000_coex_gpio_start
+ID: 1170
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:int delay_us;	offset:40;	size:4;	signed:1;
+	field:bool status;	offset:44;	size:1;	signed:0;
+	field:int coex_interval_us;	offset:48;	size:4;	signed:1;
+
+print fmt: "%s, delay_us: %d, status: %s, coex_interval_us: %d", REC->dw_name, REC->delay_us, REC->status ? "ON" : "OFF", REC->coex_interval_us
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_coex_gpio_stop/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_coex_gpio_stop/format
new file mode 100644
index 0000000..2395792
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_coex_gpio_stop/format
@@ -0,0 +1,12 @@
+name: dw3000_coex_gpio_stop
+ID: 1171
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:bool status;	offset:40;	size:1;	signed:0;
+
+print fmt: "%s, status: %s", REC->dw_name, REC->status ? "ON" : "OFF"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_deep_sleep/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_deep_sleep/format
new file mode 100644
index 0000000..896f966
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_deep_sleep/format
@@ -0,0 +1,12 @@
+name: dw3000_deep_sleep
+ID: 1172
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:int result;	offset:40;	size:4;	signed:1;
+
+print fmt: "%s, result: %d", REC->dw_name, REC->result
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_deep_sleep_enter/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_deep_sleep_enter/format
new file mode 100644
index 0000000..f2047b9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_deep_sleep_enter/format
@@ -0,0 +1,12 @@
+name: dw3000_deep_sleep_enter
+ID: 1173
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:s64 time_before;	offset:40;	size:8;	signed:1;
+
+print fmt: "%s, time_ns: %lld", REC->dw_name, REC->time_before
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_get_counters_first_part/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_get_counters_first_part/format
new file mode 100644
index 0000000..9933876
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_get_counters_first_part/format
@@ -0,0 +1,21 @@
+name: dw3000_get_counters_first_part
+ID: 1174
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:u16 rxphe;	offset:40;	size:2;	signed:0;
+	field:u16 rxfsl;	offset:42;	size:2;	signed:0;
+	field:u16 rxcfg;	offset:44;	size:2;	signed:0;
+	field:u16 rxovrr;	offset:46;	size:2;	signed:0;
+	field:u16 rxsto;	offset:48;	size:2;	signed:0;
+	field:u16 rxpto;	offset:50;	size:2;	signed:0;
+	field:u16 fwto;	offset:52;	size:2;	signed:0;
+	field:u16 txfrs;	offset:54;	size:2;	signed:0;
+	field:u16 hpwarn;	offset:56;	size:2;	signed:0;
+	field:u16 spicrc;	offset:58;	size:2;	signed:0;
+
+print fmt: "%s rxphe=%d rxfsl=%d rxcfg=%d, rxovrr=%d, rxsto=%d, rxpto=%d, fwto,=%d txfrs=%d, hpwarn=%d, spicrc=%d", REC->dw_name, REC->rxphe, REC->rxfsl, REC->rxcfg, REC->rxovrr, REC->rxsto, REC->rxpto, REC->fwto, REC->txfrs, REC->hpwarn, REC->spicrc
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_get_counters_second_part/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_get_counters_second_part/format
new file mode 100644
index 0000000..2d7efd5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_get_counters_second_part/format
@@ -0,0 +1,14 @@
+name: dw3000_get_counters_second_part
+ID: 1175
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:u16 rxprej;	offset:40;	size:2;	signed:0;
+	field:u16 cperr;	offset:42;	size:2;	signed:0;
+	field:u16 vwarn;	offset:44;	size:2;	signed:0;
+
+print fmt: "%s rxfce=%d, sts_qual_err=%d, vwarn=%d", REC->dw_name, REC->rxprej, REC->cperr, REC->vwarn
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_isr/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_isr/format
new file mode 100644
index 0000000..b6496d6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_isr/format
@@ -0,0 +1,12 @@
+name: dw3000_isr
+ID: 1176
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:u64 status;	offset:40;	size:8;	signed:0;
+
+print fmt: "%s, status: %s", REC->dw_name, __print_flags(REC->status, "|", { 0x80000000UL, "TIMER1" }, { 0x40000000UL, "TIMER0" }, { 0x20000000UL, "ARFE" }, { 0x10000000UL, "CPERR" }, { 0x8000000UL, "HPDWARN" }, { 0x4000000UL, "RXSTO" }, { 0x2000000UL, "PLL_HILO" }, { 0x1000000UL, "RCINIT" }, { 0x800000UL, "SPIRDY" }, { 0x400000UL, "LCSSERR" }, { 0x200000UL, "RXPTO" }, { 0x100000UL, "RXOVRR" }, { 0x80000UL, "VWARN" }, { 0x40000UL, "CIAERR" }, { 0x20000UL, "RXFTO" }, { 0x10000UL, "RXFSL" }, { 0x8000U, "RXFCE" }, { 0x4000U, "RXFCG" }, { 0x2000U, "RXFR" }, { 0x1000U, "RXPHE" }, { 0x800U, "RXPHD" }, { 0x400U, "CIA_DONE" }, { 0x200U, "RXSFDD" }, { 0x100U, "RXPRD" }, { 0x80U, "TXFRS" }, { 0x40U, "TXPHS" }, { 0x20U, "TXPRS" }, { 0x10U, "TXFRB" }, { 0x8U, "AAT" }, { 0x4U, "SPICRCERR" }, { 0x2U, "CLK_PLL_LOCK" }, { 0x1U, "IRQS" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_get_timestamp/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_get_timestamp/format
new file mode 100644
index 0000000..c8fad48
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_get_timestamp/format
@@ -0,0 +1,11 @@
+name: dw3000_mcps_get_timestamp
+ID: 1177
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->dw_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_idle/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_idle/format
new file mode 100644
index 0000000..b252e30
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_idle/format
@@ -0,0 +1,13 @@
+name: dw3000_mcps_idle
+ID: 1178
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:bool timeout;	offset:40;	size:1;	signed:0;
+	field:u32 timeout_dtu;	offset:44;	size:4;	signed:0;
+
+print fmt: "%s, timeout: %s, timeout_dtu: %#x", REC->dw_name, REC->timeout ? "true" : "false", REC->timeout_dtu
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_reset/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_reset/format
new file mode 100644
index 0000000..b3ee696
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_reset/format
@@ -0,0 +1,11 @@
+name: dw3000_mcps_reset
+ID: 1179
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->dw_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_rx_disable/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_rx_disable/format
new file mode 100644
index 0000000..345b025
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_rx_disable/format
@@ -0,0 +1,11 @@
+name: dw3000_mcps_rx_disable
+ID: 1180
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->dw_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_rx_enable/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_rx_enable/format
new file mode 100644
index 0000000..3dbc533
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_rx_enable/format
@@ -0,0 +1,13 @@
+name: dw3000_mcps_rx_enable
+ID: 1181
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:u8 flags;	offset:40;	size:1;	signed:0;
+	field:int timeout;	offset:44;	size:4;	signed:1;
+
+print fmt: "%s, flags: %s, timeout: %d", REC->dw_name, __print_flags(REC->flags, "|", { MCPS802154_RX_INFO_TIMESTAMP_DTU, "TIMESTAMP_DTU" }, { MCPS802154_RX_INFO_AACK, "AACK" }, { MCPS802154_RX_INFO_RANGING, "RANGING" }, { MCPS802154_RX_INFO_KEEP_RANGING_CLOCK, "KEEP_RANGING_CLOCK" }, { MCPS802154_RX_INFO_RANGING_PDOA, "RANGING_PDOA" }, { MCPS802154_RX_INFO_SP3, "SP3" }, { MCPS802154_RX_INFO_SP2, "SP2" }, { MCPS802154_RX_INFO_SP1, "SP1" }, { MCPS802154_RX_INFO_STS_MODE_MASK, "STS_MODE_MASK" }), REC->timeout
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_rx_get_error_frame/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_rx_get_error_frame/format
new file mode 100644
index 0000000..7206bf3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_rx_get_error_frame/format
@@ -0,0 +1,12 @@
+name: dw3000_mcps_rx_get_error_frame
+ID: 1182
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:u16 flags;	offset:40;	size:2;	signed:0;
+
+print fmt: "%s, flags: %s", REC->dw_name, __print_flags(REC->flags, "|", { MCPS802154_RX_FRAME_INFO_TIMESTAMP_DTU, "TIMESTAMP_DTU" }, { MCPS802154_RX_FRAME_INFO_TIMESTAMP_RCTU, "TIMESTAMP_RCTU" }, { MCPS802154_RX_FRAME_INFO_LQI, "LQI" }, { MCPS802154_RX_FRAME_INFO_RSSI, "RSSI" }, { MCPS802154_RX_FRAME_INFO_RANGING_FOM, "RANGING_FOM" }, { MCPS802154_RX_FRAME_INFO_RANGING_OFFSET, "RANGING_OFFSET" }, { MCPS802154_RX_FRAME_INFO_RANGING_PDOA, "RANGING_PDOA" }, { MCPS802154_RX_FRAME_INFO_RANGING_PDOA_FOM, "RANGING_PDOA_FOM" }, { MCPS802154_RX_FRAME_INFO_RANGING_STS_TIMESTAMP_RCTU, "RANGING_STS_TIMESTAMP_RCTU" }, { MCPS802154_RX_FRAME_INFO_RANGING_STS_FOM, "RANGING_STS_FOM" }, { MCPS802154_RX_FRAME_INFO_AACK, "AACK" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_rx_get_frame/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_rx_get_frame/format
new file mode 100644
index 0000000..27e134c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_rx_get_frame/format
@@ -0,0 +1,12 @@
+name: dw3000_mcps_rx_get_frame
+ID: 1183
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:u16 flags;	offset:40;	size:2;	signed:0;
+
+print fmt: "%s, flags: %s", REC->dw_name, __print_flags(REC->flags, "|", { MCPS802154_RX_FRAME_INFO_TIMESTAMP_DTU, "TIMESTAMP_DTU" }, { MCPS802154_RX_FRAME_INFO_TIMESTAMP_RCTU, "TIMESTAMP_RCTU" }, { MCPS802154_RX_FRAME_INFO_LQI, "LQI" }, { MCPS802154_RX_FRAME_INFO_RSSI, "RSSI" }, { MCPS802154_RX_FRAME_INFO_RANGING_FOM, "RANGING_FOM" }, { MCPS802154_RX_FRAME_INFO_RANGING_OFFSET, "RANGING_OFFSET" }, { MCPS802154_RX_FRAME_INFO_RANGING_PDOA, "RANGING_PDOA" }, { MCPS802154_RX_FRAME_INFO_RANGING_PDOA_FOM, "RANGING_PDOA_FOM" }, { MCPS802154_RX_FRAME_INFO_RANGING_STS_TIMESTAMP_RCTU, "RANGING_STS_TIMESTAMP_RCTU" }, { MCPS802154_RX_FRAME_INFO_RANGING_STS_FOM, "RANGING_STS_FOM" }, { MCPS802154_RX_FRAME_INFO_AACK, "AACK" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_set_channel/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_set_channel/format
new file mode 100644
index 0000000..a2afdbb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_set_channel/format
@@ -0,0 +1,14 @@
+name: dw3000_mcps_set_channel
+ID: 1184
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:u8 page;	offset:40;	size:1;	signed:0;
+	field:u8 channel;	offset:41;	size:1;	signed:0;
+	field:u8 pcode;	offset:42;	size:1;	signed:0;
+
+print fmt: "%s, page: %u, channel: %u, preamble_code: %u", REC->dw_name, REC->page, REC->channel, REC->pcode
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_set_hw_addr_filt/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_set_hw_addr_filt/format
new file mode 100644
index 0000000..1eff53d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_set_hw_addr_filt/format
@@ -0,0 +1,12 @@
+name: dw3000_mcps_set_hw_addr_filt
+ID: 1185
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:u8 changed;	offset:40;	size:1;	signed:0;
+
+print fmt: "%s, changed: %#x", REC->dw_name, REC->changed
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_set_sts_params/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_set_sts_params/format
new file mode 100644
index 0000000..c42c155
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_set_sts_params/format
@@ -0,0 +1,12 @@
+name: dw3000_mcps_set_sts_params
+ID: 1186
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:u8 n_segs;	offset:40;	size:1;	signed:0;
+
+print fmt: "%s, n_segs: %u", REC->dw_name, REC->n_segs
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_start/format
new file mode 100644
index 0000000..66bdf3e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_start/format
@@ -0,0 +1,11 @@
+name: dw3000_mcps_start
+ID: 1187
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->dw_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_stop/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_stop/format
new file mode 100644
index 0000000..a47cb8e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_stop/format
@@ -0,0 +1,11 @@
+name: dw3000_mcps_stop
+ID: 1188
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->dw_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_tx_frame/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_tx_frame/format
new file mode 100644
index 0000000..e733194
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_mcps_tx_frame/format
@@ -0,0 +1,13 @@
+name: dw3000_mcps_tx_frame
+ID: 1189
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:u8 flags;	offset:40;	size:1;	signed:0;
+	field:u16 len;	offset:42;	size:2;	signed:0;
+
+print fmt: "%s, flags: %s, skb->len: %d", REC->dw_name, __print_flags(REC->flags, "|", { MCPS802154_TX_FRAME_TIMESTAMP_DTU, "TIMESTAMP_DTU" }, { MCPS802154_TX_FRAME_CCA, "CCA" }, { MCPS802154_TX_FRAME_RANGING, "RANGING" }, { MCPS802154_TX_FRAME_KEEP_RANGING_CLOCK, "KEEP_RANGING_CLOCK" }, { MCPS802154_TX_FRAME_SP3, "SP3" }, { MCPS802154_TX_FRAME_SP2, "SP2" }, { MCPS802154_TX_FRAME_SP1, "SP1" }, { MCPS802154_TX_FRAME_STS_MODE_MASK, "STS_MODE_MASK" }),REC->len
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_clock_offset_payload_put/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_clock_offset_payload_put/format
new file mode 100644
index 0000000..5d9d7b2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_clock_offset_payload_put/format
@@ -0,0 +1,12 @@
+name: dw3000_nfcc_coex_clock_offset_payload_put
+ID: 1190
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 clock_offset_sys_time;	offset:40;	size:4;	signed:0;
+
+print fmt: "%s, clock_offset_sys_time=%#08x", REC->dw_name, REC->clock_offset_sys_time
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_clock_sync_payload_put/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_clock_sync_payload_put/format
new file mode 100644
index 0000000..bc0fe51
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_clock_sync_payload_put/format
@@ -0,0 +1,12 @@
+name: dw3000_nfcc_coex_clock_sync_payload_put
+ID: 1191
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 session_time0_sys_time;	offset:40;	size:4;	signed:0;
+
+print fmt: "%s, session_time0_sys_time=%#08x", REC->dw_name, REC->session_time0_sys_time
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_disable/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_disable/format
new file mode 100644
index 0000000..78ed24c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_disable/format
@@ -0,0 +1,11 @@
+name: dw3000_nfcc_coex_disable
+ID: 1192
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->dw_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_enable/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_enable/format
new file mode 100644
index 0000000..2a39abf
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_enable/format
@@ -0,0 +1,12 @@
+name: dw3000_nfcc_coex_enable
+ID: 1193
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:int channel;	offset:40;	size:4;	signed:1;
+
+print fmt: "%s, channel=%d", REC->dw_name, REC->channel
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_err/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_err/format
new file mode 100644
index 0000000..631df06
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_err/format
@@ -0,0 +1,12 @@
+name: dw3000_nfcc_coex_err
+ID: 1194
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:__data_loc char[] err;	offset:40;	size:4;	signed:0;
+
+print fmt: "%s, err="%s"", REC->dw_name, __get_str(err)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_header_check/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_header_check/format
new file mode 100644
index 0000000..9f8b53a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_header_check/format
@@ -0,0 +1,15 @@
+name: dw3000_nfcc_coex_header_check
+ID: 1195
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:u8 signature[5];	offset:40;	size:5;	signed:0;
+	field:u8 ver_id;	offset:45;	size:1;	signed:0;
+	field:u8 seq_num;	offset:46;	size:1;	signed:0;
+	field:u8 nb_tlv;	offset:47;	size:1;	signed:0;
+
+print fmt: "%s, signature=%s, ver_id=%u, seq_num=%u, nb_tlv=%u", REC->dw_name, __print_array(REC->signature, 5, sizeof(u8)), REC->ver_id, REC->seq_num, REC->nb_tlv
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_isr/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_isr/format
new file mode 100644
index 0000000..791455e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_isr/format
@@ -0,0 +1,12 @@
+name: dw3000_nfcc_coex_isr
+ID: 1196
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:u8 dss_stat;	offset:40;	size:1;	signed:0;
+
+print fmt: "%s, dss_stat=%#x", REC->dw_name, REC->dss_stat
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_rx_msg_info/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_rx_msg_info/format
new file mode 100644
index 0000000..2a716bb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_rx_msg_info/format
@@ -0,0 +1,13 @@
+name: dw3000_nfcc_coex_rx_msg_info
+ID: 1197
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 next_timestamp_sys_time;	offset:40;	size:4;	signed:0;
+	field:int next_duration_sys_time;	offset:44;	size:4;	signed:1;
+
+print fmt: "%s, next_timestamp_sys_time=%#08x, next_duration_sys_time=%#08x", REC->dw_name, REC->next_timestamp_sys_time, REC->next_duration_sys_time
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_sleep/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_sleep/format
new file mode 100644
index 0000000..0014f7b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_sleep/format
@@ -0,0 +1,12 @@
+name: dw3000_nfcc_coex_sleep
+ID: 1198
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 sleep_dtu;	offset:40;	size:4;	signed:0;
+
+print fmt: "%s, sleep_dtu=%u", REC->dw_name, REC->sleep_dtu
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_warn/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_warn/format
new file mode 100644
index 0000000..7e229e0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_warn/format
@@ -0,0 +1,12 @@
+name: dw3000_nfcc_coex_warn
+ID: 1199
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:__data_loc char[] warn;	offset:40;	size:4;	signed:0;
+
+print fmt: "%s, warn="%s"", REC->dw_name, __get_str(warn)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_watchdog/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_watchdog/format
new file mode 100644
index 0000000..6b9dbad
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_nfcc_coex_watchdog/format
@@ -0,0 +1,11 @@
+name: dw3000_nfcc_coex_watchdog
+ID: 1200
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->dw_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_power_stats/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_power_stats/format
new file mode 100644
index 0000000..2e28e6f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_power_stats/format
@@ -0,0 +1,14 @@
+name: dw3000_power_stats
+ID: 1201
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:int state;	offset:40;	size:4;	signed:1;
+	field:u64 boot_time_ns;	offset:48;	size:8;	signed:0;
+	field:int len_or_date;	offset:56;	size:4;	signed:1;
+
+print fmt: "%s, state: %s, boot_time_ns: %llu, len_or_date: %u", REC->dw_name, __print_symbolic(REC->state, { 0, "OFF" }, { 1, "DEEPSLEEP" }, { 2, "RUN" }, { 3, "IDLE" }, { 4, "RX" }, { 5, "TX" }), REC->boot_time_ns, (unsigned)REC->len_or_date
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_rctu_convert_align/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_rctu_convert_align/format
new file mode 100644
index 0000000..5634039
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_rctu_convert_align/format
@@ -0,0 +1,12 @@
+name: dw3000_rctu_convert_align
+ID: 1202
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 rmarker_dtu;	offset:40;	size:4;	signed:0;
+
+print fmt: "%s, rmarker_dtu: %#x", REC->dw_name, REC->rmarker_dtu
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_rctu_convert_rx/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_rctu_convert_rx/format
new file mode 100644
index 0000000..38833da
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_rctu_convert_rx/format
@@ -0,0 +1,14 @@
+name: dw3000_rctu_convert_rx
+ID: 1203
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 rmarker_dtu;	offset:40;	size:4;	signed:0;
+	field:u64 ts_rctu;	offset:48;	size:8;	signed:0;
+	field:u64 rmarker_rctu;	offset:56;	size:8;	signed:0;
+
+print fmt: "%s, rmarker_dtu: %#x, ts_rctu: %#llx, rmarker_rctu: %#llx", REC->dw_name, REC->rmarker_dtu, REC->ts_rctu, REC->rmarker_rctu
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_rctu_convert_synced/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_rctu_convert_synced/format
new file mode 100644
index 0000000..e536d1a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_rctu_convert_synced/format
@@ -0,0 +1,12 @@
+name: dw3000_rctu_convert_synced
+ID: 1204
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:u64 rmarker_rctu;	offset:40;	size:8;	signed:0;
+
+print fmt: "%s, rmarker_rctu: %#llx", REC->dw_name, REC->rmarker_rctu
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_rctu_convert_tx/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_rctu_convert_tx/format
new file mode 100644
index 0000000..bf9acd9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_rctu_convert_tx/format
@@ -0,0 +1,14 @@
+name: dw3000_rctu_convert_tx
+ID: 1205
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 ts_dtu;	offset:40;	size:4;	signed:0;
+	field:u32 ant_offset;	offset:44;	size:4;	signed:0;
+	field:u64 rmarker_rctu;	offset:48;	size:8;	signed:0;
+
+print fmt: "%s, ts_dtu: %#x, ant_offset: %#x, rmarker_rctu: %#llx", REC->dw_name, REC->ts_dtu, REC->ant_offset, REC->rmarker_rctu
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_read_clockoffset/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_read_clockoffset/format
new file mode 100644
index 0000000..b722201
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_read_clockoffset/format
@@ -0,0 +1,12 @@
+name: dw3000_read_clockoffset
+ID: 1206
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:s16 cfo;	offset:40;	size:2;	signed:1;
+
+print fmt: "%s clockoffset=%d", REC->dw_name, REC->cfo
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_read_pdoa/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_read_pdoa/format
new file mode 100644
index 0000000..69ea8a0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_read_pdoa/format
@@ -0,0 +1,12 @@
+name: dw3000_read_pdoa
+ID: 1207
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 pdoa;	offset:40;	size:4;	signed:0;
+
+print fmt: "%s pdoa=%#08x", REC->dw_name, REC->pdoa
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_read_rx_timestamp/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_read_rx_timestamp/format
new file mode 100644
index 0000000..efd3a25
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_read_rx_timestamp/format
@@ -0,0 +1,11 @@
+name: dw3000_read_rx_timestamp
+ID: 1208
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->dw_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_resync_dtu_sys_time/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_resync_dtu_sys_time/format
new file mode 100644
index 0000000..1873be2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_resync_dtu_sys_time/format
@@ -0,0 +1,13 @@
+name: dw3000_resync_dtu_sys_time
+ID: 1209
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 sys_time_sync;	offset:40;	size:4;	signed:0;
+	field:u32 dtu_sync;	offset:44;	size:4;	signed:0;
+
+print fmt: "%s, sys_time_sync: %#08x, dtu_sync: %#08x", REC->dw_name, REC->sys_time_sync, REC->dtu_sync
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_return_int/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_return_int/format
new file mode 100644
index 0000000..673ae0a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_return_int/format
@@ -0,0 +1,12 @@
+name: dw3000_return_int
+ID: 1210
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:int ret;	offset:40;	size:4;	signed:1;
+
+print fmt: "%s, return %d", REC->dw_name, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_return_int_u32/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_return_int_u32/format
new file mode 100644
index 0000000..8c104b6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_return_int_u32/format
@@ -0,0 +1,13 @@
+name: dw3000_return_int_u32
+ID: 1211
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:int ret;	offset:40;	size:4;	signed:1;
+	field:u32 val;	offset:44;	size:4;	signed:0;
+
+print fmt: "%s, return %d, value %#x", REC->dw_name, REC->ret, REC->val
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_return_int_u64/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_return_int_u64/format
new file mode 100644
index 0000000..d0c564e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_return_int_u64/format
@@ -0,0 +1,13 @@
+name: dw3000_return_int_u64
+ID: 1212
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:int ret;	offset:40;	size:4;	signed:1;
+	field:u64 val;	offset:48;	size:8;	signed:0;
+
+print fmt: "%s, return %d, value %#llx", REC->dw_name, REC->ret, REC->val
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_return_void/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_return_void/format
new file mode 100644
index 0000000..3621ad1
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_return_void/format
@@ -0,0 +1,11 @@
+name: dw3000_return_void
+ID: 1213
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->dw_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_rx_rssi/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_rx_rssi/format
new file mode 100644
index 0000000..617ec4b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_rx_rssi/format
@@ -0,0 +1,17 @@
+name: dw3000_rx_rssi
+ID: 1214
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:const char * chip_name;	offset:40;	size:8;	signed:0;
+	field:bool sts;	offset:48;	size:1;	signed:0;
+	field:u32 cir_pwr;	offset:52;	size:4;	signed:0;
+	field:u16 pacc_cnt;	offset:56;	size:2;	signed:0;
+	field:u8 prf_64mhz;	offset:58;	size:1;	signed:0;
+	field:u8 dgc_dec;	offset:59;	size:1;	signed:0;
+
+print fmt: "%s, chip: %s sts: %u cir_pwr: %u pacc_cnt: %u prf_64mhz: %u dgc_dec: %u", REC->dw_name, REC->chip_name, REC->sts, REC->cir_pwr, REC->pacc_cnt, REC->prf_64mhz, REC->dgc_dec
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_set_antenna_gpio/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_set_antenna_gpio/format
new file mode 100644
index 0000000..dfb385b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_set_antenna_gpio/format
@@ -0,0 +1,14 @@
+name: dw3000_set_antenna_gpio
+ID: 1215
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:int res;	offset:40;	size:4;	signed:1;
+	field:u8 gpio;	offset:44;	size:1;	signed:0;
+	field:u8 value;	offset:45;	size:1;	signed:0;
+
+print fmt: "%s, res: %d, gpio: %u, value: %u", REC->dw_name, REC->res, REC->gpio, REC->value
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_set_operational_state/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_set_operational_state/format
new file mode 100644
index 0000000..6e560d8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_set_operational_state/format
@@ -0,0 +1,12 @@
+name: dw3000_set_operational_state
+ID: 1216
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:enum operational_state operational_state;	offset:40;	size:4;	signed:0;
+
+print fmt: "%s, operational_state: %s", REC->dw_name, __print_symbolic(REC->operational_state, { 0, "OFF" }, { 1, "DEEP_SLEEP" }, { 2, "SLEEP" }, { 3, "WAKE_UP" }, { 4, "INIT_RC" }, { 5, "IDLE_RC" }, { 6, "IDLE_PLL" }, { 7, "TX_WAIT" }, { 8, "TX" }, { 9, "RX_WAIT" }, { 10, "RX" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_set_pdoa/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_set_pdoa/format
new file mode 100644
index 0000000..0e1b293
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_set_pdoa/format
@@ -0,0 +1,12 @@
+name: dw3000_set_pdoa
+ID: 1217
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 mode;	offset:40;	size:4;	signed:0;
+
+print fmt: "%s Set PDoA mode to %d", REC->dw_name, REC->mode
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_testmode_continuous_tx_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_testmode_continuous_tx_start/format
new file mode 100644
index 0000000..c1b63b2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_testmode_continuous_tx_start/format
@@ -0,0 +1,14 @@
+name: dw3000_testmode_continuous_tx_start
+ID: 1218
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:u8 chan;	offset:40;	size:1;	signed:0;
+	field:u32 len;	offset:44;	size:4;	signed:0;
+	field:u32 rate;	offset:48;	size:4;	signed:0;
+
+print fmt: "%s chan=%d, len=%d, rate=%d", REC->dw_name, REC->chan, REC->len, REC->rate
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_testmode_continuous_tx_stop/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_testmode_continuous_tx_stop/format
new file mode 100644
index 0000000..4836aa6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_testmode_continuous_tx_stop/format
@@ -0,0 +1,11 @@
+name: dw3000_testmode_continuous_tx_stop
+ID: 1219
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->dw_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_tm_cmd/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_tm_cmd/format
new file mode 100644
index 0000000..2ec3270
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_tm_cmd/format
@@ -0,0 +1,12 @@
+name: dw3000_tm_cmd
+ID: 1220
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 cmd;	offset:40;	size:4;	signed:0;
+
+print fmt: "%s, cmd: %s", REC->dw_name, __print_symbolic(REC->cmd, { 1, "START_RX_DIAG" }, { 2, "STOP_RX_DIAG" }, { 3, "GET_RX_DIAG" }, { 4, "CLEAR_RX_DIAG" }, { 7, "START_TX_CWTONE" }, { 8, "STOP_TX_CWTONE" }, { 5, "OTP_READ" }, { 6, "OTP_WRITE" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_wakeup/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_wakeup/format
new file mode 100644
index 0000000..dedbac8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_wakeup/format
@@ -0,0 +1,11 @@
+name: dw3000_wakeup
+ID: 1221
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->dw_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_wakeup_done/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_wakeup_done/format
new file mode 100644
index 0000000..0996c66
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_wakeup_done/format
@@ -0,0 +1,15 @@
+name: dw3000_wakeup_done
+ID: 1222
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:s64 sleep_time_us;	offset:40;	size:8;	signed:1;
+	field:u32 sleep_enter_dtu;	offset:48;	size:4;	signed:0;
+	field:u32 dtu_next_op;	offset:52;	size:4;	signed:0;
+	field:enum operational_state next_op;	offset:56;	size:4;	signed:0;
+
+print fmt: "%s, sleep_us: %lld, sleep_enter_dtu: %#x, next_op_date: %#x, next_op: %s", REC->dw_name, REC->sleep_time_us, REC->sleep_enter_dtu, REC->dtu_next_op, __print_symbolic(REC->next_op, { 0, "OFF" }, { 1, "DEEP_SLEEP" }, { 2, "SLEEP" }, { 3, "WAKE_UP" }, { 4, "INIT_RC" }, { 5, "IDLE_RC" }, { 6, "IDLE_PLL" }, { 7, "TX_WAIT" }, { 8, "TX" }, { 9, "RX_WAIT" }, { 10, "RX" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_wakeup_timer_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_wakeup_timer_start/format
new file mode 100644
index 0000000..f1ca481
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dw3000/dw3000_wakeup_timer_start/format
@@ -0,0 +1,12 @@
+name: dw3000_wakeup_timer_start
+ID: 1223
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char dw_name[32];	offset:8;	size:32;	signed:0;
+	field:int delay_us;	offset:40;	size:4;	signed:1;
+
+print fmt: "%s, delay: %dus", REC->dw_name, REC->delay_us
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_alloc_request/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_alloc_request/format
new file mode 100644
index 0000000..5410d16
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_alloc_request/format
@@ -0,0 +1,18 @@
+name: dwc3_alloc_request
+ID: 725
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:struct dwc3_request * req;	offset:16;	size:8;	signed:0;
+	field:unsigned int actual;	offset:24;	size:4;	signed:0;
+	field:unsigned int length;	offset:28;	size:4;	signed:0;
+	field:int status;	offset:32;	size:4;	signed:1;
+	field:int zero;	offset:36;	size:4;	signed:1;
+	field:int short_not_ok;	offset:40;	size:4;	signed:1;
+	field:int no_interrupt;	offset:44;	size:4;	signed:1;
+
+print fmt: "%s: req %p length %u/%u %s%s%s ==> %d", __get_str(name), REC->req, REC->actual, REC->length, REC->zero ? "Z" : "z", REC->short_not_ok ? "S" : "s", REC->no_interrupt ? "i" : "I", REC->status
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_complete_trb/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_complete_trb/format
new file mode 100644
index 0000000..87915da
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_complete_trb/format
@@ -0,0 +1,21 @@
+name: dwc3_complete_trb
+ID: 726
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:struct dwc3_trb * trb;	offset:16;	size:8;	signed:0;
+	field:u32 allocated;	offset:24;	size:4;	signed:0;
+	field:u32 queued;	offset:28;	size:4;	signed:0;
+	field:u32 bpl;	offset:32;	size:4;	signed:0;
+	field:u32 bph;	offset:36;	size:4;	signed:0;
+	field:u32 size;	offset:40;	size:4;	signed:0;
+	field:u32 ctrl;	offset:44;	size:4;	signed:0;
+	field:u32 type;	offset:48;	size:4;	signed:0;
+	field:u32 enqueue;	offset:52;	size:4;	signed:0;
+	field:u32 dequeue;	offset:56;	size:4;	signed:0;
+
+print fmt: "%s: trb %p (E%d:D%d) buf %08x%08x size %s%d ctrl %08x (%c%c%c%c:%c%c:%s)", __get_str(name), REC->trb, REC->enqueue, REC->dequeue, REC->bph, REC->bpl, ({char *s; int pcm = ((REC->size >> 24) & 3) + 1; switch (REC->type) { case 3: case 1: switch (pcm) { case 1: s = "1x "; break; case 2: s = "2x "; break; case 3: default: s = "3x "; break; } break; default: s = ""; } s; }), ((REC->size) & (0x00ffffff)), REC->ctrl, REC->ctrl & ((((1UL))) << (0)) ? 'H' : 'h', REC->ctrl & ((((1UL))) << (1)) ? 'L' : 'l', REC->ctrl & ((((1UL))) << (2)) ? 'C' : 'c', REC->ctrl & ((((1UL))) << (3)) ? 'S' : 's', REC->ctrl & ((((1UL))) << (10)) ? 'S' : 's', REC->ctrl & ((((1UL))) << (11)) ? 'C' : 'c', dwc3_trb_type_string(((REC->ctrl) & (0x3f << 4)))
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_ctrl_req/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_ctrl_req/format
new file mode 100644
index 0000000..f68bc2a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_ctrl_req/format
@@ -0,0 +1,16 @@
+name: dwc3_ctrl_req
+ID: 727
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__u8 bRequestType;	offset:8;	size:1;	signed:0;
+	field:__u8 bRequest;	offset:9;	size:1;	signed:0;
+	field:__u16 wValue;	offset:10;	size:2;	signed:0;
+	field:__u16 wIndex;	offset:12;	size:2;	signed:0;
+	field:__u16 wLength;	offset:14;	size:2;	signed:0;
+	field:__data_loc char[] str;	offset:16;	size:4;	signed:0;
+
+print fmt: "%s", usb_decode_ctrl(__get_str(str), 500, REC->bRequestType, REC->bRequest, REC->wValue, REC->wIndex, REC->wLength)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_ep_dequeue/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_ep_dequeue/format
new file mode 100644
index 0000000..19fe3ee
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_ep_dequeue/format
@@ -0,0 +1,18 @@
+name: dwc3_ep_dequeue
+ID: 728
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:struct dwc3_request * req;	offset:16;	size:8;	signed:0;
+	field:unsigned int actual;	offset:24;	size:4;	signed:0;
+	field:unsigned int length;	offset:28;	size:4;	signed:0;
+	field:int status;	offset:32;	size:4;	signed:1;
+	field:int zero;	offset:36;	size:4;	signed:1;
+	field:int short_not_ok;	offset:40;	size:4;	signed:1;
+	field:int no_interrupt;	offset:44;	size:4;	signed:1;
+
+print fmt: "%s: req %p length %u/%u %s%s%s ==> %d", __get_str(name), REC->req, REC->actual, REC->length, REC->zero ? "Z" : "z", REC->short_not_ok ? "S" : "s", REC->no_interrupt ? "i" : "I", REC->status
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_ep_queue/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_ep_queue/format
new file mode 100644
index 0000000..cf3fd6c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_ep_queue/format
@@ -0,0 +1,18 @@
+name: dwc3_ep_queue
+ID: 729
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:struct dwc3_request * req;	offset:16;	size:8;	signed:0;
+	field:unsigned int actual;	offset:24;	size:4;	signed:0;
+	field:unsigned int length;	offset:28;	size:4;	signed:0;
+	field:int status;	offset:32;	size:4;	signed:1;
+	field:int zero;	offset:36;	size:4;	signed:1;
+	field:int short_not_ok;	offset:40;	size:4;	signed:1;
+	field:int no_interrupt;	offset:44;	size:4;	signed:1;
+
+print fmt: "%s: req %p length %u/%u %s%s%s ==> %d", __get_str(name), REC->req, REC->actual, REC->length, REC->zero ? "Z" : "z", REC->short_not_ok ? "S" : "s", REC->no_interrupt ? "i" : "I", REC->status
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_event/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_event/format
new file mode 100644
index 0000000..50708a3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_event/format
@@ -0,0 +1,13 @@
+name: dwc3_event
+ID: 730
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 event;	offset:8;	size:4;	signed:0;
+	field:u32 ep0state;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] str;	offset:16;	size:4;	signed:0;
+
+print fmt: "event (%08x): %s", REC->event, dwc3_decode_event(__get_str(str), 500, REC->event, REC->ep0state)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_free_request/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_free_request/format
new file mode 100644
index 0000000..526e6da
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_free_request/format
@@ -0,0 +1,18 @@
+name: dwc3_free_request
+ID: 731
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:struct dwc3_request * req;	offset:16;	size:8;	signed:0;
+	field:unsigned int actual;	offset:24;	size:4;	signed:0;
+	field:unsigned int length;	offset:28;	size:4;	signed:0;
+	field:int status;	offset:32;	size:4;	signed:1;
+	field:int zero;	offset:36;	size:4;	signed:1;
+	field:int short_not_ok;	offset:40;	size:4;	signed:1;
+	field:int no_interrupt;	offset:44;	size:4;	signed:1;
+
+print fmt: "%s: req %p length %u/%u %s%s%s ==> %d", __get_str(name), REC->req, REC->actual, REC->length, REC->zero ? "Z" : "z", REC->short_not_ok ? "S" : "s", REC->no_interrupt ? "i" : "I", REC->status
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_gadget_ep_cmd/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_gadget_ep_cmd/format
new file mode 100644
index 0000000..8bd90a9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_gadget_ep_cmd/format
@@ -0,0 +1,16 @@
+name: dwc3_gadget_ep_cmd
+ID: 732
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned int cmd;	offset:12;	size:4;	signed:0;
+	field:u32 param0;	offset:16;	size:4;	signed:0;
+	field:u32 param1;	offset:20;	size:4;	signed:0;
+	field:u32 param2;	offset:24;	size:4;	signed:0;
+	field:int cmd_status;	offset:28;	size:4;	signed:1;
+
+print fmt: "%s: cmd '%s' [%x] params %08x %08x %08x --> status: %s", __get_str(name), dwc3_gadget_ep_cmd_string(REC->cmd), REC->cmd, REC->param0, REC->param1, REC->param2, dwc3_ep_cmd_status_string(REC->cmd_status)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_gadget_ep_disable/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_gadget_ep_disable/format
new file mode 100644
index 0000000..d853693
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_gadget_ep_disable/format
@@ -0,0 +1,19 @@
+name: dwc3_gadget_ep_disable
+ID: 733
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned int maxpacket;	offset:12;	size:4;	signed:0;
+	field:unsigned int maxpacket_limit;	offset:16;	size:4;	signed:0;
+	field:unsigned int max_streams;	offset:20;	size:4;	signed:0;
+	field:unsigned int maxburst;	offset:24;	size:4;	signed:0;
+	field:unsigned int flags;	offset:28;	size:4;	signed:0;
+	field:unsigned int direction;	offset:32;	size:4;	signed:0;
+	field:u8 trb_enqueue;	offset:36;	size:1;	signed:0;
+	field:u8 trb_dequeue;	offset:37;	size:1;	signed:0;
+
+print fmt: "%s: mps %d/%d streams %d burst %d ring %d/%d flags %c:%c%c%c%c:%c", __get_str(name), REC->maxpacket, REC->maxpacket_limit, REC->max_streams, REC->maxburst, REC->trb_enqueue, REC->trb_dequeue, REC->flags & ((((1UL))) << (0)) ? 'E' : 'e', REC->flags & ((((1UL))) << (1)) ? 'S' : 's', REC->flags & ((((1UL))) << (2)) ? 'W' : 'w', REC->flags & ((((1UL))) << (3)) ? 'B' : 'b', REC->flags & ((((1UL))) << (5)) ? 'P' : 'p', REC->direction ? '<' : '>'
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_gadget_ep_enable/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_gadget_ep_enable/format
new file mode 100644
index 0000000..627f3db
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_gadget_ep_enable/format
@@ -0,0 +1,19 @@
+name: dwc3_gadget_ep_enable
+ID: 734
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned int maxpacket;	offset:12;	size:4;	signed:0;
+	field:unsigned int maxpacket_limit;	offset:16;	size:4;	signed:0;
+	field:unsigned int max_streams;	offset:20;	size:4;	signed:0;
+	field:unsigned int maxburst;	offset:24;	size:4;	signed:0;
+	field:unsigned int flags;	offset:28;	size:4;	signed:0;
+	field:unsigned int direction;	offset:32;	size:4;	signed:0;
+	field:u8 trb_enqueue;	offset:36;	size:1;	signed:0;
+	field:u8 trb_dequeue;	offset:37;	size:1;	signed:0;
+
+print fmt: "%s: mps %d/%d streams %d burst %d ring %d/%d flags %c:%c%c%c%c:%c", __get_str(name), REC->maxpacket, REC->maxpacket_limit, REC->max_streams, REC->maxburst, REC->trb_enqueue, REC->trb_dequeue, REC->flags & ((((1UL))) << (0)) ? 'E' : 'e', REC->flags & ((((1UL))) << (1)) ? 'S' : 's', REC->flags & ((((1UL))) << (2)) ? 'W' : 'w', REC->flags & ((((1UL))) << (3)) ? 'B' : 'b', REC->flags & ((((1UL))) << (5)) ? 'P' : 'p', REC->direction ? '<' : '>'
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_gadget_generic_cmd/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_gadget_generic_cmd/format
new file mode 100644
index 0000000..4bfbf30
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_gadget_generic_cmd/format
@@ -0,0 +1,13 @@
+name: dwc3_gadget_generic_cmd
+ID: 735
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int cmd;	offset:8;	size:4;	signed:0;
+	field:u32 param;	offset:12;	size:4;	signed:0;
+	field:int status;	offset:16;	size:4;	signed:1;
+
+print fmt: "cmd '%s' [%x] param %08x --> status: %s", dwc3_gadget_generic_cmd_string(REC->cmd), REC->cmd, REC->param, dwc3_gadget_generic_cmd_status_string(REC->status)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_gadget_giveback/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_gadget_giveback/format
new file mode 100644
index 0000000..0ca80d5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_gadget_giveback/format
@@ -0,0 +1,18 @@
+name: dwc3_gadget_giveback
+ID: 736
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:struct dwc3_request * req;	offset:16;	size:8;	signed:0;
+	field:unsigned int actual;	offset:24;	size:4;	signed:0;
+	field:unsigned int length;	offset:28;	size:4;	signed:0;
+	field:int status;	offset:32;	size:4;	signed:1;
+	field:int zero;	offset:36;	size:4;	signed:1;
+	field:int short_not_ok;	offset:40;	size:4;	signed:1;
+	field:int no_interrupt;	offset:44;	size:4;	signed:1;
+
+print fmt: "%s: req %p length %u/%u %s%s%s ==> %d", __get_str(name), REC->req, REC->actual, REC->length, REC->zero ? "Z" : "z", REC->short_not_ok ? "S" : "s", REC->no_interrupt ? "i" : "I", REC->status
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_prepare_trb/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_prepare_trb/format
new file mode 100644
index 0000000..971036e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_prepare_trb/format
@@ -0,0 +1,21 @@
+name: dwc3_prepare_trb
+ID: 737
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:struct dwc3_trb * trb;	offset:16;	size:8;	signed:0;
+	field:u32 allocated;	offset:24;	size:4;	signed:0;
+	field:u32 queued;	offset:28;	size:4;	signed:0;
+	field:u32 bpl;	offset:32;	size:4;	signed:0;
+	field:u32 bph;	offset:36;	size:4;	signed:0;
+	field:u32 size;	offset:40;	size:4;	signed:0;
+	field:u32 ctrl;	offset:44;	size:4;	signed:0;
+	field:u32 type;	offset:48;	size:4;	signed:0;
+	field:u32 enqueue;	offset:52;	size:4;	signed:0;
+	field:u32 dequeue;	offset:56;	size:4;	signed:0;
+
+print fmt: "%s: trb %p (E%d:D%d) buf %08x%08x size %s%d ctrl %08x (%c%c%c%c:%c%c:%s)", __get_str(name), REC->trb, REC->enqueue, REC->dequeue, REC->bph, REC->bpl, ({char *s; int pcm = ((REC->size >> 24) & 3) + 1; switch (REC->type) { case 3: case 1: switch (pcm) { case 1: s = "1x "; break; case 2: s = "2x "; break; case 3: default: s = "3x "; break; } break; default: s = ""; } s; }), ((REC->size) & (0x00ffffff)), REC->ctrl, REC->ctrl & ((((1UL))) << (0)) ? 'H' : 'h', REC->ctrl & ((((1UL))) << (1)) ? 'L' : 'l', REC->ctrl & ((((1UL))) << (2)) ? 'C' : 'c', REC->ctrl & ((((1UL))) << (3)) ? 'S' : 's', REC->ctrl & ((((1UL))) << (10)) ? 'S' : 's', REC->ctrl & ((((1UL))) << (11)) ? 'C' : 'c', dwc3_trb_type_string(((REC->ctrl) & (0x3f << 4)))
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_readl/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_readl/format
new file mode 100644
index 0000000..c8bbb95
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_readl/format
@@ -0,0 +1,13 @@
+name: dwc3_readl
+ID: 738
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * base;	offset:8;	size:8;	signed:0;
+	field:u32 offset;	offset:16;	size:4;	signed:0;
+	field:u32 value;	offset:20;	size:4;	signed:0;
+
+print fmt: "addr %p value %08x", REC->base + REC->offset, REC->value
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_writel/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_writel/format
new file mode 100644
index 0000000..64bfc7d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/dwc3/dwc3_writel/format
@@ -0,0 +1,13 @@
+name: dwc3_writel
+ID: 739
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * base;	offset:8;	size:8;	signed:0;
+	field:u32 offset;	offset:16;	size:4;	signed:0;
+	field:u32 value;	offset:20;	size:4;	signed:0;
+
+print fmt: "addr %p value %08x", REC->base + REC->offset, REC->value
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/edgetpu/edgetpu_map_buffer_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/edgetpu/edgetpu_map_buffer_end/format
new file mode 100644
index 0000000..be941fc
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/edgetpu/edgetpu_map_buffer_end/format
@@ -0,0 +1,15 @@
+name: edgetpu_map_buffer_end
+ID: 1117
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__u64 host_address;	offset:8;	size:8;	signed:0;
+	field:__u64 size;	offset:16;	size:8;	signed:0;
+	field:__u64 device_address;	offset:24;	size:8;	signed:0;
+	field:edgetpu_map_flag_t flags;	offset:32;	size:4;	signed:0;
+	field:__u32 die_index;	offset:36;	size:4;	signed:0;
+
+print fmt: "host_address = 0x%llx, size = %llu, device_address = 0x%llx, flags = 0x%x, die_index = %u", REC->host_address, REC->size, REC->device_address, REC->flags, REC->die_index
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/edgetpu/edgetpu_map_buffer_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/edgetpu/edgetpu_map_buffer_start/format
new file mode 100644
index 0000000..fcabb1e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/edgetpu/edgetpu_map_buffer_start/format
@@ -0,0 +1,14 @@
+name: edgetpu_map_buffer_start
+ID: 1118
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__u64 host_address;	offset:8;	size:8;	signed:0;
+	field:__u64 size;	offset:16;	size:8;	signed:0;
+	field:edgetpu_map_flag_t flags;	offset:24;	size:4;	signed:0;
+	field:__u32 die_index;	offset:28;	size:4;	signed:0;
+
+print fmt: "host_address = 0x%llx, size = %llu, flags = 0x%x, die_index = %u", REC->host_address, REC->size, REC->flags, REC->die_index
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/edgetpu/edgetpu_map_dmabuf_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/edgetpu/edgetpu_map_dmabuf_end/format
new file mode 100644
index 0000000..ddeaffe
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/edgetpu/edgetpu_map_dmabuf_end/format
@@ -0,0 +1,16 @@
+name: edgetpu_map_dmabuf_end
+ID: 1119
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__u64 offset;	offset:8;	size:8;	signed:0;
+	field:__u64 size;	offset:16;	size:8;	signed:0;
+	field:__u64 device_address;	offset:24;	size:8;	signed:0;
+	field:int dmabuf_fd;	offset:32;	size:4;	signed:1;
+	field:edgetpu_map_flag_t flags;	offset:36;	size:4;	signed:0;
+	field:__u32 die_index;	offset:40;	size:4;	signed:0;
+
+print fmt: "offset = 0x%llx, size = %llu, device_address = 0x%llx, dmabuf_fd = %d, flags = 0x%x, die_index = %u", REC->offset, REC->size, REC->device_address, REC->dmabuf_fd, REC->flags, REC->die_index
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/edgetpu/edgetpu_map_dmabuf_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/edgetpu/edgetpu_map_dmabuf_start/format
new file mode 100644
index 0000000..9c8f0c2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/edgetpu/edgetpu_map_dmabuf_start/format
@@ -0,0 +1,15 @@
+name: edgetpu_map_dmabuf_start
+ID: 1120
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__u64 offset;	offset:8;	size:8;	signed:0;
+	field:__u64 size;	offset:16;	size:8;	signed:0;
+	field:int dmabuf_fd;	offset:24;	size:4;	signed:1;
+	field:edgetpu_map_flag_t flags;	offset:28;	size:4;	signed:0;
+	field:__u32 die_index;	offset:32;	size:4;	signed:0;
+
+print fmt: "offset = 0x%llx, size = %llu, dmabuf_fd = %d, flags = 0x%x, die_index = %u", REC->offset, REC->size, REC->dmabuf_fd, REC->flags, REC->die_index
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/emulation/instruction_emulation/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/emulation/instruction_emulation/format
new file mode 100644
index 0000000..8487198
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/emulation/instruction_emulation/format
@@ -0,0 +1,12 @@
+name: instruction_emulation
+ID: 25
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] instr;	offset:8;	size:4;	signed:0;
+	field:u64 addr;	offset:16;	size:8;	signed:0;
+
+print fmt: "instr="%s" addr=0x%llx", __get_str(instr), REC->addr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/erofs/erofs_destroy_inode/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/erofs/erofs_destroy_inode/format
new file mode 100644
index 0000000..b684502
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/erofs/erofs_destroy_inode/format
@@ -0,0 +1,12 @@
+name: erofs_destroy_inode
+ID: 575
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:erofs_nid_t nid;	offset:16;	size:8;	signed:0;
+
+print fmt: "dev = (%d,%d), nid = %llu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->nid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/erofs/erofs_fill_inode/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/erofs/erofs_fill_inode/format
new file mode 100644
index 0000000..1070001
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/erofs/erofs_fill_inode/format
@@ -0,0 +1,15 @@
+name: erofs_fill_inode
+ID: 576
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:erofs_nid_t nid;	offset:16;	size:8;	signed:0;
+	field:erofs_blk_t blkaddr;	offset:24;	size:4;	signed:0;
+	field:unsigned int ofs;	offset:28;	size:4;	signed:0;
+	field:int isdir;	offset:32;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), nid = %llu, blkaddr %u ofs %u, isdir %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->nid, REC->blkaddr, REC->ofs, REC->isdir
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/erofs/erofs_lookup/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/erofs/erofs_lookup/format
new file mode 100644
index 0000000..3253cd3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/erofs/erofs_lookup/format
@@ -0,0 +1,14 @@
+name: erofs_lookup
+ID: 577
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:erofs_nid_t nid;	offset:16;	size:8;	signed:0;
+	field:const char * name;	offset:24;	size:8;	signed:0;
+	field:unsigned int flags;	offset:32;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d), pnid = %llu, name:%s, flags:%x", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->nid, REC->name, REC->flags
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/erofs/erofs_map_blocks_flatmode_enter/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/erofs/erofs_map_blocks_flatmode_enter/format
new file mode 100644
index 0000000..4e8b62e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/erofs/erofs_map_blocks_flatmode_enter/format
@@ -0,0 +1,15 @@
+name: erofs_map_blocks_flatmode_enter
+ID: 578
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:erofs_nid_t nid;	offset:16;	size:8;	signed:0;
+	field:erofs_off_t la;	offset:24;	size:8;	signed:0;
+	field:u64 llen;	offset:32;	size:8;	signed:0;
+	field:unsigned int flags;	offset:40;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d), nid = %llu, la %llu llen %llu flags %s", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->nid, REC->la, REC->llen, REC->flags ? __print_flags(REC->flags, "|", { 0x0001, "RAW" }) : "NULL"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/erofs/erofs_map_blocks_flatmode_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/erofs/erofs_map_blocks_flatmode_exit/format
new file mode 100644
index 0000000..1d5151c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/erofs/erofs_map_blocks_flatmode_exit/format
@@ -0,0 +1,19 @@
+name: erofs_map_blocks_flatmode_exit
+ID: 579
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:erofs_nid_t nid;	offset:16;	size:8;	signed:0;
+	field:unsigned int flags;	offset:24;	size:4;	signed:0;
+	field:erofs_off_t la;	offset:32;	size:8;	signed:0;
+	field:erofs_off_t pa;	offset:40;	size:8;	signed:0;
+	field:u64 llen;	offset:48;	size:8;	signed:0;
+	field:u64 plen;	offset:56;	size:8;	signed:0;
+	field:unsigned int mflags;	offset:64;	size:4;	signed:0;
+	field:int ret;	offset:68;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), nid = %llu, flags %s la %llu pa %llu llen %llu plen %llu mflags %s ret %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->nid, REC->flags ? __print_flags(REC->flags, "|", { 0x0001, "RAW" }) : "NULL", REC->la, REC->pa, REC->llen, REC->plen, __print_flags(REC->mflags, "", { (1 << BH_Mapped), "M" }, { (1 << BH_Meta), "I" }, { (1 << BH_Zipped), "Z" }), REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/erofs/erofs_readpage/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/erofs/erofs_readpage/format
new file mode 100644
index 0000000..ccf5f8a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/erofs/erofs_readpage/format
@@ -0,0 +1,16 @@
+name: erofs_readpage
+ID: 580
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:erofs_nid_t nid;	offset:16;	size:8;	signed:0;
+	field:int dir;	offset:24;	size:4;	signed:1;
+	field:unsigned long index;	offset:32;	size:8;	signed:0;
+	field:int uptodate;	offset:40;	size:4;	signed:1;
+	field:bool raw;	offset:44;	size:1;	signed:0;
+
+print fmt: "dev = (%d,%d), nid = %llu, %s, index = %lu, uptodate = %d raw = %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->nid, __print_symbolic(REC->dir, { 0, "FILE" }, { 1, "DIR" }), (unsigned long)REC->index, REC->uptodate, REC->raw
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/erofs/erofs_readpages/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/erofs/erofs_readpages/format
new file mode 100644
index 0000000..c4f463e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/erofs/erofs_readpages/format
@@ -0,0 +1,15 @@
+name: erofs_readpages
+ID: 581
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:erofs_nid_t nid;	offset:16;	size:8;	signed:0;
+	field:unsigned long start;	offset:24;	size:8;	signed:0;
+	field:unsigned int nrpage;	offset:32;	size:4;	signed:0;
+	field:bool raw;	offset:36;	size:1;	signed:0;
+
+print fmt: "dev = (%d,%d), nid = %llu, start = %lu nrpage = %u raw = %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->nid, (unsigned long)REC->start, REC->nrpage, REC->raw
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/erofs/z_erofs_map_blocks_iter_enter/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/erofs/z_erofs_map_blocks_iter_enter/format
new file mode 100644
index 0000000..e27fc09
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/erofs/z_erofs_map_blocks_iter_enter/format
@@ -0,0 +1,15 @@
+name: z_erofs_map_blocks_iter_enter
+ID: 582
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:erofs_nid_t nid;	offset:16;	size:8;	signed:0;
+	field:erofs_off_t la;	offset:24;	size:8;	signed:0;
+	field:u64 llen;	offset:32;	size:8;	signed:0;
+	field:unsigned int flags;	offset:40;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d), nid = %llu, la %llu llen %llu flags %s", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->nid, REC->la, REC->llen, REC->flags ? __print_flags(REC->flags, "|", { 0x0001, "RAW" }) : "NULL"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/erofs/z_erofs_map_blocks_iter_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/erofs/z_erofs_map_blocks_iter_exit/format
new file mode 100644
index 0000000..f90d0c3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/erofs/z_erofs_map_blocks_iter_exit/format
@@ -0,0 +1,19 @@
+name: z_erofs_map_blocks_iter_exit
+ID: 583
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:erofs_nid_t nid;	offset:16;	size:8;	signed:0;
+	field:unsigned int flags;	offset:24;	size:4;	signed:0;
+	field:erofs_off_t la;	offset:32;	size:8;	signed:0;
+	field:erofs_off_t pa;	offset:40;	size:8;	signed:0;
+	field:u64 llen;	offset:48;	size:8;	signed:0;
+	field:u64 plen;	offset:56;	size:8;	signed:0;
+	field:unsigned int mflags;	offset:64;	size:4;	signed:0;
+	field:int ret;	offset:68;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), nid = %llu, flags %s la %llu pa %llu llen %llu plen %llu mflags %s ret %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->nid, REC->flags ? __print_flags(REC->flags, "|", { 0x0001, "RAW" }) : "NULL", REC->la, REC->pa, REC->llen, REC->plen, __print_flags(REC->mflags, "", { (1 << BH_Mapped), "M" }, { (1 << BH_Meta), "I" }, { (1 << BH_Zipped), "Z" }), REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/error_report/error_report_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/error_report/error_report_end/format
new file mode 100644
index 0000000..408266a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/error_report/error_report_end/format
@@ -0,0 +1,12 @@
+name: error_report_end
+ID: 169
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:enum error_detector error_detector;	offset:8;	size:4;	signed:0;
+	field:unsigned long id;	offset:16;	size:8;	signed:0;
+
+print fmt: "[%s] %lx", __print_symbolic(REC->error_detector, { 0, "kfence" }, { 1, "kasan" }), REC->id
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_alloc_da_blocks/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_alloc_da_blocks/format
new file mode 100644
index 0000000..799de34
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_alloc_da_blocks/format
@@ -0,0 +1,13 @@
+name: ext4_alloc_da_blocks
+ID: 369
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned int data_blocks;	offset:24;	size:4;	signed:0;
+
+print fmt: "dev %d,%d ino %lu reserved_data_blocks %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->data_blocks
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_allocate_blocks/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_allocate_blocks/format
new file mode 100644
index 0000000..9f48306
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_allocate_blocks/format
@@ -0,0 +1,21 @@
+name: ext4_allocate_blocks
+ID: 370
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:__u64 block;	offset:24;	size:8;	signed:0;
+	field:unsigned int len;	offset:32;	size:4;	signed:0;
+	field:__u32 logical;	offset:36;	size:4;	signed:0;
+	field:__u32 lleft;	offset:40;	size:4;	signed:0;
+	field:__u32 lright;	offset:44;	size:4;	signed:0;
+	field:__u64 goal;	offset:48;	size:8;	signed:0;
+	field:__u64 pleft;	offset:56;	size:8;	signed:0;
+	field:__u64 pright;	offset:64;	size:8;	signed:0;
+	field:unsigned int flags;	offset:72;	size:4;	signed:0;
+
+print fmt: "dev %d,%d ino %lu flags %s len %u block %llu lblk %u goal %llu lleft %u lright %u pleft %llu pright %llu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, __print_flags(REC->flags, "|", { 0x0001, "HINT_MERGE" }, { 0x0002, "HINT_RESV" }, { 0x0004, "HINT_MDATA" }, { 0x0008, "HINT_FIRST" }, { 0x0010, "HINT_BEST" }, { 0x0020, "HINT_DATA" }, { 0x0040, "HINT_NOPREALLOC" }, { 0x0080, "HINT_GRP_ALLOC" }, { 0x0100, "HINT_GOAL_ONLY" }, { 0x0200, "HINT_TRY_GOAL" }, { 0x0400, "DELALLOC_RESV" }, { 0x0800, "STREAM_ALLOC" }, { 0x1000, "USE_ROOT_BLKS" }, { 0x2000, "USE_RESV" }, { 0x4000, "STRICT_CHECK" }), REC->len, REC->block, REC->logical, REC->goal, REC->lleft, REC->lright, REC->pleft, REC->pright
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_allocate_inode/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_allocate_inode/format
new file mode 100644
index 0000000..50347ca
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_allocate_inode/format
@@ -0,0 +1,14 @@
+name: ext4_allocate_inode
+ID: 371
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ino_t dir;	offset:24;	size:8;	signed:0;
+	field:__u16 mode;	offset:32;	size:2;	signed:0;
+
+print fmt: "dev %d,%d ino %lu dir %lu mode 0%o", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, (unsigned long) REC->dir, REC->mode
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_begin_ordered_truncate/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_begin_ordered_truncate/format
new file mode 100644
index 0000000..3527cbb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_begin_ordered_truncate/format
@@ -0,0 +1,13 @@
+name: ext4_begin_ordered_truncate
+ID: 372
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:loff_t new_size;	offset:24;	size:8;	signed:1;
+
+print fmt: "dev %d,%d ino %lu new_size %lld", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->new_size
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_collapse_range/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_collapse_range/format
new file mode 100644
index 0000000..d0bb6e1
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_collapse_range/format
@@ -0,0 +1,14 @@
+name: ext4_collapse_range
+ID: 373
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:loff_t offset;	offset:24;	size:8;	signed:1;
+	field:loff_t len;	offset:32;	size:8;	signed:1;
+
+print fmt: "dev %d,%d ino %lu offset %lld len %lld", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->offset, REC->len
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_da_release_space/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_da_release_space/format
new file mode 100644
index 0000000..97f2f46
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_da_release_space/format
@@ -0,0 +1,16 @@
+name: ext4_da_release_space
+ID: 374
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:__u64 i_blocks;	offset:24;	size:8;	signed:0;
+	field:int freed_blocks;	offset:32;	size:4;	signed:1;
+	field:int reserved_data_blocks;	offset:36;	size:4;	signed:1;
+	field:__u16 mode;	offset:40;	size:2;	signed:0;
+
+print fmt: "dev %d,%d ino %lu mode 0%o i_blocks %llu freed_blocks %d reserved_data_blocks %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->mode, REC->i_blocks, REC->freed_blocks, REC->reserved_data_blocks
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_da_reserve_space/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_da_reserve_space/format
new file mode 100644
index 0000000..377f9cc
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_da_reserve_space/format
@@ -0,0 +1,15 @@
+name: ext4_da_reserve_space
+ID: 375
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:__u64 i_blocks;	offset:24;	size:8;	signed:0;
+	field:int reserved_data_blocks;	offset:32;	size:4;	signed:1;
+	field:__u16 mode;	offset:36;	size:2;	signed:0;
+
+print fmt: "dev %d,%d ino %lu mode 0%o i_blocks %llu reserved_data_blocks %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->mode, REC->i_blocks, REC->reserved_data_blocks
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_da_update_reserve_space/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_da_update_reserve_space/format
new file mode 100644
index 0000000..c08b41f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_da_update_reserve_space/format
@@ -0,0 +1,17 @@
+name: ext4_da_update_reserve_space
+ID: 376
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:__u64 i_blocks;	offset:24;	size:8;	signed:0;
+	field:int used_blocks;	offset:32;	size:4;	signed:1;
+	field:int reserved_data_blocks;	offset:36;	size:4;	signed:1;
+	field:int quota_claim;	offset:40;	size:4;	signed:1;
+	field:__u16 mode;	offset:44;	size:2;	signed:0;
+
+print fmt: "dev %d,%d ino %lu mode 0%o i_blocks %llu used_blocks %d reserved_data_blocks %d quota_claim %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->mode, REC->i_blocks, REC->used_blocks, REC->reserved_data_blocks, REC->quota_claim
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_da_write_begin/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_da_write_begin/format
new file mode 100644
index 0000000..182a9d3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_da_write_begin/format
@@ -0,0 +1,15 @@
+name: ext4_da_write_begin
+ID: 377
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:loff_t pos;	offset:24;	size:8;	signed:1;
+	field:unsigned int len;	offset:32;	size:4;	signed:0;
+	field:unsigned int flags;	offset:36;	size:4;	signed:0;
+
+print fmt: "dev %d,%d ino %lu pos %lld len %u flags %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->pos, REC->len, REC->flags
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_da_write_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_da_write_end/format
new file mode 100644
index 0000000..f620c8c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_da_write_end/format
@@ -0,0 +1,15 @@
+name: ext4_da_write_end
+ID: 378
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:loff_t pos;	offset:24;	size:8;	signed:1;
+	field:unsigned int len;	offset:32;	size:4;	signed:0;
+	field:unsigned int copied;	offset:36;	size:4;	signed:0;
+
+print fmt: "dev %d,%d ino %lu pos %lld len %u copied %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->pos, REC->len, REC->copied
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_da_write_pages/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_da_write_pages/format
new file mode 100644
index 0000000..8dbb8e0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_da_write_pages/format
@@ -0,0 +1,15 @@
+name: ext4_da_write_pages
+ID: 379
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned long first_page;	offset:24;	size:8;	signed:0;
+	field:long nr_to_write;	offset:32;	size:8;	signed:1;
+	field:int sync_mode;	offset:40;	size:4;	signed:1;
+
+print fmt: "dev %d,%d ino %lu first_page %lu nr_to_write %ld sync_mode %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->first_page, REC->nr_to_write, REC->sync_mode
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_da_write_pages_extent/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_da_write_pages_extent/format
new file mode 100644
index 0000000..e711239
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_da_write_pages_extent/format
@@ -0,0 +1,15 @@
+name: ext4_da_write_pages_extent
+ID: 380
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:__u64 lblk;	offset:24;	size:8;	signed:0;
+	field:__u32 len;	offset:32;	size:4;	signed:0;
+	field:__u32 flags;	offset:36;	size:4;	signed:0;
+
+print fmt: "dev %d,%d ino %lu lblk %llu len %u flags %s", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->lblk, REC->len, __print_flags(REC->flags, "", { ((((1UL))) << (5)), "N" }, { ((((1UL))) << (4)), "M" }, { ((((1UL))) << (11)), "U" }, { ((((1UL))) << (9)), "B" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_direct_IO_enter/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_direct_IO_enter/format
new file mode 100644
index 0000000..05bfe16
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_direct_IO_enter/format
@@ -0,0 +1,15 @@
+name: ext4_direct_IO_enter
+ID: 381
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:loff_t pos;	offset:24;	size:8;	signed:1;
+	field:unsigned long len;	offset:32;	size:8;	signed:0;
+	field:int rw;	offset:40;	size:4;	signed:1;
+
+print fmt: "dev %d,%d ino %lu pos %lld len %lu rw %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->pos, REC->len, REC->rw
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_direct_IO_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_direct_IO_exit/format
new file mode 100644
index 0000000..68d332f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_direct_IO_exit/format
@@ -0,0 +1,16 @@
+name: ext4_direct_IO_exit
+ID: 382
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:loff_t pos;	offset:24;	size:8;	signed:1;
+	field:unsigned long len;	offset:32;	size:8;	signed:0;
+	field:int rw;	offset:40;	size:4;	signed:1;
+	field:int ret;	offset:44;	size:4;	signed:1;
+
+print fmt: "dev %d,%d ino %lu pos %lld len %lu rw %d ret %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->pos, REC->len, REC->rw, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_discard_blocks/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_discard_blocks/format
new file mode 100644
index 0000000..801fb78
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_discard_blocks/format
@@ -0,0 +1,13 @@
+name: ext4_discard_blocks
+ID: 383
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:__u64 blk;	offset:16;	size:8;	signed:0;
+	field:__u64 count;	offset:24;	size:8;	signed:0;
+
+print fmt: "dev %d,%d blk %llu count %llu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->blk, REC->count
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_discard_preallocations/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_discard_preallocations/format
new file mode 100644
index 0000000..3ba3021
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_discard_preallocations/format
@@ -0,0 +1,14 @@
+name: ext4_discard_preallocations
+ID: 384
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned int len;	offset:24;	size:4;	signed:0;
+	field:unsigned int needed;	offset:28;	size:4;	signed:0;
+
+print fmt: "dev %d,%d ino %lu len: %u needed %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->len, REC->needed
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_drop_inode/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_drop_inode/format
new file mode 100644
index 0000000..1bc360a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_drop_inode/format
@@ -0,0 +1,13 @@
+name: ext4_drop_inode
+ID: 385
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:int drop;	offset:24;	size:4;	signed:1;
+
+print fmt: "dev %d,%d ino %lu drop %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->drop
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_error/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_error/format
new file mode 100644
index 0000000..7d862e6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_error/format
@@ -0,0 +1,13 @@
+name: ext4_error
+ID: 386
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:const char * function;	offset:16;	size:8;	signed:0;
+	field:unsigned line;	offset:24;	size:4;	signed:0;
+
+print fmt: "dev %d,%d function %s line %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->function, REC->line
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_cache_extent/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_cache_extent/format
new file mode 100644
index 0000000..a530e8b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_cache_extent/format
@@ -0,0 +1,16 @@
+name: ext4_es_cache_extent
+ID: 387
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ext4_lblk_t lblk;	offset:24;	size:4;	signed:0;
+	field:ext4_lblk_t len;	offset:28;	size:4;	signed:0;
+	field:ext4_fsblk_t pblk;	offset:32;	size:8;	signed:0;
+	field:char status;	offset:40;	size:1;	signed:0;
+
+print fmt: "dev %d,%d ino %lu es [%u/%u) mapped %llu status %s", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->lblk, REC->len, REC->pblk, __print_flags(REC->status, "", { (1 << 0), "W" }, { (1 << 1), "U" }, { (1 << 2), "D" }, { (1 << 3), "H" }, { (1 << 4), "R" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_find_extent_range_enter/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_find_extent_range_enter/format
new file mode 100644
index 0000000..4f786be
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_find_extent_range_enter/format
@@ -0,0 +1,13 @@
+name: ext4_es_find_extent_range_enter
+ID: 388
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ext4_lblk_t lblk;	offset:24;	size:4;	signed:0;
+
+print fmt: "dev %d,%d ino %lu lblk %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->lblk
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_find_extent_range_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_find_extent_range_exit/format
new file mode 100644
index 0000000..8709f7e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_find_extent_range_exit/format
@@ -0,0 +1,16 @@
+name: ext4_es_find_extent_range_exit
+ID: 389
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ext4_lblk_t lblk;	offset:24;	size:4;	signed:0;
+	field:ext4_lblk_t len;	offset:28;	size:4;	signed:0;
+	field:ext4_fsblk_t pblk;	offset:32;	size:8;	signed:0;
+	field:char status;	offset:40;	size:1;	signed:0;
+
+print fmt: "dev %d,%d ino %lu es [%u/%u) mapped %llu status %s", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->lblk, REC->len, REC->pblk, __print_flags(REC->status, "", { (1 << 0), "W" }, { (1 << 1), "U" }, { (1 << 2), "D" }, { (1 << 3), "H" }, { (1 << 4), "R" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_insert_delayed_block/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_insert_delayed_block/format
new file mode 100644
index 0000000..0daa396
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_insert_delayed_block/format
@@ -0,0 +1,17 @@
+name: ext4_es_insert_delayed_block
+ID: 390
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ext4_lblk_t lblk;	offset:24;	size:4;	signed:0;
+	field:ext4_lblk_t len;	offset:28;	size:4;	signed:0;
+	field:ext4_fsblk_t pblk;	offset:32;	size:8;	signed:0;
+	field:char status;	offset:40;	size:1;	signed:0;
+	field:bool allocated;	offset:41;	size:1;	signed:0;
+
+print fmt: "dev %d,%d ino %lu es [%u/%u) mapped %llu status %s allocated %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->lblk, REC->len, REC->pblk, __print_flags(REC->status, "", { (1 << 0), "W" }, { (1 << 1), "U" }, { (1 << 2), "D" }, { (1 << 3), "H" }, { (1 << 4), "R" }), REC->allocated
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_insert_extent/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_insert_extent/format
new file mode 100644
index 0000000..96cf7cb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_insert_extent/format
@@ -0,0 +1,16 @@
+name: ext4_es_insert_extent
+ID: 391
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ext4_lblk_t lblk;	offset:24;	size:4;	signed:0;
+	field:ext4_lblk_t len;	offset:28;	size:4;	signed:0;
+	field:ext4_fsblk_t pblk;	offset:32;	size:8;	signed:0;
+	field:char status;	offset:40;	size:1;	signed:0;
+
+print fmt: "dev %d,%d ino %lu es [%u/%u) mapped %llu status %s", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->lblk, REC->len, REC->pblk, __print_flags(REC->status, "", { (1 << 0), "W" }, { (1 << 1), "U" }, { (1 << 2), "D" }, { (1 << 3), "H" }, { (1 << 4), "R" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_lookup_extent_enter/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_lookup_extent_enter/format
new file mode 100644
index 0000000..fc56633
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_lookup_extent_enter/format
@@ -0,0 +1,13 @@
+name: ext4_es_lookup_extent_enter
+ID: 392
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ext4_lblk_t lblk;	offset:24;	size:4;	signed:0;
+
+print fmt: "dev %d,%d ino %lu lblk %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->lblk
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_lookup_extent_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_lookup_extent_exit/format
new file mode 100644
index 0000000..1d7ddb1
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_lookup_extent_exit/format
@@ -0,0 +1,17 @@
+name: ext4_es_lookup_extent_exit
+ID: 393
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ext4_lblk_t lblk;	offset:24;	size:4;	signed:0;
+	field:ext4_lblk_t len;	offset:28;	size:4;	signed:0;
+	field:ext4_fsblk_t pblk;	offset:32;	size:8;	signed:0;
+	field:char status;	offset:40;	size:1;	signed:0;
+	field:int found;	offset:44;	size:4;	signed:1;
+
+print fmt: "dev %d,%d ino %lu found %d [%u/%u) %llu %s", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->found, REC->lblk, REC->len, REC->found ? REC->pblk : 0, __print_flags(REC->found ? REC->status : 0, "", { (1 << 0), "W" }, { (1 << 1), "U" }, { (1 << 2), "D" }, { (1 << 3), "H" }, { (1 << 4), "R" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_remove_extent/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_remove_extent/format
new file mode 100644
index 0000000..2c862a5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_remove_extent/format
@@ -0,0 +1,14 @@
+name: ext4_es_remove_extent
+ID: 394
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:loff_t lblk;	offset:24;	size:8;	signed:1;
+	field:loff_t len;	offset:32;	size:8;	signed:1;
+
+print fmt: "dev %d,%d ino %lu es [%lld/%lld)", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->lblk, REC->len
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_shrink/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_shrink/format
new file mode 100644
index 0000000..c041eba
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_shrink/format
@@ -0,0 +1,15 @@
+name: ext4_es_shrink
+ID: 395
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:int nr_shrunk;	offset:12;	size:4;	signed:1;
+	field:unsigned long long scan_time;	offset:16;	size:8;	signed:0;
+	field:int nr_skipped;	offset:24;	size:4;	signed:1;
+	field:int retried;	offset:28;	size:4;	signed:1;
+
+print fmt: "dev %d,%d nr_shrunk %d, scan_time %llu nr_skipped %d retried %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->nr_shrunk, REC->scan_time, REC->nr_skipped, REC->retried
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_shrink_count/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_shrink_count/format
new file mode 100644
index 0000000..560a291
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_shrink_count/format
@@ -0,0 +1,13 @@
+name: ext4_es_shrink_count
+ID: 396
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:int nr_to_scan;	offset:12;	size:4;	signed:1;
+	field:int cache_cnt;	offset:16;	size:4;	signed:1;
+
+print fmt: "dev %d,%d nr_to_scan %d cache_cnt %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->nr_to_scan, REC->cache_cnt
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_shrink_scan_enter/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_shrink_scan_enter/format
new file mode 100644
index 0000000..4b6f2ca
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_shrink_scan_enter/format
@@ -0,0 +1,13 @@
+name: ext4_es_shrink_scan_enter
+ID: 397
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:int nr_to_scan;	offset:12;	size:4;	signed:1;
+	field:int cache_cnt;	offset:16;	size:4;	signed:1;
+
+print fmt: "dev %d,%d nr_to_scan %d cache_cnt %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->nr_to_scan, REC->cache_cnt
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_shrink_scan_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_shrink_scan_exit/format
new file mode 100644
index 0000000..274f221
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_es_shrink_scan_exit/format
@@ -0,0 +1,13 @@
+name: ext4_es_shrink_scan_exit
+ID: 398
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:int nr_shrunk;	offset:12;	size:4;	signed:1;
+	field:int cache_cnt;	offset:16;	size:4;	signed:1;
+
+print fmt: "dev %d,%d nr_shrunk %d cache_cnt %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->nr_shrunk, REC->cache_cnt
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_evict_inode/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_evict_inode/format
new file mode 100644
index 0000000..9c5a4ab
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_evict_inode/format
@@ -0,0 +1,13 @@
+name: ext4_evict_inode
+ID: 399
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:int nlink;	offset:24;	size:4;	signed:1;
+
+print fmt: "dev %d,%d ino %lu nlink %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->nlink
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_convert_to_initialized_enter/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_convert_to_initialized_enter/format
new file mode 100644
index 0000000..b3df51c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_convert_to_initialized_enter/format
@@ -0,0 +1,17 @@
+name: ext4_ext_convert_to_initialized_enter
+ID: 400
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ext4_lblk_t m_lblk;	offset:24;	size:4;	signed:0;
+	field:unsigned m_len;	offset:28;	size:4;	signed:0;
+	field:ext4_lblk_t u_lblk;	offset:32;	size:4;	signed:0;
+	field:unsigned u_len;	offset:36;	size:4;	signed:0;
+	field:ext4_fsblk_t u_pblk;	offset:40;	size:8;	signed:0;
+
+print fmt: "dev %d,%d ino %lu m_lblk %u m_len %u u_lblk %u u_len %u u_pblk %llu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->m_lblk, REC->m_len, REC->u_lblk, REC->u_len, REC->u_pblk
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_convert_to_initialized_fastpath/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_convert_to_initialized_fastpath/format
new file mode 100644
index 0000000..bebb128
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_convert_to_initialized_fastpath/format
@@ -0,0 +1,20 @@
+name: ext4_ext_convert_to_initialized_fastpath
+ID: 401
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ext4_lblk_t m_lblk;	offset:24;	size:4;	signed:0;
+	field:unsigned m_len;	offset:28;	size:4;	signed:0;
+	field:ext4_lblk_t u_lblk;	offset:32;	size:4;	signed:0;
+	field:unsigned u_len;	offset:36;	size:4;	signed:0;
+	field:ext4_fsblk_t u_pblk;	offset:40;	size:8;	signed:0;
+	field:ext4_lblk_t i_lblk;	offset:48;	size:4;	signed:0;
+	field:unsigned i_len;	offset:52;	size:4;	signed:0;
+	field:ext4_fsblk_t i_pblk;	offset:56;	size:8;	signed:0;
+
+print fmt: "dev %d,%d ino %lu m_lblk %u m_len %u u_lblk %u u_len %u u_pblk %llu i_lblk %u i_len %u i_pblk %llu ", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->m_lblk, REC->m_len, REC->u_lblk, REC->u_len, REC->u_pblk, REC->i_lblk, REC->i_len, REC->i_pblk
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_handle_unwritten_extents/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_handle_unwritten_extents/format
new file mode 100644
index 0000000..2b84695
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_handle_unwritten_extents/format
@@ -0,0 +1,18 @@
+name: ext4_ext_handle_unwritten_extents
+ID: 402
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:int flags;	offset:24;	size:4;	signed:1;
+	field:ext4_lblk_t lblk;	offset:28;	size:4;	signed:0;
+	field:ext4_fsblk_t pblk;	offset:32;	size:8;	signed:0;
+	field:unsigned int len;	offset:40;	size:4;	signed:0;
+	field:unsigned int allocated;	offset:44;	size:4;	signed:0;
+	field:ext4_fsblk_t newblk;	offset:48;	size:8;	signed:0;
+
+print fmt: "dev %d,%d ino %lu m_lblk %u m_pblk %llu m_len %u flags %s allocated %d newblock %llu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, (unsigned) REC->lblk, (unsigned long long) REC->pblk, REC->len, __print_flags(REC->flags, "|", { 0x0001, "CREATE" }, { 0x0002, "UNWRIT" }, { 0x0004, "DELALLOC" }, { 0x0008, "PRE_IO" }, { 0x0010, "CONVERT" }, { 0x0020, "METADATA_NOFAIL" }, { 0x0040, "NO_NORMALIZE" }, { 0x0100, "CONVERT_UNWRITTEN" }, { 0x0200, "ZERO" }, { 0x0400, "IO_SUBMIT" }, { 0x40000000, "EX_NOCACHE" }), (unsigned int) REC->allocated, (unsigned long long) REC->newblk
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_in_cache/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_in_cache/format
new file mode 100644
index 0000000..57e0894
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_in_cache/format
@@ -0,0 +1,14 @@
+name: ext4_ext_in_cache
+ID: 403
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ext4_lblk_t lblk;	offset:24;	size:4;	signed:0;
+	field:int ret;	offset:28;	size:4;	signed:1;
+
+print fmt: "dev %d,%d ino %lu lblk %u ret %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, (unsigned) REC->lblk, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_load_extent/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_load_extent/format
new file mode 100644
index 0000000..b1ebb3f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_load_extent/format
@@ -0,0 +1,14 @@
+name: ext4_ext_load_extent
+ID: 404
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ext4_fsblk_t pblk;	offset:24;	size:8;	signed:0;
+	field:ext4_lblk_t lblk;	offset:32;	size:4;	signed:0;
+
+print fmt: "dev %d,%d ino %lu lblk %u pblk %llu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->lblk, REC->pblk
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_map_blocks_enter/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_map_blocks_enter/format
new file mode 100644
index 0000000..964457a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_map_blocks_enter/format
@@ -0,0 +1,15 @@
+name: ext4_ext_map_blocks_enter
+ID: 405
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ext4_lblk_t lblk;	offset:24;	size:4;	signed:0;
+	field:unsigned int len;	offset:28;	size:4;	signed:0;
+	field:unsigned int flags;	offset:32;	size:4;	signed:0;
+
+print fmt: "dev %d,%d ino %lu lblk %u len %u flags %s", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->lblk, REC->len, __print_flags(REC->flags, "|", { 0x0001, "CREATE" }, { 0x0002, "UNWRIT" }, { 0x0004, "DELALLOC" }, { 0x0008, "PRE_IO" }, { 0x0010, "CONVERT" }, { 0x0020, "METADATA_NOFAIL" }, { 0x0040, "NO_NORMALIZE" }, { 0x0100, "CONVERT_UNWRITTEN" }, { 0x0200, "ZERO" }, { 0x0400, "IO_SUBMIT" }, { 0x40000000, "EX_NOCACHE" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_map_blocks_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_map_blocks_exit/format
new file mode 100644
index 0000000..094269a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_map_blocks_exit/format
@@ -0,0 +1,18 @@
+name: ext4_ext_map_blocks_exit
+ID: 406
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned int flags;	offset:24;	size:4;	signed:0;
+	field:ext4_fsblk_t pblk;	offset:32;	size:8;	signed:0;
+	field:ext4_lblk_t lblk;	offset:40;	size:4;	signed:0;
+	field:unsigned int len;	offset:44;	size:4;	signed:0;
+	field:unsigned int mflags;	offset:48;	size:4;	signed:0;
+	field:int ret;	offset:52;	size:4;	signed:1;
+
+print fmt: "dev %d,%d ino %lu flags %s lblk %u pblk %llu len %u mflags %s ret %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, __print_flags(REC->flags, "|", { 0x0001, "CREATE" }, { 0x0002, "UNWRIT" }, { 0x0004, "DELALLOC" }, { 0x0008, "PRE_IO" }, { 0x0010, "CONVERT" }, { 0x0020, "METADATA_NOFAIL" }, { 0x0040, "NO_NORMALIZE" }, { 0x0100, "CONVERT_UNWRITTEN" }, { 0x0200, "ZERO" }, { 0x0400, "IO_SUBMIT" }, { 0x40000000, "EX_NOCACHE" }), REC->lblk, REC->pblk, REC->len, __print_flags(REC->mflags, "", { ((((1UL))) << (5)), "N" }, { ((((1UL))) << (4)), "M" }, { ((((1UL))) << (11)), "U" }, { ((((1UL))) << (9)), "B" }), REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_put_in_cache/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_put_in_cache/format
new file mode 100644
index 0000000..ee1bdb6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_put_in_cache/format
@@ -0,0 +1,15 @@
+name: ext4_ext_put_in_cache
+ID: 407
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ext4_lblk_t lblk;	offset:24;	size:4;	signed:0;
+	field:unsigned int len;	offset:28;	size:4;	signed:0;
+	field:ext4_fsblk_t start;	offset:32;	size:8;	signed:0;
+
+print fmt: "dev %d,%d ino %lu lblk %u len %u start %llu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, (unsigned) REC->lblk, REC->len, (unsigned long long) REC->start
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_remove_space/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_remove_space/format
new file mode 100644
index 0000000..c293b55
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_remove_space/format
@@ -0,0 +1,15 @@
+name: ext4_ext_remove_space
+ID: 408
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ext4_lblk_t start;	offset:24;	size:4;	signed:0;
+	field:ext4_lblk_t end;	offset:28;	size:4;	signed:0;
+	field:int depth;	offset:32;	size:4;	signed:1;
+
+print fmt: "dev %d,%d ino %lu since %u end %u depth %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, (unsigned) REC->start, (unsigned) REC->end, REC->depth
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_remove_space_done/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_remove_space_done/format
new file mode 100644
index 0000000..b394315
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_remove_space_done/format
@@ -0,0 +1,19 @@
+name: ext4_ext_remove_space_done
+ID: 409
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ext4_lblk_t start;	offset:24;	size:4;	signed:0;
+	field:ext4_lblk_t end;	offset:28;	size:4;	signed:0;
+	field:int depth;	offset:32;	size:4;	signed:1;
+	field:ext4_fsblk_t pc_pclu;	offset:40;	size:8;	signed:0;
+	field:ext4_lblk_t pc_lblk;	offset:48;	size:4;	signed:0;
+	field:int pc_state;	offset:52;	size:4;	signed:1;
+	field:unsigned short eh_entries;	offset:56;	size:2;	signed:0;
+
+print fmt: "dev %d,%d ino %lu since %u end %u depth %d partial [pclu %lld lblk %u state %d] remaining_entries %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, (unsigned) REC->start, (unsigned) REC->end, REC->depth, (long long) REC->pc_pclu, (unsigned int) REC->pc_lblk, (int) REC->pc_state, (unsigned short) REC->eh_entries
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_rm_idx/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_rm_idx/format
new file mode 100644
index 0000000..57ba4e3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_rm_idx/format
@@ -0,0 +1,13 @@
+name: ext4_ext_rm_idx
+ID: 410
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ext4_fsblk_t pblk;	offset:24;	size:8;	signed:0;
+
+print fmt: "dev %d,%d ino %lu index_pblk %llu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, (unsigned long long) REC->pblk
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_rm_leaf/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_rm_leaf/format
new file mode 100644
index 0000000..4651b44
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_rm_leaf/format
@@ -0,0 +1,19 @@
+name: ext4_ext_rm_leaf
+ID: 411
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ext4_lblk_t start;	offset:24;	size:4;	signed:0;
+	field:ext4_lblk_t ee_lblk;	offset:28;	size:4;	signed:0;
+	field:ext4_fsblk_t ee_pblk;	offset:32;	size:8;	signed:0;
+	field:short ee_len;	offset:40;	size:2;	signed:1;
+	field:ext4_fsblk_t pc_pclu;	offset:48;	size:8;	signed:0;
+	field:ext4_lblk_t pc_lblk;	offset:56;	size:4;	signed:0;
+	field:int pc_state;	offset:60;	size:4;	signed:1;
+
+print fmt: "dev %d,%d ino %lu start_lblk %u last_extent [%u(%llu), %u]partial [pclu %lld lblk %u state %d]", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, (unsigned) REC->start, (unsigned) REC->ee_lblk, (unsigned long long) REC->ee_pblk, (unsigned short) REC->ee_len, (long long) REC->pc_pclu, (unsigned int) REC->pc_lblk, (int) REC->pc_state
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_show_extent/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_show_extent/format
new file mode 100644
index 0000000..0e9d73c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ext_show_extent/format
@@ -0,0 +1,15 @@
+name: ext4_ext_show_extent
+ID: 412
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ext4_fsblk_t pblk;	offset:24;	size:8;	signed:0;
+	field:ext4_lblk_t lblk;	offset:32;	size:4;	signed:0;
+	field:unsigned short len;	offset:36;	size:2;	signed:0;
+
+print fmt: "dev %d,%d ino %lu lblk %u pblk %llu len %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, (unsigned) REC->lblk, (unsigned long long) REC->pblk, (unsigned short) REC->len
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fallocate_enter/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fallocate_enter/format
new file mode 100644
index 0000000..db942a9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fallocate_enter/format
@@ -0,0 +1,15 @@
+name: ext4_fallocate_enter
+ID: 413
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:loff_t offset;	offset:24;	size:8;	signed:1;
+	field:loff_t len;	offset:32;	size:8;	signed:1;
+	field:int mode;	offset:40;	size:4;	signed:1;
+
+print fmt: "dev %d,%d ino %lu offset %lld len %lld mode %s", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->offset, REC->len, __print_flags(REC->mode, "|", { 0x01, "KEEP_SIZE"}, { 0x02, "PUNCH_HOLE"}, { 0x04, "NO_HIDE_STALE"}, { 0x08, "COLLAPSE_RANGE"}, { 0x10, "ZERO_RANGE"})
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fallocate_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fallocate_exit/format
new file mode 100644
index 0000000..62f0df7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fallocate_exit/format
@@ -0,0 +1,15 @@
+name: ext4_fallocate_exit
+ID: 414
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:loff_t pos;	offset:24;	size:8;	signed:1;
+	field:unsigned int blocks;	offset:32;	size:4;	signed:0;
+	field:int ret;	offset:36;	size:4;	signed:1;
+
+print fmt: "dev %d,%d ino %lu pos %lld blocks %u ret %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->pos, REC->blocks, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_commit_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_commit_start/format
new file mode 100644
index 0000000..0b11082
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_commit_start/format
@@ -0,0 +1,11 @@
+name: ext4_fc_commit_start
+ID: 415
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+
+print fmt: "fast_commit started on dev %d,%d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1)))
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_commit_stop/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_commit_stop/format
new file mode 100644
index 0000000..09f4585
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_commit_stop/format
@@ -0,0 +1,16 @@
+name: ext4_fc_commit_stop
+ID: 416
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:int nblks;	offset:12;	size:4;	signed:1;
+	field:int reason;	offset:16;	size:4;	signed:1;
+	field:int num_fc;	offset:20;	size:4;	signed:1;
+	field:int num_fc_ineligible;	offset:24;	size:4;	signed:1;
+	field:int nblks_agg;	offset:28;	size:4;	signed:1;
+
+print fmt: "fc on [%d,%d] nblks %d, reason %d, fc = %d, ineligible = %d, agg_nblks %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->nblks, REC->reason, REC->num_fc, REC->num_fc_ineligible, REC->nblks_agg
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_replay/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_replay/format
new file mode 100644
index 0000000..8159a82
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_replay/format
@@ -0,0 +1,15 @@
+name: ext4_fc_replay
+ID: 417
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:int tag;	offset:12;	size:4;	signed:1;
+	field:int ino;	offset:16;	size:4;	signed:1;
+	field:int priv1;	offset:20;	size:4;	signed:1;
+	field:int priv2;	offset:24;	size:4;	signed:1;
+
+print fmt: "FC Replay %d,%d: tag %d, ino %d, data1 %d, data2 %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->tag, REC->ino, REC->priv1, REC->priv2
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_replay_scan/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_replay_scan/format
new file mode 100644
index 0000000..128df19
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_replay_scan/format
@@ -0,0 +1,13 @@
+name: ext4_fc_replay_scan
+ID: 418
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:int error;	offset:12;	size:4;	signed:1;
+	field:int off;	offset:16;	size:4;	signed:1;
+
+print fmt: "FC scan pass on dev %d,%d: error %d, off %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->error, REC->off
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_stats/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_stats/format
new file mode 100644
index 0000000..259db6a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_stats/format
@@ -0,0 +1,14 @@
+name: ext4_fc_stats
+ID: 419
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:struct ext4_sb_info * sbi;	offset:16;	size:8;	signed:0;
+	field:int count;	offset:24;	size:4;	signed:1;
+
+print fmt: "dev %d:%d fc ineligible reasons:
+%s:%d, %s:%d, %s:%d, %s:%d, %s:%d, %s:%d, %s:%d, %s:%d, %s:%d; num_commits:%ld, ineligible: %ld, numblks: %ld", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), __print_symbolic(EXT4_FC_REASON_XATTR, { EXT4_FC_REASON_XATTR, "XATTR"}, { EXT4_FC_REASON_CROSS_RENAME, "CROSS_RENAME"}, { EXT4_FC_REASON_JOURNAL_FLAG_CHANGE, "JOURNAL_FLAG_CHANGE"}, { EXT4_FC_REASON_NOMEM, "NO_MEM"}, { EXT4_FC_REASON_SWAP_BOOT, "SWAP_BOOT"}, { EXT4_FC_REASON_RESIZE, "RESIZE"}, { EXT4_FC_REASON_RENAME_DIR, "RENAME_DIR"}, { EXT4_FC_REASON_FALLOC_RANGE, "FALLOC_RANGE"}, { EXT4_FC_REASON_INODE_JOURNAL_DATA, "INODE_JOURNAL_DATA"}), REC->sbi->s_fc_stats.fc_ineligible_reason_count[EXT4_FC_REASON_XATTR], __print_symbolic(EXT4_FC_REASON_CROSS_RENAME, { EXT4_FC_REASON_XATTR, "XATTR"}, { EXT4_FC_REASON_CROSS_RENAME, "CROSS_RENAME"}, { EXT4_FC_REASON_JOURNAL_FLAG_CHANGE, "JOURNAL_FLAG_CHANGE"}, { EXT4_FC_REASON_NOMEM, "NO_MEM"}, { EXT4_FC_REASON_SWAP_BOOT, "SWAP_BOOT"}, { EXT4_FC_REASON_RESIZE, "RESIZE"}, { EXT4_FC_REASON_RENAME_DIR, "RENAME_DIR"}, { EXT4_FC_REASON_FALLOC_RANGE, "FALLOC_RANGE"}, { EXT4_FC_REASON_INODE_JOURNAL_DATA, "INODE_JOURNAL_DATA"}), REC->sbi->s_fc_stats.fc_ineligible_reason_count[EXT4_FC_REASON_CROSS_RENAME], __print_symbolic(EXT4_FC_REASON_JOURNAL_FLAG_CHANGE, { EXT4_FC_REASON_XATTR, "XATTR"}, { EXT4_FC_REASON_CROSS_RENAME, "CROSS_RENAME"}, { EXT4_FC_REASON_JOURNAL_FLAG_CHANGE, "JOURNAL_FLAG_CHANGE"}, { EXT4_FC_REASON_NOMEM, "NO_MEM"}, { EXT4_FC_REASON_SWAP_BOOT, "SWAP_BOOT"}, { EXT4_FC_REASON_RESIZE, "RESIZE"}, { EXT4_FC_REASON_RENAME_DIR, "RENAME_DIR"}, { EXT4_FC_REASON_FALLOC_RANGE, "FALLOC_RANGE"}, { EXT4_FC_REASON_INODE_JOURNAL_DATA, "INODE_JOURNAL_DATA"}), REC->sbi->s_fc_stats.fc_ineligible_reason_count[EXT4_FC_REASON_JOURNAL_FLAG_CHANGE], __print_symbolic(EXT4_FC_REASON_NOMEM, { EXT4_FC_REASON_XATTR, "XATTR"}, { EXT4_FC_REASON_CROSS_RENAME, "CROSS_RENAME"}, { EXT4_FC_REASON_JOURNAL_FLAG_CHANGE, "JOURNAL_FLAG_CHANGE"}, { EXT4_FC_REASON_NOMEM, "NO_MEM"}, { EXT4_FC_REASON_SWAP_BOOT, "SWAP_BOOT"}, { EXT4_FC_REASON_RESIZE, "RESIZE"}, { EXT4_FC_REASON_RENAME_DIR, "RENAME_DIR"}, { EXT4_FC_REASON_FALLOC_RANGE, "FALLOC_RANGE"}, { EXT4_FC_REASON_INODE_JOURNAL_DATA, "INODE_JOURNAL_DATA"}), REC->sbi->s_fc_stats.fc_ineligible_reason_count[EXT4_FC_REASON_NOMEM], __print_symbolic(EXT4_FC_REASON_SWAP_BOOT, { EXT4_FC_REASON_XATTR, "XATTR"}, { EXT4_FC_REASON_CROSS_RENAME, "CROSS_RENAME"}, { EXT4_FC_REASON_JOURNAL_FLAG_CHANGE, "JOURNAL_FLAG_CHANGE"}, { EXT4_FC_REASON_NOMEM, "NO_MEM"}, { EXT4_FC_REASON_SWAP_BOOT, "SWAP_BOOT"}, { EXT4_FC_REASON_RESIZE, "RESIZE"}, { EXT4_FC_REASON_RENAME_DIR, "RENAME_DIR"}, { EXT4_FC_REASON_FALLOC_RANGE, "FALLOC_RANGE"}, { EXT4_FC_REASON_INODE_JOURNAL_DATA, "INODE_JOURNAL_DATA"}), REC->sbi->s_fc_stats.fc_ineligible_reason_count[EXT4_FC_REASON_SWAP_BOOT], __print_symbolic(EXT4_FC_REASON_RESIZE, { EXT4_FC_REASON_XATTR, "XATTR"}, { EXT4_FC_REASON_CROSS_RENAME, "CROSS_RENAME"}, { EXT4_FC_REASON_JOURNAL_FLAG_CHANGE, "JOURNAL_FLAG_CHANGE"}, { EXT4_FC_REASON_NOMEM, "NO_MEM"}, { EXT4_FC_REASON_SWAP_BOOT, "SWAP_BOOT"}, { EXT4_FC_REASON_RESIZE, "RESIZE"}, { EXT4_FC_REASON_RENAME_DIR, "RENAME_DIR"}, { EXT4_FC_REASON_FALLOC_RANGE, "FALLOC_RANGE"}, { EXT4_FC_REASON_INODE_JOURNAL_DATA, "INODE_JOURNAL_DATA"}), REC->sbi->s_fc_stats.fc_ineligible_reason_count[EXT4_FC_REASON_RESIZE], __print_symbolic(EXT4_FC_REASON_RENAME_DIR, { EXT4_FC_REASON_XATTR, "XATTR"}, { EXT4_FC_REASON_CROSS_RENAME, "CROSS_RENAME"}, { EXT4_FC_REASON_JOURNAL_FLAG_CHANGE, "JOURNAL_FLAG_CHANGE"}, { EXT4_FC_REASON_NOMEM, "NO_MEM"}, { EXT4_FC_REASON_SWAP_BOOT, "SWAP_BOOT"}, { EXT4_FC_REASON_RESIZE, "RESIZE"}, { EXT4_FC_REASON_RENAME_DIR, "RENAME_DIR"}, { EXT4_FC_REASON_FALLOC_RANGE, "FALLOC_RANGE"}, { EXT4_FC_REASON_INODE_JOURNAL_DATA, "INODE_JOURNAL_DATA"}), REC->sbi->s_fc_stats.fc_ineligible_reason_count[EXT4_FC_REASON_RENAME_DIR], __print_symbolic(EXT4_FC_REASON_FALLOC_RANGE, { EXT4_FC_REASON_XATTR, "XATTR"}, { EXT4_FC_REASON_CROSS_RENAME, "CROSS_RENAME"}, { EXT4_FC_REASON_JOURNAL_FLAG_CHANGE, "JOURNAL_FLAG_CHANGE"}, { EXT4_FC_REASON_NOMEM, "NO_MEM"}, { EXT4_FC_REASON_SWAP_BOOT, "SWAP_BOOT"}, { EXT4_FC_REASON_RESIZE, "RESIZE"}, { EXT4_FC_REASON_RENAME_DIR, "RENAME_DIR"}, { EXT4_FC_REASON_FALLOC_RANGE, "FALLOC_RANGE"}, { EXT4_FC_REASON_INODE_JOURNAL_DATA, "INODE_JOURNAL_DATA"}), REC->sbi->s_fc_stats.fc_ineligible_reason_count[EXT4_FC_REASON_FALLOC_RANGE], __print_symbolic(EXT4_FC_REASON_INODE_JOURNAL_DATA, { EXT4_FC_REASON_XATTR, "XATTR"}, { EXT4_FC_REASON_CROSS_RENAME, "CROSS_RENAME"}, { EXT4_FC_REASON_JOURNAL_FLAG_CHANGE, "JOURNAL_FLAG_CHANGE"}, { EXT4_FC_REASON_NOMEM, "NO_MEM"}, { EXT4_FC_REASON_SWAP_BOOT, "SWAP_BOOT"}, { EXT4_FC_REASON_RESIZE, "RESIZE"}, { EXT4_FC_REASON_RENAME_DIR, "RENAME_DIR"}, { EXT4_FC_REASON_FALLOC_RANGE, "FALLOC_RANGE"}, { EXT4_FC_REASON_INODE_JOURNAL_DATA, "INODE_JOURNAL_DATA"}), REC->sbi->s_fc_stats.fc_ineligible_reason_count[EXT4_FC_REASON_INODE_JOURNAL_DATA], REC->sbi->s_fc_stats.fc_num_commits, REC->sbi->s_fc_stats.fc_ineligible_commits, REC->sbi->s_fc_stats.fc_numblks
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_track_create/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_track_create/format
new file mode 100644
index 0000000..9a229b0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_track_create/format
@@ -0,0 +1,13 @@
+name: ext4_fc_track_create
+ID: 420
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:int ino;	offset:12;	size:4;	signed:1;
+	field:int error;	offset:16;	size:4;	signed:1;
+
+print fmt: "dev %d:%d, inode %d, error %d, fc_%s", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->ino, REC->error, "create"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_track_inode/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_track_inode/format
new file mode 100644
index 0000000..fe5e072
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_track_inode/format
@@ -0,0 +1,13 @@
+name: ext4_fc_track_inode
+ID: 421
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:int ino;	offset:12;	size:4;	signed:1;
+	field:int error;	offset:16;	size:4;	signed:1;
+
+print fmt: "dev %d:%d, inode %d, error %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->ino, REC->error
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_track_link/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_track_link/format
new file mode 100644
index 0000000..4736a8a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_track_link/format
@@ -0,0 +1,13 @@
+name: ext4_fc_track_link
+ID: 422
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:int ino;	offset:12;	size:4;	signed:1;
+	field:int error;	offset:16;	size:4;	signed:1;
+
+print fmt: "dev %d:%d, inode %d, error %d, fc_%s", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->ino, REC->error, "link"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_track_range/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_track_range/format
new file mode 100644
index 0000000..7ef7476
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_track_range/format
@@ -0,0 +1,15 @@
+name: ext4_fc_track_range
+ID: 423
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:int ino;	offset:12;	size:4;	signed:1;
+	field:long start;	offset:16;	size:8;	signed:1;
+	field:long end;	offset:24;	size:8;	signed:1;
+	field:int error;	offset:32;	size:4;	signed:1;
+
+print fmt: "dev %d:%d, inode %d, error %d, start %ld, end %ld", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->ino, REC->error, REC->start, REC->end
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_track_unlink/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_track_unlink/format
new file mode 100644
index 0000000..55c5cf9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fc_track_unlink/format
@@ -0,0 +1,13 @@
+name: ext4_fc_track_unlink
+ID: 424
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:int ino;	offset:12;	size:4;	signed:1;
+	field:int error;	offset:16;	size:4;	signed:1;
+
+print fmt: "dev %d:%d, inode %d, error %d, fc_%s", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->ino, REC->error, "unlink"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_find_delalloc_range/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_find_delalloc_range/format
new file mode 100644
index 0000000..82a2c64
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_find_delalloc_range/format
@@ -0,0 +1,17 @@
+name: ext4_find_delalloc_range
+ID: 425
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ext4_lblk_t from;	offset:24;	size:4;	signed:0;
+	field:ext4_lblk_t to;	offset:28;	size:4;	signed:0;
+	field:int reverse;	offset:32;	size:4;	signed:1;
+	field:int found;	offset:36;	size:4;	signed:1;
+	field:ext4_lblk_t found_blk;	offset:40;	size:4;	signed:0;
+
+print fmt: "dev %d,%d ino %lu from %u to %u reverse %d found %d (blk = %u)", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, (unsigned) REC->from, (unsigned) REC->to, REC->reverse, REC->found, (unsigned) REC->found_blk
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_forget/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_forget/format
new file mode 100644
index 0000000..ddb11f2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_forget/format
@@ -0,0 +1,15 @@
+name: ext4_forget
+ID: 426
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:__u64 block;	offset:24;	size:8;	signed:0;
+	field:int is_metadata;	offset:32;	size:4;	signed:1;
+	field:__u16 mode;	offset:36;	size:2;	signed:0;
+
+print fmt: "dev %d,%d ino %lu mode 0%o is_metadata %d block %llu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->mode, REC->is_metadata, REC->block
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_free_blocks/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_free_blocks/format
new file mode 100644
index 0000000..8656ac3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_free_blocks/format
@@ -0,0 +1,16 @@
+name: ext4_free_blocks
+ID: 427
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:__u64 block;	offset:24;	size:8;	signed:0;
+	field:unsigned long count;	offset:32;	size:8;	signed:0;
+	field:int flags;	offset:40;	size:4;	signed:1;
+	field:__u16 mode;	offset:44;	size:2;	signed:0;
+
+print fmt: "dev %d,%d ino %lu mode 0%o block %llu count %lu flags %s", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->mode, REC->block, REC->count, __print_flags(REC->flags, "|", { 0x0001, "METADATA" }, { 0x0002, "FORGET" }, { 0x0004, "VALIDATED" }, { 0x0008, "NO_QUOTA" }, { 0x0010,"1ST_CLUSTER" }, { 0x0020, "LAST_CLUSTER" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_free_inode/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_free_inode/format
new file mode 100644
index 0000000..19b3961
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_free_inode/format
@@ -0,0 +1,16 @@
+name: ext4_free_inode
+ID: 428
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:uid_t uid;	offset:24;	size:4;	signed:0;
+	field:gid_t gid;	offset:28;	size:4;	signed:0;
+	field:__u64 blocks;	offset:32;	size:8;	signed:0;
+	field:__u16 mode;	offset:40;	size:2;	signed:0;
+
+print fmt: "dev %d,%d ino %lu mode 0%o uid %u gid %u blocks %llu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->mode, REC->uid, REC->gid, REC->blocks
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fsmap_high_key/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fsmap_high_key/format
new file mode 100644
index 0000000..a2d101e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fsmap_high_key/format
@@ -0,0 +1,17 @@
+name: ext4_fsmap_high_key
+ID: 429
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:dev_t keydev;	offset:12;	size:4;	signed:0;
+	field:u32 agno;	offset:16;	size:4;	signed:0;
+	field:u64 bno;	offset:24;	size:8;	signed:0;
+	field:u64 len;	offset:32;	size:8;	signed:0;
+	field:u64 owner;	offset:40;	size:8;	signed:0;
+
+print fmt: "dev %d:%d keydev %d:%d agno %u bno %llu len %llu owner %lld
+", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), ((unsigned int) ((REC->keydev) >> 20)), ((unsigned int) ((REC->keydev) & ((1U << 20) - 1))), REC->agno, REC->bno, REC->len, REC->owner
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fsmap_low_key/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fsmap_low_key/format
new file mode 100644
index 0000000..1e17142
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fsmap_low_key/format
@@ -0,0 +1,17 @@
+name: ext4_fsmap_low_key
+ID: 430
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:dev_t keydev;	offset:12;	size:4;	signed:0;
+	field:u32 agno;	offset:16;	size:4;	signed:0;
+	field:u64 bno;	offset:24;	size:8;	signed:0;
+	field:u64 len;	offset:32;	size:8;	signed:0;
+	field:u64 owner;	offset:40;	size:8;	signed:0;
+
+print fmt: "dev %d:%d keydev %d:%d agno %u bno %llu len %llu owner %lld
+", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), ((unsigned int) ((REC->keydev) >> 20)), ((unsigned int) ((REC->keydev) & ((1U << 20) - 1))), REC->agno, REC->bno, REC->len, REC->owner
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fsmap_mapping/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fsmap_mapping/format
new file mode 100644
index 0000000..d3f7c84
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_fsmap_mapping/format
@@ -0,0 +1,17 @@
+name: ext4_fsmap_mapping
+ID: 431
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:dev_t keydev;	offset:12;	size:4;	signed:0;
+	field:u32 agno;	offset:16;	size:4;	signed:0;
+	field:u64 bno;	offset:24;	size:8;	signed:0;
+	field:u64 len;	offset:32;	size:8;	signed:0;
+	field:u64 owner;	offset:40;	size:8;	signed:0;
+
+print fmt: "dev %d:%d keydev %d:%d agno %u bno %llu len %llu owner %lld
+", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), ((unsigned int) ((REC->keydev) >> 20)), ((unsigned int) ((REC->keydev) & ((1U << 20) - 1))), REC->agno, REC->bno, REC->len, REC->owner
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_get_implied_cluster_alloc_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_get_implied_cluster_alloc_exit/format
new file mode 100644
index 0000000..3201ebf
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_get_implied_cluster_alloc_exit/format
@@ -0,0 +1,16 @@
+name: ext4_get_implied_cluster_alloc_exit
+ID: 432
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:unsigned int flags;	offset:12;	size:4;	signed:0;
+	field:ext4_lblk_t lblk;	offset:16;	size:4;	signed:0;
+	field:ext4_fsblk_t pblk;	offset:24;	size:8;	signed:0;
+	field:unsigned int len;	offset:32;	size:4;	signed:0;
+	field:int ret;	offset:36;	size:4;	signed:1;
+
+print fmt: "dev %d,%d m_lblk %u m_pblk %llu m_len %u m_flags %s ret %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->lblk, (unsigned long long) REC->pblk, REC->len, __print_flags(REC->flags, "", { ((((1UL))) << (5)), "N" }, { ((((1UL))) << (4)), "M" }, { ((((1UL))) << (11)), "U" }, { ((((1UL))) << (9)), "B" }), REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_get_reserved_cluster_alloc/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_get_reserved_cluster_alloc/format
new file mode 100644
index 0000000..1ddbcae
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_get_reserved_cluster_alloc/format
@@ -0,0 +1,14 @@
+name: ext4_get_reserved_cluster_alloc
+ID: 433
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ext4_lblk_t lblk;	offset:24;	size:4;	signed:0;
+	field:unsigned int len;	offset:28;	size:4;	signed:0;
+
+print fmt: "dev %d,%d ino %lu lblk %u len %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, (unsigned) REC->lblk, REC->len
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_getfsmap_high_key/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_getfsmap_high_key/format
new file mode 100644
index 0000000..b3e89c2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_getfsmap_high_key/format
@@ -0,0 +1,17 @@
+name: ext4_getfsmap_high_key
+ID: 434
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:dev_t keydev;	offset:12;	size:4;	signed:0;
+	field:u64 block;	offset:16;	size:8;	signed:0;
+	field:u64 len;	offset:24;	size:8;	signed:0;
+	field:u64 owner;	offset:32;	size:8;	signed:0;
+	field:u64 flags;	offset:40;	size:8;	signed:0;
+
+print fmt: "dev %d:%d keydev %d:%d block %llu len %llu owner %lld flags 0x%llx
+", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), ((unsigned int) ((REC->keydev) >> 20)), ((unsigned int) ((REC->keydev) & ((1U << 20) - 1))), REC->block, REC->len, REC->owner, REC->flags
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_getfsmap_low_key/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_getfsmap_low_key/format
new file mode 100644
index 0000000..d3af1fe
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_getfsmap_low_key/format
@@ -0,0 +1,17 @@
+name: ext4_getfsmap_low_key
+ID: 435
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:dev_t keydev;	offset:12;	size:4;	signed:0;
+	field:u64 block;	offset:16;	size:8;	signed:0;
+	field:u64 len;	offset:24;	size:8;	signed:0;
+	field:u64 owner;	offset:32;	size:8;	signed:0;
+	field:u64 flags;	offset:40;	size:8;	signed:0;
+
+print fmt: "dev %d:%d keydev %d:%d block %llu len %llu owner %lld flags 0x%llx
+", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), ((unsigned int) ((REC->keydev) >> 20)), ((unsigned int) ((REC->keydev) & ((1U << 20) - 1))), REC->block, REC->len, REC->owner, REC->flags
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_getfsmap_mapping/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_getfsmap_mapping/format
new file mode 100644
index 0000000..cf9d246
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_getfsmap_mapping/format
@@ -0,0 +1,17 @@
+name: ext4_getfsmap_mapping
+ID: 436
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:dev_t keydev;	offset:12;	size:4;	signed:0;
+	field:u64 block;	offset:16;	size:8;	signed:0;
+	field:u64 len;	offset:24;	size:8;	signed:0;
+	field:u64 owner;	offset:32;	size:8;	signed:0;
+	field:u64 flags;	offset:40;	size:8;	signed:0;
+
+print fmt: "dev %d:%d keydev %d:%d block %llu len %llu owner %lld flags 0x%llx
+", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), ((unsigned int) ((REC->keydev) >> 20)), ((unsigned int) ((REC->keydev) & ((1U << 20) - 1))), REC->block, REC->len, REC->owner, REC->flags
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ind_map_blocks_enter/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ind_map_blocks_enter/format
new file mode 100644
index 0000000..efbb759
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ind_map_blocks_enter/format
@@ -0,0 +1,15 @@
+name: ext4_ind_map_blocks_enter
+ID: 437
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ext4_lblk_t lblk;	offset:24;	size:4;	signed:0;
+	field:unsigned int len;	offset:28;	size:4;	signed:0;
+	field:unsigned int flags;	offset:32;	size:4;	signed:0;
+
+print fmt: "dev %d,%d ino %lu lblk %u len %u flags %s", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->lblk, REC->len, __print_flags(REC->flags, "|", { 0x0001, "CREATE" }, { 0x0002, "UNWRIT" }, { 0x0004, "DELALLOC" }, { 0x0008, "PRE_IO" }, { 0x0010, "CONVERT" }, { 0x0020, "METADATA_NOFAIL" }, { 0x0040, "NO_NORMALIZE" }, { 0x0100, "CONVERT_UNWRITTEN" }, { 0x0200, "ZERO" }, { 0x0400, "IO_SUBMIT" }, { 0x40000000, "EX_NOCACHE" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ind_map_blocks_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ind_map_blocks_exit/format
new file mode 100644
index 0000000..3f5d438
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_ind_map_blocks_exit/format
@@ -0,0 +1,18 @@
+name: ext4_ind_map_blocks_exit
+ID: 438
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned int flags;	offset:24;	size:4;	signed:0;
+	field:ext4_fsblk_t pblk;	offset:32;	size:8;	signed:0;
+	field:ext4_lblk_t lblk;	offset:40;	size:4;	signed:0;
+	field:unsigned int len;	offset:44;	size:4;	signed:0;
+	field:unsigned int mflags;	offset:48;	size:4;	signed:0;
+	field:int ret;	offset:52;	size:4;	signed:1;
+
+print fmt: "dev %d,%d ino %lu flags %s lblk %u pblk %llu len %u mflags %s ret %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, __print_flags(REC->flags, "|", { 0x0001, "CREATE" }, { 0x0002, "UNWRIT" }, { 0x0004, "DELALLOC" }, { 0x0008, "PRE_IO" }, { 0x0010, "CONVERT" }, { 0x0020, "METADATA_NOFAIL" }, { 0x0040, "NO_NORMALIZE" }, { 0x0100, "CONVERT_UNWRITTEN" }, { 0x0200, "ZERO" }, { 0x0400, "IO_SUBMIT" }, { 0x40000000, "EX_NOCACHE" }), REC->lblk, REC->pblk, REC->len, __print_flags(REC->mflags, "", { ((((1UL))) << (5)), "N" }, { ((((1UL))) << (4)), "M" }, { ((((1UL))) << (11)), "U" }, { ((((1UL))) << (9)), "B" }), REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_insert_range/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_insert_range/format
new file mode 100644
index 0000000..35af75c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_insert_range/format
@@ -0,0 +1,14 @@
+name: ext4_insert_range
+ID: 439
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:loff_t offset;	offset:24;	size:8;	signed:1;
+	field:loff_t len;	offset:32;	size:8;	signed:1;
+
+print fmt: "dev %d,%d ino %lu offset %lld len %lld", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->offset, REC->len
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_invalidatepage/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_invalidatepage/format
new file mode 100644
index 0000000..294ceb2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_invalidatepage/format
@@ -0,0 +1,15 @@
+name: ext4_invalidatepage
+ID: 440
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned long index;	offset:24;	size:8;	signed:0;
+	field:unsigned int offset;	offset:32;	size:4;	signed:0;
+	field:unsigned int length;	offset:36;	size:4;	signed:0;
+
+print fmt: "dev %d,%d ino %lu page_index %lu offset %u length %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, (unsigned long) REC->index, REC->offset, REC->length
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_journal_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_journal_start/format
new file mode 100644
index 0000000..d8a62e2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_journal_start/format
@@ -0,0 +1,15 @@
+name: ext4_journal_start
+ID: 441
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:unsigned long ip;	offset:16;	size:8;	signed:0;
+	field:int blocks;	offset:24;	size:4;	signed:1;
+	field:int rsv_blocks;	offset:28;	size:4;	signed:1;
+	field:int revoke_creds;	offset:32;	size:4;	signed:1;
+
+print fmt: "dev %d,%d blocks %d, rsv_blocks %d, revoke_creds %d, caller %pS", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->blocks, REC->rsv_blocks, REC->revoke_creds, (void *)REC->ip
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_journal_start_reserved/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_journal_start_reserved/format
new file mode 100644
index 0000000..875e163
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_journal_start_reserved/format
@@ -0,0 +1,13 @@
+name: ext4_journal_start_reserved
+ID: 442
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:unsigned long ip;	offset:16;	size:8;	signed:0;
+	field:int blocks;	offset:24;	size:4;	signed:1;
+
+print fmt: "dev %d,%d blocks, %d caller %pS", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->blocks, (void *)REC->ip
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_journalled_invalidatepage/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_journalled_invalidatepage/format
new file mode 100644
index 0000000..2cb332f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_journalled_invalidatepage/format
@@ -0,0 +1,15 @@
+name: ext4_journalled_invalidatepage
+ID: 443
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned long index;	offset:24;	size:8;	signed:0;
+	field:unsigned int offset;	offset:32;	size:4;	signed:0;
+	field:unsigned int length;	offset:36;	size:4;	signed:0;
+
+print fmt: "dev %d,%d ino %lu page_index %lu offset %u length %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, (unsigned long) REC->index, REC->offset, REC->length
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_journalled_write_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_journalled_write_end/format
new file mode 100644
index 0000000..95a4cae
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_journalled_write_end/format
@@ -0,0 +1,15 @@
+name: ext4_journalled_write_end
+ID: 444
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:loff_t pos;	offset:24;	size:8;	signed:1;
+	field:unsigned int len;	offset:32;	size:4;	signed:0;
+	field:unsigned int copied;	offset:36;	size:4;	signed:0;
+
+print fmt: "dev %d,%d ino %lu pos %lld len %u copied %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->pos, REC->len, REC->copied
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_lazy_itable_init/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_lazy_itable_init/format
new file mode 100644
index 0000000..54383b1
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_lazy_itable_init/format
@@ -0,0 +1,12 @@
+name: ext4_lazy_itable_init
+ID: 445
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:__u32 group;	offset:12;	size:4;	signed:0;
+
+print fmt: "dev %d,%d group %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->group
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_load_inode/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_load_inode/format
new file mode 100644
index 0000000..edf293f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_load_inode/format
@@ -0,0 +1,12 @@
+name: ext4_load_inode
+ID: 446
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+
+print fmt: "dev %d,%d ino %ld", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_load_inode_bitmap/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_load_inode_bitmap/format
new file mode 100644
index 0000000..e520c0a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_load_inode_bitmap/format
@@ -0,0 +1,12 @@
+name: ext4_load_inode_bitmap
+ID: 447
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:__u32 group;	offset:12;	size:4;	signed:0;
+
+print fmt: "dev %d,%d group %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->group
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mark_inode_dirty/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mark_inode_dirty/format
new file mode 100644
index 0000000..0eb8f88
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mark_inode_dirty/format
@@ -0,0 +1,13 @@
+name: ext4_mark_inode_dirty
+ID: 448
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned long ip;	offset:24;	size:8;	signed:0;
+
+print fmt: "dev %d,%d ino %lu caller %pS", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, (void *)REC->ip
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mb_bitmap_load/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mb_bitmap_load/format
new file mode 100644
index 0000000..08c651e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mb_bitmap_load/format
@@ -0,0 +1,12 @@
+name: ext4_mb_bitmap_load
+ID: 449
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:__u32 group;	offset:12;	size:4;	signed:0;
+
+print fmt: "dev %d,%d group %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->group
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mb_buddy_bitmap_load/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mb_buddy_bitmap_load/format
new file mode 100644
index 0000000..c941442
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mb_buddy_bitmap_load/format
@@ -0,0 +1,12 @@
+name: ext4_mb_buddy_bitmap_load
+ID: 450
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:__u32 group;	offset:12;	size:4;	signed:0;
+
+print fmt: "dev %d,%d group %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->group
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mb_discard_preallocations/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mb_discard_preallocations/format
new file mode 100644
index 0000000..4fbf638
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mb_discard_preallocations/format
@@ -0,0 +1,12 @@
+name: ext4_mb_discard_preallocations
+ID: 451
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:int needed;	offset:12;	size:4;	signed:1;
+
+print fmt: "dev %d,%d needed %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->needed
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mb_new_group_pa/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mb_new_group_pa/format
new file mode 100644
index 0000000..1174f53
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mb_new_group_pa/format
@@ -0,0 +1,15 @@
+name: ext4_mb_new_group_pa
+ID: 452
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:__u64 pa_pstart;	offset:24;	size:8;	signed:0;
+	field:__u64 pa_lstart;	offset:32;	size:8;	signed:0;
+	field:__u32 pa_len;	offset:40;	size:4;	signed:0;
+
+print fmt: "dev %d,%d ino %lu pstart %llu len %u lstart %llu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->pa_pstart, REC->pa_len, REC->pa_lstart
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mb_new_inode_pa/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mb_new_inode_pa/format
new file mode 100644
index 0000000..10ba91d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mb_new_inode_pa/format
@@ -0,0 +1,15 @@
+name: ext4_mb_new_inode_pa
+ID: 453
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:__u64 pa_pstart;	offset:24;	size:8;	signed:0;
+	field:__u64 pa_lstart;	offset:32;	size:8;	signed:0;
+	field:__u32 pa_len;	offset:40;	size:4;	signed:0;
+
+print fmt: "dev %d,%d ino %lu pstart %llu len %u lstart %llu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->pa_pstart, REC->pa_len, REC->pa_lstart
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mb_release_group_pa/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mb_release_group_pa/format
new file mode 100644
index 0000000..f9928e3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mb_release_group_pa/format
@@ -0,0 +1,13 @@
+name: ext4_mb_release_group_pa
+ID: 454
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:__u64 pa_pstart;	offset:16;	size:8;	signed:0;
+	field:__u32 pa_len;	offset:24;	size:4;	signed:0;
+
+print fmt: "dev %d,%d pstart %llu len %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->pa_pstart, REC->pa_len
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mb_release_inode_pa/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mb_release_inode_pa/format
new file mode 100644
index 0000000..b8fa079
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mb_release_inode_pa/format
@@ -0,0 +1,14 @@
+name: ext4_mb_release_inode_pa
+ID: 455
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:__u64 block;	offset:24;	size:8;	signed:0;
+	field:__u32 count;	offset:32;	size:4;	signed:0;
+
+print fmt: "dev %d,%d ino %lu block %llu count %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->block, REC->count
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mballoc_alloc/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mballoc_alloc/format
new file mode 100644
index 0000000..030372c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mballoc_alloc/format
@@ -0,0 +1,30 @@
+name: ext4_mballoc_alloc
+ID: 456
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:__u32 orig_logical;	offset:24;	size:4;	signed:0;
+	field:int orig_start;	offset:28;	size:4;	signed:1;
+	field:__u32 orig_group;	offset:32;	size:4;	signed:0;
+	field:int orig_len;	offset:36;	size:4;	signed:1;
+	field:__u32 goal_logical;	offset:40;	size:4;	signed:0;
+	field:int goal_start;	offset:44;	size:4;	signed:1;
+	field:__u32 goal_group;	offset:48;	size:4;	signed:0;
+	field:int goal_len;	offset:52;	size:4;	signed:1;
+	field:__u32 result_logical;	offset:56;	size:4;	signed:0;
+	field:int result_start;	offset:60;	size:4;	signed:1;
+	field:__u32 result_group;	offset:64;	size:4;	signed:0;
+	field:int result_len;	offset:68;	size:4;	signed:1;
+	field:__u16 found;	offset:72;	size:2;	signed:0;
+	field:__u16 groups;	offset:74;	size:2;	signed:0;
+	field:__u16 buddy;	offset:76;	size:2;	signed:0;
+	field:__u16 flags;	offset:78;	size:2;	signed:0;
+	field:__u16 tail;	offset:80;	size:2;	signed:0;
+	field:__u8 cr;	offset:82;	size:1;	signed:0;
+
+print fmt: "dev %d,%d inode %lu orig %u/%d/%u@%u goal %u/%d/%u@%u result %u/%d/%u@%u blks %u grps %u cr %u flags %s tail %u broken %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->orig_group, REC->orig_start, REC->orig_len, REC->orig_logical, REC->goal_group, REC->goal_start, REC->goal_len, REC->goal_logical, REC->result_group, REC->result_start, REC->result_len, REC->result_logical, REC->found, REC->groups, REC->cr, __print_flags(REC->flags, "|", { 0x0001, "HINT_MERGE" }, { 0x0002, "HINT_RESV" }, { 0x0004, "HINT_MDATA" }, { 0x0008, "HINT_FIRST" }, { 0x0010, "HINT_BEST" }, { 0x0020, "HINT_DATA" }, { 0x0040, "HINT_NOPREALLOC" }, { 0x0080, "HINT_GRP_ALLOC" }, { 0x0100, "HINT_GOAL_ONLY" }, { 0x0200, "HINT_TRY_GOAL" }, { 0x0400, "DELALLOC_RESV" }, { 0x0800, "STREAM_ALLOC" }, { 0x1000, "USE_ROOT_BLKS" }, { 0x2000, "USE_RESV" }, { 0x4000, "STRICT_CHECK" }), REC->tail, REC->buddy ? 1 << REC->buddy : 0
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mballoc_discard/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mballoc_discard/format
new file mode 100644
index 0000000..0773c4b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mballoc_discard/format
@@ -0,0 +1,15 @@
+name: ext4_mballoc_discard
+ID: 457
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:int result_start;	offset:24;	size:4;	signed:1;
+	field:__u32 result_group;	offset:28;	size:4;	signed:0;
+	field:int result_len;	offset:32;	size:4;	signed:1;
+
+print fmt: "dev %d,%d inode %lu extent %u/%d/%d ", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->result_group, REC->result_start, REC->result_len
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mballoc_free/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mballoc_free/format
new file mode 100644
index 0000000..eefb93c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mballoc_free/format
@@ -0,0 +1,15 @@
+name: ext4_mballoc_free
+ID: 458
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:int result_start;	offset:24;	size:4;	signed:1;
+	field:__u32 result_group;	offset:28;	size:4;	signed:0;
+	field:int result_len;	offset:32;	size:4;	signed:1;
+
+print fmt: "dev %d,%d inode %lu extent %u/%d/%d ", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->result_group, REC->result_start, REC->result_len
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mballoc_prealloc/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mballoc_prealloc/format
new file mode 100644
index 0000000..735d678
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_mballoc_prealloc/format
@@ -0,0 +1,20 @@
+name: ext4_mballoc_prealloc
+ID: 459
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:__u32 orig_logical;	offset:24;	size:4;	signed:0;
+	field:int orig_start;	offset:28;	size:4;	signed:1;
+	field:__u32 orig_group;	offset:32;	size:4;	signed:0;
+	field:int orig_len;	offset:36;	size:4;	signed:1;
+	field:__u32 result_logical;	offset:40;	size:4;	signed:0;
+	field:int result_start;	offset:44;	size:4;	signed:1;
+	field:__u32 result_group;	offset:48;	size:4;	signed:0;
+	field:int result_len;	offset:52;	size:4;	signed:1;
+
+print fmt: "dev %d,%d inode %lu orig %u/%d/%u@%u result %u/%d/%u@%u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->orig_group, REC->orig_start, REC->orig_len, REC->orig_logical, REC->result_group, REC->result_start, REC->result_len, REC->result_logical
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_nfs_commit_metadata/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_nfs_commit_metadata/format
new file mode 100644
index 0000000..089735b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_nfs_commit_metadata/format
@@ -0,0 +1,12 @@
+name: ext4_nfs_commit_metadata
+ID: 460
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+
+print fmt: "dev %d,%d ino %lu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_other_inode_update_time/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_other_inode_update_time/format
new file mode 100644
index 0000000..26ecb6a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_other_inode_update_time/format
@@ -0,0 +1,16 @@
+name: ext4_other_inode_update_time
+ID: 461
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ino_t orig_ino;	offset:24;	size:8;	signed:0;
+	field:uid_t uid;	offset:32;	size:4;	signed:0;
+	field:gid_t gid;	offset:36;	size:4;	signed:0;
+	field:__u16 mode;	offset:40;	size:2;	signed:0;
+
+print fmt: "dev %d,%d orig_ino %lu ino %lu mode 0%o uid %u gid %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->orig_ino, (unsigned long) REC->ino, REC->mode, REC->uid, REC->gid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_prefetch_bitmaps/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_prefetch_bitmaps/format
new file mode 100644
index 0000000..76806ad
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_prefetch_bitmaps/format
@@ -0,0 +1,14 @@
+name: ext4_prefetch_bitmaps
+ID: 462
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:__u32 group;	offset:12;	size:4;	signed:0;
+	field:__u32 next;	offset:16;	size:4;	signed:0;
+	field:__u32 ios;	offset:20;	size:4;	signed:0;
+
+print fmt: "dev %d,%d group %u next %u ios %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->group, REC->next, REC->ios
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_punch_hole/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_punch_hole/format
new file mode 100644
index 0000000..644b3ea
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_punch_hole/format
@@ -0,0 +1,15 @@
+name: ext4_punch_hole
+ID: 463
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:loff_t offset;	offset:24;	size:8;	signed:1;
+	field:loff_t len;	offset:32;	size:8;	signed:1;
+	field:int mode;	offset:40;	size:4;	signed:1;
+
+print fmt: "dev %d,%d ino %lu offset %lld len %lld mode %s", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->offset, REC->len, __print_flags(REC->mode, "|", { 0x01, "KEEP_SIZE"}, { 0x02, "PUNCH_HOLE"}, { 0x04, "NO_HIDE_STALE"}, { 0x08, "COLLAPSE_RANGE"}, { 0x10, "ZERO_RANGE"})
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_read_block_bitmap_load/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_read_block_bitmap_load/format
new file mode 100644
index 0000000..e3db705
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_read_block_bitmap_load/format
@@ -0,0 +1,13 @@
+name: ext4_read_block_bitmap_load
+ID: 464
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:__u32 group;	offset:12;	size:4;	signed:0;
+	field:bool prefetch;	offset:16;	size:1;	signed:0;
+
+print fmt: "dev %d,%d group %u prefetch %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->group, REC->prefetch
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_readpage/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_readpage/format
new file mode 100644
index 0000000..90a4e28
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_readpage/format
@@ -0,0 +1,13 @@
+name: ext4_readpage
+ID: 465
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned long index;	offset:24;	size:8;	signed:0;
+
+print fmt: "dev %d,%d ino %lu page_index %lu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, (unsigned long) REC->index
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_releasepage/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_releasepage/format
new file mode 100644
index 0000000..b4852d8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_releasepage/format
@@ -0,0 +1,13 @@
+name: ext4_releasepage
+ID: 466
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned long index;	offset:24;	size:8;	signed:0;
+
+print fmt: "dev %d,%d ino %lu page_index %lu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, (unsigned long) REC->index
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_remove_blocks/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_remove_blocks/format
new file mode 100644
index 0000000..6a6c23d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_remove_blocks/format
@@ -0,0 +1,20 @@
+name: ext4_remove_blocks
+ID: 467
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ext4_lblk_t from;	offset:24;	size:4;	signed:0;
+	field:ext4_lblk_t to;	offset:28;	size:4;	signed:0;
+	field:ext4_fsblk_t ee_pblk;	offset:32;	size:8;	signed:0;
+	field:ext4_lblk_t ee_lblk;	offset:40;	size:4;	signed:0;
+	field:unsigned short ee_len;	offset:44;	size:2;	signed:0;
+	field:ext4_fsblk_t pc_pclu;	offset:48;	size:8;	signed:0;
+	field:ext4_lblk_t pc_lblk;	offset:56;	size:4;	signed:0;
+	field:int pc_state;	offset:60;	size:4;	signed:1;
+
+print fmt: "dev %d,%d ino %lu extent [%u(%llu), %u]from %u to %u partial [pclu %lld lblk %u state %d]", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, (unsigned) REC->ee_lblk, (unsigned long long) REC->ee_pblk, (unsigned short) REC->ee_len, (unsigned) REC->from, (unsigned) REC->to, (long long) REC->pc_pclu, (unsigned int) REC->pc_lblk, (int) REC->pc_state
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_request_blocks/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_request_blocks/format
new file mode 100644
index 0000000..3f67026
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_request_blocks/format
@@ -0,0 +1,20 @@
+name: ext4_request_blocks
+ID: 468
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned int len;	offset:24;	size:4;	signed:0;
+	field:__u32 logical;	offset:28;	size:4;	signed:0;
+	field:__u32 lleft;	offset:32;	size:4;	signed:0;
+	field:__u32 lright;	offset:36;	size:4;	signed:0;
+	field:__u64 goal;	offset:40;	size:8;	signed:0;
+	field:__u64 pleft;	offset:48;	size:8;	signed:0;
+	field:__u64 pright;	offset:56;	size:8;	signed:0;
+	field:unsigned int flags;	offset:64;	size:4;	signed:0;
+
+print fmt: "dev %d,%d ino %lu flags %s len %u lblk %u goal %llu lleft %u lright %u pleft %llu pright %llu ", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, __print_flags(REC->flags, "|", { 0x0001, "HINT_MERGE" }, { 0x0002, "HINT_RESV" }, { 0x0004, "HINT_MDATA" }, { 0x0008, "HINT_FIRST" }, { 0x0010, "HINT_BEST" }, { 0x0020, "HINT_DATA" }, { 0x0040, "HINT_NOPREALLOC" }, { 0x0080, "HINT_GRP_ALLOC" }, { 0x0100, "HINT_GOAL_ONLY" }, { 0x0200, "HINT_TRY_GOAL" }, { 0x0400, "DELALLOC_RESV" }, { 0x0800, "STREAM_ALLOC" }, { 0x1000, "USE_ROOT_BLKS" }, { 0x2000, "USE_RESV" }, { 0x4000, "STRICT_CHECK" }), REC->len, REC->logical, REC->goal, REC->lleft, REC->lright, REC->pleft, REC->pright
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_request_inode/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_request_inode/format
new file mode 100644
index 0000000..983ffa9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_request_inode/format
@@ -0,0 +1,13 @@
+name: ext4_request_inode
+ID: 469
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t dir;	offset:16;	size:8;	signed:0;
+	field:__u16 mode;	offset:24;	size:2;	signed:0;
+
+print fmt: "dev %d,%d dir %lu mode 0%o", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->dir, REC->mode
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_shutdown/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_shutdown/format
new file mode 100644
index 0000000..b4c7571
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_shutdown/format
@@ -0,0 +1,12 @@
+name: ext4_shutdown
+ID: 470
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:unsigned flags;	offset:12;	size:4;	signed:0;
+
+print fmt: "dev %d,%d flags %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->flags
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_sync_file_enter/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_sync_file_enter/format
new file mode 100644
index 0000000..4170497
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_sync_file_enter/format
@@ -0,0 +1,14 @@
+name: ext4_sync_file_enter
+ID: 471
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ino_t parent;	offset:24;	size:8;	signed:0;
+	field:int datasync;	offset:32;	size:4;	signed:1;
+
+print fmt: "dev %d,%d ino %lu parent %lu datasync %d ", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, (unsigned long) REC->parent, REC->datasync
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_sync_file_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_sync_file_exit/format
new file mode 100644
index 0000000..bb0f8ae
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_sync_file_exit/format
@@ -0,0 +1,13 @@
+name: ext4_sync_file_exit
+ID: 472
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:int ret;	offset:24;	size:4;	signed:1;
+
+print fmt: "dev %d,%d ino %lu ret %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_sync_fs/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_sync_fs/format
new file mode 100644
index 0000000..d2d7872
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_sync_fs/format
@@ -0,0 +1,12 @@
+name: ext4_sync_fs
+ID: 473
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:int wait;	offset:12;	size:4;	signed:1;
+
+print fmt: "dev %d,%d wait %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->wait
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_trim_all_free/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_trim_all_free/format
new file mode 100644
index 0000000..0c146d2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_trim_all_free/format
@@ -0,0 +1,15 @@
+name: ext4_trim_all_free
+ID: 474
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int dev_major;	offset:8;	size:4;	signed:1;
+	field:int dev_minor;	offset:12;	size:4;	signed:1;
+	field:__u32 group;	offset:16;	size:4;	signed:0;
+	field:int start;	offset:20;	size:4;	signed:1;
+	field:int len;	offset:24;	size:4;	signed:1;
+
+print fmt: "dev %d,%d group %u, start %d, len %d", REC->dev_major, REC->dev_minor, REC->group, REC->start, REC->len
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_trim_extent/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_trim_extent/format
new file mode 100644
index 0000000..23801f9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_trim_extent/format
@@ -0,0 +1,15 @@
+name: ext4_trim_extent
+ID: 475
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int dev_major;	offset:8;	size:4;	signed:1;
+	field:int dev_minor;	offset:12;	size:4;	signed:1;
+	field:__u32 group;	offset:16;	size:4;	signed:0;
+	field:int start;	offset:20;	size:4;	signed:1;
+	field:int len;	offset:24;	size:4;	signed:1;
+
+print fmt: "dev %d,%d group %u, start %d, len %d", REC->dev_major, REC->dev_minor, REC->group, REC->start, REC->len
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_truncate_enter/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_truncate_enter/format
new file mode 100644
index 0000000..f410900
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_truncate_enter/format
@@ -0,0 +1,13 @@
+name: ext4_truncate_enter
+ID: 476
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:__u64 blocks;	offset:24;	size:8;	signed:0;
+
+print fmt: "dev %d,%d ino %lu blocks %llu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->blocks
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_truncate_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_truncate_exit/format
new file mode 100644
index 0000000..ba7833c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_truncate_exit/format
@@ -0,0 +1,13 @@
+name: ext4_truncate_exit
+ID: 477
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:__u64 blocks;	offset:24;	size:8;	signed:0;
+
+print fmt: "dev %d,%d ino %lu blocks %llu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->blocks
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_unlink_enter/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_unlink_enter/format
new file mode 100644
index 0000000..1dc2388
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_unlink_enter/format
@@ -0,0 +1,14 @@
+name: ext4_unlink_enter
+ID: 478
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ino_t parent;	offset:24;	size:8;	signed:0;
+	field:loff_t size;	offset:32;	size:8;	signed:1;
+
+print fmt: "dev %d,%d ino %lu size %lld parent %lu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->size, (unsigned long) REC->parent
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_unlink_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_unlink_exit/format
new file mode 100644
index 0000000..4ce3e44
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_unlink_exit/format
@@ -0,0 +1,13 @@
+name: ext4_unlink_exit
+ID: 479
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:int ret;	offset:24;	size:4;	signed:1;
+
+print fmt: "dev %d,%d ino %lu ret %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_write_begin/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_write_begin/format
new file mode 100644
index 0000000..84a7fab
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_write_begin/format
@@ -0,0 +1,15 @@
+name: ext4_write_begin
+ID: 480
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:loff_t pos;	offset:24;	size:8;	signed:1;
+	field:unsigned int len;	offset:32;	size:4;	signed:0;
+	field:unsigned int flags;	offset:36;	size:4;	signed:0;
+
+print fmt: "dev %d,%d ino %lu pos %lld len %u flags %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->pos, REC->len, REC->flags
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_write_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_write_end/format
new file mode 100644
index 0000000..fa09093
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_write_end/format
@@ -0,0 +1,15 @@
+name: ext4_write_end
+ID: 481
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:loff_t pos;	offset:24;	size:8;	signed:1;
+	field:unsigned int len;	offset:32;	size:4;	signed:0;
+	field:unsigned int copied;	offset:36;	size:4;	signed:0;
+
+print fmt: "dev %d,%d ino %lu pos %lld len %u copied %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->pos, REC->len, REC->copied
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_writepage/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_writepage/format
new file mode 100644
index 0000000..049c7d0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_writepage/format
@@ -0,0 +1,13 @@
+name: ext4_writepage
+ID: 482
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned long index;	offset:24;	size:8;	signed:0;
+
+print fmt: "dev %d,%d ino %lu page_index %lu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, (unsigned long) REC->index
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_writepages/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_writepages/format
new file mode 100644
index 0000000..08739e2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_writepages/format
@@ -0,0 +1,20 @@
+name: ext4_writepages
+ID: 483
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:long nr_to_write;	offset:24;	size:8;	signed:1;
+	field:long pages_skipped;	offset:32;	size:8;	signed:1;
+	field:loff_t range_start;	offset:40;	size:8;	signed:1;
+	field:loff_t range_end;	offset:48;	size:8;	signed:1;
+	field:unsigned long writeback_index;	offset:56;	size:8;	signed:0;
+	field:int sync_mode;	offset:64;	size:4;	signed:1;
+	field:char for_kupdate;	offset:68;	size:1;	signed:0;
+	field:char range_cyclic;	offset:69;	size:1;	signed:0;
+
+print fmt: "dev %d,%d ino %lu nr_to_write %ld pages_skipped %ld range_start %lld range_end %lld sync_mode %d for_kupdate %d range_cyclic %d writeback_index %lu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->nr_to_write, REC->pages_skipped, REC->range_start, REC->range_end, REC->sync_mode, REC->for_kupdate, REC->range_cyclic, (unsigned long) REC->writeback_index
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_writepages_result/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_writepages_result/format
new file mode 100644
index 0000000..1318b9a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_writepages_result/format
@@ -0,0 +1,17 @@
+name: ext4_writepages_result
+ID: 484
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:int ret;	offset:24;	size:4;	signed:1;
+	field:int pages_written;	offset:28;	size:4;	signed:1;
+	field:long pages_skipped;	offset:32;	size:8;	signed:1;
+	field:unsigned long writeback_index;	offset:40;	size:8;	signed:0;
+	field:int sync_mode;	offset:48;	size:4;	signed:1;
+
+print fmt: "dev %d,%d ino %lu ret %d pages_written %d pages_skipped %ld sync_mode %d writeback_index %lu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->ret, REC->pages_written, REC->pages_skipped, REC->sync_mode, (unsigned long) REC->writeback_index
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_zero_range/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_zero_range/format
new file mode 100644
index 0000000..6880324
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ext4/ext4_zero_range/format
@@ -0,0 +1,15 @@
+name: ext4_zero_range
+ID: 485
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:loff_t offset;	offset:24;	size:8;	signed:1;
+	field:loff_t len;	offset:32;	size:8;	signed:1;
+	field:int mode;	offset:40;	size:4;	signed:1;
+
+print fmt: "dev %d,%d ino %lu offset %lld len %lld mode %s", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino, REC->offset, REC->len, __print_flags(REC->mode, "|", { 0x01, "KEEP_SIZE"}, { 0x02, "PUNCH_HOLE"}, { 0x04, "NO_HIDE_STALE"}, { 0x08, "COLLAPSE_RANGE"}, { 0x10, "ZERO_RANGE"})
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_background_gc/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_background_gc/format
new file mode 100644
index 0000000..e7b188a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_background_gc/format
@@ -0,0 +1,14 @@
+name: f2fs_background_gc
+ID: 503
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:unsigned int wait_ms;	offset:12;	size:4;	signed:0;
+	field:unsigned int prefree;	offset:16;	size:4;	signed:0;
+	field:unsigned int free;	offset:20;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d), wait_ms = %u, prefree = %u, free = %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->wait_ms, REC->prefree, REC->free
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_bmap/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_bmap/format
new file mode 100644
index 0000000..003eae2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_bmap/format
@@ -0,0 +1,14 @@
+name: f2fs_bmap
+ID: 504
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:sector_t lblock;	offset:24;	size:8;	signed:0;
+	field:sector_t pblock;	offset:32;	size:8;	signed:0;
+
+print fmt: "dev = (%d,%d), ino = %lu, lblock:%lld, pblock:%lld", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, (unsigned long long)REC->lblock, (unsigned long long)REC->pblock
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_commit_inmem_page/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_commit_inmem_page/format
new file mode 100644
index 0000000..0cc487e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_commit_inmem_page/format
@@ -0,0 +1,17 @@
+name: f2fs_commit_inmem_page
+ID: 505
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:int type;	offset:24;	size:4;	signed:1;
+	field:int dir;	offset:28;	size:4;	signed:1;
+	field:unsigned long index;	offset:32;	size:8;	signed:0;
+	field:int dirty;	offset:40;	size:4;	signed:1;
+	field:int uptodate;	offset:44;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), ino = %lu, %s, %s, index = %lu, dirty = %d, uptodate = %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, __print_symbolic(REC->type, { 1, "NODE" }, { 0, "DATA" }, { 2, "META" }, { 4, "META_FLUSH" }, { 5, "INMEM" }, { 6, "INMEM_DROP" }, { 7, "INMEM_INVALIDATE" }, { 8, "INMEM_REVOKE" }, { 9, "IN-PLACE" }, { 10, "OUT-OF-PLACE" }), __print_symbolic(REC->dir, { 0, "FILE" }, { 1, "DIR" }), (unsigned long)REC->index, REC->dirty, REC->uptodate
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_compress_pages_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_compress_pages_end/format
new file mode 100644
index 0000000..97955a0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_compress_pages_end/format
@@ -0,0 +1,15 @@
+name: f2fs_compress_pages_end
+ID: 506
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned long idx;	offset:24;	size:8;	signed:0;
+	field:unsigned int size;	offset:32;	size:4;	signed:0;
+	field:unsigned int ret;	offset:36;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d), ino = %lu, cluster_idx:%lu, compressed_size = %u, ret = %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->idx, REC->size, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_compress_pages_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_compress_pages_start/format
new file mode 100644
index 0000000..0ab7e6b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_compress_pages_start/format
@@ -0,0 +1,15 @@
+name: f2fs_compress_pages_start
+ID: 507
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned long idx;	offset:24;	size:8;	signed:0;
+	field:unsigned int size;	offset:32;	size:4;	signed:0;
+	field:unsigned int algtype;	offset:36;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d), ino = %lu, cluster_idx:%lu, cluster_size = %u, algorithm = %s", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->idx, REC->size, __print_symbolic(REC->algtype, { COMPRESS_LZO, "LZO" }, { COMPRESS_LZ4, "LZ4" }, { COMPRESS_ZSTD, "ZSTD" }, { COMPRESS_LZORLE, "LZO-RLE" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_decompress_pages_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_decompress_pages_end/format
new file mode 100644
index 0000000..6f9992f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_decompress_pages_end/format
@@ -0,0 +1,15 @@
+name: f2fs_decompress_pages_end
+ID: 508
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned long idx;	offset:24;	size:8;	signed:0;
+	field:unsigned int size;	offset:32;	size:4;	signed:0;
+	field:unsigned int ret;	offset:36;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d), ino = %lu, cluster_idx:%lu, compressed_size = %u, ret = %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->idx, REC->size, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_decompress_pages_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_decompress_pages_start/format
new file mode 100644
index 0000000..14d73f7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_decompress_pages_start/format
@@ -0,0 +1,15 @@
+name: f2fs_decompress_pages_start
+ID: 509
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned long idx;	offset:24;	size:8;	signed:0;
+	field:unsigned int size;	offset:32;	size:4;	signed:0;
+	field:unsigned int algtype;	offset:36;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d), ino = %lu, cluster_idx:%lu, cluster_size = %u, algorithm = %s", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->idx, REC->size, __print_symbolic(REC->algtype, { COMPRESS_LZO, "LZO" }, { COMPRESS_LZ4, "LZ4" }, { COMPRESS_ZSTD, "ZSTD" }, { COMPRESS_LZORLE, "LZO-RLE" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_destroy_extent_tree/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_destroy_extent_tree/format
new file mode 100644
index 0000000..77d739c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_destroy_extent_tree/format
@@ -0,0 +1,13 @@
+name: f2fs_destroy_extent_tree
+ID: 510
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned int node_cnt;	offset:24;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d), ino = %lu, destroyed: node_cnt = %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->node_cnt
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_direct_IO_enter/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_direct_IO_enter/format
new file mode 100644
index 0000000..5da013b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_direct_IO_enter/format
@@ -0,0 +1,15 @@
+name: f2fs_direct_IO_enter
+ID: 511
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:loff_t pos;	offset:24;	size:8;	signed:1;
+	field:unsigned long len;	offset:32;	size:8;	signed:0;
+	field:int rw;	offset:40;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), ino = %lu pos = %lld len = %lu rw = %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->pos, REC->len, REC->rw
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_direct_IO_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_direct_IO_exit/format
new file mode 100644
index 0000000..c210272
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_direct_IO_exit/format
@@ -0,0 +1,16 @@
+name: f2fs_direct_IO_exit
+ID: 512
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:loff_t pos;	offset:24;	size:8;	signed:1;
+	field:unsigned long len;	offset:32;	size:8;	signed:0;
+	field:int rw;	offset:40;	size:4;	signed:1;
+	field:int ret;	offset:44;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), ino = %lu pos = %lld len = %lu rw = %d ret = %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->pos, REC->len, REC->rw, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_do_write_data_page/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_do_write_data_page/format
new file mode 100644
index 0000000..11399a9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_do_write_data_page/format
@@ -0,0 +1,17 @@
+name: f2fs_do_write_data_page
+ID: 513
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:int type;	offset:24;	size:4;	signed:1;
+	field:int dir;	offset:28;	size:4;	signed:1;
+	field:unsigned long index;	offset:32;	size:8;	signed:0;
+	field:int dirty;	offset:40;	size:4;	signed:1;
+	field:int uptodate;	offset:44;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), ino = %lu, %s, %s, index = %lu, dirty = %d, uptodate = %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, __print_symbolic(REC->type, { 1, "NODE" }, { 0, "DATA" }, { 2, "META" }, { 4, "META_FLUSH" }, { 5, "INMEM" }, { 6, "INMEM_DROP" }, { 7, "INMEM_INVALIDATE" }, { 8, "INMEM_REVOKE" }, { 9, "IN-PLACE" }, { 10, "OUT-OF-PLACE" }), __print_symbolic(REC->dir, { 0, "FILE" }, { 1, "DIR" }), (unsigned long)REC->index, REC->dirty, REC->uptodate
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_drop_inode/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_drop_inode/format
new file mode 100644
index 0000000..0dc31bd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_drop_inode/format
@@ -0,0 +1,13 @@
+name: f2fs_drop_inode
+ID: 514
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:int ret;	offset:24;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), ino = %lu, ret = %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_evict_inode/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_evict_inode/format
new file mode 100644
index 0000000..da11ef9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_evict_inode/format
@@ -0,0 +1,18 @@
+name: f2fs_evict_inode
+ID: 515
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ino_t pino;	offset:24;	size:8;	signed:0;
+	field:umode_t mode;	offset:32;	size:2;	signed:0;
+	field:loff_t size;	offset:40;	size:8;	signed:1;
+	field:unsigned int nlink;	offset:48;	size:4;	signed:0;
+	field:blkcnt_t blocks;	offset:56;	size:8;	signed:0;
+	field:__u8 advise;	offset:64;	size:1;	signed:0;
+
+print fmt: "dev = (%d,%d), ino = %lu, pino = %lu, i_mode = 0x%hx, i_size = %lld, i_nlink = %u, i_blocks = %llu, i_advise = 0x%x", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, (unsigned long)REC->pino, REC->mode, REC->size, (unsigned int)REC->nlink, (unsigned long long)REC->blocks, (unsigned char)REC->advise
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_fallocate/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_fallocate/format
new file mode 100644
index 0000000..f326094
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_fallocate/format
@@ -0,0 +1,18 @@
+name: f2fs_fallocate
+ID: 516
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:int mode;	offset:24;	size:4;	signed:1;
+	field:loff_t offset;	offset:32;	size:8;	signed:1;
+	field:loff_t len;	offset:40;	size:8;	signed:1;
+	field:loff_t size;	offset:48;	size:8;	signed:1;
+	field:blkcnt_t blocks;	offset:56;	size:8;	signed:0;
+	field:int ret;	offset:64;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), ino = %lu, mode = %x, offset = %lld, len = %lld,  i_size = %lld, i_blocks = %llu, ret = %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->mode, (unsigned long long)REC->offset, (unsigned long long)REC->len, (unsigned long long)REC->size, (unsigned long long)REC->blocks, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_fiemap/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_fiemap/format
new file mode 100644
index 0000000..894f987
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_fiemap/format
@@ -0,0 +1,17 @@
+name: f2fs_fiemap
+ID: 517
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:sector_t lblock;	offset:24;	size:8;	signed:0;
+	field:sector_t pblock;	offset:32;	size:8;	signed:0;
+	field:unsigned long long len;	offset:40;	size:8;	signed:0;
+	field:unsigned int flags;	offset:48;	size:4;	signed:0;
+	field:int ret;	offset:52;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), ino = %lu, lblock:%lld, pblock:%lld, len:%llu, flags:%u, ret:%d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, (unsigned long long)REC->lblock, (unsigned long long)REC->pblock, REC->len, REC->flags, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_file_write_iter/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_file_write_iter/format
new file mode 100644
index 0000000..1c52323
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_file_write_iter/format
@@ -0,0 +1,15 @@
+name: f2fs_file_write_iter
+ID: 518
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned long offset;	offset:24;	size:8;	signed:0;
+	field:unsigned long length;	offset:32;	size:8;	signed:0;
+	field:int ret;	offset:40;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), ino = %lu, offset = %lu, length = %lu, written(err) = %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->offset, REC->length, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_filemap_fault/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_filemap_fault/format
new file mode 100644
index 0000000..b748002
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_filemap_fault/format
@@ -0,0 +1,14 @@
+name: f2fs_filemap_fault
+ID: 519
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned long index;	offset:24;	size:8;	signed:0;
+	field:unsigned long ret;	offset:32;	size:8;	signed:0;
+
+print fmt: "dev = (%d,%d), ino = %lu, index = %lu, ret = %lx", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, (unsigned long)REC->index, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_gc_begin/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_gc_begin/format
new file mode 100644
index 0000000..a493669
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_gc_begin/format
@@ -0,0 +1,20 @@
+name: f2fs_gc_begin
+ID: 520
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:bool sync;	offset:12;	size:1;	signed:0;
+	field:bool background;	offset:13;	size:1;	signed:0;
+	field:long long dirty_nodes;	offset:16;	size:8;	signed:1;
+	field:long long dirty_dents;	offset:24;	size:8;	signed:1;
+	field:long long dirty_imeta;	offset:32;	size:8;	signed:1;
+	field:unsigned int free_sec;	offset:40;	size:4;	signed:0;
+	field:unsigned int free_seg;	offset:44;	size:4;	signed:0;
+	field:int reserved_seg;	offset:48;	size:4;	signed:1;
+	field:unsigned int prefree_seg;	offset:52;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d), sync = %d, background = %d, nodes = %lld, dents = %lld, imeta = %lld, free_sec:%u, free_seg:%u, rsv_seg:%d, prefree_seg:%u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->sync, REC->background, REC->dirty_nodes, REC->dirty_dents, REC->dirty_imeta, REC->free_sec, REC->free_seg, REC->reserved_seg, REC->prefree_seg
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_gc_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_gc_end/format
new file mode 100644
index 0000000..14870b3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_gc_end/format
@@ -0,0 +1,21 @@
+name: f2fs_gc_end
+ID: 521
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:int ret;	offset:12;	size:4;	signed:1;
+	field:int seg_freed;	offset:16;	size:4;	signed:1;
+	field:int sec_freed;	offset:20;	size:4;	signed:1;
+	field:long long dirty_nodes;	offset:24;	size:8;	signed:1;
+	field:long long dirty_dents;	offset:32;	size:8;	signed:1;
+	field:long long dirty_imeta;	offset:40;	size:8;	signed:1;
+	field:unsigned int free_sec;	offset:48;	size:4;	signed:0;
+	field:unsigned int free_seg;	offset:52;	size:4;	signed:0;
+	field:int reserved_seg;	offset:56;	size:4;	signed:1;
+	field:unsigned int prefree_seg;	offset:60;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d), ret = %d, seg_freed = %d, sec_freed = %d, nodes = %lld, dents = %lld, imeta = %lld, free_sec:%u, free_seg:%u, rsv_seg:%d, prefree_seg:%u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->ret, REC->seg_freed, REC->sec_freed, REC->dirty_nodes, REC->dirty_dents, REC->dirty_imeta, REC->free_sec, REC->free_seg, REC->reserved_seg, REC->prefree_seg
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_get_victim/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_get_victim/format
new file mode 100644
index 0000000..eb88b17
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_get_victim/format
@@ -0,0 +1,21 @@
+name: f2fs_get_victim
+ID: 522
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:int type;	offset:12;	size:4;	signed:1;
+	field:int gc_type;	offset:16;	size:4;	signed:1;
+	field:int alloc_mode;	offset:20;	size:4;	signed:1;
+	field:int gc_mode;	offset:24;	size:4;	signed:1;
+	field:unsigned int victim;	offset:28;	size:4;	signed:0;
+	field:unsigned int cost;	offset:32;	size:4;	signed:0;
+	field:unsigned int ofs_unit;	offset:36;	size:4;	signed:0;
+	field:unsigned int pre_victim;	offset:40;	size:4;	signed:0;
+	field:unsigned int prefree;	offset:44;	size:4;	signed:0;
+	field:unsigned int free;	offset:48;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d), type = %s, policy = (%s, %s, %s), victim = %u, cost = %u, ofs_unit = %u, pre_victim_secno = %d, prefree = %u, free = %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), __print_symbolic(REC->type, { 0, "Hot DATA" }, { 1, "Warm DATA" }, { 2, "Cold DATA" }, { 3, "Hot NODE" }, { 4, "Warm NODE" }, { 5, "Cold NODE" }, { 8, "No TYPE" }), __print_symbolic(REC->gc_type, { 1, "Foreground GC" }, { 0, "Background GC" }), __print_symbolic(REC->alloc_mode, { 0, "LFS-mode" }, { 1, "SSR-mode" }, { AT_SSR, "AT_SSR-mode" }), __print_symbolic(REC->gc_mode, { 1, "Greedy" }, { 0, "Cost-Benefit" }, { GC_AT, "Age-threshold" }), REC->victim, REC->cost, REC->ofs_unit, (int)REC->pre_victim, REC->prefree, REC->free
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_iget/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_iget/format
new file mode 100644
index 0000000..623b974
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_iget/format
@@ -0,0 +1,18 @@
+name: f2fs_iget
+ID: 523
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ino_t pino;	offset:24;	size:8;	signed:0;
+	field:umode_t mode;	offset:32;	size:2;	signed:0;
+	field:loff_t size;	offset:40;	size:8;	signed:1;
+	field:unsigned int nlink;	offset:48;	size:4;	signed:0;
+	field:blkcnt_t blocks;	offset:56;	size:8;	signed:0;
+	field:__u8 advise;	offset:64;	size:1;	signed:0;
+
+print fmt: "dev = (%d,%d), ino = %lu, pino = %lu, i_mode = 0x%hx, i_size = %lld, i_nlink = %u, i_blocks = %llu, i_advise = 0x%x", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, (unsigned long)REC->pino, REC->mode, REC->size, (unsigned int)REC->nlink, (unsigned long long)REC->blocks, (unsigned char)REC->advise
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_iget_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_iget_exit/format
new file mode 100644
index 0000000..54a0359
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_iget_exit/format
@@ -0,0 +1,13 @@
+name: f2fs_iget_exit
+ID: 524
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:int ret;	offset:24;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), ino = %lu, ret = %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_iostat/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_iostat/format
new file mode 100644
index 0000000..7df9042
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_iostat/format
@@ -0,0 +1,33 @@
+name: f2fs_iostat
+ID: 525
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:unsigned long long app_dio;	offset:16;	size:8;	signed:0;
+	field:unsigned long long app_bio;	offset:24;	size:8;	signed:0;
+	field:unsigned long long app_wio;	offset:32;	size:8;	signed:0;
+	field:unsigned long long app_mio;	offset:40;	size:8;	signed:0;
+	field:unsigned long long fs_dio;	offset:48;	size:8;	signed:0;
+	field:unsigned long long fs_nio;	offset:56;	size:8;	signed:0;
+	field:unsigned long long fs_mio;	offset:64;	size:8;	signed:0;
+	field:unsigned long long fs_gc_dio;	offset:72;	size:8;	signed:0;
+	field:unsigned long long fs_gc_nio;	offset:80;	size:8;	signed:0;
+	field:unsigned long long fs_cp_dio;	offset:88;	size:8;	signed:0;
+	field:unsigned long long fs_cp_nio;	offset:96;	size:8;	signed:0;
+	field:unsigned long long fs_cp_mio;	offset:104;	size:8;	signed:0;
+	field:unsigned long long app_drio;	offset:112;	size:8;	signed:0;
+	field:unsigned long long app_brio;	offset:120;	size:8;	signed:0;
+	field:unsigned long long app_rio;	offset:128;	size:8;	signed:0;
+	field:unsigned long long app_mrio;	offset:136;	size:8;	signed:0;
+	field:unsigned long long fs_drio;	offset:144;	size:8;	signed:0;
+	field:unsigned long long fs_gdrio;	offset:152;	size:8;	signed:0;
+	field:unsigned long long fs_cdrio;	offset:160;	size:8;	signed:0;
+	field:unsigned long long fs_nrio;	offset:168;	size:8;	signed:0;
+	field:unsigned long long fs_mrio;	offset:176;	size:8;	signed:0;
+	field:unsigned long long fs_discard;	offset:184;	size:8;	signed:0;
+
+print fmt: "dev = (%d,%d), app [write=%llu (direct=%llu, buffered=%llu), mapped=%llu], fs [data=%llu, node=%llu, meta=%llu, discard=%llu], gc [data=%llu, node=%llu], cp [data=%llu, node=%llu, meta=%llu], app [read=%llu (direct=%llu, buffered=%llu), mapped=%llu], fs [data=%llu, (gc_data=%llu, compr_data=%llu), node=%llu, meta=%llu]", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->app_wio, REC->app_dio, REC->app_bio, REC->app_mio, REC->fs_dio, REC->fs_nio, REC->fs_mio, REC->fs_discard, REC->fs_gc_dio, REC->fs_gc_nio, REC->fs_cp_dio, REC->fs_cp_nio, REC->fs_cp_mio, REC->app_rio, REC->app_drio, REC->app_brio, REC->app_mrio, REC->fs_drio, REC->fs_gdrio, REC->fs_cdrio, REC->fs_nrio, REC->fs_mrio
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_issue_discard/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_issue_discard/format
new file mode 100644
index 0000000..a0e4dd5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_issue_discard/format
@@ -0,0 +1,13 @@
+name: f2fs_issue_discard
+ID: 526
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:block_t blkstart;	offset:12;	size:4;	signed:0;
+	field:block_t blklen;	offset:16;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d), blkstart = 0x%llx, blklen = 0x%llx", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long long)REC->blkstart, (unsigned long long)REC->blklen
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_issue_flush/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_issue_flush/format
new file mode 100644
index 0000000..93c2d22
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_issue_flush/format
@@ -0,0 +1,14 @@
+name: f2fs_issue_flush
+ID: 527
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:unsigned int nobarrier;	offset:12;	size:4;	signed:0;
+	field:unsigned int flush_merge;	offset:16;	size:4;	signed:0;
+	field:int ret;	offset:20;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), %s %s, ret = %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->nobarrier ? "skip (nobarrier)" : "issue", REC->flush_merge ? " with flush_merge" : "", REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_issue_reset_zone/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_issue_reset_zone/format
new file mode 100644
index 0000000..5ce63d6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_issue_reset_zone/format
@@ -0,0 +1,12 @@
+name: f2fs_issue_reset_zone
+ID: 528
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:block_t blkstart;	offset:12;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d), reset zone at block = 0x%llx", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long long)REC->blkstart
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_lookup_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_lookup_end/format
new file mode 100644
index 0000000..0050023
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_lookup_end/format
@@ -0,0 +1,15 @@
+name: f2fs_lookup_end
+ID: 529
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:const char * name;	offset:24;	size:8;	signed:0;
+	field:nid_t cino;	offset:32;	size:4;	signed:0;
+	field:int err;	offset:36;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), pino = %lu, name:%s, ino:%u, err:%d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->name, REC->cino, REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_lookup_extent_tree_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_lookup_extent_tree_end/format
new file mode 100644
index 0000000..c6f404f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_lookup_extent_tree_end/format
@@ -0,0 +1,16 @@
+name: f2fs_lookup_extent_tree_end
+ID: 530
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned int pgofs;	offset:24;	size:4;	signed:0;
+	field:unsigned int fofs;	offset:28;	size:4;	signed:0;
+	field:u32 blk;	offset:32;	size:4;	signed:0;
+	field:unsigned int len;	offset:36;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d), ino = %lu, pgofs = %u, ext_info(fofs: %u, blk: %u, len: %u)", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->pgofs, REC->fofs, REC->blk, REC->len
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_lookup_extent_tree_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_lookup_extent_tree_start/format
new file mode 100644
index 0000000..568ac84
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_lookup_extent_tree_start/format
@@ -0,0 +1,13 @@
+name: f2fs_lookup_extent_tree_start
+ID: 531
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned int pgofs;	offset:24;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d), ino = %lu, pgofs = %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->pgofs
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_lookup_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_lookup_start/format
new file mode 100644
index 0000000..df46f7b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_lookup_start/format
@@ -0,0 +1,14 @@
+name: f2fs_lookup_start
+ID: 532
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:const char * name;	offset:24;	size:8;	signed:0;
+	field:unsigned int flags;	offset:32;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d), pino = %lu, name:%s, flags:%u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->name, REC->flags
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_map_blocks/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_map_blocks/format
new file mode 100644
index 0000000..51403e8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_map_blocks/format
@@ -0,0 +1,19 @@
+name: f2fs_map_blocks
+ID: 533
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:block_t m_lblk;	offset:24;	size:4;	signed:0;
+	field:block_t m_pblk;	offset:28;	size:4;	signed:0;
+	field:unsigned int m_len;	offset:32;	size:4;	signed:0;
+	field:unsigned int m_flags;	offset:36;	size:4;	signed:0;
+	field:int m_seg_type;	offset:40;	size:4;	signed:1;
+	field:bool m_may_create;	offset:44;	size:1;	signed:0;
+	field:int ret;	offset:48;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), ino = %lu, file offset = %llu, start blkaddr = 0x%llx, len = 0x%llx, flags = %u,seg_type = %d, may_create = %d, err = %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, (unsigned long long)REC->m_lblk, (unsigned long long)REC->m_pblk, (unsigned long long)REC->m_len, REC->m_flags, REC->m_seg_type, REC->m_may_create, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_new_inode/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_new_inode/format
new file mode 100644
index 0000000..e4be163
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_new_inode/format
@@ -0,0 +1,13 @@
+name: f2fs_new_inode
+ID: 534
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:int ret;	offset:24;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), ino = %lu, ret = %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_prepare_read_bio/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_prepare_read_bio/format
new file mode 100644
index 0000000..e3e7cf7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_prepare_read_bio/format
@@ -0,0 +1,17 @@
+name: f2fs_prepare_read_bio
+ID: 535
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:dev_t target;	offset:12;	size:4;	signed:0;
+	field:int op;	offset:16;	size:4;	signed:1;
+	field:int op_flags;	offset:20;	size:4;	signed:1;
+	field:int type;	offset:24;	size:4;	signed:1;
+	field:sector_t sector;	offset:32;	size:8;	signed:0;
+	field:unsigned int size;	offset:40;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d)/(%d,%d), rw = %s(%s), %s, sector = %lld, size = %u", ((unsigned int) ((REC->target) >> 20)), ((unsigned int) ((REC->target) & ((1U << 20) - 1))), ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), blk_op_str(REC->op), __print_flags((REC->op_flags & ((1ULL << 19) | (1ULL << 11) | (1ULL << 12) | (1ULL << 13) | (1ULL << 18) | (1ULL << 17))), "|", { (1ULL << 19), "R" }, { (1ULL << 11), "S" }, { (1ULL << 12), "M" }, { (1ULL << 13), "P" }, { (1ULL << 18), "PF" }, { (1ULL << 17), "FUA" }), __print_symbolic(REC->type, { 1, "NODE" }, { 0, "DATA" }, { 2, "META" }, { 4, "META_FLUSH" }, { 5, "INMEM" }, { 6, "INMEM_DROP" }, { 7, "INMEM_INVALIDATE" }, { 8, "INMEM_REVOKE" }, { 9, "IN-PLACE" }, { 10, "OUT-OF-PLACE" }), (unsigned long long)REC->sector, REC->size
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_prepare_write_bio/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_prepare_write_bio/format
new file mode 100644
index 0000000..001a3f0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_prepare_write_bio/format
@@ -0,0 +1,17 @@
+name: f2fs_prepare_write_bio
+ID: 536
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:dev_t target;	offset:12;	size:4;	signed:0;
+	field:int op;	offset:16;	size:4;	signed:1;
+	field:int op_flags;	offset:20;	size:4;	signed:1;
+	field:int type;	offset:24;	size:4;	signed:1;
+	field:sector_t sector;	offset:32;	size:8;	signed:0;
+	field:unsigned int size;	offset:40;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d)/(%d,%d), rw = %s(%s), %s, sector = %lld, size = %u", ((unsigned int) ((REC->target) >> 20)), ((unsigned int) ((REC->target) & ((1U << 20) - 1))), ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), blk_op_str(REC->op), __print_flags((REC->op_flags & ((1ULL << 19) | (1ULL << 11) | (1ULL << 12) | (1ULL << 13) | (1ULL << 18) | (1ULL << 17))), "|", { (1ULL << 19), "R" }, { (1ULL << 11), "S" }, { (1ULL << 12), "M" }, { (1ULL << 13), "P" }, { (1ULL << 18), "PF" }, { (1ULL << 17), "FUA" }), __print_symbolic(REC->type, { 1, "NODE" }, { 0, "DATA" }, { 2, "META" }, { 4, "META_FLUSH" }, { 5, "INMEM" }, { 6, "INMEM_DROP" }, { 7, "INMEM_INVALIDATE" }, { 8, "INMEM_REVOKE" }, { 9, "IN-PLACE" }, { 10, "OUT-OF-PLACE" }), (unsigned long long)REC->sector, REC->size
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_queue_discard/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_queue_discard/format
new file mode 100644
index 0000000..99d56af
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_queue_discard/format
@@ -0,0 +1,13 @@
+name: f2fs_queue_discard
+ID: 537
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:block_t blkstart;	offset:12;	size:4;	signed:0;
+	field:block_t blklen;	offset:16;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d), blkstart = 0x%llx, blklen = 0x%llx", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long long)REC->blkstart, (unsigned long long)REC->blklen
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_readdir/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_readdir/format
new file mode 100644
index 0000000..0fc4534
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_readdir/format
@@ -0,0 +1,15 @@
+name: f2fs_readdir
+ID: 538
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:loff_t start;	offset:24;	size:8;	signed:1;
+	field:loff_t end;	offset:32;	size:8;	signed:1;
+	field:int err;	offset:40;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), ino = %lu, start_pos:%llu, end_pos:%llu, err:%d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->start, REC->end, REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_readpage/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_readpage/format
new file mode 100644
index 0000000..996b387
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_readpage/format
@@ -0,0 +1,17 @@
+name: f2fs_readpage
+ID: 539
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:int type;	offset:24;	size:4;	signed:1;
+	field:int dir;	offset:28;	size:4;	signed:1;
+	field:unsigned long index;	offset:32;	size:8;	signed:0;
+	field:int dirty;	offset:40;	size:4;	signed:1;
+	field:int uptodate;	offset:44;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), ino = %lu, %s, %s, index = %lu, dirty = %d, uptodate = %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, __print_symbolic(REC->type, { 1, "NODE" }, { 0, "DATA" }, { 2, "META" }, { 4, "META_FLUSH" }, { 5, "INMEM" }, { 6, "INMEM_DROP" }, { 7, "INMEM_INVALIDATE" }, { 8, "INMEM_REVOKE" }, { 9, "IN-PLACE" }, { 10, "OUT-OF-PLACE" }), __print_symbolic(REC->dir, { 0, "FILE" }, { 1, "DIR" }), (unsigned long)REC->index, REC->dirty, REC->uptodate
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_readpages/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_readpages/format
new file mode 100644
index 0000000..719b9d8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_readpages/format
@@ -0,0 +1,14 @@
+name: f2fs_readpages
+ID: 540
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned long start;	offset:24;	size:8;	signed:0;
+	field:unsigned int nrpage;	offset:32;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d), ino = %lu, start = %lu nrpage = %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, (unsigned long)REC->start, REC->nrpage
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_register_inmem_page/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_register_inmem_page/format
new file mode 100644
index 0000000..c0e11a7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_register_inmem_page/format
@@ -0,0 +1,17 @@
+name: f2fs_register_inmem_page
+ID: 541
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:int type;	offset:24;	size:4;	signed:1;
+	field:int dir;	offset:28;	size:4;	signed:1;
+	field:unsigned long index;	offset:32;	size:8;	signed:0;
+	field:int dirty;	offset:40;	size:4;	signed:1;
+	field:int uptodate;	offset:44;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), ino = %lu, %s, %s, index = %lu, dirty = %d, uptodate = %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, __print_symbolic(REC->type, { 1, "NODE" }, { 0, "DATA" }, { 2, "META" }, { 4, "META_FLUSH" }, { 5, "INMEM" }, { 6, "INMEM_DROP" }, { 7, "INMEM_INVALIDATE" }, { 8, "INMEM_REVOKE" }, { 9, "IN-PLACE" }, { 10, "OUT-OF-PLACE" }), __print_symbolic(REC->dir, { 0, "FILE" }, { 1, "DIR" }), (unsigned long)REC->index, REC->dirty, REC->uptodate
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_remove_discard/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_remove_discard/format
new file mode 100644
index 0000000..1ead780
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_remove_discard/format
@@ -0,0 +1,13 @@
+name: f2fs_remove_discard
+ID: 542
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:block_t blkstart;	offset:12;	size:4;	signed:0;
+	field:block_t blklen;	offset:16;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d), blkstart = 0x%llx, blklen = 0x%llx", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long long)REC->blkstart, (unsigned long long)REC->blklen
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_reserve_new_blocks/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_reserve_new_blocks/format
new file mode 100644
index 0000000..346b06a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_reserve_new_blocks/format
@@ -0,0 +1,14 @@
+name: f2fs_reserve_new_blocks
+ID: 543
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:nid_t nid;	offset:12;	size:4;	signed:0;
+	field:unsigned int ofs_in_node;	offset:16;	size:4;	signed:0;
+	field:blkcnt_t count;	offset:24;	size:8;	signed:0;
+
+print fmt: "dev = (%d,%d), nid = %u, ofs_in_node = %u, count = %llu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned int)REC->nid, REC->ofs_in_node, (unsigned long long)REC->count
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_set_page_dirty/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_set_page_dirty/format
new file mode 100644
index 0000000..5748204
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_set_page_dirty/format
@@ -0,0 +1,17 @@
+name: f2fs_set_page_dirty
+ID: 544
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:int type;	offset:24;	size:4;	signed:1;
+	field:int dir;	offset:28;	size:4;	signed:1;
+	field:unsigned long index;	offset:32;	size:8;	signed:0;
+	field:int dirty;	offset:40;	size:4;	signed:1;
+	field:int uptodate;	offset:44;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), ino = %lu, %s, %s, index = %lu, dirty = %d, uptodate = %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, __print_symbolic(REC->type, { 1, "NODE" }, { 0, "DATA" }, { 2, "META" }, { 4, "META_FLUSH" }, { 5, "INMEM" }, { 6, "INMEM_DROP" }, { 7, "INMEM_INVALIDATE" }, { 8, "INMEM_REVOKE" }, { 9, "IN-PLACE" }, { 10, "OUT-OF-PLACE" }), __print_symbolic(REC->dir, { 0, "FILE" }, { 1, "DIR" }), (unsigned long)REC->index, REC->dirty, REC->uptodate
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_shrink_extent_tree/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_shrink_extent_tree/format
new file mode 100644
index 0000000..6c4f6ec
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_shrink_extent_tree/format
@@ -0,0 +1,13 @@
+name: f2fs_shrink_extent_tree
+ID: 545
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:unsigned int node_cnt;	offset:12;	size:4;	signed:0;
+	field:unsigned int tree_cnt;	offset:16;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d), shrunk: node_cnt = %u, tree_cnt = %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->node_cnt, REC->tree_cnt
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_shutdown/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_shutdown/format
new file mode 100644
index 0000000..ab971a5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_shutdown/format
@@ -0,0 +1,13 @@
+name: f2fs_shutdown
+ID: 546
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:unsigned int mode;	offset:12;	size:4;	signed:0;
+	field:int ret;	offset:16;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), mode: %s, ret:%d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), __print_symbolic(REC->mode, { 0x0, "full sync" }, { 0x1, "meta sync" }, { 0x2, "no sync" }, { 0x3, "meta flush" }, { 0x4, "need fsck" }), REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_submit_page_bio/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_submit_page_bio/format
new file mode 100644
index 0000000..82b3a94
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_submit_page_bio/format
@@ -0,0 +1,19 @@
+name: f2fs_submit_page_bio
+ID: 547
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned long index;	offset:24;	size:8;	signed:0;
+	field:block_t old_blkaddr;	offset:32;	size:4;	signed:0;
+	field:block_t new_blkaddr;	offset:36;	size:4;	signed:0;
+	field:int op;	offset:40;	size:4;	signed:1;
+	field:int op_flags;	offset:44;	size:4;	signed:1;
+	field:int temp;	offset:48;	size:4;	signed:1;
+	field:int type;	offset:52;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), ino = %lu, page_index = 0x%lx, oldaddr = 0x%llx, newaddr = 0x%llx, rw = %s(%s), type = %s_%s", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, (unsigned long)REC->index, (unsigned long long)REC->old_blkaddr, (unsigned long long)REC->new_blkaddr, blk_op_str(REC->op), __print_flags((REC->op_flags & ((1ULL << 19) | (1ULL << 11) | (1ULL << 12) | (1ULL << 13) | (1ULL << 18) | (1ULL << 17))), "|", { (1ULL << 19), "R" }, { (1ULL << 11), "S" }, { (1ULL << 12), "M" }, { (1ULL << 13), "P" }, { (1ULL << 18), "PF" }, { (1ULL << 17), "FUA" }), __print_symbolic(REC->temp, { 0, "HOT" }, { 1, "WARM" }, { 2, "COLD" }), __print_symbolic(REC->type, { 1, "NODE" }, { 0, "DATA" }, { 2, "META" }, { 4, "META_FLUSH" }, { 5, "INMEM" }, { 6, "INMEM_DROP" }, { 7, "INMEM_INVALIDATE" }, { 8, "INMEM_REVOKE" }, { 9, "IN-PLACE" }, { 10, "OUT-OF-PLACE" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_submit_page_write/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_submit_page_write/format
new file mode 100644
index 0000000..614cc71
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_submit_page_write/format
@@ -0,0 +1,19 @@
+name: f2fs_submit_page_write
+ID: 548
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned long index;	offset:24;	size:8;	signed:0;
+	field:block_t old_blkaddr;	offset:32;	size:4;	signed:0;
+	field:block_t new_blkaddr;	offset:36;	size:4;	signed:0;
+	field:int op;	offset:40;	size:4;	signed:1;
+	field:int op_flags;	offset:44;	size:4;	signed:1;
+	field:int temp;	offset:48;	size:4;	signed:1;
+	field:int type;	offset:52;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), ino = %lu, page_index = 0x%lx, oldaddr = 0x%llx, newaddr = 0x%llx, rw = %s(%s), type = %s_%s", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, (unsigned long)REC->index, (unsigned long long)REC->old_blkaddr, (unsigned long long)REC->new_blkaddr, blk_op_str(REC->op), __print_flags((REC->op_flags & ((1ULL << 19) | (1ULL << 11) | (1ULL << 12) | (1ULL << 13) | (1ULL << 18) | (1ULL << 17))), "|", { (1ULL << 19), "R" }, { (1ULL << 11), "S" }, { (1ULL << 12), "M" }, { (1ULL << 13), "P" }, { (1ULL << 18), "PF" }, { (1ULL << 17), "FUA" }), __print_symbolic(REC->temp, { 0, "HOT" }, { 1, "WARM" }, { 2, "COLD" }), __print_symbolic(REC->type, { 1, "NODE" }, { 0, "DATA" }, { 2, "META" }, { 4, "META_FLUSH" }, { 5, "INMEM" }, { 6, "INMEM_DROP" }, { 7, "INMEM_INVALIDATE" }, { 8, "INMEM_REVOKE" }, { 9, "IN-PLACE" }, { 10, "OUT-OF-PLACE" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_submit_read_bio/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_submit_read_bio/format
new file mode 100644
index 0000000..bb3950f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_submit_read_bio/format
@@ -0,0 +1,17 @@
+name: f2fs_submit_read_bio
+ID: 549
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:dev_t target;	offset:12;	size:4;	signed:0;
+	field:int op;	offset:16;	size:4;	signed:1;
+	field:int op_flags;	offset:20;	size:4;	signed:1;
+	field:int type;	offset:24;	size:4;	signed:1;
+	field:sector_t sector;	offset:32;	size:8;	signed:0;
+	field:unsigned int size;	offset:40;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d)/(%d,%d), rw = %s(%s), %s, sector = %lld, size = %u", ((unsigned int) ((REC->target) >> 20)), ((unsigned int) ((REC->target) & ((1U << 20) - 1))), ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), blk_op_str(REC->op), __print_flags((REC->op_flags & ((1ULL << 19) | (1ULL << 11) | (1ULL << 12) | (1ULL << 13) | (1ULL << 18) | (1ULL << 17))), "|", { (1ULL << 19), "R" }, { (1ULL << 11), "S" }, { (1ULL << 12), "M" }, { (1ULL << 13), "P" }, { (1ULL << 18), "PF" }, { (1ULL << 17), "FUA" }), __print_symbolic(REC->type, { 1, "NODE" }, { 0, "DATA" }, { 2, "META" }, { 4, "META_FLUSH" }, { 5, "INMEM" }, { 6, "INMEM_DROP" }, { 7, "INMEM_INVALIDATE" }, { 8, "INMEM_REVOKE" }, { 9, "IN-PLACE" }, { 10, "OUT-OF-PLACE" }), (unsigned long long)REC->sector, REC->size
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_submit_write_bio/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_submit_write_bio/format
new file mode 100644
index 0000000..927fa93
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_submit_write_bio/format
@@ -0,0 +1,17 @@
+name: f2fs_submit_write_bio
+ID: 550
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:dev_t target;	offset:12;	size:4;	signed:0;
+	field:int op;	offset:16;	size:4;	signed:1;
+	field:int op_flags;	offset:20;	size:4;	signed:1;
+	field:int type;	offset:24;	size:4;	signed:1;
+	field:sector_t sector;	offset:32;	size:8;	signed:0;
+	field:unsigned int size;	offset:40;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d)/(%d,%d), rw = %s(%s), %s, sector = %lld, size = %u", ((unsigned int) ((REC->target) >> 20)), ((unsigned int) ((REC->target) & ((1U << 20) - 1))), ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), blk_op_str(REC->op), __print_flags((REC->op_flags & ((1ULL << 19) | (1ULL << 11) | (1ULL << 12) | (1ULL << 13) | (1ULL << 18) | (1ULL << 17))), "|", { (1ULL << 19), "R" }, { (1ULL << 11), "S" }, { (1ULL << 12), "M" }, { (1ULL << 13), "P" }, { (1ULL << 18), "PF" }, { (1ULL << 17), "FUA" }), __print_symbolic(REC->type, { 1, "NODE" }, { 0, "DATA" }, { 2, "META" }, { 4, "META_FLUSH" }, { 5, "INMEM" }, { 6, "INMEM_DROP" }, { 7, "INMEM_INVALIDATE" }, { 8, "INMEM_REVOKE" }, { 9, "IN-PLACE" }, { 10, "OUT-OF-PLACE" }), (unsigned long long)REC->sector, REC->size
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_sync_dirty_inodes_enter/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_sync_dirty_inodes_enter/format
new file mode 100644
index 0000000..ee2c6c4
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_sync_dirty_inodes_enter/format
@@ -0,0 +1,13 @@
+name: f2fs_sync_dirty_inodes_enter
+ID: 551
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:int type;	offset:12;	size:4;	signed:1;
+	field:s64 count;	offset:16;	size:8;	signed:1;
+
+print fmt: "dev = (%d,%d), %s, dirty count = %lld", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), __print_symbolic(REC->type, { 0, "FILE" }, { 1, "DIR" }), REC->count
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_sync_dirty_inodes_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_sync_dirty_inodes_exit/format
new file mode 100644
index 0000000..17e796b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_sync_dirty_inodes_exit/format
@@ -0,0 +1,13 @@
+name: f2fs_sync_dirty_inodes_exit
+ID: 552
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:int type;	offset:12;	size:4;	signed:1;
+	field:s64 count;	offset:16;	size:8;	signed:1;
+
+print fmt: "dev = (%d,%d), %s, dirty count = %lld", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), __print_symbolic(REC->type, { 0, "FILE" }, { 1, "DIR" }), REC->count
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_sync_file_enter/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_sync_file_enter/format
new file mode 100644
index 0000000..401d69f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_sync_file_enter/format
@@ -0,0 +1,18 @@
+name: f2fs_sync_file_enter
+ID: 553
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ino_t pino;	offset:24;	size:8;	signed:0;
+	field:umode_t mode;	offset:32;	size:2;	signed:0;
+	field:loff_t size;	offset:40;	size:8;	signed:1;
+	field:unsigned int nlink;	offset:48;	size:4;	signed:0;
+	field:blkcnt_t blocks;	offset:56;	size:8;	signed:0;
+	field:__u8 advise;	offset:64;	size:1;	signed:0;
+
+print fmt: "dev = (%d,%d), ino = %lu, pino = %lu, i_mode = 0x%hx, i_size = %lld, i_nlink = %u, i_blocks = %llu, i_advise = 0x%x", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, (unsigned long)REC->pino, REC->mode, REC->size, (unsigned int)REC->nlink, (unsigned long long)REC->blocks, (unsigned char)REC->advise
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_sync_file_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_sync_file_exit/format
new file mode 100644
index 0000000..983fb54
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_sync_file_exit/format
@@ -0,0 +1,15 @@
+name: f2fs_sync_file_exit
+ID: 554
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:int cp_reason;	offset:24;	size:4;	signed:1;
+	field:int datasync;	offset:28;	size:4;	signed:1;
+	field:int ret;	offset:32;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), ino = %lu, cp_reason: %s, datasync = %d, ret = %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, __print_symbolic(REC->cp_reason, { CP_NO_NEEDED, "no needed" }, { CP_NON_REGULAR, "non regular" }, { CP_COMPRESSED, "compressed" }, { CP_HARDLINK, "hardlink" }, { CP_SB_NEED_CP, "sb needs cp" }, { CP_WRONG_PINO, "wrong pino" }, { CP_NO_SPC_ROLL, "no space roll forward" }, { CP_NODE_NEED_CP, "node needs cp" }, { CP_FASTBOOT_MODE, "fastboot mode" }, { CP_SPEC_LOG_NUM, "log type is 2" }, { CP_RECOVER_DIR, "dir needs recovery" }), REC->datasync, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_sync_fs/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_sync_fs/format
new file mode 100644
index 0000000..246078e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_sync_fs/format
@@ -0,0 +1,13 @@
+name: f2fs_sync_fs
+ID: 555
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:int dirty;	offset:12;	size:4;	signed:1;
+	field:int wait;	offset:16;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), superblock is %s, wait = %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->dirty ? "dirty" : "not dirty", REC->wait
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate/format
new file mode 100644
index 0000000..5ee2373
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate/format
@@ -0,0 +1,18 @@
+name: f2fs_truncate
+ID: 556
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:ino_t pino;	offset:24;	size:8;	signed:0;
+	field:umode_t mode;	offset:32;	size:2;	signed:0;
+	field:loff_t size;	offset:40;	size:8;	signed:1;
+	field:unsigned int nlink;	offset:48;	size:4;	signed:0;
+	field:blkcnt_t blocks;	offset:56;	size:8;	signed:0;
+	field:__u8 advise;	offset:64;	size:1;	signed:0;
+
+print fmt: "dev = (%d,%d), ino = %lu, pino = %lu, i_mode = 0x%hx, i_size = %lld, i_nlink = %u, i_blocks = %llu, i_advise = 0x%x", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, (unsigned long)REC->pino, REC->mode, REC->size, (unsigned int)REC->nlink, (unsigned long long)REC->blocks, (unsigned char)REC->advise
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate_blocks_enter/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate_blocks_enter/format
new file mode 100644
index 0000000..55ee00d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate_blocks_enter/format
@@ -0,0 +1,15 @@
+name: f2fs_truncate_blocks_enter
+ID: 557
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:loff_t size;	offset:24;	size:8;	signed:1;
+	field:blkcnt_t blocks;	offset:32;	size:8;	signed:0;
+	field:u64 from;	offset:40;	size:8;	signed:0;
+
+print fmt: "dev = (%d,%d), ino = %lu, i_size = %lld, i_blocks = %llu, start file offset = %llu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->size, (unsigned long long)REC->blocks, (unsigned long long)REC->from
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate_blocks_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate_blocks_exit/format
new file mode 100644
index 0000000..5db0ac5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate_blocks_exit/format
@@ -0,0 +1,13 @@
+name: f2fs_truncate_blocks_exit
+ID: 558
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:int ret;	offset:24;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), ino = %lu, ret = %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate_data_blocks_range/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate_data_blocks_range/format
new file mode 100644
index 0000000..a4b6418
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate_data_blocks_range/format
@@ -0,0 +1,15 @@
+name: f2fs_truncate_data_blocks_range
+ID: 559
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:nid_t nid;	offset:24;	size:4;	signed:0;
+	field:unsigned int ofs;	offset:28;	size:4;	signed:0;
+	field:int free;	offset:32;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), ino = %lu, nid = %u, offset = %u, freed = %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, (unsigned int)REC->nid, REC->ofs, REC->free
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate_inode_blocks_enter/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate_inode_blocks_enter/format
new file mode 100644
index 0000000..d2199cc
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate_inode_blocks_enter/format
@@ -0,0 +1,15 @@
+name: f2fs_truncate_inode_blocks_enter
+ID: 560
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:loff_t size;	offset:24;	size:8;	signed:1;
+	field:blkcnt_t blocks;	offset:32;	size:8;	signed:0;
+	field:u64 from;	offset:40;	size:8;	signed:0;
+
+print fmt: "dev = (%d,%d), ino = %lu, i_size = %lld, i_blocks = %llu, start file offset = %llu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->size, (unsigned long long)REC->blocks, (unsigned long long)REC->from
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate_inode_blocks_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate_inode_blocks_exit/format
new file mode 100644
index 0000000..4deb9cc
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate_inode_blocks_exit/format
@@ -0,0 +1,13 @@
+name: f2fs_truncate_inode_blocks_exit
+ID: 561
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:int ret;	offset:24;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), ino = %lu, ret = %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate_node/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate_node/format
new file mode 100644
index 0000000..ca0acc7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate_node/format
@@ -0,0 +1,14 @@
+name: f2fs_truncate_node
+ID: 562
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:nid_t nid;	offset:24;	size:4;	signed:0;
+	field:block_t blk_addr;	offset:28;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d), ino = %lu, nid = %u, block_address = 0x%llx", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, (unsigned int)REC->nid, (unsigned long long)REC->blk_addr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate_nodes_enter/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate_nodes_enter/format
new file mode 100644
index 0000000..63e3e4f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate_nodes_enter/format
@@ -0,0 +1,14 @@
+name: f2fs_truncate_nodes_enter
+ID: 563
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:nid_t nid;	offset:24;	size:4;	signed:0;
+	field:block_t blk_addr;	offset:28;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d), ino = %lu, nid = %u, block_address = 0x%llx", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, (unsigned int)REC->nid, (unsigned long long)REC->blk_addr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate_nodes_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate_nodes_exit/format
new file mode 100644
index 0000000..a9bceaa
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate_nodes_exit/format
@@ -0,0 +1,13 @@
+name: f2fs_truncate_nodes_exit
+ID: 564
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:int ret;	offset:24;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), ino = %lu, ret = %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate_partial_nodes/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate_partial_nodes/format
new file mode 100644
index 0000000..32fd9b8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_truncate_partial_nodes/format
@@ -0,0 +1,15 @@
+name: f2fs_truncate_partial_nodes
+ID: 565
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:nid_t nid[3];	offset:24;	size:4;	signed:0;
+	field:int depth;	offset:28;	size:4;	signed:1;
+	field:int err;	offset:32;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), ino = %lu, nid[0] = %u, nid[1] = %u, nid[2] = %u, depth = %d, err = %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, (unsigned int)REC->nid[0], (unsigned int)REC->nid[1], (unsigned int)REC->nid[2], REC->depth, REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_unlink_enter/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_unlink_enter/format
new file mode 100644
index 0000000..0aef341
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_unlink_enter/format
@@ -0,0 +1,15 @@
+name: f2fs_unlink_enter
+ID: 566
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:loff_t size;	offset:24;	size:8;	signed:1;
+	field:blkcnt_t blocks;	offset:32;	size:8;	signed:0;
+	field:const char * name;	offset:40;	size:8;	signed:0;
+
+print fmt: "dev = (%d,%d), dir ino = %lu, i_size = %lld, i_blocks = %llu, name = %s", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->size, (unsigned long long)REC->blocks, REC->name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_unlink_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_unlink_exit/format
new file mode 100644
index 0000000..b6fc9cf
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_unlink_exit/format
@@ -0,0 +1,13 @@
+name: f2fs_unlink_exit
+ID: 567
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:int ret;	offset:24;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), ino = %lu, ret = %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_update_extent_tree_range/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_update_extent_tree_range/format
new file mode 100644
index 0000000..a7a10c7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_update_extent_tree_range/format
@@ -0,0 +1,15 @@
+name: f2fs_update_extent_tree_range
+ID: 568
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned int pgofs;	offset:24;	size:4;	signed:0;
+	field:u32 blk;	offset:28;	size:4;	signed:0;
+	field:unsigned int len;	offset:32;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d), ino = %lu, pgofs = %u, blkaddr = %u, len = %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->pgofs, REC->blk, REC->len
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_vm_page_mkwrite/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_vm_page_mkwrite/format
new file mode 100644
index 0000000..bf52b45
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_vm_page_mkwrite/format
@@ -0,0 +1,17 @@
+name: f2fs_vm_page_mkwrite
+ID: 569
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:int type;	offset:24;	size:4;	signed:1;
+	field:int dir;	offset:28;	size:4;	signed:1;
+	field:unsigned long index;	offset:32;	size:8;	signed:0;
+	field:int dirty;	offset:40;	size:4;	signed:1;
+	field:int uptodate;	offset:44;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), ino = %lu, %s, %s, index = %lu, dirty = %d, uptodate = %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, __print_symbolic(REC->type, { 1, "NODE" }, { 0, "DATA" }, { 2, "META" }, { 4, "META_FLUSH" }, { 5, "INMEM" }, { 6, "INMEM_DROP" }, { 7, "INMEM_INVALIDATE" }, { 8, "INMEM_REVOKE" }, { 9, "IN-PLACE" }, { 10, "OUT-OF-PLACE" }), __print_symbolic(REC->dir, { 0, "FILE" }, { 1, "DIR" }), (unsigned long)REC->index, REC->dirty, REC->uptodate
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_write_begin/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_write_begin/format
new file mode 100644
index 0000000..fc022a9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_write_begin/format
@@ -0,0 +1,15 @@
+name: f2fs_write_begin
+ID: 570
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:loff_t pos;	offset:24;	size:8;	signed:1;
+	field:unsigned int len;	offset:32;	size:4;	signed:0;
+	field:unsigned int flags;	offset:36;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d), ino = %lu, pos = %llu, len = %u, flags = %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, (unsigned long long)REC->pos, REC->len, REC->flags
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_write_checkpoint/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_write_checkpoint/format
new file mode 100644
index 0000000..7228a2b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_write_checkpoint/format
@@ -0,0 +1,13 @@
+name: f2fs_write_checkpoint
+ID: 571
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:int reason;	offset:12;	size:4;	signed:1;
+	field:char * msg;	offset:16;	size:8;	signed:0;
+
+print fmt: "dev = (%d,%d), checkpoint for %s, state = %s", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), __print_flags(REC->reason, "|", { 0x00000001, "Umount" }, { 0x00000002, "Fastboot" }, { 0x00000004, "Sync" }, { 0x00000008, "Recovery" }, { 0x00000010, "Discard" }, { 0x00000040, "Pause" }, { 0x00000020, "Trimmed" }, { 0x00000080, "Resize" }), REC->msg
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_write_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_write_end/format
new file mode 100644
index 0000000..986a8b2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_write_end/format
@@ -0,0 +1,15 @@
+name: f2fs_write_end
+ID: 572
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:loff_t pos;	offset:24;	size:8;	signed:1;
+	field:unsigned int len;	offset:32;	size:4;	signed:0;
+	field:unsigned int copied;	offset:36;	size:4;	signed:0;
+
+print fmt: "dev = (%d,%d), ino = %lu, pos = %llu, len = %u, copied = %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, (unsigned long long)REC->pos, REC->len, REC->copied
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_writepage/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_writepage/format
new file mode 100644
index 0000000..77d784d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_writepage/format
@@ -0,0 +1,17 @@
+name: f2fs_writepage
+ID: 573
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:int type;	offset:24;	size:4;	signed:1;
+	field:int dir;	offset:28;	size:4;	signed:1;
+	field:unsigned long index;	offset:32;	size:8;	signed:0;
+	field:int dirty;	offset:40;	size:4;	signed:1;
+	field:int uptodate;	offset:44;	size:4;	signed:1;
+
+print fmt: "dev = (%d,%d), ino = %lu, %s, %s, index = %lu, dirty = %d, uptodate = %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, __print_symbolic(REC->type, { 1, "NODE" }, { 0, "DATA" }, { 2, "META" }, { 4, "META_FLUSH" }, { 5, "INMEM" }, { 6, "INMEM_DROP" }, { 7, "INMEM_INVALIDATE" }, { 8, "INMEM_REVOKE" }, { 9, "IN-PLACE" }, { 10, "OUT-OF-PLACE" }), __print_symbolic(REC->dir, { 0, "FILE" }, { 1, "DIR" }), (unsigned long)REC->index, REC->dirty, REC->uptodate
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_writepages/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_writepages/format
new file mode 100644
index 0000000..478ace2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/f2fs/f2fs_writepages/format
@@ -0,0 +1,26 @@
+name: f2fs_writepages
+ID: 574
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:int type;	offset:24;	size:4;	signed:1;
+	field:int dir;	offset:28;	size:4;	signed:1;
+	field:long nr_to_write;	offset:32;	size:8;	signed:1;
+	field:long pages_skipped;	offset:40;	size:8;	signed:1;
+	field:loff_t range_start;	offset:48;	size:8;	signed:1;
+	field:loff_t range_end;	offset:56;	size:8;	signed:1;
+	field:unsigned long writeback_index;	offset:64;	size:8;	signed:0;
+	field:int sync_mode;	offset:72;	size:4;	signed:1;
+	field:char for_kupdate;	offset:76;	size:1;	signed:0;
+	field:char for_background;	offset:77;	size:1;	signed:0;
+	field:char tagged_writepages;	offset:78;	size:1;	signed:0;
+	field:char for_reclaim;	offset:79;	size:1;	signed:0;
+	field:char range_cyclic;	offset:80;	size:1;	signed:0;
+	field:char for_sync;	offset:81;	size:1;	signed:0;
+
+print fmt: "dev = (%d,%d), ino = %lu, %s, %s, nr_to_write %ld, skipped %ld, start %lld, end %lld, wb_idx %lu, sync_mode %d, kupdate %u background %u tagged %u reclaim %u cyclic %u sync %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, __print_symbolic(REC->type, { 1, "NODE" }, { 0, "DATA" }, { 2, "META" }, { 4, "META_FLUSH" }, { 5, "INMEM" }, { 6, "INMEM_DROP" }, { 7, "INMEM_INVALIDATE" }, { 8, "INMEM_REVOKE" }, { 9, "IN-PLACE" }, { 10, "OUT-OF-PLACE" }), __print_symbolic(REC->dir, { 0, "FILE" }, { 1, "DIR" }), REC->nr_to_write, REC->pages_skipped, REC->range_start, REC->range_end, (unsigned long)REC->writeback_index, REC->sync_mode, REC->for_kupdate, REC->for_background, REC->tagged_writepages, REC->for_reclaim, REC->range_cyclic, REC->for_sync
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/fib/fib_table_lookup/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/fib/fib_table_lookup/format
new file mode 100644
index 0000000..0020328
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/fib/fib_table_lookup/format
@@ -0,0 +1,25 @@
+name: fib_table_lookup
+ID: 923
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 tb_id;	offset:8;	size:4;	signed:0;
+	field:int err;	offset:12;	size:4;	signed:1;
+	field:int oif;	offset:16;	size:4;	signed:1;
+	field:int iif;	offset:20;	size:4;	signed:1;
+	field:u8 proto;	offset:24;	size:1;	signed:0;
+	field:__u8 tos;	offset:25;	size:1;	signed:0;
+	field:__u8 scope;	offset:26;	size:1;	signed:0;
+	field:__u8 flags;	offset:27;	size:1;	signed:0;
+	field:__u8 src[4];	offset:28;	size:4;	signed:0;
+	field:__u8 dst[4];	offset:32;	size:4;	signed:0;
+	field:__u8 gw4[4];	offset:36;	size:4;	signed:0;
+	field:__u8 gw6[16];	offset:40;	size:16;	signed:0;
+	field:u16 sport;	offset:56;	size:2;	signed:0;
+	field:u16 dport;	offset:58;	size:2;	signed:0;
+	field:__data_loc char[] name;	offset:60;	size:4;	signed:0;
+
+print fmt: "table %u oif %d iif %d proto %u %pI4/%u -> %pI4/%u tos %d scope %d flags %x ==> dev %s gw %pI4/%pI6c err %d", REC->tb_id, REC->oif, REC->iif, REC->proto, REC->src, REC->sport, REC->dst, REC->dport, REC->tos, REC->scope, REC->flags, __get_str(name), REC->gw4, REC->gw6, REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/fib6/fib6_table_lookup/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/fib6/fib6_table_lookup/format
new file mode 100644
index 0000000..cbfbb86
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/fib6/fib6_table_lookup/format
@@ -0,0 +1,25 @@
+name: fib6_table_lookup
+ID: 972
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 tb_id;	offset:8;	size:4;	signed:0;
+	field:int err;	offset:12;	size:4;	signed:1;
+	field:int oif;	offset:16;	size:4;	signed:1;
+	field:int iif;	offset:20;	size:4;	signed:1;
+	field:__u8 tos;	offset:24;	size:1;	signed:0;
+	field:__u8 scope;	offset:25;	size:1;	signed:0;
+	field:__u8 flags;	offset:26;	size:1;	signed:0;
+	field:__u8 src[16];	offset:27;	size:16;	signed:0;
+	field:__u8 dst[16];	offset:43;	size:16;	signed:0;
+	field:u16 sport;	offset:60;	size:2;	signed:0;
+	field:u16 dport;	offset:62;	size:2;	signed:0;
+	field:u8 proto;	offset:64;	size:1;	signed:0;
+	field:u8 rt_type;	offset:65;	size:1;	signed:0;
+	field:__data_loc char[] name;	offset:68;	size:4;	signed:0;
+	field:__u8 gw[16];	offset:72;	size:16;	signed:0;
+
+print fmt: "table %3u oif %d iif %d proto %u %pI6c/%u -> %pI6c/%u tos %d scope %d flags %x ==> dev %s gw %pI6c err %d", REC->tb_id, REC->oif, REC->iif, REC->proto, REC->src, REC->sport, REC->dst, REC->dport, REC->tos, REC->scope, REC->flags, __get_str(name), REC->gw, REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/break_lease_block/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/break_lease_block/format
new file mode 100644
index 0000000..07abfdb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/break_lease_block/format
@@ -0,0 +1,19 @@
+name: break_lease_block
+ID: 348
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct file_lock * fl;	offset:8;	size:8;	signed:0;
+	field:unsigned long i_ino;	offset:16;	size:8;	signed:0;
+	field:dev_t s_dev;	offset:24;	size:4;	signed:0;
+	field:struct file_lock * fl_blocker;	offset:32;	size:8;	signed:0;
+	field:fl_owner_t fl_owner;	offset:40;	size:8;	signed:0;
+	field:unsigned int fl_flags;	offset:48;	size:4;	signed:0;
+	field:unsigned char fl_type;	offset:52;	size:1;	signed:0;
+	field:unsigned long fl_break_time;	offset:56;	size:8;	signed:0;
+	field:unsigned long fl_downgrade_time;	offset:64;	size:8;	signed:0;
+
+print fmt: "fl=%p dev=0x%x:0x%x ino=0x%lx fl_blocker=%p fl_owner=%p fl_flags=%s fl_type=%s fl_break_time=%lu fl_downgrade_time=%lu", REC->fl, ((unsigned int) ((REC->s_dev) >> 20)), ((unsigned int) ((REC->s_dev) & ((1U << 20) - 1))), REC->i_ino, REC->fl_blocker, REC->fl_owner, __print_flags(REC->fl_flags, "|", { 1, "FL_POSIX" }, { 2, "FL_FLOCK" }, { 4, "FL_DELEG" }, { 8, "FL_ACCESS" }, { 16, "FL_EXISTS" }, { 32, "FL_LEASE" }, { 64, "FL_CLOSE" }, { 128, "FL_SLEEP" }, { 256, "FL_DOWNGRADE_PENDING" }, { 512, "FL_UNLOCK_PENDING" }, { 1024, "FL_OFDLCK" }), __print_symbolic(REC->fl_type, { 0, "F_RDLCK" }, { 1, "F_WRLCK" }, { 2, "F_UNLCK" }), REC->fl_break_time, REC->fl_downgrade_time
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/break_lease_noblock/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/break_lease_noblock/format
new file mode 100644
index 0000000..aa7b4c8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/break_lease_noblock/format
@@ -0,0 +1,19 @@
+name: break_lease_noblock
+ID: 349
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct file_lock * fl;	offset:8;	size:8;	signed:0;
+	field:unsigned long i_ino;	offset:16;	size:8;	signed:0;
+	field:dev_t s_dev;	offset:24;	size:4;	signed:0;
+	field:struct file_lock * fl_blocker;	offset:32;	size:8;	signed:0;
+	field:fl_owner_t fl_owner;	offset:40;	size:8;	signed:0;
+	field:unsigned int fl_flags;	offset:48;	size:4;	signed:0;
+	field:unsigned char fl_type;	offset:52;	size:1;	signed:0;
+	field:unsigned long fl_break_time;	offset:56;	size:8;	signed:0;
+	field:unsigned long fl_downgrade_time;	offset:64;	size:8;	signed:0;
+
+print fmt: "fl=%p dev=0x%x:0x%x ino=0x%lx fl_blocker=%p fl_owner=%p fl_flags=%s fl_type=%s fl_break_time=%lu fl_downgrade_time=%lu", REC->fl, ((unsigned int) ((REC->s_dev) >> 20)), ((unsigned int) ((REC->s_dev) & ((1U << 20) - 1))), REC->i_ino, REC->fl_blocker, REC->fl_owner, __print_flags(REC->fl_flags, "|", { 1, "FL_POSIX" }, { 2, "FL_FLOCK" }, { 4, "FL_DELEG" }, { 8, "FL_ACCESS" }, { 16, "FL_EXISTS" }, { 32, "FL_LEASE" }, { 64, "FL_CLOSE" }, { 128, "FL_SLEEP" }, { 256, "FL_DOWNGRADE_PENDING" }, { 512, "FL_UNLOCK_PENDING" }, { 1024, "FL_OFDLCK" }), __print_symbolic(REC->fl_type, { 0, "F_RDLCK" }, { 1, "F_WRLCK" }, { 2, "F_UNLCK" }), REC->fl_break_time, REC->fl_downgrade_time
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/break_lease_unblock/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/break_lease_unblock/format
new file mode 100644
index 0000000..7548c1b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/break_lease_unblock/format
@@ -0,0 +1,19 @@
+name: break_lease_unblock
+ID: 350
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct file_lock * fl;	offset:8;	size:8;	signed:0;
+	field:unsigned long i_ino;	offset:16;	size:8;	signed:0;
+	field:dev_t s_dev;	offset:24;	size:4;	signed:0;
+	field:struct file_lock * fl_blocker;	offset:32;	size:8;	signed:0;
+	field:fl_owner_t fl_owner;	offset:40;	size:8;	signed:0;
+	field:unsigned int fl_flags;	offset:48;	size:4;	signed:0;
+	field:unsigned char fl_type;	offset:52;	size:1;	signed:0;
+	field:unsigned long fl_break_time;	offset:56;	size:8;	signed:0;
+	field:unsigned long fl_downgrade_time;	offset:64;	size:8;	signed:0;
+
+print fmt: "fl=%p dev=0x%x:0x%x ino=0x%lx fl_blocker=%p fl_owner=%p fl_flags=%s fl_type=%s fl_break_time=%lu fl_downgrade_time=%lu", REC->fl, ((unsigned int) ((REC->s_dev) >> 20)), ((unsigned int) ((REC->s_dev) & ((1U << 20) - 1))), REC->i_ino, REC->fl_blocker, REC->fl_owner, __print_flags(REC->fl_flags, "|", { 1, "FL_POSIX" }, { 2, "FL_FLOCK" }, { 4, "FL_DELEG" }, { 8, "FL_ACCESS" }, { 16, "FL_EXISTS" }, { 32, "FL_LEASE" }, { 64, "FL_CLOSE" }, { 128, "FL_SLEEP" }, { 256, "FL_DOWNGRADE_PENDING" }, { 512, "FL_UNLOCK_PENDING" }, { 1024, "FL_OFDLCK" }), __print_symbolic(REC->fl_type, { 0, "F_RDLCK" }, { 1, "F_WRLCK" }, { 2, "F_UNLCK" }), REC->fl_break_time, REC->fl_downgrade_time
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/fcntl_setlk/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/fcntl_setlk/format
new file mode 100644
index 0000000..21e34d0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/fcntl_setlk/format
@@ -0,0 +1,21 @@
+name: fcntl_setlk
+ID: 351
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct file_lock * fl;	offset:8;	size:8;	signed:0;
+	field:unsigned long i_ino;	offset:16;	size:8;	signed:0;
+	field:dev_t s_dev;	offset:24;	size:4;	signed:0;
+	field:struct file_lock * fl_blocker;	offset:32;	size:8;	signed:0;
+	field:fl_owner_t fl_owner;	offset:40;	size:8;	signed:0;
+	field:unsigned int fl_pid;	offset:48;	size:4;	signed:0;
+	field:unsigned int fl_flags;	offset:52;	size:4;	signed:0;
+	field:unsigned char fl_type;	offset:56;	size:1;	signed:0;
+	field:loff_t fl_start;	offset:64;	size:8;	signed:1;
+	field:loff_t fl_end;	offset:72;	size:8;	signed:1;
+	field:int ret;	offset:80;	size:4;	signed:1;
+
+print fmt: "fl=%p dev=0x%x:0x%x ino=0x%lx fl_blocker=%p fl_owner=%p fl_pid=%u fl_flags=%s fl_type=%s fl_start=%lld fl_end=%lld ret=%d", REC->fl, ((unsigned int) ((REC->s_dev) >> 20)), ((unsigned int) ((REC->s_dev) & ((1U << 20) - 1))), REC->i_ino, REC->fl_blocker, REC->fl_owner, REC->fl_pid, __print_flags(REC->fl_flags, "|", { 1, "FL_POSIX" }, { 2, "FL_FLOCK" }, { 4, "FL_DELEG" }, { 8, "FL_ACCESS" }, { 16, "FL_EXISTS" }, { 32, "FL_LEASE" }, { 64, "FL_CLOSE" }, { 128, "FL_SLEEP" }, { 256, "FL_DOWNGRADE_PENDING" }, { 512, "FL_UNLOCK_PENDING" }, { 1024, "FL_OFDLCK" }), __print_symbolic(REC->fl_type, { 0, "F_RDLCK" }, { 1, "F_WRLCK" }, { 2, "F_UNLCK" }), REC->fl_start, REC->fl_end, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/flock_lock_inode/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/flock_lock_inode/format
new file mode 100644
index 0000000..7b20c17
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/flock_lock_inode/format
@@ -0,0 +1,21 @@
+name: flock_lock_inode
+ID: 352
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct file_lock * fl;	offset:8;	size:8;	signed:0;
+	field:unsigned long i_ino;	offset:16;	size:8;	signed:0;
+	field:dev_t s_dev;	offset:24;	size:4;	signed:0;
+	field:struct file_lock * fl_blocker;	offset:32;	size:8;	signed:0;
+	field:fl_owner_t fl_owner;	offset:40;	size:8;	signed:0;
+	field:unsigned int fl_pid;	offset:48;	size:4;	signed:0;
+	field:unsigned int fl_flags;	offset:52;	size:4;	signed:0;
+	field:unsigned char fl_type;	offset:56;	size:1;	signed:0;
+	field:loff_t fl_start;	offset:64;	size:8;	signed:1;
+	field:loff_t fl_end;	offset:72;	size:8;	signed:1;
+	field:int ret;	offset:80;	size:4;	signed:1;
+
+print fmt: "fl=%p dev=0x%x:0x%x ino=0x%lx fl_blocker=%p fl_owner=%p fl_pid=%u fl_flags=%s fl_type=%s fl_start=%lld fl_end=%lld ret=%d", REC->fl, ((unsigned int) ((REC->s_dev) >> 20)), ((unsigned int) ((REC->s_dev) & ((1U << 20) - 1))), REC->i_ino, REC->fl_blocker, REC->fl_owner, REC->fl_pid, __print_flags(REC->fl_flags, "|", { 1, "FL_POSIX" }, { 2, "FL_FLOCK" }, { 4, "FL_DELEG" }, { 8, "FL_ACCESS" }, { 16, "FL_EXISTS" }, { 32, "FL_LEASE" }, { 64, "FL_CLOSE" }, { 128, "FL_SLEEP" }, { 256, "FL_DOWNGRADE_PENDING" }, { 512, "FL_UNLOCK_PENDING" }, { 1024, "FL_OFDLCK" }), __print_symbolic(REC->fl_type, { 0, "F_RDLCK" }, { 1, "F_WRLCK" }, { 2, "F_UNLCK" }), REC->fl_start, REC->fl_end, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/generic_add_lease/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/generic_add_lease/format
new file mode 100644
index 0000000..10db2ba
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/generic_add_lease/format
@@ -0,0 +1,18 @@
+name: generic_add_lease
+ID: 353
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long i_ino;	offset:8;	size:8;	signed:0;
+	field:int wcount;	offset:16;	size:4;	signed:1;
+	field:int rcount;	offset:20;	size:4;	signed:1;
+	field:int icount;	offset:24;	size:4;	signed:1;
+	field:dev_t s_dev;	offset:28;	size:4;	signed:0;
+	field:fl_owner_t fl_owner;	offset:32;	size:8;	signed:0;
+	field:unsigned int fl_flags;	offset:40;	size:4;	signed:0;
+	field:unsigned char fl_type;	offset:44;	size:1;	signed:0;
+
+print fmt: "dev=0x%x:0x%x ino=0x%lx wcount=%d rcount=%d icount=%d fl_owner=%p fl_flags=%s fl_type=%s", ((unsigned int) ((REC->s_dev) >> 20)), ((unsigned int) ((REC->s_dev) & ((1U << 20) - 1))), REC->i_ino, REC->wcount, REC->rcount, REC->icount, REC->fl_owner, __print_flags(REC->fl_flags, "|", { 1, "FL_POSIX" }, { 2, "FL_FLOCK" }, { 4, "FL_DELEG" }, { 8, "FL_ACCESS" }, { 16, "FL_EXISTS" }, { 32, "FL_LEASE" }, { 64, "FL_CLOSE" }, { 128, "FL_SLEEP" }, { 256, "FL_DOWNGRADE_PENDING" }, { 512, "FL_UNLOCK_PENDING" }, { 1024, "FL_OFDLCK" }), __print_symbolic(REC->fl_type, { 0, "F_RDLCK" }, { 1, "F_WRLCK" }, { 2, "F_UNLCK" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/generic_delete_lease/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/generic_delete_lease/format
new file mode 100644
index 0000000..9561b0a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/generic_delete_lease/format
@@ -0,0 +1,19 @@
+name: generic_delete_lease
+ID: 354
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct file_lock * fl;	offset:8;	size:8;	signed:0;
+	field:unsigned long i_ino;	offset:16;	size:8;	signed:0;
+	field:dev_t s_dev;	offset:24;	size:4;	signed:0;
+	field:struct file_lock * fl_blocker;	offset:32;	size:8;	signed:0;
+	field:fl_owner_t fl_owner;	offset:40;	size:8;	signed:0;
+	field:unsigned int fl_flags;	offset:48;	size:4;	signed:0;
+	field:unsigned char fl_type;	offset:52;	size:1;	signed:0;
+	field:unsigned long fl_break_time;	offset:56;	size:8;	signed:0;
+	field:unsigned long fl_downgrade_time;	offset:64;	size:8;	signed:0;
+
+print fmt: "fl=%p dev=0x%x:0x%x ino=0x%lx fl_blocker=%p fl_owner=%p fl_flags=%s fl_type=%s fl_break_time=%lu fl_downgrade_time=%lu", REC->fl, ((unsigned int) ((REC->s_dev) >> 20)), ((unsigned int) ((REC->s_dev) & ((1U << 20) - 1))), REC->i_ino, REC->fl_blocker, REC->fl_owner, __print_flags(REC->fl_flags, "|", { 1, "FL_POSIX" }, { 2, "FL_FLOCK" }, { 4, "FL_DELEG" }, { 8, "FL_ACCESS" }, { 16, "FL_EXISTS" }, { 32, "FL_LEASE" }, { 64, "FL_CLOSE" }, { 128, "FL_SLEEP" }, { 256, "FL_DOWNGRADE_PENDING" }, { 512, "FL_UNLOCK_PENDING" }, { 1024, "FL_OFDLCK" }), __print_symbolic(REC->fl_type, { 0, "F_RDLCK" }, { 1, "F_WRLCK" }, { 2, "F_UNLCK" }), REC->fl_break_time, REC->fl_downgrade_time
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/leases_conflict/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/leases_conflict/format
new file mode 100644
index 0000000..c0ff5b2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/leases_conflict/format
@@ -0,0 +1,17 @@
+name: leases_conflict
+ID: 355
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * lease;	offset:8;	size:8;	signed:0;
+	field:void * breaker;	offset:16;	size:8;	signed:0;
+	field:unsigned int l_fl_flags;	offset:24;	size:4;	signed:0;
+	field:unsigned int b_fl_flags;	offset:28;	size:4;	signed:0;
+	field:unsigned char l_fl_type;	offset:32;	size:1;	signed:0;
+	field:unsigned char b_fl_type;	offset:33;	size:1;	signed:0;
+	field:bool conflict;	offset:34;	size:1;	signed:0;
+
+print fmt: "conflict %d: lease=%p fl_flags=%s fl_type=%s; breaker=%p fl_flags=%s fl_type=%s", REC->conflict, REC->lease, __print_flags(REC->l_fl_flags, "|", { 1, "FL_POSIX" }, { 2, "FL_FLOCK" }, { 4, "FL_DELEG" }, { 8, "FL_ACCESS" }, { 16, "FL_EXISTS" }, { 32, "FL_LEASE" }, { 64, "FL_CLOSE" }, { 128, "FL_SLEEP" }, { 256, "FL_DOWNGRADE_PENDING" }, { 512, "FL_UNLOCK_PENDING" }, { 1024, "FL_OFDLCK" }), __print_symbolic(REC->l_fl_type, { 0, "F_RDLCK" }, { 1, "F_WRLCK" }, { 2, "F_UNLCK" }), REC->breaker, __print_flags(REC->b_fl_flags, "|", { 1, "FL_POSIX" }, { 2, "FL_FLOCK" }, { 4, "FL_DELEG" }, { 8, "FL_ACCESS" }, { 16, "FL_EXISTS" }, { 32, "FL_LEASE" }, { 64, "FL_CLOSE" }, { 128, "FL_SLEEP" }, { 256, "FL_DOWNGRADE_PENDING" }, { 512, "FL_UNLOCK_PENDING" }, { 1024, "FL_OFDLCK" }), __print_symbolic(REC->b_fl_type, { 0, "F_RDLCK" }, { 1, "F_WRLCK" }, { 2, "F_UNLCK" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/locks_get_lock_context/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/locks_get_lock_context/format
new file mode 100644
index 0000000..b363abd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/locks_get_lock_context/format
@@ -0,0 +1,14 @@
+name: locks_get_lock_context
+ID: 356
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long i_ino;	offset:8;	size:8;	signed:0;
+	field:dev_t s_dev;	offset:16;	size:4;	signed:0;
+	field:unsigned char type;	offset:20;	size:1;	signed:0;
+	field:struct file_lock_context * ctx;	offset:24;	size:8;	signed:0;
+
+print fmt: "dev=0x%x:0x%x ino=0x%lx type=%s ctx=%p", ((unsigned int) ((REC->s_dev) >> 20)), ((unsigned int) ((REC->s_dev) & ((1U << 20) - 1))), REC->i_ino, __print_symbolic(REC->type, { 0, "F_RDLCK" }, { 1, "F_WRLCK" }, { 2, "F_UNLCK" }), REC->ctx
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/locks_remove_posix/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/locks_remove_posix/format
new file mode 100644
index 0000000..6ae4684
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/locks_remove_posix/format
@@ -0,0 +1,21 @@
+name: locks_remove_posix
+ID: 357
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct file_lock * fl;	offset:8;	size:8;	signed:0;
+	field:unsigned long i_ino;	offset:16;	size:8;	signed:0;
+	field:dev_t s_dev;	offset:24;	size:4;	signed:0;
+	field:struct file_lock * fl_blocker;	offset:32;	size:8;	signed:0;
+	field:fl_owner_t fl_owner;	offset:40;	size:8;	signed:0;
+	field:unsigned int fl_pid;	offset:48;	size:4;	signed:0;
+	field:unsigned int fl_flags;	offset:52;	size:4;	signed:0;
+	field:unsigned char fl_type;	offset:56;	size:1;	signed:0;
+	field:loff_t fl_start;	offset:64;	size:8;	signed:1;
+	field:loff_t fl_end;	offset:72;	size:8;	signed:1;
+	field:int ret;	offset:80;	size:4;	signed:1;
+
+print fmt: "fl=%p dev=0x%x:0x%x ino=0x%lx fl_blocker=%p fl_owner=%p fl_pid=%u fl_flags=%s fl_type=%s fl_start=%lld fl_end=%lld ret=%d", REC->fl, ((unsigned int) ((REC->s_dev) >> 20)), ((unsigned int) ((REC->s_dev) & ((1U << 20) - 1))), REC->i_ino, REC->fl_blocker, REC->fl_owner, REC->fl_pid, __print_flags(REC->fl_flags, "|", { 1, "FL_POSIX" }, { 2, "FL_FLOCK" }, { 4, "FL_DELEG" }, { 8, "FL_ACCESS" }, { 16, "FL_EXISTS" }, { 32, "FL_LEASE" }, { 64, "FL_CLOSE" }, { 128, "FL_SLEEP" }, { 256, "FL_DOWNGRADE_PENDING" }, { 512, "FL_UNLOCK_PENDING" }, { 1024, "FL_OFDLCK" }), __print_symbolic(REC->fl_type, { 0, "F_RDLCK" }, { 1, "F_WRLCK" }, { 2, "F_UNLCK" }), REC->fl_start, REC->fl_end, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/posix_lock_inode/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/posix_lock_inode/format
new file mode 100644
index 0000000..54e951f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/posix_lock_inode/format
@@ -0,0 +1,21 @@
+name: posix_lock_inode
+ID: 358
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct file_lock * fl;	offset:8;	size:8;	signed:0;
+	field:unsigned long i_ino;	offset:16;	size:8;	signed:0;
+	field:dev_t s_dev;	offset:24;	size:4;	signed:0;
+	field:struct file_lock * fl_blocker;	offset:32;	size:8;	signed:0;
+	field:fl_owner_t fl_owner;	offset:40;	size:8;	signed:0;
+	field:unsigned int fl_pid;	offset:48;	size:4;	signed:0;
+	field:unsigned int fl_flags;	offset:52;	size:4;	signed:0;
+	field:unsigned char fl_type;	offset:56;	size:1;	signed:0;
+	field:loff_t fl_start;	offset:64;	size:8;	signed:1;
+	field:loff_t fl_end;	offset:72;	size:8;	signed:1;
+	field:int ret;	offset:80;	size:4;	signed:1;
+
+print fmt: "fl=%p dev=0x%x:0x%x ino=0x%lx fl_blocker=%p fl_owner=%p fl_pid=%u fl_flags=%s fl_type=%s fl_start=%lld fl_end=%lld ret=%d", REC->fl, ((unsigned int) ((REC->s_dev) >> 20)), ((unsigned int) ((REC->s_dev) & ((1U << 20) - 1))), REC->i_ino, REC->fl_blocker, REC->fl_owner, REC->fl_pid, __print_flags(REC->fl_flags, "|", { 1, "FL_POSIX" }, { 2, "FL_FLOCK" }, { 4, "FL_DELEG" }, { 8, "FL_ACCESS" }, { 16, "FL_EXISTS" }, { 32, "FL_LEASE" }, { 64, "FL_CLOSE" }, { 128, "FL_SLEEP" }, { 256, "FL_DOWNGRADE_PENDING" }, { 512, "FL_UNLOCK_PENDING" }, { 1024, "FL_OFDLCK" }), __print_symbolic(REC->fl_type, { 0, "F_RDLCK" }, { 1, "F_WRLCK" }, { 2, "F_UNLCK" }), REC->fl_start, REC->fl_end, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/time_out_leases/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/time_out_leases/format
new file mode 100644
index 0000000..52cde3b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filelock/time_out_leases/format
@@ -0,0 +1,19 @@
+name: time_out_leases
+ID: 359
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct file_lock * fl;	offset:8;	size:8;	signed:0;
+	field:unsigned long i_ino;	offset:16;	size:8;	signed:0;
+	field:dev_t s_dev;	offset:24;	size:4;	signed:0;
+	field:struct file_lock * fl_blocker;	offset:32;	size:8;	signed:0;
+	field:fl_owner_t fl_owner;	offset:40;	size:8;	signed:0;
+	field:unsigned int fl_flags;	offset:48;	size:4;	signed:0;
+	field:unsigned char fl_type;	offset:52;	size:1;	signed:0;
+	field:unsigned long fl_break_time;	offset:56;	size:8;	signed:0;
+	field:unsigned long fl_downgrade_time;	offset:64;	size:8;	signed:0;
+
+print fmt: "fl=%p dev=0x%x:0x%x ino=0x%lx fl_blocker=%p fl_owner=%p fl_flags=%s fl_type=%s fl_break_time=%lu fl_downgrade_time=%lu", REC->fl, ((unsigned int) ((REC->s_dev) >> 20)), ((unsigned int) ((REC->s_dev) & ((1U << 20) - 1))), REC->i_ino, REC->fl_blocker, REC->fl_owner, __print_flags(REC->fl_flags, "|", { 1, "FL_POSIX" }, { 2, "FL_FLOCK" }, { 4, "FL_DELEG" }, { 8, "FL_ACCESS" }, { 16, "FL_EXISTS" }, { 32, "FL_LEASE" }, { 64, "FL_CLOSE" }, { 128, "FL_SLEEP" }, { 256, "FL_DOWNGRADE_PENDING" }, { 512, "FL_UNLOCK_PENDING" }, { 1024, "FL_OFDLCK" }), __print_symbolic(REC->fl_type, { 0, "F_RDLCK" }, { 1, "F_WRLCK" }, { 2, "F_UNLCK" }), REC->fl_break_time, REC->fl_downgrade_time
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filemap/file_check_and_advance_wb_err/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filemap/file_check_and_advance_wb_err/format
new file mode 100644
index 0000000..88ffe4a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filemap/file_check_and_advance_wb_err/format
@@ -0,0 +1,15 @@
+name: file_check_and_advance_wb_err
+ID: 212
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct file * file;	offset:8;	size:8;	signed:0;
+	field:unsigned long i_ino;	offset:16;	size:8;	signed:0;
+	field:dev_t s_dev;	offset:24;	size:4;	signed:0;
+	field:errseq_t old;	offset:28;	size:4;	signed:0;
+	field:errseq_t new;	offset:32;	size:4;	signed:0;
+
+print fmt: "file=%p dev=%d:%d ino=0x%lx old=0x%x new=0x%x", REC->file, ((unsigned int) ((REC->s_dev) >> 20)), ((unsigned int) ((REC->s_dev) & ((1U << 20) - 1))), REC->i_ino, REC->old, REC->new
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filemap/filemap_set_wb_err/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filemap/filemap_set_wb_err/format
new file mode 100644
index 0000000..3eae78c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filemap/filemap_set_wb_err/format
@@ -0,0 +1,13 @@
+name: filemap_set_wb_err
+ID: 213
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long i_ino;	offset:8;	size:8;	signed:0;
+	field:dev_t s_dev;	offset:16;	size:4;	signed:0;
+	field:errseq_t errseq;	offset:20;	size:4;	signed:0;
+
+print fmt: "dev=%d:%d ino=0x%lx errseq=0x%x", ((unsigned int) ((REC->s_dev) >> 20)), ((unsigned int) ((REC->s_dev) & ((1U << 20) - 1))), REC->i_ino, REC->errseq
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filemap/mm_filemap_add_to_page_cache/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filemap/mm_filemap_add_to_page_cache/format
new file mode 100644
index 0000000..ef7a595
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filemap/mm_filemap_add_to_page_cache/format
@@ -0,0 +1,14 @@
+name: mm_filemap_add_to_page_cache
+ID: 214
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long pfn;	offset:8;	size:8;	signed:0;
+	field:unsigned long i_ino;	offset:16;	size:8;	signed:0;
+	field:unsigned long index;	offset:24;	size:8;	signed:0;
+	field:dev_t s_dev;	offset:32;	size:4;	signed:0;
+
+print fmt: "dev %d:%d ino %lx page=%p pfn=%lu ofs=%lu", ((unsigned int) ((REC->s_dev) >> 20)), ((unsigned int) ((REC->s_dev) & ((1U << 20) - 1))), REC->i_ino, (((struct page *)(-(((-((((1UL))) << ((((39))) - 1))) - ((-((((1UL))) << ((39)))))) >> (12 - (( __builtin_constant_p(sizeof(struct page)) ? ( ((sizeof(struct page)) == 0 || (sizeof(struct page)) == 1) ? 0 : ( __builtin_constant_p((sizeof(struct page)) - 1) ? ( __builtin_constant_p((sizeof(struct page)) - 1) ? ( ((sizeof(struct page)) - 1) < 2 ? 0 : ((sizeof(struct page)) - 1) & (1ULL << 63) ? 63 : ((sizeof(struct page)) - 1) & (1ULL << 62) ? 62 : ((sizeof(struct page)) - 1) & (1ULL << 61) ? 61 : ((sizeof(struct page)) - 1) & (1ULL << 60) ? 60 : ((sizeof(struct page)) - 1) & (1ULL << 59) ? 59 : ((sizeof(struct page)) - 1) & (1ULL << 58) ? 58 : ((sizeof(struct page)) - 1) & (1ULL << 57) ? 57 : ((sizeof(struct page)) - 1) & (1ULL << 56) ? 56 : ((sizeof(struct page)) - 1) & (1ULL << 55) ? 55 : ((sizeof(struct page)) - 1) & (1ULL << 54) ? 54 : ((sizeof(struct page)) - 1) & (1ULL << 53) ? 53 : ((sizeof(struct page)) - 1) & (1ULL << 52) ? 52 : ((sizeof(struct page)) - 1) & (1ULL << 51) ? 51 : ((sizeof(struct page)) - 1) & (1ULL << 50) ? 50 : ((sizeof(struct page)) - 1) & (1ULL << 49) ? 49 : ((sizeof(struct page)) - 1) & (1ULL << 48) ? 48 : ((sizeof(struct page)) - 1) & (1ULL << 47) ? 47 : ((sizeof(struct page)) - 1) & (1ULL << 46) ? 46 : ((sizeof(struct page)) - 1) & (1ULL << 45) ? 45 : ((sizeof(struct page)) - 1) & (1ULL << 44) ? 44 : ((sizeof(struct page)) - 1) & (1ULL << 43) ? 43 : ((sizeof(struct page)) - 1) & (1ULL << 42) ? 42 : ((sizeof(struct page)) - 1) & (1ULL << 41) ? 41 : ((sizeof(struct page)) - 1) & (1ULL << 40) ? 40 : ((sizeof(struct page)) - 1) & (1ULL << 39) ? 39 : ((sizeof(struct page)) - 1) & (1ULL << 38) ? 38 : ((sizeof(struct page)) - 1) & (1ULL << 37) ? 37 : ((sizeof(struct page)) - 1) & (1ULL << 36) ? 36 : ((sizeof(struct page)) - 1) & (1ULL << 35) ? 35 : ((sizeof(struct page)) - 1) & (1ULL << 34) ? 34 : ((sizeof(struct page)) - 1) & (1ULL << 33) ? 33 : ((sizeof(struct page)) - 1) & (1ULL << 32) ? 32 : ((sizeof(struct page)) - 1) & (1ULL << 31) ? 31 : ((sizeof(struct page)) - 1) & (1ULL << 30) ? 30 : ((sizeof(struct page)) - 1) & (1ULL << 29) ? 29 : ((sizeof(struct page)) - 1) & (1ULL << 28) ? 28 : ((sizeof(struct page)) - 1) & (1ULL << 27) ? 27 : ((sizeof(struct page)) - 1) & (1ULL << 26) ? 26 : ((sizeof(struct page)) - 1) & (1ULL << 25) ? 25 : ((sizeof(struct page)) - 1) & (1ULL << 24) ? 24 : ((sizeof(struct page)) - 1) & (1ULL << 23) ? 23 : ((sizeof(struct page)) - 1) & (1ULL << 22) ? 22 : ((sizeof(struct page)) - 1) & (1ULL << 21) ? 21 : ((sizeof(struct page)) - 1) & (1ULL << 20) ? 20 : ((sizeof(struct page)) - 1) & (1ULL << 19) ? 19 : ((sizeof(struct page)) - 1) & (1ULL << 18) ? 18 : ((sizeof(struct page)) - 1) & (1ULL << 17) ? 17 : ((sizeof(struct page)) - 1) & (1ULL << 16) ? 16 : ((sizeof(struct page)) - 1) & (1ULL << 15) ? 15 : ((sizeof(struct page)) - 1) & (1ULL << 14) ? 14 : ((sizeof(struct page)) - 1) & (1ULL << 13) ? 13 : ((sizeof(struct page)) - 1) & (1ULL << 12) ? 12 : ((sizeof(struct page)) - 1) & (1ULL << 11) ? 11 : ((sizeof(struct page)) - 1) & (1ULL << 10) ? 10 : ((sizeof(struct page)) - 1) & (1ULL << 9) ? 9 : ((sizeof(struct page)) - 1) & (1ULL << 8) ? 8 : ((sizeof(struct page)) - 1) & (1ULL << 7) ? 7 : ((sizeof(struct page)) - 1) & (1ULL << 6) ? 6 : ((sizeof(struct page)) - 1) & (1ULL << 5) ? 5 : ((sizeof(struct page)) - 1) & (1ULL << 4) ? 4 : ((sizeof(struct page)) - 1) & (1ULL << 3) ? 3 : ((sizeof(struct page)) - 1) & (1ULL << 2) ? 2 : 1) : -1) : (sizeof((sizeof(struct page)) - 1) <= 4) ? __ilog2_u32((sizeof(struct page)) - 1) : __ilog2_u64((sizeof(struct page)) - 1) ) + 1) : __order_base_2(sizeof(struct page)) )))) - 0x00200000) - (memstart_addr >> 12)) + (REC->pfn)), REC->pfn, REC->index << 12
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filemap/mm_filemap_delete_from_page_cache/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filemap/mm_filemap_delete_from_page_cache/format
new file mode 100644
index 0000000..f7d1383
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/filemap/mm_filemap_delete_from_page_cache/format
@@ -0,0 +1,14 @@
+name: mm_filemap_delete_from_page_cache
+ID: 215
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long pfn;	offset:8;	size:8;	signed:0;
+	field:unsigned long i_ino;	offset:16;	size:8;	signed:0;
+	field:unsigned long index;	offset:24;	size:8;	signed:0;
+	field:dev_t s_dev;	offset:32;	size:4;	signed:0;
+
+print fmt: "dev %d:%d ino %lx page=%p pfn=%lu ofs=%lu", ((unsigned int) ((REC->s_dev) >> 20)), ((unsigned int) ((REC->s_dev) & ((1U << 20) - 1))), REC->i_ino, (((struct page *)(-(((-((((1UL))) << ((((39))) - 1))) - ((-((((1UL))) << ((39)))))) >> (12 - (( __builtin_constant_p(sizeof(struct page)) ? ( ((sizeof(struct page)) == 0 || (sizeof(struct page)) == 1) ? 0 : ( __builtin_constant_p((sizeof(struct page)) - 1) ? ( __builtin_constant_p((sizeof(struct page)) - 1) ? ( ((sizeof(struct page)) - 1) < 2 ? 0 : ((sizeof(struct page)) - 1) & (1ULL << 63) ? 63 : ((sizeof(struct page)) - 1) & (1ULL << 62) ? 62 : ((sizeof(struct page)) - 1) & (1ULL << 61) ? 61 : ((sizeof(struct page)) - 1) & (1ULL << 60) ? 60 : ((sizeof(struct page)) - 1) & (1ULL << 59) ? 59 : ((sizeof(struct page)) - 1) & (1ULL << 58) ? 58 : ((sizeof(struct page)) - 1) & (1ULL << 57) ? 57 : ((sizeof(struct page)) - 1) & (1ULL << 56) ? 56 : ((sizeof(struct page)) - 1) & (1ULL << 55) ? 55 : ((sizeof(struct page)) - 1) & (1ULL << 54) ? 54 : ((sizeof(struct page)) - 1) & (1ULL << 53) ? 53 : ((sizeof(struct page)) - 1) & (1ULL << 52) ? 52 : ((sizeof(struct page)) - 1) & (1ULL << 51) ? 51 : ((sizeof(struct page)) - 1) & (1ULL << 50) ? 50 : ((sizeof(struct page)) - 1) & (1ULL << 49) ? 49 : ((sizeof(struct page)) - 1) & (1ULL << 48) ? 48 : ((sizeof(struct page)) - 1) & (1ULL << 47) ? 47 : ((sizeof(struct page)) - 1) & (1ULL << 46) ? 46 : ((sizeof(struct page)) - 1) & (1ULL << 45) ? 45 : ((sizeof(struct page)) - 1) & (1ULL << 44) ? 44 : ((sizeof(struct page)) - 1) & (1ULL << 43) ? 43 : ((sizeof(struct page)) - 1) & (1ULL << 42) ? 42 : ((sizeof(struct page)) - 1) & (1ULL << 41) ? 41 : ((sizeof(struct page)) - 1) & (1ULL << 40) ? 40 : ((sizeof(struct page)) - 1) & (1ULL << 39) ? 39 : ((sizeof(struct page)) - 1) & (1ULL << 38) ? 38 : ((sizeof(struct page)) - 1) & (1ULL << 37) ? 37 : ((sizeof(struct page)) - 1) & (1ULL << 36) ? 36 : ((sizeof(struct page)) - 1) & (1ULL << 35) ? 35 : ((sizeof(struct page)) - 1) & (1ULL << 34) ? 34 : ((sizeof(struct page)) - 1) & (1ULL << 33) ? 33 : ((sizeof(struct page)) - 1) & (1ULL << 32) ? 32 : ((sizeof(struct page)) - 1) & (1ULL << 31) ? 31 : ((sizeof(struct page)) - 1) & (1ULL << 30) ? 30 : ((sizeof(struct page)) - 1) & (1ULL << 29) ? 29 : ((sizeof(struct page)) - 1) & (1ULL << 28) ? 28 : ((sizeof(struct page)) - 1) & (1ULL << 27) ? 27 : ((sizeof(struct page)) - 1) & (1ULL << 26) ? 26 : ((sizeof(struct page)) - 1) & (1ULL << 25) ? 25 : ((sizeof(struct page)) - 1) & (1ULL << 24) ? 24 : ((sizeof(struct page)) - 1) & (1ULL << 23) ? 23 : ((sizeof(struct page)) - 1) & (1ULL << 22) ? 22 : ((sizeof(struct page)) - 1) & (1ULL << 21) ? 21 : ((sizeof(struct page)) - 1) & (1ULL << 20) ? 20 : ((sizeof(struct page)) - 1) & (1ULL << 19) ? 19 : ((sizeof(struct page)) - 1) & (1ULL << 18) ? 18 : ((sizeof(struct page)) - 1) & (1ULL << 17) ? 17 : ((sizeof(struct page)) - 1) & (1ULL << 16) ? 16 : ((sizeof(struct page)) - 1) & (1ULL << 15) ? 15 : ((sizeof(struct page)) - 1) & (1ULL << 14) ? 14 : ((sizeof(struct page)) - 1) & (1ULL << 13) ? 13 : ((sizeof(struct page)) - 1) & (1ULL << 12) ? 12 : ((sizeof(struct page)) - 1) & (1ULL << 11) ? 11 : ((sizeof(struct page)) - 1) & (1ULL << 10) ? 10 : ((sizeof(struct page)) - 1) & (1ULL << 9) ? 9 : ((sizeof(struct page)) - 1) & (1ULL << 8) ? 8 : ((sizeof(struct page)) - 1) & (1ULL << 7) ? 7 : ((sizeof(struct page)) - 1) & (1ULL << 6) ? 6 : ((sizeof(struct page)) - 1) & (1ULL << 5) ? 5 : ((sizeof(struct page)) - 1) & (1ULL << 4) ? 4 : ((sizeof(struct page)) - 1) & (1ULL << 3) ? 3 : ((sizeof(struct page)) - 1) & (1ULL << 2) ? 2 : 1) : -1) : (sizeof((sizeof(struct page)) - 1) <= 4) ? __ilog2_u32((sizeof(struct page)) - 1) : __ilog2_u64((sizeof(struct page)) - 1) ) + 1) : __order_base_2(sizeof(struct page)) )))) - 0x00200000) - (memstart_addr >> 12)) + (REC->pfn)), REC->pfn, REC->index << 12
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/bprint/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/bprint/format
new file mode 100644
index 0000000..074382f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/bprint/format
@@ -0,0 +1,13 @@
+name: bprint
+ID: 6
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long ip;	offset:8;	size:8;	signed:0;
+	field:const char * fmt;	offset:16;	size:8;	signed:0;
+	field:u32 buf[];	offset:24;	size:0;	signed:0;
+
+print fmt: "%ps: %s", (void *)REC->ip, REC->fmt
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/bputs/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/bputs/format
new file mode 100644
index 0000000..7704ec7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/bputs/format
@@ -0,0 +1,12 @@
+name: bputs
+ID: 14
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long ip;	offset:8;	size:8;	signed:0;
+	field:const char * str;	offset:16;	size:8;	signed:0;
+
+print fmt: "%ps: %s", (void *)REC->ip, REC->str
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/branch/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/branch/format
new file mode 100644
index 0000000..ed995fb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/branch/format
@@ -0,0 +1,15 @@
+name: branch
+ID: 9
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int line;	offset:8;	size:4;	signed:0;
+	field:char func[30+1];	offset:12;	size:31;	signed:0;
+	field:char file[20+1];	offset:43;	size:21;	signed:0;
+	field:char correct;	offset:64;	size:1;	signed:0;
+	field:char constant;	offset:65;	size:1;	signed:0;
+
+print fmt: "%u:%s:%s (%u)%s", REC->line, REC->func, REC->file, REC->correct, REC->constant ? " CONSTANT" : ""
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/context_switch/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/context_switch/format
new file mode 100644
index 0000000..d7b4432
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/context_switch/format
@@ -0,0 +1,17 @@
+name: context_switch
+ID: 2
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int prev_pid;	offset:8;	size:4;	signed:0;
+	field:unsigned int next_pid;	offset:12;	size:4;	signed:0;
+	field:unsigned int next_cpu;	offset:16;	size:4;	signed:0;
+	field:unsigned char prev_prio;	offset:20;	size:1;	signed:0;
+	field:unsigned char prev_state;	offset:21;	size:1;	signed:0;
+	field:unsigned char next_prio;	offset:22;	size:1;	signed:0;
+	field:unsigned char next_state;	offset:23;	size:1;	signed:0;
+
+print fmt: "%u:%u:%u  ==> %u:%u:%u [%03u]", REC->prev_pid, REC->prev_prio, REC->prev_state, REC->next_pid, REC->next_prio, REC->next_state, REC->next_cpu
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/funcgraph_entry/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/funcgraph_entry/format
new file mode 100644
index 0000000..6c17b8d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/funcgraph_entry/format
@@ -0,0 +1,12 @@
+name: funcgraph_entry
+ID: 11
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long func;	offset:8;	size:8;	signed:0;
+	field:int depth;	offset:16;	size:4;	signed:1;
+
+print fmt: "--> %ps (%d)", (void *)REC->func, REC->depth
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/funcgraph_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/funcgraph_exit/format
new file mode 100644
index 0000000..31d447b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/funcgraph_exit/format
@@ -0,0 +1,15 @@
+name: funcgraph_exit
+ID: 10
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long func;	offset:8;	size:8;	signed:0;
+	field:unsigned long overrun;	offset:16;	size:8;	signed:0;
+	field:unsigned long long calltime;	offset:24;	size:8;	signed:0;
+	field:unsigned long long rettime;	offset:32;	size:8;	signed:0;
+	field:int depth;	offset:40;	size:4;	signed:1;
+
+print fmt: "<-- %ps (%d) (start: %llx  end: %llx) over: %d", (void *)REC->func, REC->depth, REC->calltime, REC->rettime, REC->depth
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/function/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/function/format
new file mode 100644
index 0000000..c98c216
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/function/format
@@ -0,0 +1,12 @@
+name: function
+ID: 1
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long ip;	offset:8;	size:8;	signed:0;
+	field:unsigned long parent_ip;	offset:16;	size:8;	signed:0;
+
+print fmt: " %ps <-- %ps", (void *)REC->ip, (void *)REC->parent_ip
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/hwlat/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/hwlat/format
new file mode 100644
index 0000000..dee0810
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/hwlat/format
@@ -0,0 +1,18 @@
+name: hwlat
+ID: 15
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u64 duration;	offset:8;	size:8;	signed:0;
+	field:u64 outer_duration;	offset:16;	size:8;	signed:0;
+	field:u64 nmi_total_ts;	offset:24;	size:8;	signed:0;
+	field:s64 tv_sec;	offset:32;	size:8;	signed:1;
+	field:long tv_nsec;	offset:40;	size:8;	signed:1;
+	field:unsigned int nmi_count;	offset:48;	size:4;	signed:0;
+	field:unsigned int seqnum;	offset:52;	size:4;	signed:0;
+	field:unsigned int count;	offset:56;	size:4;	signed:0;
+
+print fmt: "cnt:%u\tts:%010llu.%010lu\tinner:%llu\touter:%llu\tcount:%d\tnmi-ts:%llu\tnmi-count:%u\n", REC->seqnum, REC->tv_sec, REC->tv_nsec, REC->duration, REC->outer_duration, REC->count, REC->nmi_total_ts, REC->nmi_count
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/kernel_stack/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/kernel_stack/format
new file mode 100644
index 0000000..1af8753
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/kernel_stack/format
@@ -0,0 +1,12 @@
+name: kernel_stack
+ID: 4
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int size;	offset:8;	size:4;	signed:1;
+	field:unsigned long caller[8];	offset:16;	size:64;	signed:0;
+
+print fmt: "\t=> %ps\n\t=> %ps\n\t=> %ps\n" "\t=> %ps\n\t=> %ps\n\t=> %ps\n" "\t=> %ps\n\t=> %ps\n", (void *)REC->caller[0], (void *)REC->caller[1], (void *)REC->caller[2], (void *)REC->caller[3], (void *)REC->caller[4], (void *)REC->caller[5], (void *)REC->caller[6], (void *)REC->caller[7]
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/mmiotrace_map/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/mmiotrace_map/format
new file mode 100644
index 0000000..4ff80e7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/mmiotrace_map/format
@@ -0,0 +1,15 @@
+name: mmiotrace_map
+ID: 8
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:resource_size_t phys;	offset:8;	size:8;	signed:0;
+	field:unsigned long virt;	offset:16;	size:8;	signed:0;
+	field:unsigned long len;	offset:24;	size:8;	signed:0;
+	field:int map_id;	offset:32;	size:4;	signed:1;
+	field:unsigned char opcode;	offset:36;	size:1;	signed:0;
+
+print fmt: "%lx %lx %lx %d %x", (unsigned long)REC->phys, REC->virt, REC->len, REC->map_id, REC->opcode
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/mmiotrace_rw/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/mmiotrace_rw/format
new file mode 100644
index 0000000..2ce7282
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/mmiotrace_rw/format
@@ -0,0 +1,16 @@
+name: mmiotrace_rw
+ID: 7
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:resource_size_t phys;	offset:8;	size:8;	signed:0;
+	field:unsigned long value;	offset:16;	size:8;	signed:0;
+	field:unsigned long pc;	offset:24;	size:8;	signed:0;
+	field:int map_id;	offset:32;	size:4;	signed:1;
+	field:unsigned char opcode;	offset:36;	size:1;	signed:0;
+	field:unsigned char width;	offset:37;	size:1;	signed:0;
+
+print fmt: "%lx %lx %lx %d %x %x", (unsigned long)REC->phys, REC->value, REC->pc, REC->map_id, REC->opcode, REC->width
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/print/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/print/format
new file mode 100644
index 0000000..7d554bf
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/print/format
@@ -0,0 +1,12 @@
+name: print
+ID: 5
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long ip;	offset:8;	size:8;	signed:0;
+	field:char buf[];	offset:16;	size:0;	signed:0;
+
+print fmt: "%ps: %s", (void *)REC->ip, REC->buf
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/raw_data/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/raw_data/format
new file mode 100644
index 0000000..e23a286
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/raw_data/format
@@ -0,0 +1,12 @@
+name: raw_data
+ID: 16
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int id;	offset:8;	size:4;	signed:0;
+	field:char buf[];	offset:12;	size:0;	signed:0;
+
+print fmt: "id:%04x %08x", REC->id, (int)REC->buf[0]
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/user_stack/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/user_stack/format
new file mode 100644
index 0000000..00d6dfe
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/user_stack/format
@@ -0,0 +1,12 @@
+name: user_stack
+ID: 12
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int tgid;	offset:8;	size:4;	signed:0;
+	field:unsigned long caller[8];	offset:16;	size:64;	signed:0;
+
+print fmt: "\t=> %ps\n\t=> %ps\n\t=> %ps\n" "\t=> %ps\n\t=> %ps\n\t=> %ps\n" "\t=> %ps\n\t=> %ps\n", (void *)REC->caller[0], (void *)REC->caller[1], (void *)REC->caller[2], (void *)REC->caller[3], (void *)REC->caller[4], (void *)REC->caller[5], (void *)REC->caller[6], (void *)REC->caller[7]
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/wakeup/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/wakeup/format
new file mode 100644
index 0000000..6091527
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ftrace/wakeup/format
@@ -0,0 +1,17 @@
+name: wakeup
+ID: 3
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int prev_pid;	offset:8;	size:4;	signed:0;
+	field:unsigned int next_pid;	offset:12;	size:4;	signed:0;
+	field:unsigned int next_cpu;	offset:16;	size:4;	signed:0;
+	field:unsigned char prev_prio;	offset:20;	size:1;	signed:0;
+	field:unsigned char prev_state;	offset:21;	size:1;	signed:0;
+	field:unsigned char next_prio;	offset:22;	size:1;	signed:0;
+	field:unsigned char next_state;	offset:23;	size:1;	signed:0;
+
+print fmt: "%u:%u:%u  ==+ %u:%u:%u [%03u]", REC->prev_pid, REC->prev_prio, REC->prev_state, REC->next_pid, REC->next_prio, REC->next_state, REC->next_cpu
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/g2d/g2d_perf_update_qos/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/g2d/g2d_perf_update_qos/format
new file mode 100644
index 0000000..2871d89
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/g2d/g2d_perf_update_qos/format
@@ -0,0 +1,13 @@
+name: g2d_perf_update_qos
+ID: 1085
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u64 rbw;	offset:8;	size:8;	signed:0;
+	field:u64 wbw;	offset:16;	size:8;	signed:0;
+	field:u32 devfreq;	offset:24;	size:4;	signed:0;
+
+print fmt: "rbw=%lld wbw=%lld devfreq=%d", REC->rbw, REC->wbw, REC->devfreq
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/g2d/tracing_mark_write/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/g2d/tracing_mark_write/format
new file mode 100644
index 0000000..ee24f8e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/g2d/tracing_mark_write/format
@@ -0,0 +1,14 @@
+name: tracing_mark_write
+ID: 1086
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char type;	offset:8;	size:1;	signed:0;
+	field:int pid;	offset:12;	size:4;	signed:1;
+	field:__data_loc char[] name;	offset:16;	size:4;	signed:0;
+	field:int value;	offset:20;	size:4;	signed:1;
+
+print fmt: "%c|%d|%s|%d", REC->type, REC->pid, __get_str(name), REC->value
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_alloc_request/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_alloc_request/format
new file mode 100644
index 0000000..2d6dd27
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_alloc_request/format
@@ -0,0 +1,22 @@
+name: usb_ep_alloc_request
+ID: 793
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned length;	offset:12;	size:4;	signed:0;
+	field:unsigned actual;	offset:16;	size:4;	signed:0;
+	field:unsigned num_sgs;	offset:20;	size:4;	signed:0;
+	field:unsigned num_mapped_sgs;	offset:24;	size:4;	signed:0;
+	field:unsigned stream_id;	offset:28;	size:4;	signed:0;
+	field:unsigned no_interrupt;	offset:32;	size:4;	signed:0;
+	field:unsigned zero;	offset:36;	size:4;	signed:0;
+	field:unsigned short_not_ok;	offset:40;	size:4;	signed:0;
+	field:int status;	offset:44;	size:4;	signed:1;
+	field:int ret;	offset:48;	size:4;	signed:1;
+	field:struct usb_request * req;	offset:56;	size:8;	signed:0;
+
+print fmt: "%s: req %p length %d/%d sgs %d/%d stream %d %s%s%s status %d --> %d", __get_str(name),REC->req, REC->actual, REC->length, REC->num_mapped_sgs, REC->num_sgs, REC->stream_id, REC->zero ? "Z" : "z", REC->short_not_ok ? "S" : "s", REC->no_interrupt ? "i" : "I", REC->status, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_clear_halt/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_clear_halt/format
new file mode 100644
index 0000000..31b943c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_clear_halt/format
@@ -0,0 +1,20 @@
+name: usb_ep_clear_halt
+ID: 794
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned maxpacket;	offset:12;	size:4;	signed:0;
+	field:unsigned maxpacket_limit;	offset:16;	size:4;	signed:0;
+	field:unsigned max_streams;	offset:20;	size:4;	signed:0;
+	field:unsigned mult;	offset:24;	size:4;	signed:0;
+	field:unsigned maxburst;	offset:28;	size:4;	signed:0;
+	field:u8 address;	offset:32;	size:1;	signed:0;
+	field:bool claimed;	offset:33;	size:1;	signed:0;
+	field:bool enabled;	offset:34;	size:1;	signed:0;
+	field:int ret;	offset:36;	size:4;	signed:1;
+
+print fmt: "%s: mps %d/%d streams %d mult %d burst %d addr %02x %s%s --> %d", __get_str(name), REC->maxpacket, REC->maxpacket_limit, REC->max_streams, REC->mult, REC->maxburst, REC->address, REC->claimed ? "claimed:" : "released:", REC->enabled ? "enabled" : "disabled", ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_dequeue/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_dequeue/format
new file mode 100644
index 0000000..cad1b24
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_dequeue/format
@@ -0,0 +1,22 @@
+name: usb_ep_dequeue
+ID: 795
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned length;	offset:12;	size:4;	signed:0;
+	field:unsigned actual;	offset:16;	size:4;	signed:0;
+	field:unsigned num_sgs;	offset:20;	size:4;	signed:0;
+	field:unsigned num_mapped_sgs;	offset:24;	size:4;	signed:0;
+	field:unsigned stream_id;	offset:28;	size:4;	signed:0;
+	field:unsigned no_interrupt;	offset:32;	size:4;	signed:0;
+	field:unsigned zero;	offset:36;	size:4;	signed:0;
+	field:unsigned short_not_ok;	offset:40;	size:4;	signed:0;
+	field:int status;	offset:44;	size:4;	signed:1;
+	field:int ret;	offset:48;	size:4;	signed:1;
+	field:struct usb_request * req;	offset:56;	size:8;	signed:0;
+
+print fmt: "%s: req %p length %d/%d sgs %d/%d stream %d %s%s%s status %d --> %d", __get_str(name),REC->req, REC->actual, REC->length, REC->num_mapped_sgs, REC->num_sgs, REC->stream_id, REC->zero ? "Z" : "z", REC->short_not_ok ? "S" : "s", REC->no_interrupt ? "i" : "I", REC->status, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_disable/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_disable/format
new file mode 100644
index 0000000..881ae09
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_disable/format
@@ -0,0 +1,20 @@
+name: usb_ep_disable
+ID: 796
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned maxpacket;	offset:12;	size:4;	signed:0;
+	field:unsigned maxpacket_limit;	offset:16;	size:4;	signed:0;
+	field:unsigned max_streams;	offset:20;	size:4;	signed:0;
+	field:unsigned mult;	offset:24;	size:4;	signed:0;
+	field:unsigned maxburst;	offset:28;	size:4;	signed:0;
+	field:u8 address;	offset:32;	size:1;	signed:0;
+	field:bool claimed;	offset:33;	size:1;	signed:0;
+	field:bool enabled;	offset:34;	size:1;	signed:0;
+	field:int ret;	offset:36;	size:4;	signed:1;
+
+print fmt: "%s: mps %d/%d streams %d mult %d burst %d addr %02x %s%s --> %d", __get_str(name), REC->maxpacket, REC->maxpacket_limit, REC->max_streams, REC->mult, REC->maxburst, REC->address, REC->claimed ? "claimed:" : "released:", REC->enabled ? "enabled" : "disabled", ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_enable/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_enable/format
new file mode 100644
index 0000000..cbf1106
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_enable/format
@@ -0,0 +1,20 @@
+name: usb_ep_enable
+ID: 797
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned maxpacket;	offset:12;	size:4;	signed:0;
+	field:unsigned maxpacket_limit;	offset:16;	size:4;	signed:0;
+	field:unsigned max_streams;	offset:20;	size:4;	signed:0;
+	field:unsigned mult;	offset:24;	size:4;	signed:0;
+	field:unsigned maxburst;	offset:28;	size:4;	signed:0;
+	field:u8 address;	offset:32;	size:1;	signed:0;
+	field:bool claimed;	offset:33;	size:1;	signed:0;
+	field:bool enabled;	offset:34;	size:1;	signed:0;
+	field:int ret;	offset:36;	size:4;	signed:1;
+
+print fmt: "%s: mps %d/%d streams %d mult %d burst %d addr %02x %s%s --> %d", __get_str(name), REC->maxpacket, REC->maxpacket_limit, REC->max_streams, REC->mult, REC->maxburst, REC->address, REC->claimed ? "claimed:" : "released:", REC->enabled ? "enabled" : "disabled", ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_fifo_flush/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_fifo_flush/format
new file mode 100644
index 0000000..360e550
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_fifo_flush/format
@@ -0,0 +1,20 @@
+name: usb_ep_fifo_flush
+ID: 798
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned maxpacket;	offset:12;	size:4;	signed:0;
+	field:unsigned maxpacket_limit;	offset:16;	size:4;	signed:0;
+	field:unsigned max_streams;	offset:20;	size:4;	signed:0;
+	field:unsigned mult;	offset:24;	size:4;	signed:0;
+	field:unsigned maxburst;	offset:28;	size:4;	signed:0;
+	field:u8 address;	offset:32;	size:1;	signed:0;
+	field:bool claimed;	offset:33;	size:1;	signed:0;
+	field:bool enabled;	offset:34;	size:1;	signed:0;
+	field:int ret;	offset:36;	size:4;	signed:1;
+
+print fmt: "%s: mps %d/%d streams %d mult %d burst %d addr %02x %s%s --> %d", __get_str(name), REC->maxpacket, REC->maxpacket_limit, REC->max_streams, REC->mult, REC->maxburst, REC->address, REC->claimed ? "claimed:" : "released:", REC->enabled ? "enabled" : "disabled", ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_fifo_status/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_fifo_status/format
new file mode 100644
index 0000000..86942f4
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_fifo_status/format
@@ -0,0 +1,20 @@
+name: usb_ep_fifo_status
+ID: 799
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned maxpacket;	offset:12;	size:4;	signed:0;
+	field:unsigned maxpacket_limit;	offset:16;	size:4;	signed:0;
+	field:unsigned max_streams;	offset:20;	size:4;	signed:0;
+	field:unsigned mult;	offset:24;	size:4;	signed:0;
+	field:unsigned maxburst;	offset:28;	size:4;	signed:0;
+	field:u8 address;	offset:32;	size:1;	signed:0;
+	field:bool claimed;	offset:33;	size:1;	signed:0;
+	field:bool enabled;	offset:34;	size:1;	signed:0;
+	field:int ret;	offset:36;	size:4;	signed:1;
+
+print fmt: "%s: mps %d/%d streams %d mult %d burst %d addr %02x %s%s --> %d", __get_str(name), REC->maxpacket, REC->maxpacket_limit, REC->max_streams, REC->mult, REC->maxburst, REC->address, REC->claimed ? "claimed:" : "released:", REC->enabled ? "enabled" : "disabled", ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_free_request/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_free_request/format
new file mode 100644
index 0000000..11a17be
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_free_request/format
@@ -0,0 +1,22 @@
+name: usb_ep_free_request
+ID: 800
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned length;	offset:12;	size:4;	signed:0;
+	field:unsigned actual;	offset:16;	size:4;	signed:0;
+	field:unsigned num_sgs;	offset:20;	size:4;	signed:0;
+	field:unsigned num_mapped_sgs;	offset:24;	size:4;	signed:0;
+	field:unsigned stream_id;	offset:28;	size:4;	signed:0;
+	field:unsigned no_interrupt;	offset:32;	size:4;	signed:0;
+	field:unsigned zero;	offset:36;	size:4;	signed:0;
+	field:unsigned short_not_ok;	offset:40;	size:4;	signed:0;
+	field:int status;	offset:44;	size:4;	signed:1;
+	field:int ret;	offset:48;	size:4;	signed:1;
+	field:struct usb_request * req;	offset:56;	size:8;	signed:0;
+
+print fmt: "%s: req %p length %d/%d sgs %d/%d stream %d %s%s%s status %d --> %d", __get_str(name),REC->req, REC->actual, REC->length, REC->num_mapped_sgs, REC->num_sgs, REC->stream_id, REC->zero ? "Z" : "z", REC->short_not_ok ? "S" : "s", REC->no_interrupt ? "i" : "I", REC->status, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_queue/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_queue/format
new file mode 100644
index 0000000..838dde0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_queue/format
@@ -0,0 +1,22 @@
+name: usb_ep_queue
+ID: 801
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned length;	offset:12;	size:4;	signed:0;
+	field:unsigned actual;	offset:16;	size:4;	signed:0;
+	field:unsigned num_sgs;	offset:20;	size:4;	signed:0;
+	field:unsigned num_mapped_sgs;	offset:24;	size:4;	signed:0;
+	field:unsigned stream_id;	offset:28;	size:4;	signed:0;
+	field:unsigned no_interrupt;	offset:32;	size:4;	signed:0;
+	field:unsigned zero;	offset:36;	size:4;	signed:0;
+	field:unsigned short_not_ok;	offset:40;	size:4;	signed:0;
+	field:int status;	offset:44;	size:4;	signed:1;
+	field:int ret;	offset:48;	size:4;	signed:1;
+	field:struct usb_request * req;	offset:56;	size:8;	signed:0;
+
+print fmt: "%s: req %p length %d/%d sgs %d/%d stream %d %s%s%s status %d --> %d", __get_str(name),REC->req, REC->actual, REC->length, REC->num_mapped_sgs, REC->num_sgs, REC->stream_id, REC->zero ? "Z" : "z", REC->short_not_ok ? "S" : "s", REC->no_interrupt ? "i" : "I", REC->status, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_set_halt/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_set_halt/format
new file mode 100644
index 0000000..38bc809
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_set_halt/format
@@ -0,0 +1,20 @@
+name: usb_ep_set_halt
+ID: 802
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned maxpacket;	offset:12;	size:4;	signed:0;
+	field:unsigned maxpacket_limit;	offset:16;	size:4;	signed:0;
+	field:unsigned max_streams;	offset:20;	size:4;	signed:0;
+	field:unsigned mult;	offset:24;	size:4;	signed:0;
+	field:unsigned maxburst;	offset:28;	size:4;	signed:0;
+	field:u8 address;	offset:32;	size:1;	signed:0;
+	field:bool claimed;	offset:33;	size:1;	signed:0;
+	field:bool enabled;	offset:34;	size:1;	signed:0;
+	field:int ret;	offset:36;	size:4;	signed:1;
+
+print fmt: "%s: mps %d/%d streams %d mult %d burst %d addr %02x %s%s --> %d", __get_str(name), REC->maxpacket, REC->maxpacket_limit, REC->max_streams, REC->mult, REC->maxburst, REC->address, REC->claimed ? "claimed:" : "released:", REC->enabled ? "enabled" : "disabled", ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_set_maxpacket_limit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_set_maxpacket_limit/format
new file mode 100644
index 0000000..20eec1c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_set_maxpacket_limit/format
@@ -0,0 +1,20 @@
+name: usb_ep_set_maxpacket_limit
+ID: 803
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned maxpacket;	offset:12;	size:4;	signed:0;
+	field:unsigned maxpacket_limit;	offset:16;	size:4;	signed:0;
+	field:unsigned max_streams;	offset:20;	size:4;	signed:0;
+	field:unsigned mult;	offset:24;	size:4;	signed:0;
+	field:unsigned maxburst;	offset:28;	size:4;	signed:0;
+	field:u8 address;	offset:32;	size:1;	signed:0;
+	field:bool claimed;	offset:33;	size:1;	signed:0;
+	field:bool enabled;	offset:34;	size:1;	signed:0;
+	field:int ret;	offset:36;	size:4;	signed:1;
+
+print fmt: "%s: mps %d/%d streams %d mult %d burst %d addr %02x %s%s --> %d", __get_str(name), REC->maxpacket, REC->maxpacket_limit, REC->max_streams, REC->mult, REC->maxburst, REC->address, REC->claimed ? "claimed:" : "released:", REC->enabled ? "enabled" : "disabled", ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_set_wedge/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_set_wedge/format
new file mode 100644
index 0000000..01d7f43
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_ep_set_wedge/format
@@ -0,0 +1,20 @@
+name: usb_ep_set_wedge
+ID: 804
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned maxpacket;	offset:12;	size:4;	signed:0;
+	field:unsigned maxpacket_limit;	offset:16;	size:4;	signed:0;
+	field:unsigned max_streams;	offset:20;	size:4;	signed:0;
+	field:unsigned mult;	offset:24;	size:4;	signed:0;
+	field:unsigned maxburst;	offset:28;	size:4;	signed:0;
+	field:u8 address;	offset:32;	size:1;	signed:0;
+	field:bool claimed;	offset:33;	size:1;	signed:0;
+	field:bool enabled;	offset:34;	size:1;	signed:0;
+	field:int ret;	offset:36;	size:4;	signed:1;
+
+print fmt: "%s: mps %d/%d streams %d mult %d burst %d addr %02x %s%s --> %d", __get_str(name), REC->maxpacket, REC->maxpacket_limit, REC->max_streams, REC->mult, REC->maxburst, REC->address, REC->claimed ? "claimed:" : "released:", REC->enabled ? "enabled" : "disabled", ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_activate/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_activate/format
new file mode 100644
index 0000000..44c273c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_activate/format
@@ -0,0 +1,29 @@
+name: usb_gadget_activate
+ID: 805
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:enum usb_device_speed speed;	offset:8;	size:4;	signed:0;
+	field:enum usb_device_speed max_speed;	offset:12;	size:4;	signed:0;
+	field:enum usb_device_state state;	offset:16;	size:4;	signed:0;
+	field:unsigned mA;	offset:20;	size:4;	signed:0;
+	field:unsigned sg_supported;	offset:24;	size:4;	signed:0;
+	field:unsigned is_otg;	offset:28;	size:4;	signed:0;
+	field:unsigned is_a_peripheral;	offset:32;	size:4;	signed:0;
+	field:unsigned b_hnp_enable;	offset:36;	size:4;	signed:0;
+	field:unsigned a_hnp_support;	offset:40;	size:4;	signed:0;
+	field:unsigned hnp_polling_support;	offset:44;	size:4;	signed:0;
+	field:unsigned host_request_flag;	offset:48;	size:4;	signed:0;
+	field:unsigned quirk_ep_out_aligned_size;	offset:52;	size:4;	signed:0;
+	field:unsigned quirk_altset_not_supp;	offset:56;	size:4;	signed:0;
+	field:unsigned quirk_stall_not_supp;	offset:60;	size:4;	signed:0;
+	field:unsigned quirk_zlp_not_supp;	offset:64;	size:4;	signed:0;
+	field:unsigned is_selfpowered;	offset:68;	size:4;	signed:0;
+	field:unsigned deactivated;	offset:72;	size:4;	signed:0;
+	field:unsigned connected;	offset:76;	size:4;	signed:0;
+	field:int ret;	offset:80;	size:4;	signed:1;
+
+print fmt: "speed %d/%d state %d %dmA [%s%s%s%s%s%s%s%s%s%s%s%s%s%s] --> %d", REC->speed, REC->max_speed, REC->state, REC->mA, REC->sg_supported ? "sg:" : "", REC->is_otg ? "OTG:" : "", REC->is_a_peripheral ? "a_peripheral:" : "", REC->b_hnp_enable ? "b_hnp:" : "", REC->a_hnp_support ? "a_hnp:" : "", REC->hnp_polling_support ? "hnp_poll:" : "", REC->host_request_flag ? "hostreq:" : "", REC->quirk_ep_out_aligned_size ? "out_aligned:" : "", REC->quirk_altset_not_supp ? "no_altset:" : "", REC->quirk_stall_not_supp ? "no_stall:" : "", REC->quirk_zlp_not_supp ? "no_zlp" : "", REC->is_selfpowered ? "self-powered:" : "bus-powered:", REC->deactivated ? "deactivated:" : "activated:", REC->connected ? "connected" : "disconnected", REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_clear_selfpowered/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_clear_selfpowered/format
new file mode 100644
index 0000000..fc246eb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_clear_selfpowered/format
@@ -0,0 +1,29 @@
+name: usb_gadget_clear_selfpowered
+ID: 806
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:enum usb_device_speed speed;	offset:8;	size:4;	signed:0;
+	field:enum usb_device_speed max_speed;	offset:12;	size:4;	signed:0;
+	field:enum usb_device_state state;	offset:16;	size:4;	signed:0;
+	field:unsigned mA;	offset:20;	size:4;	signed:0;
+	field:unsigned sg_supported;	offset:24;	size:4;	signed:0;
+	field:unsigned is_otg;	offset:28;	size:4;	signed:0;
+	field:unsigned is_a_peripheral;	offset:32;	size:4;	signed:0;
+	field:unsigned b_hnp_enable;	offset:36;	size:4;	signed:0;
+	field:unsigned a_hnp_support;	offset:40;	size:4;	signed:0;
+	field:unsigned hnp_polling_support;	offset:44;	size:4;	signed:0;
+	field:unsigned host_request_flag;	offset:48;	size:4;	signed:0;
+	field:unsigned quirk_ep_out_aligned_size;	offset:52;	size:4;	signed:0;
+	field:unsigned quirk_altset_not_supp;	offset:56;	size:4;	signed:0;
+	field:unsigned quirk_stall_not_supp;	offset:60;	size:4;	signed:0;
+	field:unsigned quirk_zlp_not_supp;	offset:64;	size:4;	signed:0;
+	field:unsigned is_selfpowered;	offset:68;	size:4;	signed:0;
+	field:unsigned deactivated;	offset:72;	size:4;	signed:0;
+	field:unsigned connected;	offset:76;	size:4;	signed:0;
+	field:int ret;	offset:80;	size:4;	signed:1;
+
+print fmt: "speed %d/%d state %d %dmA [%s%s%s%s%s%s%s%s%s%s%s%s%s%s] --> %d", REC->speed, REC->max_speed, REC->state, REC->mA, REC->sg_supported ? "sg:" : "", REC->is_otg ? "OTG:" : "", REC->is_a_peripheral ? "a_peripheral:" : "", REC->b_hnp_enable ? "b_hnp:" : "", REC->a_hnp_support ? "a_hnp:" : "", REC->hnp_polling_support ? "hnp_poll:" : "", REC->host_request_flag ? "hostreq:" : "", REC->quirk_ep_out_aligned_size ? "out_aligned:" : "", REC->quirk_altset_not_supp ? "no_altset:" : "", REC->quirk_stall_not_supp ? "no_stall:" : "", REC->quirk_zlp_not_supp ? "no_zlp" : "", REC->is_selfpowered ? "self-powered:" : "bus-powered:", REC->deactivated ? "deactivated:" : "activated:", REC->connected ? "connected" : "disconnected", REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_connect/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_connect/format
new file mode 100644
index 0000000..3b65f23
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_connect/format
@@ -0,0 +1,29 @@
+name: usb_gadget_connect
+ID: 807
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:enum usb_device_speed speed;	offset:8;	size:4;	signed:0;
+	field:enum usb_device_speed max_speed;	offset:12;	size:4;	signed:0;
+	field:enum usb_device_state state;	offset:16;	size:4;	signed:0;
+	field:unsigned mA;	offset:20;	size:4;	signed:0;
+	field:unsigned sg_supported;	offset:24;	size:4;	signed:0;
+	field:unsigned is_otg;	offset:28;	size:4;	signed:0;
+	field:unsigned is_a_peripheral;	offset:32;	size:4;	signed:0;
+	field:unsigned b_hnp_enable;	offset:36;	size:4;	signed:0;
+	field:unsigned a_hnp_support;	offset:40;	size:4;	signed:0;
+	field:unsigned hnp_polling_support;	offset:44;	size:4;	signed:0;
+	field:unsigned host_request_flag;	offset:48;	size:4;	signed:0;
+	field:unsigned quirk_ep_out_aligned_size;	offset:52;	size:4;	signed:0;
+	field:unsigned quirk_altset_not_supp;	offset:56;	size:4;	signed:0;
+	field:unsigned quirk_stall_not_supp;	offset:60;	size:4;	signed:0;
+	field:unsigned quirk_zlp_not_supp;	offset:64;	size:4;	signed:0;
+	field:unsigned is_selfpowered;	offset:68;	size:4;	signed:0;
+	field:unsigned deactivated;	offset:72;	size:4;	signed:0;
+	field:unsigned connected;	offset:76;	size:4;	signed:0;
+	field:int ret;	offset:80;	size:4;	signed:1;
+
+print fmt: "speed %d/%d state %d %dmA [%s%s%s%s%s%s%s%s%s%s%s%s%s%s] --> %d", REC->speed, REC->max_speed, REC->state, REC->mA, REC->sg_supported ? "sg:" : "", REC->is_otg ? "OTG:" : "", REC->is_a_peripheral ? "a_peripheral:" : "", REC->b_hnp_enable ? "b_hnp:" : "", REC->a_hnp_support ? "a_hnp:" : "", REC->hnp_polling_support ? "hnp_poll:" : "", REC->host_request_flag ? "hostreq:" : "", REC->quirk_ep_out_aligned_size ? "out_aligned:" : "", REC->quirk_altset_not_supp ? "no_altset:" : "", REC->quirk_stall_not_supp ? "no_stall:" : "", REC->quirk_zlp_not_supp ? "no_zlp" : "", REC->is_selfpowered ? "self-powered:" : "bus-powered:", REC->deactivated ? "deactivated:" : "activated:", REC->connected ? "connected" : "disconnected", REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_deactivate/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_deactivate/format
new file mode 100644
index 0000000..80e0d7a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_deactivate/format
@@ -0,0 +1,29 @@
+name: usb_gadget_deactivate
+ID: 808
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:enum usb_device_speed speed;	offset:8;	size:4;	signed:0;
+	field:enum usb_device_speed max_speed;	offset:12;	size:4;	signed:0;
+	field:enum usb_device_state state;	offset:16;	size:4;	signed:0;
+	field:unsigned mA;	offset:20;	size:4;	signed:0;
+	field:unsigned sg_supported;	offset:24;	size:4;	signed:0;
+	field:unsigned is_otg;	offset:28;	size:4;	signed:0;
+	field:unsigned is_a_peripheral;	offset:32;	size:4;	signed:0;
+	field:unsigned b_hnp_enable;	offset:36;	size:4;	signed:0;
+	field:unsigned a_hnp_support;	offset:40;	size:4;	signed:0;
+	field:unsigned hnp_polling_support;	offset:44;	size:4;	signed:0;
+	field:unsigned host_request_flag;	offset:48;	size:4;	signed:0;
+	field:unsigned quirk_ep_out_aligned_size;	offset:52;	size:4;	signed:0;
+	field:unsigned quirk_altset_not_supp;	offset:56;	size:4;	signed:0;
+	field:unsigned quirk_stall_not_supp;	offset:60;	size:4;	signed:0;
+	field:unsigned quirk_zlp_not_supp;	offset:64;	size:4;	signed:0;
+	field:unsigned is_selfpowered;	offset:68;	size:4;	signed:0;
+	field:unsigned deactivated;	offset:72;	size:4;	signed:0;
+	field:unsigned connected;	offset:76;	size:4;	signed:0;
+	field:int ret;	offset:80;	size:4;	signed:1;
+
+print fmt: "speed %d/%d state %d %dmA [%s%s%s%s%s%s%s%s%s%s%s%s%s%s] --> %d", REC->speed, REC->max_speed, REC->state, REC->mA, REC->sg_supported ? "sg:" : "", REC->is_otg ? "OTG:" : "", REC->is_a_peripheral ? "a_peripheral:" : "", REC->b_hnp_enable ? "b_hnp:" : "", REC->a_hnp_support ? "a_hnp:" : "", REC->hnp_polling_support ? "hnp_poll:" : "", REC->host_request_flag ? "hostreq:" : "", REC->quirk_ep_out_aligned_size ? "out_aligned:" : "", REC->quirk_altset_not_supp ? "no_altset:" : "", REC->quirk_stall_not_supp ? "no_stall:" : "", REC->quirk_zlp_not_supp ? "no_zlp" : "", REC->is_selfpowered ? "self-powered:" : "bus-powered:", REC->deactivated ? "deactivated:" : "activated:", REC->connected ? "connected" : "disconnected", REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_disconnect/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_disconnect/format
new file mode 100644
index 0000000..8a37149
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_disconnect/format
@@ -0,0 +1,29 @@
+name: usb_gadget_disconnect
+ID: 809
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:enum usb_device_speed speed;	offset:8;	size:4;	signed:0;
+	field:enum usb_device_speed max_speed;	offset:12;	size:4;	signed:0;
+	field:enum usb_device_state state;	offset:16;	size:4;	signed:0;
+	field:unsigned mA;	offset:20;	size:4;	signed:0;
+	field:unsigned sg_supported;	offset:24;	size:4;	signed:0;
+	field:unsigned is_otg;	offset:28;	size:4;	signed:0;
+	field:unsigned is_a_peripheral;	offset:32;	size:4;	signed:0;
+	field:unsigned b_hnp_enable;	offset:36;	size:4;	signed:0;
+	field:unsigned a_hnp_support;	offset:40;	size:4;	signed:0;
+	field:unsigned hnp_polling_support;	offset:44;	size:4;	signed:0;
+	field:unsigned host_request_flag;	offset:48;	size:4;	signed:0;
+	field:unsigned quirk_ep_out_aligned_size;	offset:52;	size:4;	signed:0;
+	field:unsigned quirk_altset_not_supp;	offset:56;	size:4;	signed:0;
+	field:unsigned quirk_stall_not_supp;	offset:60;	size:4;	signed:0;
+	field:unsigned quirk_zlp_not_supp;	offset:64;	size:4;	signed:0;
+	field:unsigned is_selfpowered;	offset:68;	size:4;	signed:0;
+	field:unsigned deactivated;	offset:72;	size:4;	signed:0;
+	field:unsigned connected;	offset:76;	size:4;	signed:0;
+	field:int ret;	offset:80;	size:4;	signed:1;
+
+print fmt: "speed %d/%d state %d %dmA [%s%s%s%s%s%s%s%s%s%s%s%s%s%s] --> %d", REC->speed, REC->max_speed, REC->state, REC->mA, REC->sg_supported ? "sg:" : "", REC->is_otg ? "OTG:" : "", REC->is_a_peripheral ? "a_peripheral:" : "", REC->b_hnp_enable ? "b_hnp:" : "", REC->a_hnp_support ? "a_hnp:" : "", REC->hnp_polling_support ? "hnp_poll:" : "", REC->host_request_flag ? "hostreq:" : "", REC->quirk_ep_out_aligned_size ? "out_aligned:" : "", REC->quirk_altset_not_supp ? "no_altset:" : "", REC->quirk_stall_not_supp ? "no_stall:" : "", REC->quirk_zlp_not_supp ? "no_zlp" : "", REC->is_selfpowered ? "self-powered:" : "bus-powered:", REC->deactivated ? "deactivated:" : "activated:", REC->connected ? "connected" : "disconnected", REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_frame_number/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_frame_number/format
new file mode 100644
index 0000000..977ba48
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_frame_number/format
@@ -0,0 +1,29 @@
+name: usb_gadget_frame_number
+ID: 810
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:enum usb_device_speed speed;	offset:8;	size:4;	signed:0;
+	field:enum usb_device_speed max_speed;	offset:12;	size:4;	signed:0;
+	field:enum usb_device_state state;	offset:16;	size:4;	signed:0;
+	field:unsigned mA;	offset:20;	size:4;	signed:0;
+	field:unsigned sg_supported;	offset:24;	size:4;	signed:0;
+	field:unsigned is_otg;	offset:28;	size:4;	signed:0;
+	field:unsigned is_a_peripheral;	offset:32;	size:4;	signed:0;
+	field:unsigned b_hnp_enable;	offset:36;	size:4;	signed:0;
+	field:unsigned a_hnp_support;	offset:40;	size:4;	signed:0;
+	field:unsigned hnp_polling_support;	offset:44;	size:4;	signed:0;
+	field:unsigned host_request_flag;	offset:48;	size:4;	signed:0;
+	field:unsigned quirk_ep_out_aligned_size;	offset:52;	size:4;	signed:0;
+	field:unsigned quirk_altset_not_supp;	offset:56;	size:4;	signed:0;
+	field:unsigned quirk_stall_not_supp;	offset:60;	size:4;	signed:0;
+	field:unsigned quirk_zlp_not_supp;	offset:64;	size:4;	signed:0;
+	field:unsigned is_selfpowered;	offset:68;	size:4;	signed:0;
+	field:unsigned deactivated;	offset:72;	size:4;	signed:0;
+	field:unsigned connected;	offset:76;	size:4;	signed:0;
+	field:int ret;	offset:80;	size:4;	signed:1;
+
+print fmt: "speed %d/%d state %d %dmA [%s%s%s%s%s%s%s%s%s%s%s%s%s%s] --> %d", REC->speed, REC->max_speed, REC->state, REC->mA, REC->sg_supported ? "sg:" : "", REC->is_otg ? "OTG:" : "", REC->is_a_peripheral ? "a_peripheral:" : "", REC->b_hnp_enable ? "b_hnp:" : "", REC->a_hnp_support ? "a_hnp:" : "", REC->hnp_polling_support ? "hnp_poll:" : "", REC->host_request_flag ? "hostreq:" : "", REC->quirk_ep_out_aligned_size ? "out_aligned:" : "", REC->quirk_altset_not_supp ? "no_altset:" : "", REC->quirk_stall_not_supp ? "no_stall:" : "", REC->quirk_zlp_not_supp ? "no_zlp" : "", REC->is_selfpowered ? "self-powered:" : "bus-powered:", REC->deactivated ? "deactivated:" : "activated:", REC->connected ? "connected" : "disconnected", REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_giveback_request/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_giveback_request/format
new file mode 100644
index 0000000..f43abe3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_giveback_request/format
@@ -0,0 +1,22 @@
+name: usb_gadget_giveback_request
+ID: 811
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned length;	offset:12;	size:4;	signed:0;
+	field:unsigned actual;	offset:16;	size:4;	signed:0;
+	field:unsigned num_sgs;	offset:20;	size:4;	signed:0;
+	field:unsigned num_mapped_sgs;	offset:24;	size:4;	signed:0;
+	field:unsigned stream_id;	offset:28;	size:4;	signed:0;
+	field:unsigned no_interrupt;	offset:32;	size:4;	signed:0;
+	field:unsigned zero;	offset:36;	size:4;	signed:0;
+	field:unsigned short_not_ok;	offset:40;	size:4;	signed:0;
+	field:int status;	offset:44;	size:4;	signed:1;
+	field:int ret;	offset:48;	size:4;	signed:1;
+	field:struct usb_request * req;	offset:56;	size:8;	signed:0;
+
+print fmt: "%s: req %p length %d/%d sgs %d/%d stream %d %s%s%s status %d --> %d", __get_str(name),REC->req, REC->actual, REC->length, REC->num_mapped_sgs, REC->num_sgs, REC->stream_id, REC->zero ? "Z" : "z", REC->short_not_ok ? "S" : "s", REC->no_interrupt ? "i" : "I", REC->status, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_set_selfpowered/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_set_selfpowered/format
new file mode 100644
index 0000000..bebdc5c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_set_selfpowered/format
@@ -0,0 +1,29 @@
+name: usb_gadget_set_selfpowered
+ID: 812
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:enum usb_device_speed speed;	offset:8;	size:4;	signed:0;
+	field:enum usb_device_speed max_speed;	offset:12;	size:4;	signed:0;
+	field:enum usb_device_state state;	offset:16;	size:4;	signed:0;
+	field:unsigned mA;	offset:20;	size:4;	signed:0;
+	field:unsigned sg_supported;	offset:24;	size:4;	signed:0;
+	field:unsigned is_otg;	offset:28;	size:4;	signed:0;
+	field:unsigned is_a_peripheral;	offset:32;	size:4;	signed:0;
+	field:unsigned b_hnp_enable;	offset:36;	size:4;	signed:0;
+	field:unsigned a_hnp_support;	offset:40;	size:4;	signed:0;
+	field:unsigned hnp_polling_support;	offset:44;	size:4;	signed:0;
+	field:unsigned host_request_flag;	offset:48;	size:4;	signed:0;
+	field:unsigned quirk_ep_out_aligned_size;	offset:52;	size:4;	signed:0;
+	field:unsigned quirk_altset_not_supp;	offset:56;	size:4;	signed:0;
+	field:unsigned quirk_stall_not_supp;	offset:60;	size:4;	signed:0;
+	field:unsigned quirk_zlp_not_supp;	offset:64;	size:4;	signed:0;
+	field:unsigned is_selfpowered;	offset:68;	size:4;	signed:0;
+	field:unsigned deactivated;	offset:72;	size:4;	signed:0;
+	field:unsigned connected;	offset:76;	size:4;	signed:0;
+	field:int ret;	offset:80;	size:4;	signed:1;
+
+print fmt: "speed %d/%d state %d %dmA [%s%s%s%s%s%s%s%s%s%s%s%s%s%s] --> %d", REC->speed, REC->max_speed, REC->state, REC->mA, REC->sg_supported ? "sg:" : "", REC->is_otg ? "OTG:" : "", REC->is_a_peripheral ? "a_peripheral:" : "", REC->b_hnp_enable ? "b_hnp:" : "", REC->a_hnp_support ? "a_hnp:" : "", REC->hnp_polling_support ? "hnp_poll:" : "", REC->host_request_flag ? "hostreq:" : "", REC->quirk_ep_out_aligned_size ? "out_aligned:" : "", REC->quirk_altset_not_supp ? "no_altset:" : "", REC->quirk_stall_not_supp ? "no_stall:" : "", REC->quirk_zlp_not_supp ? "no_zlp" : "", REC->is_selfpowered ? "self-powered:" : "bus-powered:", REC->deactivated ? "deactivated:" : "activated:", REC->connected ? "connected" : "disconnected", REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_vbus_connect/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_vbus_connect/format
new file mode 100644
index 0000000..2f04046
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_vbus_connect/format
@@ -0,0 +1,29 @@
+name: usb_gadget_vbus_connect
+ID: 813
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:enum usb_device_speed speed;	offset:8;	size:4;	signed:0;
+	field:enum usb_device_speed max_speed;	offset:12;	size:4;	signed:0;
+	field:enum usb_device_state state;	offset:16;	size:4;	signed:0;
+	field:unsigned mA;	offset:20;	size:4;	signed:0;
+	field:unsigned sg_supported;	offset:24;	size:4;	signed:0;
+	field:unsigned is_otg;	offset:28;	size:4;	signed:0;
+	field:unsigned is_a_peripheral;	offset:32;	size:4;	signed:0;
+	field:unsigned b_hnp_enable;	offset:36;	size:4;	signed:0;
+	field:unsigned a_hnp_support;	offset:40;	size:4;	signed:0;
+	field:unsigned hnp_polling_support;	offset:44;	size:4;	signed:0;
+	field:unsigned host_request_flag;	offset:48;	size:4;	signed:0;
+	field:unsigned quirk_ep_out_aligned_size;	offset:52;	size:4;	signed:0;
+	field:unsigned quirk_altset_not_supp;	offset:56;	size:4;	signed:0;
+	field:unsigned quirk_stall_not_supp;	offset:60;	size:4;	signed:0;
+	field:unsigned quirk_zlp_not_supp;	offset:64;	size:4;	signed:0;
+	field:unsigned is_selfpowered;	offset:68;	size:4;	signed:0;
+	field:unsigned deactivated;	offset:72;	size:4;	signed:0;
+	field:unsigned connected;	offset:76;	size:4;	signed:0;
+	field:int ret;	offset:80;	size:4;	signed:1;
+
+print fmt: "speed %d/%d state %d %dmA [%s%s%s%s%s%s%s%s%s%s%s%s%s%s] --> %d", REC->speed, REC->max_speed, REC->state, REC->mA, REC->sg_supported ? "sg:" : "", REC->is_otg ? "OTG:" : "", REC->is_a_peripheral ? "a_peripheral:" : "", REC->b_hnp_enable ? "b_hnp:" : "", REC->a_hnp_support ? "a_hnp:" : "", REC->hnp_polling_support ? "hnp_poll:" : "", REC->host_request_flag ? "hostreq:" : "", REC->quirk_ep_out_aligned_size ? "out_aligned:" : "", REC->quirk_altset_not_supp ? "no_altset:" : "", REC->quirk_stall_not_supp ? "no_stall:" : "", REC->quirk_zlp_not_supp ? "no_zlp" : "", REC->is_selfpowered ? "self-powered:" : "bus-powered:", REC->deactivated ? "deactivated:" : "activated:", REC->connected ? "connected" : "disconnected", REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_vbus_disconnect/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_vbus_disconnect/format
new file mode 100644
index 0000000..979cf91
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_vbus_disconnect/format
@@ -0,0 +1,29 @@
+name: usb_gadget_vbus_disconnect
+ID: 814
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:enum usb_device_speed speed;	offset:8;	size:4;	signed:0;
+	field:enum usb_device_speed max_speed;	offset:12;	size:4;	signed:0;
+	field:enum usb_device_state state;	offset:16;	size:4;	signed:0;
+	field:unsigned mA;	offset:20;	size:4;	signed:0;
+	field:unsigned sg_supported;	offset:24;	size:4;	signed:0;
+	field:unsigned is_otg;	offset:28;	size:4;	signed:0;
+	field:unsigned is_a_peripheral;	offset:32;	size:4;	signed:0;
+	field:unsigned b_hnp_enable;	offset:36;	size:4;	signed:0;
+	field:unsigned a_hnp_support;	offset:40;	size:4;	signed:0;
+	field:unsigned hnp_polling_support;	offset:44;	size:4;	signed:0;
+	field:unsigned host_request_flag;	offset:48;	size:4;	signed:0;
+	field:unsigned quirk_ep_out_aligned_size;	offset:52;	size:4;	signed:0;
+	field:unsigned quirk_altset_not_supp;	offset:56;	size:4;	signed:0;
+	field:unsigned quirk_stall_not_supp;	offset:60;	size:4;	signed:0;
+	field:unsigned quirk_zlp_not_supp;	offset:64;	size:4;	signed:0;
+	field:unsigned is_selfpowered;	offset:68;	size:4;	signed:0;
+	field:unsigned deactivated;	offset:72;	size:4;	signed:0;
+	field:unsigned connected;	offset:76;	size:4;	signed:0;
+	field:int ret;	offset:80;	size:4;	signed:1;
+
+print fmt: "speed %d/%d state %d %dmA [%s%s%s%s%s%s%s%s%s%s%s%s%s%s] --> %d", REC->speed, REC->max_speed, REC->state, REC->mA, REC->sg_supported ? "sg:" : "", REC->is_otg ? "OTG:" : "", REC->is_a_peripheral ? "a_peripheral:" : "", REC->b_hnp_enable ? "b_hnp:" : "", REC->a_hnp_support ? "a_hnp:" : "", REC->hnp_polling_support ? "hnp_poll:" : "", REC->host_request_flag ? "hostreq:" : "", REC->quirk_ep_out_aligned_size ? "out_aligned:" : "", REC->quirk_altset_not_supp ? "no_altset:" : "", REC->quirk_stall_not_supp ? "no_stall:" : "", REC->quirk_zlp_not_supp ? "no_zlp" : "", REC->is_selfpowered ? "self-powered:" : "bus-powered:", REC->deactivated ? "deactivated:" : "activated:", REC->connected ? "connected" : "disconnected", REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_vbus_draw/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_vbus_draw/format
new file mode 100644
index 0000000..4e03d29
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_vbus_draw/format
@@ -0,0 +1,29 @@
+name: usb_gadget_vbus_draw
+ID: 815
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:enum usb_device_speed speed;	offset:8;	size:4;	signed:0;
+	field:enum usb_device_speed max_speed;	offset:12;	size:4;	signed:0;
+	field:enum usb_device_state state;	offset:16;	size:4;	signed:0;
+	field:unsigned mA;	offset:20;	size:4;	signed:0;
+	field:unsigned sg_supported;	offset:24;	size:4;	signed:0;
+	field:unsigned is_otg;	offset:28;	size:4;	signed:0;
+	field:unsigned is_a_peripheral;	offset:32;	size:4;	signed:0;
+	field:unsigned b_hnp_enable;	offset:36;	size:4;	signed:0;
+	field:unsigned a_hnp_support;	offset:40;	size:4;	signed:0;
+	field:unsigned hnp_polling_support;	offset:44;	size:4;	signed:0;
+	field:unsigned host_request_flag;	offset:48;	size:4;	signed:0;
+	field:unsigned quirk_ep_out_aligned_size;	offset:52;	size:4;	signed:0;
+	field:unsigned quirk_altset_not_supp;	offset:56;	size:4;	signed:0;
+	field:unsigned quirk_stall_not_supp;	offset:60;	size:4;	signed:0;
+	field:unsigned quirk_zlp_not_supp;	offset:64;	size:4;	signed:0;
+	field:unsigned is_selfpowered;	offset:68;	size:4;	signed:0;
+	field:unsigned deactivated;	offset:72;	size:4;	signed:0;
+	field:unsigned connected;	offset:76;	size:4;	signed:0;
+	field:int ret;	offset:80;	size:4;	signed:1;
+
+print fmt: "speed %d/%d state %d %dmA [%s%s%s%s%s%s%s%s%s%s%s%s%s%s] --> %d", REC->speed, REC->max_speed, REC->state, REC->mA, REC->sg_supported ? "sg:" : "", REC->is_otg ? "OTG:" : "", REC->is_a_peripheral ? "a_peripheral:" : "", REC->b_hnp_enable ? "b_hnp:" : "", REC->a_hnp_support ? "a_hnp:" : "", REC->hnp_polling_support ? "hnp_poll:" : "", REC->host_request_flag ? "hostreq:" : "", REC->quirk_ep_out_aligned_size ? "out_aligned:" : "", REC->quirk_altset_not_supp ? "no_altset:" : "", REC->quirk_stall_not_supp ? "no_stall:" : "", REC->quirk_zlp_not_supp ? "no_zlp" : "", REC->is_selfpowered ? "self-powered:" : "bus-powered:", REC->deactivated ? "deactivated:" : "activated:", REC->connected ? "connected" : "disconnected", REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_wakeup/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_wakeup/format
new file mode 100644
index 0000000..788fb22
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gadget/usb_gadget_wakeup/format
@@ -0,0 +1,29 @@
+name: usb_gadget_wakeup
+ID: 816
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:enum usb_device_speed speed;	offset:8;	size:4;	signed:0;
+	field:enum usb_device_speed max_speed;	offset:12;	size:4;	signed:0;
+	field:enum usb_device_state state;	offset:16;	size:4;	signed:0;
+	field:unsigned mA;	offset:20;	size:4;	signed:0;
+	field:unsigned sg_supported;	offset:24;	size:4;	signed:0;
+	field:unsigned is_otg;	offset:28;	size:4;	signed:0;
+	field:unsigned is_a_peripheral;	offset:32;	size:4;	signed:0;
+	field:unsigned b_hnp_enable;	offset:36;	size:4;	signed:0;
+	field:unsigned a_hnp_support;	offset:40;	size:4;	signed:0;
+	field:unsigned hnp_polling_support;	offset:44;	size:4;	signed:0;
+	field:unsigned host_request_flag;	offset:48;	size:4;	signed:0;
+	field:unsigned quirk_ep_out_aligned_size;	offset:52;	size:4;	signed:0;
+	field:unsigned quirk_altset_not_supp;	offset:56;	size:4;	signed:0;
+	field:unsigned quirk_stall_not_supp;	offset:60;	size:4;	signed:0;
+	field:unsigned quirk_zlp_not_supp;	offset:64;	size:4;	signed:0;
+	field:unsigned is_selfpowered;	offset:68;	size:4;	signed:0;
+	field:unsigned deactivated;	offset:72;	size:4;	signed:0;
+	field:unsigned connected;	offset:76;	size:4;	signed:0;
+	field:int ret;	offset:80;	size:4;	signed:1;
+
+print fmt: "speed %d/%d state %d %dmA [%s%s%s%s%s%s%s%s%s%s%s%s%s%s] --> %d", REC->speed, REC->max_speed, REC->state, REC->mA, REC->sg_supported ? "sg:" : "", REC->is_otg ? "OTG:" : "", REC->is_a_peripheral ? "a_peripheral:" : "", REC->b_hnp_enable ? "b_hnp:" : "", REC->a_hnp_support ? "a_hnp:" : "", REC->hnp_polling_support ? "hnp_poll:" : "", REC->host_request_flag ? "hostreq:" : "", REC->quirk_ep_out_aligned_size ? "out_aligned:" : "", REC->quirk_altset_not_supp ? "no_altset:" : "", REC->quirk_stall_not_supp ? "no_stall:" : "", REC->quirk_zlp_not_supp ? "no_zlp" : "", REC->is_selfpowered ? "self-powered:" : "bus-powered:", REC->deactivated ? "deactivated:" : "activated:", REC->connected ? "connected" : "disconnected", REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gpio/gpio_direction/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gpio/gpio_direction/format
new file mode 100644
index 0000000..ee94e2b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gpio/gpio_direction/format
@@ -0,0 +1,13 @@
+name: gpio_direction
+ID: 613
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned gpio;	offset:8;	size:4;	signed:0;
+	field:int in;	offset:12;	size:4;	signed:1;
+	field:int err;	offset:16;	size:4;	signed:1;
+
+print fmt: "%u %3s (%d)", REC->gpio, REC->in ? "in" : "out", REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gpio/gpio_value/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gpio/gpio_value/format
new file mode 100644
index 0000000..dfd1fa4
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gpio/gpio_value/format
@@ -0,0 +1,13 @@
+name: gpio_value
+ID: 614
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned gpio;	offset:8;	size:4;	signed:0;
+	field:int get;	offset:12;	size:4;	signed:1;
+	field:int value;	offset:16;	size:4;	signed:1;
+
+print fmt: "%u %3s %d", REC->gpio, REC->get ? "get" : "set", REC->value
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gpu_mem/gpu_mem_total/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gpu_mem/gpu_mem_total/format
new file mode 100644
index 0000000..895317e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/gpu_mem/gpu_mem_total/format
@@ -0,0 +1,13 @@
+name: gpu_mem_total
+ID: 670
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:uint32_t gpu_id;	offset:8;	size:4;	signed:0;
+	field:uint32_t pid;	offset:12;	size:4;	signed:0;
+	field:uint64_t size;	offset:16;	size:8;	signed:0;
+
+print fmt: "gpu_id=%u pid=%u size=%llu", REC->gpu_id, REC->pid, REC->size
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/header_event b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/header_event
new file mode 100644
index 0000000..615ec1c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/header_event
@@ -0,0 +1,9 @@
+# compressed entry header
+	type_len    :    5 bits
+	time_delta  :   27 bits
+	array       :   32 bits
+
+	padding     : type == 29
+	time_extend : type == 30
+	time_stamp : type == 31
+	data max type_len  == 28
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/header_page b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/header_page
new file mode 100644
index 0000000..d569267
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/header_page
@@ -0,0 +1,4 @@
+	field: u64 timestamp;	offset:0;	size:8;	signed:0;
+	field: local_t commit;	offset:8;	size:8;	signed:1;
+	field: int overwrite;	offset:8;	size:1;	signed:1;
+	field: char data;	offset:16;	size:4080;	signed:0;
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/huge_memory/mm_collapse_huge_page/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/huge_memory/mm_collapse_huge_page/format
new file mode 100644
index 0000000..e36b140
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/huge_memory/mm_collapse_huge_page/format
@@ -0,0 +1,13 @@
+name: mm_collapse_huge_page
+ID: 285
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct mm_struct * mm;	offset:8;	size:8;	signed:0;
+	field:int isolated;	offset:16;	size:4;	signed:1;
+	field:int status;	offset:20;	size:4;	signed:1;
+
+print fmt: "mm=%p, isolated=%d, status=%s", REC->mm, REC->isolated, __print_symbolic(REC->status, {0, "failed"}, {1, "succeeded"}, {2, "pmd_null"}, {3, "exceed_none_pte"}, {4, "exceed_swap_pte"}, {5, "exceed_shared_pte"}, {6, "pte_non_present"}, {7, "pte_uffd_wp"}, {8, "no_writable_page"}, {9, "lack_referenced_page"}, {10, "page_null"}, {11, "scan_aborted"}, {12, "not_suitable_page_count"}, {13, "page_not_in_lru"}, {14, "page_locked"}, {15, "page_not_anon"}, {16, "page_compound"}, {17, "no_process_for_page"}, {18, "vma_null"}, {19, "vma_check_failed"}, {20, "not_suitable_address_range"}, {21, "page_swap_cache"}, {22, "could_not_delete_page_from_lru"}, {23, "alloc_huge_page_failed"}, {24, "ccgroup_charge_failed"}, {25, "truncated"}, {26, "page_has_private"})
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/huge_memory/mm_collapse_huge_page_isolate/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/huge_memory/mm_collapse_huge_page_isolate/format
new file mode 100644
index 0000000..e18c5db
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/huge_memory/mm_collapse_huge_page_isolate/format
@@ -0,0 +1,15 @@
+name: mm_collapse_huge_page_isolate
+ID: 286
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long pfn;	offset:8;	size:8;	signed:0;
+	field:int none_or_zero;	offset:16;	size:4;	signed:1;
+	field:int referenced;	offset:20;	size:4;	signed:1;
+	field:bool writable;	offset:24;	size:1;	signed:0;
+	field:int status;	offset:28;	size:4;	signed:1;
+
+print fmt: "scan_pfn=0x%lx, none_or_zero=%d, referenced=%d, writable=%d, status=%s", REC->pfn, REC->none_or_zero, REC->referenced, REC->writable, __print_symbolic(REC->status, {0, "failed"}, {1, "succeeded"}, {2, "pmd_null"}, {3, "exceed_none_pte"}, {4, "exceed_swap_pte"}, {5, "exceed_shared_pte"}, {6, "pte_non_present"}, {7, "pte_uffd_wp"}, {8, "no_writable_page"}, {9, "lack_referenced_page"}, {10, "page_null"}, {11, "scan_aborted"}, {12, "not_suitable_page_count"}, {13, "page_not_in_lru"}, {14, "page_locked"}, {15, "page_not_anon"}, {16, "page_compound"}, {17, "no_process_for_page"}, {18, "vma_null"}, {19, "vma_check_failed"}, {20, "not_suitable_address_range"}, {21, "page_swap_cache"}, {22, "could_not_delete_page_from_lru"}, {23, "alloc_huge_page_failed"}, {24, "ccgroup_charge_failed"}, {25, "truncated"}, {26, "page_has_private"})
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/huge_memory/mm_collapse_huge_page_swapin/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/huge_memory/mm_collapse_huge_page_swapin/format
new file mode 100644
index 0000000..53c88a7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/huge_memory/mm_collapse_huge_page_swapin/format
@@ -0,0 +1,14 @@
+name: mm_collapse_huge_page_swapin
+ID: 287
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct mm_struct * mm;	offset:8;	size:8;	signed:0;
+	field:int swapped_in;	offset:16;	size:4;	signed:1;
+	field:int referenced;	offset:20;	size:4;	signed:1;
+	field:int ret;	offset:24;	size:4;	signed:1;
+
+print fmt: "mm=%p, swapped_in=%d, referenced=%d, ret=%d", REC->mm, REC->swapped_in, REC->referenced, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/huge_memory/mm_khugepaged_scan_pmd/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/huge_memory/mm_khugepaged_scan_pmd/format
new file mode 100644
index 0000000..607e026
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/huge_memory/mm_khugepaged_scan_pmd/format
@@ -0,0 +1,17 @@
+name: mm_khugepaged_scan_pmd
+ID: 288
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct mm_struct * mm;	offset:8;	size:8;	signed:0;
+	field:unsigned long pfn;	offset:16;	size:8;	signed:0;
+	field:bool writable;	offset:24;	size:1;	signed:0;
+	field:int referenced;	offset:28;	size:4;	signed:1;
+	field:int none_or_zero;	offset:32;	size:4;	signed:1;
+	field:int status;	offset:36;	size:4;	signed:1;
+	field:int unmapped;	offset:40;	size:4;	signed:1;
+
+print fmt: "mm=%p, scan_pfn=0x%lx, writable=%d, referenced=%d, none_or_zero=%d, status=%s, unmapped=%d", REC->mm, REC->pfn, REC->writable, REC->referenced, REC->none_or_zero, __print_symbolic(REC->status, {0, "failed"}, {1, "succeeded"}, {2, "pmd_null"}, {3, "exceed_none_pte"}, {4, "exceed_swap_pte"}, {5, "exceed_shared_pte"}, {6, "pte_non_present"}, {7, "pte_uffd_wp"}, {8, "no_writable_page"}, {9, "lack_referenced_page"}, {10, "page_null"}, {11, "scan_aborted"}, {12, "not_suitable_page_count"}, {13, "page_not_in_lru"}, {14, "page_locked"}, {15, "page_not_anon"}, {16, "page_compound"}, {17, "no_process_for_page"}, {18, "vma_null"}, {19, "vma_check_failed"}, {20, "not_suitable_address_range"}, {21, "page_swap_cache"}, {22, "could_not_delete_page_from_lru"}, {23, "alloc_huge_page_failed"}, {24, "ccgroup_charge_failed"}, {25, "truncated"}, {26, "page_has_private"}), REC->unmapped
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/i2c/i2c_read/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/i2c/i2c_read/format
new file mode 100644
index 0000000..33e385e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/i2c/i2c_read/format
@@ -0,0 +1,15 @@
+name: i2c_read
+ID: 834
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int adapter_nr;	offset:8;	size:4;	signed:1;
+	field:__u16 msg_nr;	offset:12;	size:2;	signed:0;
+	field:__u16 addr;	offset:14;	size:2;	signed:0;
+	field:__u16 flags;	offset:16;	size:2;	signed:0;
+	field:__u16 len;	offset:18;	size:2;	signed:0;
+
+print fmt: "i2c-%d #%u a=%03x f=%04x l=%u", REC->adapter_nr, REC->msg_nr, REC->addr, REC->flags, REC->len
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/i2c/i2c_reply/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/i2c/i2c_reply/format
new file mode 100644
index 0000000..a493fb8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/i2c/i2c_reply/format
@@ -0,0 +1,16 @@
+name: i2c_reply
+ID: 835
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int adapter_nr;	offset:8;	size:4;	signed:1;
+	field:__u16 msg_nr;	offset:12;	size:2;	signed:0;
+	field:__u16 addr;	offset:14;	size:2;	signed:0;
+	field:__u16 flags;	offset:16;	size:2;	signed:0;
+	field:__u16 len;	offset:18;	size:2;	signed:0;
+	field:__data_loc __u8[] buf;	offset:20;	size:4;	signed:0;
+
+print fmt: "i2c-%d #%u a=%03x f=%04x l=%u [%*phD]", REC->adapter_nr, REC->msg_nr, REC->addr, REC->flags, REC->len, REC->len, __get_dynamic_array(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/i2c/i2c_result/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/i2c/i2c_result/format
new file mode 100644
index 0000000..1be3de3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/i2c/i2c_result/format
@@ -0,0 +1,13 @@
+name: i2c_result
+ID: 836
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int adapter_nr;	offset:8;	size:4;	signed:1;
+	field:__u16 nr_msgs;	offset:12;	size:2;	signed:0;
+	field:__s16 ret;	offset:14;	size:2;	signed:1;
+
+print fmt: "i2c-%d n=%u ret=%d", REC->adapter_nr, REC->nr_msgs, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/i2c/i2c_write/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/i2c/i2c_write/format
new file mode 100644
index 0000000..58174e5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/i2c/i2c_write/format
@@ -0,0 +1,16 @@
+name: i2c_write
+ID: 837
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int adapter_nr;	offset:8;	size:4;	signed:1;
+	field:__u16 msg_nr;	offset:12;	size:2;	signed:0;
+	field:__u16 addr;	offset:14;	size:2;	signed:0;
+	field:__u16 flags;	offset:16;	size:2;	signed:0;
+	field:__u16 len;	offset:18;	size:2;	signed:0;
+	field:__data_loc __u8[] buf;	offset:20;	size:4;	signed:0;
+
+print fmt: "i2c-%d #%u a=%03x f=%04x l=%u [%*phD]", REC->adapter_nr, REC->msg_nr, REC->addr, REC->flags, REC->len, REC->len, __get_dynamic_array(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/initcall/initcall_finish/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/initcall/initcall_finish/format
new file mode 100644
index 0000000..17b0fba
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/initcall/initcall_finish/format
@@ -0,0 +1,12 @@
+name: initcall_finish
+ID: 17
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:initcall_t func;	offset:8;	size:8;	signed:0;
+	field:int ret;	offset:16;	size:4;	signed:1;
+
+print fmt: "func=%pS ret=%d", REC->func, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/initcall/initcall_level/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/initcall/initcall_level/format
new file mode 100644
index 0000000..63d9c88
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/initcall/initcall_level/format
@@ -0,0 +1,11 @@
+name: initcall_level
+ID: 18
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] level;	offset:8;	size:4;	signed:0;
+
+print fmt: "level=%s", __get_str(level)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/initcall/initcall_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/initcall/initcall_start/format
new file mode 100644
index 0000000..7067135
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/initcall/initcall_start/format
@@ -0,0 +1,11 @@
+name: initcall_start
+ID: 19
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:initcall_t func;	offset:8;	size:8;	signed:0;
+
+print fmt: "func=%pS", REC->func
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/interconnect/icc_set_bw/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/interconnect/icc_set_bw/format
new file mode 100644
index 0000000..024a649
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/interconnect/icc_set_bw/format
@@ -0,0 +1,17 @@
+name: icc_set_bw
+ID: 903
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] path_name;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] dev;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] node_name;	offset:16;	size:4;	signed:0;
+	field:u32 avg_bw;	offset:20;	size:4;	signed:0;
+	field:u32 peak_bw;	offset:24;	size:4;	signed:0;
+	field:u32 node_avg_bw;	offset:28;	size:4;	signed:0;
+	field:u32 node_peak_bw;	offset:32;	size:4;	signed:0;
+
+print fmt: "path=%s dev=%s node=%s avg_bw=%u peak_bw=%u agg_avg=%u agg_peak=%u", __get_str(path_name), __get_str(dev), __get_str(node_name), REC->avg_bw, REC->peak_bw, REC->node_avg_bw, REC->node_peak_bw
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/interconnect/icc_set_bw_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/interconnect/icc_set_bw_end/format
new file mode 100644
index 0000000..116c499
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/interconnect/icc_set_bw_end/format
@@ -0,0 +1,13 @@
+name: icc_set_bw_end
+ID: 904
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] path_name;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] dev;	offset:12;	size:4;	signed:0;
+	field:int ret;	offset:16;	size:4;	signed:1;
+
+print fmt: "path=%s dev=%s ret=%d", __get_str(path_name), __get_str(dev), REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_complete/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_complete/format
new file mode 100644
index 0000000..8d6ab91
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_complete/format
@@ -0,0 +1,13 @@
+name: io_uring_complete
+ID: 334
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * ctx;	offset:8;	size:8;	signed:0;
+	field:u64 user_data;	offset:16;	size:8;	signed:0;
+	field:long res;	offset:24;	size:8;	signed:1;
+
+print fmt: "ring %p, user_data 0x%llx, result %ld", REC->ctx, (unsigned long long)REC->user_data, REC->res
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_cqring_wait/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_cqring_wait/format
new file mode 100644
index 0000000..7d2dedd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_cqring_wait/format
@@ -0,0 +1,12 @@
+name: io_uring_cqring_wait
+ID: 335
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * ctx;	offset:8;	size:8;	signed:0;
+	field:int min_events;	offset:16;	size:4;	signed:1;
+
+print fmt: "ring %p, min_events %d", REC->ctx, REC->min_events
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_create/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_create/format
new file mode 100644
index 0000000..df7ce67
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_create/format
@@ -0,0 +1,15 @@
+name: io_uring_create
+ID: 336
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int fd;	offset:8;	size:4;	signed:1;
+	field:void * ctx;	offset:16;	size:8;	signed:0;
+	field:u32 sq_entries;	offset:24;	size:4;	signed:0;
+	field:u32 cq_entries;	offset:28;	size:4;	signed:0;
+	field:u32 flags;	offset:32;	size:4;	signed:0;
+
+print fmt: "ring %p, fd %d sq size %d, cq size %d, flags %d", REC->ctx, REC->fd, REC->sq_entries, REC->cq_entries, REC->flags
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_defer/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_defer/format
new file mode 100644
index 0000000..788d1e6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_defer/format
@@ -0,0 +1,13 @@
+name: io_uring_defer
+ID: 337
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * ctx;	offset:8;	size:8;	signed:0;
+	field:void * req;	offset:16;	size:8;	signed:0;
+	field:unsigned long long data;	offset:24;	size:8;	signed:0;
+
+print fmt: "ring %p, request %p user_data %llu", REC->ctx, REC->req, REC->data
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_fail_link/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_fail_link/format
new file mode 100644
index 0000000..dfd416e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_fail_link/format
@@ -0,0 +1,12 @@
+name: io_uring_fail_link
+ID: 338
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * req;	offset:8;	size:8;	signed:0;
+	field:void * link;	offset:16;	size:8;	signed:0;
+
+print fmt: "request %p, link %p", REC->req, REC->link
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_file_get/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_file_get/format
new file mode 100644
index 0000000..1aca74a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_file_get/format
@@ -0,0 +1,12 @@
+name: io_uring_file_get
+ID: 339
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * ctx;	offset:8;	size:8;	signed:0;
+	field:int fd;	offset:16;	size:4;	signed:1;
+
+print fmt: "ring %p, fd %d", REC->ctx, REC->fd
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_link/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_link/format
new file mode 100644
index 0000000..8c7f7cd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_link/format
@@ -0,0 +1,13 @@
+name: io_uring_link
+ID: 340
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * ctx;	offset:8;	size:8;	signed:0;
+	field:void * req;	offset:16;	size:8;	signed:0;
+	field:void * target_req;	offset:24;	size:8;	signed:0;
+
+print fmt: "ring %p, request %p linked after %p", REC->ctx, REC->req, REC->target_req
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_poll_arm/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_poll_arm/format
new file mode 100644
index 0000000..5829c6f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_poll_arm/format
@@ -0,0 +1,15 @@
+name: io_uring_poll_arm
+ID: 341
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * ctx;	offset:8;	size:8;	signed:0;
+	field:u8 opcode;	offset:16;	size:1;	signed:0;
+	field:u64 user_data;	offset:24;	size:8;	signed:0;
+	field:int mask;	offset:32;	size:4;	signed:1;
+	field:int events;	offset:36;	size:4;	signed:1;
+
+print fmt: "ring %p, op %d, data 0x%llx, mask 0x%x, events 0x%x", REC->ctx, REC->opcode, (unsigned long long) REC->user_data, REC->mask, REC->events
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_poll_wake/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_poll_wake/format
new file mode 100644
index 0000000..f522d48
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_poll_wake/format
@@ -0,0 +1,14 @@
+name: io_uring_poll_wake
+ID: 342
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * ctx;	offset:8;	size:8;	signed:0;
+	field:u8 opcode;	offset:16;	size:1;	signed:0;
+	field:u64 user_data;	offset:24;	size:8;	signed:0;
+	field:int mask;	offset:32;	size:4;	signed:1;
+
+print fmt: "ring %p, op %d, data 0x%llx, mask 0x%x", REC->ctx, REC->opcode, (unsigned long long) REC->user_data, REC->mask
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_queue_async_work/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_queue_async_work/format
new file mode 100644
index 0000000..58b681d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_queue_async_work/format
@@ -0,0 +1,15 @@
+name: io_uring_queue_async_work
+ID: 343
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * ctx;	offset:8;	size:8;	signed:0;
+	field:int rw;	offset:16;	size:4;	signed:1;
+	field:void * req;	offset:24;	size:8;	signed:0;
+	field:struct io_wq_work * work;	offset:32;	size:8;	signed:0;
+	field:unsigned int flags;	offset:40;	size:4;	signed:0;
+
+print fmt: "ring %p, request %p, flags %d, %s queue, work %p", REC->ctx, REC->req, REC->flags, REC->rw ? "hashed" : "normal", REC->work
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_register/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_register/format
new file mode 100644
index 0000000..232d408
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_register/format
@@ -0,0 +1,16 @@
+name: io_uring_register
+ID: 344
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * ctx;	offset:8;	size:8;	signed:0;
+	field:unsigned opcode;	offset:16;	size:4;	signed:0;
+	field:unsigned nr_files;	offset:20;	size:4;	signed:0;
+	field:unsigned nr_bufs;	offset:24;	size:4;	signed:0;
+	field:bool eventfd;	offset:28;	size:1;	signed:0;
+	field:long ret;	offset:32;	size:8;	signed:1;
+
+print fmt: "ring %p, opcode %d, nr_user_files %d, nr_user_bufs %d, eventfd %d, ret %ld", REC->ctx, REC->opcode, REC->nr_files, REC->nr_bufs, REC->eventfd, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_submit_sqe/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_submit_sqe/format
new file mode 100644
index 0000000..f15f129
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_submit_sqe/format
@@ -0,0 +1,15 @@
+name: io_uring_submit_sqe
+ID: 345
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * ctx;	offset:8;	size:8;	signed:0;
+	field:u8 opcode;	offset:16;	size:1;	signed:0;
+	field:u64 user_data;	offset:24;	size:8;	signed:0;
+	field:bool force_nonblock;	offset:32;	size:1;	signed:0;
+	field:bool sq_thread;	offset:33;	size:1;	signed:0;
+
+print fmt: "ring %p, op %d, data 0x%llx, non block %d, sq_thread %d", REC->ctx, REC->opcode, (unsigned long long) REC->user_data, REC->force_nonblock, REC->sq_thread
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_task_add/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_task_add/format
new file mode 100644
index 0000000..0a53975
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_task_add/format
@@ -0,0 +1,14 @@
+name: io_uring_task_add
+ID: 346
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * ctx;	offset:8;	size:8;	signed:0;
+	field:u8 opcode;	offset:16;	size:1;	signed:0;
+	field:u64 user_data;	offset:24;	size:8;	signed:0;
+	field:int mask;	offset:32;	size:4;	signed:1;
+
+print fmt: "ring %p, op %d, data 0x%llx, mask %x", REC->ctx, REC->opcode, (unsigned long long) REC->user_data, REC->mask
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_task_run/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_task_run/format
new file mode 100644
index 0000000..af38487
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/io_uring/io_uring_task_run/format
@@ -0,0 +1,13 @@
+name: io_uring_task_run
+ID: 347
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * ctx;	offset:8;	size:8;	signed:0;
+	field:u8 opcode;	offset:16;	size:1;	signed:0;
+	field:u64 user_data;	offset:24;	size:8;	signed:0;
+
+print fmt: "ring %p, op %d, data 0x%llx", REC->ctx, REC->opcode, (unsigned long long) REC->user_data
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iocost/iocost_inuse_adjust/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iocost/iocost_inuse_adjust/format
new file mode 100644
index 0000000..506aef3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iocost/iocost_inuse_adjust/format
@@ -0,0 +1,17 @@
+name: iocost_inuse_adjust
+ID: 604
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] devname;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] cgroup;	offset:12;	size:4;	signed:0;
+	field:u64 now;	offset:16;	size:8;	signed:0;
+	field:u32 old_inuse;	offset:24;	size:4;	signed:0;
+	field:u32 new_inuse;	offset:28;	size:4;	signed:0;
+	field:u64 old_hweight_inuse;	offset:32;	size:8;	signed:0;
+	field:u64 new_hweight_inuse;	offset:40;	size:8;	signed:0;
+
+print fmt: "[%s:%s] now=%llu inuse=%u->%u hw_inuse=%llu->%llu", __get_str(devname), __get_str(cgroup), REC->now, REC->old_inuse, REC->new_inuse, REC->old_hweight_inuse, REC->new_hweight_inuse
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iocost/iocost_inuse_shortage/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iocost/iocost_inuse_shortage/format
new file mode 100644
index 0000000..c06c5bd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iocost/iocost_inuse_shortage/format
@@ -0,0 +1,17 @@
+name: iocost_inuse_shortage
+ID: 605
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] devname;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] cgroup;	offset:12;	size:4;	signed:0;
+	field:u64 now;	offset:16;	size:8;	signed:0;
+	field:u32 old_inuse;	offset:24;	size:4;	signed:0;
+	field:u32 new_inuse;	offset:28;	size:4;	signed:0;
+	field:u64 old_hweight_inuse;	offset:32;	size:8;	signed:0;
+	field:u64 new_hweight_inuse;	offset:40;	size:8;	signed:0;
+
+print fmt: "[%s:%s] now=%llu inuse=%u->%u hw_inuse=%llu->%llu", __get_str(devname), __get_str(cgroup), REC->now, REC->old_inuse, REC->new_inuse, REC->old_hweight_inuse, REC->new_hweight_inuse
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iocost/iocost_inuse_transfer/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iocost/iocost_inuse_transfer/format
new file mode 100644
index 0000000..123e8dd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iocost/iocost_inuse_transfer/format
@@ -0,0 +1,17 @@
+name: iocost_inuse_transfer
+ID: 606
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] devname;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] cgroup;	offset:12;	size:4;	signed:0;
+	field:u64 now;	offset:16;	size:8;	signed:0;
+	field:u32 old_inuse;	offset:24;	size:4;	signed:0;
+	field:u32 new_inuse;	offset:28;	size:4;	signed:0;
+	field:u64 old_hweight_inuse;	offset:32;	size:8;	signed:0;
+	field:u64 new_hweight_inuse;	offset:40;	size:8;	signed:0;
+
+print fmt: "[%s:%s] now=%llu inuse=%u->%u hw_inuse=%llu->%llu", __get_str(devname), __get_str(cgroup), REC->now, REC->old_inuse, REC->new_inuse, REC->old_hweight_inuse, REC->new_hweight_inuse
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iocost/iocost_ioc_vrate_adj/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iocost/iocost_ioc_vrate_adj/format
new file mode 100644
index 0000000..e6f487c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iocost/iocost_ioc_vrate_adj/format
@@ -0,0 +1,19 @@
+name: iocost_ioc_vrate_adj
+ID: 607
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] devname;	offset:8;	size:4;	signed:0;
+	field:u64 old_vrate;	offset:16;	size:8;	signed:0;
+	field:u64 new_vrate;	offset:24;	size:8;	signed:0;
+	field:int busy_level;	offset:32;	size:4;	signed:1;
+	field:u32 read_missed_ppm;	offset:36;	size:4;	signed:0;
+	field:u32 write_missed_ppm;	offset:40;	size:4;	signed:0;
+	field:u32 rq_wait_pct;	offset:44;	size:4;	signed:0;
+	field:int nr_lagging;	offset:48;	size:4;	signed:1;
+	field:int nr_shortages;	offset:52;	size:4;	signed:1;
+
+print fmt: "[%s] vrate=%llu->%llu busy=%d missed_ppm=%u:%u rq_wait_pct=%u lagging=%d shortages=%d", __get_str(devname), REC->old_vrate, REC->new_vrate, REC->busy_level, REC->read_missed_ppm, REC->write_missed_ppm, REC->rq_wait_pct, REC->nr_lagging, REC->nr_shortages
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iocost/iocost_iocg_activate/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iocost/iocost_iocg_activate/format
new file mode 100644
index 0000000..e77c0f3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iocost/iocost_iocg_activate/format
@@ -0,0 +1,22 @@
+name: iocost_iocg_activate
+ID: 608
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] devname;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] cgroup;	offset:12;	size:4;	signed:0;
+	field:u64 now;	offset:16;	size:8;	signed:0;
+	field:u64 vnow;	offset:24;	size:8;	signed:0;
+	field:u64 vrate;	offset:32;	size:8;	signed:0;
+	field:u64 last_period;	offset:40;	size:8;	signed:0;
+	field:u64 cur_period;	offset:48;	size:8;	signed:0;
+	field:u64 vtime;	offset:56;	size:8;	signed:0;
+	field:u32 weight;	offset:64;	size:4;	signed:0;
+	field:u32 inuse;	offset:68;	size:4;	signed:0;
+	field:u64 hweight_active;	offset:72;	size:8;	signed:0;
+	field:u64 hweight_inuse;	offset:80;	size:8;	signed:0;
+
+print fmt: "[%s:%s] now=%llu:%llu vrate=%llu period=%llu->%llu vtime=%llu weight=%u/%u hweight=%llu/%llu", __get_str(devname), __get_str(cgroup), REC->now, REC->vnow, REC->vrate, REC->last_period, REC->cur_period, REC->vtime, REC->inuse, REC->weight, REC->hweight_inuse, REC->hweight_active
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iocost/iocost_iocg_forgive_debt/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iocost/iocost_iocg_forgive_debt/format
new file mode 100644
index 0000000..0840790
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iocost/iocost_iocg_forgive_debt/format
@@ -0,0 +1,19 @@
+name: iocost_iocg_forgive_debt
+ID: 609
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] devname;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] cgroup;	offset:12;	size:4;	signed:0;
+	field:u64 now;	offset:16;	size:8;	signed:0;
+	field:u64 vnow;	offset:24;	size:8;	signed:0;
+	field:u32 usage_pct;	offset:32;	size:4;	signed:0;
+	field:u64 old_debt;	offset:40;	size:8;	signed:0;
+	field:u64 new_debt;	offset:48;	size:8;	signed:0;
+	field:u64 old_delay;	offset:56;	size:8;	signed:0;
+	field:u64 new_delay;	offset:64;	size:8;	signed:0;
+
+print fmt: "[%s:%s] now=%llu:%llu usage=%u debt=%llu->%llu delay=%llu->%llu", __get_str(devname), __get_str(cgroup), REC->now, REC->vnow, REC->usage_pct, REC->old_debt, REC->new_debt, REC->old_delay, REC->new_delay
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iomap/iomap_apply/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iomap/iomap_apply/format
new file mode 100644
index 0000000..38496d9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iomap/iomap_apply/format
@@ -0,0 +1,18 @@
+name: iomap_apply
+ID: 360
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:u64 ino;	offset:16;	size:8;	signed:0;
+	field:loff_t pos;	offset:24;	size:8;	signed:1;
+	field:loff_t length;	offset:32;	size:8;	signed:1;
+	field:unsigned int flags;	offset:40;	size:4;	signed:0;
+	field:const void * ops;	offset:48;	size:8;	signed:0;
+	field:void * actor;	offset:56;	size:8;	signed:0;
+	field:unsigned long caller;	offset:64;	size:8;	signed:0;
+
+print fmt: "dev %d:%d ino 0x%llx pos %lld length %lld flags %s (0x%x) ops %ps caller %pS actor %ps", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->ino, REC->pos, REC->length, __print_flags(REC->flags, "|", { (1 << 0), "WRITE" }, { (1 << 1), "ZERO" }, { (1 << 2), "REPORT" }, { (1 << 3), "FAULT" }, { (1 << 4), "DIRECT" }, { (1 << 5), "NOWAIT" }), REC->flags, REC->ops, (void *)REC->caller, REC->actor
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iomap/iomap_apply_dstmap/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iomap/iomap_apply_dstmap/format
new file mode 100644
index 0000000..b102552
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iomap/iomap_apply_dstmap/format
@@ -0,0 +1,18 @@
+name: iomap_apply_dstmap
+ID: 361
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:u64 ino;	offset:16;	size:8;	signed:0;
+	field:u64 addr;	offset:24;	size:8;	signed:0;
+	field:loff_t offset;	offset:32;	size:8;	signed:1;
+	field:u64 length;	offset:40;	size:8;	signed:0;
+	field:u16 type;	offset:48;	size:2;	signed:0;
+	field:u16 flags;	offset:50;	size:2;	signed:0;
+	field:dev_t bdev;	offset:52;	size:4;	signed:0;
+
+print fmt: "dev %d:%d ino 0x%llx bdev %d:%d addr %lld offset %lld length %llu type %s flags %s", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->ino, ((unsigned int) ((REC->bdev) >> 20)), ((unsigned int) ((REC->bdev) & ((1U << 20) - 1))), REC->addr, REC->offset, REC->length, __print_symbolic(REC->type, { 0, "HOLE" }, { 1, "DELALLOC" }, { 2, "MAPPED" }, { 3, "UNWRITTEN" }, { 4, "INLINE" }), __print_flags(REC->flags, "|", { 0x01, "NEW" }, { 0x02, "DIRTY" }, { 0x04, "SHARED" }, { 0x08, "MERGED" }, { 0x10, "BH" }, { 0x100, "SIZE_CHANGED" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iomap/iomap_apply_srcmap/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iomap/iomap_apply_srcmap/format
new file mode 100644
index 0000000..7b36651
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iomap/iomap_apply_srcmap/format
@@ -0,0 +1,18 @@
+name: iomap_apply_srcmap
+ID: 362
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:u64 ino;	offset:16;	size:8;	signed:0;
+	field:u64 addr;	offset:24;	size:8;	signed:0;
+	field:loff_t offset;	offset:32;	size:8;	signed:1;
+	field:u64 length;	offset:40;	size:8;	signed:0;
+	field:u16 type;	offset:48;	size:2;	signed:0;
+	field:u16 flags;	offset:50;	size:2;	signed:0;
+	field:dev_t bdev;	offset:52;	size:4;	signed:0;
+
+print fmt: "dev %d:%d ino 0x%llx bdev %d:%d addr %lld offset %lld length %llu type %s flags %s", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->ino, ((unsigned int) ((REC->bdev) >> 20)), ((unsigned int) ((REC->bdev) & ((1U << 20) - 1))), REC->addr, REC->offset, REC->length, __print_symbolic(REC->type, { 0, "HOLE" }, { 1, "DELALLOC" }, { 2, "MAPPED" }, { 3, "UNWRITTEN" }, { 4, "INLINE" }), __print_flags(REC->flags, "|", { 0x01, "NEW" }, { 0x02, "DIRTY" }, { 0x04, "SHARED" }, { 0x08, "MERGED" }, { 0x10, "BH" }, { 0x100, "SIZE_CHANGED" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iomap/iomap_dio_invalidate_fail/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iomap/iomap_dio_invalidate_fail/format
new file mode 100644
index 0000000..84f0187
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iomap/iomap_dio_invalidate_fail/format
@@ -0,0 +1,15 @@
+name: iomap_dio_invalidate_fail
+ID: 363
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:u64 ino;	offset:16;	size:8;	signed:0;
+	field:loff_t size;	offset:24;	size:8;	signed:1;
+	field:unsigned long offset;	offset:32;	size:8;	signed:0;
+	field:unsigned int length;	offset:40;	size:4;	signed:0;
+
+print fmt: "dev %d:%d ino 0x%llx size 0x%llx offset %lx length %x", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->ino, REC->size, REC->offset, REC->length
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iomap/iomap_invalidatepage/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iomap/iomap_invalidatepage/format
new file mode 100644
index 0000000..e03b304
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iomap/iomap_invalidatepage/format
@@ -0,0 +1,15 @@
+name: iomap_invalidatepage
+ID: 364
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:u64 ino;	offset:16;	size:8;	signed:0;
+	field:loff_t size;	offset:24;	size:8;	signed:1;
+	field:unsigned long offset;	offset:32;	size:8;	signed:0;
+	field:unsigned int length;	offset:40;	size:4;	signed:0;
+
+print fmt: "dev %d:%d ino 0x%llx size 0x%llx offset %lx length %x", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->ino, REC->size, REC->offset, REC->length
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iomap/iomap_readahead/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iomap/iomap_readahead/format
new file mode 100644
index 0000000..09a77a0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iomap/iomap_readahead/format
@@ -0,0 +1,13 @@
+name: iomap_readahead
+ID: 365
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:u64 ino;	offset:16;	size:8;	signed:0;
+	field:int nr_pages;	offset:24;	size:4;	signed:1;
+
+print fmt: "dev %d:%d ino 0x%llx nr_pages %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->ino, REC->nr_pages
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iomap/iomap_readpage/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iomap/iomap_readpage/format
new file mode 100644
index 0000000..2734bf5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iomap/iomap_readpage/format
@@ -0,0 +1,13 @@
+name: iomap_readpage
+ID: 366
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:u64 ino;	offset:16;	size:8;	signed:0;
+	field:int nr_pages;	offset:24;	size:4;	signed:1;
+
+print fmt: "dev %d:%d ino 0x%llx nr_pages %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->ino, REC->nr_pages
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iomap/iomap_releasepage/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iomap/iomap_releasepage/format
new file mode 100644
index 0000000..691c498
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iomap/iomap_releasepage/format
@@ -0,0 +1,15 @@
+name: iomap_releasepage
+ID: 367
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:u64 ino;	offset:16;	size:8;	signed:0;
+	field:loff_t size;	offset:24;	size:8;	signed:1;
+	field:unsigned long offset;	offset:32;	size:8;	signed:0;
+	field:unsigned int length;	offset:40;	size:4;	signed:0;
+
+print fmt: "dev %d:%d ino 0x%llx size 0x%llx offset %lx length %x", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->ino, REC->size, REC->offset, REC->length
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iomap/iomap_writepage/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iomap/iomap_writepage/format
new file mode 100644
index 0000000..0ec7eb3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iomap/iomap_writepage/format
@@ -0,0 +1,15 @@
+name: iomap_writepage
+ID: 368
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:u64 ino;	offset:16;	size:8;	signed:0;
+	field:loff_t size;	offset:24;	size:8;	signed:1;
+	field:unsigned long offset;	offset:32;	size:8;	signed:0;
+	field:unsigned int length;	offset:40;	size:4;	signed:0;
+
+print fmt: "dev %d:%d ino 0x%llx size 0x%llx offset %lx length %x", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->ino, REC->size, REC->offset, REC->length
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iommu/add_device_to_group/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iommu/add_device_to_group/format
new file mode 100644
index 0000000..abf9d56
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iommu/add_device_to_group/format
@@ -0,0 +1,12 @@
+name: add_device_to_group
+ID: 660
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int gid;	offset:8;	size:4;	signed:1;
+	field:__data_loc char[] device;	offset:12;	size:4;	signed:0;
+
+print fmt: "IOMMU: groupID=%d device=%s", REC->gid, __get_str(device)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iommu/attach_device_to_domain/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iommu/attach_device_to_domain/format
new file mode 100644
index 0000000..edced81
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iommu/attach_device_to_domain/format
@@ -0,0 +1,11 @@
+name: attach_device_to_domain
+ID: 661
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] device;	offset:8;	size:4;	signed:0;
+
+print fmt: "IOMMU: device=%s", __get_str(device)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iommu/detach_device_from_domain/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iommu/detach_device_from_domain/format
new file mode 100644
index 0000000..7e85dc7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iommu/detach_device_from_domain/format
@@ -0,0 +1,11 @@
+name: detach_device_from_domain
+ID: 662
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] device;	offset:8;	size:4;	signed:0;
+
+print fmt: "IOMMU: device=%s", __get_str(device)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iommu/io_page_fault/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iommu/io_page_fault/format
new file mode 100644
index 0000000..e14dc49
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iommu/io_page_fault/format
@@ -0,0 +1,14 @@
+name: io_page_fault
+ID: 663
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] device;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] driver;	offset:12;	size:4;	signed:0;
+	field:u64 iova;	offset:16;	size:8;	signed:0;
+	field:int flags;	offset:24;	size:4;	signed:1;
+
+print fmt: "IOMMU:%s %s iova=0x%016llx flags=0x%04x", __get_str(driver), __get_str(device), REC->iova, REC->flags
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iommu/map/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iommu/map/format
new file mode 100644
index 0000000..c290ee1
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iommu/map/format
@@ -0,0 +1,13 @@
+name: map
+ID: 664
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u64 iova;	offset:8;	size:8;	signed:0;
+	field:u64 paddr;	offset:16;	size:8;	signed:0;
+	field:size_t size;	offset:24;	size:8;	signed:0;
+
+print fmt: "IOMMU: iova=0x%016llx paddr=0x%016llx size=%zu", REC->iova, REC->paddr, REC->size
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iommu/remove_device_from_group/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iommu/remove_device_from_group/format
new file mode 100644
index 0000000..b873fc0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iommu/remove_device_from_group/format
@@ -0,0 +1,12 @@
+name: remove_device_from_group
+ID: 665
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int gid;	offset:8;	size:4;	signed:1;
+	field:__data_loc char[] device;	offset:12;	size:4;	signed:0;
+
+print fmt: "IOMMU: groupID=%d device=%s", REC->gid, __get_str(device)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iommu/unmap/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iommu/unmap/format
new file mode 100644
index 0000000..7d2ebd1
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/iommu/unmap/format
@@ -0,0 +1,13 @@
+name: unmap
+ID: 666
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u64 iova;	offset:8;	size:8;	signed:0;
+	field:size_t size;	offset:16;	size:8;	signed:0;
+	field:size_t unmapped_size;	offset:24;	size:8;	signed:0;
+
+print fmt: "IOMMU: iova=0x%016llx size=%zu unmapped_size=%zu", REC->iova, REC->size, REC->unmapped_size
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ipi/ipi_entry/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ipi/ipi_entry/format
new file mode 100644
index 0000000..688c9c3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ipi/ipi_entry/format
@@ -0,0 +1,11 @@
+name: ipi_entry
+ID: 22
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * reason;	offset:8;	size:8;	signed:0;
+
+print fmt: "(%s)", REC->reason
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ipi/ipi_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ipi/ipi_exit/format
new file mode 100644
index 0000000..918af8f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ipi/ipi_exit/format
@@ -0,0 +1,11 @@
+name: ipi_exit
+ID: 23
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * reason;	offset:8;	size:8;	signed:0;
+
+print fmt: "(%s)", REC->reason
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ipi/ipi_raise/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ipi/ipi_raise/format
new file mode 100644
index 0000000..4c7689f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ipi/ipi_raise/format
@@ -0,0 +1,12 @@
+name: ipi_raise
+ID: 24
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc unsigned long[] target_cpus;	offset:8;	size:4;	signed:0;
+	field:const char * reason;	offset:16;	size:8;	signed:0;
+
+print fmt: "target_mask=%s (%s)", __get_bitmask(target_cpus), REC->reason
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/irq/irq_handler_entry/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/irq/irq_handler_entry/format
new file mode 100644
index 0000000..12c2376
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/irq/irq_handler_entry/format
@@ -0,0 +1,12 @@
+name: irq_handler_entry
+ID: 69
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int irq;	offset:8;	size:4;	signed:1;
+	field:__data_loc char[] name;	offset:12;	size:4;	signed:0;
+
+print fmt: "irq=%d name=%s", REC->irq, __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/irq/irq_handler_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/irq/irq_handler_exit/format
new file mode 100644
index 0000000..aff6f13
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/irq/irq_handler_exit/format
@@ -0,0 +1,12 @@
+name: irq_handler_exit
+ID: 70
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int irq;	offset:8;	size:4;	signed:1;
+	field:int ret;	offset:12;	size:4;	signed:1;
+
+print fmt: "irq=%d ret=%s", REC->irq, REC->ret ? "handled" : "unhandled"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/irq/softirq_entry/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/irq/softirq_entry/format
new file mode 100644
index 0000000..94033fd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/irq/softirq_entry/format
@@ -0,0 +1,11 @@
+name: softirq_entry
+ID: 71
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int vec;	offset:8;	size:4;	signed:0;
+
+print fmt: "vec=%u [action=%s]", REC->vec, __print_symbolic(REC->vec, { 0, "HI" }, { 1, "TIMER" }, { 2, "NET_TX" }, { 3, "NET_RX" }, { 4, "BLOCK" }, { 5, "IRQ_POLL" }, { 6, "TASKLET" }, { 7, "SCHED" }, { 8, "HRTIMER" }, { 9, "RCU" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/irq/softirq_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/irq/softirq_exit/format
new file mode 100644
index 0000000..fad7a3e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/irq/softirq_exit/format
@@ -0,0 +1,11 @@
+name: softirq_exit
+ID: 72
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int vec;	offset:8;	size:4;	signed:0;
+
+print fmt: "vec=%u [action=%s]", REC->vec, __print_symbolic(REC->vec, { 0, "HI" }, { 1, "TIMER" }, { 2, "NET_TX" }, { 3, "NET_RX" }, { 4, "BLOCK" }, { 5, "IRQ_POLL" }, { 6, "TASKLET" }, { 7, "SCHED" }, { 8, "HRTIMER" }, { 9, "RCU" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/irq/softirq_raise/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/irq/softirq_raise/format
new file mode 100644
index 0000000..11e878a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/irq/softirq_raise/format
@@ -0,0 +1,11 @@
+name: softirq_raise
+ID: 73
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int vec;	offset:8;	size:4;	signed:0;
+
+print fmt: "vec=%u [action=%s]", REC->vec, __print_symbolic(REC->vec, { 0, "HI" }, { 1, "TIMER" }, { 2, "NET_TX" }, { 3, "NET_RX" }, { 4, "BLOCK" }, { 5, "IRQ_POLL" }, { 6, "TASKLET" }, { 7, "SCHED" }, { 8, "HRTIMER" }, { 9, "RCU" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/irq/tasklet_entry/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/irq/tasklet_entry/format
new file mode 100644
index 0000000..f81b50d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/irq/tasklet_entry/format
@@ -0,0 +1,11 @@
+name: tasklet_entry
+ID: 74
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * func;	offset:8;	size:8;	signed:0;
+
+print fmt: "function=%ps", REC->func
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/irq/tasklet_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/irq/tasklet_exit/format
new file mode 100644
index 0000000..79ad8c8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/irq/tasklet_exit/format
@@ -0,0 +1,11 @@
+name: tasklet_exit
+ID: 75
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * func;	offset:8;	size:8;	signed:0;
+
+print fmt: "function=%ps", REC->func
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/irq/tasklet_hi_entry/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/irq/tasklet_hi_entry/format
new file mode 100644
index 0000000..91e701f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/irq/tasklet_hi_entry/format
@@ -0,0 +1,11 @@
+name: tasklet_hi_entry
+ID: 76
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * func;	offset:8;	size:8;	signed:0;
+
+print fmt: "function=%ps", REC->func
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/irq/tasklet_hi_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/irq/tasklet_hi_exit/format
new file mode 100644
index 0000000..7b946fe
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/irq/tasklet_hi_exit/format
@@ -0,0 +1,11 @@
+name: tasklet_hi_exit
+ID: 77
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * func;	offset:8;	size:8;	signed:0;
+
+print fmt: "function=%ps", REC->func
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_checkpoint/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_checkpoint/format
new file mode 100644
index 0000000..11eb401
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_checkpoint/format
@@ -0,0 +1,12 @@
+name: jbd2_checkpoint
+ID: 486
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:int result;	offset:12;	size:4;	signed:1;
+
+print fmt: "dev %d,%d result %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->result
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_checkpoint_stats/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_checkpoint_stats/format
new file mode 100644
index 0000000..7fd091e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_checkpoint_stats/format
@@ -0,0 +1,16 @@
+name: jbd2_checkpoint_stats
+ID: 487
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:unsigned long tid;	offset:16;	size:8;	signed:0;
+	field:unsigned long chp_time;	offset:24;	size:8;	signed:0;
+	field:__u32 forced_to_close;	offset:32;	size:4;	signed:0;
+	field:__u32 written;	offset:36;	size:4;	signed:0;
+	field:__u32 dropped;	offset:40;	size:4;	signed:0;
+
+print fmt: "dev %d,%d tid %lu chp_time %u forced_to_close %u written %u dropped %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->tid, jiffies_to_msecs(REC->chp_time), REC->forced_to_close, REC->written, REC->dropped
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_commit_flushing/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_commit_flushing/format
new file mode 100644
index 0000000..4560199
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_commit_flushing/format
@@ -0,0 +1,13 @@
+name: jbd2_commit_flushing
+ID: 488
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:char sync_commit;	offset:12;	size:1;	signed:0;
+	field:int transaction;	offset:16;	size:4;	signed:1;
+
+print fmt: "dev %d,%d transaction %d sync %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->transaction, REC->sync_commit
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_commit_locking/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_commit_locking/format
new file mode 100644
index 0000000..3608655
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_commit_locking/format
@@ -0,0 +1,13 @@
+name: jbd2_commit_locking
+ID: 489
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:char sync_commit;	offset:12;	size:1;	signed:0;
+	field:int transaction;	offset:16;	size:4;	signed:1;
+
+print fmt: "dev %d,%d transaction %d sync %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->transaction, REC->sync_commit
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_commit_logging/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_commit_logging/format
new file mode 100644
index 0000000..92ad720
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_commit_logging/format
@@ -0,0 +1,13 @@
+name: jbd2_commit_logging
+ID: 490
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:char sync_commit;	offset:12;	size:1;	signed:0;
+	field:int transaction;	offset:16;	size:4;	signed:1;
+
+print fmt: "dev %d,%d transaction %d sync %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->transaction, REC->sync_commit
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_drop_transaction/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_drop_transaction/format
new file mode 100644
index 0000000..fdca1fc
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_drop_transaction/format
@@ -0,0 +1,13 @@
+name: jbd2_drop_transaction
+ID: 491
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:char sync_commit;	offset:12;	size:1;	signed:0;
+	field:int transaction;	offset:16;	size:4;	signed:1;
+
+print fmt: "dev %d,%d transaction %d sync %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->transaction, REC->sync_commit
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_end_commit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_end_commit/format
new file mode 100644
index 0000000..b97c64e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_end_commit/format
@@ -0,0 +1,14 @@
+name: jbd2_end_commit
+ID: 492
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:char sync_commit;	offset:12;	size:1;	signed:0;
+	field:int transaction;	offset:16;	size:4;	signed:1;
+	field:int head;	offset:20;	size:4;	signed:1;
+
+print fmt: "dev %d,%d transaction %d sync %d head %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->transaction, REC->sync_commit, REC->head
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_handle_extend/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_handle_extend/format
new file mode 100644
index 0000000..f182b02
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_handle_extend/format
@@ -0,0 +1,16 @@
+name: jbd2_handle_extend
+ID: 493
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:unsigned long tid;	offset:16;	size:8;	signed:0;
+	field:unsigned int type;	offset:24;	size:4;	signed:0;
+	field:unsigned int line_no;	offset:28;	size:4;	signed:0;
+	field:int buffer_credits;	offset:32;	size:4;	signed:1;
+	field:int requested_blocks;	offset:36;	size:4;	signed:1;
+
+print fmt: "dev %d,%d tid %lu type %u line_no %u buffer_credits %d requested_blocks %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->tid, REC->type, REC->line_no, REC->buffer_credits, REC->requested_blocks
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_handle_restart/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_handle_restart/format
new file mode 100644
index 0000000..2733262
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_handle_restart/format
@@ -0,0 +1,15 @@
+name: jbd2_handle_restart
+ID: 494
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:unsigned long tid;	offset:16;	size:8;	signed:0;
+	field:unsigned int type;	offset:24;	size:4;	signed:0;
+	field:unsigned int line_no;	offset:28;	size:4;	signed:0;
+	field:int requested_blocks;	offset:32;	size:4;	signed:1;
+
+print fmt: "dev %d,%d tid %lu type %u line_no %u requested_blocks %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->tid, REC->type, REC->line_no, REC->requested_blocks
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_handle_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_handle_start/format
new file mode 100644
index 0000000..63b2976
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_handle_start/format
@@ -0,0 +1,15 @@
+name: jbd2_handle_start
+ID: 495
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:unsigned long tid;	offset:16;	size:8;	signed:0;
+	field:unsigned int type;	offset:24;	size:4;	signed:0;
+	field:unsigned int line_no;	offset:28;	size:4;	signed:0;
+	field:int requested_blocks;	offset:32;	size:4;	signed:1;
+
+print fmt: "dev %d,%d tid %lu type %u line_no %u requested_blocks %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->tid, REC->type, REC->line_no, REC->requested_blocks
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_handle_stats/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_handle_stats/format
new file mode 100644
index 0000000..718d154
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_handle_stats/format
@@ -0,0 +1,18 @@
+name: jbd2_handle_stats
+ID: 496
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:unsigned long tid;	offset:16;	size:8;	signed:0;
+	field:unsigned int type;	offset:24;	size:4;	signed:0;
+	field:unsigned int line_no;	offset:28;	size:4;	signed:0;
+	field:int interval;	offset:32;	size:4;	signed:1;
+	field:int sync;	offset:36;	size:4;	signed:1;
+	field:int requested_blocks;	offset:40;	size:4;	signed:1;
+	field:int dirtied_blocks;	offset:44;	size:4;	signed:1;
+
+print fmt: "dev %d,%d tid %lu type %u line_no %u interval %d sync %d requested_blocks %d dirtied_blocks %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->tid, REC->type, REC->line_no, REC->interval, REC->sync, REC->requested_blocks, REC->dirtied_blocks
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_lock_buffer_stall/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_lock_buffer_stall/format
new file mode 100644
index 0000000..03c50e7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_lock_buffer_stall/format
@@ -0,0 +1,12 @@
+name: jbd2_lock_buffer_stall
+ID: 497
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:unsigned long stall_ms;	offset:16;	size:8;	signed:0;
+
+print fmt: "dev %d,%d stall_ms %lu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->stall_ms
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_run_stats/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_run_stats/format
new file mode 100644
index 0000000..ef50ba8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_run_stats/format
@@ -0,0 +1,21 @@
+name: jbd2_run_stats
+ID: 498
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:unsigned long tid;	offset:16;	size:8;	signed:0;
+	field:unsigned long wait;	offset:24;	size:8;	signed:0;
+	field:unsigned long request_delay;	offset:32;	size:8;	signed:0;
+	field:unsigned long running;	offset:40;	size:8;	signed:0;
+	field:unsigned long locked;	offset:48;	size:8;	signed:0;
+	field:unsigned long flushing;	offset:56;	size:8;	signed:0;
+	field:unsigned long logging;	offset:64;	size:8;	signed:0;
+	field:__u32 handle_count;	offset:72;	size:4;	signed:0;
+	field:__u32 blocks;	offset:76;	size:4;	signed:0;
+	field:__u32 blocks_logged;	offset:80;	size:4;	signed:0;
+
+print fmt: "dev %d,%d tid %lu wait %u request_delay %u running %u locked %u flushing %u logging %u handle_count %u blocks %u blocks_logged %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->tid, jiffies_to_msecs(REC->wait), jiffies_to_msecs(REC->request_delay), jiffies_to_msecs(REC->running), jiffies_to_msecs(REC->locked), jiffies_to_msecs(REC->flushing), jiffies_to_msecs(REC->logging), REC->handle_count, REC->blocks, REC->blocks_logged
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_start_commit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_start_commit/format
new file mode 100644
index 0000000..c8f41f6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_start_commit/format
@@ -0,0 +1,13 @@
+name: jbd2_start_commit
+ID: 499
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:char sync_commit;	offset:12;	size:1;	signed:0;
+	field:int transaction;	offset:16;	size:4;	signed:1;
+
+print fmt: "dev %d,%d transaction %d sync %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->transaction, REC->sync_commit
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_submit_inode_data/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_submit_inode_data/format
new file mode 100644
index 0000000..3b1f539
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_submit_inode_data/format
@@ -0,0 +1,12 @@
+name: jbd2_submit_inode_data
+ID: 500
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+
+print fmt: "dev %d,%d ino %lu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long) REC->ino
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_update_log_tail/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_update_log_tail/format
new file mode 100644
index 0000000..eda6b08
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_update_log_tail/format
@@ -0,0 +1,15 @@
+name: jbd2_update_log_tail
+ID: 501
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:tid_t tail_sequence;	offset:12;	size:4;	signed:0;
+	field:tid_t first_tid;	offset:16;	size:4;	signed:0;
+	field:unsigned long block_nr;	offset:24;	size:8;	signed:0;
+	field:unsigned long freed;	offset:32;	size:8;	signed:0;
+
+print fmt: "dev %d,%d from %u to %u offset %lu freed %lu", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->tail_sequence, REC->first_tid, REC->block_nr, REC->freed
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_write_superblock/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_write_superblock/format
new file mode 100644
index 0000000..ee038e6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/jbd2/jbd2_write_superblock/format
@@ -0,0 +1,12 @@
+name: jbd2_write_superblock
+ID: 502
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:int write_op;	offset:12;	size:4;	signed:1;
+
+print fmt: "dev %d,%d write_op %x", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->write_op
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/kfree/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/kfree/format
new file mode 100644
index 0000000..e0fdcda
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/kfree/format
@@ -0,0 +1,12 @@
+name: kfree
+ID: 249
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long call_site;	offset:8;	size:8;	signed:0;
+	field:const void * ptr;	offset:16;	size:8;	signed:0;
+
+print fmt: "call_site=%pS ptr=%p", (void *)REC->call_site, REC->ptr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/kmalloc/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/kmalloc/format
new file mode 100644
index 0000000..71a31a9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/kmalloc/format
@@ -0,0 +1,15 @@
+name: kmalloc
+ID: 250
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long call_site;	offset:8;	size:8;	signed:0;
+	field:const void * ptr;	offset:16;	size:8;	signed:0;
+	field:size_t bytes_req;	offset:24;	size:8;	signed:0;
+	field:size_t bytes_alloc;	offset:32;	size:8;	signed:0;
+	field:gfp_t gfp_flags;	offset:40;	size:4;	signed:0;
+
+print fmt: "call_site=%pS ptr=%p bytes_req=%zu bytes_alloc=%zu gfp_flags=%s", (void *)REC->call_site, REC->ptr, REC->bytes_req, REC->bytes_alloc, (REC->gfp_flags) ? __print_flags(REC->gfp_flags, "|", {(unsigned long)(((((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)) | (( gfp_t)0x40000u) | (( gfp_t)0x80000u) | (( gfp_t)0x2000u)) & ~(( gfp_t)(0x400u|0x800u))) | (( gfp_t)0x400u)), "GFP_TRANSHUGE"}, {(unsigned long)((((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)) | (( gfp_t)0x40000u) | (( gfp_t)0x80000u) | (( gfp_t)0x2000u)) & ~(( gfp_t)(0x400u|0x800u))), "GFP_TRANSHUGE_LIGHT"}, {(unsigned long)((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)), "GFP_HIGHUSER_MOVABLE"}, {(unsigned long)(((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)), "GFP_HIGHUSER"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)), "GFP_USER"}, {(unsigned long)(((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u)) | (( gfp_t)0x400000u)), "GFP_KERNEL_ACCOUNT"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u)), "GFP_KERNEL"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u)), "GFP_NOFS"}, {(unsigned long)((( gfp_t)0x20u)|(( gfp_t)0x200u)|(( gfp_t)0x800u)), "GFP_ATOMIC"}, {(unsigned long)((( gfp_t)(0x400u|0x800u))), "GFP_NOIO"}, {(unsigned long)((( gfp_t)0x800u)), "GFP_NOWAIT"}, {(unsigned long)(( gfp_t)0x01u), "GFP_DMA"}, {(unsigned long)(( gfp_t)0x02u), "__GFP_HIGHMEM"}, {(unsigned long)(( gfp_t)0x04u), "GFP_DMA32"}, {(unsigned long)(( gfp_t)0x20u), "__GFP_HIGH"}, {(unsigned long)(( gfp_t)0x200u), "__GFP_ATOMIC"}, {(unsigned long)(( gfp_t)0x40u), "__GFP_IO"}, {(unsigned long)(( gfp_t)0x80u), "__GFP_FS"}, {(unsigned long)(( gfp_t)0x2000u), "__GFP_NOWARN"}, {(unsigned long)(( gfp_t)0x4000u), "__GFP_RETRY_MAYFAIL"}, {(unsigned long)(( gfp_t)0x8000u), "__GFP_NOFAIL"}, {(unsigned long)(( gfp_t)0x10000u), "__GFP_NORETRY"}, {(unsigned long)(( gfp_t)0x40000u), "__GFP_COMP"}, {(unsigned long)(( gfp_t)0x100u), "__GFP_ZERO"}, {(unsigned long)(( gfp_t)0x80000u), "__GFP_NOMEMALLOC"}, {(unsigned long)(( gfp_t)0x20000u), "__GFP_MEMALLOC"}, {(unsigned long)(( gfp_t)0x100000u), "__GFP_HARDWALL"}, {(unsigned long)(( gfp_t)0x200000u), "__GFP_THISNODE"}, {(unsigned long)(( gfp_t)0x10u), "__GFP_RECLAIMABLE"}, {(unsigned long)(( gfp_t)0x08u), "__GFP_MOVABLE"}, {(unsigned long)(( gfp_t)0x400000u), "__GFP_ACCOUNT"}, {(unsigned long)(( gfp_t)0x1000u), "__GFP_WRITE"}, {(unsigned long)(( gfp_t)(0x400u|0x800u)), "__GFP_RECLAIM"}, {(unsigned long)(( gfp_t)0x400u), "__GFP_DIRECT_RECLAIM"}, {(unsigned long)(( gfp_t)0x800u), "__GFP_KSWAPD_RECLAIM"} ) : "none"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/kmalloc_node/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/kmalloc_node/format
new file mode 100644
index 0000000..62703c9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/kmalloc_node/format
@@ -0,0 +1,16 @@
+name: kmalloc_node
+ID: 251
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long call_site;	offset:8;	size:8;	signed:0;
+	field:const void * ptr;	offset:16;	size:8;	signed:0;
+	field:size_t bytes_req;	offset:24;	size:8;	signed:0;
+	field:size_t bytes_alloc;	offset:32;	size:8;	signed:0;
+	field:gfp_t gfp_flags;	offset:40;	size:4;	signed:0;
+	field:int node;	offset:44;	size:4;	signed:1;
+
+print fmt: "call_site=%pS ptr=%p bytes_req=%zu bytes_alloc=%zu gfp_flags=%s node=%d", (void *)REC->call_site, REC->ptr, REC->bytes_req, REC->bytes_alloc, (REC->gfp_flags) ? __print_flags(REC->gfp_flags, "|", {(unsigned long)(((((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)) | (( gfp_t)0x40000u) | (( gfp_t)0x80000u) | (( gfp_t)0x2000u)) & ~(( gfp_t)(0x400u|0x800u))) | (( gfp_t)0x400u)), "GFP_TRANSHUGE"}, {(unsigned long)((((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)) | (( gfp_t)0x40000u) | (( gfp_t)0x80000u) | (( gfp_t)0x2000u)) & ~(( gfp_t)(0x400u|0x800u))), "GFP_TRANSHUGE_LIGHT"}, {(unsigned long)((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)), "GFP_HIGHUSER_MOVABLE"}, {(unsigned long)(((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)), "GFP_HIGHUSER"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)), "GFP_USER"}, {(unsigned long)(((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u)) | (( gfp_t)0x400000u)), "GFP_KERNEL_ACCOUNT"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u)), "GFP_KERNEL"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u)), "GFP_NOFS"}, {(unsigned long)((( gfp_t)0x20u)|(( gfp_t)0x200u)|(( gfp_t)0x800u)), "GFP_ATOMIC"}, {(unsigned long)((( gfp_t)(0x400u|0x800u))), "GFP_NOIO"}, {(unsigned long)((( gfp_t)0x800u)), "GFP_NOWAIT"}, {(unsigned long)(( gfp_t)0x01u), "GFP_DMA"}, {(unsigned long)(( gfp_t)0x02u), "__GFP_HIGHMEM"}, {(unsigned long)(( gfp_t)0x04u), "GFP_DMA32"}, {(unsigned long)(( gfp_t)0x20u), "__GFP_HIGH"}, {(unsigned long)(( gfp_t)0x200u), "__GFP_ATOMIC"}, {(unsigned long)(( gfp_t)0x40u), "__GFP_IO"}, {(unsigned long)(( gfp_t)0x80u), "__GFP_FS"}, {(unsigned long)(( gfp_t)0x2000u), "__GFP_NOWARN"}, {(unsigned long)(( gfp_t)0x4000u), "__GFP_RETRY_MAYFAIL"}, {(unsigned long)(( gfp_t)0x8000u), "__GFP_NOFAIL"}, {(unsigned long)(( gfp_t)0x10000u), "__GFP_NORETRY"}, {(unsigned long)(( gfp_t)0x40000u), "__GFP_COMP"}, {(unsigned long)(( gfp_t)0x100u), "__GFP_ZERO"}, {(unsigned long)(( gfp_t)0x80000u), "__GFP_NOMEMALLOC"}, {(unsigned long)(( gfp_t)0x20000u), "__GFP_MEMALLOC"}, {(unsigned long)(( gfp_t)0x100000u), "__GFP_HARDWALL"}, {(unsigned long)(( gfp_t)0x200000u), "__GFP_THISNODE"}, {(unsigned long)(( gfp_t)0x10u), "__GFP_RECLAIMABLE"}, {(unsigned long)(( gfp_t)0x08u), "__GFP_MOVABLE"}, {(unsigned long)(( gfp_t)0x400000u), "__GFP_ACCOUNT"}, {(unsigned long)(( gfp_t)0x1000u), "__GFP_WRITE"}, {(unsigned long)(( gfp_t)(0x400u|0x800u)), "__GFP_RECLAIM"}, {(unsigned long)(( gfp_t)0x400u), "__GFP_DIRECT_RECLAIM"}, {(unsigned long)(( gfp_t)0x800u), "__GFP_KSWAPD_RECLAIM"} ) : "none", REC->node
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/kmem_cache_alloc/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/kmem_cache_alloc/format
new file mode 100644
index 0000000..13f765f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/kmem_cache_alloc/format
@@ -0,0 +1,15 @@
+name: kmem_cache_alloc
+ID: 252
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long call_site;	offset:8;	size:8;	signed:0;
+	field:const void * ptr;	offset:16;	size:8;	signed:0;
+	field:size_t bytes_req;	offset:24;	size:8;	signed:0;
+	field:size_t bytes_alloc;	offset:32;	size:8;	signed:0;
+	field:gfp_t gfp_flags;	offset:40;	size:4;	signed:0;
+
+print fmt: "call_site=%pS ptr=%p bytes_req=%zu bytes_alloc=%zu gfp_flags=%s", (void *)REC->call_site, REC->ptr, REC->bytes_req, REC->bytes_alloc, (REC->gfp_flags) ? __print_flags(REC->gfp_flags, "|", {(unsigned long)(((((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)) | (( gfp_t)0x40000u) | (( gfp_t)0x80000u) | (( gfp_t)0x2000u)) & ~(( gfp_t)(0x400u|0x800u))) | (( gfp_t)0x400u)), "GFP_TRANSHUGE"}, {(unsigned long)((((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)) | (( gfp_t)0x40000u) | (( gfp_t)0x80000u) | (( gfp_t)0x2000u)) & ~(( gfp_t)(0x400u|0x800u))), "GFP_TRANSHUGE_LIGHT"}, {(unsigned long)((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)), "GFP_HIGHUSER_MOVABLE"}, {(unsigned long)(((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)), "GFP_HIGHUSER"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)), "GFP_USER"}, {(unsigned long)(((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u)) | (( gfp_t)0x400000u)), "GFP_KERNEL_ACCOUNT"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u)), "GFP_KERNEL"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u)), "GFP_NOFS"}, {(unsigned long)((( gfp_t)0x20u)|(( gfp_t)0x200u)|(( gfp_t)0x800u)), "GFP_ATOMIC"}, {(unsigned long)((( gfp_t)(0x400u|0x800u))), "GFP_NOIO"}, {(unsigned long)((( gfp_t)0x800u)), "GFP_NOWAIT"}, {(unsigned long)(( gfp_t)0x01u), "GFP_DMA"}, {(unsigned long)(( gfp_t)0x02u), "__GFP_HIGHMEM"}, {(unsigned long)(( gfp_t)0x04u), "GFP_DMA32"}, {(unsigned long)(( gfp_t)0x20u), "__GFP_HIGH"}, {(unsigned long)(( gfp_t)0x200u), "__GFP_ATOMIC"}, {(unsigned long)(( gfp_t)0x40u), "__GFP_IO"}, {(unsigned long)(( gfp_t)0x80u), "__GFP_FS"}, {(unsigned long)(( gfp_t)0x2000u), "__GFP_NOWARN"}, {(unsigned long)(( gfp_t)0x4000u), "__GFP_RETRY_MAYFAIL"}, {(unsigned long)(( gfp_t)0x8000u), "__GFP_NOFAIL"}, {(unsigned long)(( gfp_t)0x10000u), "__GFP_NORETRY"}, {(unsigned long)(( gfp_t)0x40000u), "__GFP_COMP"}, {(unsigned long)(( gfp_t)0x100u), "__GFP_ZERO"}, {(unsigned long)(( gfp_t)0x80000u), "__GFP_NOMEMALLOC"}, {(unsigned long)(( gfp_t)0x20000u), "__GFP_MEMALLOC"}, {(unsigned long)(( gfp_t)0x100000u), "__GFP_HARDWALL"}, {(unsigned long)(( gfp_t)0x200000u), "__GFP_THISNODE"}, {(unsigned long)(( gfp_t)0x10u), "__GFP_RECLAIMABLE"}, {(unsigned long)(( gfp_t)0x08u), "__GFP_MOVABLE"}, {(unsigned long)(( gfp_t)0x400000u), "__GFP_ACCOUNT"}, {(unsigned long)(( gfp_t)0x1000u), "__GFP_WRITE"}, {(unsigned long)(( gfp_t)(0x400u|0x800u)), "__GFP_RECLAIM"}, {(unsigned long)(( gfp_t)0x400u), "__GFP_DIRECT_RECLAIM"}, {(unsigned long)(( gfp_t)0x800u), "__GFP_KSWAPD_RECLAIM"} ) : "none"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/kmem_cache_alloc_node/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/kmem_cache_alloc_node/format
new file mode 100644
index 0000000..ebcd6c0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/kmem_cache_alloc_node/format
@@ -0,0 +1,16 @@
+name: kmem_cache_alloc_node
+ID: 253
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long call_site;	offset:8;	size:8;	signed:0;
+	field:const void * ptr;	offset:16;	size:8;	signed:0;
+	field:size_t bytes_req;	offset:24;	size:8;	signed:0;
+	field:size_t bytes_alloc;	offset:32;	size:8;	signed:0;
+	field:gfp_t gfp_flags;	offset:40;	size:4;	signed:0;
+	field:int node;	offset:44;	size:4;	signed:1;
+
+print fmt: "call_site=%pS ptr=%p bytes_req=%zu bytes_alloc=%zu gfp_flags=%s node=%d", (void *)REC->call_site, REC->ptr, REC->bytes_req, REC->bytes_alloc, (REC->gfp_flags) ? __print_flags(REC->gfp_flags, "|", {(unsigned long)(((((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)) | (( gfp_t)0x40000u) | (( gfp_t)0x80000u) | (( gfp_t)0x2000u)) & ~(( gfp_t)(0x400u|0x800u))) | (( gfp_t)0x400u)), "GFP_TRANSHUGE"}, {(unsigned long)((((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)) | (( gfp_t)0x40000u) | (( gfp_t)0x80000u) | (( gfp_t)0x2000u)) & ~(( gfp_t)(0x400u|0x800u))), "GFP_TRANSHUGE_LIGHT"}, {(unsigned long)((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)), "GFP_HIGHUSER_MOVABLE"}, {(unsigned long)(((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)), "GFP_HIGHUSER"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)), "GFP_USER"}, {(unsigned long)(((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u)) | (( gfp_t)0x400000u)), "GFP_KERNEL_ACCOUNT"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u)), "GFP_KERNEL"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u)), "GFP_NOFS"}, {(unsigned long)((( gfp_t)0x20u)|(( gfp_t)0x200u)|(( gfp_t)0x800u)), "GFP_ATOMIC"}, {(unsigned long)((( gfp_t)(0x400u|0x800u))), "GFP_NOIO"}, {(unsigned long)((( gfp_t)0x800u)), "GFP_NOWAIT"}, {(unsigned long)(( gfp_t)0x01u), "GFP_DMA"}, {(unsigned long)(( gfp_t)0x02u), "__GFP_HIGHMEM"}, {(unsigned long)(( gfp_t)0x04u), "GFP_DMA32"}, {(unsigned long)(( gfp_t)0x20u), "__GFP_HIGH"}, {(unsigned long)(( gfp_t)0x200u), "__GFP_ATOMIC"}, {(unsigned long)(( gfp_t)0x40u), "__GFP_IO"}, {(unsigned long)(( gfp_t)0x80u), "__GFP_FS"}, {(unsigned long)(( gfp_t)0x2000u), "__GFP_NOWARN"}, {(unsigned long)(( gfp_t)0x4000u), "__GFP_RETRY_MAYFAIL"}, {(unsigned long)(( gfp_t)0x8000u), "__GFP_NOFAIL"}, {(unsigned long)(( gfp_t)0x10000u), "__GFP_NORETRY"}, {(unsigned long)(( gfp_t)0x40000u), "__GFP_COMP"}, {(unsigned long)(( gfp_t)0x100u), "__GFP_ZERO"}, {(unsigned long)(( gfp_t)0x80000u), "__GFP_NOMEMALLOC"}, {(unsigned long)(( gfp_t)0x20000u), "__GFP_MEMALLOC"}, {(unsigned long)(( gfp_t)0x100000u), "__GFP_HARDWALL"}, {(unsigned long)(( gfp_t)0x200000u), "__GFP_THISNODE"}, {(unsigned long)(( gfp_t)0x10u), "__GFP_RECLAIMABLE"}, {(unsigned long)(( gfp_t)0x08u), "__GFP_MOVABLE"}, {(unsigned long)(( gfp_t)0x400000u), "__GFP_ACCOUNT"}, {(unsigned long)(( gfp_t)0x1000u), "__GFP_WRITE"}, {(unsigned long)(( gfp_t)(0x400u|0x800u)), "__GFP_RECLAIM"}, {(unsigned long)(( gfp_t)0x400u), "__GFP_DIRECT_RECLAIM"}, {(unsigned long)(( gfp_t)0x800u), "__GFP_KSWAPD_RECLAIM"} ) : "none", REC->node
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/kmem_cache_free/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/kmem_cache_free/format
new file mode 100644
index 0000000..d8d31b9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/kmem_cache_free/format
@@ -0,0 +1,12 @@
+name: kmem_cache_free
+ID: 254
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long call_site;	offset:8;	size:8;	signed:0;
+	field:const void * ptr;	offset:16;	size:8;	signed:0;
+
+print fmt: "call_site=%pS ptr=%p", (void *)REC->call_site, REC->ptr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/mm_page_alloc/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/mm_page_alloc/format
new file mode 100644
index 0000000..a3004b4
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/mm_page_alloc/format
@@ -0,0 +1,14 @@
+name: mm_page_alloc
+ID: 255
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long pfn;	offset:8;	size:8;	signed:0;
+	field:unsigned int order;	offset:16;	size:4;	signed:0;
+	field:gfp_t gfp_flags;	offset:20;	size:4;	signed:0;
+	field:int migratetype;	offset:24;	size:4;	signed:1;
+
+print fmt: "page=%p pfn=%lu order=%d migratetype=%d gfp_flags=%s", REC->pfn != -1UL ? (((struct page *)(-(((-((((1UL))) << ((((39))) - 1))) - ((-((((1UL))) << ((39)))))) >> (12 - (( __builtin_constant_p(sizeof(struct page)) ? ( ((sizeof(struct page)) == 0 || (sizeof(struct page)) == 1) ? 0 : ( __builtin_constant_p((sizeof(struct page)) - 1) ? ( __builtin_constant_p((sizeof(struct page)) - 1) ? ( ((sizeof(struct page)) - 1) < 2 ? 0 : ((sizeof(struct page)) - 1) & (1ULL << 63) ? 63 : ((sizeof(struct page)) - 1) & (1ULL << 62) ? 62 : ((sizeof(struct page)) - 1) & (1ULL << 61) ? 61 : ((sizeof(struct page)) - 1) & (1ULL << 60) ? 60 : ((sizeof(struct page)) - 1) & (1ULL << 59) ? 59 : ((sizeof(struct page)) - 1) & (1ULL << 58) ? 58 : ((sizeof(struct page)) - 1) & (1ULL << 57) ? 57 : ((sizeof(struct page)) - 1) & (1ULL << 56) ? 56 : ((sizeof(struct page)) - 1) & (1ULL << 55) ? 55 : ((sizeof(struct page)) - 1) & (1ULL << 54) ? 54 : ((sizeof(struct page)) - 1) & (1ULL << 53) ? 53 : ((sizeof(struct page)) - 1) & (1ULL << 52) ? 52 : ((sizeof(struct page)) - 1) & (1ULL << 51) ? 51 : ((sizeof(struct page)) - 1) & (1ULL << 50) ? 50 : ((sizeof(struct page)) - 1) & (1ULL << 49) ? 49 : ((sizeof(struct page)) - 1) & (1ULL << 48) ? 48 : ((sizeof(struct page)) - 1) & (1ULL << 47) ? 47 : ((sizeof(struct page)) - 1) & (1ULL << 46) ? 46 : ((sizeof(struct page)) - 1) & (1ULL << 45) ? 45 : ((sizeof(struct page)) - 1) & (1ULL << 44) ? 44 : ((sizeof(struct page)) - 1) & (1ULL << 43) ? 43 : ((sizeof(struct page)) - 1) & (1ULL << 42) ? 42 : ((sizeof(struct page)) - 1) & (1ULL << 41) ? 41 : ((sizeof(struct page)) - 1) & (1ULL << 40) ? 40 : ((sizeof(struct page)) - 1) & (1ULL << 39) ? 39 : ((sizeof(struct page)) - 1) & (1ULL << 38) ? 38 : ((sizeof(struct page)) - 1) & (1ULL << 37) ? 37 : ((sizeof(struct page)) - 1) & (1ULL << 36) ? 36 : ((sizeof(struct page)) - 1) & (1ULL << 35) ? 35 : ((sizeof(struct page)) - 1) & (1ULL << 34) ? 34 : ((sizeof(struct page)) - 1) & (1ULL << 33) ? 33 : ((sizeof(struct page)) - 1) & (1ULL << 32) ? 32 : ((sizeof(struct page)) - 1) & (1ULL << 31) ? 31 : ((sizeof(struct page)) - 1) & (1ULL << 30) ? 30 : ((sizeof(struct page)) - 1) & (1ULL << 29) ? 29 : ((sizeof(struct page)) - 1) & (1ULL << 28) ? 28 : ((sizeof(struct page)) - 1) & (1ULL << 27) ? 27 : ((sizeof(struct page)) - 1) & (1ULL << 26) ? 26 : ((sizeof(struct page)) - 1) & (1ULL << 25) ? 25 : ((sizeof(struct page)) - 1) & (1ULL << 24) ? 24 : ((sizeof(struct page)) - 1) & (1ULL << 23) ? 23 : ((sizeof(struct page)) - 1) & (1ULL << 22) ? 22 : ((sizeof(struct page)) - 1) & (1ULL << 21) ? 21 : ((sizeof(struct page)) - 1) & (1ULL << 20) ? 20 : ((sizeof(struct page)) - 1) & (1ULL << 19) ? 19 : ((sizeof(struct page)) - 1) & (1ULL << 18) ? 18 : ((sizeof(struct page)) - 1) & (1ULL << 17) ? 17 : ((sizeof(struct page)) - 1) & (1ULL << 16) ? 16 : ((sizeof(struct page)) - 1) & (1ULL << 15) ? 15 : ((sizeof(struct page)) - 1) & (1ULL << 14) ? 14 : ((sizeof(struct page)) - 1) & (1ULL << 13) ? 13 : ((sizeof(struct page)) - 1) & (1ULL << 12) ? 12 : ((sizeof(struct page)) - 1) & (1ULL << 11) ? 11 : ((sizeof(struct page)) - 1) & (1ULL << 10) ? 10 : ((sizeof(struct page)) - 1) & (1ULL << 9) ? 9 : ((sizeof(struct page)) - 1) & (1ULL << 8) ? 8 : ((sizeof(struct page)) - 1) & (1ULL << 7) ? 7 : ((sizeof(struct page)) - 1) & (1ULL << 6) ? 6 : ((sizeof(struct page)) - 1) & (1ULL << 5) ? 5 : ((sizeof(struct page)) - 1) & (1ULL << 4) ? 4 : ((sizeof(struct page)) - 1) & (1ULL << 3) ? 3 : ((sizeof(struct page)) - 1) & (1ULL << 2) ? 2 : 1) : -1) : (sizeof((sizeof(struct page)) - 1) <= 4) ? __ilog2_u32((sizeof(struct page)) - 1) : __ilog2_u64((sizeof(struct page)) - 1) ) + 1) : __order_base_2(sizeof(struct page)) )))) - 0x00200000) - (memstart_addr >> 12)) + (REC->pfn)) : ((void *)0), REC->pfn != -1UL ? REC->pfn : 0, REC->order, REC->migratetype, (REC->gfp_flags) ? __print_flags(REC->gfp_flags, "|", {(unsigned long)(((((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)) | (( gfp_t)0x40000u) | (( gfp_t)0x80000u) | (( gfp_t)0x2000u)) & ~(( gfp_t)(0x400u|0x800u))) | (( gfp_t)0x400u)), "GFP_TRANSHUGE"}, {(unsigned long)((((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)) | (( gfp_t)0x40000u) | (( gfp_t)0x80000u) | (( gfp_t)0x2000u)) & ~(( gfp_t)(0x400u|0x800u))), "GFP_TRANSHUGE_LIGHT"}, {(unsigned long)((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)), "GFP_HIGHUSER_MOVABLE"}, {(unsigned long)(((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)), "GFP_HIGHUSER"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)), "GFP_USER"}, {(unsigned long)(((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u)) | (( gfp_t)0x400000u)), "GFP_KERNEL_ACCOUNT"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u)), "GFP_KERNEL"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u)), "GFP_NOFS"}, {(unsigned long)((( gfp_t)0x20u)|(( gfp_t)0x200u)|(( gfp_t)0x800u)), "GFP_ATOMIC"}, {(unsigned long)((( gfp_t)(0x400u|0x800u))), "GFP_NOIO"}, {(unsigned long)((( gfp_t)0x800u)), "GFP_NOWAIT"}, {(unsigned long)(( gfp_t)0x01u), "GFP_DMA"}, {(unsigned long)(( gfp_t)0x02u), "__GFP_HIGHMEM"}, {(unsigned long)(( gfp_t)0x04u), "GFP_DMA32"}, {(unsigned long)(( gfp_t)0x20u), "__GFP_HIGH"}, {(unsigned long)(( gfp_t)0x200u), "__GFP_ATOMIC"}, {(unsigned long)(( gfp_t)0x40u), "__GFP_IO"}, {(unsigned long)(( gfp_t)0x80u), "__GFP_FS"}, {(unsigned long)(( gfp_t)0x2000u), "__GFP_NOWARN"}, {(unsigned long)(( gfp_t)0x4000u), "__GFP_RETRY_MAYFAIL"}, {(unsigned long)(( gfp_t)0x8000u), "__GFP_NOFAIL"}, {(unsigned long)(( gfp_t)0x10000u), "__GFP_NORETRY"}, {(unsigned long)(( gfp_t)0x40000u), "__GFP_COMP"}, {(unsigned long)(( gfp_t)0x100u), "__GFP_ZERO"}, {(unsigned long)(( gfp_t)0x80000u), "__GFP_NOMEMALLOC"}, {(unsigned long)(( gfp_t)0x20000u), "__GFP_MEMALLOC"}, {(unsigned long)(( gfp_t)0x100000u), "__GFP_HARDWALL"}, {(unsigned long)(( gfp_t)0x200000u), "__GFP_THISNODE"}, {(unsigned long)(( gfp_t)0x10u), "__GFP_RECLAIMABLE"}, {(unsigned long)(( gfp_t)0x08u), "__GFP_MOVABLE"}, {(unsigned long)(( gfp_t)0x400000u), "__GFP_ACCOUNT"}, {(unsigned long)(( gfp_t)0x1000u), "__GFP_WRITE"}, {(unsigned long)(( gfp_t)(0x400u|0x800u)), "__GFP_RECLAIM"}, {(unsigned long)(( gfp_t)0x400u), "__GFP_DIRECT_RECLAIM"}, {(unsigned long)(( gfp_t)0x800u), "__GFP_KSWAPD_RECLAIM"} ) : "none"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/mm_page_alloc_extfrag/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/mm_page_alloc_extfrag/format
new file mode 100644
index 0000000..c07e074
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/mm_page_alloc_extfrag/format
@@ -0,0 +1,16 @@
+name: mm_page_alloc_extfrag
+ID: 256
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long pfn;	offset:8;	size:8;	signed:0;
+	field:int alloc_order;	offset:16;	size:4;	signed:1;
+	field:int fallback_order;	offset:20;	size:4;	signed:1;
+	field:int alloc_migratetype;	offset:24;	size:4;	signed:1;
+	field:int fallback_migratetype;	offset:28;	size:4;	signed:1;
+	field:int change_ownership;	offset:32;	size:4;	signed:1;
+
+print fmt: "page=%p pfn=%lu alloc_order=%d fallback_order=%d pageblock_order=%d alloc_migratetype=%d fallback_migratetype=%d fragmenting=%d change_ownership=%d", (((struct page *)(-(((-((((1UL))) << ((((39))) - 1))) - ((-((((1UL))) << ((39)))))) >> (12 - (( __builtin_constant_p(sizeof(struct page)) ? ( ((sizeof(struct page)) == 0 || (sizeof(struct page)) == 1) ? 0 : ( __builtin_constant_p((sizeof(struct page)) - 1) ? ( __builtin_constant_p((sizeof(struct page)) - 1) ? ( ((sizeof(struct page)) - 1) < 2 ? 0 : ((sizeof(struct page)) - 1) & (1ULL << 63) ? 63 : ((sizeof(struct page)) - 1) & (1ULL << 62) ? 62 : ((sizeof(struct page)) - 1) & (1ULL << 61) ? 61 : ((sizeof(struct page)) - 1) & (1ULL << 60) ? 60 : ((sizeof(struct page)) - 1) & (1ULL << 59) ? 59 : ((sizeof(struct page)) - 1) & (1ULL << 58) ? 58 : ((sizeof(struct page)) - 1) & (1ULL << 57) ? 57 : ((sizeof(struct page)) - 1) & (1ULL << 56) ? 56 : ((sizeof(struct page)) - 1) & (1ULL << 55) ? 55 : ((sizeof(struct page)) - 1) & (1ULL << 54) ? 54 : ((sizeof(struct page)) - 1) & (1ULL << 53) ? 53 : ((sizeof(struct page)) - 1) & (1ULL << 52) ? 52 : ((sizeof(struct page)) - 1) & (1ULL << 51) ? 51 : ((sizeof(struct page)) - 1) & (1ULL << 50) ? 50 : ((sizeof(struct page)) - 1) & (1ULL << 49) ? 49 : ((sizeof(struct page)) - 1) & (1ULL << 48) ? 48 : ((sizeof(struct page)) - 1) & (1ULL << 47) ? 47 : ((sizeof(struct page)) - 1) & (1ULL << 46) ? 46 : ((sizeof(struct page)) - 1) & (1ULL << 45) ? 45 : ((sizeof(struct page)) - 1) & (1ULL << 44) ? 44 : ((sizeof(struct page)) - 1) & (1ULL << 43) ? 43 : ((sizeof(struct page)) - 1) & (1ULL << 42) ? 42 : ((sizeof(struct page)) - 1) & (1ULL << 41) ? 41 : ((sizeof(struct page)) - 1) & (1ULL << 40) ? 40 : ((sizeof(struct page)) - 1) & (1ULL << 39) ? 39 : ((sizeof(struct page)) - 1) & (1ULL << 38) ? 38 : ((sizeof(struct page)) - 1) & (1ULL << 37) ? 37 : ((sizeof(struct page)) - 1) & (1ULL << 36) ? 36 : ((sizeof(struct page)) - 1) & (1ULL << 35) ? 35 : ((sizeof(struct page)) - 1) & (1ULL << 34) ? 34 : ((sizeof(struct page)) - 1) & (1ULL << 33) ? 33 : ((sizeof(struct page)) - 1) & (1ULL << 32) ? 32 : ((sizeof(struct page)) - 1) & (1ULL << 31) ? 31 : ((sizeof(struct page)) - 1) & (1ULL << 30) ? 30 : ((sizeof(struct page)) - 1) & (1ULL << 29) ? 29 : ((sizeof(struct page)) - 1) & (1ULL << 28) ? 28 : ((sizeof(struct page)) - 1) & (1ULL << 27) ? 27 : ((sizeof(struct page)) - 1) & (1ULL << 26) ? 26 : ((sizeof(struct page)) - 1) & (1ULL << 25) ? 25 : ((sizeof(struct page)) - 1) & (1ULL << 24) ? 24 : ((sizeof(struct page)) - 1) & (1ULL << 23) ? 23 : ((sizeof(struct page)) - 1) & (1ULL << 22) ? 22 : ((sizeof(struct page)) - 1) & (1ULL << 21) ? 21 : ((sizeof(struct page)) - 1) & (1ULL << 20) ? 20 : ((sizeof(struct page)) - 1) & (1ULL << 19) ? 19 : ((sizeof(struct page)) - 1) & (1ULL << 18) ? 18 : ((sizeof(struct page)) - 1) & (1ULL << 17) ? 17 : ((sizeof(struct page)) - 1) & (1ULL << 16) ? 16 : ((sizeof(struct page)) - 1) & (1ULL << 15) ? 15 : ((sizeof(struct page)) - 1) & (1ULL << 14) ? 14 : ((sizeof(struct page)) - 1) & (1ULL << 13) ? 13 : ((sizeof(struct page)) - 1) & (1ULL << 12) ? 12 : ((sizeof(struct page)) - 1) & (1ULL << 11) ? 11 : ((sizeof(struct page)) - 1) & (1ULL << 10) ? 10 : ((sizeof(struct page)) - 1) & (1ULL << 9) ? 9 : ((sizeof(struct page)) - 1) & (1ULL << 8) ? 8 : ((sizeof(struct page)) - 1) & (1ULL << 7) ? 7 : ((sizeof(struct page)) - 1) & (1ULL << 6) ? 6 : ((sizeof(struct page)) - 1) & (1ULL << 5) ? 5 : ((sizeof(struct page)) - 1) & (1ULL << 4) ? 4 : ((sizeof(struct page)) - 1) & (1ULL << 3) ? 3 : ((sizeof(struct page)) - 1) & (1ULL << 2) ? 2 : 1) : -1) : (sizeof((sizeof(struct page)) - 1) <= 4) ? __ilog2_u32((sizeof(struct page)) - 1) : __ilog2_u64((sizeof(struct page)) - 1) ) + 1) : __order_base_2(sizeof(struct page)) )))) - 0x00200000) - (memstart_addr >> 12)) + (REC->pfn)), REC->pfn, REC->alloc_order, REC->fallback_order, (11-1), REC->alloc_migratetype, REC->fallback_migratetype, REC->fallback_order < (11-1), REC->change_ownership
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/mm_page_alloc_zone_locked/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/mm_page_alloc_zone_locked/format
new file mode 100644
index 0000000..0a4b16c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/mm_page_alloc_zone_locked/format
@@ -0,0 +1,13 @@
+name: mm_page_alloc_zone_locked
+ID: 257
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long pfn;	offset:8;	size:8;	signed:0;
+	field:unsigned int order;	offset:16;	size:4;	signed:0;
+	field:int migratetype;	offset:20;	size:4;	signed:1;
+
+print fmt: "page=%p pfn=%lu order=%u migratetype=%d percpu_refill=%d", REC->pfn != -1UL ? (((struct page *)(-(((-((((1UL))) << ((((39))) - 1))) - ((-((((1UL))) << ((39)))))) >> (12 - (( __builtin_constant_p(sizeof(struct page)) ? ( ((sizeof(struct page)) == 0 || (sizeof(struct page)) == 1) ? 0 : ( __builtin_constant_p((sizeof(struct page)) - 1) ? ( __builtin_constant_p((sizeof(struct page)) - 1) ? ( ((sizeof(struct page)) - 1) < 2 ? 0 : ((sizeof(struct page)) - 1) & (1ULL << 63) ? 63 : ((sizeof(struct page)) - 1) & (1ULL << 62) ? 62 : ((sizeof(struct page)) - 1) & (1ULL << 61) ? 61 : ((sizeof(struct page)) - 1) & (1ULL << 60) ? 60 : ((sizeof(struct page)) - 1) & (1ULL << 59) ? 59 : ((sizeof(struct page)) - 1) & (1ULL << 58) ? 58 : ((sizeof(struct page)) - 1) & (1ULL << 57) ? 57 : ((sizeof(struct page)) - 1) & (1ULL << 56) ? 56 : ((sizeof(struct page)) - 1) & (1ULL << 55) ? 55 : ((sizeof(struct page)) - 1) & (1ULL << 54) ? 54 : ((sizeof(struct page)) - 1) & (1ULL << 53) ? 53 : ((sizeof(struct page)) - 1) & (1ULL << 52) ? 52 : ((sizeof(struct page)) - 1) & (1ULL << 51) ? 51 : ((sizeof(struct page)) - 1) & (1ULL << 50) ? 50 : ((sizeof(struct page)) - 1) & (1ULL << 49) ? 49 : ((sizeof(struct page)) - 1) & (1ULL << 48) ? 48 : ((sizeof(struct page)) - 1) & (1ULL << 47) ? 47 : ((sizeof(struct page)) - 1) & (1ULL << 46) ? 46 : ((sizeof(struct page)) - 1) & (1ULL << 45) ? 45 : ((sizeof(struct page)) - 1) & (1ULL << 44) ? 44 : ((sizeof(struct page)) - 1) & (1ULL << 43) ? 43 : ((sizeof(struct page)) - 1) & (1ULL << 42) ? 42 : ((sizeof(struct page)) - 1) & (1ULL << 41) ? 41 : ((sizeof(struct page)) - 1) & (1ULL << 40) ? 40 : ((sizeof(struct page)) - 1) & (1ULL << 39) ? 39 : ((sizeof(struct page)) - 1) & (1ULL << 38) ? 38 : ((sizeof(struct page)) - 1) & (1ULL << 37) ? 37 : ((sizeof(struct page)) - 1) & (1ULL << 36) ? 36 : ((sizeof(struct page)) - 1) & (1ULL << 35) ? 35 : ((sizeof(struct page)) - 1) & (1ULL << 34) ? 34 : ((sizeof(struct page)) - 1) & (1ULL << 33) ? 33 : ((sizeof(struct page)) - 1) & (1ULL << 32) ? 32 : ((sizeof(struct page)) - 1) & (1ULL << 31) ? 31 : ((sizeof(struct page)) - 1) & (1ULL << 30) ? 30 : ((sizeof(struct page)) - 1) & (1ULL << 29) ? 29 : ((sizeof(struct page)) - 1) & (1ULL << 28) ? 28 : ((sizeof(struct page)) - 1) & (1ULL << 27) ? 27 : ((sizeof(struct page)) - 1) & (1ULL << 26) ? 26 : ((sizeof(struct page)) - 1) & (1ULL << 25) ? 25 : ((sizeof(struct page)) - 1) & (1ULL << 24) ? 24 : ((sizeof(struct page)) - 1) & (1ULL << 23) ? 23 : ((sizeof(struct page)) - 1) & (1ULL << 22) ? 22 : ((sizeof(struct page)) - 1) & (1ULL << 21) ? 21 : ((sizeof(struct page)) - 1) & (1ULL << 20) ? 20 : ((sizeof(struct page)) - 1) & (1ULL << 19) ? 19 : ((sizeof(struct page)) - 1) & (1ULL << 18) ? 18 : ((sizeof(struct page)) - 1) & (1ULL << 17) ? 17 : ((sizeof(struct page)) - 1) & (1ULL << 16) ? 16 : ((sizeof(struct page)) - 1) & (1ULL << 15) ? 15 : ((sizeof(struct page)) - 1) & (1ULL << 14) ? 14 : ((sizeof(struct page)) - 1) & (1ULL << 13) ? 13 : ((sizeof(struct page)) - 1) & (1ULL << 12) ? 12 : ((sizeof(struct page)) - 1) & (1ULL << 11) ? 11 : ((sizeof(struct page)) - 1) & (1ULL << 10) ? 10 : ((sizeof(struct page)) - 1) & (1ULL << 9) ? 9 : ((sizeof(struct page)) - 1) & (1ULL << 8) ? 8 : ((sizeof(struct page)) - 1) & (1ULL << 7) ? 7 : ((sizeof(struct page)) - 1) & (1ULL << 6) ? 6 : ((sizeof(struct page)) - 1) & (1ULL << 5) ? 5 : ((sizeof(struct page)) - 1) & (1ULL << 4) ? 4 : ((sizeof(struct page)) - 1) & (1ULL << 3) ? 3 : ((sizeof(struct page)) - 1) & (1ULL << 2) ? 2 : 1) : -1) : (sizeof((sizeof(struct page)) - 1) <= 4) ? __ilog2_u32((sizeof(struct page)) - 1) : __ilog2_u64((sizeof(struct page)) - 1) ) + 1) : __order_base_2(sizeof(struct page)) )))) - 0x00200000) - (memstart_addr >> 12)) + (REC->pfn)) : ((void *)0), REC->pfn != -1UL ? REC->pfn : 0, REC->order, REC->migratetype, REC->order == 0
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/mm_page_free/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/mm_page_free/format
new file mode 100644
index 0000000..ffec50d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/mm_page_free/format
@@ -0,0 +1,12 @@
+name: mm_page_free
+ID: 258
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long pfn;	offset:8;	size:8;	signed:0;
+	field:unsigned int order;	offset:16;	size:4;	signed:0;
+
+print fmt: "page=%p pfn=%lu order=%d", (((struct page *)(-(((-((((1UL))) << ((((39))) - 1))) - ((-((((1UL))) << ((39)))))) >> (12 - (( __builtin_constant_p(sizeof(struct page)) ? ( ((sizeof(struct page)) == 0 || (sizeof(struct page)) == 1) ? 0 : ( __builtin_constant_p((sizeof(struct page)) - 1) ? ( __builtin_constant_p((sizeof(struct page)) - 1) ? ( ((sizeof(struct page)) - 1) < 2 ? 0 : ((sizeof(struct page)) - 1) & (1ULL << 63) ? 63 : ((sizeof(struct page)) - 1) & (1ULL << 62) ? 62 : ((sizeof(struct page)) - 1) & (1ULL << 61) ? 61 : ((sizeof(struct page)) - 1) & (1ULL << 60) ? 60 : ((sizeof(struct page)) - 1) & (1ULL << 59) ? 59 : ((sizeof(struct page)) - 1) & (1ULL << 58) ? 58 : ((sizeof(struct page)) - 1) & (1ULL << 57) ? 57 : ((sizeof(struct page)) - 1) & (1ULL << 56) ? 56 : ((sizeof(struct page)) - 1) & (1ULL << 55) ? 55 : ((sizeof(struct page)) - 1) & (1ULL << 54) ? 54 : ((sizeof(struct page)) - 1) & (1ULL << 53) ? 53 : ((sizeof(struct page)) - 1) & (1ULL << 52) ? 52 : ((sizeof(struct page)) - 1) & (1ULL << 51) ? 51 : ((sizeof(struct page)) - 1) & (1ULL << 50) ? 50 : ((sizeof(struct page)) - 1) & (1ULL << 49) ? 49 : ((sizeof(struct page)) - 1) & (1ULL << 48) ? 48 : ((sizeof(struct page)) - 1) & (1ULL << 47) ? 47 : ((sizeof(struct page)) - 1) & (1ULL << 46) ? 46 : ((sizeof(struct page)) - 1) & (1ULL << 45) ? 45 : ((sizeof(struct page)) - 1) & (1ULL << 44) ? 44 : ((sizeof(struct page)) - 1) & (1ULL << 43) ? 43 : ((sizeof(struct page)) - 1) & (1ULL << 42) ? 42 : ((sizeof(struct page)) - 1) & (1ULL << 41) ? 41 : ((sizeof(struct page)) - 1) & (1ULL << 40) ? 40 : ((sizeof(struct page)) - 1) & (1ULL << 39) ? 39 : ((sizeof(struct page)) - 1) & (1ULL << 38) ? 38 : ((sizeof(struct page)) - 1) & (1ULL << 37) ? 37 : ((sizeof(struct page)) - 1) & (1ULL << 36) ? 36 : ((sizeof(struct page)) - 1) & (1ULL << 35) ? 35 : ((sizeof(struct page)) - 1) & (1ULL << 34) ? 34 : ((sizeof(struct page)) - 1) & (1ULL << 33) ? 33 : ((sizeof(struct page)) - 1) & (1ULL << 32) ? 32 : ((sizeof(struct page)) - 1) & (1ULL << 31) ? 31 : ((sizeof(struct page)) - 1) & (1ULL << 30) ? 30 : ((sizeof(struct page)) - 1) & (1ULL << 29) ? 29 : ((sizeof(struct page)) - 1) & (1ULL << 28) ? 28 : ((sizeof(struct page)) - 1) & (1ULL << 27) ? 27 : ((sizeof(struct page)) - 1) & (1ULL << 26) ? 26 : ((sizeof(struct page)) - 1) & (1ULL << 25) ? 25 : ((sizeof(struct page)) - 1) & (1ULL << 24) ? 24 : ((sizeof(struct page)) - 1) & (1ULL << 23) ? 23 : ((sizeof(struct page)) - 1) & (1ULL << 22) ? 22 : ((sizeof(struct page)) - 1) & (1ULL << 21) ? 21 : ((sizeof(struct page)) - 1) & (1ULL << 20) ? 20 : ((sizeof(struct page)) - 1) & (1ULL << 19) ? 19 : ((sizeof(struct page)) - 1) & (1ULL << 18) ? 18 : ((sizeof(struct page)) - 1) & (1ULL << 17) ? 17 : ((sizeof(struct page)) - 1) & (1ULL << 16) ? 16 : ((sizeof(struct page)) - 1) & (1ULL << 15) ? 15 : ((sizeof(struct page)) - 1) & (1ULL << 14) ? 14 : ((sizeof(struct page)) - 1) & (1ULL << 13) ? 13 : ((sizeof(struct page)) - 1) & (1ULL << 12) ? 12 : ((sizeof(struct page)) - 1) & (1ULL << 11) ? 11 : ((sizeof(struct page)) - 1) & (1ULL << 10) ? 10 : ((sizeof(struct page)) - 1) & (1ULL << 9) ? 9 : ((sizeof(struct page)) - 1) & (1ULL << 8) ? 8 : ((sizeof(struct page)) - 1) & (1ULL << 7) ? 7 : ((sizeof(struct page)) - 1) & (1ULL << 6) ? 6 : ((sizeof(struct page)) - 1) & (1ULL << 5) ? 5 : ((sizeof(struct page)) - 1) & (1ULL << 4) ? 4 : ((sizeof(struct page)) - 1) & (1ULL << 3) ? 3 : ((sizeof(struct page)) - 1) & (1ULL << 2) ? 2 : 1) : -1) : (sizeof((sizeof(struct page)) - 1) <= 4) ? __ilog2_u32((sizeof(struct page)) - 1) : __ilog2_u64((sizeof(struct page)) - 1) ) + 1) : __order_base_2(sizeof(struct page)) )))) - 0x00200000) - (memstart_addr >> 12)) + (REC->pfn)), REC->pfn, REC->order
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/mm_page_free_batched/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/mm_page_free_batched/format
new file mode 100644
index 0000000..4941f7c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/mm_page_free_batched/format
@@ -0,0 +1,11 @@
+name: mm_page_free_batched
+ID: 259
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long pfn;	offset:8;	size:8;	signed:0;
+
+print fmt: "page=%p pfn=%lu order=0", (((struct page *)(-(((-((((1UL))) << ((((39))) - 1))) - ((-((((1UL))) << ((39)))))) >> (12 - (( __builtin_constant_p(sizeof(struct page)) ? ( ((sizeof(struct page)) == 0 || (sizeof(struct page)) == 1) ? 0 : ( __builtin_constant_p((sizeof(struct page)) - 1) ? ( __builtin_constant_p((sizeof(struct page)) - 1) ? ( ((sizeof(struct page)) - 1) < 2 ? 0 : ((sizeof(struct page)) - 1) & (1ULL << 63) ? 63 : ((sizeof(struct page)) - 1) & (1ULL << 62) ? 62 : ((sizeof(struct page)) - 1) & (1ULL << 61) ? 61 : ((sizeof(struct page)) - 1) & (1ULL << 60) ? 60 : ((sizeof(struct page)) - 1) & (1ULL << 59) ? 59 : ((sizeof(struct page)) - 1) & (1ULL << 58) ? 58 : ((sizeof(struct page)) - 1) & (1ULL << 57) ? 57 : ((sizeof(struct page)) - 1) & (1ULL << 56) ? 56 : ((sizeof(struct page)) - 1) & (1ULL << 55) ? 55 : ((sizeof(struct page)) - 1) & (1ULL << 54) ? 54 : ((sizeof(struct page)) - 1) & (1ULL << 53) ? 53 : ((sizeof(struct page)) - 1) & (1ULL << 52) ? 52 : ((sizeof(struct page)) - 1) & (1ULL << 51) ? 51 : ((sizeof(struct page)) - 1) & (1ULL << 50) ? 50 : ((sizeof(struct page)) - 1) & (1ULL << 49) ? 49 : ((sizeof(struct page)) - 1) & (1ULL << 48) ? 48 : ((sizeof(struct page)) - 1) & (1ULL << 47) ? 47 : ((sizeof(struct page)) - 1) & (1ULL << 46) ? 46 : ((sizeof(struct page)) - 1) & (1ULL << 45) ? 45 : ((sizeof(struct page)) - 1) & (1ULL << 44) ? 44 : ((sizeof(struct page)) - 1) & (1ULL << 43) ? 43 : ((sizeof(struct page)) - 1) & (1ULL << 42) ? 42 : ((sizeof(struct page)) - 1) & (1ULL << 41) ? 41 : ((sizeof(struct page)) - 1) & (1ULL << 40) ? 40 : ((sizeof(struct page)) - 1) & (1ULL << 39) ? 39 : ((sizeof(struct page)) - 1) & (1ULL << 38) ? 38 : ((sizeof(struct page)) - 1) & (1ULL << 37) ? 37 : ((sizeof(struct page)) - 1) & (1ULL << 36) ? 36 : ((sizeof(struct page)) - 1) & (1ULL << 35) ? 35 : ((sizeof(struct page)) - 1) & (1ULL << 34) ? 34 : ((sizeof(struct page)) - 1) & (1ULL << 33) ? 33 : ((sizeof(struct page)) - 1) & (1ULL << 32) ? 32 : ((sizeof(struct page)) - 1) & (1ULL << 31) ? 31 : ((sizeof(struct page)) - 1) & (1ULL << 30) ? 30 : ((sizeof(struct page)) - 1) & (1ULL << 29) ? 29 : ((sizeof(struct page)) - 1) & (1ULL << 28) ? 28 : ((sizeof(struct page)) - 1) & (1ULL << 27) ? 27 : ((sizeof(struct page)) - 1) & (1ULL << 26) ? 26 : ((sizeof(struct page)) - 1) & (1ULL << 25) ? 25 : ((sizeof(struct page)) - 1) & (1ULL << 24) ? 24 : ((sizeof(struct page)) - 1) & (1ULL << 23) ? 23 : ((sizeof(struct page)) - 1) & (1ULL << 22) ? 22 : ((sizeof(struct page)) - 1) & (1ULL << 21) ? 21 : ((sizeof(struct page)) - 1) & (1ULL << 20) ? 20 : ((sizeof(struct page)) - 1) & (1ULL << 19) ? 19 : ((sizeof(struct page)) - 1) & (1ULL << 18) ? 18 : ((sizeof(struct page)) - 1) & (1ULL << 17) ? 17 : ((sizeof(struct page)) - 1) & (1ULL << 16) ? 16 : ((sizeof(struct page)) - 1) & (1ULL << 15) ? 15 : ((sizeof(struct page)) - 1) & (1ULL << 14) ? 14 : ((sizeof(struct page)) - 1) & (1ULL << 13) ? 13 : ((sizeof(struct page)) - 1) & (1ULL << 12) ? 12 : ((sizeof(struct page)) - 1) & (1ULL << 11) ? 11 : ((sizeof(struct page)) - 1) & (1ULL << 10) ? 10 : ((sizeof(struct page)) - 1) & (1ULL << 9) ? 9 : ((sizeof(struct page)) - 1) & (1ULL << 8) ? 8 : ((sizeof(struct page)) - 1) & (1ULL << 7) ? 7 : ((sizeof(struct page)) - 1) & (1ULL << 6) ? 6 : ((sizeof(struct page)) - 1) & (1ULL << 5) ? 5 : ((sizeof(struct page)) - 1) & (1ULL << 4) ? 4 : ((sizeof(struct page)) - 1) & (1ULL << 3) ? 3 : ((sizeof(struct page)) - 1) & (1ULL << 2) ? 2 : 1) : -1) : (sizeof((sizeof(struct page)) - 1) <= 4) ? __ilog2_u32((sizeof(struct page)) - 1) : __ilog2_u64((sizeof(struct page)) - 1) ) + 1) : __order_base_2(sizeof(struct page)) )))) - 0x00200000) - (memstart_addr >> 12)) + (REC->pfn)), REC->pfn
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/mm_page_pcpu_drain/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/mm_page_pcpu_drain/format
new file mode 100644
index 0000000..bf8a553
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/mm_page_pcpu_drain/format
@@ -0,0 +1,13 @@
+name: mm_page_pcpu_drain
+ID: 260
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long pfn;	offset:8;	size:8;	signed:0;
+	field:unsigned int order;	offset:16;	size:4;	signed:0;
+	field:int migratetype;	offset:20;	size:4;	signed:1;
+
+print fmt: "page=%p pfn=%lu order=%d migratetype=%d", (((struct page *)(-(((-((((1UL))) << ((((39))) - 1))) - ((-((((1UL))) << ((39)))))) >> (12 - (( __builtin_constant_p(sizeof(struct page)) ? ( ((sizeof(struct page)) == 0 || (sizeof(struct page)) == 1) ? 0 : ( __builtin_constant_p((sizeof(struct page)) - 1) ? ( __builtin_constant_p((sizeof(struct page)) - 1) ? ( ((sizeof(struct page)) - 1) < 2 ? 0 : ((sizeof(struct page)) - 1) & (1ULL << 63) ? 63 : ((sizeof(struct page)) - 1) & (1ULL << 62) ? 62 : ((sizeof(struct page)) - 1) & (1ULL << 61) ? 61 : ((sizeof(struct page)) - 1) & (1ULL << 60) ? 60 : ((sizeof(struct page)) - 1) & (1ULL << 59) ? 59 : ((sizeof(struct page)) - 1) & (1ULL << 58) ? 58 : ((sizeof(struct page)) - 1) & (1ULL << 57) ? 57 : ((sizeof(struct page)) - 1) & (1ULL << 56) ? 56 : ((sizeof(struct page)) - 1) & (1ULL << 55) ? 55 : ((sizeof(struct page)) - 1) & (1ULL << 54) ? 54 : ((sizeof(struct page)) - 1) & (1ULL << 53) ? 53 : ((sizeof(struct page)) - 1) & (1ULL << 52) ? 52 : ((sizeof(struct page)) - 1) & (1ULL << 51) ? 51 : ((sizeof(struct page)) - 1) & (1ULL << 50) ? 50 : ((sizeof(struct page)) - 1) & (1ULL << 49) ? 49 : ((sizeof(struct page)) - 1) & (1ULL << 48) ? 48 : ((sizeof(struct page)) - 1) & (1ULL << 47) ? 47 : ((sizeof(struct page)) - 1) & (1ULL << 46) ? 46 : ((sizeof(struct page)) - 1) & (1ULL << 45) ? 45 : ((sizeof(struct page)) - 1) & (1ULL << 44) ? 44 : ((sizeof(struct page)) - 1) & (1ULL << 43) ? 43 : ((sizeof(struct page)) - 1) & (1ULL << 42) ? 42 : ((sizeof(struct page)) - 1) & (1ULL << 41) ? 41 : ((sizeof(struct page)) - 1) & (1ULL << 40) ? 40 : ((sizeof(struct page)) - 1) & (1ULL << 39) ? 39 : ((sizeof(struct page)) - 1) & (1ULL << 38) ? 38 : ((sizeof(struct page)) - 1) & (1ULL << 37) ? 37 : ((sizeof(struct page)) - 1) & (1ULL << 36) ? 36 : ((sizeof(struct page)) - 1) & (1ULL << 35) ? 35 : ((sizeof(struct page)) - 1) & (1ULL << 34) ? 34 : ((sizeof(struct page)) - 1) & (1ULL << 33) ? 33 : ((sizeof(struct page)) - 1) & (1ULL << 32) ? 32 : ((sizeof(struct page)) - 1) & (1ULL << 31) ? 31 : ((sizeof(struct page)) - 1) & (1ULL << 30) ? 30 : ((sizeof(struct page)) - 1) & (1ULL << 29) ? 29 : ((sizeof(struct page)) - 1) & (1ULL << 28) ? 28 : ((sizeof(struct page)) - 1) & (1ULL << 27) ? 27 : ((sizeof(struct page)) - 1) & (1ULL << 26) ? 26 : ((sizeof(struct page)) - 1) & (1ULL << 25) ? 25 : ((sizeof(struct page)) - 1) & (1ULL << 24) ? 24 : ((sizeof(struct page)) - 1) & (1ULL << 23) ? 23 : ((sizeof(struct page)) - 1) & (1ULL << 22) ? 22 : ((sizeof(struct page)) - 1) & (1ULL << 21) ? 21 : ((sizeof(struct page)) - 1) & (1ULL << 20) ? 20 : ((sizeof(struct page)) - 1) & (1ULL << 19) ? 19 : ((sizeof(struct page)) - 1) & (1ULL << 18) ? 18 : ((sizeof(struct page)) - 1) & (1ULL << 17) ? 17 : ((sizeof(struct page)) - 1) & (1ULL << 16) ? 16 : ((sizeof(struct page)) - 1) & (1ULL << 15) ? 15 : ((sizeof(struct page)) - 1) & (1ULL << 14) ? 14 : ((sizeof(struct page)) - 1) & (1ULL << 13) ? 13 : ((sizeof(struct page)) - 1) & (1ULL << 12) ? 12 : ((sizeof(struct page)) - 1) & (1ULL << 11) ? 11 : ((sizeof(struct page)) - 1) & (1ULL << 10) ? 10 : ((sizeof(struct page)) - 1) & (1ULL << 9) ? 9 : ((sizeof(struct page)) - 1) & (1ULL << 8) ? 8 : ((sizeof(struct page)) - 1) & (1ULL << 7) ? 7 : ((sizeof(struct page)) - 1) & (1ULL << 6) ? 6 : ((sizeof(struct page)) - 1) & (1ULL << 5) ? 5 : ((sizeof(struct page)) - 1) & (1ULL << 4) ? 4 : ((sizeof(struct page)) - 1) & (1ULL << 3) ? 3 : ((sizeof(struct page)) - 1) & (1ULL << 2) ? 2 : 1) : -1) : (sizeof((sizeof(struct page)) - 1) <= 4) ? __ilog2_u32((sizeof(struct page)) - 1) : __ilog2_u64((sizeof(struct page)) - 1) ) + 1) : __order_base_2(sizeof(struct page)) )))) - 0x00200000) - (memstart_addr >> 12)) + (REC->pfn)), REC->pfn, REC->order, REC->migratetype
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/rss_stat/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/rss_stat/format
new file mode 100644
index 0000000..8a9adde
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kmem/rss_stat/format
@@ -0,0 +1,14 @@
+name: rss_stat
+ID: 261
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int mm_id;	offset:8;	size:4;	signed:0;
+	field:unsigned int curr;	offset:12;	size:4;	signed:0;
+	field:int member;	offset:16;	size:4;	signed:1;
+	field:long size;	offset:24;	size:8;	signed:1;
+
+print fmt: "mm_id=%u curr=%d member=%d size=%ldB", REC->mm_id, REC->curr, REC->member, REC->size
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_access_fault/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_access_fault/format
new file mode 100644
index 0000000..357736a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_access_fault/format
@@ -0,0 +1,11 @@
+name: kvm_access_fault
+ID: 34
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long ipa;	offset:8;	size:8;	signed:0;
+
+print fmt: "IPA: %lx", REC->ipa
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_ack_irq/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_ack_irq/format
new file mode 100644
index 0000000..fe2b3e2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_ack_irq/format
@@ -0,0 +1,12 @@
+name: kvm_ack_irq
+ID: 26
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int irqchip;	offset:8;	size:4;	signed:0;
+	field:unsigned int pin;	offset:12;	size:4;	signed:0;
+
+print fmt: "irqchip %d pin %u", REC->irqchip, REC->pin
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_age_hva/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_age_hva/format
new file mode 100644
index 0000000..16382f6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_age_hva/format
@@ -0,0 +1,12 @@
+name: kvm_age_hva
+ID: 35
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long start;	offset:8;	size:8;	signed:0;
+	field:unsigned long end;	offset:16;	size:8;	signed:0;
+
+print fmt: "mmu notifier age hva: %#016lx -- %#016lx", REC->start, REC->end
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_age_page/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_age_page/format
new file mode 100644
index 0000000..4fddd2c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_age_page/format
@@ -0,0 +1,14 @@
+name: kvm_age_page
+ID: 27
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u64 hva;	offset:8;	size:8;	signed:0;
+	field:u64 gfn;	offset:16;	size:8;	signed:0;
+	field:u8 level;	offset:24;	size:1;	signed:0;
+	field:u8 referenced;	offset:25;	size:1;	signed:0;
+
+print fmt: "hva %llx gfn %llx level %u %s", REC->hva, REC->gfn, REC->level, REC->referenced ? "YOUNG" : "OLD"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_arm_clear_debug/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_arm_clear_debug/format
new file mode 100644
index 0000000..c76435d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_arm_clear_debug/format
@@ -0,0 +1,11 @@
+name: kvm_arm_clear_debug
+ID: 52
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__u32 guest_debug;	offset:8;	size:4;	signed:0;
+
+print fmt: "flags: 0x%08x", REC->guest_debug
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_arm_set_dreg32/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_arm_set_dreg32/format
new file mode 100644
index 0000000..cf02160
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_arm_set_dreg32/format
@@ -0,0 +1,12 @@
+name: kvm_arm_set_dreg32
+ID: 53
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * name;	offset:8;	size:8;	signed:0;
+	field:__u32 value;	offset:16;	size:4;	signed:0;
+
+print fmt: "%s: 0x%08x", REC->name, REC->value
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_arm_set_regset/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_arm_set_regset/format
new file mode 100644
index 0000000..053f7f8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_arm_set_regset/format
@@ -0,0 +1,14 @@
+name: kvm_arm_set_regset
+ID: 54
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * name;	offset:8;	size:8;	signed:0;
+	field:int len;	offset:16;	size:4;	signed:1;
+	field:u64 ctrls[16];	offset:24;	size:128;	signed:0;
+	field:u64 values[16];	offset:152;	size:128;	signed:0;
+
+print fmt: "%d %s CTRL:%s VALUE:%s", REC->len, REC->name, __print_array(REC->ctrls, REC->len, 8), __print_array(REC->values, REC->len, 8)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_arm_setup_debug/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_arm_setup_debug/format
new file mode 100644
index 0000000..465d350
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_arm_setup_debug/format
@@ -0,0 +1,12 @@
+name: kvm_arm_setup_debug
+ID: 55
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct kvm_vcpu * vcpu;	offset:8;	size:8;	signed:0;
+	field:__u32 guest_debug;	offset:16;	size:4;	signed:0;
+
+print fmt: "vcpu: %p, flags: 0x%08x", REC->vcpu, REC->guest_debug
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_entry/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_entry/format
new file mode 100644
index 0000000..0f4680c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_entry/format
@@ -0,0 +1,11 @@
+name: kvm_entry
+ID: 36
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long vcpu_pc;	offset:8;	size:8;	signed:0;
+
+print fmt: "PC: 0x%016lx", REC->vcpu_pc
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_exit/format
new file mode 100644
index 0000000..2038090
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_exit/format
@@ -0,0 +1,13 @@
+name: kvm_exit
+ID: 37
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int ret;	offset:8;	size:4;	signed:1;
+	field:unsigned int esr_ec;	offset:12;	size:4;	signed:0;
+	field:unsigned long vcpu_pc;	offset:16;	size:8;	signed:0;
+
+print fmt: "%s: HSR_EC: 0x%04x (%s), PC: 0x%016lx", __print_symbolic(REC->ret, {0, "IRQ" }, {1, "SERROR" }, {2, "TRAP" }, {0xbadca11, "HYP_GONE" }), REC->esr_ec, __print_symbolic(REC->esr_ec, { (0x00), "UNKNOWN" }, { (0x01), "WFx" }, { (0x03), "CP15_32" }, { (0x04), "CP15_64" }, { (0x05), "CP14_MR" }, { (0x06), "CP14_LS" }, { (0x07), "FP_ASIMD" }, { (0x08), "CP10_ID" }, { (0x09), "PAC" }, { (0x0C), "CP14_64" }, { (0x15), "SVC64" }, { (0x16), "HVC64" }, { (0x17), "SMC64" }, { (0x18), "SYS64" }, { (0x19), "SVE" }, { (0x1f), "IMP_DEF" }, { (0x20), "IABT_LOW" }, { (0x21), "IABT_CUR" }, { (0x22), "PC_ALIGN" }, { (0x24), "DABT_LOW" }, { (0x25), "DABT_CUR" }, { (0x26), "SP_ALIGN" }, { (0x28), "FP_EXC32" }, { (0x2C), "FP_EXC64" }, { (0x2F), "SERROR" }, { (0x30), "BREAKPT_LOW" }, { (0x31), "BREAKPT_CUR" }, { (0x32), "SOFTSTP_LOW" }, { (0x33), "SOFTSTP_CUR" }, { (0x34), "WATCHPT_LOW" }, { (0x35), "WATCHPT_CUR" }, { (0x38), "BKPT32" }, { (0x3A), "VECTOR32" }, { (0x3C), "BRK64" }), REC->vcpu_pc
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_fpu/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_fpu/format
new file mode 100644
index 0000000..885107b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_fpu/format
@@ -0,0 +1,11 @@
+name: kvm_fpu
+ID: 28
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 load;	offset:8;	size:4;	signed:0;
+
+print fmt: "%s", __print_symbolic(REC->load, {0, "unload"}, {1, "load"})
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_get_timer_map/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_get_timer_map/format
new file mode 100644
index 0000000..07a183a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_get_timer_map/format
@@ -0,0 +1,14 @@
+name: kvm_get_timer_map
+ID: 38
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long vcpu_id;	offset:8;	size:8;	signed:0;
+	field:int direct_vtimer;	offset:16;	size:4;	signed:1;
+	field:int direct_ptimer;	offset:20;	size:4;	signed:1;
+	field:int emul_ptimer;	offset:24;	size:4;	signed:1;
+
+print fmt: "VCPU: %ld, dv: %d, dp: %d, ep: %d", REC->vcpu_id, REC->direct_vtimer, REC->direct_ptimer, REC->emul_ptimer
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_guest_fault/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_guest_fault/format
new file mode 100644
index 0000000..6550619
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_guest_fault/format
@@ -0,0 +1,14 @@
+name: kvm_guest_fault
+ID: 39
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long vcpu_pc;	offset:8;	size:8;	signed:0;
+	field:unsigned long hsr;	offset:16;	size:8;	signed:0;
+	field:unsigned long hxfar;	offset:24;	size:8;	signed:0;
+	field:unsigned long long ipa;	offset:32;	size:8;	signed:0;
+
+print fmt: "ipa %#llx, hsr %#08lx, hxfar %#08lx, pc %#016lx", REC->ipa, REC->hsr, REC->hxfar, REC->vcpu_pc
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_halt_poll_ns/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_halt_poll_ns/format
new file mode 100644
index 0000000..07695f8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_halt_poll_ns/format
@@ -0,0 +1,14 @@
+name: kvm_halt_poll_ns
+ID: 29
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:bool grow;	offset:8;	size:1;	signed:0;
+	field:unsigned int vcpu_id;	offset:12;	size:4;	signed:0;
+	field:unsigned int new;	offset:16;	size:4;	signed:0;
+	field:unsigned int old;	offset:20;	size:4;	signed:0;
+
+print fmt: "vcpu %u: halt_poll_ns %u (%s %u)", REC->vcpu_id, REC->new, REC->grow ? "grow" : "shrink", REC->old
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_handle_sys_reg/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_handle_sys_reg/format
new file mode 100644
index 0000000..3a5e388
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_handle_sys_reg/format
@@ -0,0 +1,11 @@
+name: kvm_handle_sys_reg
+ID: 56
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long hsr;	offset:8;	size:8;	signed:0;
+
+print fmt: "HSR 0x%08lx", REC->hsr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_hvc_arm64/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_hvc_arm64/format
new file mode 100644
index 0000000..c08706a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_hvc_arm64/format
@@ -0,0 +1,13 @@
+name: kvm_hvc_arm64
+ID: 57
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long vcpu_pc;	offset:8;	size:8;	signed:0;
+	field:unsigned long r0;	offset:16;	size:8;	signed:0;
+	field:unsigned long imm;	offset:24;	size:8;	signed:0;
+
+print fmt: "HVC at 0x%016lx (r0: 0x%016lx, imm: 0x%lx)", REC->vcpu_pc, REC->r0, REC->imm
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_irq_line/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_irq_line/format
new file mode 100644
index 0000000..e7b21cd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_irq_line/format
@@ -0,0 +1,14 @@
+name: kvm_irq_line
+ID: 40
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int type;	offset:8;	size:4;	signed:0;
+	field:int vcpu_idx;	offset:12;	size:4;	signed:1;
+	field:int irq_num;	offset:16;	size:4;	signed:1;
+	field:int level;	offset:20;	size:4;	signed:1;
+
+print fmt: "Inject %s interrupt (%d), vcpu->idx: %d, num: %d, level: %d", (REC->type == 0) ? "CPU" : (REC->type == 2) ? "VGIC PPI" : (REC->type == 1) ? "VGIC SPI" : "UNKNOWN", REC->type, REC->vcpu_idx, REC->irq_num, REC->level
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_mmio/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_mmio/format
new file mode 100644
index 0000000..1343bde
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_mmio/format
@@ -0,0 +1,14 @@
+name: kvm_mmio
+ID: 30
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 type;	offset:8;	size:4;	signed:0;
+	field:u32 len;	offset:12;	size:4;	signed:0;
+	field:u64 gpa;	offset:16;	size:8;	signed:0;
+	field:u64 val;	offset:24;	size:8;	signed:0;
+
+print fmt: "mmio %s len %u gpa 0x%llx val 0x%llx", __print_symbolic(REC->type, { 0, "unsatisfied-read" }, { 1, "read" }, { 2, "write" }), REC->len, REC->gpa, REC->val
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_mmio_emulate/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_mmio_emulate/format
new file mode 100644
index 0000000..fc89bc6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_mmio_emulate/format
@@ -0,0 +1,13 @@
+name: kvm_mmio_emulate
+ID: 41
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long vcpu_pc;	offset:8;	size:8;	signed:0;
+	field:unsigned long instr;	offset:16;	size:8;	signed:0;
+	field:unsigned long cpsr;	offset:24;	size:8;	signed:0;
+
+print fmt: "Emulate MMIO at: 0x%016lx (instr: %08lx, cpsr: %08lx)", REC->vcpu_pc, REC->instr, REC->cpsr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_set_guest_debug/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_set_guest_debug/format
new file mode 100644
index 0000000..b85e70d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_set_guest_debug/format
@@ -0,0 +1,12 @@
+name: kvm_set_guest_debug
+ID: 58
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct kvm_vcpu * vcpu;	offset:8;	size:8;	signed:0;
+	field:__u32 guest_debug;	offset:16;	size:4;	signed:0;
+
+print fmt: "vcpu: %p, flags: 0x%08x", REC->vcpu, REC->guest_debug
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_set_irq/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_set_irq/format
new file mode 100644
index 0000000..002a011
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_set_irq/format
@@ -0,0 +1,13 @@
+name: kvm_set_irq
+ID: 31
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int gsi;	offset:8;	size:4;	signed:0;
+	field:int level;	offset:12;	size:4;	signed:1;
+	field:int irq_source_id;	offset:16;	size:4;	signed:1;
+
+print fmt: "gsi %u level %d source %d", REC->gsi, REC->level, REC->irq_source_id
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_set_spte_hva/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_set_spte_hva/format
new file mode 100644
index 0000000..6851c2c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_set_spte_hva/format
@@ -0,0 +1,11 @@
+name: kvm_set_spte_hva
+ID: 42
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long hva;	offset:8;	size:8;	signed:0;
+
+print fmt: "mmu notifier set pte hva: %#016lx", REC->hva
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_set_way_flush/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_set_way_flush/format
new file mode 100644
index 0000000..3b0d873
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_set_way_flush/format
@@ -0,0 +1,12 @@
+name: kvm_set_way_flush
+ID: 43
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long vcpu_pc;	offset:8;	size:8;	signed:0;
+	field:bool cache;	offset:16;	size:1;	signed:0;
+
+print fmt: "S/W flush at 0x%016lx (cache %s)", REC->vcpu_pc, REC->cache ? "on" : "off"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_sys_access/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_sys_access/format
new file mode 100644
index 0000000..2e10f27
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_sys_access/format
@@ -0,0 +1,18 @@
+name: kvm_sys_access
+ID: 59
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long vcpu_pc;	offset:8;	size:8;	signed:0;
+	field:bool is_write;	offset:16;	size:1;	signed:0;
+	field:const char * name;	offset:24;	size:8;	signed:0;
+	field:u8 Op0;	offset:32;	size:1;	signed:0;
+	field:u8 Op1;	offset:33;	size:1;	signed:0;
+	field:u8 CRn;	offset:34;	size:1;	signed:0;
+	field:u8 CRm;	offset:35;	size:1;	signed:0;
+	field:u8 Op2;	offset:36;	size:1;	signed:0;
+
+print fmt: "PC: %lx %s (%d,%d,%d,%d,%d) %s", REC->vcpu_pc, REC->name ?: "UNKN", REC->Op0, REC->Op1, REC->CRn, REC->CRm, REC->Op2, REC->is_write ? "write" : "read"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_test_age_hva/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_test_age_hva/format
new file mode 100644
index 0000000..e259c1c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_test_age_hva/format
@@ -0,0 +1,11 @@
+name: kvm_test_age_hva
+ID: 44
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long hva;	offset:8;	size:8;	signed:0;
+
+print fmt: "mmu notifier test age hva: %#016lx", REC->hva
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_timer_emulate/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_timer_emulate/format
new file mode 100644
index 0000000..f56676c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_timer_emulate/format
@@ -0,0 +1,12 @@
+name: kvm_timer_emulate
+ID: 45
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int timer_idx;	offset:8;	size:4;	signed:1;
+	field:bool should_fire;	offset:12;	size:1;	signed:0;
+
+print fmt: "arch_timer_ctx_index: %d (should_fire: %d)", REC->timer_idx, REC->should_fire
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_timer_hrtimer_expire/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_timer_hrtimer_expire/format
new file mode 100644
index 0000000..1874d57
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_timer_hrtimer_expire/format
@@ -0,0 +1,11 @@
+name: kvm_timer_hrtimer_expire
+ID: 46
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int timer_idx;	offset:8;	size:4;	signed:1;
+
+print fmt: "arch_timer_ctx_index: %d", REC->timer_idx
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_timer_restore_state/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_timer_restore_state/format
new file mode 100644
index 0000000..b8b4e33
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_timer_restore_state/format
@@ -0,0 +1,13 @@
+name: kvm_timer_restore_state
+ID: 47
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long ctl;	offset:8;	size:8;	signed:0;
+	field:unsigned long long cval;	offset:16;	size:8;	signed:0;
+	field:int timer_idx;	offset:24;	size:4;	signed:1;
+
+print fmt: "CTL: %#08lx CVAL: %#16llx arch_timer_ctx_index: %d", REC->ctl, REC->cval, REC->timer_idx
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_timer_save_state/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_timer_save_state/format
new file mode 100644
index 0000000..9e48332
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_timer_save_state/format
@@ -0,0 +1,13 @@
+name: kvm_timer_save_state
+ID: 48
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long ctl;	offset:8;	size:8;	signed:0;
+	field:unsigned long long cval;	offset:16;	size:8;	signed:0;
+	field:int timer_idx;	offset:24;	size:4;	signed:1;
+
+print fmt: "   CTL: %#08lx CVAL: %#16llx arch_timer_ctx_index: %d", REC->ctl, REC->cval, REC->timer_idx
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_timer_update_irq/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_timer_update_irq/format
new file mode 100644
index 0000000..211b220
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_timer_update_irq/format
@@ -0,0 +1,13 @@
+name: kvm_timer_update_irq
+ID: 49
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long vcpu_id;	offset:8;	size:8;	signed:0;
+	field:__u32 irq;	offset:16;	size:4;	signed:0;
+	field:int level;	offset:20;	size:4;	signed:1;
+
+print fmt: "VCPU: %ld, IRQ %d, level %d", REC->vcpu_id, REC->irq, REC->level
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_toggle_cache/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_toggle_cache/format
new file mode 100644
index 0000000..388af79
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_toggle_cache/format
@@ -0,0 +1,13 @@
+name: kvm_toggle_cache
+ID: 50
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long vcpu_pc;	offset:8;	size:8;	signed:0;
+	field:bool was;	offset:16;	size:1;	signed:0;
+	field:bool now;	offset:17;	size:1;	signed:0;
+
+print fmt: "VM op at 0x%016lx (cache was %s, now %s)", REC->vcpu_pc, REC->was ? "on" : "off", REC->now ? "on" : "off"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_unmap_hva_range/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_unmap_hva_range/format
new file mode 100644
index 0000000..cb31a50
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_unmap_hva_range/format
@@ -0,0 +1,12 @@
+name: kvm_unmap_hva_range
+ID: 51
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long start;	offset:8;	size:8;	signed:0;
+	field:unsigned long end;	offset:16;	size:8;	signed:0;
+
+print fmt: "mmu notifier unmap range: %#016lx -- %#016lx", REC->start, REC->end
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_userspace_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_userspace_exit/format
new file mode 100644
index 0000000..b156993
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_userspace_exit/format
@@ -0,0 +1,12 @@
+name: kvm_userspace_exit
+ID: 32
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__u32 reason;	offset:8;	size:4;	signed:0;
+	field:int errno;	offset:12;	size:4;	signed:1;
+
+print fmt: "reason %s (%d)", REC->errno < 0 ? (REC->errno == -4 ? "restart" : "error") : __print_symbolic(REC->reason, { 0, "KVM_EXIT_" "UNKNOWN" }, { 1, "KVM_EXIT_" "EXCEPTION" }, { 2, "KVM_EXIT_" "IO" }, { 3, "KVM_EXIT_" "HYPERCALL" }, { 4, "KVM_EXIT_" "DEBUG" }, { 5, "KVM_EXIT_" "HLT" }, { 6, "KVM_EXIT_" "MMIO" }, { 7, "KVM_EXIT_" "IRQ_WINDOW_OPEN" }, { 8, "KVM_EXIT_" "SHUTDOWN" }, { 9, "KVM_EXIT_" "FAIL_ENTRY" }, { 10, "KVM_EXIT_" "INTR" }, { 11, "KVM_EXIT_" "SET_TPR" }, { 12, "KVM_EXIT_" "TPR_ACCESS" }, { 13, "KVM_EXIT_" "S390_SIEIC" }, { 14, "KVM_EXIT_" "S390_RESET" }, { 15, "KVM_EXIT_" "DCR" }, { 16, "KVM_EXIT_" "NMI" }, { 17, "KVM_EXIT_" "INTERNAL_ERROR" }, { 18, "KVM_EXIT_" "OSI" }, { 19, "KVM_EXIT_" "PAPR_HCALL" }, { 20, "KVM_EXIT_" "S390_UCONTROL" }, { 21, "KVM_EXIT_" "WATCHDOG" }, { 22, "KVM_EXIT_" "S390_TSCH" }, { 23, "KVM_EXIT_" "EPR" }, { 24, "KVM_EXIT_" "SYSTEM_EVENT" }, { 25, "KVM_EXIT_" "S390_STSI" }, { 26, "KVM_EXIT_" "IOAPIC_EOI" }, { 27, "KVM_EXIT_" "HYPERV" }, { 28, "KVM_EXIT_" "ARM_NISV" }, { 29, "KVM_EXIT_" "X86_RDMSR" }, { 30, "KVM_EXIT_" "X86_WRMSR" }), REC->errno < 0 ? -REC->errno : REC->reason
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_vcpu_wakeup/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_vcpu_wakeup/format
new file mode 100644
index 0000000..66073ce
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_vcpu_wakeup/format
@@ -0,0 +1,13 @@
+name: kvm_vcpu_wakeup
+ID: 33
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__u64 ns;	offset:8;	size:8;	signed:0;
+	field:bool waited;	offset:16;	size:1;	signed:0;
+	field:bool valid;	offset:17;	size:1;	signed:0;
+
+print fmt: "%s time %lld ns, polling %s", REC->waited ? "wait" : "poll", REC->ns, REC->valid ? "valid" : "invalid"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_wfx_arm64/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_wfx_arm64/format
new file mode 100644
index 0000000..cde7c0e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/kvm_wfx_arm64/format
@@ -0,0 +1,12 @@
+name: kvm_wfx_arm64
+ID: 60
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long vcpu_pc;	offset:8;	size:8;	signed:0;
+	field:bool is_wfe;	offset:16;	size:1;	signed:0;
+
+print fmt: "guest executed wf%c at: 0x%016lx", REC->is_wfe ? 'e' : 'i', REC->vcpu_pc
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/trap_reg/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/trap_reg/format
new file mode 100644
index 0000000..4785558
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/trap_reg/format
@@ -0,0 +1,14 @@
+name: trap_reg
+ID: 61
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * fn;	offset:8;	size:8;	signed:0;
+	field:int reg;	offset:16;	size:4;	signed:1;
+	field:bool is_write;	offset:20;	size:1;	signed:0;
+	field:u64 write_value;	offset:24;	size:8;	signed:0;
+
+print fmt: "%s %s reg %d (0x%016llx)", REC->fn, REC->is_write?"write to":"read from", REC->reg, REC->write_value
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/vgic_update_irq_pending/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/vgic_update_irq_pending/format
new file mode 100644
index 0000000..d0b0ecb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kvm/vgic_update_irq_pending/format
@@ -0,0 +1,13 @@
+name: vgic_update_irq_pending
+ID: 62
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long vcpu_id;	offset:8;	size:8;	signed:0;
+	field:__u32 irq;	offset:16;	size:4;	signed:0;
+	field:bool level;	offset:20;	size:1;	signed:0;
+
+print fmt: "VCPU: %ld, IRQ %d, level: %d", REC->vcpu_id, REC->irq, REC->level
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kyber/kyber_adjust/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kyber/kyber_adjust/format
new file mode 100644
index 0000000..916cf1e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kyber/kyber_adjust/format
@@ -0,0 +1,13 @@
+name: kyber_adjust
+ID: 610
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:char domain[16];	offset:12;	size:16;	signed:0;
+	field:unsigned int depth;	offset:28;	size:4;	signed:0;
+
+print fmt: "%d,%d %s %u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->domain, REC->depth
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kyber/kyber_latency/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kyber/kyber_latency/format
new file mode 100644
index 0000000..e8f5a8a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kyber/kyber_latency/format
@@ -0,0 +1,17 @@
+name: kyber_latency
+ID: 611
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:char domain[16];	offset:12;	size:16;	signed:0;
+	field:char type[8];	offset:28;	size:8;	signed:0;
+	field:u8 percentile;	offset:36;	size:1;	signed:0;
+	field:u8 numerator;	offset:37;	size:1;	signed:0;
+	field:u8 denominator;	offset:38;	size:1;	signed:0;
+	field:unsigned int samples;	offset:40;	size:4;	signed:0;
+
+print fmt: "%d,%d %s %s p%u %u/%u samples=%u", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->domain, REC->type, REC->percentile, REC->numerator, REC->denominator, REC->samples
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kyber/kyber_throttled/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kyber/kyber_throttled/format
new file mode 100644
index 0000000..79e21fd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/kyber/kyber_throttled/format
@@ -0,0 +1,12 @@
+name: kyber_throttled
+ID: 612
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:char domain[16];	offset:12;	size:16;	signed:0;
+
+print fmt: "%d,%d %s", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->domain
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/delete_session/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/delete_session/format
new file mode 100644
index 0000000..5e0f6a5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/delete_session/format
@@ -0,0 +1,11 @@
+name: delete_session
+ID: 973
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/delete_tunnel/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/delete_tunnel/format
new file mode 100644
index 0000000..e246aee
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/delete_tunnel/format
@@ -0,0 +1,11 @@
+name: delete_tunnel
+ID: 974
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[20];	offset:8;	size:20;	signed:0;
+
+print fmt: "%s", REC->name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/free_session/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/free_session/format
new file mode 100644
index 0000000..ccca2c8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/free_session/format
@@ -0,0 +1,11 @@
+name: free_session
+ID: 975
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/free_tunnel/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/free_tunnel/format
new file mode 100644
index 0000000..17e8415
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/free_tunnel/format
@@ -0,0 +1,11 @@
+name: free_tunnel
+ID: 976
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[20];	offset:8;	size:20;	signed:0;
+
+print fmt: "%s", REC->name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/register_session/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/register_session/format
new file mode 100644
index 0000000..7786317
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/register_session/format
@@ -0,0 +1,16 @@
+name: register_session
+ID: 977
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+	field:u32 tid;	offset:40;	size:4;	signed:0;
+	field:u32 ptid;	offset:44;	size:4;	signed:0;
+	field:u32 sid;	offset:48;	size:4;	signed:0;
+	field:u32 psid;	offset:52;	size:4;	signed:0;
+	field:enum l2tp_pwtype pwtype;	offset:56;	size:4;	signed:0;
+
+print fmt: "%s: pseudowire=%s sid=%u psid=%u tid=%u ptid=%u", REC->name, __print_symbolic(REC->pwtype, { L2TP_PWTYPE_ETH_VLAN, "ETH_VLAN" }, { L2TP_PWTYPE_ETH, "ETH" }, { L2TP_PWTYPE_PPP, "PPP" }, { L2TP_PWTYPE_PPP_AC, "PPP_AC" }, { L2TP_PWTYPE_IP, "IP" }), REC->sid, REC->psid, REC->sid, REC->psid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/register_tunnel/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/register_tunnel/format
new file mode 100644
index 0000000..a4a8937
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/register_tunnel/format
@@ -0,0 +1,16 @@
+name: register_tunnel
+ID: 978
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[20];	offset:8;	size:20;	signed:0;
+	field:int fd;	offset:28;	size:4;	signed:1;
+	field:u32 tid;	offset:32;	size:4;	signed:0;
+	field:u32 ptid;	offset:36;	size:4;	signed:0;
+	field:int version;	offset:40;	size:4;	signed:1;
+	field:enum l2tp_encap_type encap;	offset:44;	size:4;	signed:0;
+
+print fmt: "%s: type=%s encap=%s version=L2TPv%d tid=%u ptid=%u fd=%d", REC->name, REC->fd > 0 ? "managed" : "unmanaged", __print_symbolic(REC->encap, { L2TP_ENCAPTYPE_UDP, "UDP" }, { L2TP_ENCAPTYPE_IP, "IP" }), REC->version, REC->tid, REC->ptid, REC->fd
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/session_pkt_expired/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/session_pkt_expired/format
new file mode 100644
index 0000000..4f36c14
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/session_pkt_expired/format
@@ -0,0 +1,14 @@
+name: session_pkt_expired
+ID: 979
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+	field:u32 pkt_ns;	offset:40;	size:4;	signed:0;
+	field:u32 my_nr;	offset:44;	size:4;	signed:0;
+	field:u32 reorder_q_len;	offset:48;	size:4;	signed:0;
+
+print fmt: "%s: pkt_ns=%u my_nr=%u reorder_q_len=%u", REC->name, REC->pkt_ns, REC->my_nr, REC->reorder_q_len
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/session_pkt_oos/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/session_pkt_oos/format
new file mode 100644
index 0000000..3db2418
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/session_pkt_oos/format
@@ -0,0 +1,14 @@
+name: session_pkt_oos
+ID: 980
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+	field:u32 pkt_ns;	offset:40;	size:4;	signed:0;
+	field:u32 my_nr;	offset:44;	size:4;	signed:0;
+	field:u32 reorder_q_len;	offset:48;	size:4;	signed:0;
+
+print fmt: "%s: pkt_ns=%u my_nr=%u reorder_q_len=%u", REC->name, REC->pkt_ns, REC->my_nr, REC->reorder_q_len
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/session_pkt_outside_rx_window/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/session_pkt_outside_rx_window/format
new file mode 100644
index 0000000..5a9df61
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/session_pkt_outside_rx_window/format
@@ -0,0 +1,14 @@
+name: session_pkt_outside_rx_window
+ID: 981
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+	field:u32 pkt_ns;	offset:40;	size:4;	signed:0;
+	field:u32 my_nr;	offset:44;	size:4;	signed:0;
+	field:u32 reorder_q_len;	offset:48;	size:4;	signed:0;
+
+print fmt: "%s: pkt_ns=%u my_nr=%u reorder_q_len=%u", REC->name, REC->pkt_ns, REC->my_nr, REC->reorder_q_len
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/session_seqnum_lns_disable/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/session_seqnum_lns_disable/format
new file mode 100644
index 0000000..44302aa
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/session_seqnum_lns_disable/format
@@ -0,0 +1,11 @@
+name: session_seqnum_lns_disable
+ID: 982
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/session_seqnum_lns_enable/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/session_seqnum_lns_enable/format
new file mode 100644
index 0000000..d989989
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/session_seqnum_lns_enable/format
@@ -0,0 +1,11 @@
+name: session_seqnum_lns_enable
+ID: 983
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/session_seqnum_reset/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/session_seqnum_reset/format
new file mode 100644
index 0000000..3e1d988
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/session_seqnum_reset/format
@@ -0,0 +1,13 @@
+name: session_seqnum_reset
+ID: 984
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+	field:u32 ns;	offset:40;	size:4;	signed:0;
+	field:u32 nr;	offset:44;	size:4;	signed:0;
+
+print fmt: "%s: ns=%u nr=%u", REC->name, REC->ns, REC->nr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/session_seqnum_update/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/session_seqnum_update/format
new file mode 100644
index 0000000..e6016f9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/l2tp/session_seqnum_update/format
@@ -0,0 +1,13 @@
+name: session_seqnum_update
+ID: 985
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+	field:u32 ns;	offset:40;	size:4;	signed:0;
+	field:u32 nr;	offset:44;	size:4;	signed:0;
+
+print fmt: "%s: ns=%u nr=%u", REC->name, REC->ns, REC->nr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_beacon_loss/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_beacon_loss/format
new file mode 100644
index 0000000..5137e5b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_beacon_loss/format
@@ -0,0 +1,14 @@
+name: api_beacon_loss
+ID: 1422
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:enum nl80211_iftype vif_type;	offset:8;	size:4;	signed:0;
+	field:void * sdata;	offset:16;	size:8;	signed:0;
+	field:bool p2p;	offset:24;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:28;	size:4;	signed:0;
+
+print fmt: " vif:%s(%d%s)", __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : ""
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_chswitch_done/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_chswitch_done/format
new file mode 100644
index 0000000..b3ca748
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_chswitch_done/format
@@ -0,0 +1,15 @@
+name: api_chswitch_done
+ID: 1423
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:enum nl80211_iftype vif_type;	offset:8;	size:4;	signed:0;
+	field:void * sdata;	offset:16;	size:8;	signed:0;
+	field:bool p2p;	offset:24;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:28;	size:4;	signed:0;
+	field:bool success;	offset:32;	size:1;	signed:0;
+
+print fmt: " vif:%s(%d%s) success=%d", __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->success
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_connection_loss/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_connection_loss/format
new file mode 100644
index 0000000..8747f16
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_connection_loss/format
@@ -0,0 +1,14 @@
+name: api_connection_loss
+ID: 1424
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:enum nl80211_iftype vif_type;	offset:8;	size:4;	signed:0;
+	field:void * sdata;	offset:16;	size:8;	signed:0;
+	field:bool p2p;	offset:24;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:28;	size:4;	signed:0;
+
+print fmt: " vif:%s(%d%s)", __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : ""
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_cqm_beacon_loss_notify/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_cqm_beacon_loss_notify/format
new file mode 100644
index 0000000..0e1a785
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_cqm_beacon_loss_notify/format
@@ -0,0 +1,15 @@
+name: api_cqm_beacon_loss_notify
+ID: 1425
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s)", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : ""
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_cqm_rssi_notify/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_cqm_rssi_notify/format
new file mode 100644
index 0000000..8545ecc
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_cqm_rssi_notify/format
@@ -0,0 +1,16 @@
+name: api_cqm_rssi_notify
+ID: 1426
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:enum nl80211_iftype vif_type;	offset:8;	size:4;	signed:0;
+	field:void * sdata;	offset:16;	size:8;	signed:0;
+	field:bool p2p;	offset:24;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:28;	size:4;	signed:0;
+	field:u32 rssi_event;	offset:32;	size:4;	signed:0;
+	field:s32 rssi_level;	offset:36;	size:4;	signed:1;
+
+print fmt: " vif:%s(%d%s) event:%d rssi:%d", __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->rssi_event, REC->rssi_level
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_enable_rssi_reports/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_enable_rssi_reports/format
new file mode 100644
index 0000000..1ca1c62
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_enable_rssi_reports/format
@@ -0,0 +1,16 @@
+name: api_enable_rssi_reports
+ID: 1427
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:enum nl80211_iftype vif_type;	offset:8;	size:4;	signed:0;
+	field:void * sdata;	offset:16;	size:8;	signed:0;
+	field:bool p2p;	offset:24;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:28;	size:4;	signed:0;
+	field:int rssi_min_thold;	offset:32;	size:4;	signed:1;
+	field:int rssi_max_thold;	offset:36;	size:4;	signed:1;
+
+print fmt: " vif:%s(%d%s) rssi_min_thold =%d, rssi_max_thold = %d", __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->rssi_min_thold, REC->rssi_max_thold
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_eosp/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_eosp/format
new file mode 100644
index 0000000..973326c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_eosp/format
@@ -0,0 +1,12 @@
+name: api_eosp
+ID: 1428
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char sta_addr[6];	offset:40;	size:6;	signed:0;
+
+print fmt: "%s sta:%pM", REC->wiphy_name, REC->sta_addr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_gtk_rekey_notify/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_gtk_rekey_notify/format
new file mode 100644
index 0000000..6db285a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_gtk_rekey_notify/format
@@ -0,0 +1,16 @@
+name: api_gtk_rekey_notify
+ID: 1429
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:enum nl80211_iftype vif_type;	offset:8;	size:4;	signed:0;
+	field:void * sdata;	offset:16;	size:8;	signed:0;
+	field:bool p2p;	offset:24;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:28;	size:4;	signed:0;
+	field:u8 bssid[6];	offset:32;	size:6;	signed:0;
+	field:u8 replay_ctr[8];	offset:38;	size:8;	signed:0;
+
+print fmt: " vif:%s(%d%s)", __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : ""
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_radar_detected/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_radar_detected/format
new file mode 100644
index 0000000..7c5321d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_radar_detected/format
@@ -0,0 +1,11 @@
+name: api_radar_detected
+ID: 1430
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s radar detected", REC->wiphy_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_ready_on_channel/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_ready_on_channel/format
new file mode 100644
index 0000000..8a8be04
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_ready_on_channel/format
@@ -0,0 +1,11 @@
+name: api_ready_on_channel
+ID: 1431
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->wiphy_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_remain_on_channel_expired/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_remain_on_channel_expired/format
new file mode 100644
index 0000000..bdec61d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_remain_on_channel_expired/format
@@ -0,0 +1,11 @@
+name: api_remain_on_channel_expired
+ID: 1432
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->wiphy_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_restart_hw/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_restart_hw/format
new file mode 100644
index 0000000..8992ee0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_restart_hw/format
@@ -0,0 +1,11 @@
+name: api_restart_hw
+ID: 1433
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->wiphy_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_scan_completed/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_scan_completed/format
new file mode 100644
index 0000000..cb68c95
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_scan_completed/format
@@ -0,0 +1,12 @@
+name: api_scan_completed
+ID: 1434
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:bool aborted;	offset:40;	size:1;	signed:0;
+
+print fmt: "%s aborted:%d", REC->wiphy_name, REC->aborted
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_sched_scan_results/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_sched_scan_results/format
new file mode 100644
index 0000000..a2d06a8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_sched_scan_results/format
@@ -0,0 +1,11 @@
+name: api_sched_scan_results
+ID: 1435
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->wiphy_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_sched_scan_stopped/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_sched_scan_stopped/format
new file mode 100644
index 0000000..ed510d8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_sched_scan_stopped/format
@@ -0,0 +1,11 @@
+name: api_sched_scan_stopped
+ID: 1436
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->wiphy_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_send_eosp_nullfunc/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_send_eosp_nullfunc/format
new file mode 100644
index 0000000..308b886
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_send_eosp_nullfunc/format
@@ -0,0 +1,13 @@
+name: api_send_eosp_nullfunc
+ID: 1437
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char sta_addr[6];	offset:40;	size:6;	signed:0;
+	field:u8 tid;	offset:46;	size:1;	signed:0;
+
+print fmt: "%s sta:%pM tid:%d", REC->wiphy_name, REC->sta_addr, REC->tid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_sta_block_awake/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_sta_block_awake/format
new file mode 100644
index 0000000..812a82e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_sta_block_awake/format
@@ -0,0 +1,13 @@
+name: api_sta_block_awake
+ID: 1438
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char sta_addr[6];	offset:40;	size:6;	signed:0;
+	field:bool block;	offset:46;	size:1;	signed:0;
+
+print fmt: "%s sta:%pM block:%d", REC->wiphy_name, REC->sta_addr, REC->block
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_sta_set_buffered/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_sta_set_buffered/format
new file mode 100644
index 0000000..c527c1f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_sta_set_buffered/format
@@ -0,0 +1,14 @@
+name: api_sta_set_buffered
+ID: 1439
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char sta_addr[6];	offset:40;	size:6;	signed:0;
+	field:u8 tid;	offset:46;	size:1;	signed:0;
+	field:bool buffered;	offset:47;	size:1;	signed:0;
+
+print fmt: "%s sta:%pM tid:%d buffered:%d", REC->wiphy_name, REC->sta_addr, REC->tid, REC->buffered
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_start_tx_ba_cb/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_start_tx_ba_cb/format
new file mode 100644
index 0000000..3236589
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_start_tx_ba_cb/format
@@ -0,0 +1,16 @@
+name: api_start_tx_ba_cb
+ID: 1440
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:enum nl80211_iftype vif_type;	offset:8;	size:4;	signed:0;
+	field:void * sdata;	offset:16;	size:8;	signed:0;
+	field:bool p2p;	offset:24;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:28;	size:4;	signed:0;
+	field:u8 ra[6];	offset:32;	size:6;	signed:0;
+	field:u16 tid;	offset:38;	size:2;	signed:0;
+
+print fmt: " vif:%s(%d%s) ra:%pM tid:%d", __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->ra, REC->tid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_start_tx_ba_session/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_start_tx_ba_session/format
new file mode 100644
index 0000000..aa280ae
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_start_tx_ba_session/format
@@ -0,0 +1,12 @@
+name: api_start_tx_ba_session
+ID: 1441
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char sta_addr[6];	offset:8;	size:6;	signed:0;
+	field:u16 tid;	offset:14;	size:2;	signed:0;
+
+print fmt: " sta:%pM tid:%d", REC->sta_addr, REC->tid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_stop_tx_ba_cb/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_stop_tx_ba_cb/format
new file mode 100644
index 0000000..4c75a1d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_stop_tx_ba_cb/format
@@ -0,0 +1,16 @@
+name: api_stop_tx_ba_cb
+ID: 1442
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:enum nl80211_iftype vif_type;	offset:8;	size:4;	signed:0;
+	field:void * sdata;	offset:16;	size:8;	signed:0;
+	field:bool p2p;	offset:24;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:28;	size:4;	signed:0;
+	field:u8 ra[6];	offset:32;	size:6;	signed:0;
+	field:u16 tid;	offset:38;	size:2;	signed:0;
+
+print fmt: " vif:%s(%d%s) ra:%pM tid:%d", __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->ra, REC->tid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_stop_tx_ba_session/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_stop_tx_ba_session/format
new file mode 100644
index 0000000..e7167ef
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/api_stop_tx_ba_session/format
@@ -0,0 +1,12 @@
+name: api_stop_tx_ba_session
+ID: 1443
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char sta_addr[6];	offset:8;	size:6;	signed:0;
+	field:u16 tid;	offset:14;	size:2;	signed:0;
+
+print fmt: " sta:%pM tid:%d", REC->sta_addr, REC->tid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_abort_channel_switch/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_abort_channel_switch/format
new file mode 100644
index 0000000..e84f5a5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_abort_channel_switch/format
@@ -0,0 +1,15 @@
+name: drv_abort_channel_switch
+ID: 1444
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s)", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : ""
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_abort_pmsr/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_abort_pmsr/format
new file mode 100644
index 0000000..b7af724
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_abort_pmsr/format
@@ -0,0 +1,15 @@
+name: drv_abort_pmsr
+ID: 1445
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s)", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : ""
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_add_chanctx/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_add_chanctx/format
new file mode 100644
index 0000000..c7abf81
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_add_chanctx/format
@@ -0,0 +1,25 @@
+name: drv_add_chanctx
+ID: 1446
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 control_freq;	offset:40;	size:4;	signed:0;
+	field:u32 freq_offset;	offset:44;	size:4;	signed:0;
+	field:u32 chan_width;	offset:48;	size:4;	signed:0;
+	field:u32 center_freq1;	offset:52;	size:4;	signed:0;
+	field:u32 freq1_offset;	offset:56;	size:4;	signed:0;
+	field:u32 center_freq2;	offset:60;	size:4;	signed:0;
+	field:u32 min_control_freq;	offset:64;	size:4;	signed:0;
+	field:u32 min_freq_offset;	offset:68;	size:4;	signed:0;
+	field:u32 min_chan_width;	offset:72;	size:4;	signed:0;
+	field:u32 min_center_freq1;	offset:76;	size:4;	signed:0;
+	field:u32 min_freq1_offset;	offset:80;	size:4;	signed:0;
+	field:u32 min_center_freq2;	offset:84;	size:4;	signed:0;
+	field:u8 rx_chains_static;	offset:88;	size:1;	signed:0;
+	field:u8 rx_chains_dynamic;	offset:89;	size:1;	signed:0;
+
+print fmt: "%s control:%d.%03d MHz width:%d center: %d.%03d/%d MHz min_control:%d.%03d MHz min_width:%d min_center: %d.%03d/%d MHz chains:%d/%d", REC->wiphy_name, REC->control_freq, REC->freq_offset, REC->chan_width, REC->center_freq1, REC->freq1_offset, REC->center_freq2, REC->min_control_freq, REC->min_freq_offset, REC->min_chan_width, REC->min_center_freq1, REC->min_freq1_offset, REC->min_center_freq2, REC->rx_chains_static, REC->rx_chains_dynamic
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_add_interface/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_add_interface/format
new file mode 100644
index 0000000..7de6904
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_add_interface/format
@@ -0,0 +1,16 @@
+name: drv_add_interface
+ID: 1447
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:char addr[6];	offset:64;	size:6;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) addr:%pM", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->addr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_add_nan_func/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_add_nan_func/format
new file mode 100644
index 0000000..cae5d0f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_add_nan_func/format
@@ -0,0 +1,17 @@
+name: drv_add_nan_func
+ID: 1448
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:u8 type;	offset:64;	size:1;	signed:0;
+	field:u8 inst_id;	offset:65;	size:1;	signed:0;
+
+print fmt: "%s vif:%s(%d%s), type: %u, inst_id: %u", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->type, REC->inst_id
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_allow_buffered_frames/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_allow_buffered_frames/format
new file mode 100644
index 0000000..ae26c6b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_allow_buffered_frames/format
@@ -0,0 +1,16 @@
+name: drv_allow_buffered_frames
+ID: 1449
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char sta_addr[6];	offset:40;	size:6;	signed:0;
+	field:u16 tids;	offset:46;	size:2;	signed:0;
+	field:int num_frames;	offset:48;	size:4;	signed:1;
+	field:int reason;	offset:52;	size:4;	signed:1;
+	field:bool more_data;	offset:56;	size:1;	signed:0;
+
+print fmt: "%s sta:%pM TIDs:0x%.4x frames:%d reason:%d more:%d", REC->wiphy_name, REC->sta_addr, REC->tids, REC->num_frames, REC->reason, REC->more_data
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_ampdu_action/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_ampdu_action/format
new file mode 100644
index 0000000..6ad4bfe
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_ampdu_action/format
@@ -0,0 +1,23 @@
+name: drv_ampdu_action
+ID: 1450
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:enum ieee80211_ampdu_mlme_action ieee80211_ampdu_mlme_action;	offset:64;	size:4;	signed:0;
+	field:char sta_addr[6];	offset:68;	size:6;	signed:0;
+	field:u16 tid;	offset:74;	size:2;	signed:0;
+	field:u16 ssn;	offset:76;	size:2;	signed:0;
+	field:u16 buf_size;	offset:78;	size:2;	signed:0;
+	field:bool amsdu;	offset:80;	size:1;	signed:0;
+	field:u16 timeout;	offset:82;	size:2;	signed:0;
+	field:u16 action;	offset:84;	size:2;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) sta:%pM tid %d, ssn %d, buf_size %u, amsdu %d, timeout %d action %d", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->sta_addr, REC->tid, REC->ssn, REC->buf_size, REC->amsdu, REC->timeout, REC->action
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_assign_vif_chanctx/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_assign_vif_chanctx/format
new file mode 100644
index 0000000..f25ac8c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_assign_vif_chanctx/format
@@ -0,0 +1,29 @@
+name: drv_assign_vif_chanctx
+ID: 1451
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:u32 control_freq;	offset:64;	size:4;	signed:0;
+	field:u32 freq_offset;	offset:68;	size:4;	signed:0;
+	field:u32 chan_width;	offset:72;	size:4;	signed:0;
+	field:u32 center_freq1;	offset:76;	size:4;	signed:0;
+	field:u32 freq1_offset;	offset:80;	size:4;	signed:0;
+	field:u32 center_freq2;	offset:84;	size:4;	signed:0;
+	field:u32 min_control_freq;	offset:88;	size:4;	signed:0;
+	field:u32 min_freq_offset;	offset:92;	size:4;	signed:0;
+	field:u32 min_chan_width;	offset:96;	size:4;	signed:0;
+	field:u32 min_center_freq1;	offset:100;	size:4;	signed:0;
+	field:u32 min_freq1_offset;	offset:104;	size:4;	signed:0;
+	field:u32 min_center_freq2;	offset:108;	size:4;	signed:0;
+	field:u8 rx_chains_static;	offset:112;	size:1;	signed:0;
+	field:u8 rx_chains_dynamic;	offset:113;	size:1;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) control:%d.%03d MHz width:%d center: %d.%03d/%d MHz min_control:%d.%03d MHz min_width:%d min_center: %d.%03d/%d MHz chains:%d/%d", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->control_freq, REC->freq_offset, REC->chan_width, REC->center_freq1, REC->freq1_offset, REC->center_freq2, REC->min_control_freq, REC->min_freq_offset, REC->min_chan_width, REC->min_center_freq1, REC->min_freq1_offset, REC->min_center_freq2, REC->rx_chains_static, REC->rx_chains_dynamic
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_bss_info_changed/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_bss_info_changed/format
new file mode 100644
index 0000000..dcd0716
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_bss_info_changed/format
@@ -0,0 +1,47 @@
+name: drv_bss_info_changed
+ID: 1452
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:u32 changed;	offset:64;	size:4;	signed:0;
+	field:bool assoc;	offset:68;	size:1;	signed:0;
+	field:bool ibss_joined;	offset:69;	size:1;	signed:0;
+	field:bool ibss_creator;	offset:70;	size:1;	signed:0;
+	field:u16 aid;	offset:72;	size:2;	signed:0;
+	field:bool cts;	offset:74;	size:1;	signed:0;
+	field:bool shortpre;	offset:75;	size:1;	signed:0;
+	field:bool shortslot;	offset:76;	size:1;	signed:0;
+	field:bool enable_beacon;	offset:77;	size:1;	signed:0;
+	field:u8 dtimper;	offset:78;	size:1;	signed:0;
+	field:u16 bcnint;	offset:80;	size:2;	signed:0;
+	field:u16 assoc_cap;	offset:82;	size:2;	signed:0;
+	field:u64 sync_tsf;	offset:88;	size:8;	signed:0;
+	field:u32 sync_device_ts;	offset:96;	size:4;	signed:0;
+	field:u8 sync_dtim_count;	offset:100;	size:1;	signed:0;
+	field:u32 basic_rates;	offset:104;	size:4;	signed:0;
+	field:int mcast_rate[NUM_NL80211_BANDS];	offset:108;	size:20;	signed:1;
+	field:u16 ht_operation_mode;	offset:128;	size:2;	signed:0;
+	field:s32 cqm_rssi_thold;	offset:132;	size:4;	signed:1;
+	field:s32 cqm_rssi_hyst;	offset:136;	size:4;	signed:1;
+	field:u32 channel_width;	offset:140;	size:4;	signed:0;
+	field:u32 channel_cfreq1;	offset:144;	size:4;	signed:0;
+	field:u32 channel_cfreq1_offset;	offset:148;	size:4;	signed:0;
+	field:__data_loc u32[] arp_addr_list;	offset:152;	size:4;	signed:0;
+	field:int arp_addr_cnt;	offset:156;	size:4;	signed:1;
+	field:bool qos;	offset:160;	size:1;	signed:0;
+	field:bool idle;	offset:161;	size:1;	signed:0;
+	field:bool ps;	offset:162;	size:1;	signed:0;
+	field:__data_loc u8[] ssid;	offset:164;	size:4;	signed:0;
+	field:bool hidden_ssid;	offset:168;	size:1;	signed:0;
+	field:int txpower;	offset:172;	size:4;	signed:1;
+	field:u8 p2p_oppps_ctwindow;	offset:176;	size:1;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) changed:%#x", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->changed
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_cancel_hw_scan/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_cancel_hw_scan/format
new file mode 100644
index 0000000..4cb78cb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_cancel_hw_scan/format
@@ -0,0 +1,15 @@
+name: drv_cancel_hw_scan
+ID: 1453
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s)", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : ""
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_cancel_remain_on_channel/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_cancel_remain_on_channel/format
new file mode 100644
index 0000000..9be84e1
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_cancel_remain_on_channel/format
@@ -0,0 +1,15 @@
+name: drv_cancel_remain_on_channel
+ID: 1454
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s)", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : ""
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_change_chanctx/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_change_chanctx/format
new file mode 100644
index 0000000..4a7977d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_change_chanctx/format
@@ -0,0 +1,26 @@
+name: drv_change_chanctx
+ID: 1455
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 control_freq;	offset:40;	size:4;	signed:0;
+	field:u32 freq_offset;	offset:44;	size:4;	signed:0;
+	field:u32 chan_width;	offset:48;	size:4;	signed:0;
+	field:u32 center_freq1;	offset:52;	size:4;	signed:0;
+	field:u32 freq1_offset;	offset:56;	size:4;	signed:0;
+	field:u32 center_freq2;	offset:60;	size:4;	signed:0;
+	field:u32 min_control_freq;	offset:64;	size:4;	signed:0;
+	field:u32 min_freq_offset;	offset:68;	size:4;	signed:0;
+	field:u32 min_chan_width;	offset:72;	size:4;	signed:0;
+	field:u32 min_center_freq1;	offset:76;	size:4;	signed:0;
+	field:u32 min_freq1_offset;	offset:80;	size:4;	signed:0;
+	field:u32 min_center_freq2;	offset:84;	size:4;	signed:0;
+	field:u8 rx_chains_static;	offset:88;	size:1;	signed:0;
+	field:u8 rx_chains_dynamic;	offset:89;	size:1;	signed:0;
+	field:u32 changed;	offset:92;	size:4;	signed:0;
+
+print fmt: "%s control:%d.%03d MHz width:%d center: %d.%03d/%d MHz min_control:%d.%03d MHz min_width:%d min_center: %d.%03d/%d MHz chains:%d/%d changed:%#x", REC->wiphy_name, REC->control_freq, REC->freq_offset, REC->chan_width, REC->center_freq1, REC->freq1_offset, REC->center_freq2, REC->min_control_freq, REC->min_freq_offset, REC->min_chan_width, REC->min_center_freq1, REC->min_freq1_offset, REC->min_center_freq2, REC->rx_chains_static, REC->rx_chains_dynamic, REC->changed
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_change_interface/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_change_interface/format
new file mode 100644
index 0000000..ce060ee
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_change_interface/format
@@ -0,0 +1,17 @@
+name: drv_change_interface
+ID: 1456
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:u32 new_type;	offset:64;	size:4;	signed:0;
+	field:bool new_p2p;	offset:68;	size:1;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) new type:%d%s", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->new_type, REC->new_p2p ? "/p2p" : ""
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_channel_switch/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_channel_switch/format
new file mode 100644
index 0000000..3e65230
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_channel_switch/format
@@ -0,0 +1,25 @@
+name: drv_channel_switch
+ID: 1457
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:u32 control_freq;	offset:64;	size:4;	signed:0;
+	field:u32 freq_offset;	offset:68;	size:4;	signed:0;
+	field:u32 chan_width;	offset:72;	size:4;	signed:0;
+	field:u32 center_freq1;	offset:76;	size:4;	signed:0;
+	field:u32 freq1_offset;	offset:80;	size:4;	signed:0;
+	field:u32 center_freq2;	offset:84;	size:4;	signed:0;
+	field:u64 timestamp;	offset:88;	size:8;	signed:0;
+	field:u32 device_timestamp;	offset:96;	size:4;	signed:0;
+	field:bool block_tx;	offset:100;	size:1;	signed:0;
+	field:u8 count;	offset:101;	size:1;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) new  control:%d.%03d MHz width:%d center: %d.%03d/%d MHz count:%d", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->control_freq, REC->freq_offset, REC->chan_width, REC->center_freq1, REC->freq1_offset, REC->center_freq2, REC->count
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_channel_switch_beacon/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_channel_switch_beacon/format
new file mode 100644
index 0000000..0c6a2c8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_channel_switch_beacon/format
@@ -0,0 +1,21 @@
+name: drv_channel_switch_beacon
+ID: 1458
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:u32 control_freq;	offset:64;	size:4;	signed:0;
+	field:u32 freq_offset;	offset:68;	size:4;	signed:0;
+	field:u32 chan_width;	offset:72;	size:4;	signed:0;
+	field:u32 center_freq1;	offset:76;	size:4;	signed:0;
+	field:u32 freq1_offset;	offset:80;	size:4;	signed:0;
+	field:u32 center_freq2;	offset:84;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) channel switch to  control:%d.%03d MHz width:%d center: %d.%03d/%d MHz", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->control_freq, REC->freq_offset, REC->chan_width, REC->center_freq1, REC->freq1_offset, REC->center_freq2
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_channel_switch_rx_beacon/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_channel_switch_rx_beacon/format
new file mode 100644
index 0000000..2e9471a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_channel_switch_rx_beacon/format
@@ -0,0 +1,25 @@
+name: drv_channel_switch_rx_beacon
+ID: 1459
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:u32 control_freq;	offset:64;	size:4;	signed:0;
+	field:u32 freq_offset;	offset:68;	size:4;	signed:0;
+	field:u32 chan_width;	offset:72;	size:4;	signed:0;
+	field:u32 center_freq1;	offset:76;	size:4;	signed:0;
+	field:u32 freq1_offset;	offset:80;	size:4;	signed:0;
+	field:u32 center_freq2;	offset:84;	size:4;	signed:0;
+	field:u64 timestamp;	offset:88;	size:8;	signed:0;
+	field:u32 device_timestamp;	offset:96;	size:4;	signed:0;
+	field:bool block_tx;	offset:100;	size:1;	signed:0;
+	field:u8 count;	offset:101;	size:1;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) received a channel switch beacon to  control:%d.%03d MHz width:%d center: %d.%03d/%d MHz count:%d block_tx:%d timestamp:%llu", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->control_freq, REC->freq_offset, REC->chan_width, REC->center_freq1, REC->freq1_offset, REC->center_freq2, REC->count, REC->block_tx, REC->timestamp
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_conf_tx/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_conf_tx/format
new file mode 100644
index 0000000..cede1bc
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_conf_tx/format
@@ -0,0 +1,21 @@
+name: drv_conf_tx
+ID: 1460
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:u16 ac;	offset:64;	size:2;	signed:0;
+	field:u16 txop;	offset:66;	size:2;	signed:0;
+	field:u16 cw_min;	offset:68;	size:2;	signed:0;
+	field:u16 cw_max;	offset:70;	size:2;	signed:0;
+	field:u8 aifs;	offset:72;	size:1;	signed:0;
+	field:bool uapsd;	offset:73;	size:1;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) AC:%d", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->ac
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_config/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_config/format
new file mode 100644
index 0000000..c5c9416
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_config/format
@@ -0,0 +1,25 @@
+name: drv_config
+ID: 1461
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 changed;	offset:40;	size:4;	signed:0;
+	field:u32 flags;	offset:44;	size:4;	signed:0;
+	field:int power_level;	offset:48;	size:4;	signed:1;
+	field:int dynamic_ps_timeout;	offset:52;	size:4;	signed:1;
+	field:u16 listen_interval;	offset:56;	size:2;	signed:0;
+	field:u8 long_frame_max_tx_count;	offset:58;	size:1;	signed:0;
+	field:u8 short_frame_max_tx_count;	offset:59;	size:1;	signed:0;
+	field:u32 control_freq;	offset:60;	size:4;	signed:0;
+	field:u32 freq_offset;	offset:64;	size:4;	signed:0;
+	field:u32 chan_width;	offset:68;	size:4;	signed:0;
+	field:u32 center_freq1;	offset:72;	size:4;	signed:0;
+	field:u32 freq1_offset;	offset:76;	size:4;	signed:0;
+	field:u32 center_freq2;	offset:80;	size:4;	signed:0;
+	field:int smps;	offset:84;	size:4;	signed:1;
+
+print fmt: "%s ch:%#x control:%d.%03d MHz width:%d center: %d.%03d/%d MHz", REC->wiphy_name, REC->changed, REC->control_freq, REC->freq_offset, REC->chan_width, REC->center_freq1, REC->freq1_offset, REC->center_freq2
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_config_iface_filter/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_config_iface_filter/format
new file mode 100644
index 0000000..3c238f6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_config_iface_filter/format
@@ -0,0 +1,17 @@
+name: drv_config_iface_filter
+ID: 1462
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:unsigned int filter_flags;	offset:64;	size:4;	signed:0;
+	field:unsigned int changed_flags;	offset:68;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) filter_flags: %#x changed_flags: %#x", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->filter_flags, REC->changed_flags
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_configure_filter/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_configure_filter/format
new file mode 100644
index 0000000..6c45ca4
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_configure_filter/format
@@ -0,0 +1,14 @@
+name: drv_configure_filter
+ID: 1463
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:unsigned int changed;	offset:40;	size:4;	signed:0;
+	field:unsigned int total;	offset:44;	size:4;	signed:0;
+	field:u64 multicast;	offset:48;	size:8;	signed:0;
+
+print fmt: "%s changed:%#x total:%#x", REC->wiphy_name, REC->changed, REC->total
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_del_nan_func/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_del_nan_func/format
new file mode 100644
index 0000000..9a753cd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_del_nan_func/format
@@ -0,0 +1,16 @@
+name: drv_del_nan_func
+ID: 1464
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:u8 instance_id;	offset:64;	size:1;	signed:0;
+
+print fmt: "%s vif:%s(%d%s), instance_id: %u", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->instance_id
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_event_callback/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_event_callback/format
new file mode 100644
index 0000000..29a9910
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_event_callback/format
@@ -0,0 +1,16 @@
+name: drv_event_callback
+ID: 1465
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:u32 type;	offset:64;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) event:%d", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->type
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_flush/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_flush/format
new file mode 100644
index 0000000..70328f8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_flush/format
@@ -0,0 +1,13 @@
+name: drv_flush
+ID: 1466
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:bool drop;	offset:40;	size:1;	signed:0;
+	field:u32 queues;	offset:44;	size:4;	signed:0;
+
+print fmt: "%s queues:0x%x drop:%d", REC->wiphy_name, REC->queues, REC->drop
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_antenna/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_antenna/format
new file mode 100644
index 0000000..00415fb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_antenna/format
@@ -0,0 +1,14 @@
+name: drv_get_antenna
+ID: 1467
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 tx_ant;	offset:40;	size:4;	signed:0;
+	field:u32 rx_ant;	offset:44;	size:4;	signed:0;
+	field:int ret;	offset:48;	size:4;	signed:1;
+
+print fmt: "%s tx_ant:%d rx_ant:%d ret:%d", REC->wiphy_name, REC->tx_ant, REC->rx_ant, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_et_sset_count/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_et_sset_count/format
new file mode 100644
index 0000000..221805a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_et_sset_count/format
@@ -0,0 +1,12 @@
+name: drv_get_et_sset_count
+ID: 1468
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 value;	offset:40;	size:4;	signed:0;
+
+print fmt: "%s value:%d", REC->wiphy_name, REC->value
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_et_stats/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_et_stats/format
new file mode 100644
index 0000000..1e9edef
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_et_stats/format
@@ -0,0 +1,11 @@
+name: drv_get_et_stats
+ID: 1469
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->wiphy_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_et_strings/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_et_strings/format
new file mode 100644
index 0000000..298a815
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_et_strings/format
@@ -0,0 +1,12 @@
+name: drv_get_et_strings
+ID: 1470
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 value;	offset:40;	size:4;	signed:0;
+
+print fmt: "%s value:%d", REC->wiphy_name, REC->value
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_expected_throughput/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_expected_throughput/format
new file mode 100644
index 0000000..7ec2bb0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_expected_throughput/format
@@ -0,0 +1,11 @@
+name: drv_get_expected_throughput
+ID: 1471
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char sta_addr[6];	offset:8;	size:6;	signed:0;
+
+print fmt: " sta:%pM", REC->sta_addr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_ftm_responder_stats/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_ftm_responder_stats/format
new file mode 100644
index 0000000..5797dcc
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_ftm_responder_stats/format
@@ -0,0 +1,15 @@
+name: drv_get_ftm_responder_stats
+ID: 1472
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s)", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : ""
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_key_seq/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_key_seq/format
new file mode 100644
index 0000000..d85633c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_key_seq/format
@@ -0,0 +1,15 @@
+name: drv_get_key_seq
+ID: 1473
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 cipher;	offset:40;	size:4;	signed:0;
+	field:u8 hw_key_idx;	offset:44;	size:1;	signed:0;
+	field:u8 flags;	offset:45;	size:1;	signed:0;
+	field:s8 keyidx;	offset:46;	size:1;	signed:1;
+
+print fmt: "%s cipher:0x%x, flags=%#x, keyidx=%d, hw_key_idx=%d", REC->wiphy_name, REC->cipher, REC->flags, REC->keyidx, REC->hw_key_idx
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_ringparam/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_ringparam/format
new file mode 100644
index 0000000..63faa55
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_ringparam/format
@@ -0,0 +1,15 @@
+name: drv_get_ringparam
+ID: 1474
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 tx;	offset:40;	size:4;	signed:0;
+	field:u32 tx_max;	offset:44;	size:4;	signed:0;
+	field:u32 rx;	offset:48;	size:4;	signed:0;
+	field:u32 rx_max;	offset:52;	size:4;	signed:0;
+
+print fmt: "%s tx:%d tx_max %d rx %d rx_max %d", REC->wiphy_name, REC->tx, REC->tx_max, REC->rx, REC->rx_max
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_stats/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_stats/format
new file mode 100644
index 0000000..5ad7f8c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_stats/format
@@ -0,0 +1,16 @@
+name: drv_get_stats
+ID: 1475
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:int ret;	offset:40;	size:4;	signed:1;
+	field:unsigned int ackfail;	offset:44;	size:4;	signed:0;
+	field:unsigned int rtsfail;	offset:48;	size:4;	signed:0;
+	field:unsigned int fcserr;	offset:52;	size:4;	signed:0;
+	field:unsigned int rtssucc;	offset:56;	size:4;	signed:0;
+
+print fmt: "%s ret:%d", REC->wiphy_name, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_survey/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_survey/format
new file mode 100644
index 0000000..c0b4f7d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_survey/format
@@ -0,0 +1,12 @@
+name: drv_get_survey
+ID: 1476
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:int idx;	offset:40;	size:4;	signed:1;
+
+print fmt: "%s idx:%d", REC->wiphy_name, REC->idx
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_tsf/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_tsf/format
new file mode 100644
index 0000000..768f764
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_tsf/format
@@ -0,0 +1,15 @@
+name: drv_get_tsf
+ID: 1477
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s)", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : ""
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_txpower/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_txpower/format
new file mode 100644
index 0000000..34f2072
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_get_txpower/format
@@ -0,0 +1,17 @@
+name: drv_get_txpower
+ID: 1478
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:int dbm;	offset:64;	size:4;	signed:1;
+	field:int ret;	offset:68;	size:4;	signed:1;
+
+print fmt: "%s vif:%s(%d%s) dbm:%d ret:%d", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->dbm, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_hw_scan/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_hw_scan/format
new file mode 100644
index 0000000..c1d81b2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_hw_scan/format
@@ -0,0 +1,15 @@
+name: drv_hw_scan
+ID: 1479
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s)", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : ""
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_ipv6_addr_change/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_ipv6_addr_change/format
new file mode 100644
index 0000000..630f1ef
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_ipv6_addr_change/format
@@ -0,0 +1,15 @@
+name: drv_ipv6_addr_change
+ID: 1480
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s)", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : ""
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_join_ibss/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_join_ibss/format
new file mode 100644
index 0000000..7f55c55
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_join_ibss/format
@@ -0,0 +1,18 @@
+name: drv_join_ibss
+ID: 1481
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:u8 dtimper;	offset:64;	size:1;	signed:0;
+	field:u16 bcnint;	offset:66;	size:2;	signed:0;
+	field:__data_loc u8[] ssid;	offset:68;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s)", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : ""
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_leave_ibss/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_leave_ibss/format
new file mode 100644
index 0000000..3076a92
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_leave_ibss/format
@@ -0,0 +1,15 @@
+name: drv_leave_ibss
+ID: 1482
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s)", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : ""
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_mgd_prepare_tx/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_mgd_prepare_tx/format
new file mode 100644
index 0000000..af1ddc7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_mgd_prepare_tx/format
@@ -0,0 +1,16 @@
+name: drv_mgd_prepare_tx
+ID: 1483
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:u32 duration;	offset:64;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) duration: %u", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->duration
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_mgd_protect_tdls_discover/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_mgd_protect_tdls_discover/format
new file mode 100644
index 0000000..ee7e276
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_mgd_protect_tdls_discover/format
@@ -0,0 +1,15 @@
+name: drv_mgd_protect_tdls_discover
+ID: 1484
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s)", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : ""
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_nan_change_conf/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_nan_change_conf/format
new file mode 100644
index 0000000..bb2b0f5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_nan_change_conf/format
@@ -0,0 +1,18 @@
+name: drv_nan_change_conf
+ID: 1485
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:u8 master_pref;	offset:64;	size:1;	signed:0;
+	field:u8 bands;	offset:65;	size:1;	signed:0;
+	field:u32 changes;	offset:68;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s), master preference: %u, bands: 0x%0x, changes: 0x%x", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->master_pref, REC->bands, REC->changes
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_offchannel_tx_cancel_wait/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_offchannel_tx_cancel_wait/format
new file mode 100644
index 0000000..f33fb3a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_offchannel_tx_cancel_wait/format
@@ -0,0 +1,11 @@
+name: drv_offchannel_tx_cancel_wait
+ID: 1486
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->wiphy_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_offset_tsf/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_offset_tsf/format
new file mode 100644
index 0000000..d591fea
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_offset_tsf/format
@@ -0,0 +1,16 @@
+name: drv_offset_tsf
+ID: 1487
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:s64 tsf_offset;	offset:64;	size:8;	signed:1;
+
+print fmt: "%s vif:%s(%d%s) tsf offset:%lld", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", (unsigned long long)REC->tsf_offset
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_post_channel_switch/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_post_channel_switch/format
new file mode 100644
index 0000000..8754c99
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_post_channel_switch/format
@@ -0,0 +1,15 @@
+name: drv_post_channel_switch
+ID: 1488
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s)", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : ""
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_pre_channel_switch/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_pre_channel_switch/format
new file mode 100644
index 0000000..c606607
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_pre_channel_switch/format
@@ -0,0 +1,25 @@
+name: drv_pre_channel_switch
+ID: 1489
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:u32 control_freq;	offset:64;	size:4;	signed:0;
+	field:u32 freq_offset;	offset:68;	size:4;	signed:0;
+	field:u32 chan_width;	offset:72;	size:4;	signed:0;
+	field:u32 center_freq1;	offset:76;	size:4;	signed:0;
+	field:u32 freq1_offset;	offset:80;	size:4;	signed:0;
+	field:u32 center_freq2;	offset:84;	size:4;	signed:0;
+	field:u64 timestamp;	offset:88;	size:8;	signed:0;
+	field:u32 device_timestamp;	offset:96;	size:4;	signed:0;
+	field:bool block_tx;	offset:100;	size:1;	signed:0;
+	field:u8 count;	offset:101;	size:1;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) prepare channel switch to  control:%d.%03d MHz width:%d center: %d.%03d/%d MHz count:%d block_tx:%d timestamp:%llu", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->control_freq, REC->freq_offset, REC->chan_width, REC->center_freq1, REC->freq1_offset, REC->center_freq2, REC->count, REC->block_tx, REC->timestamp
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_prepare_multicast/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_prepare_multicast/format
new file mode 100644
index 0000000..aca854c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_prepare_multicast/format
@@ -0,0 +1,12 @@
+name: drv_prepare_multicast
+ID: 1490
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:int mc_count;	offset:40;	size:4;	signed:1;
+
+print fmt: "%s prepare mc (%d)", REC->wiphy_name, REC->mc_count
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_reconfig_complete/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_reconfig_complete/format
new file mode 100644
index 0000000..7e83fb5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_reconfig_complete/format
@@ -0,0 +1,12 @@
+name: drv_reconfig_complete
+ID: 1491
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u8 reconfig_type;	offset:40;	size:1;	signed:0;
+
+print fmt: "%s reconfig_type:%d", REC->wiphy_name, REC->reconfig_type
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_release_buffered_frames/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_release_buffered_frames/format
new file mode 100644
index 0000000..7624400
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_release_buffered_frames/format
@@ -0,0 +1,16 @@
+name: drv_release_buffered_frames
+ID: 1492
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char sta_addr[6];	offset:40;	size:6;	signed:0;
+	field:u16 tids;	offset:46;	size:2;	signed:0;
+	field:int num_frames;	offset:48;	size:4;	signed:1;
+	field:int reason;	offset:52;	size:4;	signed:1;
+	field:bool more_data;	offset:56;	size:1;	signed:0;
+
+print fmt: "%s sta:%pM TIDs:0x%.4x frames:%d reason:%d more:%d", REC->wiphy_name, REC->sta_addr, REC->tids, REC->num_frames, REC->reason, REC->more_data
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_remain_on_channel/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_remain_on_channel/format
new file mode 100644
index 0000000..9ea51b9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_remain_on_channel/format
@@ -0,0 +1,19 @@
+name: drv_remain_on_channel
+ID: 1493
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:int center_freq;	offset:64;	size:4;	signed:1;
+	field:int freq_offset;	offset:68;	size:4;	signed:1;
+	field:unsigned int duration;	offset:72;	size:4;	signed:0;
+	field:u32 type;	offset:76;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) freq:%d.%03dMHz duration:%dms type=%d", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->center_freq, REC->freq_offset, REC->duration, REC->type
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_remove_chanctx/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_remove_chanctx/format
new file mode 100644
index 0000000..2032c1f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_remove_chanctx/format
@@ -0,0 +1,25 @@
+name: drv_remove_chanctx
+ID: 1494
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 control_freq;	offset:40;	size:4;	signed:0;
+	field:u32 freq_offset;	offset:44;	size:4;	signed:0;
+	field:u32 chan_width;	offset:48;	size:4;	signed:0;
+	field:u32 center_freq1;	offset:52;	size:4;	signed:0;
+	field:u32 freq1_offset;	offset:56;	size:4;	signed:0;
+	field:u32 center_freq2;	offset:60;	size:4;	signed:0;
+	field:u32 min_control_freq;	offset:64;	size:4;	signed:0;
+	field:u32 min_freq_offset;	offset:68;	size:4;	signed:0;
+	field:u32 min_chan_width;	offset:72;	size:4;	signed:0;
+	field:u32 min_center_freq1;	offset:76;	size:4;	signed:0;
+	field:u32 min_freq1_offset;	offset:80;	size:4;	signed:0;
+	field:u32 min_center_freq2;	offset:84;	size:4;	signed:0;
+	field:u8 rx_chains_static;	offset:88;	size:1;	signed:0;
+	field:u8 rx_chains_dynamic;	offset:89;	size:1;	signed:0;
+
+print fmt: "%s control:%d.%03d MHz width:%d center: %d.%03d/%d MHz min_control:%d.%03d MHz min_width:%d min_center: %d.%03d/%d MHz chains:%d/%d", REC->wiphy_name, REC->control_freq, REC->freq_offset, REC->chan_width, REC->center_freq1, REC->freq1_offset, REC->center_freq2, REC->min_control_freq, REC->min_freq_offset, REC->min_chan_width, REC->min_center_freq1, REC->min_freq1_offset, REC->min_center_freq2, REC->rx_chains_static, REC->rx_chains_dynamic
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_remove_interface/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_remove_interface/format
new file mode 100644
index 0000000..1b18b33
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_remove_interface/format
@@ -0,0 +1,16 @@
+name: drv_remove_interface
+ID: 1495
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:char addr[6];	offset:64;	size:6;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) addr:%pM", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->addr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_reset_tsf/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_reset_tsf/format
new file mode 100644
index 0000000..abe8b7f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_reset_tsf/format
@@ -0,0 +1,15 @@
+name: drv_reset_tsf
+ID: 1496
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s)", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : ""
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_resume/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_resume/format
new file mode 100644
index 0000000..0932b3c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_resume/format
@@ -0,0 +1,11 @@
+name: drv_resume
+ID: 1497
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->wiphy_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_return_bool/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_return_bool/format
new file mode 100644
index 0000000..84a1b17
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_return_bool/format
@@ -0,0 +1,12 @@
+name: drv_return_bool
+ID: 1498
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:bool ret;	offset:40;	size:1;	signed:0;
+
+print fmt: "%s - %s", REC->wiphy_name, (REC->ret) ? "true" : "false"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_return_int/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_return_int/format
new file mode 100644
index 0000000..2aa0dd3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_return_int/format
@@ -0,0 +1,12 @@
+name: drv_return_int
+ID: 1499
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:int ret;	offset:40;	size:4;	signed:1;
+
+print fmt: "%s - %d", REC->wiphy_name, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_return_u32/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_return_u32/format
new file mode 100644
index 0000000..cd8ae0f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_return_u32/format
@@ -0,0 +1,12 @@
+name: drv_return_u32
+ID: 1500
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 ret;	offset:40;	size:4;	signed:0;
+
+print fmt: "%s - %u", REC->wiphy_name, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_return_u64/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_return_u64/format
new file mode 100644
index 0000000..ecffbef
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_return_u64/format
@@ -0,0 +1,12 @@
+name: drv_return_u64
+ID: 1501
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u64 ret;	offset:40;	size:8;	signed:0;
+
+print fmt: "%s - %llu", REC->wiphy_name, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_return_void/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_return_void/format
new file mode 100644
index 0000000..5055c18
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_return_void/format
@@ -0,0 +1,11 @@
+name: drv_return_void
+ID: 1502
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->wiphy_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sched_scan_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sched_scan_start/format
new file mode 100644
index 0000000..107c929
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sched_scan_start/format
@@ -0,0 +1,15 @@
+name: drv_sched_scan_start
+ID: 1503
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s)", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : ""
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sched_scan_stop/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sched_scan_stop/format
new file mode 100644
index 0000000..c1ff936
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sched_scan_stop/format
@@ -0,0 +1,15 @@
+name: drv_sched_scan_stop
+ID: 1504
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s)", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : ""
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_antenna/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_antenna/format
new file mode 100644
index 0000000..710083d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_antenna/format
@@ -0,0 +1,14 @@
+name: drv_set_antenna
+ID: 1505
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 tx_ant;	offset:40;	size:4;	signed:0;
+	field:u32 rx_ant;	offset:44;	size:4;	signed:0;
+	field:int ret;	offset:48;	size:4;	signed:1;
+
+print fmt: "%s tx_ant:%d rx_ant:%d ret:%d", REC->wiphy_name, REC->tx_ant, REC->rx_ant, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_bitrate_mask/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_bitrate_mask/format
new file mode 100644
index 0000000..bc6802a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_bitrate_mask/format
@@ -0,0 +1,17 @@
+name: drv_set_bitrate_mask
+ID: 1506
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:u32 legacy_2g;	offset:64;	size:4;	signed:0;
+	field:u32 legacy_5g;	offset:68;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) 2G Mask:0x%x 5G Mask:0x%x", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->legacy_2g, REC->legacy_5g
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_coverage_class/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_coverage_class/format
new file mode 100644
index 0000000..f7d70f1
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_coverage_class/format
@@ -0,0 +1,12 @@
+name: drv_set_coverage_class
+ID: 1507
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:s16 value;	offset:40;	size:2;	signed:1;
+
+print fmt: "%s value:%d", REC->wiphy_name, REC->value
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_default_unicast_key/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_default_unicast_key/format
new file mode 100644
index 0000000..2495fb3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_default_unicast_key/format
@@ -0,0 +1,16 @@
+name: drv_set_default_unicast_key
+ID: 1508
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:int key_idx;	offset:64;	size:4;	signed:1;
+
+print fmt: "%s vif:%s(%d%s) key_idx:%d", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->key_idx
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_frag_threshold/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_frag_threshold/format
new file mode 100644
index 0000000..2ad7acc
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_frag_threshold/format
@@ -0,0 +1,12 @@
+name: drv_set_frag_threshold
+ID: 1509
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 value;	offset:40;	size:4;	signed:0;
+
+print fmt: "%s value:%d", REC->wiphy_name, REC->value
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_key/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_key/format
new file mode 100644
index 0000000..460f148
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_key/format
@@ -0,0 +1,20 @@
+name: drv_set_key
+ID: 1510
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:char sta_addr[6];	offset:64;	size:6;	signed:0;
+	field:u32 cipher;	offset:72;	size:4;	signed:0;
+	field:u8 hw_key_idx;	offset:76;	size:1;	signed:0;
+	field:u8 flags;	offset:77;	size:1;	signed:0;
+	field:s8 keyidx;	offset:78;	size:1;	signed:1;
+
+print fmt: "%s vif:%s(%d%s) sta:%pM cipher:0x%x, flags=%#x, keyidx=%d, hw_key_idx=%d", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->sta_addr, REC->cipher, REC->flags, REC->keyidx, REC->hw_key_idx
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_rekey_data/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_rekey_data/format
new file mode 100644
index 0000000..231af95
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_rekey_data/format
@@ -0,0 +1,18 @@
+name: drv_set_rekey_data
+ID: 1511
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:u8 kek[16];	offset:64;	size:16;	signed:0;
+	field:u8 kck[16];	offset:80;	size:16;	signed:0;
+	field:u8 replay_ctr[8];	offset:96;	size:8;	signed:0;
+
+print fmt: "%s vif:%s(%d%s)", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : ""
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_ringparam/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_ringparam/format
new file mode 100644
index 0000000..ff7c0c3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_ringparam/format
@@ -0,0 +1,13 @@
+name: drv_set_ringparam
+ID: 1512
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 tx;	offset:40;	size:4;	signed:0;
+	field:u32 rx;	offset:44;	size:4;	signed:0;
+
+print fmt: "%s tx:%d rx %d", REC->wiphy_name, REC->tx, REC->rx
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_rts_threshold/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_rts_threshold/format
new file mode 100644
index 0000000..ede2654
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_rts_threshold/format
@@ -0,0 +1,12 @@
+name: drv_set_rts_threshold
+ID: 1513
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u32 value;	offset:40;	size:4;	signed:0;
+
+print fmt: "%s value:%d", REC->wiphy_name, REC->value
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_tim/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_tim/format
new file mode 100644
index 0000000..a5c1c88
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_tim/format
@@ -0,0 +1,13 @@
+name: drv_set_tim
+ID: 1514
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:char sta_addr[6];	offset:40;	size:6;	signed:0;
+	field:bool set;	offset:46;	size:1;	signed:0;
+
+print fmt: "%s sta:%pM set:%d", REC->wiphy_name, REC->sta_addr, REC->set
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_tsf/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_tsf/format
new file mode 100644
index 0000000..e6049bd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_tsf/format
@@ -0,0 +1,16 @@
+name: drv_set_tsf
+ID: 1515
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:u64 tsf;	offset:64;	size:8;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) tsf:%llu", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", (unsigned long long)REC->tsf
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_wakeup/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_wakeup/format
new file mode 100644
index 0000000..a102656
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_set_wakeup/format
@@ -0,0 +1,12 @@
+name: drv_set_wakeup
+ID: 1516
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:bool enabled;	offset:40;	size:1;	signed:0;
+
+print fmt: "%s enabled:%d", REC->wiphy_name, REC->enabled
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_add/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_add/format
new file mode 100644
index 0000000..71403e4
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_add/format
@@ -0,0 +1,16 @@
+name: drv_sta_add
+ID: 1517
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:char sta_addr[6];	offset:64;	size:6;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) sta:%pM", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->sta_addr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_notify/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_notify/format
new file mode 100644
index 0000000..1f385d8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_notify/format
@@ -0,0 +1,17 @@
+name: drv_sta_notify
+ID: 1518
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:char sta_addr[6];	offset:64;	size:6;	signed:0;
+	field:u32 cmd;	offset:72;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) sta:%pM cmd:%d", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->sta_addr, REC->cmd
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_pre_rcu_remove/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_pre_rcu_remove/format
new file mode 100644
index 0000000..3b15b6d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_pre_rcu_remove/format
@@ -0,0 +1,16 @@
+name: drv_sta_pre_rcu_remove
+ID: 1519
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:char sta_addr[6];	offset:64;	size:6;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) sta:%pM", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->sta_addr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_rate_tbl_update/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_rate_tbl_update/format
new file mode 100644
index 0000000..cf9c27e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_rate_tbl_update/format
@@ -0,0 +1,16 @@
+name: drv_sta_rate_tbl_update
+ID: 1520
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:char sta_addr[6];	offset:64;	size:6;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) sta:%pM", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->sta_addr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_rc_update/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_rc_update/format
new file mode 100644
index 0000000..69f4f95
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_rc_update/format
@@ -0,0 +1,17 @@
+name: drv_sta_rc_update
+ID: 1521
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:char sta_addr[6];	offset:64;	size:6;	signed:0;
+	field:u32 changed;	offset:72;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) sta:%pM changed: 0x%x", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->sta_addr, REC->changed
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_remove/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_remove/format
new file mode 100644
index 0000000..80c0901
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_remove/format
@@ -0,0 +1,16 @@
+name: drv_sta_remove
+ID: 1522
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:char sta_addr[6];	offset:64;	size:6;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) sta:%pM", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->sta_addr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_set_4addr/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_set_4addr/format
new file mode 100644
index 0000000..52e219e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_set_4addr/format
@@ -0,0 +1,17 @@
+name: drv_sta_set_4addr
+ID: 1523
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:char sta_addr[6];	offset:64;	size:6;	signed:0;
+	field:bool enabled;	offset:70;	size:1;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) sta:%pM enabled:%d", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->sta_addr, REC->enabled
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_set_txpwr/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_set_txpwr/format
new file mode 100644
index 0000000..b29e246
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_set_txpwr/format
@@ -0,0 +1,18 @@
+name: drv_sta_set_txpwr
+ID: 1524
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:char sta_addr[6];	offset:64;	size:6;	signed:0;
+	field:s16 txpwr;	offset:70;	size:2;	signed:1;
+	field:u8 type;	offset:72;	size:1;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) sta:%pM txpwr: %d type %d", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->sta_addr, REC->txpwr, REC->type
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_state/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_state/format
new file mode 100644
index 0000000..d7b7fca
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_state/format
@@ -0,0 +1,18 @@
+name: drv_sta_state
+ID: 1525
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:char sta_addr[6];	offset:64;	size:6;	signed:0;
+	field:u32 old_state;	offset:72;	size:4;	signed:0;
+	field:u32 new_state;	offset:76;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) sta:%pM state: %d->%d", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->sta_addr, REC->old_state, REC->new_state
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_statistics/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_statistics/format
new file mode 100644
index 0000000..27a1cdb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sta_statistics/format
@@ -0,0 +1,16 @@
+name: drv_sta_statistics
+ID: 1526
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:char sta_addr[6];	offset:64;	size:6;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) sta:%pM", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->sta_addr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_start/format
new file mode 100644
index 0000000..427012f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_start/format
@@ -0,0 +1,11 @@
+name: drv_start
+ID: 1527
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->wiphy_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_start_ap/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_start_ap/format
new file mode 100644
index 0000000..efb8770
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_start_ap/format
@@ -0,0 +1,19 @@
+name: drv_start_ap
+ID: 1528
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:u8 dtimper;	offset:64;	size:1;	signed:0;
+	field:u16 bcnint;	offset:66;	size:2;	signed:0;
+	field:__data_loc u8[] ssid;	offset:68;	size:4;	signed:0;
+	field:bool hidden_ssid;	offset:72;	size:1;	signed:0;
+
+print fmt: "%s vif:%s(%d%s)", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : ""
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_start_nan/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_start_nan/format
new file mode 100644
index 0000000..93db22f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_start_nan/format
@@ -0,0 +1,17 @@
+name: drv_start_nan
+ID: 1529
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:u8 master_pref;	offset:64;	size:1;	signed:0;
+	field:u8 bands;	offset:65;	size:1;	signed:0;
+
+print fmt: "%s vif:%s(%d%s), master preference: %u, bands: 0x%0x", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->master_pref, REC->bands
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_start_pmsr/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_start_pmsr/format
new file mode 100644
index 0000000..15e3bfb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_start_pmsr/format
@@ -0,0 +1,15 @@
+name: drv_start_pmsr
+ID: 1530
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s)", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : ""
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_stop/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_stop/format
new file mode 100644
index 0000000..b5a66ae
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_stop/format
@@ -0,0 +1,11 @@
+name: drv_stop
+ID: 1531
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->wiphy_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_stop_ap/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_stop_ap/format
new file mode 100644
index 0000000..3cf62ab
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_stop_ap/format
@@ -0,0 +1,15 @@
+name: drv_stop_ap
+ID: 1532
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s)", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : ""
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_stop_nan/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_stop_nan/format
new file mode 100644
index 0000000..3e75078
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_stop_nan/format
@@ -0,0 +1,15 @@
+name: drv_stop_nan
+ID: 1533
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s)", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : ""
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_suspend/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_suspend/format
new file mode 100644
index 0000000..25ac4fb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_suspend/format
@@ -0,0 +1,11 @@
+name: drv_suspend
+ID: 1534
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->wiphy_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sw_scan_complete/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sw_scan_complete/format
new file mode 100644
index 0000000..4b92159
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sw_scan_complete/format
@@ -0,0 +1,15 @@
+name: drv_sw_scan_complete
+ID: 1535
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s)", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : ""
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sw_scan_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sw_scan_start/format
new file mode 100644
index 0000000..4be704c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sw_scan_start/format
@@ -0,0 +1,16 @@
+name: drv_sw_scan_start
+ID: 1536
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:char mac_addr[6];	offset:64;	size:6;	signed:0;
+
+print fmt: "%s,  vif:%s(%d%s), addr:%pM", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->mac_addr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_switch_vif_chanctx/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_switch_vif_chanctx/format
new file mode 100644
index 0000000..6e1b9bd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_switch_vif_chanctx/format
@@ -0,0 +1,14 @@
+name: drv_switch_vif_chanctx
+ID: 1537
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:int n_vifs;	offset:40;	size:4;	signed:1;
+	field:u32 mode;	offset:44;	size:4;	signed:0;
+	field:__data_loc u8[] vifs;	offset:48;	size:4;	signed:0;
+
+print fmt: "%s n_vifs:%d mode:%d", REC->wiphy_name, REC->n_vifs, REC->mode
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sync_rx_queues/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sync_rx_queues/format
new file mode 100644
index 0000000..d2eb58d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_sync_rx_queues/format
@@ -0,0 +1,16 @@
+name: drv_sync_rx_queues
+ID: 1538
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:char sta_addr[6];	offset:64;	size:6;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) sta:%pM", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->sta_addr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_tdls_cancel_channel_switch/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_tdls_cancel_channel_switch/format
new file mode 100644
index 0000000..5d0def7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_tdls_cancel_channel_switch/format
@@ -0,0 +1,16 @@
+name: drv_tdls_cancel_channel_switch
+ID: 1539
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:char sta_addr[6];	offset:64;	size:6;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) tdls cancel channel switch with  sta:%pM", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->sta_addr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_tdls_channel_switch/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_tdls_channel_switch/format
new file mode 100644
index 0000000..4277acd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_tdls_channel_switch/format
@@ -0,0 +1,23 @@
+name: drv_tdls_channel_switch
+ID: 1540
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:char sta_addr[6];	offset:64;	size:6;	signed:0;
+	field:u8 oper_class;	offset:70;	size:1;	signed:0;
+	field:u32 control_freq;	offset:72;	size:4;	signed:0;
+	field:u32 freq_offset;	offset:76;	size:4;	signed:0;
+	field:u32 chan_width;	offset:80;	size:4;	signed:0;
+	field:u32 center_freq1;	offset:84;	size:4;	signed:0;
+	field:u32 freq1_offset;	offset:88;	size:4;	signed:0;
+	field:u32 center_freq2;	offset:92;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) tdls channel switch to control:%d.%03d MHz width:%d center: %d.%03d/%d MHz oper_class:%d  sta:%pM", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->control_freq, REC->freq_offset, REC->chan_width, REC->center_freq1, REC->freq1_offset, REC->center_freq2, REC->oper_class, REC->sta_addr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_tdls_recv_channel_switch/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_tdls_recv_channel_switch/format
new file mode 100644
index 0000000..81dd88a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_tdls_recv_channel_switch/format
@@ -0,0 +1,28 @@
+name: drv_tdls_recv_channel_switch
+ID: 1541
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:u8 action_code;	offset:64;	size:1;	signed:0;
+	field:char sta_addr[6];	offset:65;	size:6;	signed:0;
+	field:u32 control_freq;	offset:72;	size:4;	signed:0;
+	field:u32 freq_offset;	offset:76;	size:4;	signed:0;
+	field:u32 chan_width;	offset:80;	size:4;	signed:0;
+	field:u32 center_freq1;	offset:84;	size:4;	signed:0;
+	field:u32 freq1_offset;	offset:88;	size:4;	signed:0;
+	field:u32 center_freq2;	offset:92;	size:4;	signed:0;
+	field:u32 status;	offset:96;	size:4;	signed:0;
+	field:bool peer_initiator;	offset:100;	size:1;	signed:0;
+	field:u32 timestamp;	offset:104;	size:4;	signed:0;
+	field:u16 switch_time;	offset:108;	size:2;	signed:0;
+	field:u16 switch_timeout;	offset:110;	size:2;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) received tdls channel switch packet action:%d status:%d time:%d switch time:%d switch timeout:%d initiator: %d chan: control:%d.%03d MHz width:%d center: %d.%03d/%d MHz sta:%pM", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->action_code, REC->status, REC->timestamp, REC->switch_time, REC->switch_timeout, REC->peer_initiator, REC->control_freq, REC->freq_offset, REC->chan_width, REC->center_freq1, REC->freq1_offset, REC->center_freq2, REC->sta_addr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_tx_frames_pending/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_tx_frames_pending/format
new file mode 100644
index 0000000..6004bd7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_tx_frames_pending/format
@@ -0,0 +1,11 @@
+name: drv_tx_frames_pending
+ID: 1542
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->wiphy_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_tx_last_beacon/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_tx_last_beacon/format
new file mode 100644
index 0000000..0e92917
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_tx_last_beacon/format
@@ -0,0 +1,11 @@
+name: drv_tx_last_beacon
+ID: 1543
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->wiphy_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_unassign_vif_chanctx/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_unassign_vif_chanctx/format
new file mode 100644
index 0000000..76ad527
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_unassign_vif_chanctx/format
@@ -0,0 +1,29 @@
+name: drv_unassign_vif_chanctx
+ID: 1544
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:u32 control_freq;	offset:64;	size:4;	signed:0;
+	field:u32 freq_offset;	offset:68;	size:4;	signed:0;
+	field:u32 chan_width;	offset:72;	size:4;	signed:0;
+	field:u32 center_freq1;	offset:76;	size:4;	signed:0;
+	field:u32 freq1_offset;	offset:80;	size:4;	signed:0;
+	field:u32 center_freq2;	offset:84;	size:4;	signed:0;
+	field:u32 min_control_freq;	offset:88;	size:4;	signed:0;
+	field:u32 min_freq_offset;	offset:92;	size:4;	signed:0;
+	field:u32 min_chan_width;	offset:96;	size:4;	signed:0;
+	field:u32 min_center_freq1;	offset:100;	size:4;	signed:0;
+	field:u32 min_freq1_offset;	offset:104;	size:4;	signed:0;
+	field:u32 min_center_freq2;	offset:108;	size:4;	signed:0;
+	field:u8 rx_chains_static;	offset:112;	size:1;	signed:0;
+	field:u8 rx_chains_dynamic;	offset:113;	size:1;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) control:%d.%03d MHz width:%d center: %d.%03d/%d MHz min_control:%d.%03d MHz min_width:%d min_center: %d.%03d/%d MHz chains:%d/%d", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->control_freq, REC->freq_offset, REC->chan_width, REC->center_freq1, REC->freq1_offset, REC->center_freq2, REC->min_control_freq, REC->min_freq_offset, REC->min_chan_width, REC->min_center_freq1, REC->min_freq1_offset, REC->min_center_freq2, REC->rx_chains_static, REC->rx_chains_dynamic
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_update_tkip_key/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_update_tkip_key/format
new file mode 100644
index 0000000..acd9229
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_update_tkip_key/format
@@ -0,0 +1,17 @@
+name: drv_update_tkip_key
+ID: 1545
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:char sta_addr[6];	offset:64;	size:6;	signed:0;
+	field:u32 iv32;	offset:72;	size:4;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) sta:%pM iv32:%#x", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->sta_addr, REC->iv32
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_update_vif_offload/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_update_vif_offload/format
new file mode 100644
index 0000000..6d5de8e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_update_vif_offload/format
@@ -0,0 +1,16 @@
+name: drv_update_vif_offload
+ID: 1546
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:char addr[6];	offset:64;	size:6;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) addr:%pM", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->addr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_wake_tx_queue/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_wake_tx_queue/format
new file mode 100644
index 0000000..6d0934f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/drv_wake_tx_queue/format
@@ -0,0 +1,18 @@
+name: drv_wake_tx_queue
+ID: 1547
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl80211_iftype vif_type;	offset:40;	size:4;	signed:0;
+	field:void * sdata;	offset:48;	size:8;	signed:0;
+	field:bool p2p;	offset:56;	size:1;	signed:0;
+	field:__data_loc char[] vif_name;	offset:60;	size:4;	signed:0;
+	field:char sta_addr[6];	offset:64;	size:6;	signed:0;
+	field:u8 ac;	offset:70;	size:1;	signed:0;
+	field:u8 tid;	offset:71;	size:1;	signed:0;
+
+print fmt: "%s vif:%s(%d%s) sta:%pM ac:%d tid:%d", REC->wiphy_name, __get_str(vif_name), REC->vif_type, REC->p2p ? "/p2p" : "", REC->sta_addr, REC->ac, REC->tid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/stop_queue/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/stop_queue/format
new file mode 100644
index 0000000..600665f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/stop_queue/format
@@ -0,0 +1,13 @@
+name: stop_queue
+ID: 1548
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u16 queue;	offset:40;	size:2;	signed:0;
+	field:u32 reason;	offset:44;	size:4;	signed:0;
+
+print fmt: "%s queue:%d, reason:%d", REC->wiphy_name, REC->queue, REC->reason
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/wake_queue/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/wake_queue/format
new file mode 100644
index 0000000..f24538d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac80211/wake_queue/format
@@ -0,0 +1,13 @@
+name: wake_queue
+ID: 1549
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wiphy_name[32];	offset:8;	size:32;	signed:0;
+	field:u16 queue;	offset:40;	size:2;	signed:0;
+	field:u32 reason;	offset:44;	size:4;	signed:0;
+
+print fmt: "%s queue:%d, reason:%d", REC->wiphy_name, REC->queue, REC->reason
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_return_int/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_return_int/format
new file mode 100644
index 0000000..d792a7d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_return_int/format
@@ -0,0 +1,12 @@
+name: 802154_drv_return_int
+ID: 1039
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+	field:int ret;	offset:40;	size:4;	signed:1;
+
+print fmt: "%s, returned: %d", REC->wpan_phy_name, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_return_void/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_return_void/format
new file mode 100644
index 0000000..1323d8c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_return_void/format
@@ -0,0 +1,11 @@
+name: 802154_drv_return_void
+ID: 1040
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->wpan_phy_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_cca_ed_level/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_cca_ed_level/format
new file mode 100644
index 0000000..b768a5c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_cca_ed_level/format
@@ -0,0 +1,12 @@
+name: 802154_drv_set_cca_ed_level
+ID: 1041
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+	field:s32 mbm;	offset:40;	size:4;	signed:1;
+
+print fmt: "%s, ed level: %d", REC->wpan_phy_name, REC->mbm
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_cca_mode/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_cca_mode/format
new file mode 100644
index 0000000..c8e28be
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_cca_mode/format
@@ -0,0 +1,13 @@
+name: 802154_drv_set_cca_mode
+ID: 1042
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+	field:enum nl802154_cca_modes cca_mode;	offset:40;	size:4;	signed:0;
+	field:enum nl802154_cca_opts cca_opt;	offset:44;	size:4;	signed:0;
+
+print fmt: "%s, cca_mode: %d, cca_opt: %d", REC->wpan_phy_name, REC->cca_mode, REC->cca_opt
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_channel/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_channel/format
new file mode 100644
index 0000000..e44cc3a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_channel/format
@@ -0,0 +1,13 @@
+name: 802154_drv_set_channel
+ID: 1043
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+	field:u8 page;	offset:40;	size:1;	signed:0;
+	field:u8 channel;	offset:41;	size:1;	signed:0;
+
+print fmt: "%s, page: %d, channel: %d", REC->wpan_phy_name, REC->page, REC->channel
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_csma_params/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_csma_params/format
new file mode 100644
index 0000000..df3d791
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_csma_params/format
@@ -0,0 +1,14 @@
+name: 802154_drv_set_csma_params
+ID: 1044
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+	field:u8 min_be;	offset:40;	size:1;	signed:0;
+	field:u8 max_be;	offset:41;	size:1;	signed:0;
+	field:u8 max_csma_backoffs;	offset:42;	size:1;	signed:0;
+
+print fmt: "%s, min be: %d, max be: %d, max csma backoffs: %d", REC->wpan_phy_name, REC->min_be, REC->max_be, REC->max_csma_backoffs
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_extended_addr/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_extended_addr/format
new file mode 100644
index 0000000..257b686
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_extended_addr/format
@@ -0,0 +1,12 @@
+name: 802154_drv_set_extended_addr
+ID: 1045
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+	field:__le64 extended_addr;	offset:40;	size:8;	signed:0;
+
+print fmt: "%s, extended addr: 0x%llx", REC->wpan_phy_name, (( __u64)(__le64)(REC->extended_addr))
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_lbt_mode/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_lbt_mode/format
new file mode 100644
index 0000000..b6e826f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_lbt_mode/format
@@ -0,0 +1,12 @@
+name: 802154_drv_set_lbt_mode
+ID: 1046
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+	field:bool mode;	offset:40;	size:1;	signed:0;
+
+print fmt: "%s, lbt mode: %s", REC->wpan_phy_name, (REC->mode) ? "true" : "false"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_max_frame_retries/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_max_frame_retries/format
new file mode 100644
index 0000000..83c09ac
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_max_frame_retries/format
@@ -0,0 +1,12 @@
+name: 802154_drv_set_max_frame_retries
+ID: 1047
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+	field:s8 max_frame_retries;	offset:40;	size:1;	signed:1;
+
+print fmt: "%s, max frame retries: %d", REC->wpan_phy_name, REC->max_frame_retries
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_pan_coord/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_pan_coord/format
new file mode 100644
index 0000000..a277bea
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_pan_coord/format
@@ -0,0 +1,12 @@
+name: 802154_drv_set_pan_coord
+ID: 1048
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+	field:bool is_coord;	offset:40;	size:1;	signed:0;
+
+print fmt: "%s, is_coord: %s", REC->wpan_phy_name, (REC->is_coord) ? "true" : "false"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_pan_id/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_pan_id/format
new file mode 100644
index 0000000..650b164
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_pan_id/format
@@ -0,0 +1,12 @@
+name: 802154_drv_set_pan_id
+ID: 1049
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+	field:__le16 pan_id;	offset:40;	size:2;	signed:0;
+
+print fmt: "%s, pan id: 0x%04x", REC->wpan_phy_name, (( __u16)(__le16)(REC->pan_id))
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_promiscuous_mode/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_promiscuous_mode/format
new file mode 100644
index 0000000..564bffa
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_promiscuous_mode/format
@@ -0,0 +1,12 @@
+name: 802154_drv_set_promiscuous_mode
+ID: 1050
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+	field:bool on;	offset:40;	size:1;	signed:0;
+
+print fmt: "%s, promiscuous mode: %s", REC->wpan_phy_name, (REC->on) ? "true" : "false"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_short_addr/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_short_addr/format
new file mode 100644
index 0000000..3136b25
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_short_addr/format
@@ -0,0 +1,12 @@
+name: 802154_drv_set_short_addr
+ID: 1051
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+	field:__le16 short_addr;	offset:40;	size:2;	signed:0;
+
+print fmt: "%s, short addr: 0x%04x", REC->wpan_phy_name, (( __u16)(__le16)(REC->short_addr))
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_tx_power/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_tx_power/format
new file mode 100644
index 0000000..e1ea996
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_set_tx_power/format
@@ -0,0 +1,12 @@
+name: 802154_drv_set_tx_power
+ID: 1052
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+	field:s32 power;	offset:40;	size:4;	signed:1;
+
+print fmt: "%s, mbm: %d", REC->wpan_phy_name, REC->power
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_start/format
new file mode 100644
index 0000000..47708aa
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_start/format
@@ -0,0 +1,11 @@
+name: 802154_drv_start
+ID: 1053
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->wpan_phy_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_stop/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_stop/format
new file mode 100644
index 0000000..ed9d632
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mac802154/802154_drv_stop/format
@@ -0,0 +1,11 @@
+name: 802154_drv_stop
+ID: 1054
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char wpan_phy_name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "%s", REC->wpan_phy_name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/gpu_power_state/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/gpu_power_state/format
new file mode 100644
index 0000000..ecab551
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/gpu_power_state/format
@@ -0,0 +1,13 @@
+name: gpu_power_state
+ID: 1240
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u64 change_ns;	offset:8;	size:8;	signed:0;
+	field:int from_state;	offset:16;	size:4;	signed:1;
+	field:int to_state;	offset:20;	size:4;	signed:1;
+
+print fmt: "from=%s to=%s ns=%llu", __print_symbolic(REC->from_state, {GPU_POWER_LEVEL_STACKS, "STACKS"}, {GPU_POWER_LEVEL_COREGROUP, "COREGROUP"}, {GPU_POWER_LEVEL_GLOBAL, "GLOBAL"}, {GPU_POWER_LEVEL_OFF, "OFF"}), __print_symbolic(REC->to_state, {GPU_POWER_LEVEL_STACKS, "STACKS"}, {GPU_POWER_LEVEL_COREGROUP, "COREGROUP"}, {GPU_POWER_LEVEL_GLOBAL, "GLOBAL"}, {GPU_POWER_LEVEL_OFF, "OFF"}), REC->change_ns
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_jit_alloc/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_jit_alloc/format
new file mode 100644
index 0000000..9353516
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_jit_alloc/format
@@ -0,0 +1,14 @@
+name: mali_jit_alloc
+ID: 1225
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u64 start_addr;	offset:8;	size:8;	signed:0;
+	field:size_t nr_pages;	offset:16;	size:8;	signed:0;
+	field:size_t backed_pages;	offset:24;	size:8;	signed:0;
+	field:u8 jit_id;	offset:32;	size:1;	signed:0;
+
+print fmt: "jit_id=%u start=0x%llx va_pages=0x%zx backed_size=0x%zx", REC->jit_id, REC->start_addr, REC->nr_pages, REC->backed_pages
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_jit_free/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_jit_free/format
new file mode 100644
index 0000000..bbac14a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_jit_free/format
@@ -0,0 +1,14 @@
+name: mali_jit_free
+ID: 1226
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u64 start_addr;	offset:8;	size:8;	signed:0;
+	field:size_t nr_pages;	offset:16;	size:8;	signed:0;
+	field:size_t backed_pages;	offset:24;	size:8;	signed:0;
+	field:u8 jit_id;	offset:32;	size:1;	signed:0;
+
+print fmt: "start=0x%llx va_pages=0x%zx backed_size=0x%zx", REC->start_addr, REC->nr_pages, REC->backed_pages
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_jit_report/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_jit_report/format
new file mode 100644
index 0000000..8aa42ae
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_jit_report/format
@@ -0,0 +1,16 @@
+name: mali_jit_report
+ID: 1227
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u64 start_addr;	offset:8;	size:8;	signed:0;
+	field:u64 read_val;	offset:16;	size:8;	signed:0;
+	field:u64 used_pages;	offset:24;	size:8;	signed:0;
+	field:unsigned long flags;	offset:32;	size:8;	signed:0;
+	field:u8 id_idx;	offset:40;	size:1;	signed:0;
+	field:u8 jit_id;	offset:41;	size:1;	signed:0;
+
+print fmt: "start=0x%llx jit_ids[%u]=%u read_type='%s' read_val=0x%llx used_pages=%llu", REC->start_addr, REC->id_idx, REC->jit_id, __print_symbolic(REC->flags, { 0, "address"}, { (1ul << 23), "address with align" }, { (1ul << 27), "size" }, { (1ul << 27) | (1ul << 23), "size with align (invalid)" } ), REC->read_val, REC->used_pages
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_jit_report_gpu_mem/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_jit_report_gpu_mem/format
new file mode 100644
index 0000000..1753586
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_jit_report_gpu_mem/format
@@ -0,0 +1,14 @@
+name: mali_jit_report_gpu_mem
+ID: 1228
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u64 base_addr;	offset:8;	size:8;	signed:0;
+	field:u64 reg_addr;	offset:16;	size:8;	signed:0;
+	field:u64 mem_values[(4 * sizeof(u64)) / sizeof(u64)];	offset:24;	size:32;	signed:0;
+	field:unsigned int flags;	offset:56;	size:4;	signed:0;
+
+print fmt: "start=0x%llx read GPU memory base=0x%llx values=%s report_flags=%s", REC->reg_addr, REC->base_addr, __print_array(REC->mem_values, (sizeof(REC->mem_values) / sizeof((REC->mem_values)[0]) + ((int)(sizeof(struct { int:(-!!(__builtin_types_compatible_p(typeof((REC->mem_values)), typeof(&(REC->mem_values)[0])))); })))), sizeof(u64)), __print_flags(REC->flags, "|", { 1, "HAPPENED_ON_ALLOC_OR_FREE" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_jit_report_pressure/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_jit_report_pressure/format
new file mode 100644
index 0000000..b4674a7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_jit_report_pressure/format
@@ -0,0 +1,15 @@
+name: mali_jit_report_pressure
+ID: 1229
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u64 start_addr;	offset:8;	size:8;	signed:0;
+	field:u64 used_pages;	offset:16;	size:8;	signed:0;
+	field:u64 new_used_pages;	offset:24;	size:8;	signed:0;
+	field:u64 new_pressure;	offset:32;	size:8;	signed:0;
+	field:unsigned int flags;	offset:40;	size:4;	signed:0;
+
+print fmt: "start=0x%llx old_used_pages=%llu new_used_pages=%llu new_pressure=%llu report_flags=%s", REC->start_addr, REC->used_pages, REC->new_used_pages, REC->new_pressure, __print_flags(REC->flags, "|", { 1, "HAPPENED_ON_ALLOC_OR_FREE" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_jit_trim/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_jit_trim/format
new file mode 100644
index 0000000..a2c1f4a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_jit_trim/format
@@ -0,0 +1,11 @@
+name: mali_jit_trim
+ID: 1230
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:size_t freed_pages;	offset:8;	size:8;	signed:0;
+
+print fmt: "freed_pages=%zu", REC->freed_pages
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_jit_trim_from_region/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_jit_trim_from_region/format
new file mode 100644
index 0000000..29db4ec
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_jit_trim_from_region/format
@@ -0,0 +1,15 @@
+name: mali_jit_trim_from_region
+ID: 1231
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u64 start_addr;	offset:8;	size:8;	signed:0;
+	field:size_t freed_pages;	offset:16;	size:8;	signed:0;
+	field:size_t old_pages;	offset:24;	size:8;	signed:0;
+	field:size_t available_pages;	offset:32;	size:8;	signed:0;
+	field:size_t new_pages;	offset:40;	size:8;	signed:0;
+
+print fmt: "start=0x%llx freed_pages=%zu old_pages=%zu available_pages=%zu new_pages=%zu", REC->start_addr, REC->freed_pages, REC->old_pages, REC->available_pages, REC->new_pages
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_job_slots_event/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_job_slots_event/format
new file mode 100644
index 0000000..77edbac
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_job_slots_event/format
@@ -0,0 +1,15 @@
+name: mali_job_slots_event
+ID: 1232
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 gpu_id;	offset:8;	size:4;	signed:0;
+	field:u32 event_id;	offset:12;	size:4;	signed:0;
+	field:u32 tgid;	offset:16;	size:4;	signed:0;
+	field:u32 pid;	offset:20;	size:4;	signed:0;
+	field:u8 job_id;	offset:24;	size:1;	signed:0;
+
+print fmt: "gpu=%u event=%u tgid=%u pid=%u job_id=%u", REC->gpu_id, REC->event_id, REC->tgid, REC->pid, REC->job_id
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_mmu_page_fault_grow/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_mmu_page_fault_grow/format
new file mode 100644
index 0000000..6cce6ce
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_mmu_page_fault_grow/format
@@ -0,0 +1,15 @@
+name: mali_mmu_page_fault_grow
+ID: 1233
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u64 start_addr;	offset:8;	size:8;	signed:0;
+	field:u64 fault_addr;	offset:16;	size:8;	signed:0;
+	field:u64 fault_extra_addr;	offset:24;	size:8;	signed:0;
+	field:size_t new_pages;	offset:32;	size:8;	signed:0;
+	field:u32 status;	offset:40;	size:4;	signed:0;
+
+print fmt: "start=0x%llx fault_addr=0x%llx fault_extra_addr=0x%llx new_pages=%zu raw_fault_status=0x%x decoded_faultstatus=%s exception_type=0x%x,%s%u access_type=0x%x,%s source_id=0x%x", REC->start_addr, REC->fault_addr, REC->fault_extra_addr, REC->new_pages, REC->status, (((REC->status) & (1u << 10)) ? "DECODER_FAULT" : "SLAVE_FAULT"), ((REC->status) & 0xFFu), (!((((REC->status) & 0xFFu) >= 0xC0 && ((REC->status) & 0xFFu) <= 0xEF) && (!(((REC->status) & 0xFFu) >= 0xC5 && ((REC->status) & 0xFFu) <= 0xC6)) && (!(((REC->status) & 0xFFu) >= 0xCC && ((REC->status) & 0xFFu) <= 0xCF)) && (!(((REC->status) & 0xFFu) >= 0xD4 && ((REC->status) & 0xFFu) <= 0xD7)) && (!(((REC->status) & 0xFFu) >= 0xDC && ((REC->status) & 0xFFu) <= 0xDF))) ? "UNKNOWN,level=" : __print_symbolic(((((REC->status) & 0xFFu)) & ~3u), {0xC0, "TRANSLATION_FAULT_" }, {0xC4, "TRANSLATION_FAULT(_7==_IDENTITY)_" }, {0xC8, "PERMISSION_FAULT_" }, {0xD0, "TRANSTAB_BUS_FAULT_" }, {0xD8, "ACCESS_FLAG_" }, {0xE0, "ADDRESS_SIZE_FAULT_IN" }, {0xE4, "ADDRESS_SIZE_FAULT_OUT" }, {0xE8, "MEMORY_ATTRIBUTES_FAULT_" }, {0xEC, "MEMORY_ATTRIBUTES_NONCACHEABLE_" })), (((((((REC->status) & 0xFFu)) & ~0x3u) == 0xC4) ? 4 : 0) + ((((REC->status) & 0xFFu)) & 0x3u)), ((REC->status) & (0x3 << 8)) >> 8, __print_symbolic(((REC->status) & (0x3 << 8)), {(0x0), "ATOMIC" }, {(0x1), "EXECUTE"}, {(0x2), "READ" }, {(0x3), "WRITE" }), REC->status >> 16
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_page_fault_insert_pages/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_page_fault_insert_pages/format
new file mode 100644
index 0000000..a3300cb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_page_fault_insert_pages/format
@@ -0,0 +1,13 @@
+name: mali_page_fault_insert_pages
+ID: 1234
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 gpu_id;	offset:8;	size:4;	signed:0;
+	field:s32 event_id;	offset:12;	size:4;	signed:1;
+	field:u64 value;	offset:16;	size:8;	signed:0;
+
+print fmt: "gpu=%u event %d = %llu", REC->gpu_id, REC->event_id, REC->value
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_pm_status/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_pm_status/format
new file mode 100644
index 0000000..12dd243
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_pm_status/format
@@ -0,0 +1,13 @@
+name: mali_pm_status
+ID: 1235
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 gpu_id;	offset:8;	size:4;	signed:0;
+	field:u32 event_id;	offset:12;	size:4;	signed:0;
+	field:u64 value;	offset:16;	size:8;	signed:0;
+
+print fmt: "gpu=%u event %u = %llu", REC->gpu_id, REC->event_id, REC->value
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_total_alloc_pages_change/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_total_alloc_pages_change/format
new file mode 100644
index 0000000..107b853
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/mali_total_alloc_pages_change/format
@@ -0,0 +1,12 @@
+name: mali_total_alloc_pages_change
+ID: 1236
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 gpu_id;	offset:8;	size:4;	signed:0;
+	field:s64 event_id;	offset:16;	size:8;	signed:1;
+
+print fmt: "gpu=%u event=%lld", REC->gpu_id, REC->event_id
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/sysgraph/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/sysgraph/format
new file mode 100644
index 0000000..0bb1d69
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/sysgraph/format
@@ -0,0 +1,13 @@
+name: sysgraph
+ID: 1237
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int proc_id;	offset:8;	size:4;	signed:0;
+	field:enum sysgraph_msg message;	offset:12;	size:4;	signed:0;
+	field:unsigned int atom_id;	offset:16;	size:4;	signed:0;
+
+print fmt: "msg=%u proc_id=%u, param1=%d", REC->message, REC->proc_id, REC->atom_id
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/sysgraph_gpu/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/sysgraph_gpu/format
new file mode 100644
index 0000000..0594fb2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mali/sysgraph_gpu/format
@@ -0,0 +1,14 @@
+name: sysgraph_gpu
+ID: 1238
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int proc_id;	offset:8;	size:4;	signed:0;
+	field:enum sysgraph_msg message;	offset:12;	size:4;	signed:0;
+	field:unsigned int atom_id;	offset:16;	size:4;	signed:0;
+	field:unsigned int js;	offset:20;	size:4;	signed:0;
+
+print fmt: "msg=%u proc_id=%u, param1=%d, param2=%d", REC->message, REC->proc_id, REC->atom_id, REC->js
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/ca_get_access/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/ca_get_access/format
new file mode 100644
index 0000000..d1772b8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/ca_get_access/format
@@ -0,0 +1,12 @@
+name: ca_get_access
+ID: 1121
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:u32 next_timestamp_dtu;	offset:12;	size:4;	signed:0;
+
+print fmt: "hw%d next_timestamp_dtu=%#08x", REC->hw_idx, REC->next_timestamp_dtu
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/ca_return_int/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/ca_return_int/format
new file mode 100644
index 0000000..9ea0def
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/ca_return_int/format
@@ -0,0 +1,12 @@
+name: ca_return_int
+ID: 1122
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:int r;	offset:12;	size:4;	signed:1;
+
+print fmt: "hw%d r=%d", REC->hw_idx, REC->r
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/ca_scheduler_call/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/ca_scheduler_call/format
new file mode 100644
index 0000000..ac3c37c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/ca_scheduler_call/format
@@ -0,0 +1,13 @@
+name: ca_scheduler_call
+ID: 1123
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:__data_loc char[] scheduler_name;	offset:12;	size:4;	signed:0;
+	field:u32 call_id;	offset:16;	size:4;	signed:0;
+
+print fmt: "hw%d scheduler=%s call_id=%#x", REC->hw_idx, __get_str(scheduler_name), REC->call_id
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/ca_scheduler_call_region/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/ca_scheduler_call_region/format
new file mode 100644
index 0000000..ccd2151
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/ca_scheduler_call_region/format
@@ -0,0 +1,15 @@
+name: ca_scheduler_call_region
+ID: 1124
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:__data_loc char[] scheduler_name;	offset:12;	size:4;	signed:0;
+	field:u32 region_id;	offset:16;	size:4;	signed:0;
+	field:__data_loc char[] region_name;	offset:20;	size:4;	signed:0;
+	field:u32 call_id;	offset:24;	size:4;	signed:0;
+
+print fmt: "hw%d scheduler=%s region_id=%u region_name=%s call_id=%#x", REC->hw_idx, __get_str(scheduler_name), REC->region_id, __get_str(region_name), REC->call_id
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/ca_scheduler_set_region_parameters/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/ca_scheduler_set_region_parameters/format
new file mode 100644
index 0000000..5fe1a4f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/ca_scheduler_set_region_parameters/format
@@ -0,0 +1,14 @@
+name: ca_scheduler_set_region_parameters
+ID: 1125
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:__data_loc char[] scheduler_name;	offset:12;	size:4;	signed:0;
+	field:u32 region_id;	offset:16;	size:4;	signed:0;
+	field:__data_loc char[] region_name;	offset:20;	size:4;	signed:0;
+
+print fmt: "hw%d scheduler=%s region_id=%u region_name=%s", REC->hw_idx, __get_str(scheduler_name), REC->region_id, __get_str(region_name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/ca_set_scheduler/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/ca_set_scheduler/format
new file mode 100644
index 0000000..96fd84f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/ca_set_scheduler/format
@@ -0,0 +1,12 @@
+name: ca_set_scheduler
+ID: 1126
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:__data_loc char[] name;	offset:12;	size:4;	signed:0;
+
+print fmt: "hw%d name=%s", REC->hw_idx, __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/ca_set_scheduler_parameters/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/ca_set_scheduler_parameters/format
new file mode 100644
index 0000000..3cda19e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/ca_set_scheduler_parameters/format
@@ -0,0 +1,12 @@
+name: ca_set_scheduler_parameters
+ID: 1127
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:__data_loc char[] name;	offset:12;	size:4;	signed:0;
+
+print fmt: "hw%d name=%s", REC->hw_idx, __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_event_broken/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_event_broken/format
new file mode 100644
index 0000000..38380f9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_event_broken/format
@@ -0,0 +1,11 @@
+name: llhw_event_broken
+ID: 1128
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+
+print fmt: "hw%d", REC->hw_idx
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_event_done/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_event_done/format
new file mode 100644
index 0000000..bcc0489
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_event_done/format
@@ -0,0 +1,11 @@
+name: llhw_event_done
+ID: 1129
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+
+print fmt: "hw%d", REC->hw_idx
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_event_rx_error/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_event_rx_error/format
new file mode 100644
index 0000000..6a6b9cf
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_event_rx_error/format
@@ -0,0 +1,12 @@
+name: llhw_event_rx_error
+ID: 1130
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:enum mcps802154_rx_error_type error;	offset:12;	size:4;	signed:0;
+
+print fmt: "hw%d error=%s", REC->hw_idx, __print_symbolic(REC->error, { 2, "BAD_CKSUM" }, { 3, "UNCORRECTABLE" }, { 4, "FILTERED" }, { 5, "SFD_TIMEOUT" }, { 6, "OTHER" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_event_rx_frame/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_event_rx_frame/format
new file mode 100644
index 0000000..c3109f4
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_event_rx_frame/format
@@ -0,0 +1,11 @@
+name: llhw_event_rx_frame
+ID: 1131
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+
+print fmt: "hw%d", REC->hw_idx
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_event_rx_timeout/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_event_rx_timeout/format
new file mode 100644
index 0000000..d0c0ef1
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_event_rx_timeout/format
@@ -0,0 +1,11 @@
+name: llhw_event_rx_timeout
+ID: 1132
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+
+print fmt: "hw%d", REC->hw_idx
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_event_timer_expired/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_event_timer_expired/format
new file mode 100644
index 0000000..e6c23a4
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_event_timer_expired/format
@@ -0,0 +1,11 @@
+name: llhw_event_timer_expired
+ID: 1133
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+
+print fmt: "hw%d", REC->hw_idx
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_event_tx_done/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_event_tx_done/format
new file mode 100644
index 0000000..fff1f6a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_event_tx_done/format
@@ -0,0 +1,11 @@
+name: llhw_event_tx_done
+ID: 1134
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+
+print fmt: "hw%d", REC->hw_idx
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_get_calibration/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_get_calibration/format
new file mode 100644
index 0000000..35c3791
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_get_calibration/format
@@ -0,0 +1,12 @@
+name: llhw_get_calibration
+ID: 1135
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:__data_loc char[] key;	offset:12;	size:4;	signed:0;
+
+print fmt: "hw%d key=%s", REC->hw_idx, __get_str(key)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_get_current_timestamp_dtu/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_get_current_timestamp_dtu/format
new file mode 100644
index 0000000..0924ce8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_get_current_timestamp_dtu/format
@@ -0,0 +1,11 @@
+name: llhw_get_current_timestamp_dtu
+ID: 1136
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+
+print fmt: "hw%d", REC->hw_idx
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_idle/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_idle/format
new file mode 100644
index 0000000..8453cee
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_idle/format
@@ -0,0 +1,11 @@
+name: llhw_idle
+ID: 1137
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+
+print fmt: "hw%d", REC->hw_idx
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_idle_timestamp/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_idle_timestamp/format
new file mode 100644
index 0000000..73ff234
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_idle_timestamp/format
@@ -0,0 +1,12 @@
+name: llhw_idle_timestamp
+ID: 1138
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:u32 timestamp_dtu;	offset:12;	size:4;	signed:0;
+
+print fmt: "hw%d timestamp_dtu=%#08x", REC->hw_idx, REC->timestamp_dtu
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_list_calibration/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_list_calibration/format
new file mode 100644
index 0000000..726d1aa
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_list_calibration/format
@@ -0,0 +1,11 @@
+name: llhw_list_calibration
+ID: 1139
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+
+print fmt: "hw%d", REC->hw_idx
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_reset/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_reset/format
new file mode 100644
index 0000000..789c77b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_reset/format
@@ -0,0 +1,11 @@
+name: llhw_reset
+ID: 1140
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+
+print fmt: "hw%d", REC->hw_idx
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_return_int/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_return_int/format
new file mode 100644
index 0000000..00ca62b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_return_int/format
@@ -0,0 +1,12 @@
+name: llhw_return_int
+ID: 1141
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:int ret;	offset:12;	size:4;	signed:1;
+
+print fmt: "hw%d returned=%d", REC->hw_idx, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_return_rx_frame/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_return_rx_frame/format
new file mode 100644
index 0000000..f076251
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_return_rx_frame/format
@@ -0,0 +1,17 @@
+name: llhw_return_rx_frame
+ID: 1142
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:int ret;	offset:12;	size:4;	signed:1;
+	field:u32 timestamp_dtu;	offset:16;	size:4;	signed:0;
+	field:u64 timestamp_rctu;	offset:24;	size:8;	signed:0;
+	field:int frame_duration_dtu;	offset:32;	size:4;	signed:1;
+	field:u8 ranging_sts_fom0;	offset:36;	size:1;	signed:0;
+	field:u16 flags;	offset:38;	size:2;	signed:0;
+
+print fmt: "hw%d returned=%d timestamp_dtu=0x%08x timestamp_rctu=%#llx frame_duration_dtu=%d ranging_sts_fom[0]=%#02x flags=%s", REC->hw_idx, REC->ret, REC->timestamp_dtu, REC->timestamp_rctu, REC->frame_duration_dtu, REC->ranging_sts_fom0, __print_flags(REC->flags, "|", { 1, "TIMESTAMP_DTU" }, { 2, "TIMESTAMP_RCTU" }, { 4, "LQI" }, { 8, "RSSI" }, { 16, "RANGING_FOM" }, { 32, "RANGING_OFFSET" }, { 64, "RANGING_PDOA" }, { 128, "RANGING_PDOA_FOM" }, { 256, "RANGING_STS_TIMESTAMP_RCTU" }, { 512, "RANGING_STS_FOM" }, { 1024, "AACK" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_return_timestamp_dtu/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_return_timestamp_dtu/format
new file mode 100644
index 0000000..db7cd95
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_return_timestamp_dtu/format
@@ -0,0 +1,13 @@
+name: llhw_return_timestamp_dtu
+ID: 1143
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:int ret;	offset:12;	size:4;	signed:1;
+	field:u32 timestamp_dtu;	offset:16;	size:4;	signed:0;
+
+print fmt: "hw%d returned=%d timestamp_dtu=%#08x", REC->hw_idx, REC->ret, REC->timestamp_dtu
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_return_timestamp_rctu/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_return_timestamp_rctu/format
new file mode 100644
index 0000000..cfe0559
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_return_timestamp_rctu/format
@@ -0,0 +1,13 @@
+name: llhw_return_timestamp_rctu
+ID: 1144
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:int ret;	offset:12;	size:4;	signed:1;
+	field:u64 timestamp_rctu;	offset:16;	size:8;	signed:0;
+
+print fmt: "hw%d returned=%d timestamp_rctu=%#llx", REC->hw_idx, REC->ret, REC->timestamp_rctu
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_return_void/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_return_void/format
new file mode 100644
index 0000000..1da5117
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_return_void/format
@@ -0,0 +1,11 @@
+name: llhw_return_void
+ID: 1145
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+
+print fmt: "hw%d", REC->hw_idx
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_rx_disable/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_rx_disable/format
new file mode 100644
index 0000000..7fb4633
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_rx_disable/format
@@ -0,0 +1,11 @@
+name: llhw_rx_disable
+ID: 1146
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+
+print fmt: "hw%d", REC->hw_idx
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_rx_enable/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_rx_enable/format
new file mode 100644
index 0000000..9886722
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_rx_enable/format
@@ -0,0 +1,17 @@
+name: llhw_rx_enable
+ID: 1147
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:u32 timestamp_dtu;	offset:12;	size:4;	signed:0;
+	field:int timeout_dtu;	offset:16;	size:4;	signed:1;
+	field:u8 flags;	offset:20;	size:1;	signed:0;
+	field:u8 ant_pair_id;	offset:21;	size:1;	signed:0;
+	field:int frame_idx;	offset:24;	size:4;	signed:1;
+	field:int next_delay_dtu;	offset:28;	size:4;	signed:1;
+
+print fmt: "hw%d timestamp_dtu=%#08x timeout_dtu=%d ant_pair_id=%d flags=%s frame_idx=%d next_delay_dtu=%d", REC->hw_idx, REC->timestamp_dtu, REC->timeout_dtu, REC->ant_pair_id, __print_flags(REC->flags, "|", { 1, "TIMESTAMP_DTU" }, { 2, "AACK" }, { 4, "RANGING" }, { 8, "KEEP_RANGING_CLOCK" }, { 16, "RANGING_PDOA" }, { 96, "SP3" }, { 64, "SP2" }, { 32, "SP1" }), REC->frame_idx, REC->next_delay_dtu
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_rx_get_error_frame/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_rx_get_error_frame/format
new file mode 100644
index 0000000..3db71a0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_rx_get_error_frame/format
@@ -0,0 +1,12 @@
+name: llhw_rx_get_error_frame
+ID: 1148
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:u16 flags;	offset:12;	size:2;	signed:0;
+
+print fmt: "hw%d flags=%s", REC->hw_idx, __print_flags(REC->flags, "|", { 1, "TIMESTAMP_DTU" }, { 2, "TIMESTAMP_RCTU" }, { 4, "LQI" }, { 8, "RSSI" }, { 16, "RANGING_FOM" }, { 32, "RANGING_OFFSET" }, { 64, "RANGING_PDOA" }, { 128, "RANGING_PDOA_FOM" }, { 256, "RANGING_STS_TIMESTAMP_RCTU" }, { 512, "RANGING_STS_FOM" }, { 1024, "AACK" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_rx_get_frame/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_rx_get_frame/format
new file mode 100644
index 0000000..28cc3df
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_rx_get_frame/format
@@ -0,0 +1,12 @@
+name: llhw_rx_get_frame
+ID: 1149
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:u16 flags;	offset:12;	size:2;	signed:0;
+
+print fmt: "hw%d flags=%s", REC->hw_idx, __print_flags(REC->flags, "|", { 1, "TIMESTAMP_DTU" }, { 2, "TIMESTAMP_RCTU" }, { 4, "LQI" }, { 8, "RSSI" }, { 16, "RANGING_FOM" }, { 32, "RANGING_OFFSET" }, { 64, "RANGING_PDOA" }, { 128, "RANGING_PDOA_FOM" }, { 256, "RANGING_STS_TIMESTAMP_RCTU" }, { 512, "RANGING_STS_FOM" }, { 1024, "AACK" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_calibration/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_calibration/format
new file mode 100644
index 0000000..f7827fa
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_calibration/format
@@ -0,0 +1,12 @@
+name: llhw_set_calibration
+ID: 1150
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:__data_loc char[] key;	offset:12;	size:4;	signed:0;
+
+print fmt: "hw%d key=%s", REC->hw_idx, __get_str(key)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_cca_ed_level/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_cca_ed_level/format
new file mode 100644
index 0000000..e61dafa
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_cca_ed_level/format
@@ -0,0 +1,12 @@
+name: llhw_set_cca_ed_level
+ID: 1151
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:s32 mbm;	offset:12;	size:4;	signed:1;
+
+print fmt: "hw%d mbm=%d", REC->hw_idx, REC->mbm
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_cca_mode/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_cca_mode/format
new file mode 100644
index 0000000..0096d09
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_cca_mode/format
@@ -0,0 +1,13 @@
+name: llhw_set_cca_mode
+ID: 1152
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:enum nl802154_cca_modes cca_mode;	offset:12;	size:4;	signed:0;
+	field:enum nl802154_cca_opts cca_opt;	offset:16;	size:4;	signed:0;
+
+print fmt: "hw%d cca_mode=%d cca_opt=%d", REC->hw_idx, REC->cca_mode, REC->cca_opt
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_channel/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_channel/format
new file mode 100644
index 0000000..5b1840f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_channel/format
@@ -0,0 +1,14 @@
+name: llhw_set_channel
+ID: 1153
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:u8 page;	offset:12;	size:1;	signed:0;
+	field:u8 channel;	offset:13;	size:1;	signed:0;
+	field:u8 preamble_code;	offset:14;	size:1;	signed:0;
+
+print fmt: "hw%d page=%d channel=%d preamble_code=%d", REC->hw_idx, REC->page, REC->channel, REC->preamble_code
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_hrp_uwb_params/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_hrp_uwb_params/format
new file mode 100644
index 0000000..8e881e2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_hrp_uwb_params/format
@@ -0,0 +1,16 @@
+name: llhw_set_hrp_uwb_params
+ID: 1154
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:int prf;	offset:12;	size:4;	signed:1;
+	field:int psr;	offset:16;	size:4;	signed:1;
+	field:int sfd_selector;	offset:20;	size:4;	signed:1;
+	field:int phr_rate;	offset:24;	size:4;	signed:1;
+	field:int data_rate;	offset:28;	size:4;	signed:1;
+
+print fmt: "hw%d prf=%d psr=%d sfd_selector=%d phr_rate=%d data_rate=%d", REC->hw_idx, REC->prf, REC->psr, REC->sfd_selector, REC->phr_rate, REC->data_rate
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_hw_addr_filt/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_hw_addr_filt/format
new file mode 100644
index 0000000..dd5dd6c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_hw_addr_filt/format
@@ -0,0 +1,16 @@
+name: llhw_set_hw_addr_filt
+ID: 1155
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:__le16 pan_id;	offset:12;	size:2;	signed:0;
+	field:__le16 short_addr;	offset:14;	size:2;	signed:0;
+	field:__le64 extended_addr;	offset:16;	size:8;	signed:0;
+	field:bool pan_coord;	offset:24;	size:1;	signed:0;
+	field:unsigned long changed;	offset:32;	size:8;	signed:0;
+
+print fmt: "hw%d pan_id=%#04x short_addr=%#04x extended_addr=%#016llx pan_coord=%s changed=%s", REC->hw_idx, REC->pan_id, REC->short_addr, REC->extended_addr, REC->pan_coord ? "true" : "false", __print_flags(REC->changed, "|", { 1, "SHORT_ADDR" }, { 2, "EXTENDED_ADDR" }, { 4, "PAN_ID" }, { 8, "PAN_COORD" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_promiscuous_mode/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_promiscuous_mode/format
new file mode 100644
index 0000000..6bfb09d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_promiscuous_mode/format
@@ -0,0 +1,12 @@
+name: llhw_set_promiscuous_mode
+ID: 1156
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:bool on;	offset:12;	size:1;	signed:0;
+
+print fmt: "hw%d %s", REC->hw_idx, REC->on ? "on" : "off"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_scanning_mode/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_scanning_mode/format
new file mode 100644
index 0000000..2749334
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_scanning_mode/format
@@ -0,0 +1,12 @@
+name: llhw_set_scanning_mode
+ID: 1157
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:bool on;	offset:12;	size:1;	signed:0;
+
+print fmt: "hw%d %s", REC->hw_idx, REC->on ? "on" : "off"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_sts_params/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_sts_params/format
new file mode 100644
index 0000000..5456cca
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_sts_params/format
@@ -0,0 +1,15 @@
+name: llhw_set_sts_params
+ID: 1158
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:int n_segs;	offset:12;	size:4;	signed:1;
+	field:int seg_len;	offset:16;	size:4;	signed:1;
+	field:int sp2_tx_gap_4chips;	offset:20;	size:4;	signed:1;
+	field:int sp2_rx_gap_4chips[4];	offset:24;	size:16;	signed:1;
+
+print fmt: "hw%d n_segs=%d seg_len=%d sp2_tx_gap_4chips=%d sp2_rx_gap_4chips=%d,%d,%d,%d", REC->hw_idx, REC->n_segs, REC->seg_len, REC->sp2_tx_gap_4chips, REC->sp2_rx_gap_4chips[0], REC->sp2_rx_gap_4chips[1], REC->sp2_rx_gap_4chips[2], REC->sp2_rx_gap_4chips[3]
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_txpower/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_txpower/format
new file mode 100644
index 0000000..53ff001
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_set_txpower/format
@@ -0,0 +1,12 @@
+name: llhw_set_txpower
+ID: 1159
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:s32 mbm;	offset:12;	size:4;	signed:1;
+
+print fmt: "hw%d mbm=%d", REC->hw_idx, REC->mbm
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_start/format
new file mode 100644
index 0000000..d39dabf
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_start/format
@@ -0,0 +1,11 @@
+name: llhw_start
+ID: 1160
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+
+print fmt: "hw%d", REC->hw_idx
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_stop/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_stop/format
new file mode 100644
index 0000000..7689bda
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_stop/format
@@ -0,0 +1,11 @@
+name: llhw_stop
+ID: 1161
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+
+print fmt: "hw%d", REC->hw_idx
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_testmode_cmd/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_testmode_cmd/format
new file mode 100644
index 0000000..e2dccca
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_testmode_cmd/format
@@ -0,0 +1,11 @@
+name: llhw_testmode_cmd
+ID: 1162
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+
+print fmt: "hw%d", REC->hw_idx
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_tx_frame/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_tx_frame/format
new file mode 100644
index 0000000..05ab81a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/llhw_tx_frame/format
@@ -0,0 +1,18 @@
+name: llhw_tx_frame
+ID: 1163
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:u32 timestamp_dtu;	offset:12;	size:4;	signed:0;
+	field:int rx_enable_after_tx_dtu;	offset:16;	size:4;	signed:1;
+	field:int rx_enable_after_tx_timeout_dtu;	offset:20;	size:4;	signed:1;
+	field:int ant_id;	offset:24;	size:4;	signed:1;
+	field:u8 flags;	offset:28;	size:1;	signed:0;
+	field:int frame_idx;	offset:32;	size:4;	signed:1;
+	field:int next_delay_dtu;	offset:36;	size:4;	signed:1;
+
+print fmt: "hw%d timestamp_dtu=%#08x rx_enable_after_tx_dtu=%d rx_enable_after_tx_timeout_dtu=%d ant_id=%d flags=%s frame_idx=%d next_delay_dtu=%d", REC->hw_idx, REC->timestamp_dtu, REC->rx_enable_after_tx_dtu, REC->rx_enable_after_tx_timeout_dtu, REC->ant_id, __print_flags(REC->flags, "|", { 1, "TIMESTAMP_DTU" }, { 2, "CCA" }, { 4, "RANGING" }, { 8, "KEEP_RANGING_CLOCK" }, { 16, "RANGING_PDOA" }, { 96, "SP3" }, { 64, "SP2" }, { 32, "SP1" }), REC->frame_idx, REC->next_delay_dtu
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/region_get_access/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/region_get_access/format
new file mode 100644
index 0000000..a614a56
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/region_get_access/format
@@ -0,0 +1,15 @@
+name: region_get_access
+ID: 1164
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:__data_loc char[] region_name;	offset:12;	size:4;	signed:0;
+	field:u32 next_timestamp_dtu;	offset:16;	size:4;	signed:0;
+	field:int next_in_region_dtu;	offset:20;	size:4;	signed:1;
+	field:int region_duration_dtu;	offset:24;	size:4;	signed:1;
+
+print fmt: "hw%d region=%s next_timestamp_dtu=%#08x next_in_region_dtu=%d region_duration_dtu=%d", REC->hw_idx, __get_str(region_name), REC->next_timestamp_dtu, REC->next_in_region_dtu, REC->region_duration_dtu
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/schedule_update/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/schedule_update/format
new file mode 100644
index 0000000..45d3918
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/schedule_update/format
@@ -0,0 +1,12 @@
+name: schedule_update
+ID: 1165
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:u32 next_timestamp_dtu;	offset:12;	size:4;	signed:0;
+
+print fmt: "hw%d next_timestamp_dtu=%#08x", REC->hw_idx, REC->next_timestamp_dtu
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/schedule_update_done/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/schedule_update_done/format
new file mode 100644
index 0000000..3f9c887
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154/schedule_update_done/format
@@ -0,0 +1,14 @@
+name: schedule_update_done
+ID: 1166
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:u32 start_timestamp_dtu;	offset:12;	size:4;	signed:0;
+	field:int duration_dtu;	offset:16;	size:4;	signed:1;
+	field:size_t n_regions;	offset:24;	size:8;	signed:0;
+
+print fmt: "hw%d start_timestamp_dtu=%#08x duration_dtu=%d n_regions=%lu", REC->hw_idx, REC->start_timestamp_dtu, REC->duration_dtu, REC->n_regions
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154_region_fira/region_fira_rx_message_type/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154_region_fira/region_fira_rx_message_type/format
new file mode 100644
index 0000000..42076dd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154_region_fira/region_fira_rx_message_type/format
@@ -0,0 +1,13 @@
+name: region_fira_rx_message_type
+ID: 1241
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 session_id;	offset:8;	size:4;	signed:0;
+	field:enum fira_message_id msg_id;	offset:12;	size:4;	signed:0;
+	field:enum fira_ranging_status status;	offset:16;	size:4;	signed:1;
+
+print fmt: "session_id=%d message_type=%s status=%s", REC->session_id, __print_symbolic(REC->msg_id, { FIRA_MESSAGE_ID_RANGING_INITIATION, "RIM" }, { FIRA_MESSAGE_ID_RANGING_RESPONSE, "RRM" }, { FIRA_MESSAGE_ID_RANGING_FINAL, "RFM" }, { FIRA_MESSAGE_ID_CONTROL, "RCM" }, { FIRA_MESSAGE_ID_MEASUREMENT_REPORT, "MRM" }, { FIRA_MESSAGE_ID_RESULT_REPORT, "RRRM" }, { FIRA_MESSAGE_ID_CONTROL_UPDATE, "CMU" }), __print_symbolic(REC->status, { FIRA_STATUS_RANGING_SUCCESS, "success" }, { FIRA_STATUS_RANGING_TX_FAILED, "tx_failed" }, { FIRA_STATUS_RANGING_RX_TIMEOUT, "rx_timeout" }, { FIRA_STATUS_RANGING_RX_PHY_DEC_FAILED, "rx_phy_dec_failed" }, { FIRA_STATUS_RANGING_RX_PHY_TOA_FAILED, "rx_phy_toa_failed" }, { FIRA_STATUS_RANGING_RX_PHY_STS_FAILED, "rx_phy_sts_failed" }, { FIRA_STATUS_RANGING_RX_MAC_DEC_FAILED, "rx_mac_dec_failed" }, { FIRA_STATUS_RANGING_RX_MAC_IE_DEC_FAILED, "rx_mac_ie_dec_failed" }, { FIRA_STATUS_RANGING_RX_MAC_IE_MISSING, "rx_mac_ie_missing" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154_region_fira/region_fira_session_params/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154_region_fira/region_fira_session_params/format
new file mode 100644
index 0000000..e3f005e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154_region_fira/region_fira_session_params/format
@@ -0,0 +1,40 @@
+name: region_fira_session_params
+ID: 1242
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 session_id;	offset:8;	size:4;	signed:0;
+	field:enum fira_device_type device_type;	offset:12;	size:4;	signed:0;
+	field:enum fira_ranging_round_usage ranging_round_usage;	offset:16;	size:4;	signed:0;
+	field:enum fira_multi_node_mode multi_node_mode;	offset:20;	size:4;	signed:0;
+	field:__le16 controller_short_addr;	offset:24;	size:2;	signed:0;
+	field:int initiation_time_ms;	offset:28;	size:4;	signed:1;
+	field:int slot_duration_dtu;	offset:32;	size:4;	signed:1;
+	field:int block_duration_dtu;	offset:36;	size:4;	signed:1;
+	field:int round_duration_slots;	offset:40;	size:4;	signed:1;
+	field:bool round_hopping;	offset:44;	size:1;	signed:0;
+	field:int priority;	offset:48;	size:4;	signed:1;
+	field:int channel_number;	offset:52;	size:4;	signed:1;
+	field:int preamble_code_index;	offset:56;	size:4;	signed:1;
+	field:enum fira_rframe_config rframe_config;	offset:60;	size:4;	signed:0;
+	field:enum fira_preambule_duration preamble_duration;	offset:64;	size:4;	signed:0;
+	field:enum fira_sfd_id sfd_id;	offset:68;	size:4;	signed:0;
+	field:enum fira_psdu_data_rate psdu_data_rate;	offset:72;	size:4;	signed:0;
+	field:enum fira_mac_fcs_type mac_fcs_type;	offset:76;	size:4;	signed:0;
+	field:enum fira_sts_config sts_config;	offset:80;	size:4;	signed:0;
+	field:u8 vupper64[8];	offset:84;	size:8;	signed:0;
+	field:bool aoa_result_req;	offset:92;	size:1;	signed:0;
+	field:bool report_tof;	offset:93;	size:1;	signed:0;
+	field:bool report_aoa_azimuth;	offset:94;	size:1;	signed:0;
+	field:bool report_aoa_elevation;	offset:95;	size:1;	signed:0;
+	field:bool report_aoa_fom;	offset:96;	size:1;	signed:0;
+	field:u8 rx_antenna_selection;	offset:97;	size:1;	signed:0;
+	field:u8 rx_antenna_pair_azimuth;	offset:98;	size:1;	signed:0;
+	field:u8 rx_antenna_pair_elevation;	offset:99;	size:1;	signed:0;
+	field:u8 tx_antenna_selection;	offset:100;	size:1;	signed:0;
+	field:u8 rx_antenna_switch;	offset:101;	size:1;	signed:0;
+
+print fmt: "session_id=%d device_type=%s ranging_round_usage=%s multi_node_mode=%s controller_short_addr=0x%x initiation_time_ms=%d slot_duration_dtu=%d block_duration_dtu=%d round_duration_slots=%d round_hopping=%d priority=%d channel_number=%d preamble_code_index=%d rframe_config=%s preamble_duration=%s sfd_id=%d psdu_data_rate=%s mac_fcs_type=%s sts_config=%s vupper64=%s aoa_result_req=%d report_tof=%d report_aoa_azimuth=%d report_aoa_elevation=%d report_aoa_fom=%d rx_antenna_selection=0x%x rx_antenna_pair_azimuth=%d rx_antenna_pair_elevation=%d tx_antenna_selection=%d rx_antenna_switch=%s", REC->session_id, __print_symbolic(REC->device_type, { FIRA_DEVICE_TYPE_CONTROLEE, "controlee" }, { FIRA_DEVICE_TYPE_CONTROLLER, "controller" }), __print_symbolic(REC->ranging_round_usage, { FIRA_RANGING_ROUND_USAGE_OWR, "OWR" }, { FIRA_RANGING_ROUND_USAGE_SSTWR, "SSTWR" }, { FIRA_RANGING_ROUND_USAGE_DSTWR, "DSTWR" }), __print_symbolic(REC->multi_node_mode, { FIRA_MULTI_NODE_MODE_UNICAST, "UNICAST" }, { FIRA_MULTI_NODE_MODE_ONE_TO_MANY, "ONE_TO_MANY" }, { FIRA_MULTI_NODE_MODE_MANY_TO_MANY, "MANY_TO_MANY" }), REC->controller_short_addr, REC->initiation_time_ms, REC->slot_duration_dtu, REC->block_duration_dtu, REC->round_duration_slots, REC->round_hopping, REC->priority, REC->channel_number, REC->preamble_code_index, __print_symbolic(REC->rframe_config, { FIRA_RFRAME_CONFIG_SP0, "SP0" }, { FIRA_RFRAME_CONFIG_SP1, "SP1" }, { FIRA_RFRAME_CONFIG_SP2, "SP2" }, { FIRA_RFRAME_CONFIG_SP3, "SP3" }), __print_symbolic(REC->preamble_duration, { FIRA_PREAMBULE_DURATION_32, "32" }, { FIRA_PREAMBULE_DURATION_64, "64" }), REC->sfd_id, __print_symbolic(REC->psdu_data_rate, { FIRA_PSDU_DATA_RATE_6M81, "6M81" }, { FIRA_PSDU_DATA_RATE_7M80, "7M80" }, { FIRA_PSDU_DATA_RATE_27M2, "27M2" }, { FIRA_PSDU_DATA_RATE_31M2, "31M2" }), __print_symbolic(REC->mac_fcs_type, { FIRA_MAC_FCS_TYPE_CRC_16, "16" }, { FIRA_MAC_FCS_TYPE_CRC_32, "32" }), __print_symbolic(REC->sts_config, { FIRA_STS_CONFIG_STATIC, "static" }, { FIRA_STS_CONFIG_DYNAMIC, "dynamic" }, { FIRA_STS_CONFIG_DYNAMIC_INDIVIDUAL_KEY, "dynamic_individual_key" }), __print_hex(REC->vupper64, 8), REC->aoa_result_req, REC->report_tof, REC->report_aoa_azimuth, REC->report_aoa_elevation, REC->report_aoa_fom, REC->rx_antenna_selection, REC->rx_antenna_pair_azimuth, REC->rx_antenna_pair_elevation, REC->tx_antenna_selection, __print_symbolic(REC->rx_antenna_switch, { FIRA_RX_ANTENNA_SWITCH_BETWEEN_ROUND, "between_round" }, { FIRA_RX_ANTENNA_SWITCH_DURING_ROUND, "during_round" }, { FIRA_RX_ANTENNA_SWITCH_TWO_RANGING, "two_ranging" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154_region_fira/region_fira_tx_message_type/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154_region_fira/region_fira_tx_message_type/format
new file mode 100644
index 0000000..3641d05
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154_region_fira/region_fira_tx_message_type/format
@@ -0,0 +1,12 @@
+name: region_fira_tx_message_type
+ID: 1243
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 session_id;	offset:8;	size:4;	signed:0;
+	field:enum fira_message_id msg_id;	offset:12;	size:4;	signed:0;
+
+print fmt: "session_id=%d message_type=%s", REC->session_id, __print_symbolic(REC->msg_id, { FIRA_MESSAGE_ID_RANGING_INITIATION, "RIM" }, { FIRA_MESSAGE_ID_RANGING_RESPONSE, "RRM" }, { FIRA_MESSAGE_ID_RANGING_FINAL, "RFM" }, { FIRA_MESSAGE_ID_CONTROL, "RCM" }, { FIRA_MESSAGE_ID_MEASUREMENT_REPORT, "MRM" }, { FIRA_MESSAGE_ID_RESULT_REPORT, "RRRM" }, { FIRA_MESSAGE_ID_CONTROL_UPDATE, "CMU" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154_region_nfcc_coex/nfcc_coex_llhw_return_int/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154_region_nfcc_coex/nfcc_coex_llhw_return_int/format
new file mode 100644
index 0000000..bdd1f03
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154_region_nfcc_coex/nfcc_coex_llhw_return_int/format
@@ -0,0 +1,12 @@
+name: nfcc_coex_llhw_return_int
+ID: 1244
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:int ret;	offset:12;	size:4;	signed:1;
+
+print fmt: "hw%d returned=%d", REC->hw_idx, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154_region_nfcc_coex/nfcc_coex_llhw_vendor_cmd/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154_region_nfcc_coex/nfcc_coex_llhw_vendor_cmd/format
new file mode 100644
index 0000000..d4832cc
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mcps802154_region_nfcc_coex/nfcc_coex_llhw_vendor_cmd/format
@@ -0,0 +1,13 @@
+name: nfcc_coex_llhw_vendor_cmd
+ID: 1245
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int hw_idx;	offset:8;	size:4;	signed:1;
+	field:u32 vendor_id;	offset:12;	size:4;	signed:0;
+	field:u32 subcmd;	offset:16;	size:4;	signed:0;
+
+print fmt: "hw%d vendor_id=%06x subcmd=%s", REC->hw_idx, REC->vendor_id, __print_symbolic(REC->subcmd, { DW3000_VENDOR_CMD_NFCC_COEX_HANDLE_ACCESS, "HANDLE_ACCESS"}, { DW3000_VENDOR_CMD_NFCC_COEX_GET_ACCESS_INFORMATION, "GET_ACCESS_INFORMATION"}, { DW3000_VENDOR_CMD_NFCC_COEX_STOP, "STOP"})
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mdio/mdio_access/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mdio/mdio_access/format
new file mode 100644
index 0000000..cfdcfd9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mdio/mdio_access/format
@@ -0,0 +1,15 @@
+name: mdio_access
+ID: 724
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char busid[61];	offset:8;	size:61;	signed:0;
+	field:char read;	offset:69;	size:1;	signed:0;
+	field:u8 addr;	offset:70;	size:1;	signed:0;
+	field:u16 val;	offset:72;	size:2;	signed:0;
+	field:unsigned regnum;	offset:76;	size:4;	signed:0;
+
+print fmt: "%s %-5s phy:0x%02hhx reg:0x%02x val:0x%04hx", REC->busid, REC->read ? "read" : "write", REC->addr, REC->regnum, REC->val
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mfc/mfc_dcpp_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mfc/mfc_dcpp_end/format
new file mode 100644
index 0000000..111dc7e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mfc/mfc_dcpp_end/format
@@ -0,0 +1,13 @@
+name: mfc_dcpp_end
+ID: 1090
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int ctx_num;	offset:8;	size:4;	signed:1;
+	field:int is_support_smc;	offset:12;	size:4;	signed:1;
+	field:int drm_fw_status;	offset:16;	size:4;	signed:1;
+
+print fmt: "ctx[%d] support drm=%d, drm fw %s", REC->ctx_num, REC->is_support_smc, REC->drm_fw_status ? "loaded" : "not-loaded"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mfc/mfc_dcpp_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mfc/mfc_dcpp_start/format
new file mode 100644
index 0000000..5e9f0cd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mfc/mfc_dcpp_start/format
@@ -0,0 +1,13 @@
+name: mfc_dcpp_start
+ID: 1091
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int ctx_num;	offset:8;	size:4;	signed:1;
+	field:int is_support_smc;	offset:12;	size:4;	signed:1;
+	field:int drm_fw_status;	offset:16;	size:4;	signed:1;
+
+print fmt: "ctx[%d] support drm=%d, drm fw %s", REC->ctx_num, REC->is_support_smc, REC->drm_fw_status ? "loaded" : "not-loaded"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mfc/mfc_frame_bottom/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mfc/mfc_frame_bottom/format
new file mode 100644
index 0000000..89b50fc
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mfc/mfc_frame_bottom/format
@@ -0,0 +1,14 @@
+name: mfc_frame_bottom
+ID: 1092
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int ctx_num;	offset:8;	size:4;	signed:1;
+	field:int reason;	offset:12;	size:4;	signed:1;
+	field:int type;	offset:16;	size:4;	signed:1;
+	field:int is_drm;	offset:20;	size:4;	signed:1;
+
+print fmt: "ctx[%d] reason=%d, type=%d, %s", REC->ctx_num, REC->reason, REC->type, REC->is_drm ? "drm" : "normal"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mfc/mfc_frame_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mfc/mfc_frame_start/format
new file mode 100644
index 0000000..5fa99af
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mfc/mfc_frame_start/format
@@ -0,0 +1,14 @@
+name: mfc_frame_start
+ID: 1093
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int ctx_num;	offset:8;	size:4;	signed:1;
+	field:int reason;	offset:12;	size:4;	signed:1;
+	field:int type;	offset:16;	size:4;	signed:1;
+	field:int is_drm;	offset:20;	size:4;	signed:1;
+
+print fmt: "ctx[%d] reason=%d, type=%d, %s", REC->ctx_num, REC->reason, REC->type, REC->is_drm ? "drm" : "normal"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mfc/mfc_frame_top/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mfc/mfc_frame_top/format
new file mode 100644
index 0000000..9d96757
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mfc/mfc_frame_top/format
@@ -0,0 +1,14 @@
+name: mfc_frame_top
+ID: 1094
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int ctx_num;	offset:8;	size:4;	signed:1;
+	field:int reason;	offset:12;	size:4;	signed:1;
+	field:int type;	offset:16;	size:4;	signed:1;
+	field:int is_drm;	offset:20;	size:4;	signed:1;
+
+print fmt: "ctx[%d] reason=%d, type=%d, %s", REC->ctx_num, REC->reason, REC->type, REC->is_drm ? "drm" : "normal"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mfc/mfc_loadfw_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mfc/mfc_loadfw_end/format
new file mode 100644
index 0000000..089be63
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mfc/mfc_loadfw_end/format
@@ -0,0 +1,12 @@
+name: mfc_loadfw_end
+ID: 1095
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:size_t fw_region_size;	offset:8;	size:8;	signed:0;
+	field:size_t fw_size;	offset:16;	size:8;	signed:0;
+
+print fmt: "FW region: %ld, size: %ld", REC->fw_region_size, REC->fw_size
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mfc/mfc_loadfw_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mfc/mfc_loadfw_start/format
new file mode 100644
index 0000000..256ecdc
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mfc/mfc_loadfw_start/format
@@ -0,0 +1,12 @@
+name: mfc_loadfw_start
+ID: 1096
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:size_t fw_region_size;	offset:8;	size:8;	signed:0;
+	field:size_t fw_size;	offset:16;	size:8;	signed:0;
+
+print fmt: "FW region: %ld, size: %ld", REC->fw_region_size, REC->fw_size
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mfc/mfc_node_close/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mfc/mfc_node_close/format
new file mode 100644
index 0000000..7f30af5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mfc/mfc_node_close/format
@@ -0,0 +1,14 @@
+name: mfc_node_close
+ID: 1097
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int ctx_num;	offset:8;	size:4;	signed:1;
+	field:int num_inst;	offset:12;	size:4;	signed:1;
+	field:unsigned int type;	offset:16;	size:4;	signed:0;
+	field:int is_drm;	offset:20;	size:4;	signed:1;
+
+print fmt: "ctx[%d] total inst=%d, type=%d, %s", REC->ctx_num, REC->num_inst, REC->type, REC->is_drm ? "drm" : "normal"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mfc/mfc_node_open/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mfc/mfc_node_open/format
new file mode 100644
index 0000000..8dd088b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mfc/mfc_node_open/format
@@ -0,0 +1,14 @@
+name: mfc_node_open
+ID: 1098
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int ctx_num;	offset:8;	size:4;	signed:1;
+	field:int num_inst;	offset:12;	size:4;	signed:1;
+	field:unsigned int type;	offset:16;	size:4;	signed:0;
+	field:int is_drm;	offset:20;	size:4;	signed:1;
+
+print fmt: "ctx[%d] total inst=%d, type=%d, %s", REC->ctx_num, REC->num_inst, REC->type, REC->is_drm ? "drm" : "normal"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/migrate/mm_migrate_pages/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/migrate/mm_migrate_pages/format
new file mode 100644
index 0000000..b16efc5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/migrate/mm_migrate_pages/format
@@ -0,0 +1,17 @@
+name: mm_migrate_pages
+ID: 283
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long succeeded;	offset:8;	size:8;	signed:0;
+	field:unsigned long failed;	offset:16;	size:8;	signed:0;
+	field:unsigned long thp_succeeded;	offset:24;	size:8;	signed:0;
+	field:unsigned long thp_failed;	offset:32;	size:8;	signed:0;
+	field:unsigned long thp_split;	offset:40;	size:8;	signed:0;
+	field:enum migrate_mode mode;	offset:48;	size:4;	signed:0;
+	field:int reason;	offset:52;	size:4;	signed:1;
+
+print fmt: "nr_succeeded=%lu nr_failed=%lu nr_thp_succeeded=%lu nr_thp_failed=%lu nr_thp_split=%lu mode=%s reason=%s", REC->succeeded, REC->failed, REC->thp_succeeded, REC->thp_failed, REC->thp_split, __print_symbolic(REC->mode, {0, "MIGRATE_ASYNC"}, {1, "MIGRATE_SYNC_LIGHT"}, {2, "MIGRATE_SYNC"}), __print_symbolic(REC->reason, {0, "compaction"}, {1, "memory_failure"}, {2, "memory_hotplug"}, {3, "syscall_or_cpuset"}, {4, "mempolicy_mbind"}, {5, "numa_misplaced"}, {6, "contig_range"})
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/migrate/mm_migrate_pages_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/migrate/mm_migrate_pages_start/format
new file mode 100644
index 0000000..b9b8d9b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/migrate/mm_migrate_pages_start/format
@@ -0,0 +1,12 @@
+name: mm_migrate_pages_start
+ID: 284
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:enum migrate_mode mode;	offset:8;	size:4;	signed:0;
+	field:int reason;	offset:12;	size:4;	signed:1;
+
+print fmt: "mode=%s reason=%s", __print_symbolic(REC->mode, {0, "MIGRATE_ASYNC"}, {1, "MIGRATE_SYNC_LIGHT"}, {2, "MIGRATE_SYNC"}), __print_symbolic(REC->reason, {0, "compaction"}, {1, "memory_failure"}, {2, "memory_hotplug"}, {3, "syscall_or_cpuset"}, {4, "mempolicy_mbind"}, {5, "numa_misplaced"}, {6, "contig_range"})
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mmap/vm_unmapped_area/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mmap/vm_unmapped_area/format
new file mode 100644
index 0000000..35dd246
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mmap/vm_unmapped_area/format
@@ -0,0 +1,19 @@
+name: vm_unmapped_area
+ID: 282
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long addr;	offset:8;	size:8;	signed:0;
+	field:unsigned long total_vm;	offset:16;	size:8;	signed:0;
+	field:unsigned long flags;	offset:24;	size:8;	signed:0;
+	field:unsigned long length;	offset:32;	size:8;	signed:0;
+	field:unsigned long low_limit;	offset:40;	size:8;	signed:0;
+	field:unsigned long high_limit;	offset:48;	size:8;	signed:0;
+	field:unsigned long align_mask;	offset:56;	size:8;	signed:0;
+	field:unsigned long align_offset;	offset:64;	size:8;	signed:0;
+
+print fmt: "addr=0x%lx err=%ld total_vm=0x%lx flags=0x%lx len=0x%lx lo=0x%lx hi=0x%lx mask=0x%lx ofs=0x%lx
+", __builtin_expect(!!((unsigned long)(void *)(REC->addr) >= (unsigned long)-4095), 0) ? 0 : REC->addr, __builtin_expect(!!((unsigned long)(void *)(REC->addr) >= (unsigned long)-4095), 0) ? REC->addr : 0, REC->total_vm, REC->flags, REC->length, REC->low_limit, REC->high_limit, REC->align_mask, REC->align_offset
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mmc/mmc_request_done/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mmc/mmc_request_done/format
new file mode 100644
index 0000000..7bb4d47
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mmc/mmc_request_done/format
@@ -0,0 +1,33 @@
+name: mmc_request_done
+ID: 861
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 cmd_opcode;	offset:8;	size:4;	signed:0;
+	field:int cmd_err;	offset:12;	size:4;	signed:1;
+	field:u32 cmd_resp[4];	offset:16;	size:16;	signed:0;
+	field:unsigned int cmd_retries;	offset:32;	size:4;	signed:0;
+	field:u32 stop_opcode;	offset:36;	size:4;	signed:0;
+	field:int stop_err;	offset:40;	size:4;	signed:1;
+	field:u32 stop_resp[4];	offset:44;	size:16;	signed:0;
+	field:unsigned int stop_retries;	offset:60;	size:4;	signed:0;
+	field:u32 sbc_opcode;	offset:64;	size:4;	signed:0;
+	field:int sbc_err;	offset:68;	size:4;	signed:1;
+	field:u32 sbc_resp[4];	offset:72;	size:16;	signed:0;
+	field:unsigned int sbc_retries;	offset:88;	size:4;	signed:0;
+	field:unsigned int bytes_xfered;	offset:92;	size:4;	signed:0;
+	field:int data_err;	offset:96;	size:4;	signed:1;
+	field:int tag;	offset:100;	size:4;	signed:1;
+	field:unsigned int can_retune;	offset:104;	size:4;	signed:0;
+	field:unsigned int doing_retune;	offset:108;	size:4;	signed:0;
+	field:unsigned int retune_now;	offset:112;	size:4;	signed:0;
+	field:int need_retune;	offset:116;	size:4;	signed:1;
+	field:int hold_retune;	offset:120;	size:4;	signed:1;
+	field:unsigned int retune_period;	offset:124;	size:4;	signed:0;
+	field:struct mmc_request * mrq;	offset:128;	size:8;	signed:0;
+	field:__data_loc char[] name;	offset:136;	size:4;	signed:0;
+
+print fmt: "%s: end struct mmc_request[%p]: cmd_opcode=%u cmd_err=%d cmd_resp=0x%x 0x%x 0x%x 0x%x cmd_retries=%u stop_opcode=%u stop_err=%d stop_resp=0x%x 0x%x 0x%x 0x%x stop_retries=%u sbc_opcode=%u sbc_err=%d sbc_resp=0x%x 0x%x 0x%x 0x%x sbc_retries=%u bytes_xfered=%u data_err=%d tag=%d can_retune=%u doing_retune=%u retune_now=%u need_retune=%d hold_retune=%d retune_period=%u", __get_str(name), REC->mrq, REC->cmd_opcode, REC->cmd_err, REC->cmd_resp[0], REC->cmd_resp[1], REC->cmd_resp[2], REC->cmd_resp[3], REC->cmd_retries, REC->stop_opcode, REC->stop_err, REC->stop_resp[0], REC->stop_resp[1], REC->stop_resp[2], REC->stop_resp[3], REC->stop_retries, REC->sbc_opcode, REC->sbc_err, REC->sbc_resp[0], REC->sbc_resp[1], REC->sbc_resp[2], REC->sbc_resp[3], REC->sbc_retries, REC->bytes_xfered, REC->data_err, REC->tag, REC->can_retune, REC->doing_retune, REC->retune_now, REC->need_retune, REC->hold_retune, REC->retune_period
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mmc/mmc_request_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mmc/mmc_request_start/format
new file mode 100644
index 0000000..b4c27fc
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/mmc/mmc_request_start/format
@@ -0,0 +1,35 @@
+name: mmc_request_start
+ID: 862
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 cmd_opcode;	offset:8;	size:4;	signed:0;
+	field:u32 cmd_arg;	offset:12;	size:4;	signed:0;
+	field:unsigned int cmd_flags;	offset:16;	size:4;	signed:0;
+	field:unsigned int cmd_retries;	offset:20;	size:4;	signed:0;
+	field:u32 stop_opcode;	offset:24;	size:4;	signed:0;
+	field:u32 stop_arg;	offset:28;	size:4;	signed:0;
+	field:unsigned int stop_flags;	offset:32;	size:4;	signed:0;
+	field:unsigned int stop_retries;	offset:36;	size:4;	signed:0;
+	field:u32 sbc_opcode;	offset:40;	size:4;	signed:0;
+	field:u32 sbc_arg;	offset:44;	size:4;	signed:0;
+	field:unsigned int sbc_flags;	offset:48;	size:4;	signed:0;
+	field:unsigned int sbc_retries;	offset:52;	size:4;	signed:0;
+	field:unsigned int blocks;	offset:56;	size:4;	signed:0;
+	field:unsigned int blk_addr;	offset:60;	size:4;	signed:0;
+	field:unsigned int blksz;	offset:64;	size:4;	signed:0;
+	field:unsigned int data_flags;	offset:68;	size:4;	signed:0;
+	field:int tag;	offset:72;	size:4;	signed:1;
+	field:unsigned int can_retune;	offset:76;	size:4;	signed:0;
+	field:unsigned int doing_retune;	offset:80;	size:4;	signed:0;
+	field:unsigned int retune_now;	offset:84;	size:4;	signed:0;
+	field:int need_retune;	offset:88;	size:4;	signed:1;
+	field:int hold_retune;	offset:92;	size:4;	signed:1;
+	field:unsigned int retune_period;	offset:96;	size:4;	signed:0;
+	field:struct mmc_request * mrq;	offset:104;	size:8;	signed:0;
+	field:__data_loc char[] name;	offset:112;	size:4;	signed:0;
+
+print fmt: "%s: start struct mmc_request[%p]: cmd_opcode=%u cmd_arg=0x%x cmd_flags=0x%x cmd_retries=%u stop_opcode=%u stop_arg=0x%x stop_flags=0x%x stop_retries=%u sbc_opcode=%u sbc_arg=0x%x sbc_flags=0x%x sbc_retires=%u blocks=%u block_size=%u blk_addr=%u data_flags=0x%x tag=%d can_retune=%u doing_retune=%u retune_now=%u need_retune=%d hold_retune=%d retune_period=%u", __get_str(name), REC->mrq, REC->cmd_opcode, REC->cmd_arg, REC->cmd_flags, REC->cmd_retries, REC->stop_opcode, REC->stop_arg, REC->stop_flags, REC->stop_retries, REC->sbc_opcode, REC->sbc_arg, REC->sbc_flags, REC->sbc_retries, REC->blocks, REC->blksz, REC->blk_addr, REC->data_flags, REC->tag, REC->can_retune, REC->doing_retune, REC->retune_now, REC->need_retune, REC->hold_retune, REC->retune_period
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/module/module_free/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/module/module_free/format
new file mode 100644
index 0000000..2a1e28c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/module/module_free/format
@@ -0,0 +1,11 @@
+name: module_free
+ID: 150
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+
+print fmt: "%s", __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/module/module_get/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/module/module_get/format
new file mode 100644
index 0000000..16538bf
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/module/module_get/format
@@ -0,0 +1,13 @@
+name: module_get
+ID: 151
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long ip;	offset:8;	size:8;	signed:0;
+	field:int refcnt;	offset:16;	size:4;	signed:1;
+	field:__data_loc char[] name;	offset:20;	size:4;	signed:0;
+
+print fmt: "%s call_site=%ps refcnt=%d", __get_str(name), (void *)REC->ip, REC->refcnt
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/module/module_load/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/module/module_load/format
new file mode 100644
index 0000000..0052c5a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/module/module_load/format
@@ -0,0 +1,12 @@
+name: module_load
+ID: 152
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int taints;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] name;	offset:12;	size:4;	signed:0;
+
+print fmt: "%s %s", __get_str(name), __print_flags(REC->taints, "", { (1UL << 0), "P" }, { (1UL << 12), "O" }, { (1UL << 1), "F" }, { (1UL << 10), "C" }, { (1UL << 13), "E" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/module/module_put/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/module/module_put/format
new file mode 100644
index 0000000..0a145c8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/module/module_put/format
@@ -0,0 +1,13 @@
+name: module_put
+ID: 153
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long ip;	offset:8;	size:8;	signed:0;
+	field:int refcnt;	offset:16;	size:4;	signed:1;
+	field:__data_loc char[] name;	offset:20;	size:4;	signed:0;
+
+print fmt: "%s call_site=%ps refcnt=%d", __get_str(name), (void *)REC->ip, REC->refcnt
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/module/module_request/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/module/module_request/format
new file mode 100644
index 0000000..54261cc
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/module/module_request/format
@@ -0,0 +1,13 @@
+name: module_request
+ID: 154
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long ip;	offset:8;	size:8;	signed:0;
+	field:bool wait;	offset:16;	size:1;	signed:0;
+	field:__data_loc char[] name;	offset:20;	size:4;	signed:0;
+
+print fmt: "%s wait=%d call_site=%ps", __get_str(name), (int)REC->wait, (void *)REC->ip
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/namei/inodepath/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/namei/inodepath/format
new file mode 100644
index 0000000..2b924d6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/namei/inodepath/format
@@ -0,0 +1,13 @@
+name: inodepath
+ID: 295
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long ino;	offset:8;	size:8;	signed:0;
+	field:unsigned long dev;	offset:16;	size:8;	signed:0;
+	field:__data_loc char[] path;	offset:24;	size:4;	signed:0;
+
+print fmt: "dev %d:%d ino=%lu path=%s", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->ino, __get_str(path)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/napi/napi_poll/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/napi/napi_poll/format
new file mode 100644
index 0000000..fcf8fb5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/napi/napi_poll/format
@@ -0,0 +1,14 @@
+name: napi_poll
+ID: 930
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct napi_struct * napi;	offset:8;	size:8;	signed:0;
+	field:__data_loc char[] dev_name;	offset:16;	size:4;	signed:0;
+	field:int work;	offset:20;	size:4;	signed:1;
+	field:int budget;	offset:24;	size:4;	signed:1;
+
+print fmt: "napi poll on napi struct %p for device %s work %d budget %d", REC->napi, __get_str(dev_name), REC->work, REC->budget
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/neigh/neigh_cleanup_and_release/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/neigh/neigh_cleanup_and_release/format
new file mode 100644
index 0000000..6dd1831
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/neigh/neigh_cleanup_and_release/format
@@ -0,0 +1,25 @@
+name: neigh_cleanup_and_release
+ID: 931
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 family;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] dev;	offset:12;	size:4;	signed:0;
+	field:u8 lladdr[32];	offset:16;	size:32;	signed:0;
+	field:u8 lladdr_len;	offset:48;	size:1;	signed:0;
+	field:u8 flags;	offset:49;	size:1;	signed:0;
+	field:u8 nud_state;	offset:50;	size:1;	signed:0;
+	field:u8 type;	offset:51;	size:1;	signed:0;
+	field:u8 dead;	offset:52;	size:1;	signed:0;
+	field:int refcnt;	offset:56;	size:4;	signed:1;
+	field:__u8 primary_key4[4];	offset:60;	size:4;	signed:0;
+	field:__u8 primary_key6[16];	offset:64;	size:16;	signed:0;
+	field:unsigned long confirmed;	offset:80;	size:8;	signed:0;
+	field:unsigned long updated;	offset:88;	size:8;	signed:0;
+	field:unsigned long used;	offset:96;	size:8;	signed:0;
+	field:u32 err;	offset:104;	size:4;	signed:0;
+
+print fmt: "family %d dev %s lladdr %s flags %02x nud_state %s type %02x dead %d refcnt %d primary_key4 %pI4 primary_key6 %pI6c confirmed %lu updated %lu used %lu err %d", REC->family, __get_str(dev), __print_hex_str(REC->lladdr, REC->lladdr_len), REC->flags, __print_symbolic(REC->nud_state, { 0x01, "incomplete" }, { 0x02, "reachable" }, { 0x04, "stale" }, { 0x08, "delay" }, { 0x10, "probe" }, { 0x20, "failed" }, { 0x40, "noarp" }, { 0x80, "permanent"}), REC->type, REC->dead, REC->refcnt, REC->primary_key4, REC->primary_key6, REC->confirmed, REC->updated, REC->used, REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/neigh/neigh_create/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/neigh/neigh_create/format
new file mode 100644
index 0000000..b94d87e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/neigh/neigh_create/format
@@ -0,0 +1,17 @@
+name: neigh_create
+ID: 932
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 family;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] dev;	offset:12;	size:4;	signed:0;
+	field:int entries;	offset:16;	size:4;	signed:1;
+	field:u8 created;	offset:20;	size:1;	signed:0;
+	field:u8 gc_exempt;	offset:21;	size:1;	signed:0;
+	field:u8 primary_key4[4];	offset:22;	size:4;	signed:0;
+	field:u8 primary_key6[16];	offset:26;	size:16;	signed:0;
+
+print fmt: "family %d dev %s entries %d primary_key4 %pI4 primary_key6 %pI6c created %d gc_exempt %d", REC->family, __get_str(dev), REC->entries, REC->primary_key4, REC->primary_key6, REC->created, REC->gc_exempt
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/neigh/neigh_event_send_dead/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/neigh/neigh_event_send_dead/format
new file mode 100644
index 0000000..28a0ed6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/neigh/neigh_event_send_dead/format
@@ -0,0 +1,25 @@
+name: neigh_event_send_dead
+ID: 933
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 family;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] dev;	offset:12;	size:4;	signed:0;
+	field:u8 lladdr[32];	offset:16;	size:32;	signed:0;
+	field:u8 lladdr_len;	offset:48;	size:1;	signed:0;
+	field:u8 flags;	offset:49;	size:1;	signed:0;
+	field:u8 nud_state;	offset:50;	size:1;	signed:0;
+	field:u8 type;	offset:51;	size:1;	signed:0;
+	field:u8 dead;	offset:52;	size:1;	signed:0;
+	field:int refcnt;	offset:56;	size:4;	signed:1;
+	field:__u8 primary_key4[4];	offset:60;	size:4;	signed:0;
+	field:__u8 primary_key6[16];	offset:64;	size:16;	signed:0;
+	field:unsigned long confirmed;	offset:80;	size:8;	signed:0;
+	field:unsigned long updated;	offset:88;	size:8;	signed:0;
+	field:unsigned long used;	offset:96;	size:8;	signed:0;
+	field:u32 err;	offset:104;	size:4;	signed:0;
+
+print fmt: "family %d dev %s lladdr %s flags %02x nud_state %s type %02x dead %d refcnt %d primary_key4 %pI4 primary_key6 %pI6c confirmed %lu updated %lu used %lu err %d", REC->family, __get_str(dev), __print_hex_str(REC->lladdr, REC->lladdr_len), REC->flags, __print_symbolic(REC->nud_state, { 0x01, "incomplete" }, { 0x02, "reachable" }, { 0x04, "stale" }, { 0x08, "delay" }, { 0x10, "probe" }, { 0x20, "failed" }, { 0x40, "noarp" }, { 0x80, "permanent"}), REC->type, REC->dead, REC->refcnt, REC->primary_key4, REC->primary_key6, REC->confirmed, REC->updated, REC->used, REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/neigh/neigh_event_send_done/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/neigh/neigh_event_send_done/format
new file mode 100644
index 0000000..089ac0c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/neigh/neigh_event_send_done/format
@@ -0,0 +1,25 @@
+name: neigh_event_send_done
+ID: 934
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 family;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] dev;	offset:12;	size:4;	signed:0;
+	field:u8 lladdr[32];	offset:16;	size:32;	signed:0;
+	field:u8 lladdr_len;	offset:48;	size:1;	signed:0;
+	field:u8 flags;	offset:49;	size:1;	signed:0;
+	field:u8 nud_state;	offset:50;	size:1;	signed:0;
+	field:u8 type;	offset:51;	size:1;	signed:0;
+	field:u8 dead;	offset:52;	size:1;	signed:0;
+	field:int refcnt;	offset:56;	size:4;	signed:1;
+	field:__u8 primary_key4[4];	offset:60;	size:4;	signed:0;
+	field:__u8 primary_key6[16];	offset:64;	size:16;	signed:0;
+	field:unsigned long confirmed;	offset:80;	size:8;	signed:0;
+	field:unsigned long updated;	offset:88;	size:8;	signed:0;
+	field:unsigned long used;	offset:96;	size:8;	signed:0;
+	field:u32 err;	offset:104;	size:4;	signed:0;
+
+print fmt: "family %d dev %s lladdr %s flags %02x nud_state %s type %02x dead %d refcnt %d primary_key4 %pI4 primary_key6 %pI6c confirmed %lu updated %lu used %lu err %d", REC->family, __get_str(dev), __print_hex_str(REC->lladdr, REC->lladdr_len), REC->flags, __print_symbolic(REC->nud_state, { 0x01, "incomplete" }, { 0x02, "reachable" }, { 0x04, "stale" }, { 0x08, "delay" }, { 0x10, "probe" }, { 0x20, "failed" }, { 0x40, "noarp" }, { 0x80, "permanent"}), REC->type, REC->dead, REC->refcnt, REC->primary_key4, REC->primary_key6, REC->confirmed, REC->updated, REC->used, REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/neigh/neigh_timer_handler/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/neigh/neigh_timer_handler/format
new file mode 100644
index 0000000..1c0c052
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/neigh/neigh_timer_handler/format
@@ -0,0 +1,25 @@
+name: neigh_timer_handler
+ID: 935
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 family;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] dev;	offset:12;	size:4;	signed:0;
+	field:u8 lladdr[32];	offset:16;	size:32;	signed:0;
+	field:u8 lladdr_len;	offset:48;	size:1;	signed:0;
+	field:u8 flags;	offset:49;	size:1;	signed:0;
+	field:u8 nud_state;	offset:50;	size:1;	signed:0;
+	field:u8 type;	offset:51;	size:1;	signed:0;
+	field:u8 dead;	offset:52;	size:1;	signed:0;
+	field:int refcnt;	offset:56;	size:4;	signed:1;
+	field:__u8 primary_key4[4];	offset:60;	size:4;	signed:0;
+	field:__u8 primary_key6[16];	offset:64;	size:16;	signed:0;
+	field:unsigned long confirmed;	offset:80;	size:8;	signed:0;
+	field:unsigned long updated;	offset:88;	size:8;	signed:0;
+	field:unsigned long used;	offset:96;	size:8;	signed:0;
+	field:u32 err;	offset:104;	size:4;	signed:0;
+
+print fmt: "family %d dev %s lladdr %s flags %02x nud_state %s type %02x dead %d refcnt %d primary_key4 %pI4 primary_key6 %pI6c confirmed %lu updated %lu used %lu err %d", REC->family, __get_str(dev), __print_hex_str(REC->lladdr, REC->lladdr_len), REC->flags, __print_symbolic(REC->nud_state, { 0x01, "incomplete" }, { 0x02, "reachable" }, { 0x04, "stale" }, { 0x08, "delay" }, { 0x10, "probe" }, { 0x20, "failed" }, { 0x40, "noarp" }, { 0x80, "permanent"}), REC->type, REC->dead, REC->refcnt, REC->primary_key4, REC->primary_key6, REC->confirmed, REC->updated, REC->used, REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/neigh/neigh_update/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/neigh/neigh_update/format
new file mode 100644
index 0000000..e7c6c46
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/neigh/neigh_update/format
@@ -0,0 +1,28 @@
+name: neigh_update
+ID: 936
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 family;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] dev;	offset:12;	size:4;	signed:0;
+	field:u8 lladdr[32];	offset:16;	size:32;	signed:0;
+	field:u8 lladdr_len;	offset:48;	size:1;	signed:0;
+	field:u8 flags;	offset:49;	size:1;	signed:0;
+	field:u8 nud_state;	offset:50;	size:1;	signed:0;
+	field:u8 type;	offset:51;	size:1;	signed:0;
+	field:u8 dead;	offset:52;	size:1;	signed:0;
+	field:int refcnt;	offset:56;	size:4;	signed:1;
+	field:__u8 primary_key4[4];	offset:60;	size:4;	signed:0;
+	field:__u8 primary_key6[16];	offset:64;	size:16;	signed:0;
+	field:unsigned long confirmed;	offset:80;	size:8;	signed:0;
+	field:unsigned long updated;	offset:88;	size:8;	signed:0;
+	field:unsigned long used;	offset:96;	size:8;	signed:0;
+	field:u8 new_lladdr[32];	offset:104;	size:32;	signed:0;
+	field:u8 new_state;	offset:136;	size:1;	signed:0;
+	field:u32 update_flags;	offset:140;	size:4;	signed:0;
+	field:u32 pid;	offset:144;	size:4;	signed:0;
+
+print fmt: "family %d dev %s lladdr %s flags %02x nud_state %s type %02x dead %d refcnt %d primary_key4 %pI4 primary_key6 %pI6c confirmed %lu updated %lu used %lu new_lladdr %s new_state %s update_flags %02x pid %d", REC->family, __get_str(dev), __print_hex_str(REC->lladdr, REC->lladdr_len), REC->flags, __print_symbolic(REC->nud_state, { 0x01, "incomplete" }, { 0x02, "reachable" }, { 0x04, "stale" }, { 0x08, "delay" }, { 0x10, "probe" }, { 0x20, "failed" }, { 0x40, "noarp" }, { 0x80, "permanent"}), REC->type, REC->dead, REC->refcnt, REC->primary_key4, REC->primary_key6, REC->confirmed, REC->updated, REC->used, __print_hex_str(REC->new_lladdr, REC->lladdr_len), __print_symbolic(REC->new_state, { 0x01, "incomplete" }, { 0x02, "reachable" }, { 0x04, "stale" }, { 0x08, "delay" }, { 0x10, "probe" }, { 0x20, "failed" }, { 0x40, "noarp" }, { 0x80, "permanent"}), REC->update_flags, REC->pid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/neigh/neigh_update_done/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/neigh/neigh_update_done/format
new file mode 100644
index 0000000..cca8b11
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/neigh/neigh_update_done/format
@@ -0,0 +1,25 @@
+name: neigh_update_done
+ID: 937
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 family;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] dev;	offset:12;	size:4;	signed:0;
+	field:u8 lladdr[32];	offset:16;	size:32;	signed:0;
+	field:u8 lladdr_len;	offset:48;	size:1;	signed:0;
+	field:u8 flags;	offset:49;	size:1;	signed:0;
+	field:u8 nud_state;	offset:50;	size:1;	signed:0;
+	field:u8 type;	offset:51;	size:1;	signed:0;
+	field:u8 dead;	offset:52;	size:1;	signed:0;
+	field:int refcnt;	offset:56;	size:4;	signed:1;
+	field:__u8 primary_key4[4];	offset:60;	size:4;	signed:0;
+	field:__u8 primary_key6[16];	offset:64;	size:16;	signed:0;
+	field:unsigned long confirmed;	offset:80;	size:8;	signed:0;
+	field:unsigned long updated;	offset:88;	size:8;	signed:0;
+	field:unsigned long used;	offset:96;	size:8;	signed:0;
+	field:u32 err;	offset:104;	size:4;	signed:0;
+
+print fmt: "family %d dev %s lladdr %s flags %02x nud_state %s type %02x dead %d refcnt %d primary_key4 %pI4 primary_key6 %pI6c confirmed %lu updated %lu used %lu err %d", REC->family, __get_str(dev), __print_hex_str(REC->lladdr, REC->lladdr_len), REC->flags, __print_symbolic(REC->nud_state, { 0x01, "incomplete" }, { 0x02, "reachable" }, { 0x04, "stale" }, { 0x08, "delay" }, { 0x10, "probe" }, { 0x20, "failed" }, { 0x40, "noarp" }, { 0x80, "permanent"}), REC->type, REC->dead, REC->refcnt, REC->primary_key4, REC->primary_key6, REC->confirmed, REC->updated, REC->used, REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/napi_gro_frags_entry/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/napi_gro_frags_entry/format
new file mode 100644
index 0000000..135549e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/napi_gro_frags_entry/format
@@ -0,0 +1,29 @@
+name: napi_gro_frags_entry
+ID: 926
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned int napi_id;	offset:12;	size:4;	signed:0;
+	field:u16 queue_mapping;	offset:16;	size:2;	signed:0;
+	field:const void * skbaddr;	offset:24;	size:8;	signed:0;
+	field:bool vlan_tagged;	offset:32;	size:1;	signed:0;
+	field:u16 vlan_proto;	offset:34;	size:2;	signed:0;
+	field:u16 vlan_tci;	offset:36;	size:2;	signed:0;
+	field:u16 protocol;	offset:38;	size:2;	signed:0;
+	field:u8 ip_summed;	offset:40;	size:1;	signed:0;
+	field:u32 hash;	offset:44;	size:4;	signed:0;
+	field:bool l4_hash;	offset:48;	size:1;	signed:0;
+	field:unsigned int len;	offset:52;	size:4;	signed:0;
+	field:unsigned int data_len;	offset:56;	size:4;	signed:0;
+	field:unsigned int truesize;	offset:60;	size:4;	signed:0;
+	field:bool mac_header_valid;	offset:64;	size:1;	signed:0;
+	field:int mac_header;	offset:68;	size:4;	signed:1;
+	field:unsigned char nr_frags;	offset:72;	size:1;	signed:0;
+	field:u16 gso_size;	offset:74;	size:2;	signed:0;
+	field:u16 gso_type;	offset:76;	size:2;	signed:0;
+
+print fmt: "dev=%s napi_id=%#x queue_mapping=%u skbaddr=%p vlan_tagged=%d vlan_proto=0x%04x vlan_tci=0x%04x protocol=0x%04x ip_summed=%d hash=0x%08x l4_hash=%d len=%u data_len=%u truesize=%u mac_header_valid=%d mac_header=%d nr_frags=%d gso_size=%d gso_type=%#x", __get_str(name), REC->napi_id, REC->queue_mapping, REC->skbaddr, REC->vlan_tagged, REC->vlan_proto, REC->vlan_tci, REC->protocol, REC->ip_summed, REC->hash, REC->l4_hash, REC->len, REC->data_len, REC->truesize, REC->mac_header_valid, REC->mac_header, REC->nr_frags, REC->gso_size, REC->gso_type
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/napi_gro_frags_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/napi_gro_frags_exit/format
new file mode 100644
index 0000000..e0d8513
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/napi_gro_frags_exit/format
@@ -0,0 +1,11 @@
+name: napi_gro_frags_exit
+ID: 927
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int ret;	offset:8;	size:4;	signed:1;
+
+print fmt: "ret=%d", REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/napi_gro_receive_entry/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/napi_gro_receive_entry/format
new file mode 100644
index 0000000..1d8d557
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/napi_gro_receive_entry/format
@@ -0,0 +1,29 @@
+name: napi_gro_receive_entry
+ID: 928
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned int napi_id;	offset:12;	size:4;	signed:0;
+	field:u16 queue_mapping;	offset:16;	size:2;	signed:0;
+	field:const void * skbaddr;	offset:24;	size:8;	signed:0;
+	field:bool vlan_tagged;	offset:32;	size:1;	signed:0;
+	field:u16 vlan_proto;	offset:34;	size:2;	signed:0;
+	field:u16 vlan_tci;	offset:36;	size:2;	signed:0;
+	field:u16 protocol;	offset:38;	size:2;	signed:0;
+	field:u8 ip_summed;	offset:40;	size:1;	signed:0;
+	field:u32 hash;	offset:44;	size:4;	signed:0;
+	field:bool l4_hash;	offset:48;	size:1;	signed:0;
+	field:unsigned int len;	offset:52;	size:4;	signed:0;
+	field:unsigned int data_len;	offset:56;	size:4;	signed:0;
+	field:unsigned int truesize;	offset:60;	size:4;	signed:0;
+	field:bool mac_header_valid;	offset:64;	size:1;	signed:0;
+	field:int mac_header;	offset:68;	size:4;	signed:1;
+	field:unsigned char nr_frags;	offset:72;	size:1;	signed:0;
+	field:u16 gso_size;	offset:74;	size:2;	signed:0;
+	field:u16 gso_type;	offset:76;	size:2;	signed:0;
+
+print fmt: "dev=%s napi_id=%#x queue_mapping=%u skbaddr=%p vlan_tagged=%d vlan_proto=0x%04x vlan_tci=0x%04x protocol=0x%04x ip_summed=%d hash=0x%08x l4_hash=%d len=%u data_len=%u truesize=%u mac_header_valid=%d mac_header=%d nr_frags=%d gso_size=%d gso_type=%#x", __get_str(name), REC->napi_id, REC->queue_mapping, REC->skbaddr, REC->vlan_tagged, REC->vlan_proto, REC->vlan_tci, REC->protocol, REC->ip_summed, REC->hash, REC->l4_hash, REC->len, REC->data_len, REC->truesize, REC->mac_header_valid, REC->mac_header, REC->nr_frags, REC->gso_size, REC->gso_type
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/napi_gro_receive_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/napi_gro_receive_exit/format
new file mode 100644
index 0000000..2eb347d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/napi_gro_receive_exit/format
@@ -0,0 +1,11 @@
+name: napi_gro_receive_exit
+ID: 929
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int ret;	offset:8;	size:4;	signed:1;
+
+print fmt: "ret=%d", REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/net_dev_queue/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/net_dev_queue/format
new file mode 100644
index 0000000..43a99e0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/net_dev_queue/format
@@ -0,0 +1,13 @@
+name: net_dev_queue
+ID: 938
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * skbaddr;	offset:8;	size:8;	signed:0;
+	field:unsigned int len;	offset:16;	size:4;	signed:0;
+	field:__data_loc char[] name;	offset:20;	size:4;	signed:0;
+
+print fmt: "dev=%s skbaddr=%p len=%u", __get_str(name), REC->skbaddr, REC->len
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/net_dev_start_xmit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/net_dev_start_xmit/format
new file mode 100644
index 0000000..5fb2357
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/net_dev_start_xmit/format
@@ -0,0 +1,27 @@
+name: net_dev_start_xmit
+ID: 939
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:u16 queue_mapping;	offset:12;	size:2;	signed:0;
+	field:const void * skbaddr;	offset:16;	size:8;	signed:0;
+	field:bool vlan_tagged;	offset:24;	size:1;	signed:0;
+	field:u16 vlan_proto;	offset:26;	size:2;	signed:0;
+	field:u16 vlan_tci;	offset:28;	size:2;	signed:0;
+	field:u16 protocol;	offset:30;	size:2;	signed:0;
+	field:u8 ip_summed;	offset:32;	size:1;	signed:0;
+	field:unsigned int len;	offset:36;	size:4;	signed:0;
+	field:unsigned int data_len;	offset:40;	size:4;	signed:0;
+	field:int network_offset;	offset:44;	size:4;	signed:1;
+	field:bool transport_offset_valid;	offset:48;	size:1;	signed:0;
+	field:int transport_offset;	offset:52;	size:4;	signed:1;
+	field:u8 tx_flags;	offset:56;	size:1;	signed:0;
+	field:u16 gso_size;	offset:58;	size:2;	signed:0;
+	field:u16 gso_segs;	offset:60;	size:2;	signed:0;
+	field:u16 gso_type;	offset:62;	size:2;	signed:0;
+
+print fmt: "dev=%s queue_mapping=%u skbaddr=%p vlan_tagged=%d vlan_proto=0x%04x vlan_tci=0x%04x protocol=0x%04x ip_summed=%d len=%u data_len=%u network_offset=%d transport_offset_valid=%d transport_offset=%d tx_flags=%d gso_size=%d gso_segs=%d gso_type=%#x", __get_str(name), REC->queue_mapping, REC->skbaddr, REC->vlan_tagged, REC->vlan_proto, REC->vlan_tci, REC->protocol, REC->ip_summed, REC->len, REC->data_len, REC->network_offset, REC->transport_offset_valid, REC->transport_offset, REC->tx_flags, REC->gso_size, REC->gso_segs, REC->gso_type
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/net_dev_xmit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/net_dev_xmit/format
new file mode 100644
index 0000000..e748289
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/net_dev_xmit/format
@@ -0,0 +1,14 @@
+name: net_dev_xmit
+ID: 940
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * skbaddr;	offset:8;	size:8;	signed:0;
+	field:unsigned int len;	offset:16;	size:4;	signed:0;
+	field:int rc;	offset:20;	size:4;	signed:1;
+	field:__data_loc char[] name;	offset:24;	size:4;	signed:0;
+
+print fmt: "dev=%s skbaddr=%p len=%u rc=%d", __get_str(name), REC->skbaddr, REC->len, REC->rc
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/net_dev_xmit_timeout/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/net_dev_xmit_timeout/format
new file mode 100644
index 0000000..4510b71
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/net_dev_xmit_timeout/format
@@ -0,0 +1,13 @@
+name: net_dev_xmit_timeout
+ID: 941
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] driver;	offset:12;	size:4;	signed:0;
+	field:int queue_index;	offset:16;	size:4;	signed:1;
+
+print fmt: "dev=%s driver=%s queue=%d", __get_str(name), __get_str(driver), REC->queue_index
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_receive_skb/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_receive_skb/format
new file mode 100644
index 0000000..9be89b6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_receive_skb/format
@@ -0,0 +1,13 @@
+name: netif_receive_skb
+ID: 942
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * skbaddr;	offset:8;	size:8;	signed:0;
+	field:unsigned int len;	offset:16;	size:4;	signed:0;
+	field:__data_loc char[] name;	offset:20;	size:4;	signed:0;
+
+print fmt: "dev=%s skbaddr=%p len=%u", __get_str(name), REC->skbaddr, REC->len
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_receive_skb_entry/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_receive_skb_entry/format
new file mode 100644
index 0000000..bbcd776
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_receive_skb_entry/format
@@ -0,0 +1,29 @@
+name: netif_receive_skb_entry
+ID: 943
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned int napi_id;	offset:12;	size:4;	signed:0;
+	field:u16 queue_mapping;	offset:16;	size:2;	signed:0;
+	field:const void * skbaddr;	offset:24;	size:8;	signed:0;
+	field:bool vlan_tagged;	offset:32;	size:1;	signed:0;
+	field:u16 vlan_proto;	offset:34;	size:2;	signed:0;
+	field:u16 vlan_tci;	offset:36;	size:2;	signed:0;
+	field:u16 protocol;	offset:38;	size:2;	signed:0;
+	field:u8 ip_summed;	offset:40;	size:1;	signed:0;
+	field:u32 hash;	offset:44;	size:4;	signed:0;
+	field:bool l4_hash;	offset:48;	size:1;	signed:0;
+	field:unsigned int len;	offset:52;	size:4;	signed:0;
+	field:unsigned int data_len;	offset:56;	size:4;	signed:0;
+	field:unsigned int truesize;	offset:60;	size:4;	signed:0;
+	field:bool mac_header_valid;	offset:64;	size:1;	signed:0;
+	field:int mac_header;	offset:68;	size:4;	signed:1;
+	field:unsigned char nr_frags;	offset:72;	size:1;	signed:0;
+	field:u16 gso_size;	offset:74;	size:2;	signed:0;
+	field:u16 gso_type;	offset:76;	size:2;	signed:0;
+
+print fmt: "dev=%s napi_id=%#x queue_mapping=%u skbaddr=%p vlan_tagged=%d vlan_proto=0x%04x vlan_tci=0x%04x protocol=0x%04x ip_summed=%d hash=0x%08x l4_hash=%d len=%u data_len=%u truesize=%u mac_header_valid=%d mac_header=%d nr_frags=%d gso_size=%d gso_type=%#x", __get_str(name), REC->napi_id, REC->queue_mapping, REC->skbaddr, REC->vlan_tagged, REC->vlan_proto, REC->vlan_tci, REC->protocol, REC->ip_summed, REC->hash, REC->l4_hash, REC->len, REC->data_len, REC->truesize, REC->mac_header_valid, REC->mac_header, REC->nr_frags, REC->gso_size, REC->gso_type
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_receive_skb_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_receive_skb_exit/format
new file mode 100644
index 0000000..34a40e8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_receive_skb_exit/format
@@ -0,0 +1,11 @@
+name: netif_receive_skb_exit
+ID: 944
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int ret;	offset:8;	size:4;	signed:1;
+
+print fmt: "ret=%d", REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_receive_skb_list_entry/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_receive_skb_list_entry/format
new file mode 100644
index 0000000..f6e0afa
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_receive_skb_list_entry/format
@@ -0,0 +1,29 @@
+name: netif_receive_skb_list_entry
+ID: 945
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned int napi_id;	offset:12;	size:4;	signed:0;
+	field:u16 queue_mapping;	offset:16;	size:2;	signed:0;
+	field:const void * skbaddr;	offset:24;	size:8;	signed:0;
+	field:bool vlan_tagged;	offset:32;	size:1;	signed:0;
+	field:u16 vlan_proto;	offset:34;	size:2;	signed:0;
+	field:u16 vlan_tci;	offset:36;	size:2;	signed:0;
+	field:u16 protocol;	offset:38;	size:2;	signed:0;
+	field:u8 ip_summed;	offset:40;	size:1;	signed:0;
+	field:u32 hash;	offset:44;	size:4;	signed:0;
+	field:bool l4_hash;	offset:48;	size:1;	signed:0;
+	field:unsigned int len;	offset:52;	size:4;	signed:0;
+	field:unsigned int data_len;	offset:56;	size:4;	signed:0;
+	field:unsigned int truesize;	offset:60;	size:4;	signed:0;
+	field:bool mac_header_valid;	offset:64;	size:1;	signed:0;
+	field:int mac_header;	offset:68;	size:4;	signed:1;
+	field:unsigned char nr_frags;	offset:72;	size:1;	signed:0;
+	field:u16 gso_size;	offset:74;	size:2;	signed:0;
+	field:u16 gso_type;	offset:76;	size:2;	signed:0;
+
+print fmt: "dev=%s napi_id=%#x queue_mapping=%u skbaddr=%p vlan_tagged=%d vlan_proto=0x%04x vlan_tci=0x%04x protocol=0x%04x ip_summed=%d hash=0x%08x l4_hash=%d len=%u data_len=%u truesize=%u mac_header_valid=%d mac_header=%d nr_frags=%d gso_size=%d gso_type=%#x", __get_str(name), REC->napi_id, REC->queue_mapping, REC->skbaddr, REC->vlan_tagged, REC->vlan_proto, REC->vlan_tci, REC->protocol, REC->ip_summed, REC->hash, REC->l4_hash, REC->len, REC->data_len, REC->truesize, REC->mac_header_valid, REC->mac_header, REC->nr_frags, REC->gso_size, REC->gso_type
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_receive_skb_list_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_receive_skb_list_exit/format
new file mode 100644
index 0000000..b0913f4
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_receive_skb_list_exit/format
@@ -0,0 +1,11 @@
+name: netif_receive_skb_list_exit
+ID: 946
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int ret;	offset:8;	size:4;	signed:1;
+
+print fmt: "ret=%d", REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_rx/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_rx/format
new file mode 100644
index 0000000..f402bfb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_rx/format
@@ -0,0 +1,13 @@
+name: netif_rx
+ID: 947
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * skbaddr;	offset:8;	size:8;	signed:0;
+	field:unsigned int len;	offset:16;	size:4;	signed:0;
+	field:__data_loc char[] name;	offset:20;	size:4;	signed:0;
+
+print fmt: "dev=%s skbaddr=%p len=%u", __get_str(name), REC->skbaddr, REC->len
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_rx_entry/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_rx_entry/format
new file mode 100644
index 0000000..2e0c193
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_rx_entry/format
@@ -0,0 +1,29 @@
+name: netif_rx_entry
+ID: 948
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned int napi_id;	offset:12;	size:4;	signed:0;
+	field:u16 queue_mapping;	offset:16;	size:2;	signed:0;
+	field:const void * skbaddr;	offset:24;	size:8;	signed:0;
+	field:bool vlan_tagged;	offset:32;	size:1;	signed:0;
+	field:u16 vlan_proto;	offset:34;	size:2;	signed:0;
+	field:u16 vlan_tci;	offset:36;	size:2;	signed:0;
+	field:u16 protocol;	offset:38;	size:2;	signed:0;
+	field:u8 ip_summed;	offset:40;	size:1;	signed:0;
+	field:u32 hash;	offset:44;	size:4;	signed:0;
+	field:bool l4_hash;	offset:48;	size:1;	signed:0;
+	field:unsigned int len;	offset:52;	size:4;	signed:0;
+	field:unsigned int data_len;	offset:56;	size:4;	signed:0;
+	field:unsigned int truesize;	offset:60;	size:4;	signed:0;
+	field:bool mac_header_valid;	offset:64;	size:1;	signed:0;
+	field:int mac_header;	offset:68;	size:4;	signed:1;
+	field:unsigned char nr_frags;	offset:72;	size:1;	signed:0;
+	field:u16 gso_size;	offset:74;	size:2;	signed:0;
+	field:u16 gso_type;	offset:76;	size:2;	signed:0;
+
+print fmt: "dev=%s napi_id=%#x queue_mapping=%u skbaddr=%p vlan_tagged=%d vlan_proto=0x%04x vlan_tci=0x%04x protocol=0x%04x ip_summed=%d hash=0x%08x l4_hash=%d len=%u data_len=%u truesize=%u mac_header_valid=%d mac_header=%d nr_frags=%d gso_size=%d gso_type=%#x", __get_str(name), REC->napi_id, REC->queue_mapping, REC->skbaddr, REC->vlan_tagged, REC->vlan_proto, REC->vlan_tci, REC->protocol, REC->ip_summed, REC->hash, REC->l4_hash, REC->len, REC->data_len, REC->truesize, REC->mac_header_valid, REC->mac_header, REC->nr_frags, REC->gso_size, REC->gso_type
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_rx_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_rx_exit/format
new file mode 100644
index 0000000..f77e118
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_rx_exit/format
@@ -0,0 +1,11 @@
+name: netif_rx_exit
+ID: 949
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int ret;	offset:8;	size:4;	signed:1;
+
+print fmt: "ret=%d", REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_rx_ni_entry/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_rx_ni_entry/format
new file mode 100644
index 0000000..41c4f3e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_rx_ni_entry/format
@@ -0,0 +1,29 @@
+name: netif_rx_ni_entry
+ID: 950
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned int napi_id;	offset:12;	size:4;	signed:0;
+	field:u16 queue_mapping;	offset:16;	size:2;	signed:0;
+	field:const void * skbaddr;	offset:24;	size:8;	signed:0;
+	field:bool vlan_tagged;	offset:32;	size:1;	signed:0;
+	field:u16 vlan_proto;	offset:34;	size:2;	signed:0;
+	field:u16 vlan_tci;	offset:36;	size:2;	signed:0;
+	field:u16 protocol;	offset:38;	size:2;	signed:0;
+	field:u8 ip_summed;	offset:40;	size:1;	signed:0;
+	field:u32 hash;	offset:44;	size:4;	signed:0;
+	field:bool l4_hash;	offset:48;	size:1;	signed:0;
+	field:unsigned int len;	offset:52;	size:4;	signed:0;
+	field:unsigned int data_len;	offset:56;	size:4;	signed:0;
+	field:unsigned int truesize;	offset:60;	size:4;	signed:0;
+	field:bool mac_header_valid;	offset:64;	size:1;	signed:0;
+	field:int mac_header;	offset:68;	size:4;	signed:1;
+	field:unsigned char nr_frags;	offset:72;	size:1;	signed:0;
+	field:u16 gso_size;	offset:74;	size:2;	signed:0;
+	field:u16 gso_type;	offset:76;	size:2;	signed:0;
+
+print fmt: "dev=%s napi_id=%#x queue_mapping=%u skbaddr=%p vlan_tagged=%d vlan_proto=0x%04x vlan_tci=0x%04x protocol=0x%04x ip_summed=%d hash=0x%08x l4_hash=%d len=%u data_len=%u truesize=%u mac_header_valid=%d mac_header=%d nr_frags=%d gso_size=%d gso_type=%#x", __get_str(name), REC->napi_id, REC->queue_mapping, REC->skbaddr, REC->vlan_tagged, REC->vlan_proto, REC->vlan_tci, REC->protocol, REC->ip_summed, REC->hash, REC->l4_hash, REC->len, REC->data_len, REC->truesize, REC->mac_header_valid, REC->mac_header, REC->nr_frags, REC->gso_size, REC->gso_type
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_rx_ni_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_rx_ni_exit/format
new file mode 100644
index 0000000..cc3c3a9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/net/netif_rx_ni_exit/format
@@ -0,0 +1,11 @@
+name: netif_rx_ni_exit
+ID: 951
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int ret;	offset:8;	size:4;	signed:1;
+
+print fmt: "ret=%d", REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/oom/compact_retry/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/oom/compact_retry/format
new file mode 100644
index 0000000..2c58b6a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/oom/compact_retry/format
@@ -0,0 +1,16 @@
+name: compact_retry
+ID: 216
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int order;	offset:8;	size:4;	signed:1;
+	field:int priority;	offset:12;	size:4;	signed:1;
+	field:int result;	offset:16;	size:4;	signed:1;
+	field:int retries;	offset:20;	size:4;	signed:1;
+	field:int max_retries;	offset:24;	size:4;	signed:1;
+	field:bool ret;	offset:28;	size:1;	signed:0;
+
+print fmt: "order=%d priority=%s compaction_result=%s retries=%d max_retries=%d should_retry=%d", REC->order, __print_symbolic(REC->priority, {0, "COMPACT_PRIO_SYNC_FULL"}, {1, "COMPACT_PRIO_SYNC_LIGHT"}, {2, "COMPACT_PRIO_ASYNC"}), __print_symbolic(REC->result, {1, "failed"}, {2, "withdrawn"}, {3, "progress"}), REC->retries, REC->max_retries, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/oom/finish_task_reaping/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/oom/finish_task_reaping/format
new file mode 100644
index 0000000..b1609b7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/oom/finish_task_reaping/format
@@ -0,0 +1,11 @@
+name: finish_task_reaping
+ID: 217
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int pid;	offset:8;	size:4;	signed:1;
+
+print fmt: "pid=%d", REC->pid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/oom/mark_victim/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/oom/mark_victim/format
new file mode 100644
index 0000000..fee2859
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/oom/mark_victim/format
@@ -0,0 +1,11 @@
+name: mark_victim
+ID: 218
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int pid;	offset:8;	size:4;	signed:1;
+
+print fmt: "pid=%d", REC->pid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/oom/oom_score_adj_update/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/oom/oom_score_adj_update/format
new file mode 100644
index 0000000..a1cc19a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/oom/oom_score_adj_update/format
@@ -0,0 +1,13 @@
+name: oom_score_adj_update
+ID: 219
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:pid_t pid;	offset:8;	size:4;	signed:1;
+	field:char comm[16];	offset:12;	size:16;	signed:0;
+	field:short oom_score_adj;	offset:28;	size:2;	signed:1;
+
+print fmt: "pid=%d comm=%s oom_score_adj=%hd", REC->pid, REC->comm, REC->oom_score_adj
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/oom/reclaim_retry_zone/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/oom/reclaim_retry_zone/format
new file mode 100644
index 0000000..c679eed
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/oom/reclaim_retry_zone/format
@@ -0,0 +1,18 @@
+name: reclaim_retry_zone
+ID: 220
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int node;	offset:8;	size:4;	signed:1;
+	field:int zone_idx;	offset:12;	size:4;	signed:1;
+	field:int order;	offset:16;	size:4;	signed:1;
+	field:unsigned long reclaimable;	offset:24;	size:8;	signed:0;
+	field:unsigned long available;	offset:32;	size:8;	signed:0;
+	field:unsigned long min_wmark;	offset:40;	size:8;	signed:0;
+	field:int no_progress_loops;	offset:48;	size:4;	signed:1;
+	field:bool wmark_check;	offset:52;	size:1;	signed:0;
+
+print fmt: "node=%d zone=%-8s order=%d reclaimable=%lu available=%lu min_wmark=%lu no_progress_loops=%d wmark_check=%d", REC->node, __print_symbolic(REC->zone_idx, {0, "DMA32"}, {1, "Normal"}, {2, "Movable"}), REC->order, REC->reclaimable, REC->available, REC->min_wmark, REC->no_progress_loops, REC->wmark_check
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/oom/skip_task_reaping/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/oom/skip_task_reaping/format
new file mode 100644
index 0000000..4832adb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/oom/skip_task_reaping/format
@@ -0,0 +1,11 @@
+name: skip_task_reaping
+ID: 221
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int pid;	offset:8;	size:4;	signed:1;
+
+print fmt: "pid=%d", REC->pid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/oom/start_task_reaping/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/oom/start_task_reaping/format
new file mode 100644
index 0000000..28669cd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/oom/start_task_reaping/format
@@ -0,0 +1,11 @@
+name: start_task_reaping
+ID: 222
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int pid;	offset:8;	size:4;	signed:1;
+
+print fmt: "pid=%d", REC->pid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/oom/wake_reaper/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/oom/wake_reaper/format
new file mode 100644
index 0000000..a06796d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/oom/wake_reaper/format
@@ -0,0 +1,11 @@
+name: wake_reaper
+ID: 223
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int pid;	offset:8;	size:4;	signed:1;
+
+print fmt: "pid=%d", REC->pid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/page_isolation/test_pages_isolated/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/page_isolation/test_pages_isolated/format
new file mode 100644
index 0000000..4778c13
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/page_isolation/test_pages_isolated/format
@@ -0,0 +1,13 @@
+name: test_pages_isolated
+ID: 289
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long start_pfn;	offset:8;	size:8;	signed:0;
+	field:unsigned long end_pfn;	offset:16;	size:8;	signed:0;
+	field:unsigned long fin_pfn;	offset:24;	size:8;	signed:0;
+
+print fmt: "start_pfn=0x%lx end_pfn=0x%lx fin_pfn=0x%lx ret=%s", REC->start_pfn, REC->end_pfn, REC->fin_pfn, REC->end_pfn <= REC->fin_pfn ? "success" : "fail"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/page_pool/page_pool_release/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/page_pool/page_pool_release/format
new file mode 100644
index 0000000..16364ed
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/page_pool/page_pool_release/format
@@ -0,0 +1,15 @@
+name: page_pool_release
+ID: 952
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const struct page_pool * pool;	offset:8;	size:8;	signed:0;
+	field:s32 inflight;	offset:16;	size:4;	signed:1;
+	field:u32 hold;	offset:20;	size:4;	signed:0;
+	field:u32 release;	offset:24;	size:4;	signed:0;
+	field:u64 cnt;	offset:32;	size:8;	signed:0;
+
+print fmt: "page_pool=%p inflight=%d hold=%u release=%u cnt=%llu", REC->pool, REC->inflight, REC->hold, REC->release, REC->cnt
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/page_pool/page_pool_state_hold/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/page_pool/page_pool_state_hold/format
new file mode 100644
index 0000000..44794dd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/page_pool/page_pool_state_hold/format
@@ -0,0 +1,14 @@
+name: page_pool_state_hold
+ID: 953
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const struct page_pool * pool;	offset:8;	size:8;	signed:0;
+	field:const struct page * page;	offset:16;	size:8;	signed:0;
+	field:u32 hold;	offset:24;	size:4;	signed:0;
+	field:unsigned long pfn;	offset:32;	size:8;	signed:0;
+
+print fmt: "page_pool=%p page=%p pfn=%lu hold=%u", REC->pool, REC->page, REC->pfn, REC->hold
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/page_pool/page_pool_state_release/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/page_pool/page_pool_state_release/format
new file mode 100644
index 0000000..7449103
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/page_pool/page_pool_state_release/format
@@ -0,0 +1,14 @@
+name: page_pool_state_release
+ID: 954
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const struct page_pool * pool;	offset:8;	size:8;	signed:0;
+	field:const struct page * page;	offset:16;	size:8;	signed:0;
+	field:u32 release;	offset:24;	size:4;	signed:0;
+	field:unsigned long pfn;	offset:32;	size:8;	signed:0;
+
+print fmt: "page_pool=%p page=%p pfn=%lu release=%u", REC->pool, REC->page, REC->pfn, REC->release
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/page_pool/page_pool_update_nid/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/page_pool/page_pool_update_nid/format
new file mode 100644
index 0000000..6f54fe4
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/page_pool/page_pool_update_nid/format
@@ -0,0 +1,13 @@
+name: page_pool_update_nid
+ID: 955
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const struct page_pool * pool;	offset:8;	size:8;	signed:0;
+	field:int pool_nid;	offset:16;	size:4;	signed:1;
+	field:int new_nid;	offset:20;	size:4;	signed:1;
+
+print fmt: "page_pool=%p pool_nid=%d new_nid=%d", REC->pool, REC->pool_nid, REC->new_nid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pagefault/spf_pmd_changed/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pagefault/spf_pmd_changed/format
new file mode 100644
index 0000000..a9034da
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pagefault/spf_pmd_changed/format
@@ -0,0 +1,14 @@
+name: spf_pmd_changed
+ID: 276
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long caller;	offset:8;	size:8;	signed:0;
+	field:unsigned long vm_start;	offset:16;	size:8;	signed:0;
+	field:unsigned long vm_end;	offset:24;	size:8;	signed:0;
+	field:unsigned long address;	offset:32;	size:8;	signed:0;
+
+print fmt: "ip:%lx vma:%lx-%lx address:%lx", REC->caller, REC->vm_start, REC->vm_end, REC->address
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pagefault/spf_pte_lock/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pagefault/spf_pte_lock/format
new file mode 100644
index 0000000..370a65b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pagefault/spf_pte_lock/format
@@ -0,0 +1,14 @@
+name: spf_pte_lock
+ID: 277
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long caller;	offset:8;	size:8;	signed:0;
+	field:unsigned long vm_start;	offset:16;	size:8;	signed:0;
+	field:unsigned long vm_end;	offset:24;	size:8;	signed:0;
+	field:unsigned long address;	offset:32;	size:8;	signed:0;
+
+print fmt: "ip:%lx vma:%lx-%lx address:%lx", REC->caller, REC->vm_start, REC->vm_end, REC->address
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pagefault/spf_vma_access/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pagefault/spf_vma_access/format
new file mode 100644
index 0000000..0dbc0d5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pagefault/spf_vma_access/format
@@ -0,0 +1,14 @@
+name: spf_vma_access
+ID: 278
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long caller;	offset:8;	size:8;	signed:0;
+	field:unsigned long vm_start;	offset:16;	size:8;	signed:0;
+	field:unsigned long vm_end;	offset:24;	size:8;	signed:0;
+	field:unsigned long address;	offset:32;	size:8;	signed:0;
+
+print fmt: "ip:%lx vma:%lx-%lx address:%lx", REC->caller, REC->vm_start, REC->vm_end, REC->address
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pagefault/spf_vma_changed/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pagefault/spf_vma_changed/format
new file mode 100644
index 0000000..9da19b6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pagefault/spf_vma_changed/format
@@ -0,0 +1,14 @@
+name: spf_vma_changed
+ID: 279
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long caller;	offset:8;	size:8;	signed:0;
+	field:unsigned long vm_start;	offset:16;	size:8;	signed:0;
+	field:unsigned long vm_end;	offset:24;	size:8;	signed:0;
+	field:unsigned long address;	offset:32;	size:8;	signed:0;
+
+print fmt: "ip:%lx vma:%lx-%lx address:%lx", REC->caller, REC->vm_start, REC->vm_end, REC->address
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pagefault/spf_vma_noanon/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pagefault/spf_vma_noanon/format
new file mode 100644
index 0000000..2c5c08c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pagefault/spf_vma_noanon/format
@@ -0,0 +1,14 @@
+name: spf_vma_noanon
+ID: 280
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long caller;	offset:8;	size:8;	signed:0;
+	field:unsigned long vm_start;	offset:16;	size:8;	signed:0;
+	field:unsigned long vm_end;	offset:24;	size:8;	signed:0;
+	field:unsigned long address;	offset:32;	size:8;	signed:0;
+
+print fmt: "ip:%lx vma:%lx-%lx address:%lx", REC->caller, REC->vm_start, REC->vm_end, REC->address
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pagefault/spf_vma_notsup/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pagefault/spf_vma_notsup/format
new file mode 100644
index 0000000..81c882e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pagefault/spf_vma_notsup/format
@@ -0,0 +1,14 @@
+name: spf_vma_notsup
+ID: 281
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long caller;	offset:8;	size:8;	signed:0;
+	field:unsigned long vm_start;	offset:16;	size:8;	signed:0;
+	field:unsigned long vm_end;	offset:24;	size:8;	signed:0;
+	field:unsigned long address;	offset:32;	size:8;	signed:0;
+
+print fmt: "ip:%lx vma:%lx-%lx address:%lx", REC->caller, REC->vm_start, REC->vm_end, REC->address
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pagemap/mm_lru_activate/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pagemap/mm_lru_activate/format
new file mode 100644
index 0000000..32c7f27
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pagemap/mm_lru_activate/format
@@ -0,0 +1,12 @@
+name: mm_lru_activate
+ID: 224
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct page * page;	offset:8;	size:8;	signed:0;
+	field:unsigned long pfn;	offset:16;	size:8;	signed:0;
+
+print fmt: "page=%p pfn=%lu", REC->page, REC->pfn
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pagemap/mm_lru_insertion/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pagemap/mm_lru_insertion/format
new file mode 100644
index 0000000..aa340d5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pagemap/mm_lru_insertion/format
@@ -0,0 +1,14 @@
+name: mm_lru_insertion
+ID: 225
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct page * page;	offset:8;	size:8;	signed:0;
+	field:unsigned long pfn;	offset:16;	size:8;	signed:0;
+	field:int lru;	offset:24;	size:4;	signed:1;
+	field:unsigned long flags;	offset:32;	size:8;	signed:0;
+
+print fmt: "page=%p pfn=%lu lru=%d flags=%s%s%s%s%s%s", REC->page, REC->pfn, REC->lru, REC->flags & 0x0001u ? "M" : " ", REC->flags & 0x0002u ? "a" : "f", REC->flags & 0x0008u ? "s" : " ", REC->flags & 0x0010u ? "b" : " ", REC->flags & 0x0020u ? "d" : " ", REC->flags & 0x0040u ? "B" : " "
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/percpu/percpu_alloc_percpu/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/percpu/percpu_alloc_percpu/format
new file mode 100644
index 0000000..e39417d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/percpu/percpu_alloc_percpu/format
@@ -0,0 +1,17 @@
+name: percpu_alloc_percpu
+ID: 244
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:bool reserved;	offset:8;	size:1;	signed:0;
+	field:bool is_atomic;	offset:9;	size:1;	signed:0;
+	field:size_t size;	offset:16;	size:8;	signed:0;
+	field:size_t align;	offset:24;	size:8;	signed:0;
+	field:void * base_addr;	offset:32;	size:8;	signed:0;
+	field:int off;	offset:40;	size:4;	signed:1;
+	field:void * ptr;	offset:48;	size:8;	signed:0;
+
+print fmt: "reserved=%d is_atomic=%d size=%zu align=%zu base_addr=%p off=%d ptr=%p", REC->reserved, REC->is_atomic, REC->size, REC->align, REC->base_addr, REC->off, REC->ptr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/percpu/percpu_alloc_percpu_fail/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/percpu/percpu_alloc_percpu_fail/format
new file mode 100644
index 0000000..71e934d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/percpu/percpu_alloc_percpu_fail/format
@@ -0,0 +1,14 @@
+name: percpu_alloc_percpu_fail
+ID: 245
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:bool reserved;	offset:8;	size:1;	signed:0;
+	field:bool is_atomic;	offset:9;	size:1;	signed:0;
+	field:size_t size;	offset:16;	size:8;	signed:0;
+	field:size_t align;	offset:24;	size:8;	signed:0;
+
+print fmt: "reserved=%d is_atomic=%d size=%zu align=%zu", REC->reserved, REC->is_atomic, REC->size, REC->align
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/percpu/percpu_create_chunk/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/percpu/percpu_create_chunk/format
new file mode 100644
index 0000000..2142eb3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/percpu/percpu_create_chunk/format
@@ -0,0 +1,11 @@
+name: percpu_create_chunk
+ID: 246
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * base_addr;	offset:8;	size:8;	signed:0;
+
+print fmt: "base_addr=%p", REC->base_addr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/percpu/percpu_destroy_chunk/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/percpu/percpu_destroy_chunk/format
new file mode 100644
index 0000000..2bf8e4c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/percpu/percpu_destroy_chunk/format
@@ -0,0 +1,11 @@
+name: percpu_destroy_chunk
+ID: 247
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * base_addr;	offset:8;	size:8;	signed:0;
+
+print fmt: "base_addr=%p", REC->base_addr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/percpu/percpu_free_percpu/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/percpu/percpu_free_percpu/format
new file mode 100644
index 0000000..e88fcc7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/percpu/percpu_free_percpu/format
@@ -0,0 +1,13 @@
+name: percpu_free_percpu
+ID: 248
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * base_addr;	offset:8;	size:8;	signed:0;
+	field:int off;	offset:16;	size:4;	signed:1;
+	field:void * ptr;	offset:24;	size:8;	signed:0;
+
+print fmt: "base_addr=%p off=%d ptr=%p", REC->base_addr, REC->off, REC->ptr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/clock_disable/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/clock_disable/format
new file mode 100644
index 0000000..042204c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/clock_disable/format
@@ -0,0 +1,13 @@
+name: clock_disable
+ID: 170
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:u64 state;	offset:16;	size:8;	signed:0;
+	field:u64 cpu_id;	offset:24;	size:8;	signed:0;
+
+print fmt: "%s state=%lu cpu_id=%lu", __get_str(name), (unsigned long)REC->state, (unsigned long)REC->cpu_id
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/clock_enable/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/clock_enable/format
new file mode 100644
index 0000000..7924d26
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/clock_enable/format
@@ -0,0 +1,13 @@
+name: clock_enable
+ID: 171
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:u64 state;	offset:16;	size:8;	signed:0;
+	field:u64 cpu_id;	offset:24;	size:8;	signed:0;
+
+print fmt: "%s state=%lu cpu_id=%lu", __get_str(name), (unsigned long)REC->state, (unsigned long)REC->cpu_id
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/clock_set_rate/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/clock_set_rate/format
new file mode 100644
index 0000000..4354754
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/clock_set_rate/format
@@ -0,0 +1,13 @@
+name: clock_set_rate
+ID: 172
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:u64 state;	offset:16;	size:8;	signed:0;
+	field:u64 cpu_id;	offset:24;	size:8;	signed:0;
+
+print fmt: "%s state=%lu cpu_id=%lu", __get_str(name), (unsigned long)REC->state, (unsigned long)REC->cpu_id
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/cpu_frequency/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/cpu_frequency/format
new file mode 100644
index 0000000..bf0da8c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/cpu_frequency/format
@@ -0,0 +1,12 @@
+name: cpu_frequency
+ID: 173
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 state;	offset:8;	size:4;	signed:0;
+	field:u32 cpu_id;	offset:12;	size:4;	signed:0;
+
+print fmt: "state=%lu cpu_id=%lu", (unsigned long)REC->state, (unsigned long)REC->cpu_id
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/cpu_frequency_limits/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/cpu_frequency_limits/format
new file mode 100644
index 0000000..15a45b0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/cpu_frequency_limits/format
@@ -0,0 +1,13 @@
+name: cpu_frequency_limits
+ID: 174
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 min_freq;	offset:8;	size:4;	signed:0;
+	field:u32 max_freq;	offset:12;	size:4;	signed:0;
+	field:u32 cpu_id;	offset:16;	size:4;	signed:0;
+
+print fmt: "min=%lu max=%lu cpu_id=%lu", (unsigned long)REC->min_freq, (unsigned long)REC->max_freq, (unsigned long)REC->cpu_id
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/cpu_idle/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/cpu_idle/format
new file mode 100644
index 0000000..4406672
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/cpu_idle/format
@@ -0,0 +1,12 @@
+name: cpu_idle
+ID: 175
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 state;	offset:8;	size:4;	signed:0;
+	field:u32 cpu_id;	offset:12;	size:4;	signed:0;
+
+print fmt: "state=%lu cpu_id=%lu", (unsigned long)REC->state, (unsigned long)REC->cpu_id
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/dev_pm_qos_add_request/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/dev_pm_qos_add_request/format
new file mode 100644
index 0000000..e9073b4
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/dev_pm_qos_add_request/format
@@ -0,0 +1,13 @@
+name: dev_pm_qos_add_request
+ID: 176
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:enum dev_pm_qos_req_type type;	offset:12;	size:4;	signed:0;
+	field:s32 new_value;	offset:16;	size:4;	signed:1;
+
+print fmt: "device=%s type=%s new_value=%d", __get_str(name), __print_symbolic(REC->type, { DEV_PM_QOS_RESUME_LATENCY, "DEV_PM_QOS_RESUME_LATENCY" }, { DEV_PM_QOS_FLAGS, "DEV_PM_QOS_FLAGS" }), REC->new_value
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/dev_pm_qos_remove_request/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/dev_pm_qos_remove_request/format
new file mode 100644
index 0000000..6e027ef
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/dev_pm_qos_remove_request/format
@@ -0,0 +1,13 @@
+name: dev_pm_qos_remove_request
+ID: 177
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:enum dev_pm_qos_req_type type;	offset:12;	size:4;	signed:0;
+	field:s32 new_value;	offset:16;	size:4;	signed:1;
+
+print fmt: "device=%s type=%s new_value=%d", __get_str(name), __print_symbolic(REC->type, { DEV_PM_QOS_RESUME_LATENCY, "DEV_PM_QOS_RESUME_LATENCY" }, { DEV_PM_QOS_FLAGS, "DEV_PM_QOS_FLAGS" }), REC->new_value
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/dev_pm_qos_update_request/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/dev_pm_qos_update_request/format
new file mode 100644
index 0000000..c1a5a92
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/dev_pm_qos_update_request/format
@@ -0,0 +1,13 @@
+name: dev_pm_qos_update_request
+ID: 178
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:enum dev_pm_qos_req_type type;	offset:12;	size:4;	signed:0;
+	field:s32 new_value;	offset:16;	size:4;	signed:1;
+
+print fmt: "device=%s type=%s new_value=%d", __get_str(name), __print_symbolic(REC->type, { DEV_PM_QOS_RESUME_LATENCY, "DEV_PM_QOS_RESUME_LATENCY" }, { DEV_PM_QOS_FLAGS, "DEV_PM_QOS_FLAGS" }), REC->new_value
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/device_pm_callback_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/device_pm_callback_end/format
new file mode 100644
index 0000000..ee35b23
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/device_pm_callback_end/format
@@ -0,0 +1,13 @@
+name: device_pm_callback_end
+ID: 179
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] device;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] driver;	offset:12;	size:4;	signed:0;
+	field:int error;	offset:16;	size:4;	signed:1;
+
+print fmt: "%s %s, err=%d", __get_str(driver), __get_str(device), REC->error
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/device_pm_callback_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/device_pm_callback_start/format
new file mode 100644
index 0000000..d37af36
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/device_pm_callback_start/format
@@ -0,0 +1,15 @@
+name: device_pm_callback_start
+ID: 180
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] device;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] driver;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] parent;	offset:16;	size:4;	signed:0;
+	field:__data_loc char[] pm_ops;	offset:20;	size:4;	signed:0;
+	field:int event;	offset:24;	size:4;	signed:1;
+
+print fmt: "%s %s, parent: %s, %s[%s]", __get_str(driver), __get_str(device), __get_str(parent), __get_str(pm_ops), __print_symbolic(REC->event, { 0x0002, "suspend" }, { 0x0010, "resume" }, { 0x0001, "freeze" }, { 0x0008, "quiesce" }, { 0x0004, "hibernate" }, { 0x0020, "thaw" }, { 0x0040, "restore" }, { 0x0080, "recover" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/gpu_frequency/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/gpu_frequency/format
new file mode 100644
index 0000000..3f6225c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/gpu_frequency/format
@@ -0,0 +1,12 @@
+name: gpu_frequency
+ID: 1239
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 state;	offset:8;	size:4;	signed:0;
+	field:u32 gpu_id;	offset:12;	size:4;	signed:0;
+
+print fmt: "state=%lu gpu_id=%lu", (unsigned long)REC->state, (unsigned long)REC->gpu_id
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/memlat_dev_meas/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/memlat_dev_meas/format
new file mode 100644
index 0000000..e4a57e7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/memlat_dev_meas/format
@@ -0,0 +1,17 @@
+name: memlat_dev_meas
+ID: 1115
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned int dev_id;	offset:12;	size:4;	signed:0;
+	field:unsigned long inst;	offset:16;	size:8;	signed:0;
+	field:unsigned long mem;	offset:24;	size:8;	signed:0;
+	field:unsigned long freq;	offset:32;	size:8;	signed:0;
+	field:unsigned int stall;	offset:40;	size:4;	signed:0;
+	field:unsigned int ratio;	offset:44;	size:4;	signed:0;
+
+print fmt: "dev: %s, id=%u, inst=%lu, mem=%lu, freq=%lu, stall=%u, ratio=%u", __get_str(name), REC->dev_id, REC->inst, REC->mem, REC->freq, REC->stall, REC->ratio
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/memlat_dev_update/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/memlat_dev_update/format
new file mode 100644
index 0000000..cd46dc1
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/memlat_dev_update/format
@@ -0,0 +1,16 @@
+name: memlat_dev_update
+ID: 1116
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned int dev_id;	offset:12;	size:4;	signed:0;
+	field:unsigned long inst;	offset:16;	size:8;	signed:0;
+	field:unsigned long mem;	offset:24;	size:8;	signed:0;
+	field:unsigned long freq;	offset:32;	size:8;	signed:0;
+	field:unsigned long vote;	offset:40;	size:8;	signed:0;
+
+print fmt: "dev: %s, id=%u, inst=%lu, mem=%lu, freq=%lu, vote=%lu", __get_str(name), REC->dev_id, REC->inst, REC->mem, REC->freq, REC->vote
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/pm_qos_add_request/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/pm_qos_add_request/format
new file mode 100644
index 0000000..6da2cb7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/pm_qos_add_request/format
@@ -0,0 +1,11 @@
+name: pm_qos_add_request
+ID: 181
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:s32 value;	offset:8;	size:4;	signed:1;
+
+print fmt: "CPU_DMA_LATENCY value=%d", REC->value
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/pm_qos_remove_request/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/pm_qos_remove_request/format
new file mode 100644
index 0000000..e07d114
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/pm_qos_remove_request/format
@@ -0,0 +1,11 @@
+name: pm_qos_remove_request
+ID: 182
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:s32 value;	offset:8;	size:4;	signed:1;
+
+print fmt: "CPU_DMA_LATENCY value=%d", REC->value
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/pm_qos_update_flags/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/pm_qos_update_flags/format
new file mode 100644
index 0000000..2011627
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/pm_qos_update_flags/format
@@ -0,0 +1,13 @@
+name: pm_qos_update_flags
+ID: 183
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:enum pm_qos_req_action action;	offset:8;	size:4;	signed:0;
+	field:int prev_value;	offset:12;	size:4;	signed:1;
+	field:int curr_value;	offset:16;	size:4;	signed:1;
+
+print fmt: "action=%s prev_value=0x%x curr_value=0x%x", __print_symbolic(REC->action, { PM_QOS_ADD_REQ, "ADD_REQ" }, { PM_QOS_UPDATE_REQ, "UPDATE_REQ" }, { PM_QOS_REMOVE_REQ, "REMOVE_REQ" }), REC->prev_value, REC->curr_value
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/pm_qos_update_request/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/pm_qos_update_request/format
new file mode 100644
index 0000000..e27fa99
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/pm_qos_update_request/format
@@ -0,0 +1,11 @@
+name: pm_qos_update_request
+ID: 184
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:s32 value;	offset:8;	size:4;	signed:1;
+
+print fmt: "CPU_DMA_LATENCY value=%d", REC->value
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/pm_qos_update_target/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/pm_qos_update_target/format
new file mode 100644
index 0000000..c0924c6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/pm_qos_update_target/format
@@ -0,0 +1,13 @@
+name: pm_qos_update_target
+ID: 185
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:enum pm_qos_req_action action;	offset:8;	size:4;	signed:0;
+	field:int prev_value;	offset:12;	size:4;	signed:1;
+	field:int curr_value;	offset:16;	size:4;	signed:1;
+
+print fmt: "action=%s prev_value=%d curr_value=%d", __print_symbolic(REC->action, { PM_QOS_ADD_REQ, "ADD_REQ" }, { PM_QOS_UPDATE_REQ, "UPDATE_REQ" }, { PM_QOS_REMOVE_REQ, "REMOVE_REQ" }), REC->prev_value, REC->curr_value
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/power_domain_target/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/power_domain_target/format
new file mode 100644
index 0000000..a33688a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/power_domain_target/format
@@ -0,0 +1,13 @@
+name: power_domain_target
+ID: 186
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:u64 state;	offset:16;	size:8;	signed:0;
+	field:u64 cpu_id;	offset:24;	size:8;	signed:0;
+
+print fmt: "%s state=%lu cpu_id=%lu", __get_str(name), (unsigned long)REC->state, (unsigned long)REC->cpu_id
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/powernv_throttle/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/powernv_throttle/format
new file mode 100644
index 0000000..699b67d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/powernv_throttle/format
@@ -0,0 +1,13 @@
+name: powernv_throttle
+ID: 187
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int chip_id;	offset:8;	size:4;	signed:1;
+	field:__data_loc char[] reason;	offset:12;	size:4;	signed:0;
+	field:int pmax;	offset:16;	size:4;	signed:1;
+
+print fmt: "Chip %d Pmax %d %s", REC->chip_id, REC->pmax, __get_str(reason)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/pstate_sample/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/pstate_sample/format
new file mode 100644
index 0000000..ed3bb8c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/pstate_sample/format
@@ -0,0 +1,19 @@
+name: pstate_sample
+ID: 188
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 core_busy;	offset:8;	size:4;	signed:0;
+	field:u32 scaled_busy;	offset:12;	size:4;	signed:0;
+	field:u32 from;	offset:16;	size:4;	signed:0;
+	field:u32 to;	offset:20;	size:4;	signed:0;
+	field:u64 mperf;	offset:24;	size:8;	signed:0;
+	field:u64 aperf;	offset:32;	size:8;	signed:0;
+	field:u64 tsc;	offset:40;	size:8;	signed:0;
+	field:u32 freq;	offset:48;	size:4;	signed:0;
+	field:u32 io_boost;	offset:52;	size:4;	signed:0;
+
+print fmt: "core_busy=%lu scaled=%lu from=%lu to=%lu mperf=%llu aperf=%llu tsc=%llu freq=%lu io_boost=%lu", (unsigned long)REC->core_busy, (unsigned long)REC->scaled_busy, (unsigned long)REC->from, (unsigned long)REC->to, (unsigned long long)REC->mperf, (unsigned long long)REC->aperf, (unsigned long long)REC->tsc, (unsigned long)REC->freq, (unsigned long)REC->io_boost
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/suspend_resume/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/suspend_resume/format
new file mode 100644
index 0000000..0fadf5f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/suspend_resume/format
@@ -0,0 +1,13 @@
+name: suspend_resume
+ID: 189
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * action;	offset:8;	size:8;	signed:0;
+	field:int val;	offset:16;	size:4;	signed:1;
+	field:bool start;	offset:20;	size:1;	signed:0;
+
+print fmt: "%s[%u] %s", REC->action, (unsigned int)REC->val, (REC->start)?"begin":"end"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/wakeup_source_activate/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/wakeup_source_activate/format
new file mode 100644
index 0000000..c31a981
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/wakeup_source_activate/format
@@ -0,0 +1,12 @@
+name: wakeup_source_activate
+ID: 190
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:u64 state;	offset:16;	size:8;	signed:0;
+
+print fmt: "%s state=0x%lx", __get_str(name), (unsigned long)REC->state
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/wakeup_source_deactivate/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/wakeup_source_deactivate/format
new file mode 100644
index 0000000..e1eb9cc
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/power/wakeup_source_deactivate/format
@@ -0,0 +1,12 @@
+name: wakeup_source_deactivate
+ID: 191
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:u64 state;	offset:16;	size:8;	signed:0;
+
+print fmt: "%s state=0x%lx", __get_str(name), (unsigned long)REC->state
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/preemptirq_long/irq_disable_long/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/preemptirq_long/irq_disable_long/format
new file mode 100644
index 0000000..9ce687f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/preemptirq_long/irq_disable_long/format
@@ -0,0 +1,11 @@
+name: irq_disable_long
+ID: 1078
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u64 delta;	offset:8;	size:8;	signed:0;
+
+print fmt: "delta=%llu(ns)", REC->delta
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/preemptirq_long/preempt_disable_long/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/preemptirq_long/preempt_disable_long/format
new file mode 100644
index 0000000..27b6eb8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/preemptirq_long/preempt_disable_long/format
@@ -0,0 +1,11 @@
+name: preempt_disable_long
+ID: 1079
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u64 delta;	offset:8;	size:8;	signed:0;
+
+print fmt: "delta=%llu(ns)", REC->delta
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/printk/console/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/printk/console/format
new file mode 100644
index 0000000..303a8cb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/printk/console/format
@@ -0,0 +1,11 @@
+name: console
+ID: 109
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] msg;	offset:8;	size:4;	signed:0;
+
+print fmt: "%s", __get_str(msg)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pt/pt_driver_log/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pt/pt_driver_log/format
new file mode 100644
index 0000000..d68e13a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pt/pt_driver_log/format
@@ -0,0 +1,20 @@
+name: pt_driver_log
+ID: 1082
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * driver_name;	offset:8;	size:8;	signed:0;
+	field:const char * fn_name;	offset:16;	size:8;	signed:0;
+	field:u64 arg0;	offset:24;	size:8;	signed:0;
+	field:u64 arg1;	offset:32;	size:8;	signed:0;
+	field:u64 arg2;	offset:40;	size:8;	signed:0;
+	field:u64 arg3;	offset:48;	size:8;	signed:0;
+	field:int ret;	offset:56;	size:4;	signed:1;
+	field:u64 sec_ret0;	offset:64;	size:8;	signed:0;
+	field:u64 sec_ret1;	offset:72;	size:8;	signed:0;
+	field:u64 sec_ret2;	offset:80;	size:8;	signed:0;
+
+print fmt: "PT: %s %s 0x%llx 0x%llx 0x%llx 0x%llx ret: 0x%x, sec_ret0: 0x%llx, sec_ret1: 0x%llx, sec_ret2: 0x%llx", REC->driver_name, REC->fn_name, REC->arg0, REC->arg1, REC->arg2, REC->arg3, REC->ret, REC->sec_ret0, REC->sec_ret1, REC->sec_ret2
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pt/pt_enable/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pt/pt_enable/format
new file mode 100644
index 0000000..2de0d17
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pt/pt_enable/format
@@ -0,0 +1,14 @@
+name: pt_enable
+ID: 1083
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * node_name;	offset:8;	size:8;	signed:0;
+	field:const char * id_name;	offset:16;	size:8;	signed:0;
+	field:bool enable;	offset:24;	size:1;	signed:0;
+	field:u32 ptid;	offset:28;	size:4;	signed:0;
+
+print fmt: "Node %s %s %s %d", REC->node_name, REC->id_name, REC->enable?"ENABLE":"DISABLE", (int)REC->ptid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pt/pt_resize_callback/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pt/pt_resize_callback/format
new file mode 100644
index 0000000..9296842
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pt/pt_resize_callback/format
@@ -0,0 +1,15 @@
+name: pt_resize_callback
+ID: 1084
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * node_name;	offset:8;	size:8;	signed:0;
+	field:const char * id_name;	offset:16;	size:8;	signed:0;
+	field:bool enter;	offset:24;	size:1;	signed:0;
+	field:u64 size;	offset:32;	size:8;	signed:0;
+	field:u32 ptid;	offset:40;	size:4;	signed:0;
+
+print fmt: "Node %s %s %s 0x%llx ptid %d", REC->node_name, REC->id_name, REC->enter?"ENTER":"EXIT", REC->size, (int)REC->ptid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pwm/pwm_apply/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pwm/pwm_apply/format
new file mode 100644
index 0000000..284fddd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pwm/pwm_apply/format
@@ -0,0 +1,15 @@
+name: pwm_apply
+ID: 615
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct pwm_device * pwm;	offset:8;	size:8;	signed:0;
+	field:u64 period;	offset:16;	size:8;	signed:0;
+	field:u64 duty_cycle;	offset:24;	size:8;	signed:0;
+	field:enum pwm_polarity polarity;	offset:32;	size:4;	signed:0;
+	field:bool enabled;	offset:36;	size:1;	signed:0;
+
+print fmt: "%p: period=%llu duty_cycle=%llu polarity=%d enabled=%d", REC->pwm, REC->period, REC->duty_cycle, REC->polarity, REC->enabled
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pwm/pwm_get/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pwm/pwm_get/format
new file mode 100644
index 0000000..5a49491
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/pwm/pwm_get/format
@@ -0,0 +1,15 @@
+name: pwm_get
+ID: 616
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct pwm_device * pwm;	offset:8;	size:8;	signed:0;
+	field:u64 period;	offset:16;	size:8;	signed:0;
+	field:u64 duty_cycle;	offset:24;	size:8;	signed:0;
+	field:enum pwm_polarity polarity;	offset:32;	size:4;	signed:0;
+	field:bool enabled;	offset:36;	size:1;	signed:0;
+
+print fmt: "%p: period=%llu duty_cycle=%llu polarity=%d enabled=%d", REC->pwm, REC->period, REC->duty_cycle, REC->polarity, REC->enabled
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/qdisc/qdisc_create/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/qdisc/qdisc_create/format
new file mode 100644
index 0000000..1e7e657
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/qdisc/qdisc_create/format
@@ -0,0 +1,13 @@
+name: qdisc_create
+ID: 956
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] dev;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] kind;	offset:12;	size:4;	signed:0;
+	field:u32 parent;	offset:16;	size:4;	signed:0;
+
+print fmt: "dev=%s kind=%s parent=%x:%x", __get_str(dev), __get_str(kind), ((REC->parent)&(0xFFFF0000U)) >> 16, ((REC->parent)&(0x0000FFFFU))
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/qdisc/qdisc_dequeue/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/qdisc/qdisc_dequeue/format
new file mode 100644
index 0000000..06a1345
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/qdisc/qdisc_dequeue/format
@@ -0,0 +1,18 @@
+name: qdisc_dequeue
+ID: 957
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct Qdisc * qdisc;	offset:8;	size:8;	signed:0;
+	field:const struct netdev_queue * txq;	offset:16;	size:8;	signed:0;
+	field:int packets;	offset:24;	size:4;	signed:1;
+	field:void * skbaddr;	offset:32;	size:8;	signed:0;
+	field:int ifindex;	offset:40;	size:4;	signed:1;
+	field:u32 handle;	offset:44;	size:4;	signed:0;
+	field:u32 parent;	offset:48;	size:4;	signed:0;
+	field:unsigned long txq_state;	offset:56;	size:8;	signed:0;
+
+print fmt: "dequeue ifindex=%d qdisc handle=0x%X parent=0x%X txq_state=0x%lX packets=%d skbaddr=%p", REC->ifindex, REC->handle, REC->parent, REC->txq_state, REC->packets, REC->skbaddr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/qdisc/qdisc_destroy/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/qdisc/qdisc_destroy/format
new file mode 100644
index 0000000..983469b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/qdisc/qdisc_destroy/format
@@ -0,0 +1,14 @@
+name: qdisc_destroy
+ID: 958
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] dev;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] kind;	offset:12;	size:4;	signed:0;
+	field:u32 parent;	offset:16;	size:4;	signed:0;
+	field:u32 handle;	offset:20;	size:4;	signed:0;
+
+print fmt: "dev=%s kind=%s parent=%x:%x handle=%x:%x", __get_str(dev), __get_str(kind), ((REC->parent)&(0xFFFF0000U)) >> 16, ((REC->parent)&(0x0000FFFFU)), ((REC->handle)&(0xFFFF0000U)) >> 16, ((REC->handle)&(0x0000FFFFU))
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/qdisc/qdisc_reset/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/qdisc/qdisc_reset/format
new file mode 100644
index 0000000..0761843
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/qdisc/qdisc_reset/format
@@ -0,0 +1,14 @@
+name: qdisc_reset
+ID: 959
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] dev;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] kind;	offset:12;	size:4;	signed:0;
+	field:u32 parent;	offset:16;	size:4;	signed:0;
+	field:u32 handle;	offset:20;	size:4;	signed:0;
+
+print fmt: "dev=%s kind=%s parent=%x:%x handle=%x:%x", __get_str(dev), __get_str(kind), ((REC->parent)&(0xFFFF0000U)) >> 16, ((REC->parent)&(0x0000FFFFU)), ((REC->handle)&(0xFFFF0000U)) >> 16, ((REC->handle)&(0x0000FFFFU))
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/add_device_randomness/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/add_device_randomness/format
new file mode 100644
index 0000000..7a7583e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/add_device_randomness/format
@@ -0,0 +1,12 @@
+name: add_device_randomness
+ID: 644
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int bytes;	offset:8;	size:4;	signed:1;
+	field:unsigned long IP;	offset:16;	size:8;	signed:0;
+
+print fmt: "bytes %d caller %pS", REC->bytes, (void *)REC->IP
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/add_disk_randomness/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/add_disk_randomness/format
new file mode 100644
index 0000000..6717f04
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/add_disk_randomness/format
@@ -0,0 +1,12 @@
+name: add_disk_randomness
+ID: 645
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:int input_bits;	offset:12;	size:4;	signed:1;
+
+print fmt: "dev %d,%d input_pool_bits %d", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), REC->input_bits
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/add_input_randomness/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/add_input_randomness/format
new file mode 100644
index 0000000..e5e2a69
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/add_input_randomness/format
@@ -0,0 +1,11 @@
+name: add_input_randomness
+ID: 646
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int input_bits;	offset:8;	size:4;	signed:1;
+
+print fmt: "input_pool_bits %d", REC->input_bits
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/credit_entropy_bits/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/credit_entropy_bits/format
new file mode 100644
index 0000000..e49d18b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/credit_entropy_bits/format
@@ -0,0 +1,14 @@
+name: credit_entropy_bits
+ID: 647
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * pool_name;	offset:8;	size:8;	signed:0;
+	field:int bits;	offset:16;	size:4;	signed:1;
+	field:int entropy_count;	offset:20;	size:4;	signed:1;
+	field:unsigned long IP;	offset:24;	size:8;	signed:0;
+
+print fmt: "%s pool: bits %d entropy_count %d caller %pS", REC->pool_name, REC->bits, REC->entropy_count, (void *)REC->IP
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/debit_entropy/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/debit_entropy/format
new file mode 100644
index 0000000..c8bc8de
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/debit_entropy/format
@@ -0,0 +1,12 @@
+name: debit_entropy
+ID: 648
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * pool_name;	offset:8;	size:8;	signed:0;
+	field:int debit_bits;	offset:16;	size:4;	signed:1;
+
+print fmt: "%s: debit_bits %d", REC->pool_name, REC->debit_bits
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/extract_entropy/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/extract_entropy/format
new file mode 100644
index 0000000..da69521
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/extract_entropy/format
@@ -0,0 +1,14 @@
+name: extract_entropy
+ID: 649
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * pool_name;	offset:8;	size:8;	signed:0;
+	field:int nbytes;	offset:16;	size:4;	signed:1;
+	field:int entropy_count;	offset:20;	size:4;	signed:1;
+	field:unsigned long IP;	offset:24;	size:8;	signed:0;
+
+print fmt: "%s pool: nbytes %d entropy_count %d caller %pS", REC->pool_name, REC->nbytes, REC->entropy_count, (void *)REC->IP
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/extract_entropy_user/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/extract_entropy_user/format
new file mode 100644
index 0000000..4101810
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/extract_entropy_user/format
@@ -0,0 +1,14 @@
+name: extract_entropy_user
+ID: 650
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * pool_name;	offset:8;	size:8;	signed:0;
+	field:int nbytes;	offset:16;	size:4;	signed:1;
+	field:int entropy_count;	offset:20;	size:4;	signed:1;
+	field:unsigned long IP;	offset:24;	size:8;	signed:0;
+
+print fmt: "%s pool: nbytes %d entropy_count %d caller %pS", REC->pool_name, REC->nbytes, REC->entropy_count, (void *)REC->IP
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/get_random_bytes/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/get_random_bytes/format
new file mode 100644
index 0000000..30ef018
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/get_random_bytes/format
@@ -0,0 +1,12 @@
+name: get_random_bytes
+ID: 651
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int nbytes;	offset:8;	size:4;	signed:1;
+	field:unsigned long IP;	offset:16;	size:8;	signed:0;
+
+print fmt: "nbytes %d caller %pS", REC->nbytes, (void *)REC->IP
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/get_random_bytes_arch/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/get_random_bytes_arch/format
new file mode 100644
index 0000000..6721565
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/get_random_bytes_arch/format
@@ -0,0 +1,12 @@
+name: get_random_bytes_arch
+ID: 652
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int nbytes;	offset:8;	size:4;	signed:1;
+	field:unsigned long IP;	offset:16;	size:8;	signed:0;
+
+print fmt: "nbytes %d caller %pS", REC->nbytes, (void *)REC->IP
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/mix_pool_bytes/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/mix_pool_bytes/format
new file mode 100644
index 0000000..1c8c9ff
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/mix_pool_bytes/format
@@ -0,0 +1,13 @@
+name: mix_pool_bytes
+ID: 653
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * pool_name;	offset:8;	size:8;	signed:0;
+	field:int bytes;	offset:16;	size:4;	signed:1;
+	field:unsigned long IP;	offset:24;	size:8;	signed:0;
+
+print fmt: "%s pool: bytes %d caller %pS", REC->pool_name, REC->bytes, (void *)REC->IP
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/mix_pool_bytes_nolock/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/mix_pool_bytes_nolock/format
new file mode 100644
index 0000000..97d0b43
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/mix_pool_bytes_nolock/format
@@ -0,0 +1,13 @@
+name: mix_pool_bytes_nolock
+ID: 654
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * pool_name;	offset:8;	size:8;	signed:0;
+	field:int bytes;	offset:16;	size:4;	signed:1;
+	field:unsigned long IP;	offset:24;	size:8;	signed:0;
+
+print fmt: "%s pool: bytes %d caller %pS", REC->pool_name, REC->bytes, (void *)REC->IP
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/prandom_u32/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/prandom_u32/format
new file mode 100644
index 0000000..9831719
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/prandom_u32/format
@@ -0,0 +1,11 @@
+name: prandom_u32
+ID: 655
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int ret;	offset:8;	size:4;	signed:0;
+
+print fmt: "ret=%u", REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/push_to_pool/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/push_to_pool/format
new file mode 100644
index 0000000..b6d38aa
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/push_to_pool/format
@@ -0,0 +1,13 @@
+name: push_to_pool
+ID: 656
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * pool_name;	offset:8;	size:8;	signed:0;
+	field:int pool_bits;	offset:16;	size:4;	signed:1;
+	field:int input_bits;	offset:20;	size:4;	signed:1;
+
+print fmt: "%s: pool_bits %d input_pool_bits %d", REC->pool_name, REC->pool_bits, REC->input_bits
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/random_read/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/random_read/format
new file mode 100644
index 0000000..45d67dc
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/random_read/format
@@ -0,0 +1,14 @@
+name: random_read
+ID: 657
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int got_bits;	offset:8;	size:4;	signed:1;
+	field:int need_bits;	offset:12;	size:4;	signed:1;
+	field:int pool_left;	offset:16;	size:4;	signed:1;
+	field:int input_left;	offset:20;	size:4;	signed:1;
+
+print fmt: "got_bits %d still_needed_bits %d blocking_pool_entropy_left %d input_entropy_left %d", REC->got_bits, REC->got_bits, REC->pool_left, REC->input_left
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/urandom_read/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/urandom_read/format
new file mode 100644
index 0000000..34d70d4
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/urandom_read/format
@@ -0,0 +1,13 @@
+name: urandom_read
+ID: 658
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int got_bits;	offset:8;	size:4;	signed:1;
+	field:int pool_left;	offset:12;	size:4;	signed:1;
+	field:int input_left;	offset:16;	size:4;	signed:1;
+
+print fmt: "got_bits %d nonblocking_pool_entropy_left %d input_entropy_left %d", REC->got_bits, REC->pool_left, REC->input_left
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/xfer_secondary_pool/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/xfer_secondary_pool/format
new file mode 100644
index 0000000..fdaef93
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/random/xfer_secondary_pool/format
@@ -0,0 +1,15 @@
+name: xfer_secondary_pool
+ID: 659
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * pool_name;	offset:8;	size:8;	signed:0;
+	field:int xfer_bits;	offset:16;	size:4;	signed:1;
+	field:int request_bits;	offset:20;	size:4;	signed:1;
+	field:int pool_entropy;	offset:24;	size:4;	signed:1;
+	field:int input_entropy;	offset:28;	size:4;	signed:1;
+
+print fmt: "pool %s xfer_bits %d request_bits %d pool_entropy %d input_entropy %d", REC->pool_name, REC->xfer_bits, REC->request_bits, REC->pool_entropy, REC->input_entropy
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ras/aer_event/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ras/aer_event/format
new file mode 100644
index 0000000..fcd53e2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ras/aer_event/format
@@ -0,0 +1,16 @@
+name: aer_event
+ID: 867
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] dev_name;	offset:8;	size:4;	signed:0;
+	field:u32 status;	offset:12;	size:4;	signed:0;
+	field:u8 severity;	offset:16;	size:1;	signed:0;
+	field:u8 tlp_header_valid;	offset:17;	size:1;	signed:0;
+	field:u32 tlp_header[4];	offset:20;	size:16;	signed:0;
+
+print fmt: "%s PCIe Bus Error: severity=%s, %s, TLP Header=%s
+", __get_str(dev_name), REC->severity == 2 ? "Corrected" : REC->severity == 1 ? "Fatal" : "Uncorrected, non-fatal", REC->severity == 2 ? __print_flags(REC->status, "|", {0x00000001, "Receiver Error"}, {0x00000040, "Bad TLP"}, {0x00000080, "Bad DLLP"}, {0x00000100, "RELAY_NUM Rollover"}, {0x00001000, "Replay Timer Timeout"}, {0x00002000, "Advisory Non-Fatal Error"}, {0x00004000, "Corrected Internal Error"}, {0x00008000, "Header Log Overflow"}) : __print_flags(REC->status, "|", {0x00000001, "Undefined"}, {0x00000010, "Data Link Protocol Error"}, {0x00000020, "Surprise Down Error"}, {0x00001000,"Poisoned TLP"}, {0x00002000, "Flow Control Protocol Error"}, {0x00004000, "Completion Timeout"}, {0x00008000,"Completer Abort"}, {0x00010000, "Unexpected Completion"}, {0x00020000, "Receiver Overflow"}, {0x00040000, "Malformed TLP"}, {0x00080000, "ECRC Error"}, {0x00100000, "Unsupported Request Error"}, {0x00200000, "ACS Violation"}, {0x00400000, "Uncorrectable Internal Error"}, {0x00800000, "MC Blocked TLP"}, {0x01000000, "AtomicOp Egress Blocked"}, {0x02000000, "TLP Prefix Blocked Error"}), REC->tlp_header_valid ? __print_array(REC->tlp_header, 4, 4) : "Not available"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ras/arm_event/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ras/arm_event/format
new file mode 100644
index 0000000..6654092
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ras/arm_event/format
@@ -0,0 +1,15 @@
+name: arm_event
+ID: 868
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u64 mpidr;	offset:8;	size:8;	signed:0;
+	field:u64 midr;	offset:16;	size:8;	signed:0;
+	field:u32 running_state;	offset:24;	size:4;	signed:0;
+	field:u32 psci_state;	offset:28;	size:4;	signed:0;
+	field:u8 affinity;	offset:32;	size:1;	signed:0;
+
+print fmt: "affinity level: %d; MPIDR: %016llx; MIDR: %016llx; running state: %d; PSCI state: %d", REC->affinity, REC->mpidr, REC->midr, REC->running_state, REC->psci_state
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ras/mc_event/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ras/mc_event/format
new file mode 100644
index 0000000..1fc7d91
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ras/mc_event/format
@@ -0,0 +1,22 @@
+name: mc_event
+ID: 869
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int error_type;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] msg;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] label;	offset:16;	size:4;	signed:0;
+	field:u16 error_count;	offset:20;	size:2;	signed:0;
+	field:u8 mc_index;	offset:22;	size:1;	signed:0;
+	field:s8 top_layer;	offset:23;	size:1;	signed:1;
+	field:s8 middle_layer;	offset:24;	size:1;	signed:1;
+	field:s8 lower_layer;	offset:25;	size:1;	signed:1;
+	field:long address;	offset:32;	size:8;	signed:1;
+	field:u8 grain_bits;	offset:40;	size:1;	signed:0;
+	field:long syndrome;	offset:48;	size:8;	signed:1;
+	field:__data_loc char[] driver_detail;	offset:56;	size:4;	signed:0;
+
+print fmt: "%d %s error%s:%s%s on %s (mc:%d location:%d:%d:%d address:0x%08lx grain:%d syndrome:0x%08lx%s%s)", REC->error_count, mc_event_error_type(REC->error_type), REC->error_count > 1 ? "s" : "", __get_str(msg)[0] ? " " : "", __get_str(msg), __get_str(label), REC->mc_index, REC->top_layer, REC->middle_layer, REC->lower_layer, REC->address, 1 << REC->grain_bits, REC->syndrome, __get_str(driver_detail)[0] ? " " : "", __get_str(driver_detail)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ras/non_standard_event/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ras/non_standard_event/format
new file mode 100644
index 0000000..057887e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ras/non_standard_event/format
@@ -0,0 +1,16 @@
+name: non_standard_event
+ID: 870
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char sec_type[16];	offset:8;	size:16;	signed:0;
+	field:char fru_id[16];	offset:24;	size:16;	signed:0;
+	field:__data_loc char[] fru_text;	offset:40;	size:4;	signed:0;
+	field:u8 sev;	offset:44;	size:1;	signed:0;
+	field:u32 len;	offset:48;	size:4;	signed:0;
+	field:__data_loc u8[] buf;	offset:52;	size:4;	signed:0;
+
+print fmt: "severity: %d; sec type:%pU; FRU: %pU %s; data len:%d; raw data:%s", REC->sev, REC->sec_type, REC->fru_id, __get_str(fru_text), REC->len, __print_hex(__get_dynamic_array(buf), REC->len)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/raw_syscalls/sys_enter/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/raw_syscalls/sys_enter/format
new file mode 100644
index 0000000..eacec98
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/raw_syscalls/sys_enter/format
@@ -0,0 +1,12 @@
+name: sys_enter
+ID: 20
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:long id;	offset:8;	size:8;	signed:1;
+	field:unsigned long args[6];	offset:16;	size:48;	signed:0;
+
+print fmt: "NR %ld (%lx, %lx, %lx, %lx, %lx, %lx)", REC->id, REC->args[0], REC->args[1], REC->args[2], REC->args[3], REC->args[4], REC->args[5]
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/raw_syscalls/sys_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/raw_syscalls/sys_exit/format
new file mode 100644
index 0000000..94b6d85
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/raw_syscalls/sys_exit/format
@@ -0,0 +1,12 @@
+name: sys_exit
+ID: 21
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:long id;	offset:8;	size:8;	signed:1;
+	field:long ret;	offset:16;	size:8;	signed:1;
+
+print fmt: "NR %ld = %ld", REC->id, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_barrier/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_barrier/format
new file mode 100644
index 0000000..04ce46d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_barrier/format
@@ -0,0 +1,15 @@
+name: rcu_barrier
+ID: 110
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * rcuname;	offset:8;	size:8;	signed:0;
+	field:const char * s;	offset:16;	size:8;	signed:0;
+	field:int cpu;	offset:24;	size:4;	signed:1;
+	field:int cnt;	offset:28;	size:4;	signed:1;
+	field:unsigned long done;	offset:32;	size:8;	signed:0;
+
+print fmt: "%s %s cpu %d remaining %d # %lu", REC->rcuname, REC->s, REC->cpu, REC->cnt, REC->done
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_batch_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_batch_end/format
new file mode 100644
index 0000000..dc55ff9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_batch_end/format
@@ -0,0 +1,16 @@
+name: rcu_batch_end
+ID: 111
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * rcuname;	offset:8;	size:8;	signed:0;
+	field:int callbacks_invoked;	offset:16;	size:4;	signed:1;
+	field:char cb;	offset:20;	size:1;	signed:0;
+	field:char nr;	offset:21;	size:1;	signed:0;
+	field:char iit;	offset:22;	size:1;	signed:0;
+	field:char risk;	offset:23;	size:1;	signed:0;
+
+print fmt: "%s CBs-invoked=%d idle=%c%c%c%c", REC->rcuname, REC->callbacks_invoked, REC->cb ? 'C' : '.', REC->nr ? 'S' : '.', REC->iit ? 'I' : '.', REC->risk ? 'R' : '.'
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_batch_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_batch_start/format
new file mode 100644
index 0000000..ab61db1
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_batch_start/format
@@ -0,0 +1,13 @@
+name: rcu_batch_start
+ID: 112
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * rcuname;	offset:8;	size:8;	signed:0;
+	field:long qlen;	offset:16;	size:8;	signed:1;
+	field:long blimit;	offset:24;	size:8;	signed:1;
+
+print fmt: "%s CBs=%ld bl=%ld", REC->rcuname, REC->qlen, REC->blimit
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_callback/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_callback/format
new file mode 100644
index 0000000..96f6ff8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_callback/format
@@ -0,0 +1,14 @@
+name: rcu_callback
+ID: 113
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * rcuname;	offset:8;	size:8;	signed:0;
+	field:void * rhp;	offset:16;	size:8;	signed:0;
+	field:void * func;	offset:24;	size:8;	signed:0;
+	field:long qlen;	offset:32;	size:8;	signed:1;
+
+print fmt: "%s rhp=%p func=%ps %ld", REC->rcuname, REC->rhp, REC->func, REC->qlen
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_dyntick/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_dyntick/format
new file mode 100644
index 0000000..8312828
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_dyntick/format
@@ -0,0 +1,14 @@
+name: rcu_dyntick
+ID: 114
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * polarity;	offset:8;	size:8;	signed:0;
+	field:long oldnesting;	offset:16;	size:8;	signed:1;
+	field:long newnesting;	offset:24;	size:8;	signed:1;
+	field:int dynticks;	offset:32;	size:4;	signed:1;
+
+print fmt: "%s %lx %lx %#3x", REC->polarity, REC->oldnesting, REC->newnesting, REC->dynticks & 0xfff
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_exp_funnel_lock/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_exp_funnel_lock/format
new file mode 100644
index 0000000..0db175a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_exp_funnel_lock/format
@@ -0,0 +1,15 @@
+name: rcu_exp_funnel_lock
+ID: 115
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * rcuname;	offset:8;	size:8;	signed:0;
+	field:u8 level;	offset:16;	size:1;	signed:0;
+	field:int grplo;	offset:20;	size:4;	signed:1;
+	field:int grphi;	offset:24;	size:4;	signed:1;
+	field:const char * gpevent;	offset:32;	size:8;	signed:0;
+
+print fmt: "%s %d %d %d %s", REC->rcuname, REC->level, REC->grplo, REC->grphi, REC->gpevent
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_exp_grace_period/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_exp_grace_period/format
new file mode 100644
index 0000000..4288655
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_exp_grace_period/format
@@ -0,0 +1,13 @@
+name: rcu_exp_grace_period
+ID: 116
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * rcuname;	offset:8;	size:8;	signed:0;
+	field:long gpseq;	offset:16;	size:8;	signed:1;
+	field:const char * gpevent;	offset:24;	size:8;	signed:0;
+
+print fmt: "%s %ld %s", REC->rcuname, REC->gpseq, REC->gpevent
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_fqs/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_fqs/format
new file mode 100644
index 0000000..b3db01f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_fqs/format
@@ -0,0 +1,14 @@
+name: rcu_fqs
+ID: 117
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * rcuname;	offset:8;	size:8;	signed:0;
+	field:long gp_seq;	offset:16;	size:8;	signed:1;
+	field:int cpu;	offset:24;	size:4;	signed:1;
+	field:const char * qsevent;	offset:32;	size:8;	signed:0;
+
+print fmt: "%s %ld %d %s", REC->rcuname, REC->gp_seq, REC->cpu, REC->qsevent
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_future_grace_period/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_future_grace_period/format
new file mode 100644
index 0000000..133918a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_future_grace_period/format
@@ -0,0 +1,17 @@
+name: rcu_future_grace_period
+ID: 118
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * rcuname;	offset:8;	size:8;	signed:0;
+	field:long gp_seq;	offset:16;	size:8;	signed:1;
+	field:long gp_seq_req;	offset:24;	size:8;	signed:1;
+	field:u8 level;	offset:32;	size:1;	signed:0;
+	field:int grplo;	offset:36;	size:4;	signed:1;
+	field:int grphi;	offset:40;	size:4;	signed:1;
+	field:const char * gpevent;	offset:48;	size:8;	signed:0;
+
+print fmt: "%s %ld %ld %u %d %d %s", REC->rcuname, (long)REC->gp_seq, (long)REC->gp_seq_req, REC->level, REC->grplo, REC->grphi, REC->gpevent
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_grace_period/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_grace_period/format
new file mode 100644
index 0000000..7f627fd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_grace_period/format
@@ -0,0 +1,13 @@
+name: rcu_grace_period
+ID: 119
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * rcuname;	offset:8;	size:8;	signed:0;
+	field:long gp_seq;	offset:16;	size:8;	signed:1;
+	field:const char * gpevent;	offset:24;	size:8;	signed:0;
+
+print fmt: "%s %ld %s", REC->rcuname, REC->gp_seq, REC->gpevent
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_grace_period_init/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_grace_period_init/format
new file mode 100644
index 0000000..ed917c8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_grace_period_init/format
@@ -0,0 +1,16 @@
+name: rcu_grace_period_init
+ID: 120
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * rcuname;	offset:8;	size:8;	signed:0;
+	field:long gp_seq;	offset:16;	size:8;	signed:1;
+	field:u8 level;	offset:24;	size:1;	signed:0;
+	field:int grplo;	offset:28;	size:4;	signed:1;
+	field:int grphi;	offset:32;	size:4;	signed:1;
+	field:unsigned long qsmask;	offset:40;	size:8;	signed:0;
+
+print fmt: "%s %ld %u %d %d %lx", REC->rcuname, REC->gp_seq, REC->level, REC->grplo, REC->grphi, REC->qsmask
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_invoke_callback/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_invoke_callback/format
new file mode 100644
index 0000000..4cb4a47
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_invoke_callback/format
@@ -0,0 +1,13 @@
+name: rcu_invoke_callback
+ID: 121
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * rcuname;	offset:8;	size:8;	signed:0;
+	field:void * rhp;	offset:16;	size:8;	signed:0;
+	field:void * func;	offset:24;	size:8;	signed:0;
+
+print fmt: "%s rhp=%p func=%ps", REC->rcuname, REC->rhp, REC->func
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_invoke_kfree_bulk_callback/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_invoke_kfree_bulk_callback/format
new file mode 100644
index 0000000..6eab324
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_invoke_kfree_bulk_callback/format
@@ -0,0 +1,13 @@
+name: rcu_invoke_kfree_bulk_callback
+ID: 122
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * rcuname;	offset:8;	size:8;	signed:0;
+	field:unsigned long nr_records;	offset:16;	size:8;	signed:0;
+	field:void ** p;	offset:24;	size:8;	signed:0;
+
+print fmt: "%s bulk=0x%p nr_records=%lu", REC->rcuname, REC->p, REC->nr_records
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_invoke_kvfree_callback/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_invoke_kvfree_callback/format
new file mode 100644
index 0000000..bb7ed96
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_invoke_kvfree_callback/format
@@ -0,0 +1,13 @@
+name: rcu_invoke_kvfree_callback
+ID: 123
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * rcuname;	offset:8;	size:8;	signed:0;
+	field:void * rhp;	offset:16;	size:8;	signed:0;
+	field:unsigned long offset;	offset:24;	size:8;	signed:0;
+
+print fmt: "%s rhp=%p func=%ld", REC->rcuname, REC->rhp, REC->offset
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_kvfree_callback/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_kvfree_callback/format
new file mode 100644
index 0000000..3dc6c43
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_kvfree_callback/format
@@ -0,0 +1,14 @@
+name: rcu_kvfree_callback
+ID: 124
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * rcuname;	offset:8;	size:8;	signed:0;
+	field:void * rhp;	offset:16;	size:8;	signed:0;
+	field:unsigned long offset;	offset:24;	size:8;	signed:0;
+	field:long qlen;	offset:32;	size:8;	signed:1;
+
+print fmt: "%s rhp=%p func=%ld %ld", REC->rcuname, REC->rhp, REC->offset, REC->qlen
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_nocb_wake/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_nocb_wake/format
new file mode 100644
index 0000000..76dd397
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_nocb_wake/format
@@ -0,0 +1,13 @@
+name: rcu_nocb_wake
+ID: 125
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * rcuname;	offset:8;	size:8;	signed:0;
+	field:int cpu;	offset:16;	size:4;	signed:1;
+	field:const char * reason;	offset:24;	size:8;	signed:0;
+
+print fmt: "%s %d %s", REC->rcuname, REC->cpu, REC->reason
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_preempt_task/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_preempt_task/format
new file mode 100644
index 0000000..21fd275
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_preempt_task/format
@@ -0,0 +1,13 @@
+name: rcu_preempt_task
+ID: 126
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * rcuname;	offset:8;	size:8;	signed:0;
+	field:long gp_seq;	offset:16;	size:8;	signed:1;
+	field:int pid;	offset:24;	size:4;	signed:1;
+
+print fmt: "%s %ld %d", REC->rcuname, REC->gp_seq, REC->pid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_quiescent_state_report/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_quiescent_state_report/format
new file mode 100644
index 0000000..9aa1a74
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_quiescent_state_report/format
@@ -0,0 +1,18 @@
+name: rcu_quiescent_state_report
+ID: 127
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * rcuname;	offset:8;	size:8;	signed:0;
+	field:long gp_seq;	offset:16;	size:8;	signed:1;
+	field:unsigned long mask;	offset:24;	size:8;	signed:0;
+	field:unsigned long qsmask;	offset:32;	size:8;	signed:0;
+	field:u8 level;	offset:40;	size:1;	signed:0;
+	field:int grplo;	offset:44;	size:4;	signed:1;
+	field:int grphi;	offset:48;	size:4;	signed:1;
+	field:u8 gp_tasks;	offset:52;	size:1;	signed:0;
+
+print fmt: "%s %ld %lx>%lx %u %d %d %u", REC->rcuname, REC->gp_seq, REC->mask, REC->qsmask, REC->level, REC->grplo, REC->grphi, REC->gp_tasks
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_stall_warning/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_stall_warning/format
new file mode 100644
index 0000000..0cc9be6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_stall_warning/format
@@ -0,0 +1,12 @@
+name: rcu_stall_warning
+ID: 128
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * rcuname;	offset:8;	size:8;	signed:0;
+	field:const char * msg;	offset:16;	size:8;	signed:0;
+
+print fmt: "%s %s", REC->rcuname, REC->msg
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_torture_read/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_torture_read/format
new file mode 100644
index 0000000..efee31c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_torture_read/format
@@ -0,0 +1,15 @@
+name: rcu_torture_read
+ID: 129
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char rcutorturename[8];	offset:8;	size:1;	signed:0;
+	field:struct callback_head * rhp;	offset:16;	size:8;	signed:0;
+	field:unsigned long secs;	offset:24;	size:8;	signed:0;
+	field:unsigned long c_old;	offset:32;	size:8;	signed:0;
+	field:unsigned long c;	offset:40;	size:8;	signed:0;
+
+print fmt: "%s torture read %p %luus c: %lu %lu", REC->rcutorturename, REC->rhp, REC->secs, REC->c_old, REC->c
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_unlock_preempted_task/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_unlock_preempted_task/format
new file mode 100644
index 0000000..a6614f5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_unlock_preempted_task/format
@@ -0,0 +1,13 @@
+name: rcu_unlock_preempted_task
+ID: 130
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * rcuname;	offset:8;	size:8;	signed:0;
+	field:long gp_seq;	offset:16;	size:8;	signed:1;
+	field:int pid;	offset:24;	size:4;	signed:1;
+
+print fmt: "%s %ld %d", REC->rcuname, REC->gp_seq, REC->pid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_utilization/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_utilization/format
new file mode 100644
index 0000000..c5ee511
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rcu/rcu_utilization/format
@@ -0,0 +1,11 @@
+name: rcu_utilization
+ID: 131
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * s;	offset:8;	size:8;	signed:0;
+
+print fmt: "%s", REC->s
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regcache_drop_region/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regcache_drop_region/format
new file mode 100644
index 0000000..b3d60d9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regcache_drop_region/format
@@ -0,0 +1,13 @@
+name: regcache_drop_region
+ID: 671
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned int from;	offset:12;	size:4;	signed:0;
+	field:unsigned int to;	offset:16;	size:4;	signed:0;
+
+print fmt: "%s %u-%u", __get_str(name), (unsigned int)REC->from, (unsigned int)REC->to
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regcache_sync/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regcache_sync/format
new file mode 100644
index 0000000..bca46b4
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regcache_sync/format
@@ -0,0 +1,14 @@
+name: regcache_sync
+ID: 672
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] status;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] type;	offset:16;	size:4;	signed:0;
+	field:int type;	offset:20;	size:4;	signed:1;
+
+print fmt: "%s type=%s status=%s", __get_str(name), __get_str(type), __get_str(status)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_async_complete_done/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_async_complete_done/format
new file mode 100644
index 0000000..a69fe1d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_async_complete_done/format
@@ -0,0 +1,11 @@
+name: regmap_async_complete_done
+ID: 673
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+
+print fmt: "%s", __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_async_complete_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_async_complete_start/format
new file mode 100644
index 0000000..51fdb0c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_async_complete_start/format
@@ -0,0 +1,11 @@
+name: regmap_async_complete_start
+ID: 674
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+
+print fmt: "%s", __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_async_io_complete/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_async_io_complete/format
new file mode 100644
index 0000000..b2b46f7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_async_io_complete/format
@@ -0,0 +1,11 @@
+name: regmap_async_io_complete
+ID: 675
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+
+print fmt: "%s", __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_async_write_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_async_write_start/format
new file mode 100644
index 0000000..a3af3d0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_async_write_start/format
@@ -0,0 +1,13 @@
+name: regmap_async_write_start
+ID: 676
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned int reg;	offset:12;	size:4;	signed:0;
+	field:int count;	offset:16;	size:4;	signed:1;
+
+print fmt: "%s reg=%x count=%d", __get_str(name), (unsigned int)REC->reg, (int)REC->count
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_cache_bypass/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_cache_bypass/format
new file mode 100644
index 0000000..c131f1d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_cache_bypass/format
@@ -0,0 +1,12 @@
+name: regmap_cache_bypass
+ID: 677
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:int flag;	offset:12;	size:4;	signed:1;
+
+print fmt: "%s flag=%d", __get_str(name), (int)REC->flag
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_cache_only/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_cache_only/format
new file mode 100644
index 0000000..3eab956
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_cache_only/format
@@ -0,0 +1,12 @@
+name: regmap_cache_only
+ID: 678
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:int flag;	offset:12;	size:4;	signed:1;
+
+print fmt: "%s flag=%d", __get_str(name), (int)REC->flag
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_hw_read_done/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_hw_read_done/format
new file mode 100644
index 0000000..201cf21
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_hw_read_done/format
@@ -0,0 +1,13 @@
+name: regmap_hw_read_done
+ID: 679
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned int reg;	offset:12;	size:4;	signed:0;
+	field:int count;	offset:16;	size:4;	signed:1;
+
+print fmt: "%s reg=%x count=%d", __get_str(name), (unsigned int)REC->reg, (int)REC->count
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_hw_read_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_hw_read_start/format
new file mode 100644
index 0000000..1c57864
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_hw_read_start/format
@@ -0,0 +1,13 @@
+name: regmap_hw_read_start
+ID: 680
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned int reg;	offset:12;	size:4;	signed:0;
+	field:int count;	offset:16;	size:4;	signed:1;
+
+print fmt: "%s reg=%x count=%d", __get_str(name), (unsigned int)REC->reg, (int)REC->count
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_hw_write_done/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_hw_write_done/format
new file mode 100644
index 0000000..3a4aa7a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_hw_write_done/format
@@ -0,0 +1,13 @@
+name: regmap_hw_write_done
+ID: 681
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned int reg;	offset:12;	size:4;	signed:0;
+	field:int count;	offset:16;	size:4;	signed:1;
+
+print fmt: "%s reg=%x count=%d", __get_str(name), (unsigned int)REC->reg, (int)REC->count
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_hw_write_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_hw_write_start/format
new file mode 100644
index 0000000..0d6a84f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_hw_write_start/format
@@ -0,0 +1,13 @@
+name: regmap_hw_write_start
+ID: 682
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned int reg;	offset:12;	size:4;	signed:0;
+	field:int count;	offset:16;	size:4;	signed:1;
+
+print fmt: "%s reg=%x count=%d", __get_str(name), (unsigned int)REC->reg, (int)REC->count
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_reg_read/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_reg_read/format
new file mode 100644
index 0000000..a29590e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_reg_read/format
@@ -0,0 +1,13 @@
+name: regmap_reg_read
+ID: 683
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned int reg;	offset:12;	size:4;	signed:0;
+	field:unsigned int val;	offset:16;	size:4;	signed:0;
+
+print fmt: "%s reg=%x val=%x", __get_str(name), (unsigned int)REC->reg, (unsigned int)REC->val
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_reg_read_cache/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_reg_read_cache/format
new file mode 100644
index 0000000..7724bef
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_reg_read_cache/format
@@ -0,0 +1,13 @@
+name: regmap_reg_read_cache
+ID: 684
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned int reg;	offset:12;	size:4;	signed:0;
+	field:unsigned int val;	offset:16;	size:4;	signed:0;
+
+print fmt: "%s reg=%x val=%x", __get_str(name), (unsigned int)REC->reg, (unsigned int)REC->val
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_reg_write/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_reg_write/format
new file mode 100644
index 0000000..a53efbf
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regmap/regmap_reg_write/format
@@ -0,0 +1,13 @@
+name: regmap_reg_write
+ID: 685
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned int reg;	offset:12;	size:4;	signed:0;
+	field:unsigned int val;	offset:16;	size:4;	signed:0;
+
+print fmt: "%s reg=%x val=%x", __get_str(name), (unsigned int)REC->reg, (unsigned int)REC->val
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_bypass_disable/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_bypass_disable/format
new file mode 100644
index 0000000..63fc9df
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_bypass_disable/format
@@ -0,0 +1,11 @@
+name: regulator_bypass_disable
+ID: 633
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+
+print fmt: "name=%s", __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_bypass_disable_complete/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_bypass_disable_complete/format
new file mode 100644
index 0000000..7680151
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_bypass_disable_complete/format
@@ -0,0 +1,11 @@
+name: regulator_bypass_disable_complete
+ID: 634
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+
+print fmt: "name=%s", __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_bypass_enable/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_bypass_enable/format
new file mode 100644
index 0000000..0402edc
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_bypass_enable/format
@@ -0,0 +1,11 @@
+name: regulator_bypass_enable
+ID: 635
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+
+print fmt: "name=%s", __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_bypass_enable_complete/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_bypass_enable_complete/format
new file mode 100644
index 0000000..f7e7562
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_bypass_enable_complete/format
@@ -0,0 +1,11 @@
+name: regulator_bypass_enable_complete
+ID: 636
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+
+print fmt: "name=%s", __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_disable/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_disable/format
new file mode 100644
index 0000000..01f3091
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_disable/format
@@ -0,0 +1,11 @@
+name: regulator_disable
+ID: 637
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+
+print fmt: "name=%s", __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_disable_complete/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_disable_complete/format
new file mode 100644
index 0000000..8c0bbf4
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_disable_complete/format
@@ -0,0 +1,11 @@
+name: regulator_disable_complete
+ID: 638
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+
+print fmt: "name=%s", __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_enable/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_enable/format
new file mode 100644
index 0000000..daf12fe
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_enable/format
@@ -0,0 +1,11 @@
+name: regulator_enable
+ID: 639
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+
+print fmt: "name=%s", __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_enable_complete/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_enable_complete/format
new file mode 100644
index 0000000..5094588
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_enable_complete/format
@@ -0,0 +1,11 @@
+name: regulator_enable_complete
+ID: 640
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+
+print fmt: "name=%s", __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_enable_delay/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_enable_delay/format
new file mode 100644
index 0000000..45b9fab
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_enable_delay/format
@@ -0,0 +1,11 @@
+name: regulator_enable_delay
+ID: 641
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+
+print fmt: "name=%s", __get_str(name)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_set_voltage/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_set_voltage/format
new file mode 100644
index 0000000..94e8dee
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_set_voltage/format
@@ -0,0 +1,13 @@
+name: regulator_set_voltage
+ID: 642
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:int min;	offset:12;	size:4;	signed:1;
+	field:int max;	offset:16;	size:4;	signed:1;
+
+print fmt: "name=%s (%d-%d)", __get_str(name), (int)REC->min, (int)REC->max
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_set_voltage_complete/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_set_voltage_complete/format
new file mode 100644
index 0000000..097c1e6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/regulator/regulator_set_voltage_complete/format
@@ -0,0 +1,12 @@
+name: regulator_set_voltage_complete
+ID: 643
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned int val;	offset:12;	size:4;	signed:0;
+
+print fmt: "name=%s, val=%u", __get_str(name), (int)REC->val
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rpm/rpm_idle/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rpm/rpm_idle/format
new file mode 100644
index 0000000..ef44861
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rpm/rpm_idle/format
@@ -0,0 +1,18 @@
+name: rpm_idle
+ID: 192
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:int flags;	offset:12;	size:4;	signed:1;
+	field:int usage_count;	offset:16;	size:4;	signed:1;
+	field:int disable_depth;	offset:20;	size:4;	signed:1;
+	field:int runtime_auto;	offset:24;	size:4;	signed:1;
+	field:int request_pending;	offset:28;	size:4;	signed:1;
+	field:int irq_safe;	offset:32;	size:4;	signed:1;
+	field:int child_count;	offset:36;	size:4;	signed:1;
+
+print fmt: "%s flags-%x cnt-%-2d dep-%-2d auto-%-1d p-%-1d irq-%-1d child-%d", __get_str(name), REC->flags, REC->usage_count, REC->disable_depth, REC->runtime_auto, REC->request_pending, REC->irq_safe, REC->child_count
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rpm/rpm_resume/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rpm/rpm_resume/format
new file mode 100644
index 0000000..1f88072
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rpm/rpm_resume/format
@@ -0,0 +1,18 @@
+name: rpm_resume
+ID: 193
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:int flags;	offset:12;	size:4;	signed:1;
+	field:int usage_count;	offset:16;	size:4;	signed:1;
+	field:int disable_depth;	offset:20;	size:4;	signed:1;
+	field:int runtime_auto;	offset:24;	size:4;	signed:1;
+	field:int request_pending;	offset:28;	size:4;	signed:1;
+	field:int irq_safe;	offset:32;	size:4;	signed:1;
+	field:int child_count;	offset:36;	size:4;	signed:1;
+
+print fmt: "%s flags-%x cnt-%-2d dep-%-2d auto-%-1d p-%-1d irq-%-1d child-%d", __get_str(name), REC->flags, REC->usage_count, REC->disable_depth, REC->runtime_auto, REC->request_pending, REC->irq_safe, REC->child_count
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rpm/rpm_return_int/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rpm/rpm_return_int/format
new file mode 100644
index 0000000..72c2255
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rpm/rpm_return_int/format
@@ -0,0 +1,13 @@
+name: rpm_return_int
+ID: 194
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:unsigned long ip;	offset:16;	size:8;	signed:0;
+	field:int ret;	offset:24;	size:4;	signed:1;
+
+print fmt: "%pS:%s ret=%d", (void *)REC->ip, __get_str(name), REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rpm/rpm_suspend/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rpm/rpm_suspend/format
new file mode 100644
index 0000000..09e82f3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rpm/rpm_suspend/format
@@ -0,0 +1,18 @@
+name: rpm_suspend
+ID: 195
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:int flags;	offset:12;	size:4;	signed:1;
+	field:int usage_count;	offset:16;	size:4;	signed:1;
+	field:int disable_depth;	offset:20;	size:4;	signed:1;
+	field:int runtime_auto;	offset:24;	size:4;	signed:1;
+	field:int request_pending;	offset:28;	size:4;	signed:1;
+	field:int irq_safe;	offset:32;	size:4;	signed:1;
+	field:int child_count;	offset:36;	size:4;	signed:1;
+
+print fmt: "%s flags-%x cnt-%-2d dep-%-2d auto-%-1d p-%-1d irq-%-1d child-%d", __get_str(name), REC->flags, REC->usage_count, REC->disable_depth, REC->runtime_auto, REC->request_pending, REC->irq_safe, REC->child_count
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rpm/rpm_usage/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rpm/rpm_usage/format
new file mode 100644
index 0000000..2349716
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rpm/rpm_usage/format
@@ -0,0 +1,18 @@
+name: rpm_usage
+ID: 196
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:int flags;	offset:12;	size:4;	signed:1;
+	field:int usage_count;	offset:16;	size:4;	signed:1;
+	field:int disable_depth;	offset:20;	size:4;	signed:1;
+	field:int runtime_auto;	offset:24;	size:4;	signed:1;
+	field:int request_pending;	offset:28;	size:4;	signed:1;
+	field:int irq_safe;	offset:32;	size:4;	signed:1;
+	field:int child_count;	offset:36;	size:4;	signed:1;
+
+print fmt: "%s flags-%x cnt-%-2d dep-%-2d auto-%-1d p-%-1d irq-%-1d child-%d", __get_str(name), REC->flags, REC->usage_count, REC->disable_depth, REC->runtime_auto, REC->request_pending, REC->irq_safe, REC->child_count
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_alarm_irq_enable/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_alarm_irq_enable/format
new file mode 100644
index 0000000..4de7840
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_alarm_irq_enable/format
@@ -0,0 +1,12 @@
+name: rtc_alarm_irq_enable
+ID: 822
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int enabled;	offset:8;	size:4;	signed:0;
+	field:int err;	offset:12;	size:4;	signed:1;
+
+print fmt: "%s RTC alarm IRQ (%d)", REC->enabled ? "enable" : "disable", REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_irq_set_freq/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_irq_set_freq/format
new file mode 100644
index 0000000..ce0be9a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_irq_set_freq/format
@@ -0,0 +1,12 @@
+name: rtc_irq_set_freq
+ID: 823
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int freq;	offset:8;	size:4;	signed:1;
+	field:int err;	offset:12;	size:4;	signed:1;
+
+print fmt: "set RTC periodic IRQ frequency:%u (%d)", REC->freq, REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_irq_set_state/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_irq_set_state/format
new file mode 100644
index 0000000..ada4e3d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_irq_set_state/format
@@ -0,0 +1,12 @@
+name: rtc_irq_set_state
+ID: 824
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int enabled;	offset:8;	size:4;	signed:1;
+	field:int err;	offset:12;	size:4;	signed:1;
+
+print fmt: "%s RTC 2^N Hz periodic IRQs (%d)", REC->enabled ? "enable" : "disable", REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_read_alarm/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_read_alarm/format
new file mode 100644
index 0000000..97ac565
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_read_alarm/format
@@ -0,0 +1,12 @@
+name: rtc_read_alarm
+ID: 825
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:time64_t secs;	offset:8;	size:8;	signed:1;
+	field:int err;	offset:16;	size:4;	signed:1;
+
+print fmt: "UTC (%lld) (%d)", REC->secs, REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_read_offset/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_read_offset/format
new file mode 100644
index 0000000..7f534a0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_read_offset/format
@@ -0,0 +1,12 @@
+name: rtc_read_offset
+ID: 826
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:long offset;	offset:8;	size:8;	signed:1;
+	field:int err;	offset:16;	size:4;	signed:1;
+
+print fmt: "RTC offset: %ld (%d)", REC->offset, REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_read_time/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_read_time/format
new file mode 100644
index 0000000..00fde87
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_read_time/format
@@ -0,0 +1,12 @@
+name: rtc_read_time
+ID: 827
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:time64_t secs;	offset:8;	size:8;	signed:1;
+	field:int err;	offset:16;	size:4;	signed:1;
+
+print fmt: "UTC (%lld) (%d)", REC->secs, REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_set_alarm/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_set_alarm/format
new file mode 100644
index 0000000..e03e80c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_set_alarm/format
@@ -0,0 +1,12 @@
+name: rtc_set_alarm
+ID: 828
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:time64_t secs;	offset:8;	size:8;	signed:1;
+	field:int err;	offset:16;	size:4;	signed:1;
+
+print fmt: "UTC (%lld) (%d)", REC->secs, REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_set_offset/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_set_offset/format
new file mode 100644
index 0000000..037df88
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_set_offset/format
@@ -0,0 +1,12 @@
+name: rtc_set_offset
+ID: 829
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:long offset;	offset:8;	size:8;	signed:1;
+	field:int err;	offset:16;	size:4;	signed:1;
+
+print fmt: "RTC offset: %ld (%d)", REC->offset, REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_set_time/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_set_time/format
new file mode 100644
index 0000000..f980700
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_set_time/format
@@ -0,0 +1,12 @@
+name: rtc_set_time
+ID: 830
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:time64_t secs;	offset:8;	size:8;	signed:1;
+	field:int err;	offset:16;	size:4;	signed:1;
+
+print fmt: "UTC (%lld) (%d)", REC->secs, REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_timer_dequeue/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_timer_dequeue/format
new file mode 100644
index 0000000..0e69674
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_timer_dequeue/format
@@ -0,0 +1,13 @@
+name: rtc_timer_dequeue
+ID: 831
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct rtc_timer * timer;	offset:8;	size:8;	signed:0;
+	field:ktime_t expires;	offset:16;	size:8;	signed:1;
+	field:ktime_t period;	offset:24;	size:8;	signed:1;
+
+print fmt: "RTC timer:(%p) expires:%lld period:%lld", REC->timer, REC->expires, REC->period
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_timer_enqueue/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_timer_enqueue/format
new file mode 100644
index 0000000..f24615e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_timer_enqueue/format
@@ -0,0 +1,13 @@
+name: rtc_timer_enqueue
+ID: 832
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct rtc_timer * timer;	offset:8;	size:8;	signed:0;
+	field:ktime_t expires;	offset:16;	size:8;	signed:1;
+	field:ktime_t period;	offset:24;	size:8;	signed:1;
+
+print fmt: "RTC timer:(%p) expires:%lld period:%lld", REC->timer, REC->expires, REC->period
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_timer_fired/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_timer_fired/format
new file mode 100644
index 0000000..f830496
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rtc/rtc_timer_fired/format
@@ -0,0 +1,13 @@
+name: rtc_timer_fired
+ID: 833
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct rtc_timer * timer;	offset:8;	size:8;	signed:0;
+	field:ktime_t expires;	offset:16;	size:8;	signed:1;
+	field:ktime_t period;	offset:24;	size:8;	signed:1;
+
+print fmt: "RTC timer:(%p) expires:%lld period:%lld", REC->timer, REC->expires, REC->period
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rwmmio/rwmmio_post_read/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rwmmio/rwmmio_post_read/format
new file mode 100644
index 0000000..1a2d5a0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rwmmio/rwmmio_post_read/format
@@ -0,0 +1,15 @@
+name: rwmmio_post_read
+ID: 197
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u64 fn;	offset:8;	size:8;	signed:0;
+	field:u64 val;	offset:16;	size:8;	signed:0;
+	field:u8 width;	offset:24;	size:1;	signed:0;
+	field:u64 addr;	offset:32;	size:8;	signed:0;
+
+print fmt: "%llxS read addr=%llx of width=%x val=0x%llx
+", REC->fn, REC->addr, REC->width, REC->val
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rwmmio/rwmmio_read/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rwmmio/rwmmio_read/format
new file mode 100644
index 0000000..db62d44
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rwmmio/rwmmio_read/format
@@ -0,0 +1,14 @@
+name: rwmmio_read
+ID: 198
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u64 fn;	offset:8;	size:8;	signed:0;
+	field:u8 width;	offset:16;	size:1;	signed:0;
+	field:u64 addr;	offset:24;	size:8;	signed:0;
+
+print fmt: "%llxS read addr=%llx of width=%x
+", REC->fn, REC->addr, REC->width
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rwmmio/rwmmio_write/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rwmmio/rwmmio_write/format
new file mode 100644
index 0000000..8147584
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/rwmmio/rwmmio_write/format
@@ -0,0 +1,15 @@
+name: rwmmio_write
+ID: 199
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u64 fn;	offset:8;	size:8;	signed:0;
+	field:u64 val;	offset:16;	size:8;	signed:0;
+	field:u8 width;	offset:24;	size:1;	signed:0;
+	field:u64 addr;	offset:32;	size:8;	signed:0;
+
+print fmt: "%llxS write addr=%llx of width=%x val=0x%llx
+", REC->fn, REC->addr, REC->width, REC->val
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_blocked_reason/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_blocked_reason/format
new file mode 100644
index 0000000..b269fd6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_blocked_reason/format
@@ -0,0 +1,13 @@
+name: sched_blocked_reason
+ID: 84
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:pid_t pid;	offset:8;	size:4;	signed:1;
+	field:void* caller;	offset:16;	size:8;	signed:0;
+	field:bool io_wait;	offset:24;	size:1;	signed:0;
+
+print fmt: "pid=%d iowait=%d caller=%pS", REC->pid, REC->io_wait, REC->caller
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_cpu_capacity/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_cpu_capacity/format
new file mode 100644
index 0000000..a874540
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_cpu_capacity/format
@@ -0,0 +1,13 @@
+name: sched_cpu_capacity
+ID: 1059
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int cpu;	offset:8;	size:4;	signed:1;
+	field:unsigned long capacity;	offset:16;	size:8;	signed:0;
+	field:unsigned long capacity_orig;	offset:24;	size:8;	signed:0;
+
+print fmt: "cpu=%d capacity=%lu, capacity_orig=%lu", REC->cpu, REC->capacity, REC->capacity_orig
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_cpu_util/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_cpu_util/format
new file mode 100644
index 0000000..9254f69
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_cpu_util/format
@@ -0,0 +1,25 @@
+name: sched_cpu_util
+ID: 1060
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int cpu;	offset:8;	size:4;	signed:0;
+	field:unsigned int nr_running;	offset:12;	size:4;	signed:0;
+	field:unsigned long cpu_util;	offset:16;	size:8;	signed:0;
+	field:unsigned long capacity_curr;	offset:24;	size:8;	signed:0;
+	field:unsigned long capacity;	offset:32;	size:8;	signed:0;
+	field:unsigned long wake_util;	offset:40;	size:8;	signed:0;
+	field:unsigned long capacity_orig;	offset:48;	size:8;	signed:0;
+	field:int active;	offset:56;	size:4;	signed:1;
+	field:bool idle_cpu;	offset:60;	size:1;	signed:0;
+	field:unsigned long cpu_importance;	offset:64;	size:8;	signed:0;
+	field:unsigned long group_capacity;	offset:72;	size:8;	signed:0;
+	field:unsigned long wake_group_util;	offset:80;	size:8;	signed:0;
+	field:long spare_cap;	offset:88;	size:8;	signed:1;
+	field:unsigned long group_util;	offset:96;	size:8;	signed:0;
+	field:bool grp_overutilized;	offset:104;	size:1;	signed:0;
+
+print fmt: "cpu=%d nr_running=%d cpu_util=%llu capacity_curr=%llu capacity=%llu wake_util=%llu capacity_orig=%u active=%u idle_cpu=%d cpu_importance=%llu group_capacity=%llu wake_group_util=%llu spare_cap=%ld group_util=%lu grp_overutilized=%d", REC->cpu, REC->nr_running, REC->cpu_util, REC->capacity_curr, REC->capacity, REC->wake_util, REC->capacity_orig, REC->active, REC->idle_cpu, REC->cpu_importance, REC->group_capacity, REC->wake_group_util, REC->spare_cap, REC->group_util, REC->grp_overutilized
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_find_best_target/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_find_best_target/format
new file mode 100644
index 0000000..4280f7f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_find_best_target/format
@@ -0,0 +1,23 @@
+name: sched_find_best_target
+ID: 1061
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char comm[16];	offset:8;	size:16;	signed:0;
+	field:pid_t pid;	offset:24;	size:4;	signed:1;
+	field:unsigned long task_util;	offset:32;	size:8;	signed:0;
+	field:bool prefer_idle;	offset:40;	size:1;	signed:0;
+	field:bool prefer_high_cap;	offset:41;	size:1;	signed:0;
+	field:bool prefer_prev;	offset:42;	size:1;	signed:0;
+	field:bool sync_boost;	offset:43;	size:1;	signed:0;
+	field:int start_cpu;	offset:44;	size:4;	signed:1;
+	field:int best_idle;	offset:48;	size:4;	signed:1;
+	field:int best_active;	offset:52;	size:4;	signed:1;
+	field:int best_importance;	offset:56;	size:4;	signed:1;
+	field:int backup;	offset:60;	size:4;	signed:1;
+	field:int target;	offset:64;	size:4;	signed:1;
+
+print fmt: "pid=%d comm=%s task_util=%lu prefer_idle=%d prefer_high_cap=%d prefer_prev=%d sync_boost=%d start_cpu=%d best_idle=%d best_active=%d best_importance=%d backup=%d target=%d", REC->pid, REC->comm, REC->task_util, REC->prefer_idle, REC->prefer_high_cap, REC->prefer_prev, REC->sync_boost, REC->start_cpu, REC->best_idle, REC->best_active, REC->best_importance, REC->backup, REC->target
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_find_energy_efficient_cpu/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_find_energy_efficient_cpu/format
new file mode 100644
index 0000000..9dd791f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_find_energy_efficient_cpu/format
@@ -0,0 +1,19 @@
+name: sched_find_energy_efficient_cpu
+ID: 1062
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char comm[16];	offset:8;	size:16;	signed:0;
+	field:pid_t pid;	offset:24;	size:4;	signed:1;
+	field:bool sync_wakeup;	offset:28;	size:1;	signed:0;
+	field:int new_cpu;	offset:32;	size:4;	signed:1;
+	field:int best_energy_cpu;	offset:36;	size:4;	signed:1;
+	field:int prev_cpu;	offset:40;	size:4;	signed:1;
+	field:int group;	offset:44;	size:4;	signed:1;
+	field:int uclamp_min;	offset:48;	size:4;	signed:1;
+	field:int uclamp_max;	offset:52;	size:4;	signed:1;
+
+print fmt: "pid=%d comm=%s sync_wakeup=%d new_cpu=%d best_energy_cpu=%d prev_cpu=%d group=%d uclamp.min=%d uclamp.max=%d", REC->pid, REC->comm, REC->sync_wakeup, REC->new_cpu, REC->best_energy_cpu, REC->prev_cpu, REC->group, REC->uclamp_min, REC->uclamp_max
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_find_least_loaded_cpu/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_find_least_loaded_cpu/format
new file mode 100644
index 0000000..729a7d1
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_find_least_loaded_cpu/format
@@ -0,0 +1,23 @@
+name: sched_find_least_loaded_cpu
+ID: 1063
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char comm[16];	offset:8;	size:16;	signed:0;
+	field:pid_t pid;	offset:24;	size:4;	signed:1;
+	field:int group;	offset:28;	size:4;	signed:1;
+	field:unsigned long uclamp_min;	offset:32;	size:8;	signed:0;
+	field:unsigned long uclamp_max;	offset:40;	size:8;	signed:0;
+	field:bool check_cpu_overutilized;	offset:48;	size:1;	signed:0;
+	field:unsigned long min_cpu_util;	offset:56;	size:8;	signed:0;
+	field:unsigned long min_cpu_capacity;	offset:64;	size:8;	signed:0;
+	field:unsigned int min_exit_lat;	offset:72;	size:4;	signed:0;
+	field:int prev_cpu;	offset:76;	size:4;	signed:1;
+	field:int best_cpu;	offset:80;	size:4;	signed:1;
+	field:unsigned long lowest_mask;	offset:88;	size:8;	signed:0;
+	field:unsigned long backup_mask;	offset:96;	size:8;	signed:0;
+
+print fmt: "pid=%d comm=%s group=%d uclamp_min=%llu uclamp_max=%llu check_cpu_overutilized=%d min_cpu_util=%llu min_cpu_capacity=%llu min_exit_lat=%u prev_cpu=%d best_cpu=%d lowest_mask=0x%x backup_mask=0x%x", REC->pid, REC->comm, REC->group, REC->uclamp_min, REC->uclamp_max, REC->check_cpu_overutilized, REC->min_cpu_util, REC->min_cpu_capacity, REC->min_exit_lat, REC->prev_cpu, REC->best_cpu, REC->lowest_mask, REC->backup_mask
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_kthread_stop/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_kthread_stop/format
new file mode 100644
index 0000000..10d4077
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_kthread_stop/format
@@ -0,0 +1,12 @@
+name: sched_kthread_stop
+ID: 85
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char comm[16];	offset:8;	size:16;	signed:0;
+	field:pid_t pid;	offset:24;	size:4;	signed:1;
+
+print fmt: "comm=%s pid=%d", REC->comm, REC->pid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_kthread_stop_ret/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_kthread_stop_ret/format
new file mode 100644
index 0000000..389277e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_kthread_stop_ret/format
@@ -0,0 +1,11 @@
+name: sched_kthread_stop_ret
+ID: 86
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int ret;	offset:8;	size:4;	signed:1;
+
+print fmt: "ret=%d", REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_migrate_task/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_migrate_task/format
new file mode 100644
index 0000000..5c2b973
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_migrate_task/format
@@ -0,0 +1,16 @@
+name: sched_migrate_task
+ID: 87
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char comm[16];	offset:8;	size:16;	signed:0;
+	field:pid_t pid;	offset:24;	size:4;	signed:1;
+	field:int prio;	offset:28;	size:4;	signed:1;
+	field:int orig_cpu;	offset:32;	size:4;	signed:1;
+	field:int dest_cpu;	offset:36;	size:4;	signed:1;
+	field:int running;	offset:40;	size:4;	signed:1;
+
+print fmt: "comm=%s pid=%d prio=%d orig_cpu=%d dest_cpu=%d running=%d", REC->comm, REC->pid, REC->prio, REC->orig_cpu, REC->dest_cpu, REC->running
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_move_numa/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_move_numa/format
new file mode 100644
index 0000000..34418fb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_move_numa/format
@@ -0,0 +1,17 @@
+name: sched_move_numa
+ID: 88
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:pid_t pid;	offset:8;	size:4;	signed:1;
+	field:pid_t tgid;	offset:12;	size:4;	signed:1;
+	field:pid_t ngid;	offset:16;	size:4;	signed:1;
+	field:int src_cpu;	offset:20;	size:4;	signed:1;
+	field:int src_nid;	offset:24;	size:4;	signed:1;
+	field:int dst_cpu;	offset:28;	size:4;	signed:1;
+	field:int dst_nid;	offset:32;	size:4;	signed:1;
+
+print fmt: "pid=%d tgid=%d ngid=%d src_cpu=%d src_nid=%d dst_cpu=%d dst_nid=%d", REC->pid, REC->tgid, REC->ngid, REC->src_cpu, REC->src_nid, REC->dst_cpu, REC->dst_nid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_overutilized/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_overutilized/format
new file mode 100644
index 0000000..e513942
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_overutilized/format
@@ -0,0 +1,12 @@
+name: sched_overutilized
+ID: 1064
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int overutilized;	offset:8;	size:4;	signed:1;
+	field:char span[((((((32)-1) | ((__typeof__(32))((4)-1)))+1)/4) > 128 ? 128 : (((((32)-1) | ((__typeof__(32))((4)-1)))+1)/4))];	offset:12;	size:8;	signed:0;
+
+print fmt: "overutilized=%d span=0x%s", REC->overutilized, REC->span
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_pelt_cfs/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_pelt_cfs/format
new file mode 100644
index 0000000..9ff5dad
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_pelt_cfs/format
@@ -0,0 +1,15 @@
+name: sched_pelt_cfs
+ID: 1065
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int cpu;	offset:8;	size:4;	signed:1;
+	field:char path[64];	offset:12;	size:64;	signed:0;
+	field:unsigned long load;	offset:80;	size:8;	signed:0;
+	field:unsigned long runnable;	offset:88;	size:8;	signed:0;
+	field:unsigned long util;	offset:96;	size:8;	signed:0;
+
+print fmt: "cpu=%d path=%s load=%lu runnable=%lu util=%lu", REC->cpu, REC->path, REC->load, REC->runnable,REC->util
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_pelt_dl/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_pelt_dl/format
new file mode 100644
index 0000000..4f258e7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_pelt_dl/format
@@ -0,0 +1,14 @@
+name: sched_pelt_dl
+ID: 1066
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int cpu;	offset:8;	size:4;	signed:1;
+	field:unsigned long load;	offset:16;	size:8;	signed:0;
+	field:unsigned long runnable;	offset:24;	size:8;	signed:0;
+	field:unsigned long util;	offset:32;	size:8;	signed:0;
+
+print fmt: "cpu=%d load=%lu runnable=%lu util=%lu", REC->cpu, REC->load, REC->runnable,REC->util
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_pelt_irq/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_pelt_irq/format
new file mode 100644
index 0000000..297096f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_pelt_irq/format
@@ -0,0 +1,14 @@
+name: sched_pelt_irq
+ID: 1067
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int cpu;	offset:8;	size:4;	signed:1;
+	field:unsigned long load;	offset:16;	size:8;	signed:0;
+	field:unsigned long runnable;	offset:24;	size:8;	signed:0;
+	field:unsigned long util;	offset:32;	size:8;	signed:0;
+
+print fmt: "cpu=%d load=%lu runnable=%lu util=%lu", REC->cpu, REC->load, REC->runnable,REC->util
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_pelt_rt/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_pelt_rt/format
new file mode 100644
index 0000000..6f66313
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_pelt_rt/format
@@ -0,0 +1,14 @@
+name: sched_pelt_rt
+ID: 1068
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int cpu;	offset:8;	size:4;	signed:1;
+	field:unsigned long load;	offset:16;	size:8;	signed:0;
+	field:unsigned long runnable;	offset:24;	size:8;	signed:0;
+	field:unsigned long util;	offset:32;	size:8;	signed:0;
+
+print fmt: "cpu=%d load=%lu runnable=%lu util=%lu", REC->cpu, REC->load, REC->runnable,REC->util
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_pelt_se/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_pelt_se/format
new file mode 100644
index 0000000..adc8295
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_pelt_se/format
@@ -0,0 +1,18 @@
+name: sched_pelt_se
+ID: 1069
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int cpu;	offset:8;	size:4;	signed:1;
+	field:char path[64];	offset:12;	size:64;	signed:0;
+	field:char comm[16];	offset:76;	size:16;	signed:0;
+	field:int pid;	offset:92;	size:4;	signed:1;
+	field:unsigned long load;	offset:96;	size:8;	signed:0;
+	field:unsigned long runnable;	offset:104;	size:8;	signed:0;
+	field:unsigned long util;	offset:112;	size:8;	signed:0;
+	field:unsigned long long update_time;	offset:120;	size:8;	signed:0;
+
+print fmt: "cpu=%d path=%s comm=%s pid=%d load=%lu runnable=%lu util=%lu update_time=%llu", REC->cpu, REC->path, REC->comm, REC->pid, REC->load, REC->runnable,REC->util, REC->update_time
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_pi_setprio/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_pi_setprio/format
new file mode 100644
index 0000000..00407e0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_pi_setprio/format
@@ -0,0 +1,14 @@
+name: sched_pi_setprio
+ID: 89
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char comm[16];	offset:8;	size:16;	signed:0;
+	field:pid_t pid;	offset:24;	size:4;	signed:1;
+	field:int oldprio;	offset:28;	size:4;	signed:1;
+	field:int newprio;	offset:32;	size:4;	signed:1;
+
+print fmt: "comm=%s pid=%d oldprio=%d newprio=%d", REC->comm, REC->pid, REC->oldprio, REC->newprio
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_process_exec/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_process_exec/format
new file mode 100644
index 0000000..2e39bac
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_process_exec/format
@@ -0,0 +1,13 @@
+name: sched_process_exec
+ID: 90
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] filename;	offset:8;	size:4;	signed:0;
+	field:pid_t pid;	offset:12;	size:4;	signed:1;
+	field:pid_t old_pid;	offset:16;	size:4;	signed:1;
+
+print fmt: "filename=%s pid=%d old_pid=%d", __get_str(filename), REC->pid, REC->old_pid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_process_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_process_exit/format
new file mode 100644
index 0000000..cc39130
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_process_exit/format
@@ -0,0 +1,13 @@
+name: sched_process_exit
+ID: 91
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char comm[16];	offset:8;	size:16;	signed:0;
+	field:pid_t pid;	offset:24;	size:4;	signed:1;
+	field:int prio;	offset:28;	size:4;	signed:1;
+
+print fmt: "comm=%s pid=%d prio=%d", REC->comm, REC->pid, REC->prio
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_process_fork/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_process_fork/format
new file mode 100644
index 0000000..9290061
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_process_fork/format
@@ -0,0 +1,14 @@
+name: sched_process_fork
+ID: 92
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char parent_comm[16];	offset:8;	size:16;	signed:0;
+	field:pid_t parent_pid;	offset:24;	size:4;	signed:1;
+	field:char child_comm[16];	offset:28;	size:16;	signed:0;
+	field:pid_t child_pid;	offset:44;	size:4;	signed:1;
+
+print fmt: "comm=%s pid=%d child_comm=%s child_pid=%d", REC->parent_comm, REC->parent_pid, REC->child_comm, REC->child_pid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_process_free/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_process_free/format
new file mode 100644
index 0000000..d2496e9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_process_free/format
@@ -0,0 +1,13 @@
+name: sched_process_free
+ID: 93
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char comm[16];	offset:8;	size:16;	signed:0;
+	field:pid_t pid;	offset:24;	size:4;	signed:1;
+	field:int prio;	offset:28;	size:4;	signed:1;
+
+print fmt: "comm=%s pid=%d prio=%d", REC->comm, REC->pid, REC->prio
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_process_hang/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_process_hang/format
new file mode 100644
index 0000000..88f48c2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_process_hang/format
@@ -0,0 +1,12 @@
+name: sched_process_hang
+ID: 94
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char comm[16];	offset:8;	size:16;	signed:0;
+	field:pid_t pid;	offset:24;	size:4;	signed:1;
+
+print fmt: "comm=%s pid=%d", REC->comm, REC->pid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_process_wait/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_process_wait/format
new file mode 100644
index 0000000..73efadf
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_process_wait/format
@@ -0,0 +1,13 @@
+name: sched_process_wait
+ID: 95
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char comm[16];	offset:8;	size:16;	signed:0;
+	field:pid_t pid;	offset:24;	size:4;	signed:1;
+	field:int prio;	offset:28;	size:4;	signed:1;
+
+print fmt: "comm=%s pid=%d prio=%d", REC->comm, REC->pid, REC->prio
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_rt_cpu_util/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_rt_cpu_util/format
new file mode 100644
index 0000000..ecde84c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_rt_cpu_util/format
@@ -0,0 +1,15 @@
+name: sched_rt_cpu_util
+ID: 1070
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int cpu;	offset:8;	size:4;	signed:1;
+	field:unsigned long capacity;	offset:16;	size:8;	signed:0;
+	field:unsigned long util;	offset:24;	size:8;	signed:0;
+	field:unsigned long exit_lat;	offset:32;	size:8;	signed:0;
+	field:unsigned long cpu_importance;	offset:40;	size:8;	signed:0;
+
+print fmt: "cpu=%d capacity=%llu util=%llu exit_lat=%llu cpu_importance=%llu", REC->cpu, REC->capacity, REC->util, REC->exit_lat, REC->cpu_importance
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_select_task_rq_rt/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_select_task_rq_rt/format
new file mode 100644
index 0000000..d540427
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_select_task_rq_rt/format
@@ -0,0 +1,16 @@
+name: sched_select_task_rq_rt
+ID: 1071
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char comm[16];	offset:8;	size:16;	signed:0;
+	field:pid_t pid;	offset:24;	size:4;	signed:1;
+	field:int prev_cpu;	offset:28;	size:4;	signed:1;
+	field:int target;	offset:32;	size:4;	signed:1;
+	field:int new_cpu;	offset:36;	size:4;	signed:1;
+	field:bool sync_wakeup;	offset:40;	size:1;	signed:0;
+
+print fmt: "pid=%d comm=%s prev_cpu=%d target=%d new_cpu=%d sync_wakeup=%d", REC->pid, REC->comm, REC->prev_cpu, REC->target, REC->new_cpu, REC->sync_wakeup
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_setscheduler_uclamp/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_setscheduler_uclamp/format
new file mode 100644
index 0000000..9a4787b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_setscheduler_uclamp/format
@@ -0,0 +1,14 @@
+name: sched_setscheduler_uclamp
+ID: 1072
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char comm[16];	offset:8;	size:16;	signed:0;
+	field:pid_t pid;	offset:24;	size:4;	signed:1;
+	field:int clamp_id;	offset:28;	size:4;	signed:1;
+	field:unsigned int value;	offset:32;	size:4;	signed:0;
+
+print fmt: "pid=%d comm=%s clamp_id=%d, value=%u", REC->pid, REC->comm, REC->clamp_id, REC->value
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_stat_blocked/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_stat_blocked/format
new file mode 100644
index 0000000..df5174c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_stat_blocked/format
@@ -0,0 +1,13 @@
+name: sched_stat_blocked
+ID: 96
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char comm[16];	offset:8;	size:16;	signed:0;
+	field:pid_t pid;	offset:24;	size:4;	signed:1;
+	field:u64 delay;	offset:32;	size:8;	signed:0;
+
+print fmt: "comm=%s pid=%d delay=%Lu [ns]", REC->comm, REC->pid, (unsigned long long)REC->delay
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_stat_iowait/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_stat_iowait/format
new file mode 100644
index 0000000..785c214
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_stat_iowait/format
@@ -0,0 +1,13 @@
+name: sched_stat_iowait
+ID: 97
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char comm[16];	offset:8;	size:16;	signed:0;
+	field:pid_t pid;	offset:24;	size:4;	signed:1;
+	field:u64 delay;	offset:32;	size:8;	signed:0;
+
+print fmt: "comm=%s pid=%d delay=%Lu [ns]", REC->comm, REC->pid, (unsigned long long)REC->delay
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_stat_runtime/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_stat_runtime/format
new file mode 100644
index 0000000..b36db46
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_stat_runtime/format
@@ -0,0 +1,14 @@
+name: sched_stat_runtime
+ID: 98
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char comm[16];	offset:8;	size:16;	signed:0;
+	field:pid_t pid;	offset:24;	size:4;	signed:1;
+	field:u64 runtime;	offset:32;	size:8;	signed:0;
+	field:u64 vruntime;	offset:40;	size:8;	signed:0;
+
+print fmt: "comm=%s pid=%d runtime=%Lu [ns] vruntime=%Lu [ns]", REC->comm, REC->pid, (unsigned long long)REC->runtime, (unsigned long long)REC->vruntime
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_stat_sleep/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_stat_sleep/format
new file mode 100644
index 0000000..2083810
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_stat_sleep/format
@@ -0,0 +1,13 @@
+name: sched_stat_sleep
+ID: 99
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char comm[16];	offset:8;	size:16;	signed:0;
+	field:pid_t pid;	offset:24;	size:4;	signed:1;
+	field:u64 delay;	offset:32;	size:8;	signed:0;
+
+print fmt: "comm=%s pid=%d delay=%Lu [ns]", REC->comm, REC->pid, (unsigned long long)REC->delay
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_stat_wait/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_stat_wait/format
new file mode 100644
index 0000000..5497bd1
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_stat_wait/format
@@ -0,0 +1,13 @@
+name: sched_stat_wait
+ID: 100
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char comm[16];	offset:8;	size:16;	signed:0;
+	field:pid_t pid;	offset:24;	size:4;	signed:1;
+	field:u64 delay;	offset:32;	size:8;	signed:0;
+
+print fmt: "comm=%s pid=%d delay=%Lu [ns]", REC->comm, REC->pid, (unsigned long long)REC->delay
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_stick_numa/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_stick_numa/format
new file mode 100644
index 0000000..747a276
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_stick_numa/format
@@ -0,0 +1,20 @@
+name: sched_stick_numa
+ID: 101
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:pid_t src_pid;	offset:8;	size:4;	signed:1;
+	field:pid_t src_tgid;	offset:12;	size:4;	signed:1;
+	field:pid_t src_ngid;	offset:16;	size:4;	signed:1;
+	field:int src_cpu;	offset:20;	size:4;	signed:1;
+	field:int src_nid;	offset:24;	size:4;	signed:1;
+	field:pid_t dst_pid;	offset:28;	size:4;	signed:1;
+	field:pid_t dst_tgid;	offset:32;	size:4;	signed:1;
+	field:pid_t dst_ngid;	offset:36;	size:4;	signed:1;
+	field:int dst_cpu;	offset:40;	size:4;	signed:1;
+	field:int dst_nid;	offset:44;	size:4;	signed:1;
+
+print fmt: "src_pid=%d src_tgid=%d src_ngid=%d src_cpu=%d src_nid=%d dst_pid=%d dst_tgid=%d dst_ngid=%d dst_cpu=%d dst_nid=%d", REC->src_pid, REC->src_tgid, REC->src_ngid, REC->src_cpu, REC->src_nid, REC->dst_pid, REC->dst_tgid, REC->dst_ngid, REC->dst_cpu, REC->dst_nid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_swap_numa/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_swap_numa/format
new file mode 100644
index 0000000..ac88bc2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_swap_numa/format
@@ -0,0 +1,20 @@
+name: sched_swap_numa
+ID: 102
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:pid_t src_pid;	offset:8;	size:4;	signed:1;
+	field:pid_t src_tgid;	offset:12;	size:4;	signed:1;
+	field:pid_t src_ngid;	offset:16;	size:4;	signed:1;
+	field:int src_cpu;	offset:20;	size:4;	signed:1;
+	field:int src_nid;	offset:24;	size:4;	signed:1;
+	field:pid_t dst_pid;	offset:28;	size:4;	signed:1;
+	field:pid_t dst_tgid;	offset:32;	size:4;	signed:1;
+	field:pid_t dst_ngid;	offset:36;	size:4;	signed:1;
+	field:int dst_cpu;	offset:40;	size:4;	signed:1;
+	field:int dst_nid;	offset:44;	size:4;	signed:1;
+
+print fmt: "src_pid=%d src_tgid=%d src_ngid=%d src_cpu=%d src_nid=%d dst_pid=%d dst_tgid=%d dst_ngid=%d dst_cpu=%d dst_nid=%d", REC->src_pid, REC->src_tgid, REC->src_ngid, REC->src_cpu, REC->src_nid, REC->dst_pid, REC->dst_tgid, REC->dst_ngid, REC->dst_cpu, REC->dst_nid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_switch/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_switch/format
new file mode 100644
index 0000000..571c4f9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_switch/format
@@ -0,0 +1,17 @@
+name: sched_switch
+ID: 103
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char prev_comm[16];	offset:8;	size:16;	signed:0;
+	field:pid_t prev_pid;	offset:24;	size:4;	signed:1;
+	field:int prev_prio;	offset:28;	size:4;	signed:1;
+	field:long prev_state;	offset:32;	size:8;	signed:1;
+	field:char next_comm[16];	offset:40;	size:16;	signed:0;
+	field:pid_t next_pid;	offset:56;	size:4;	signed:1;
+	field:int next_prio;	offset:60;	size:4;	signed:1;
+
+print fmt: "prev_comm=%s prev_pid=%d prev_prio=%d prev_state=%s%s ==> next_comm=%s next_pid=%d next_prio=%d", REC->prev_comm, REC->prev_pid, REC->prev_prio, (REC->prev_state & ((((0x0000 | 0x0001 | 0x0002 | 0x0004 | 0x0008 | 0x0010 | 0x0020 | 0x0040) + 1) << 1) - 1)) ? __print_flags(REC->prev_state & ((((0x0000 | 0x0001 | 0x0002 | 0x0004 | 0x0008 | 0x0010 | 0x0020 | 0x0040) + 1) << 1) - 1), "|", { 0x0001, "S" }, { 0x0002, "D" }, { 0x0004, "T" }, { 0x0008, "t" }, { 0x0010, "X" }, { 0x0020, "Z" }, { 0x0040, "P" }, { 0x0080, "I" }) : "R", REC->prev_state & (((0x0000 | 0x0001 | 0x0002 | 0x0004 | 0x0008 | 0x0010 | 0x0020 | 0x0040) + 1) << 1) ? "+" : "", REC->next_comm, REC->next_pid, REC->next_prio
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_util_est_cfs/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_util_est_cfs/format
new file mode 100644
index 0000000..29d0bb8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_util_est_cfs/format
@@ -0,0 +1,15 @@
+name: sched_util_est_cfs
+ID: 1073
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int cpu;	offset:8;	size:4;	signed:1;
+	field:char path[64];	offset:12;	size:64;	signed:0;
+	field:unsigned int enqueued;	offset:76;	size:4;	signed:0;
+	field:unsigned int ewma;	offset:80;	size:4;	signed:0;
+	field:unsigned long util;	offset:88;	size:8;	signed:0;
+
+print fmt: "cpu=%d path=%s enqueued=%u ewma=%u util=%lu", REC->cpu, REC->path, REC->enqueued, REC->ewma, REC->util
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_util_est_se/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_util_est_se/format
new file mode 100644
index 0000000..b3babd5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_util_est_se/format
@@ -0,0 +1,17 @@
+name: sched_util_est_se
+ID: 1074
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int cpu;	offset:8;	size:4;	signed:1;
+	field:char path[64];	offset:12;	size:64;	signed:0;
+	field:char comm[16];	offset:76;	size:16;	signed:0;
+	field:int pid;	offset:92;	size:4;	signed:1;
+	field:unsigned int enqueued;	offset:96;	size:4;	signed:0;
+	field:unsigned int ewma;	offset:100;	size:4;	signed:0;
+	field:unsigned long util;	offset:104;	size:8;	signed:0;
+
+print fmt: "cpu=%d path=%s comm=%s pid=%d enqueued=%u ewma=%u util=%lu", REC->cpu, REC->path, REC->comm, REC->pid, REC->enqueued, REC->ewma, REC->util
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_wait_task/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_wait_task/format
new file mode 100644
index 0000000..a4695ef
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_wait_task/format
@@ -0,0 +1,13 @@
+name: sched_wait_task
+ID: 104
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char comm[16];	offset:8;	size:16;	signed:0;
+	field:pid_t pid;	offset:24;	size:4;	signed:1;
+	field:int prio;	offset:28;	size:4;	signed:1;
+
+print fmt: "comm=%s pid=%d prio=%d", REC->comm, REC->pid, REC->prio
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_wake_idle_without_ipi/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_wake_idle_without_ipi/format
new file mode 100644
index 0000000..00fd416
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_wake_idle_without_ipi/format
@@ -0,0 +1,11 @@
+name: sched_wake_idle_without_ipi
+ID: 105
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int cpu;	offset:8;	size:4;	signed:1;
+
+print fmt: "cpu=%d", REC->cpu
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_wakeup/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_wakeup/format
new file mode 100644
index 0000000..64990c1
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_wakeup/format
@@ -0,0 +1,15 @@
+name: sched_wakeup
+ID: 106
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char comm[16];	offset:8;	size:16;	signed:0;
+	field:pid_t pid;	offset:24;	size:4;	signed:1;
+	field:int prio;	offset:28;	size:4;	signed:1;
+	field:int success;	offset:32;	size:4;	signed:1;
+	field:int target_cpu;	offset:36;	size:4;	signed:1;
+
+print fmt: "comm=%s pid=%d prio=%d target_cpu=%03d", REC->comm, REC->pid, REC->prio, REC->target_cpu
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_wakeup_new/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_wakeup_new/format
new file mode 100644
index 0000000..e98f5d4
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_wakeup_new/format
@@ -0,0 +1,15 @@
+name: sched_wakeup_new
+ID: 107
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char comm[16];	offset:8;	size:16;	signed:0;
+	field:pid_t pid;	offset:24;	size:4;	signed:1;
+	field:int prio;	offset:28;	size:4;	signed:1;
+	field:int success;	offset:32;	size:4;	signed:1;
+	field:int target_cpu;	offset:36;	size:4;	signed:1;
+
+print fmt: "comm=%s pid=%d prio=%d target_cpu=%03d", REC->comm, REC->pid, REC->prio, REC->target_cpu
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_waking/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_waking/format
new file mode 100644
index 0000000..9eee914
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sched_waking/format
@@ -0,0 +1,15 @@
+name: sched_waking
+ID: 108
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char comm[16];	offset:8;	size:16;	signed:0;
+	field:pid_t pid;	offset:24;	size:4;	signed:1;
+	field:int prio;	offset:28;	size:4;	signed:1;
+	field:int success;	offset:32;	size:4;	signed:1;
+	field:int target_cpu;	offset:36;	size:4;	signed:1;
+
+print fmt: "comm=%s pid=%d prio=%d target_cpu=%03d", REC->comm, REC->pid, REC->prio, REC->target_cpu
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/schedutil_cpu_util_clamp/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/schedutil_cpu_util_clamp/format
new file mode 100644
index 0000000..0e0eca7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/schedutil_cpu_util_clamp/format
@@ -0,0 +1,15 @@
+name: schedutil_cpu_util_clamp
+ID: 1075
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int cpu;	offset:8;	size:4;	signed:1;
+	field:unsigned long util_cfs;	offset:16;	size:8;	signed:0;
+	field:unsigned long util_rt;	offset:24;	size:8;	signed:0;
+	field:unsigned long util_clamp;	offset:32;	size:8;	signed:0;
+	field:unsigned long util_max;	offset:40;	size:8;	signed:0;
+
+print fmt: "cpu=%d util_cfs=%ld util_rt=%ld util_clamp=%ld util_max=%ld", REC->cpu, REC->util_cfs, REC->util_rt, REC->util_clamp, REC->util_max
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sugov_next_freq/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sugov_next_freq/format
new file mode 100644
index 0000000..09566a6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sugov_next_freq/format
@@ -0,0 +1,14 @@
+name: sugov_next_freq
+ID: 1076
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int cpu;	offset:8;	size:4;	signed:0;
+	field:unsigned long util;	offset:16;	size:8;	signed:0;
+	field:unsigned long max;	offset:24;	size:8;	signed:0;
+	field:unsigned int freq;	offset:32;	size:4;	signed:0;
+
+print fmt: "cpu=%u util=%lu max=%lu freq=%u", REC->cpu, REC->util, REC->max, REC->freq
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sugov_util_update/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sugov_util_update/format
new file mode 100644
index 0000000..936e186
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sched/sugov_util_update/format
@@ -0,0 +1,14 @@
+name: sugov_util_update
+ID: 1077
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int cpu;	offset:8;	size:4;	signed:0;
+	field:unsigned long util;	offset:16;	size:8;	signed:0;
+	field:unsigned long max_cap;	offset:24;	size:8;	signed:0;
+	field:unsigned int flags;	offset:32;	size:4;	signed:0;
+
+print fmt: "cpu=%u util=%lu max_cap=%lu flags=0x%x", REC->cpu, REC->util, REC->max_cap, REC->flags
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/scmi/scmi_rx_done/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/scmi/scmi_rx_done/format
new file mode 100644
index 0000000..01d4321
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/scmi/scmi_rx_done/format
@@ -0,0 +1,15 @@
+name: scmi_rx_done
+ID: 863
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int transfer_id;	offset:8;	size:4;	signed:1;
+	field:u8 msg_id;	offset:12;	size:1;	signed:0;
+	field:u8 protocol_id;	offset:13;	size:1;	signed:0;
+	field:u16 seq;	offset:14;	size:2;	signed:0;
+	field:u8 msg_type;	offset:16;	size:1;	signed:0;
+
+print fmt: "transfer_id=%d msg_id=%u protocol_id=%u seq=%u msg_type=%u", REC->transfer_id, REC->msg_id, REC->protocol_id, REC->seq, REC->msg_type
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/scmi/scmi_xfer_begin/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/scmi/scmi_xfer_begin/format
new file mode 100644
index 0000000..9e5d0ec
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/scmi/scmi_xfer_begin/format
@@ -0,0 +1,15 @@
+name: scmi_xfer_begin
+ID: 864
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int transfer_id;	offset:8;	size:4;	signed:1;
+	field:u8 msg_id;	offset:12;	size:1;	signed:0;
+	field:u8 protocol_id;	offset:13;	size:1;	signed:0;
+	field:u16 seq;	offset:14;	size:2;	signed:0;
+	field:bool poll;	offset:16;	size:1;	signed:0;
+
+print fmt: "transfer_id=%d msg_id=%u protocol_id=%u seq=%u poll=%u", REC->transfer_id, REC->msg_id, REC->protocol_id, REC->seq, REC->poll
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/scmi/scmi_xfer_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/scmi/scmi_xfer_end/format
new file mode 100644
index 0000000..cb60a68
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/scmi/scmi_xfer_end/format
@@ -0,0 +1,15 @@
+name: scmi_xfer_end
+ID: 865
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int transfer_id;	offset:8;	size:4;	signed:1;
+	field:u8 msg_id;	offset:12;	size:1;	signed:0;
+	field:u8 protocol_id;	offset:13;	size:1;	signed:0;
+	field:u16 seq;	offset:14;	size:2;	signed:0;
+	field:int status;	offset:16;	size:4;	signed:1;
+
+print fmt: "transfer_id=%d msg_id=%u protocol_id=%u seq=%u status=%d", REC->transfer_id, REC->msg_id, REC->protocol_id, REC->seq, REC->status
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/scsi/scsi_dispatch_cmd_done/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/scsi/scsi_dispatch_cmd_done/format
new file mode 100644
index 0000000..dbd9669
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/scsi/scsi_dispatch_cmd_done/format
@@ -0,0 +1,21 @@
+name: scsi_dispatch_cmd_done
+ID: 693
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int host_no;	offset:8;	size:4;	signed:0;
+	field:unsigned int channel;	offset:12;	size:4;	signed:0;
+	field:unsigned int id;	offset:16;	size:4;	signed:0;
+	field:unsigned int lun;	offset:20;	size:4;	signed:0;
+	field:int result;	offset:24;	size:4;	signed:1;
+	field:unsigned int opcode;	offset:28;	size:4;	signed:0;
+	field:unsigned int cmd_len;	offset:32;	size:4;	signed:0;
+	field:unsigned int data_sglen;	offset:36;	size:4;	signed:0;
+	field:unsigned int prot_sglen;	offset:40;	size:4;	signed:0;
+	field:unsigned char prot_op;	offset:44;	size:1;	signed:0;
+	field:__data_loc unsigned char[] cmnd;	offset:48;	size:4;	signed:0;
+
+print fmt: "host_no=%u channel=%u id=%u lun=%u data_sgl=%u prot_sgl=%u prot_op=%s cmnd=(%s %s raw=%s) result=(driver=%s host=%s message=%s status=%s)", REC->host_no, REC->channel, REC->id, REC->lun, REC->data_sglen, REC->prot_sglen, __print_symbolic(REC->prot_op, { SCSI_PROT_NORMAL, "SCSI_PROT_NORMAL" }, { SCSI_PROT_READ_INSERT, "SCSI_PROT_READ_INSERT" }, { SCSI_PROT_WRITE_STRIP, "SCSI_PROT_WRITE_STRIP" }, { SCSI_PROT_READ_STRIP, "SCSI_PROT_READ_STRIP" }, { SCSI_PROT_WRITE_INSERT, "SCSI_PROT_WRITE_INSERT" }, { SCSI_PROT_READ_PASS, "SCSI_PROT_READ_PASS" }, { SCSI_PROT_WRITE_PASS, "SCSI_PROT_WRITE_PASS" }), __print_symbolic(REC->opcode, { 0x00, "TEST_UNIT_READY" }, { 0x01, "REZERO_UNIT" }, { 0x03, "REQUEST_SENSE" }, { 0x04, "FORMAT_UNIT" }, { 0x05, "READ_BLOCK_LIMITS" }, { 0x07, "REASSIGN_BLOCKS" }, { 0x07, "INITIALIZE_ELEMENT_STATUS" }, { 0x08, "READ_6" }, { 0x0a, "WRITE_6" }, { 0x0b, "SEEK_6" }, { 0x0f, "READ_REVERSE" }, { 0x10, "WRITE_FILEMARKS" }, { 0x11, "SPACE" }, { 0x12, "INQUIRY" }, { 0x14, "RECOVER_BUFFERED_DATA" }, { 0x15, "MODE_SELECT" }, { 0x16, "RESERVE" }, { 0x17, "RELEASE" }, { 0x18, "COPY" }, { 0x19, "ERASE" }, { 0x1a, "MODE_SENSE" }, { 0x1b, "START_STOP" }, { 0x1c, "RECEIVE_DIAGNOSTIC" }, { 0x1d, "SEND_DIAGNOSTIC" }, { 0x1e, "ALLOW_MEDIUM_REMOVAL" }, { 0x24, "SET_WINDOW" }, { 0x25, "READ_CAPACITY" }, { 0x28, "READ_10" }, { 0x2a, "WRITE_10" }, { 0x2b, "SEEK_10" }, { 0x2b, "POSITION_TO_ELEMENT" }, { 0x2e, "WRITE_VERIFY" }, { 0x2f, "VERIFY" }, { 0x30, "SEARCH_HIGH" }, { 0x31, "SEARCH_EQUAL" }, { 0x32, "SEARCH_LOW" }, { 0x33, "SET_LIMITS" }, { 0x34, "PRE_FETCH" }, { 0x34, "READ_POSITION" }, { 0x35, "SYNCHRONIZE_CACHE" }, { 0x36, "LOCK_UNLOCK_CACHE" }, { 0x37, "READ_DEFECT_DATA" }, { 0x38, "MEDIUM_SCAN" }, { 0x39, "COMPARE" }, { 0x3a, "COPY_VERIFY" }, { 0x3b, "WRITE_BUFFER" }, { 0x3c, "READ_BUFFER" }, { 0x3d, "UPDATE_BLOCK" }, { 0x3e, "READ_LONG" }, { 0x3f, "WRITE_LONG" }, { 0x40, "CHANGE_DEFINITION" }, { 0x41, "WRITE_SAME" }, { 0x42, "UNMAP" }, { 0x43, "READ_TOC" }, { 0x4c, "LOG_SELECT" }, { 0x4d, "LOG_SENSE" }, { 0x53, "XDWRITEREAD_10" }, { 0x55, "MODE_SELECT_10" }, { 0x56, "RESERVE_10" }, { 0x57, "RELEASE_10" }, { 0x5a, "MODE_SENSE_10" }, { 0x5e, "PERSISTENT_RESERVE_IN" }, { 0x5f, "PERSISTENT_RESERVE_OUT" }, { 0x7f, "VARIABLE_LENGTH_CMD" }, { 0xa0, "REPORT_LUNS" }, { 0xa3, "MAINTENANCE_IN" }, { 0xa4, "MAINTENANCE_OUT" }, { 0xa5, "MOVE_MEDIUM" }, { 0xa6, "EXCHANGE_MEDIUM" }, { 0xa8, "READ_12" }, { 0xaa, "WRITE_12" }, { 0xae, "WRITE_VERIFY_12" }, { 0xb0, "SEARCH_HIGH_12" }, { 0xb1, "SEARCH_EQUAL_12" }, { 0xb2, "SEARCH_LOW_12" }, { 0xb8, "READ_ELEMENT_STATUS" }, { 0xb6, "SEND_VOLUME_TAG" }, { 0xea, "WRITE_LONG_2" }, { 0x88, "READ_16" }, { 0x8a, "WRITE_16" }, { 0x8f, "VERIFY_16" }, { 0x93, "WRITE_SAME_16" }, { 0x94, "ZBC_OUT" }, { 0x95, "ZBC_IN" }, { 0x9e, "SERVICE_ACTION_IN_16" }, { 0x09, "READ_32" }, { 0x0b, "WRITE_32" }, { 0x0d, "WRITE_SAME_32" }, { 0x85, "ATA_16" }, { 0xa1, "ATA_12" }), scsi_trace_parse_cdb(p, __get_dynamic_array(cmnd), REC->cmd_len), __print_hex(__get_dynamic_array(cmnd), REC->cmd_len), __print_symbolic(((REC->result) >> 24) & 0xff, { 0x00, "DRIVER_OK" }, { 0x01, "DRIVER_BUSY" }, { 0x02, "DRIVER_SOFT" }, { 0x03, "DRIVER_MEDIA" }, { 0x04, "DRIVER_ERROR" }, { 0x05, "DRIVER_INVALID" }, { 0x06, "DRIVER_TIMEOUT" }, { 0x07, "DRIVER_HARD" }, { 0x08, "DRIVER_SENSE" }), __print_symbolic(((REC->result) >> 16) & 0xff, { 0x00, "DID_OK" }, { 0x01, "DID_NO_CONNECT" }, { 0x02, "DID_BUS_BUSY" }, { 0x03, "DID_TIME_OUT" }, { 0x04, "DID_BAD_TARGET" }, { 0x05, "DID_ABORT" }, { 0x06, "DID_PARITY" }, { 0x07, "DID_ERROR" }, { 0x08, "DID_RESET" }, { 0x09, "DID_BAD_INTR" }, { 0x0a, "DID_PASSTHROUGH" }, { 0x0b, "DID_SOFT_ERROR" }, { 0x0c, "DID_IMM_RETRY" }, { 0x0d, "DID_REQUEUE" }, { 0x0e, "DID_TRANSPORT_DISRUPTED" }, { 0x0f, "DID_TRANSPORT_FAILFAST" }), __print_symbolic(((REC->result) >> 8) & 0xff, { 0x00, "COMMAND_COMPLETE" }, { 0x01, "EXTENDED_MESSAGE" }, { 0x02, "SAVE_POINTERS" }, { 0x03, "RESTORE_POINTERS" }, { 0x04, "DISCONNECT" }, { 0x05, "INITIATOR_ERROR" }, { 0x06, "ABORT_TASK_SET" }, { 0x07, "MESSAGE_REJECT" }, { 0x08, "NOP" }, { 0x09, "MSG_PARITY_ERROR" }, { 0x0a, "LINKED_CMD_COMPLETE" }, { 0x0b, "LINKED_FLG_CMD_COMPLETE" }, { 0x0c, "TARGET_RESET" }, { 0x0d, "ABORT_TASK" }, { 0x0e, "CLEAR_TASK_SET" }, { 0x0f, "INITIATE_RECOVERY" }, { 0x10, "RELEASE_RECOVERY" }, { 0x16, "CLEAR_ACA" }, { 0x17, "LOGICAL_UNIT_RESET" }, { 0x20, "SIMPLE_QUEUE_TAG" }, { 0x21, "HEAD_OF_QUEUE_TAG" }, { 0x22, "ORDERED_QUEUE_TAG" }, { 0x23, "IGNORE_WIDE_RESIDUE" }, { 0x24, "ACA" }, { 0x55, "QAS_REQUEST" }, { 0x0c, "BUS_DEVICE_RESET" }, { 0x06, "ABORT" }), __print_symbolic(REC->result & 0xff, { 0x00, "SAM_STAT_GOOD" }, { 0x02, "SAM_STAT_CHECK_CONDITION" }, { 0x04, "SAM_STAT_CONDITION_MET" }, { 0x08, "SAM_STAT_BUSY" }, { 0x10, "SAM_STAT_INTERMEDIATE" }, { 0x14, "SAM_STAT_INTERMEDIATE_CONDITION_MET" }, { 0x18, "SAM_STAT_RESERVATION_CONFLICT" }, { 0x22, "SAM_STAT_COMMAND_TERMINATED" }, { 0x28, "SAM_STAT_TASK_SET_FULL" }, { 0x30, "SAM_STAT_ACA_ACTIVE" }, { 0x40, "SAM_STAT_TASK_ABORTED" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/scsi/scsi_dispatch_cmd_error/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/scsi/scsi_dispatch_cmd_error/format
new file mode 100644
index 0000000..2d8e79b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/scsi/scsi_dispatch_cmd_error/format
@@ -0,0 +1,21 @@
+name: scsi_dispatch_cmd_error
+ID: 694
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int host_no;	offset:8;	size:4;	signed:0;
+	field:unsigned int channel;	offset:12;	size:4;	signed:0;
+	field:unsigned int id;	offset:16;	size:4;	signed:0;
+	field:unsigned int lun;	offset:20;	size:4;	signed:0;
+	field:int rtn;	offset:24;	size:4;	signed:1;
+	field:unsigned int opcode;	offset:28;	size:4;	signed:0;
+	field:unsigned int cmd_len;	offset:32;	size:4;	signed:0;
+	field:unsigned int data_sglen;	offset:36;	size:4;	signed:0;
+	field:unsigned int prot_sglen;	offset:40;	size:4;	signed:0;
+	field:unsigned char prot_op;	offset:44;	size:1;	signed:0;
+	field:__data_loc unsigned char[] cmnd;	offset:48;	size:4;	signed:0;
+
+print fmt: "host_no=%u channel=%u id=%u lun=%u data_sgl=%u prot_sgl=%u prot_op=%s cmnd=(%s %s raw=%s) rtn=%d", REC->host_no, REC->channel, REC->id, REC->lun, REC->data_sglen, REC->prot_sglen, __print_symbolic(REC->prot_op, { SCSI_PROT_NORMAL, "SCSI_PROT_NORMAL" }, { SCSI_PROT_READ_INSERT, "SCSI_PROT_READ_INSERT" }, { SCSI_PROT_WRITE_STRIP, "SCSI_PROT_WRITE_STRIP" }, { SCSI_PROT_READ_STRIP, "SCSI_PROT_READ_STRIP" }, { SCSI_PROT_WRITE_INSERT, "SCSI_PROT_WRITE_INSERT" }, { SCSI_PROT_READ_PASS, "SCSI_PROT_READ_PASS" }, { SCSI_PROT_WRITE_PASS, "SCSI_PROT_WRITE_PASS" }), __print_symbolic(REC->opcode, { 0x00, "TEST_UNIT_READY" }, { 0x01, "REZERO_UNIT" }, { 0x03, "REQUEST_SENSE" }, { 0x04, "FORMAT_UNIT" }, { 0x05, "READ_BLOCK_LIMITS" }, { 0x07, "REASSIGN_BLOCKS" }, { 0x07, "INITIALIZE_ELEMENT_STATUS" }, { 0x08, "READ_6" }, { 0x0a, "WRITE_6" }, { 0x0b, "SEEK_6" }, { 0x0f, "READ_REVERSE" }, { 0x10, "WRITE_FILEMARKS" }, { 0x11, "SPACE" }, { 0x12, "INQUIRY" }, { 0x14, "RECOVER_BUFFERED_DATA" }, { 0x15, "MODE_SELECT" }, { 0x16, "RESERVE" }, { 0x17, "RELEASE" }, { 0x18, "COPY" }, { 0x19, "ERASE" }, { 0x1a, "MODE_SENSE" }, { 0x1b, "START_STOP" }, { 0x1c, "RECEIVE_DIAGNOSTIC" }, { 0x1d, "SEND_DIAGNOSTIC" }, { 0x1e, "ALLOW_MEDIUM_REMOVAL" }, { 0x24, "SET_WINDOW" }, { 0x25, "READ_CAPACITY" }, { 0x28, "READ_10" }, { 0x2a, "WRITE_10" }, { 0x2b, "SEEK_10" }, { 0x2b, "POSITION_TO_ELEMENT" }, { 0x2e, "WRITE_VERIFY" }, { 0x2f, "VERIFY" }, { 0x30, "SEARCH_HIGH" }, { 0x31, "SEARCH_EQUAL" }, { 0x32, "SEARCH_LOW" }, { 0x33, "SET_LIMITS" }, { 0x34, "PRE_FETCH" }, { 0x34, "READ_POSITION" }, { 0x35, "SYNCHRONIZE_CACHE" }, { 0x36, "LOCK_UNLOCK_CACHE" }, { 0x37, "READ_DEFECT_DATA" }, { 0x38, "MEDIUM_SCAN" }, { 0x39, "COMPARE" }, { 0x3a, "COPY_VERIFY" }, { 0x3b, "WRITE_BUFFER" }, { 0x3c, "READ_BUFFER" }, { 0x3d, "UPDATE_BLOCK" }, { 0x3e, "READ_LONG" }, { 0x3f, "WRITE_LONG" }, { 0x40, "CHANGE_DEFINITION" }, { 0x41, "WRITE_SAME" }, { 0x42, "UNMAP" }, { 0x43, "READ_TOC" }, { 0x4c, "LOG_SELECT" }, { 0x4d, "LOG_SENSE" }, { 0x53, "XDWRITEREAD_10" }, { 0x55, "MODE_SELECT_10" }, { 0x56, "RESERVE_10" }, { 0x57, "RELEASE_10" }, { 0x5a, "MODE_SENSE_10" }, { 0x5e, "PERSISTENT_RESERVE_IN" }, { 0x5f, "PERSISTENT_RESERVE_OUT" }, { 0x7f, "VARIABLE_LENGTH_CMD" }, { 0xa0, "REPORT_LUNS" }, { 0xa3, "MAINTENANCE_IN" }, { 0xa4, "MAINTENANCE_OUT" }, { 0xa5, "MOVE_MEDIUM" }, { 0xa6, "EXCHANGE_MEDIUM" }, { 0xa8, "READ_12" }, { 0xaa, "WRITE_12" }, { 0xae, "WRITE_VERIFY_12" }, { 0xb0, "SEARCH_HIGH_12" }, { 0xb1, "SEARCH_EQUAL_12" }, { 0xb2, "SEARCH_LOW_12" }, { 0xb8, "READ_ELEMENT_STATUS" }, { 0xb6, "SEND_VOLUME_TAG" }, { 0xea, "WRITE_LONG_2" }, { 0x88, "READ_16" }, { 0x8a, "WRITE_16" }, { 0x8f, "VERIFY_16" }, { 0x93, "WRITE_SAME_16" }, { 0x94, "ZBC_OUT" }, { 0x95, "ZBC_IN" }, { 0x9e, "SERVICE_ACTION_IN_16" }, { 0x09, "READ_32" }, { 0x0b, "WRITE_32" }, { 0x0d, "WRITE_SAME_32" }, { 0x85, "ATA_16" }, { 0xa1, "ATA_12" }), scsi_trace_parse_cdb(p, __get_dynamic_array(cmnd), REC->cmd_len), __print_hex(__get_dynamic_array(cmnd), REC->cmd_len), REC->rtn
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/scsi/scsi_dispatch_cmd_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/scsi/scsi_dispatch_cmd_start/format
new file mode 100644
index 0000000..3d04b65
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/scsi/scsi_dispatch_cmd_start/format
@@ -0,0 +1,20 @@
+name: scsi_dispatch_cmd_start
+ID: 695
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int host_no;	offset:8;	size:4;	signed:0;
+	field:unsigned int channel;	offset:12;	size:4;	signed:0;
+	field:unsigned int id;	offset:16;	size:4;	signed:0;
+	field:unsigned int lun;	offset:20;	size:4;	signed:0;
+	field:unsigned int opcode;	offset:24;	size:4;	signed:0;
+	field:unsigned int cmd_len;	offset:28;	size:4;	signed:0;
+	field:unsigned int data_sglen;	offset:32;	size:4;	signed:0;
+	field:unsigned int prot_sglen;	offset:36;	size:4;	signed:0;
+	field:unsigned char prot_op;	offset:40;	size:1;	signed:0;
+	field:__data_loc unsigned char[] cmnd;	offset:44;	size:4;	signed:0;
+
+print fmt: "host_no=%u channel=%u id=%u lun=%u data_sgl=%u prot_sgl=%u prot_op=%s cmnd=(%s %s raw=%s)", REC->host_no, REC->channel, REC->id, REC->lun, REC->data_sglen, REC->prot_sglen, __print_symbolic(REC->prot_op, { SCSI_PROT_NORMAL, "SCSI_PROT_NORMAL" }, { SCSI_PROT_READ_INSERT, "SCSI_PROT_READ_INSERT" }, { SCSI_PROT_WRITE_STRIP, "SCSI_PROT_WRITE_STRIP" }, { SCSI_PROT_READ_STRIP, "SCSI_PROT_READ_STRIP" }, { SCSI_PROT_WRITE_INSERT, "SCSI_PROT_WRITE_INSERT" }, { SCSI_PROT_READ_PASS, "SCSI_PROT_READ_PASS" }, { SCSI_PROT_WRITE_PASS, "SCSI_PROT_WRITE_PASS" }), __print_symbolic(REC->opcode, { 0x00, "TEST_UNIT_READY" }, { 0x01, "REZERO_UNIT" }, { 0x03, "REQUEST_SENSE" }, { 0x04, "FORMAT_UNIT" }, { 0x05, "READ_BLOCK_LIMITS" }, { 0x07, "REASSIGN_BLOCKS" }, { 0x07, "INITIALIZE_ELEMENT_STATUS" }, { 0x08, "READ_6" }, { 0x0a, "WRITE_6" }, { 0x0b, "SEEK_6" }, { 0x0f, "READ_REVERSE" }, { 0x10, "WRITE_FILEMARKS" }, { 0x11, "SPACE" }, { 0x12, "INQUIRY" }, { 0x14, "RECOVER_BUFFERED_DATA" }, { 0x15, "MODE_SELECT" }, { 0x16, "RESERVE" }, { 0x17, "RELEASE" }, { 0x18, "COPY" }, { 0x19, "ERASE" }, { 0x1a, "MODE_SENSE" }, { 0x1b, "START_STOP" }, { 0x1c, "RECEIVE_DIAGNOSTIC" }, { 0x1d, "SEND_DIAGNOSTIC" }, { 0x1e, "ALLOW_MEDIUM_REMOVAL" }, { 0x24, "SET_WINDOW" }, { 0x25, "READ_CAPACITY" }, { 0x28, "READ_10" }, { 0x2a, "WRITE_10" }, { 0x2b, "SEEK_10" }, { 0x2b, "POSITION_TO_ELEMENT" }, { 0x2e, "WRITE_VERIFY" }, { 0x2f, "VERIFY" }, { 0x30, "SEARCH_HIGH" }, { 0x31, "SEARCH_EQUAL" }, { 0x32, "SEARCH_LOW" }, { 0x33, "SET_LIMITS" }, { 0x34, "PRE_FETCH" }, { 0x34, "READ_POSITION" }, { 0x35, "SYNCHRONIZE_CACHE" }, { 0x36, "LOCK_UNLOCK_CACHE" }, { 0x37, "READ_DEFECT_DATA" }, { 0x38, "MEDIUM_SCAN" }, { 0x39, "COMPARE" }, { 0x3a, "COPY_VERIFY" }, { 0x3b, "WRITE_BUFFER" }, { 0x3c, "READ_BUFFER" }, { 0x3d, "UPDATE_BLOCK" }, { 0x3e, "READ_LONG" }, { 0x3f, "WRITE_LONG" }, { 0x40, "CHANGE_DEFINITION" }, { 0x41, "WRITE_SAME" }, { 0x42, "UNMAP" }, { 0x43, "READ_TOC" }, { 0x4c, "LOG_SELECT" }, { 0x4d, "LOG_SENSE" }, { 0x53, "XDWRITEREAD_10" }, { 0x55, "MODE_SELECT_10" }, { 0x56, "RESERVE_10" }, { 0x57, "RELEASE_10" }, { 0x5a, "MODE_SENSE_10" }, { 0x5e, "PERSISTENT_RESERVE_IN" }, { 0x5f, "PERSISTENT_RESERVE_OUT" }, { 0x7f, "VARIABLE_LENGTH_CMD" }, { 0xa0, "REPORT_LUNS" }, { 0xa3, "MAINTENANCE_IN" }, { 0xa4, "MAINTENANCE_OUT" }, { 0xa5, "MOVE_MEDIUM" }, { 0xa6, "EXCHANGE_MEDIUM" }, { 0xa8, "READ_12" }, { 0xaa, "WRITE_12" }, { 0xae, "WRITE_VERIFY_12" }, { 0xb0, "SEARCH_HIGH_12" }, { 0xb1, "SEARCH_EQUAL_12" }, { 0xb2, "SEARCH_LOW_12" }, { 0xb8, "READ_ELEMENT_STATUS" }, { 0xb6, "SEND_VOLUME_TAG" }, { 0xea, "WRITE_LONG_2" }, { 0x88, "READ_16" }, { 0x8a, "WRITE_16" }, { 0x8f, "VERIFY_16" }, { 0x93, "WRITE_SAME_16" }, { 0x94, "ZBC_OUT" }, { 0x95, "ZBC_IN" }, { 0x9e, "SERVICE_ACTION_IN_16" }, { 0x09, "READ_32" }, { 0x0b, "WRITE_32" }, { 0x0d, "WRITE_SAME_32" }, { 0x85, "ATA_16" }, { 0xa1, "ATA_12" }), scsi_trace_parse_cdb(p, __get_dynamic_array(cmnd), REC->cmd_len), __print_hex(__get_dynamic_array(cmnd), REC->cmd_len)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/scsi/scsi_dispatch_cmd_timeout/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/scsi/scsi_dispatch_cmd_timeout/format
new file mode 100644
index 0000000..9fa450b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/scsi/scsi_dispatch_cmd_timeout/format
@@ -0,0 +1,21 @@
+name: scsi_dispatch_cmd_timeout
+ID: 696
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int host_no;	offset:8;	size:4;	signed:0;
+	field:unsigned int channel;	offset:12;	size:4;	signed:0;
+	field:unsigned int id;	offset:16;	size:4;	signed:0;
+	field:unsigned int lun;	offset:20;	size:4;	signed:0;
+	field:int result;	offset:24;	size:4;	signed:1;
+	field:unsigned int opcode;	offset:28;	size:4;	signed:0;
+	field:unsigned int cmd_len;	offset:32;	size:4;	signed:0;
+	field:unsigned int data_sglen;	offset:36;	size:4;	signed:0;
+	field:unsigned int prot_sglen;	offset:40;	size:4;	signed:0;
+	field:unsigned char prot_op;	offset:44;	size:1;	signed:0;
+	field:__data_loc unsigned char[] cmnd;	offset:48;	size:4;	signed:0;
+
+print fmt: "host_no=%u channel=%u id=%u lun=%u data_sgl=%u prot_sgl=%u prot_op=%s cmnd=(%s %s raw=%s) result=(driver=%s host=%s message=%s status=%s)", REC->host_no, REC->channel, REC->id, REC->lun, REC->data_sglen, REC->prot_sglen, __print_symbolic(REC->prot_op, { SCSI_PROT_NORMAL, "SCSI_PROT_NORMAL" }, { SCSI_PROT_READ_INSERT, "SCSI_PROT_READ_INSERT" }, { SCSI_PROT_WRITE_STRIP, "SCSI_PROT_WRITE_STRIP" }, { SCSI_PROT_READ_STRIP, "SCSI_PROT_READ_STRIP" }, { SCSI_PROT_WRITE_INSERT, "SCSI_PROT_WRITE_INSERT" }, { SCSI_PROT_READ_PASS, "SCSI_PROT_READ_PASS" }, { SCSI_PROT_WRITE_PASS, "SCSI_PROT_WRITE_PASS" }), __print_symbolic(REC->opcode, { 0x00, "TEST_UNIT_READY" }, { 0x01, "REZERO_UNIT" }, { 0x03, "REQUEST_SENSE" }, { 0x04, "FORMAT_UNIT" }, { 0x05, "READ_BLOCK_LIMITS" }, { 0x07, "REASSIGN_BLOCKS" }, { 0x07, "INITIALIZE_ELEMENT_STATUS" }, { 0x08, "READ_6" }, { 0x0a, "WRITE_6" }, { 0x0b, "SEEK_6" }, { 0x0f, "READ_REVERSE" }, { 0x10, "WRITE_FILEMARKS" }, { 0x11, "SPACE" }, { 0x12, "INQUIRY" }, { 0x14, "RECOVER_BUFFERED_DATA" }, { 0x15, "MODE_SELECT" }, { 0x16, "RESERVE" }, { 0x17, "RELEASE" }, { 0x18, "COPY" }, { 0x19, "ERASE" }, { 0x1a, "MODE_SENSE" }, { 0x1b, "START_STOP" }, { 0x1c, "RECEIVE_DIAGNOSTIC" }, { 0x1d, "SEND_DIAGNOSTIC" }, { 0x1e, "ALLOW_MEDIUM_REMOVAL" }, { 0x24, "SET_WINDOW" }, { 0x25, "READ_CAPACITY" }, { 0x28, "READ_10" }, { 0x2a, "WRITE_10" }, { 0x2b, "SEEK_10" }, { 0x2b, "POSITION_TO_ELEMENT" }, { 0x2e, "WRITE_VERIFY" }, { 0x2f, "VERIFY" }, { 0x30, "SEARCH_HIGH" }, { 0x31, "SEARCH_EQUAL" }, { 0x32, "SEARCH_LOW" }, { 0x33, "SET_LIMITS" }, { 0x34, "PRE_FETCH" }, { 0x34, "READ_POSITION" }, { 0x35, "SYNCHRONIZE_CACHE" }, { 0x36, "LOCK_UNLOCK_CACHE" }, { 0x37, "READ_DEFECT_DATA" }, { 0x38, "MEDIUM_SCAN" }, { 0x39, "COMPARE" }, { 0x3a, "COPY_VERIFY" }, { 0x3b, "WRITE_BUFFER" }, { 0x3c, "READ_BUFFER" }, { 0x3d, "UPDATE_BLOCK" }, { 0x3e, "READ_LONG" }, { 0x3f, "WRITE_LONG" }, { 0x40, "CHANGE_DEFINITION" }, { 0x41, "WRITE_SAME" }, { 0x42, "UNMAP" }, { 0x43, "READ_TOC" }, { 0x4c, "LOG_SELECT" }, { 0x4d, "LOG_SENSE" }, { 0x53, "XDWRITEREAD_10" }, { 0x55, "MODE_SELECT_10" }, { 0x56, "RESERVE_10" }, { 0x57, "RELEASE_10" }, { 0x5a, "MODE_SENSE_10" }, { 0x5e, "PERSISTENT_RESERVE_IN" }, { 0x5f, "PERSISTENT_RESERVE_OUT" }, { 0x7f, "VARIABLE_LENGTH_CMD" }, { 0xa0, "REPORT_LUNS" }, { 0xa3, "MAINTENANCE_IN" }, { 0xa4, "MAINTENANCE_OUT" }, { 0xa5, "MOVE_MEDIUM" }, { 0xa6, "EXCHANGE_MEDIUM" }, { 0xa8, "READ_12" }, { 0xaa, "WRITE_12" }, { 0xae, "WRITE_VERIFY_12" }, { 0xb0, "SEARCH_HIGH_12" }, { 0xb1, "SEARCH_EQUAL_12" }, { 0xb2, "SEARCH_LOW_12" }, { 0xb8, "READ_ELEMENT_STATUS" }, { 0xb6, "SEND_VOLUME_TAG" }, { 0xea, "WRITE_LONG_2" }, { 0x88, "READ_16" }, { 0x8a, "WRITE_16" }, { 0x8f, "VERIFY_16" }, { 0x93, "WRITE_SAME_16" }, { 0x94, "ZBC_OUT" }, { 0x95, "ZBC_IN" }, { 0x9e, "SERVICE_ACTION_IN_16" }, { 0x09, "READ_32" }, { 0x0b, "WRITE_32" }, { 0x0d, "WRITE_SAME_32" }, { 0x85, "ATA_16" }, { 0xa1, "ATA_12" }), scsi_trace_parse_cdb(p, __get_dynamic_array(cmnd), REC->cmd_len), __print_hex(__get_dynamic_array(cmnd), REC->cmd_len), __print_symbolic(((REC->result) >> 24) & 0xff, { 0x00, "DRIVER_OK" }, { 0x01, "DRIVER_BUSY" }, { 0x02, "DRIVER_SOFT" }, { 0x03, "DRIVER_MEDIA" }, { 0x04, "DRIVER_ERROR" }, { 0x05, "DRIVER_INVALID" }, { 0x06, "DRIVER_TIMEOUT" }, { 0x07, "DRIVER_HARD" }, { 0x08, "DRIVER_SENSE" }), __print_symbolic(((REC->result) >> 16) & 0xff, { 0x00, "DID_OK" }, { 0x01, "DID_NO_CONNECT" }, { 0x02, "DID_BUS_BUSY" }, { 0x03, "DID_TIME_OUT" }, { 0x04, "DID_BAD_TARGET" }, { 0x05, "DID_ABORT" }, { 0x06, "DID_PARITY" }, { 0x07, "DID_ERROR" }, { 0x08, "DID_RESET" }, { 0x09, "DID_BAD_INTR" }, { 0x0a, "DID_PASSTHROUGH" }, { 0x0b, "DID_SOFT_ERROR" }, { 0x0c, "DID_IMM_RETRY" }, { 0x0d, "DID_REQUEUE" }, { 0x0e, "DID_TRANSPORT_DISRUPTED" }, { 0x0f, "DID_TRANSPORT_FAILFAST" }), __print_symbolic(((REC->result) >> 8) & 0xff, { 0x00, "COMMAND_COMPLETE" }, { 0x01, "EXTENDED_MESSAGE" }, { 0x02, "SAVE_POINTERS" }, { 0x03, "RESTORE_POINTERS" }, { 0x04, "DISCONNECT" }, { 0x05, "INITIATOR_ERROR" }, { 0x06, "ABORT_TASK_SET" }, { 0x07, "MESSAGE_REJECT" }, { 0x08, "NOP" }, { 0x09, "MSG_PARITY_ERROR" }, { 0x0a, "LINKED_CMD_COMPLETE" }, { 0x0b, "LINKED_FLG_CMD_COMPLETE" }, { 0x0c, "TARGET_RESET" }, { 0x0d, "ABORT_TASK" }, { 0x0e, "CLEAR_TASK_SET" }, { 0x0f, "INITIATE_RECOVERY" }, { 0x10, "RELEASE_RECOVERY" }, { 0x16, "CLEAR_ACA" }, { 0x17, "LOGICAL_UNIT_RESET" }, { 0x20, "SIMPLE_QUEUE_TAG" }, { 0x21, "HEAD_OF_QUEUE_TAG" }, { 0x22, "ORDERED_QUEUE_TAG" }, { 0x23, "IGNORE_WIDE_RESIDUE" }, { 0x24, "ACA" }, { 0x55, "QAS_REQUEST" }, { 0x0c, "BUS_DEVICE_RESET" }, { 0x06, "ABORT" }), __print_symbolic(REC->result & 0xff, { 0x00, "SAM_STAT_GOOD" }, { 0x02, "SAM_STAT_CHECK_CONDITION" }, { 0x04, "SAM_STAT_CONDITION_MET" }, { 0x08, "SAM_STAT_BUSY" }, { 0x10, "SAM_STAT_INTERMEDIATE" }, { 0x14, "SAM_STAT_INTERMEDIATE_CONDITION_MET" }, { 0x18, "SAM_STAT_RESERVATION_CONFLICT" }, { 0x22, "SAM_STAT_COMMAND_TERMINATED" }, { 0x28, "SAM_STAT_TASK_SET_FULL" }, { 0x30, "SAM_STAT_ACA_ACTIVE" }, { 0x40, "SAM_STAT_TASK_ABORTED" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/scsi/scsi_eh_wakeup/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/scsi/scsi_eh_wakeup/format
new file mode 100644
index 0000000..d5c4fed
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/scsi/scsi_eh_wakeup/format
@@ -0,0 +1,11 @@
+name: scsi_eh_wakeup
+ID: 697
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int host_no;	offset:8;	size:4;	signed:0;
+
+print fmt: "host_no=%u", REC->host_no
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/signal/signal_deliver/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/signal/signal_deliver/format
new file mode 100644
index 0000000..15b4ab4
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/signal/signal_deliver/format
@@ -0,0 +1,15 @@
+name: signal_deliver
+ID: 78
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int sig;	offset:8;	size:4;	signed:1;
+	field:int errno;	offset:12;	size:4;	signed:1;
+	field:int code;	offset:16;	size:4;	signed:1;
+	field:unsigned long sa_handler;	offset:24;	size:8;	signed:0;
+	field:unsigned long sa_flags;	offset:32;	size:8;	signed:0;
+
+print fmt: "sig=%d errno=%d code=%d sa_handler=%lx sa_flags=%lx", REC->sig, REC->errno, REC->code, REC->sa_handler, REC->sa_flags
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/signal/signal_generate/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/signal/signal_generate/format
new file mode 100644
index 0000000..5770ae3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/signal/signal_generate/format
@@ -0,0 +1,17 @@
+name: signal_generate
+ID: 79
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int sig;	offset:8;	size:4;	signed:1;
+	field:int errno;	offset:12;	size:4;	signed:1;
+	field:int code;	offset:16;	size:4;	signed:1;
+	field:char comm[16];	offset:20;	size:16;	signed:0;
+	field:pid_t pid;	offset:36;	size:4;	signed:1;
+	field:int group;	offset:40;	size:4;	signed:1;
+	field:int result;	offset:44;	size:4;	signed:1;
+
+print fmt: "sig=%d errno=%d code=%d comm=%s pid=%d grp=%d res=%d", REC->sig, REC->errno, REC->code, REC->comm, REC->pid, REC->group, REC->result
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/skb/consume_skb/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/skb/consume_skb/format
new file mode 100644
index 0000000..bd27250
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/skb/consume_skb/format
@@ -0,0 +1,11 @@
+name: consume_skb
+ID: 921
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * skbaddr;	offset:8;	size:8;	signed:0;
+
+print fmt: "skbaddr=%p", REC->skbaddr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/skb/kfree_skb/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/skb/kfree_skb/format
new file mode 100644
index 0000000..5f55e20
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/skb/kfree_skb/format
@@ -0,0 +1,13 @@
+name: kfree_skb
+ID: 925
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * skbaddr;	offset:8;	size:8;	signed:0;
+	field:void * location;	offset:16;	size:8;	signed:0;
+	field:unsigned short protocol;	offset:24;	size:2;	signed:0;
+
+print fmt: "skbaddr=%p protocol=%u location=%p", REC->skbaddr, REC->protocol, REC->location
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/skb/skb_copy_datagram_iovec/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/skb/skb_copy_datagram_iovec/format
new file mode 100644
index 0000000..17c2a59
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/skb/skb_copy_datagram_iovec/format
@@ -0,0 +1,12 @@
+name: skb_copy_datagram_iovec
+ID: 960
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const void * skbaddr;	offset:8;	size:8;	signed:0;
+	field:int len;	offset:16;	size:4;	signed:1;
+
+print fmt: "skbaddr=%p len=%d", REC->skbaddr, REC->len
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/smbus/smbus_read/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/smbus/smbus_read/format
new file mode 100644
index 0000000..97a3c45
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/smbus/smbus_read/format
@@ -0,0 +1,16 @@
+name: smbus_read
+ID: 838
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int adapter_nr;	offset:8;	size:4;	signed:1;
+	field:__u16 flags;	offset:12;	size:2;	signed:0;
+	field:__u16 addr;	offset:14;	size:2;	signed:0;
+	field:__u8 command;	offset:16;	size:1;	signed:0;
+	field:__u32 protocol;	offset:20;	size:4;	signed:0;
+	field:__u8 buf[32 + 2];	offset:24;	size:34;	signed:0;
+
+print fmt: "i2c-%d a=%03x f=%04x c=%x %s", REC->adapter_nr, REC->addr, REC->flags, REC->command, __print_symbolic(REC->protocol, { 0, "QUICK" }, { 1, "BYTE" }, { 2, "BYTE_DATA" }, { 3, "WORD_DATA" }, { 4, "PROC_CALL" }, { 5, "BLOCK_DATA" }, { 6, "I2C_BLOCK_BROKEN" }, { 7, "BLOCK_PROC_CALL" }, { 8, "I2C_BLOCK_DATA" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/smbus/smbus_reply/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/smbus/smbus_reply/format
new file mode 100644
index 0000000..8738b9f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/smbus/smbus_reply/format
@@ -0,0 +1,17 @@
+name: smbus_reply
+ID: 839
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int adapter_nr;	offset:8;	size:4;	signed:1;
+	field:__u16 addr;	offset:12;	size:2;	signed:0;
+	field:__u16 flags;	offset:14;	size:2;	signed:0;
+	field:__u8 command;	offset:16;	size:1;	signed:0;
+	field:__u8 len;	offset:17;	size:1;	signed:0;
+	field:__u32 protocol;	offset:20;	size:4;	signed:0;
+	field:__u8 buf[32 + 2];	offset:24;	size:34;	signed:0;
+
+print fmt: "i2c-%d a=%03x f=%04x c=%x %s l=%u [%*phD]", REC->adapter_nr, REC->addr, REC->flags, REC->command, __print_symbolic(REC->protocol, { 0, "QUICK" }, { 1, "BYTE" }, { 2, "BYTE_DATA" }, { 3, "WORD_DATA" }, { 4, "PROC_CALL" }, { 5, "BLOCK_DATA" }, { 6, "I2C_BLOCK_BROKEN" }, { 7, "BLOCK_PROC_CALL" }, { 8, "I2C_BLOCK_DATA" }), REC->len, REC->len, REC->buf
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/smbus/smbus_result/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/smbus/smbus_result/format
new file mode 100644
index 0000000..d581d82
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/smbus/smbus_result/format
@@ -0,0 +1,17 @@
+name: smbus_result
+ID: 840
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int adapter_nr;	offset:8;	size:4;	signed:1;
+	field:__u16 addr;	offset:12;	size:2;	signed:0;
+	field:__u16 flags;	offset:14;	size:2;	signed:0;
+	field:__u8 read_write;	offset:16;	size:1;	signed:0;
+	field:__u8 command;	offset:17;	size:1;	signed:0;
+	field:__s16 res;	offset:18;	size:2;	signed:1;
+	field:__u32 protocol;	offset:20;	size:4;	signed:0;
+
+print fmt: "i2c-%d a=%03x f=%04x c=%x %s %s res=%d", REC->adapter_nr, REC->addr, REC->flags, REC->command, __print_symbolic(REC->protocol, { 0, "QUICK" }, { 1, "BYTE" }, { 2, "BYTE_DATA" }, { 3, "WORD_DATA" }, { 4, "PROC_CALL" }, { 5, "BLOCK_DATA" }, { 6, "I2C_BLOCK_BROKEN" }, { 7, "BLOCK_PROC_CALL" }, { 8, "I2C_BLOCK_DATA" }), REC->read_write == 0 ? "wr" : "rd", REC->res
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/smbus/smbus_write/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/smbus/smbus_write/format
new file mode 100644
index 0000000..6964b6e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/smbus/smbus_write/format
@@ -0,0 +1,17 @@
+name: smbus_write
+ID: 841
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int adapter_nr;	offset:8;	size:4;	signed:1;
+	field:__u16 addr;	offset:12;	size:2;	signed:0;
+	field:__u16 flags;	offset:14;	size:2;	signed:0;
+	field:__u8 command;	offset:16;	size:1;	signed:0;
+	field:__u8 len;	offset:17;	size:1;	signed:0;
+	field:__u32 protocol;	offset:20;	size:4;	signed:0;
+	field:__u8 buf[32 + 2];	offset:24;	size:34;	signed:0;
+
+print fmt: "i2c-%d a=%03x f=%04x c=%x %s l=%u [%*phD]", REC->adapter_nr, REC->addr, REC->flags, REC->command, __print_symbolic(REC->protocol, { 0, "QUICK" }, { 1, "BYTE" }, { 2, "BYTE_DATA" }, { 3, "WORD_DATA" }, { 4, "PROC_CALL" }, { 5, "BLOCK_DATA" }, { 6, "I2C_BLOCK_BROKEN" }, { 7, "BLOCK_PROC_CALL" }, { 8, "I2C_BLOCK_DATA" }), REC->len, REC->len, REC->buf
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sock/inet_sock_set_state/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sock/inet_sock_set_state/format
new file mode 100644
index 0000000..d7c36c7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sock/inet_sock_set_state/format
@@ -0,0 +1,21 @@
+name: inet_sock_set_state
+ID: 924
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const void * skaddr;	offset:8;	size:8;	signed:0;
+	field:int oldstate;	offset:16;	size:4;	signed:1;
+	field:int newstate;	offset:20;	size:4;	signed:1;
+	field:__u16 sport;	offset:24;	size:2;	signed:0;
+	field:__u16 dport;	offset:26;	size:2;	signed:0;
+	field:__u16 family;	offset:28;	size:2;	signed:0;
+	field:__u16 protocol;	offset:30;	size:2;	signed:0;
+	field:__u8 saddr[4];	offset:32;	size:4;	signed:0;
+	field:__u8 daddr[4];	offset:36;	size:4;	signed:0;
+	field:__u8 saddr_v6[16];	offset:40;	size:16;	signed:0;
+	field:__u8 daddr_v6[16];	offset:56;	size:16;	signed:0;
+
+print fmt: "family=%s protocol=%s sport=%hu dport=%hu saddr=%pI4 daddr=%pI4 saddrv6=%pI6c daddrv6=%pI6c oldstate=%s newstate=%s", __print_symbolic(REC->family, { 2, "AF_INET" }, { 10, "AF_INET6" }), __print_symbolic(REC->protocol, { 6, "IPPROTO_TCP" }, { 33, "IPPROTO_DCCP" }, { 132, "IPPROTO_SCTP" }, { 262, "IPPROTO_MPTCP" }), REC->sport, REC->dport, REC->saddr, REC->daddr, REC->saddr_v6, REC->daddr_v6, __print_symbolic(REC->oldstate, { 1, "TCP_ESTABLISHED" }, { 2, "TCP_SYN_SENT" }, { 3, "TCP_SYN_RECV" }, { 4, "TCP_FIN_WAIT1" }, { 5, "TCP_FIN_WAIT2" }, { 6, "TCP_TIME_WAIT" }, { 7, "TCP_CLOSE" }, { 8, "TCP_CLOSE_WAIT" }, { 9, "TCP_LAST_ACK" }, { 10, "TCP_LISTEN" }, { 11, "TCP_CLOSING" }, { 12, "TCP_NEW_SYN_RECV" }), __print_symbolic(REC->newstate, { 1, "TCP_ESTABLISHED" }, { 2, "TCP_SYN_SENT" }, { 3, "TCP_SYN_RECV" }, { 4, "TCP_FIN_WAIT1" }, { 5, "TCP_FIN_WAIT2" }, { 6, "TCP_TIME_WAIT" }, { 7, "TCP_CLOSE" }, { 8, "TCP_CLOSE_WAIT" }, { 9, "TCP_LAST_ACK" }, { 10, "TCP_LISTEN" }, { 11, "TCP_CLOSING" }, { 12, "TCP_NEW_SYN_RECV" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sock/sock_exceed_buf_limit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sock/sock_exceed_buf_limit/format
new file mode 100644
index 0000000..bcee4ff
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sock/sock_exceed_buf_limit/format
@@ -0,0 +1,19 @@
+name: sock_exceed_buf_limit
+ID: 961
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+	field:long * sysctl_mem;	offset:40;	size:8;	signed:0;
+	field:long allocated;	offset:48;	size:8;	signed:1;
+	field:int sysctl_rmem;	offset:56;	size:4;	signed:1;
+	field:int rmem_alloc;	offset:60;	size:4;	signed:1;
+	field:int sysctl_wmem;	offset:64;	size:4;	signed:1;
+	field:int wmem_alloc;	offset:68;	size:4;	signed:1;
+	field:int wmem_queued;	offset:72;	size:4;	signed:1;
+	field:int kind;	offset:76;	size:4;	signed:1;
+
+print fmt: "proto:%s sysctl_mem=%ld,%ld,%ld allocated=%ld sysctl_rmem=%d rmem_alloc=%d sysctl_wmem=%d wmem_alloc=%d wmem_queued=%d kind=%s", REC->name, REC->sysctl_mem[0], REC->sysctl_mem[1], REC->sysctl_mem[2], REC->allocated, REC->sysctl_rmem, REC->rmem_alloc, REC->sysctl_wmem, REC->wmem_alloc, REC->wmem_queued, __print_symbolic(REC->kind, { 0, "SK_MEM_SEND" }, { 1, "SK_MEM_RECV" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sock/sock_rcvqueue_full/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sock/sock_rcvqueue_full/format
new file mode 100644
index 0000000..33f573f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/sock/sock_rcvqueue_full/format
@@ -0,0 +1,13 @@
+name: sock_rcvqueue_full
+ID: 962
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int rmem_alloc;	offset:8;	size:4;	signed:1;
+	field:unsigned int truesize;	offset:12;	size:4;	signed:0;
+	field:int sk_rcvbuf;	offset:16;	size:4;	signed:1;
+
+print fmt: "rmem_alloc=%d truesize=%u sk_rcvbuf=%d", REC->rmem_alloc, REC->truesize, REC->sk_rcvbuf
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spi/spi_controller_busy/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spi/spi_controller_busy/format
new file mode 100644
index 0000000..f09f089
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spi/spi_controller_busy/format
@@ -0,0 +1,11 @@
+name: spi_controller_busy
+ID: 712
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int bus_num;	offset:8;	size:4;	signed:1;
+
+print fmt: "spi%d", (int)REC->bus_num
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spi/spi_controller_idle/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spi/spi_controller_idle/format
new file mode 100644
index 0000000..2c080c6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spi/spi_controller_idle/format
@@ -0,0 +1,11 @@
+name: spi_controller_idle
+ID: 713
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int bus_num;	offset:8;	size:4;	signed:1;
+
+print fmt: "spi%d", (int)REC->bus_num
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spi/spi_message_done/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spi/spi_message_done/format
new file mode 100644
index 0000000..3a5f1c4
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spi/spi_message_done/format
@@ -0,0 +1,15 @@
+name: spi_message_done
+ID: 714
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int bus_num;	offset:8;	size:4;	signed:1;
+	field:int chip_select;	offset:12;	size:4;	signed:1;
+	field:struct spi_message * msg;	offset:16;	size:8;	signed:0;
+	field:unsigned frame;	offset:24;	size:4;	signed:0;
+	field:unsigned actual;	offset:28;	size:4;	signed:0;
+
+print fmt: "spi%d.%d %p len=%u/%u", (int)REC->bus_num, (int)REC->chip_select, (struct spi_message *)REC->msg, (unsigned)REC->actual, (unsigned)REC->frame
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spi/spi_message_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spi/spi_message_start/format
new file mode 100644
index 0000000..23dcdf4
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spi/spi_message_start/format
@@ -0,0 +1,13 @@
+name: spi_message_start
+ID: 715
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int bus_num;	offset:8;	size:4;	signed:1;
+	field:int chip_select;	offset:12;	size:4;	signed:1;
+	field:struct spi_message * msg;	offset:16;	size:8;	signed:0;
+
+print fmt: "spi%d.%d %p", (int)REC->bus_num, (int)REC->chip_select, (struct spi_message *)REC->msg
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spi/spi_message_submit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spi/spi_message_submit/format
new file mode 100644
index 0000000..9685c47
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spi/spi_message_submit/format
@@ -0,0 +1,13 @@
+name: spi_message_submit
+ID: 716
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int bus_num;	offset:8;	size:4;	signed:1;
+	field:int chip_select;	offset:12;	size:4;	signed:1;
+	field:struct spi_message * msg;	offset:16;	size:8;	signed:0;
+
+print fmt: "spi%d.%d %p", (int)REC->bus_num, (int)REC->chip_select, (struct spi_message *)REC->msg
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spi/spi_transfer_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spi/spi_transfer_start/format
new file mode 100644
index 0000000..3d646a0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spi/spi_transfer_start/format
@@ -0,0 +1,16 @@
+name: spi_transfer_start
+ID: 717
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int bus_num;	offset:8;	size:4;	signed:1;
+	field:int chip_select;	offset:12;	size:4;	signed:1;
+	field:struct spi_transfer * xfer;	offset:16;	size:8;	signed:0;
+	field:int len;	offset:24;	size:4;	signed:1;
+	field:__data_loc u8[] rx_buf;	offset:28;	size:4;	signed:0;
+	field:__data_loc u8[] tx_buf;	offset:32;	size:4;	signed:0;
+
+print fmt: "spi%d.%d %p len=%d tx=[%*phD] rx=[%*phD]", REC->bus_num, REC->chip_select, REC->xfer, REC->len, __get_dynamic_array_len(tx_buf), __get_dynamic_array(tx_buf), __get_dynamic_array_len(rx_buf), __get_dynamic_array(rx_buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spi/spi_transfer_stop/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spi/spi_transfer_stop/format
new file mode 100644
index 0000000..c0075f5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spi/spi_transfer_stop/format
@@ -0,0 +1,16 @@
+name: spi_transfer_stop
+ID: 718
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int bus_num;	offset:8;	size:4;	signed:1;
+	field:int chip_select;	offset:12;	size:4;	signed:1;
+	field:struct spi_transfer * xfer;	offset:16;	size:8;	signed:0;
+	field:int len;	offset:24;	size:4;	signed:1;
+	field:__data_loc u8[] rx_buf;	offset:28;	size:4;	signed:0;
+	field:__data_loc u8[] tx_buf;	offset:32;	size:4;	signed:0;
+
+print fmt: "spi%d.%d %p len=%d tx=[%*phD] rx=[%*phD]", REC->bus_num, REC->chip_select, REC->xfer, REC->len, __get_dynamic_array_len(tx_buf), __get_dynamic_array(tx_buf), __get_dynamic_array_len(rx_buf), __get_dynamic_array(rx_buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spmi/spmi_cmd/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spmi/spmi_cmd/format
new file mode 100644
index 0000000..caebc24
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spmi/spmi_cmd/format
@@ -0,0 +1,13 @@
+name: spmi_cmd
+ID: 719
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u8 opcode;	offset:8;	size:1;	signed:0;
+	field:u8 sid;	offset:9;	size:1;	signed:0;
+	field:int ret;	offset:12;	size:4;	signed:1;
+
+print fmt: "opc=%d sid=%02d ret=%d", (int)REC->opcode, (int)REC->sid, ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spmi/spmi_read_begin/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spmi/spmi_read_begin/format
new file mode 100644
index 0000000..ed52f96
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spmi/spmi_read_begin/format
@@ -0,0 +1,13 @@
+name: spmi_read_begin
+ID: 720
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u8 opcode;	offset:8;	size:1;	signed:0;
+	field:u8 sid;	offset:9;	size:1;	signed:0;
+	field:u16 addr;	offset:10;	size:2;	signed:0;
+
+print fmt: "opc=%d sid=%02d addr=0x%04x", (int)REC->opcode, (int)REC->sid, (int)REC->addr
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spmi/spmi_read_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spmi/spmi_read_end/format
new file mode 100644
index 0000000..d849679
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spmi/spmi_read_end/format
@@ -0,0 +1,16 @@
+name: spmi_read_end
+ID: 721
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u8 opcode;	offset:8;	size:1;	signed:0;
+	field:u8 sid;	offset:9;	size:1;	signed:0;
+	field:u16 addr;	offset:10;	size:2;	signed:0;
+	field:int ret;	offset:12;	size:4;	signed:1;
+	field:u8 len;	offset:16;	size:1;	signed:0;
+	field:__data_loc u8[] buf;	offset:20;	size:4;	signed:0;
+
+print fmt: "opc=%d sid=%02d addr=0x%04x ret=%d len=%02d buf=0x[%*phD]", (int)REC->opcode, (int)REC->sid, (int)REC->addr, REC->ret, (int)REC->len, (int)REC->len, __get_dynamic_array(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spmi/spmi_write_begin/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spmi/spmi_write_begin/format
new file mode 100644
index 0000000..9ebdff3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spmi/spmi_write_begin/format
@@ -0,0 +1,15 @@
+name: spmi_write_begin
+ID: 722
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u8 opcode;	offset:8;	size:1;	signed:0;
+	field:u8 sid;	offset:9;	size:1;	signed:0;
+	field:u16 addr;	offset:10;	size:2;	signed:0;
+	field:u8 len;	offset:12;	size:1;	signed:0;
+	field:__data_loc u8[] buf;	offset:16;	size:4;	signed:0;
+
+print fmt: "opc=%d sid=%02d addr=0x%04x len=%d buf=0x[%*phD]", (int)REC->opcode, (int)REC->sid, (int)REC->addr, (int)REC->len, (int)REC->len, __get_dynamic_array(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spmi/spmi_write_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spmi/spmi_write_end/format
new file mode 100644
index 0000000..5f30733
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/spmi/spmi_write_end/format
@@ -0,0 +1,14 @@
+name: spmi_write_end
+ID: 723
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u8 opcode;	offset:8;	size:1;	signed:0;
+	field:u8 sid;	offset:9;	size:1;	signed:0;
+	field:u16 addr;	offset:10;	size:2;	signed:0;
+	field:int ret;	offset:12;	size:4;	signed:1;
+
+print fmt: "opc=%d sid=%02d addr=0x%04x ret=%d", (int)REC->opcode, (int)REC->sid, (int)REC->addr, REC->ret
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/swiotlb/swiotlb_bounced/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/swiotlb/swiotlb_bounced/format
new file mode 100644
index 0000000..3825512
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/swiotlb/swiotlb_bounced/format
@@ -0,0 +1,15 @@
+name: swiotlb_bounced
+ID: 132
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] dev_name;	offset:8;	size:4;	signed:0;
+	field:u64 dma_mask;	offset:16;	size:8;	signed:0;
+	field:dma_addr_t dev_addr;	offset:24;	size:8;	signed:0;
+	field:size_t size;	offset:32;	size:8;	signed:0;
+	field:enum swiotlb_force swiotlb_force;	offset:40;	size:4;	signed:0;
+
+print fmt: "dev_name: %s dma_mask=%llx dev_addr=%llx size=%zu %s", __get_str(dev_name), REC->dma_mask, (unsigned long long)REC->dev_addr, REC->size, __print_symbolic(REC->swiotlb_force, { SWIOTLB_NORMAL, "NORMAL" }, { SWIOTLB_FORCE, "FORCE" }, { SWIOTLB_NO_FORCE, "NO_FORCE" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/synthetic/rss_stat_throttled/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/synthetic/rss_stat_throttled/format
new file mode 100644
index 0000000..fd62822
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/synthetic/rss_stat_throttled/format
@@ -0,0 +1,14 @@
+name: rss_stat_throttled
+ID: 1246
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int mm_id;	offset:8;	size:4;	signed:0;
+	field:unsigned int curr;	offset:16;	size:4;	signed:0;
+	field:int member;	offset:24;	size:4;	signed:1;
+	field:long size;	offset:32;	size:8;	signed:1;
+
+print fmt: "mm_id=%u, curr=%u, member=%d, size=%ld", REC->mm_id, REC->curr, REC->member, REC->size
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/systrace/0/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/systrace/0/format
new file mode 100644
index 0000000..1f6e4db
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/systrace/0/format
@@ -0,0 +1,14 @@
+name: 0
+ID: 1057
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int flag;	offset:8;	size:4;	signed:1;
+	field:int pid;	offset:12;	size:4;	signed:1;
+	field:__data_loc char[] name;	offset:16;	size:4;	signed:0;
+	field:int64_t value;	offset:24;	size:8;	signed:1;
+
+print fmt: "%s|%d|%s|%lld", __print_flags(REC->flag, "", { SYSTRACE_EVENT_BEGIN, "B" }, { SYSTRACE_EVENT_END, "E" }, { SYSTRACE_EVENT_INT64, "C" }), REC->pid, __get_str(name), REC->value
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/task/task_newtask/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/task/task_newtask/format
new file mode 100644
index 0000000..ac7042b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/task/task_newtask/format
@@ -0,0 +1,14 @@
+name: task_newtask
+ID: 63
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:pid_t pid;	offset:8;	size:4;	signed:1;
+	field:char comm[16];	offset:12;	size:16;	signed:0;
+	field:unsigned long clone_flags;	offset:32;	size:8;	signed:0;
+	field:short oom_score_adj;	offset:40;	size:2;	signed:1;
+
+print fmt: "pid=%d comm=%s clone_flags=%lx oom_score_adj=%hd", REC->pid, REC->comm, REC->clone_flags, REC->oom_score_adj
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/task/task_rename/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/task/task_rename/format
new file mode 100644
index 0000000..cce6d43
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/task/task_rename/format
@@ -0,0 +1,14 @@
+name: task_rename
+ID: 64
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:pid_t pid;	offset:8;	size:4;	signed:1;
+	field:char oldcomm[16];	offset:12;	size:16;	signed:0;
+	field:char newcomm[16];	offset:28;	size:16;	signed:0;
+	field:short oom_score_adj;	offset:44;	size:2;	signed:1;
+
+print fmt: "pid=%d oldcomm=%s newcomm=%s oom_score_adj=%hd", REC->pid, REC->oldcomm, REC->newcomm, REC->oom_score_adj
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tcp/tcp_destroy_sock/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tcp/tcp_destroy_sock/format
new file mode 100644
index 0000000..c06dc6c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tcp/tcp_destroy_sock/format
@@ -0,0 +1,18 @@
+name: tcp_destroy_sock
+ID: 963
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const void * skaddr;	offset:8;	size:8;	signed:0;
+	field:__u16 sport;	offset:16;	size:2;	signed:0;
+	field:__u16 dport;	offset:18;	size:2;	signed:0;
+	field:__u8 saddr[4];	offset:20;	size:4;	signed:0;
+	field:__u8 daddr[4];	offset:24;	size:4;	signed:0;
+	field:__u8 saddr_v6[16];	offset:28;	size:16;	signed:0;
+	field:__u8 daddr_v6[16];	offset:44;	size:16;	signed:0;
+	field:__u64 sock_cookie;	offset:64;	size:8;	signed:0;
+
+print fmt: "sport=%hu dport=%hu saddr=%pI4 daddr=%pI4 saddrv6=%pI6c daddrv6=%pI6c sock_cookie=%llx", REC->sport, REC->dport, REC->saddr, REC->daddr, REC->saddr_v6, REC->daddr_v6, REC->sock_cookie
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tcp/tcp_probe/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tcp/tcp_probe/format
new file mode 100644
index 0000000..6e93855
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tcp/tcp_probe/format
@@ -0,0 +1,24 @@
+name: tcp_probe
+ID: 964
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__u8 saddr[sizeof(struct sockaddr_in6)];	offset:8;	size:28;	signed:0;
+	field:__u8 daddr[sizeof(struct sockaddr_in6)];	offset:36;	size:28;	signed:0;
+	field:__u16 sport;	offset:64;	size:2;	signed:0;
+	field:__u16 dport;	offset:66;	size:2;	signed:0;
+	field:__u32 mark;	offset:68;	size:4;	signed:0;
+	field:__u16 data_len;	offset:72;	size:2;	signed:0;
+	field:__u32 snd_nxt;	offset:76;	size:4;	signed:0;
+	field:__u32 snd_una;	offset:80;	size:4;	signed:0;
+	field:__u32 snd_cwnd;	offset:84;	size:4;	signed:0;
+	field:__u32 ssthresh;	offset:88;	size:4;	signed:0;
+	field:__u32 snd_wnd;	offset:92;	size:4;	signed:0;
+	field:__u32 srtt;	offset:96;	size:4;	signed:0;
+	field:__u32 rcv_wnd;	offset:100;	size:4;	signed:0;
+	field:__u64 sock_cookie;	offset:104;	size:8;	signed:0;
+
+print fmt: "src=%pISpc dest=%pISpc mark=%#x data_len=%d snd_nxt=%#x snd_una=%#x snd_cwnd=%u ssthresh=%u snd_wnd=%u srtt=%u rcv_wnd=%u sock_cookie=%llx", REC->saddr, REC->daddr, REC->mark, REC->data_len, REC->snd_nxt, REC->snd_una, REC->snd_cwnd, REC->ssthresh, REC->snd_wnd, REC->srtt, REC->rcv_wnd, REC->sock_cookie
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tcp/tcp_rcv_space_adjust/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tcp/tcp_rcv_space_adjust/format
new file mode 100644
index 0000000..feda161
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tcp/tcp_rcv_space_adjust/format
@@ -0,0 +1,18 @@
+name: tcp_rcv_space_adjust
+ID: 965
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const void * skaddr;	offset:8;	size:8;	signed:0;
+	field:__u16 sport;	offset:16;	size:2;	signed:0;
+	field:__u16 dport;	offset:18;	size:2;	signed:0;
+	field:__u8 saddr[4];	offset:20;	size:4;	signed:0;
+	field:__u8 daddr[4];	offset:24;	size:4;	signed:0;
+	field:__u8 saddr_v6[16];	offset:28;	size:16;	signed:0;
+	field:__u8 daddr_v6[16];	offset:44;	size:16;	signed:0;
+	field:__u64 sock_cookie;	offset:64;	size:8;	signed:0;
+
+print fmt: "sport=%hu dport=%hu saddr=%pI4 daddr=%pI4 saddrv6=%pI6c daddrv6=%pI6c sock_cookie=%llx", REC->sport, REC->dport, REC->saddr, REC->daddr, REC->saddr_v6, REC->daddr_v6, REC->sock_cookie
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tcp/tcp_receive_reset/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tcp/tcp_receive_reset/format
new file mode 100644
index 0000000..61a7597
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tcp/tcp_receive_reset/format
@@ -0,0 +1,18 @@
+name: tcp_receive_reset
+ID: 966
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const void * skaddr;	offset:8;	size:8;	signed:0;
+	field:__u16 sport;	offset:16;	size:2;	signed:0;
+	field:__u16 dport;	offset:18;	size:2;	signed:0;
+	field:__u8 saddr[4];	offset:20;	size:4;	signed:0;
+	field:__u8 daddr[4];	offset:24;	size:4;	signed:0;
+	field:__u8 saddr_v6[16];	offset:28;	size:16;	signed:0;
+	field:__u8 daddr_v6[16];	offset:44;	size:16;	signed:0;
+	field:__u64 sock_cookie;	offset:64;	size:8;	signed:0;
+
+print fmt: "sport=%hu dport=%hu saddr=%pI4 daddr=%pI4 saddrv6=%pI6c daddrv6=%pI6c sock_cookie=%llx", REC->sport, REC->dport, REC->saddr, REC->daddr, REC->saddr_v6, REC->daddr_v6, REC->sock_cookie
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tcp/tcp_retransmit_skb/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tcp/tcp_retransmit_skb/format
new file mode 100644
index 0000000..a73ee0e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tcp/tcp_retransmit_skb/format
@@ -0,0 +1,19 @@
+name: tcp_retransmit_skb
+ID: 967
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const void * skbaddr;	offset:8;	size:8;	signed:0;
+	field:const void * skaddr;	offset:16;	size:8;	signed:0;
+	field:int state;	offset:24;	size:4;	signed:1;
+	field:__u16 sport;	offset:28;	size:2;	signed:0;
+	field:__u16 dport;	offset:30;	size:2;	signed:0;
+	field:__u8 saddr[4];	offset:32;	size:4;	signed:0;
+	field:__u8 daddr[4];	offset:36;	size:4;	signed:0;
+	field:__u8 saddr_v6[16];	offset:40;	size:16;	signed:0;
+	field:__u8 daddr_v6[16];	offset:56;	size:16;	signed:0;
+
+print fmt: "sport=%hu dport=%hu saddr=%pI4 daddr=%pI4 saddrv6=%pI6c daddrv6=%pI6c state=%s", REC->sport, REC->dport, REC->saddr, REC->daddr, REC->saddr_v6, REC->daddr_v6, __print_symbolic(REC->state, { TCP_ESTABLISHED, "TCP_ESTABLISHED" }, { TCP_SYN_SENT, "TCP_SYN_SENT" }, { TCP_SYN_RECV, "TCP_SYN_RECV" }, { TCP_FIN_WAIT1, "TCP_FIN_WAIT1" }, { TCP_FIN_WAIT2, "TCP_FIN_WAIT2" }, { TCP_TIME_WAIT, "TCP_TIME_WAIT" }, { TCP_CLOSE, "TCP_CLOSE" }, { TCP_CLOSE_WAIT, "TCP_CLOSE_WAIT" }, { TCP_LAST_ACK, "TCP_LAST_ACK" }, { TCP_LISTEN, "TCP_LISTEN" }, { TCP_CLOSING, "TCP_CLOSING" }, { TCP_NEW_SYN_RECV, "TCP_NEW_SYN_RECV" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tcp/tcp_retransmit_synack/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tcp/tcp_retransmit_synack/format
new file mode 100644
index 0000000..3351501
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tcp/tcp_retransmit_synack/format
@@ -0,0 +1,18 @@
+name: tcp_retransmit_synack
+ID: 968
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const void * skaddr;	offset:8;	size:8;	signed:0;
+	field:const void * req;	offset:16;	size:8;	signed:0;
+	field:__u16 sport;	offset:24;	size:2;	signed:0;
+	field:__u16 dport;	offset:26;	size:2;	signed:0;
+	field:__u8 saddr[4];	offset:28;	size:4;	signed:0;
+	field:__u8 daddr[4];	offset:32;	size:4;	signed:0;
+	field:__u8 saddr_v6[16];	offset:36;	size:16;	signed:0;
+	field:__u8 daddr_v6[16];	offset:52;	size:16;	signed:0;
+
+print fmt: "sport=%hu dport=%hu saddr=%pI4 daddr=%pI4 saddrv6=%pI6c daddrv6=%pI6c", REC->sport, REC->dport, REC->saddr, REC->daddr, REC->saddr_v6, REC->daddr_v6
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tcp/tcp_send_reset/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tcp/tcp_send_reset/format
new file mode 100644
index 0000000..a11e09e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tcp/tcp_send_reset/format
@@ -0,0 +1,19 @@
+name: tcp_send_reset
+ID: 969
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const void * skbaddr;	offset:8;	size:8;	signed:0;
+	field:const void * skaddr;	offset:16;	size:8;	signed:0;
+	field:int state;	offset:24;	size:4;	signed:1;
+	field:__u16 sport;	offset:28;	size:2;	signed:0;
+	field:__u16 dport;	offset:30;	size:2;	signed:0;
+	field:__u8 saddr[4];	offset:32;	size:4;	signed:0;
+	field:__u8 daddr[4];	offset:36;	size:4;	signed:0;
+	field:__u8 saddr_v6[16];	offset:40;	size:16;	signed:0;
+	field:__u8 daddr_v6[16];	offset:56;	size:16;	signed:0;
+
+print fmt: "sport=%hu dport=%hu saddr=%pI4 daddr=%pI4 saddrv6=%pI6c daddrv6=%pI6c state=%s", REC->sport, REC->dport, REC->saddr, REC->daddr, REC->saddr_v6, REC->daddr_v6, __print_symbolic(REC->state, { TCP_ESTABLISHED, "TCP_ESTABLISHED" }, { TCP_SYN_SENT, "TCP_SYN_SENT" }, { TCP_SYN_RECV, "TCP_SYN_RECV" }, { TCP_FIN_WAIT1, "TCP_FIN_WAIT1" }, { TCP_FIN_WAIT2, "TCP_FIN_WAIT2" }, { TCP_TIME_WAIT, "TCP_TIME_WAIT" }, { TCP_CLOSE, "TCP_CLOSE" }, { TCP_CLOSE_WAIT, "TCP_CLOSE_WAIT" }, { TCP_LAST_ACK, "TCP_LAST_ACK" }, { TCP_LISTEN, "TCP_LISTEN" }, { TCP_CLOSING, "TCP_CLOSING" }, { TCP_NEW_SYN_RECV, "TCP_NEW_SYN_RECV" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal/cdev_update/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal/cdev_update/format
new file mode 100644
index 0000000..d44decc
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal/cdev_update/format
@@ -0,0 +1,12 @@
+name: cdev_update
+ID: 852
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] type;	offset:8;	size:4;	signed:0;
+	field:unsigned long target;	offset:16;	size:8;	signed:0;
+
+print fmt: "type=%s target=%lu", __get_str(type), REC->target
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal/thermal_power_cpu_get_power/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal/thermal_power_cpu_get_power/format
new file mode 100644
index 0000000..3436c86
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal/thermal_power_cpu_get_power/format
@@ -0,0 +1,15 @@
+name: thermal_power_cpu_get_power
+ID: 853
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc unsigned long[] cpumask;	offset:8;	size:4;	signed:0;
+	field:unsigned long freq;	offset:16;	size:8;	signed:0;
+	field:__data_loc u32[] load;	offset:24;	size:4;	signed:0;
+	field:size_t load_len;	offset:32;	size:8;	signed:0;
+	field:u32 dynamic_power;	offset:40;	size:4;	signed:0;
+
+print fmt: "cpus=%s freq=%lu load={%s} dynamic_power=%d", __get_bitmask(cpumask), REC->freq, __print_array(__get_dynamic_array(load), REC->load_len, 4), REC->dynamic_power
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal/thermal_power_cpu_limit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal/thermal_power_cpu_limit/format
new file mode 100644
index 0000000..440797a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal/thermal_power_cpu_limit/format
@@ -0,0 +1,14 @@
+name: thermal_power_cpu_limit
+ID: 854
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc unsigned long[] cpumask;	offset:8;	size:4;	signed:0;
+	field:unsigned int freq;	offset:12;	size:4;	signed:0;
+	field:unsigned long cdev_state;	offset:16;	size:8;	signed:0;
+	field:u32 power;	offset:24;	size:4;	signed:0;
+
+print fmt: "cpus=%s freq=%u cdev_state=%lu power=%u", __get_bitmask(cpumask), REC->freq, REC->cdev_state, REC->power
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal/thermal_power_devfreq_get_power/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal/thermal_power_devfreq_get_power/format
new file mode 100644
index 0000000..2e61ab6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal/thermal_power_devfreq_get_power/format
@@ -0,0 +1,16 @@
+name: thermal_power_devfreq_get_power
+ID: 855
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] type;	offset:8;	size:4;	signed:0;
+	field:unsigned long freq;	offset:16;	size:8;	signed:0;
+	field:u32 load;	offset:24;	size:4;	signed:0;
+	field:u32 dynamic_power;	offset:28;	size:4;	signed:0;
+	field:u32 static_power;	offset:32;	size:4;	signed:0;
+	field:u32 power;	offset:36;	size:4;	signed:0;
+
+print fmt: "type=%s freq=%lu load=%u dynamic_power=%u static_power=%u power=%u", __get_str(type), REC->freq, REC->load, REC->dynamic_power, REC->static_power, REC->power
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal/thermal_power_devfreq_limit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal/thermal_power_devfreq_limit/format
new file mode 100644
index 0000000..b68ae3b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal/thermal_power_devfreq_limit/format
@@ -0,0 +1,14 @@
+name: thermal_power_devfreq_limit
+ID: 856
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] type;	offset:8;	size:4;	signed:0;
+	field:unsigned int freq;	offset:12;	size:4;	signed:0;
+	field:unsigned long cdev_state;	offset:16;	size:8;	signed:0;
+	field:u32 power;	offset:24;	size:4;	signed:0;
+
+print fmt: "type=%s freq=%u cdev_state=%lu power=%u", __get_str(type), REC->freq, REC->cdev_state, REC->power
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal/thermal_temperature/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal/thermal_temperature/format
new file mode 100644
index 0000000..6e23e59
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal/thermal_temperature/format
@@ -0,0 +1,14 @@
+name: thermal_temperature
+ID: 857
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] thermal_zone;	offset:8;	size:4;	signed:0;
+	field:int id;	offset:12;	size:4;	signed:1;
+	field:int temp_prev;	offset:16;	size:4;	signed:1;
+	field:int temp;	offset:20;	size:4;	signed:1;
+
+print fmt: "thermal_zone=%s id=%d temp_prev=%d temp=%d", __get_str(thermal_zone), REC->id, REC->temp_prev, REC->temp
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal/thermal_zone_trip/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal/thermal_zone_trip/format
new file mode 100644
index 0000000..7d56350
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal/thermal_zone_trip/format
@@ -0,0 +1,14 @@
+name: thermal_zone_trip
+ID: 858
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] thermal_zone;	offset:8;	size:4;	signed:0;
+	field:int id;	offset:12;	size:4;	signed:1;
+	field:int trip;	offset:16;	size:4;	signed:1;
+	field:enum thermal_trip_type trip_type;	offset:20;	size:4;	signed:0;
+
+print fmt: "thermal_zone=%s id=%d trip=%d trip_type=%s", __get_str(thermal_zone), REC->id, REC->trip, __print_symbolic(REC->trip_type, { 3, "CRITICAL"}, { 2, "HOT"}, { 1, "PASSIVE"}, { 0, "ACTIVE"})
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_cpu_pressure/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_cpu_pressure/format
new file mode 100644
index 0000000..e333cf4
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_cpu_pressure/format
@@ -0,0 +1,12 @@
+name: thermal_cpu_pressure
+ID: 1099
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long pressure;	offset:8;	size:8;	signed:0;
+	field:int cpu;	offset:16;	size:4;	signed:1;
+
+print fmt: "pressure=%lu cpu=%d", REC->pressure, REC->cpu
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_allow_max_power/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_allow_max_power/format
new file mode 100644
index 0000000..ad7b93c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_allow_max_power/format
@@ -0,0 +1,14 @@
+name: thermal_exynos_allow_max_power
+ID: 1100
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * tmu_name;	offset:8;	size:8;	signed:0;
+	field:bool is_hardlimited;	offset:16;	size:1;	signed:0;
+	field:const char * cdev_type;	offset:24;	size:8;	signed:0;
+	field:unsigned long state;	offset:32;	size:8;	signed:0;
+
+print fmt: "tmu_name:%s, is_hardlimited=%d, cdev:%s, target=%lu", REC->tmu_name, REC->is_hardlimited, REC->cdev_type, REC->state
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_arm_update/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_arm_update/format
new file mode 100644
index 0000000..fefabeb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_arm_update/format
@@ -0,0 +1,16 @@
+name: thermal_exynos_arm_update
+ID: 1101
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * tmu_name;	offset:8;	size:8;	signed:0;
+	field:bool is_cpu_hw_throttled;	offset:16;	size:1;	signed:0;
+	field:int ppm_throttle_level;	offset:20;	size:4;	signed:1;
+	field:int ppm_clr_level;	offset:24;	size:4;	signed:1;
+	field:int mpmm_throttle_level;	offset:28;	size:4;	signed:1;
+	field:int mpmm_clr_level;	offset:32;	size:4;	signed:1;
+
+print fmt: "tmu_name:%s is_cpu_hw_throttled=%d, ppm_throttle_lvl=0x%x, ppm_clr_lvl=0x%x, mpmm_throttle_lvl=0x%x, mpmm_clr_lvl=0x%x", REC->tmu_name, REC->is_cpu_hw_throttled, REC->ppm_throttle_level, REC->ppm_clr_level, REC->mpmm_throttle_level, REC->mpmm_clr_level
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_cpu_pause/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_cpu_pause/format
new file mode 100644
index 0000000..0ee8def
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_cpu_pause/format
@@ -0,0 +1,13 @@
+name: thermal_exynos_cpu_pause
+ID: 1102
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * tmu_name;	offset:8;	size:8;	signed:0;
+	field:__data_loc unsigned long[] cpumask;	offset:16;	size:4;	signed:0;
+	field:bool is_cpu_paused;	offset:20;	size:1;	signed:0;
+
+print fmt: "tmu_name:%s cpus=%s, is_cpu_paused=%d", REC->tmu_name, __get_bitmask(cpumask), REC->is_cpu_paused
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_hard_limit_cdev_update/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_hard_limit_cdev_update/format
new file mode 100644
index 0000000..36c88b5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_hard_limit_cdev_update/format
@@ -0,0 +1,16 @@
+name: thermal_exynos_hard_limit_cdev_update
+ID: 1103
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * tmu_name;	offset:8;	size:8;	signed:0;
+	field:const char * cdev_type;	offset:16;	size:8;	signed:0;
+	field:bool is_hardlimited;	offset:24;	size:1;	signed:0;
+	field:bool pid_switch_on;	offset:25;	size:1;	signed:0;
+	field:unsigned long prev_max_state;	offset:32;	size:8;	signed:0;
+	field:unsigned long state;	offset:40;	size:8;	signed:0;
+
+print fmt: "tmu_name:%s cdev:%s, is_hardlimited=%d, pid_switch_on=%d, prev_max_state=%lu, state=%lu", REC->tmu_name, REC->cdev_type, REC->is_hardlimited, REC->pid_switch_on, REC->prev_max_state, REC->state
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_power_allocator/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_power_allocator/format
new file mode 100644
index 0000000..a059f1b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_power_allocator/format
@@ -0,0 +1,17 @@
+name: thermal_exynos_power_allocator
+ID: 1104
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int tz_id;	offset:8;	size:4;	signed:1;
+	field:u32 power_range;	offset:12;	size:4;	signed:0;
+	field:u32 max_allocatable_power;	offset:16;	size:4;	signed:0;
+	field:int current_temp;	offset:20;	size:4;	signed:1;
+	field:s32 delta_temp;	offset:24;	size:4;	signed:1;
+	field:unsigned long cdev_state;	offset:32;	size:8;	signed:0;
+	field:bool is_hardlimited;	offset:40;	size:1;	signed:0;
+
+print fmt: "thermal_zone_id=%d power_range=%u max_allocatable_power=%u current_temperature=%d delta_temperature=%d cdev_state=%lu is_hardlimited=%d", REC->tz_id, REC->power_range, REC->max_allocatable_power, REC->current_temp, REC->delta_temp, REC->cdev_state, REC->is_hardlimited
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_power_allocator_pid/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_power_allocator_pid/format
new file mode 100644
index 0000000..dcfefc3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_power_allocator_pid/format
@@ -0,0 +1,16 @@
+name: thermal_exynos_power_allocator_pid
+ID: 1105
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int tz_id;	offset:8;	size:4;	signed:1;
+	field:s32 err;	offset:12;	size:4;	signed:1;
+	field:s32 err_integral;	offset:16;	size:4;	signed:1;
+	field:s64 p;	offset:24;	size:8;	signed:1;
+	field:s64 i;	offset:32;	size:8;	signed:1;
+	field:s32 output;	offset:40;	size:4;	signed:1;
+
+print fmt: "thermal_zone_id=%d err=%d err_integral=%d p=%lld i=%lld output=%d", REC->tz_id, REC->err, REC->err_integral, REC->p, REC->i, REC->output
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_power_cpu_get_power/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_power_cpu_get_power/format
new file mode 100644
index 0000000..6719d26
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_power_cpu_get_power/format
@@ -0,0 +1,17 @@
+name: thermal_exynos_power_cpu_get_power
+ID: 1106
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int tzid;	offset:8;	size:4;	signed:1;
+	field:int cpu;	offset:12;	size:4;	signed:1;
+	field:unsigned long freq;	offset:16;	size:8;	signed:0;
+	field:__data_loc u32[] load;	offset:24;	size:4;	signed:0;
+	field:size_t load_len;	offset:32;	size:8;	signed:0;
+	field:u32 dynamic_power;	offset:40;	size:4;	signed:0;
+	field:u32 static_power;	offset:44;	size:4;	signed:0;
+
+print fmt: "thermal_zone_id=%d cpu=%d freq=%lu load={%s} dynamic_power=%d static_power=%d", REC->tzid, REC->cpu, REC->freq, __print_array(__get_dynamic_array(load), REC->load_len, 4), REC->dynamic_power, REC->static_power
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_power_cpu_limit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_power_cpu_limit/format
new file mode 100644
index 0000000..6153124
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_power_cpu_limit/format
@@ -0,0 +1,15 @@
+name: thermal_exynos_power_cpu_limit
+ID: 1107
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int tzid;	offset:8;	size:4;	signed:1;
+	field:int cpu;	offset:12;	size:4;	signed:1;
+	field:unsigned int freq;	offset:16;	size:4;	signed:0;
+	field:unsigned long cdev_state;	offset:24;	size:8;	signed:0;
+	field:u32 power;	offset:32;	size:4;	signed:0;
+
+print fmt: "thermal_zone_id=%d cpu=%d freq=%u cdev_state=%lu power=%u", REC->tzid, REC->cpu, REC->freq, REC->cdev_state, REC->power
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_power_gpu_get_power/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_power_gpu_get_power/format
new file mode 100644
index 0000000..af93364
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_power_gpu_get_power/format
@@ -0,0 +1,14 @@
+name: thermal_exynos_power_gpu_get_power
+ID: 1108
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long freq;	offset:8;	size:8;	signed:0;
+	field:u32 load;	offset:16;	size:4;	signed:0;
+	field:u32 dynamic_power;	offset:20;	size:4;	signed:0;
+	field:u32 static_power;	offset:24;	size:4;	signed:0;
+
+print fmt: "freq=%lu load=%d dynamic_power=%d static_power=%d", REC->freq, REC->load, REC->dynamic_power, REC->static_power
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_power_gpu_limit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_power_gpu_limit/format
new file mode 100644
index 0000000..351022e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_power_gpu_limit/format
@@ -0,0 +1,13 @@
+name: thermal_exynos_power_gpu_limit
+ID: 1109
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int freq;	offset:8;	size:4;	signed:0;
+	field:unsigned long cdev_state;	offset:16;	size:8;	signed:0;
+	field:u32 power;	offset:24;	size:4;	signed:0;
+
+print fmt: "freq=%u cdev_state=%lu power=%u", REC->freq, REC->cdev_state, REC->power
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_tpu_pause/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_tpu_pause/format
new file mode 100644
index 0000000..de63e7c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/thermal_exynos_tpu_pause/format
@@ -0,0 +1,12 @@
+name: thermal_exynos_tpu_pause
+ID: 1110
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * tmu_name;	offset:8;	size:8;	signed:0;
+	field:bool is_paused;	offset:16;	size:1;	signed:0;
+
+print fmt: "tmu_name:%s is_paused=%d", REC->tmu_name, REC->is_paused
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/vendor_cdev_update/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/vendor_cdev_update/format
new file mode 100644
index 0000000..46a37df
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos/vendor_cdev_update/format
@@ -0,0 +1,13 @@
+name: vendor_cdev_update
+ID: 1111
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * cdev_type;	offset:8;	size:8;	signed:0;
+	field:unsigned long sysfs_req;	offset:16;	size:8;	signed:0;
+	field:unsigned long state;	offset:24;	size:8;	signed:0;
+
+print fmt: "cdev:%s sysfs_req=%lu, state=%lu", REC->cdev_type, REC->sysfs_req, REC->state
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos_gpu/thermal_exynos_power_gpu_get_power/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos_gpu/thermal_exynos_power_gpu_get_power/format
new file mode 100644
index 0000000..99e25c2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos_gpu/thermal_exynos_power_gpu_get_power/format
@@ -0,0 +1,14 @@
+name: thermal_exynos_power_gpu_get_power
+ID: 1112
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long freq;	offset:8;	size:8;	signed:0;
+	field:u32 load;	offset:16;	size:4;	signed:0;
+	field:u32 dynamic_power;	offset:20;	size:4;	signed:0;
+	field:u32 static_power;	offset:24;	size:4;	signed:0;
+
+print fmt: "freq=%lu load=%d dynamic_power=%d static_power=%d", REC->freq, REC->load, REC->dynamic_power, REC->static_power
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos_gpu/thermal_exynos_power_gpu_limit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos_gpu/thermal_exynos_power_gpu_limit/format
new file mode 100644
index 0000000..2099c24
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos_gpu/thermal_exynos_power_gpu_limit/format
@@ -0,0 +1,13 @@
+name: thermal_exynos_power_gpu_limit
+ID: 1113
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int freq;	offset:8;	size:4;	signed:0;
+	field:unsigned long cdev_state;	offset:16;	size:8;	signed:0;
+	field:u32 power;	offset:24;	size:4;	signed:0;
+
+print fmt: "freq=%u cdev_state=%lu power=%u", REC->freq, REC->cdev_state, REC->power
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos_gpu/vendor_cdev_update/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos_gpu/vendor_cdev_update/format
new file mode 100644
index 0000000..04883fb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_exynos_gpu/vendor_cdev_update/format
@@ -0,0 +1,13 @@
+name: vendor_cdev_update
+ID: 1114
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const char * cdev_type;	offset:8;	size:8;	signed:0;
+	field:unsigned long sysfs_req;	offset:16;	size:8;	signed:0;
+	field:unsigned long state;	offset:24;	size:8;	signed:0;
+
+print fmt: "cdev:%s sysfs_req=%lu, state=%lu", REC->cdev_type, REC->sysfs_req, REC->state
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_power_allocator/thermal_power_allocator/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_power_allocator/thermal_power_allocator/format
new file mode 100644
index 0000000..f7280bc
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_power_allocator/thermal_power_allocator/format
@@ -0,0 +1,20 @@
+name: thermal_power_allocator
+ID: 859
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int tz_id;	offset:8;	size:4;	signed:1;
+	field:__data_loc u32[] req_power;	offset:12;	size:4;	signed:0;
+	field:u32 total_req_power;	offset:16;	size:4;	signed:0;
+	field:__data_loc u32[] granted_power;	offset:20;	size:4;	signed:0;
+	field:u32 total_granted_power;	offset:24;	size:4;	signed:0;
+	field:size_t num_actors;	offset:32;	size:8;	signed:0;
+	field:u32 power_range;	offset:40;	size:4;	signed:0;
+	field:u32 max_allocatable_power;	offset:44;	size:4;	signed:0;
+	field:int current_temp;	offset:48;	size:4;	signed:1;
+	field:s32 delta_temp;	offset:52;	size:4;	signed:1;
+
+print fmt: "thermal_zone_id=%d req_power={%s} total_req_power=%u granted_power={%s} total_granted_power=%u power_range=%u max_allocatable_power=%u current_temperature=%d delta_temperature=%d", REC->tz_id, __print_array(__get_dynamic_array(req_power), REC->num_actors, 4), REC->total_req_power, __print_array(__get_dynamic_array(granted_power), REC->num_actors, 4), REC->total_granted_power, REC->power_range, REC->max_allocatable_power, REC->current_temp, REC->delta_temp
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_power_allocator/thermal_power_allocator_pid/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_power_allocator/thermal_power_allocator_pid/format
new file mode 100644
index 0000000..35429d1
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/thermal_power_allocator/thermal_power_allocator_pid/format
@@ -0,0 +1,17 @@
+name: thermal_power_allocator_pid
+ID: 860
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int tz_id;	offset:8;	size:4;	signed:1;
+	field:s32 err;	offset:12;	size:4;	signed:1;
+	field:s32 err_integral;	offset:16;	size:4;	signed:1;
+	field:s64 p;	offset:24;	size:8;	signed:1;
+	field:s64 i;	offset:32;	size:8;	signed:1;
+	field:s64 d;	offset:40;	size:8;	signed:1;
+	field:s32 output;	offset:48;	size:4;	signed:1;
+
+print fmt: "thermal_zone_id=%d err=%d err_integral=%d p=%lld i=%lld d=%lld output=%d", REC->tz_id, REC->err, REC->err_integral, REC->p, REC->i, REC->d, REC->output
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/hrtimer_cancel/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/hrtimer_cancel/format
new file mode 100644
index 0000000..df85472
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/hrtimer_cancel/format
@@ -0,0 +1,11 @@
+name: hrtimer_cancel
+ID: 133
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * hrtimer;	offset:8;	size:8;	signed:0;
+
+print fmt: "hrtimer=%p", REC->hrtimer
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/hrtimer_expire_entry/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/hrtimer_expire_entry/format
new file mode 100644
index 0000000..b25737b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/hrtimer_expire_entry/format
@@ -0,0 +1,13 @@
+name: hrtimer_expire_entry
+ID: 134
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * hrtimer;	offset:8;	size:8;	signed:0;
+	field:s64 now;	offset:16;	size:8;	signed:1;
+	field:void * function;	offset:24;	size:8;	signed:0;
+
+print fmt: "hrtimer=%p function=%ps now=%llu", REC->hrtimer, REC->function, (unsigned long long) REC->now
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/hrtimer_expire_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/hrtimer_expire_exit/format
new file mode 100644
index 0000000..1b39e18
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/hrtimer_expire_exit/format
@@ -0,0 +1,11 @@
+name: hrtimer_expire_exit
+ID: 135
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * hrtimer;	offset:8;	size:8;	signed:0;
+
+print fmt: "hrtimer=%p", REC->hrtimer
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/hrtimer_init/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/hrtimer_init/format
new file mode 100644
index 0000000..e012d2f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/hrtimer_init/format
@@ -0,0 +1,13 @@
+name: hrtimer_init
+ID: 136
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * hrtimer;	offset:8;	size:8;	signed:0;
+	field:clockid_t clockid;	offset:16;	size:4;	signed:1;
+	field:enum hrtimer_mode mode;	offset:20;	size:4;	signed:0;
+
+print fmt: "hrtimer=%p clockid=%s mode=%s", REC->hrtimer, __print_symbolic(REC->clockid, { 0, "CLOCK_REALTIME" }, { 1, "CLOCK_MONOTONIC" }, { 7, "CLOCK_BOOTTIME" }, { 11, "CLOCK_TAI" }), __print_symbolic(REC->mode, { HRTIMER_MODE_ABS, "ABS" }, { HRTIMER_MODE_REL, "REL" }, { HRTIMER_MODE_ABS_PINNED, "ABS|PINNED" }, { HRTIMER_MODE_REL_PINNED, "REL|PINNED" }, { HRTIMER_MODE_ABS_SOFT, "ABS|SOFT" }, { HRTIMER_MODE_REL_SOFT, "REL|SOFT" }, { HRTIMER_MODE_ABS_PINNED_SOFT, "ABS|PINNED|SOFT" }, { HRTIMER_MODE_REL_PINNED_SOFT, "REL|PINNED|SOFT" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/hrtimer_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/hrtimer_start/format
new file mode 100644
index 0000000..21cf94f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/hrtimer_start/format
@@ -0,0 +1,15 @@
+name: hrtimer_start
+ID: 137
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * hrtimer;	offset:8;	size:8;	signed:0;
+	field:void * function;	offset:16;	size:8;	signed:0;
+	field:s64 expires;	offset:24;	size:8;	signed:1;
+	field:s64 softexpires;	offset:32;	size:8;	signed:1;
+	field:enum hrtimer_mode mode;	offset:40;	size:4;	signed:0;
+
+print fmt: "hrtimer=%p function=%ps expires=%llu softexpires=%llu mode=%s", REC->hrtimer, REC->function, (unsigned long long) REC->expires, (unsigned long long) REC->softexpires, __print_symbolic(REC->mode, { HRTIMER_MODE_ABS, "ABS" }, { HRTIMER_MODE_REL, "REL" }, { HRTIMER_MODE_ABS_PINNED, "ABS|PINNED" }, { HRTIMER_MODE_REL_PINNED, "REL|PINNED" }, { HRTIMER_MODE_ABS_SOFT, "ABS|SOFT" }, { HRTIMER_MODE_REL_SOFT, "REL|SOFT" }, { HRTIMER_MODE_ABS_PINNED_SOFT, "ABS|PINNED|SOFT" }, { HRTIMER_MODE_REL_PINNED_SOFT, "REL|PINNED|SOFT" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/itimer_expire/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/itimer_expire/format
new file mode 100644
index 0000000..c0dfd68
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/itimer_expire/format
@@ -0,0 +1,13 @@
+name: itimer_expire
+ID: 138
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int which;	offset:8;	size:4;	signed:1;
+	field:pid_t pid;	offset:12;	size:4;	signed:1;
+	field:unsigned long long now;	offset:16;	size:8;	signed:0;
+
+print fmt: "which=%d pid=%d now=%llu", REC->which, (int) REC->pid, REC->now
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/itimer_state/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/itimer_state/format
new file mode 100644
index 0000000..ac2e08a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/itimer_state/format
@@ -0,0 +1,16 @@
+name: itimer_state
+ID: 139
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int which;	offset:8;	size:4;	signed:1;
+	field:unsigned long long expires;	offset:16;	size:8;	signed:0;
+	field:long value_sec;	offset:24;	size:8;	signed:1;
+	field:long value_nsec;	offset:32;	size:8;	signed:1;
+	field:long interval_sec;	offset:40;	size:8;	signed:1;
+	field:long interval_nsec;	offset:48;	size:8;	signed:1;
+
+print fmt: "which=%d expires=%llu it_value=%ld.%06ld it_interval=%ld.%06ld", REC->which, REC->expires, REC->value_sec, REC->value_nsec / 1000L, REC->interval_sec, REC->interval_nsec / 1000L
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/tick_stop/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/tick_stop/format
new file mode 100644
index 0000000..551f2b8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/tick_stop/format
@@ -0,0 +1,12 @@
+name: tick_stop
+ID: 140
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int success;	offset:8;	size:4;	signed:1;
+	field:int dependency;	offset:12;	size:4;	signed:1;
+
+print fmt: "success=%d dependency=%s", REC->success, __print_symbolic(REC->dependency, { 0, "NONE" }, { (1 << 0), "POSIX_TIMER" }, { (1 << 1), "PERF_EVENTS" }, { (1 << 2), "SCHED" }, { (1 << 3), "CLOCK_UNSTABLE" }, { (1 << 4), "RCU" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/timer_cancel/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/timer_cancel/format
new file mode 100644
index 0000000..68cd85f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/timer_cancel/format
@@ -0,0 +1,11 @@
+name: timer_cancel
+ID: 141
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * timer;	offset:8;	size:8;	signed:0;
+
+print fmt: "timer=%p", REC->timer
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/timer_expire_entry/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/timer_expire_entry/format
new file mode 100644
index 0000000..21eac28
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/timer_expire_entry/format
@@ -0,0 +1,14 @@
+name: timer_expire_entry
+ID: 142
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * timer;	offset:8;	size:8;	signed:0;
+	field:unsigned long now;	offset:16;	size:8;	signed:0;
+	field:void * function;	offset:24;	size:8;	signed:0;
+	field:unsigned long baseclk;	offset:32;	size:8;	signed:0;
+
+print fmt: "timer=%p function=%ps now=%lu baseclk=%lu", REC->timer, REC->function, REC->now, REC->baseclk
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/timer_expire_exit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/timer_expire_exit/format
new file mode 100644
index 0000000..a50d9e4
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/timer_expire_exit/format
@@ -0,0 +1,11 @@
+name: timer_expire_exit
+ID: 143
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * timer;	offset:8;	size:8;	signed:0;
+
+print fmt: "timer=%p", REC->timer
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/timer_init/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/timer_init/format
new file mode 100644
index 0000000..124d1a4
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/timer_init/format
@@ -0,0 +1,11 @@
+name: timer_init
+ID: 144
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * timer;	offset:8;	size:8;	signed:0;
+
+print fmt: "timer=%p", REC->timer
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/timer_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/timer_start/format
new file mode 100644
index 0000000..1b8f84c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/timer/timer_start/format
@@ -0,0 +1,15 @@
+name: timer_start
+ID: 145
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * timer;	offset:8;	size:8;	signed:0;
+	field:void * function;	offset:16;	size:8;	signed:0;
+	field:unsigned long expires;	offset:24;	size:8;	signed:0;
+	field:unsigned long now;	offset:32;	size:8;	signed:0;
+	field:unsigned int flags;	offset:40;	size:4;	signed:0;
+
+print fmt: "timer=%p function=%ps expires=%lu [timeout=%ld] cpu=%u idx=%u flags=%s", REC->timer, REC->function, REC->expires, (long)REC->expires - REC->now, REC->flags & 0x0003FFFF, REC->flags >> 22, __print_flags(REC->flags & (0x00040000 | 0x00080000 | 0x00100000 | 0x00200000), "|", { 0x00040000, "M" }, { 0x00080000, "D" }, { 0x00100000, "P" }, { 0x00200000, "I" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_l2_device_event/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_l2_device_event/format
new file mode 100644
index 0000000..b05350a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_l2_device_event/format
@@ -0,0 +1,17 @@
+name: tipc_l2_device_event
+ID: 986
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] dev_name;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] b_name;	offset:12;	size:4;	signed:0;
+	field:unsigned long evt;	offset:16;	size:8;	signed:0;
+	field:u8 b_up;	offset:24;	size:1;	signed:0;
+	field:u8 carrier;	offset:25;	size:1;	signed:0;
+	field:u8 oper;	offset:26;	size:1;	signed:0;
+
+print fmt: "%s on: <%s>/<%s> oper: %s carrier: %s bearer: %s
+", __print_symbolic(REC->evt, {(NETDEV_CHANGE), "NETDEV_CHANGE" }, {(NETDEV_GOING_DOWN), "NETDEV_GOING_DOWN" }, {(NETDEV_UP), "NETDEV_UP" }, {(NETDEV_CHANGEMTU), "NETDEV_CHANGEMTU" }, {(NETDEV_CHANGEADDR), "NETDEV_CHANGEADDR" }, {(NETDEV_UNREGISTER), "NETDEV_UNREGISTER" }, {(NETDEV_CHANGENAME), "NETDEV_CHANGENAME" }), __get_str(dev_name), __get_str(b_name), (REC->oper) ? "up" : "down", (REC->carrier) ? "ok" : "notok", (REC->b_up) ? "up" : "down"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_link_bc_ack/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_link_bc_ack/format
new file mode 100644
index 0000000..5320703
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_link_bc_ack/format
@@ -0,0 +1,17 @@
+name: tipc_link_bc_ack
+ID: 987
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[68];	offset:8;	size:68;	signed:0;
+	field:u16 from;	offset:76;	size:2;	signed:0;
+	field:u16 to;	offset:78;	size:2;	signed:0;
+	field:u32 len;	offset:80;	size:4;	signed:0;
+	field:u16 fseqno;	offset:84;	size:2;	signed:0;
+	field:u16 lseqno;	offset:86;	size:2;	signed:0;
+
+print fmt: "<%s> acked: %u gap: %u transmq: %u [%u-%u]
+", REC->name, REC->from, REC->to, REC->len, REC->fseqno, REC->lseqno
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_link_conges/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_link_conges/format
new file mode 100644
index 0000000..b1db76a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_link_conges/format
@@ -0,0 +1,14 @@
+name: tipc_link_conges
+ID: 988
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:char name[68];	offset:12;	size:68;	signed:0;
+	field:__data_loc char[] buf;	offset:80;	size:4;	signed:0;
+
+print fmt: "<%s> %s
+%s", REC->name, __get_str(header), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_link_dump/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_link_dump/format
new file mode 100644
index 0000000..d09acc8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_link_dump/format
@@ -0,0 +1,14 @@
+name: tipc_link_dump
+ID: 989
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:char name[68];	offset:12;	size:68;	signed:0;
+	field:__data_loc char[] buf;	offset:80;	size:4;	signed:0;
+
+print fmt: "<%s> %s
+%s", REC->name, __get_str(header), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_link_fsm/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_link_fsm/format
new file mode 100644
index 0000000..8dc2ac0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_link_fsm/format
@@ -0,0 +1,15 @@
+name: tipc_link_fsm
+ID: 990
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:u32 os;	offset:12;	size:4;	signed:0;
+	field:u32 ns;	offset:16;	size:4;	signed:0;
+	field:u32 evt;	offset:20;	size:4;	signed:0;
+
+print fmt: "<%s> %s--(%s)->%s
+", __get_str(name), __print_symbolic(REC->os, {(0xe), "ESTABLISHED" }, {(0xe << 4), "ESTABLISHING" }, {(0x1 << 8), "RESET" }, {(0x2 << 12), "RESETTING" }, {(0xd << 16), "PEER_RESET" }, {(0xf << 20), "FAILINGOVER" }, {(0xc << 24), "SYNCHING" }, {(0xdd), "SELF_DOWN_PEER_DOWN" }, {(0xaa), "SELF_UP_PEER_UP" }, {(0xd1), "SELF_DOWN_PEER_LEAVING" }, {(0xac), "SELF_UP_PEER_COMING" }, {(0xca), "SELF_COMING_PEER_UP" }, {(0x1d), "SELF_LEAVING_PEER_DOWN" }, {(0xf0), "FAILINGOVER" }, {(0xcc), "SYNCHING" }), __print_symbolic(REC->evt, {(0xec1ab1e), "ESTABLISH_EVT" }, {(0x9eed0e), "PEER_RESET_EVT" }, {(0xfa110e), "FAILURE_EVT" }, {(0x10ca1d0e), "RESET_EVT" }, {(0xfa110bee), "FAILOVER_BEGIN_EVT" }, {(0xfa110ede), "FAILOVER_END_EVT" }, {(0xc1ccbee), "SYNCH_BEGIN_EVT" }, {(0xc1ccede), "SYNCH_END_EVT" }, {(0xece), "SELF_ESTABL_CONTACT_EVT" }, {(0x1ce), "SELF_LOST_CONTACT_EVT" }, {(0x9ece), "PEER_ESTABL_CONTACT_EVT" }, {(0x91ce), "PEER_LOST_CONTACT_EVT" }, {(0xfbe), "FAILOVER_BEGIN_EVT" }, {(0xfee), "FAILOVER_END_EVT" }, {(0xcbe), "SYNCH_BEGIN_EVT" }, {(0xcee), "SYNCH_END_EVT" }), __print_symbolic(REC->ns, {(0xe), "ESTABLISHED" }, {(0xe << 4), "ESTABLISHING" }, {(0x1 << 8), "RESET" }, {(0x2 << 12), "RESETTING" }, {(0xd << 16), "PEER_RESET" }, {(0xf << 20), "FAILINGOVER" }, {(0xc << 24), "SYNCHING" }, {(0xdd), "SELF_DOWN_PEER_DOWN" }, {(0xaa), "SELF_UP_PEER_UP" }, {(0xd1), "SELF_DOWN_PEER_LEAVING" }, {(0xac), "SELF_UP_PEER_COMING" }, {(0xca), "SELF_COMING_PEER_UP" }, {(0x1d), "SELF_LEAVING_PEER_DOWN" }, {(0xf0), "FAILINGOVER" }, {(0xcc), "SYNCHING" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_link_reset/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_link_reset/format
new file mode 100644
index 0000000..4dc87ad
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_link_reset/format
@@ -0,0 +1,14 @@
+name: tipc_link_reset
+ID: 991
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:char name[68];	offset:12;	size:68;	signed:0;
+	field:__data_loc char[] buf;	offset:80;	size:4;	signed:0;
+
+print fmt: "<%s> %s
+%s", REC->name, __get_str(header), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_link_retrans/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_link_retrans/format
new file mode 100644
index 0000000..a9a461c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_link_retrans/format
@@ -0,0 +1,17 @@
+name: tipc_link_retrans
+ID: 992
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[68];	offset:8;	size:68;	signed:0;
+	field:u16 from;	offset:76;	size:2;	signed:0;
+	field:u16 to;	offset:78;	size:2;	signed:0;
+	field:u32 len;	offset:80;	size:4;	signed:0;
+	field:u16 fseqno;	offset:84;	size:2;	signed:0;
+	field:u16 lseqno;	offset:86;	size:2;	signed:0;
+
+print fmt: "<%s> retrans req: [%u-%u] transmq: %u [%u-%u]
+", REC->name, REC->from, REC->to, REC->len, REC->fseqno, REC->lseqno
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_link_timeout/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_link_timeout/format
new file mode 100644
index 0000000..d0b4adc
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_link_timeout/format
@@ -0,0 +1,14 @@
+name: tipc_link_timeout
+ID: 993
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:char name[68];	offset:12;	size:68;	signed:0;
+	field:__data_loc char[] buf;	offset:80;	size:4;	signed:0;
+
+print fmt: "<%s> %s
+%s", REC->name, __get_str(header), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_link_too_silent/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_link_too_silent/format
new file mode 100644
index 0000000..cab5413
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_link_too_silent/format
@@ -0,0 +1,14 @@
+name: tipc_link_too_silent
+ID: 994
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:char name[68];	offset:12;	size:68;	signed:0;
+	field:__data_loc char[] buf;	offset:80;	size:4;	signed:0;
+
+print fmt: "<%s> %s
+%s", REC->name, __get_str(header), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_list_dump/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_list_dump/format
new file mode 100644
index 0000000..3fd873c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_list_dump/format
@@ -0,0 +1,13 @@
+name: tipc_list_dump
+ID: 995
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] buf;	offset:12;	size:4;	signed:0;
+
+print fmt: "%s
+%s", __get_str(header), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_check_state/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_check_state/format
new file mode 100644
index 0000000..1f8186c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_check_state/format
@@ -0,0 +1,14 @@
+name: tipc_node_check_state
+ID: 996
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:u32 addr;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] buf;	offset:16;	size:4;	signed:0;
+
+print fmt: "<%x> %s
+%s", REC->addr, __get_str(header), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_create/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_create/format
new file mode 100644
index 0000000..28bee5d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_create/format
@@ -0,0 +1,14 @@
+name: tipc_node_create
+ID: 997
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:u32 addr;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] buf;	offset:16;	size:4;	signed:0;
+
+print fmt: "<%x> %s
+%s", REC->addr, __get_str(header), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_delete/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_delete/format
new file mode 100644
index 0000000..0dd9a2d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_delete/format
@@ -0,0 +1,14 @@
+name: tipc_node_delete
+ID: 998
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:u32 addr;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] buf;	offset:16;	size:4;	signed:0;
+
+print fmt: "<%x> %s
+%s", REC->addr, __get_str(header), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_dump/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_dump/format
new file mode 100644
index 0000000..b1556d6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_dump/format
@@ -0,0 +1,14 @@
+name: tipc_node_dump
+ID: 999
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:u32 addr;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] buf;	offset:16;	size:4;	signed:0;
+
+print fmt: "<%x> %s
+%s", REC->addr, __get_str(header), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_fsm/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_fsm/format
new file mode 100644
index 0000000..3443538
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_fsm/format
@@ -0,0 +1,15 @@
+name: tipc_node_fsm
+ID: 1000
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:u32 os;	offset:12;	size:4;	signed:0;
+	field:u32 ns;	offset:16;	size:4;	signed:0;
+	field:u32 evt;	offset:20;	size:4;	signed:0;
+
+print fmt: "<%s> %s--(%s)->%s
+", __get_str(name), __print_symbolic(REC->os, {(0xe), "ESTABLISHED" }, {(0xe << 4), "ESTABLISHING" }, {(0x1 << 8), "RESET" }, {(0x2 << 12), "RESETTING" }, {(0xd << 16), "PEER_RESET" }, {(0xf << 20), "FAILINGOVER" }, {(0xc << 24), "SYNCHING" }, {(0xdd), "SELF_DOWN_PEER_DOWN" }, {(0xaa), "SELF_UP_PEER_UP" }, {(0xd1), "SELF_DOWN_PEER_LEAVING" }, {(0xac), "SELF_UP_PEER_COMING" }, {(0xca), "SELF_COMING_PEER_UP" }, {(0x1d), "SELF_LEAVING_PEER_DOWN" }, {(0xf0), "FAILINGOVER" }, {(0xcc), "SYNCHING" }), __print_symbolic(REC->evt, {(0xec1ab1e), "ESTABLISH_EVT" }, {(0x9eed0e), "PEER_RESET_EVT" }, {(0xfa110e), "FAILURE_EVT" }, {(0x10ca1d0e), "RESET_EVT" }, {(0xfa110bee), "FAILOVER_BEGIN_EVT" }, {(0xfa110ede), "FAILOVER_END_EVT" }, {(0xc1ccbee), "SYNCH_BEGIN_EVT" }, {(0xc1ccede), "SYNCH_END_EVT" }, {(0xece), "SELF_ESTABL_CONTACT_EVT" }, {(0x1ce), "SELF_LOST_CONTACT_EVT" }, {(0x9ece), "PEER_ESTABL_CONTACT_EVT" }, {(0x91ce), "PEER_LOST_CONTACT_EVT" }, {(0xfbe), "FAILOVER_BEGIN_EVT" }, {(0xfee), "FAILOVER_END_EVT" }, {(0xcbe), "SYNCH_BEGIN_EVT" }, {(0xcee), "SYNCH_END_EVT" }), __print_symbolic(REC->ns, {(0xe), "ESTABLISHED" }, {(0xe << 4), "ESTABLISHING" }, {(0x1 << 8), "RESET" }, {(0x2 << 12), "RESETTING" }, {(0xd << 16), "PEER_RESET" }, {(0xf << 20), "FAILINGOVER" }, {(0xc << 24), "SYNCHING" }, {(0xdd), "SELF_DOWN_PEER_DOWN" }, {(0xaa), "SELF_UP_PEER_UP" }, {(0xd1), "SELF_DOWN_PEER_LEAVING" }, {(0xac), "SELF_UP_PEER_COMING" }, {(0xca), "SELF_COMING_PEER_UP" }, {(0x1d), "SELF_LEAVING_PEER_DOWN" }, {(0xf0), "FAILINGOVER" }, {(0xcc), "SYNCHING" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_link_down/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_link_down/format
new file mode 100644
index 0000000..0333fee
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_link_down/format
@@ -0,0 +1,14 @@
+name: tipc_node_link_down
+ID: 1001
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:u32 addr;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] buf;	offset:16;	size:4;	signed:0;
+
+print fmt: "<%x> %s
+%s", REC->addr, __get_str(header), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_link_up/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_link_up/format
new file mode 100644
index 0000000..e2e655c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_link_up/format
@@ -0,0 +1,14 @@
+name: tipc_node_link_up
+ID: 1002
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:u32 addr;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] buf;	offset:16;	size:4;	signed:0;
+
+print fmt: "<%x> %s
+%s", REC->addr, __get_str(header), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_lost_contact/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_lost_contact/format
new file mode 100644
index 0000000..6afc86c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_lost_contact/format
@@ -0,0 +1,14 @@
+name: tipc_node_lost_contact
+ID: 1003
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:u32 addr;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] buf;	offset:16;	size:4;	signed:0;
+
+print fmt: "<%x> %s
+%s", REC->addr, __get_str(header), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_reset_links/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_reset_links/format
new file mode 100644
index 0000000..7962032
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_reset_links/format
@@ -0,0 +1,14 @@
+name: tipc_node_reset_links
+ID: 1004
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:u32 addr;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] buf;	offset:16;	size:4;	signed:0;
+
+print fmt: "<%x> %s
+%s", REC->addr, __get_str(header), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_timeout/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_timeout/format
new file mode 100644
index 0000000..9017a15
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_node_timeout/format
@@ -0,0 +1,14 @@
+name: tipc_node_timeout
+ID: 1005
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:u32 addr;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] buf;	offset:16;	size:4;	signed:0;
+
+print fmt: "<%x> %s
+%s", REC->addr, __get_str(header), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_proto_build/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_proto_build/format
new file mode 100644
index 0000000..b17e2ad
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_proto_build/format
@@ -0,0 +1,13 @@
+name: tipc_proto_build
+ID: 1006
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] buf;	offset:12;	size:4;	signed:0;
+
+print fmt: "%s
+%s", __get_str(header), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_proto_rcv/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_proto_rcv/format
new file mode 100644
index 0000000..f1ae3a0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_proto_rcv/format
@@ -0,0 +1,13 @@
+name: tipc_proto_rcv
+ID: 1007
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] buf;	offset:12;	size:4;	signed:0;
+
+print fmt: "%s
+%s", __get_str(header), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_advance_rx/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_advance_rx/format
new file mode 100644
index 0000000..1546efa
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_advance_rx/format
@@ -0,0 +1,15 @@
+name: tipc_sk_advance_rx
+ID: 1008
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:u32 portid;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] buf;	offset:16;	size:4;	signed:0;
+	field:__data_loc char[] skb_buf;	offset:20;	size:4;	signed:0;
+
+print fmt: "<%u> %s
+%s%s", REC->portid, __get_str(header), __get_str(skb_buf), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_create/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_create/format
new file mode 100644
index 0000000..629fb1f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_create/format
@@ -0,0 +1,15 @@
+name: tipc_sk_create
+ID: 1009
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:u32 portid;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] buf;	offset:16;	size:4;	signed:0;
+	field:__data_loc char[] skb_buf;	offset:20;	size:4;	signed:0;
+
+print fmt: "<%u> %s
+%s%s", REC->portid, __get_str(header), __get_str(skb_buf), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_drop_msg/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_drop_msg/format
new file mode 100644
index 0000000..7fff3b1
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_drop_msg/format
@@ -0,0 +1,15 @@
+name: tipc_sk_drop_msg
+ID: 1010
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:u32 portid;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] buf;	offset:16;	size:4;	signed:0;
+	field:__data_loc char[] skb_buf;	offset:20;	size:4;	signed:0;
+
+print fmt: "<%u> %s
+%s%s", REC->portid, __get_str(header), __get_str(skb_buf), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_dump/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_dump/format
new file mode 100644
index 0000000..3ecb0f0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_dump/format
@@ -0,0 +1,15 @@
+name: tipc_sk_dump
+ID: 1011
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:u32 portid;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] buf;	offset:16;	size:4;	signed:0;
+	field:__data_loc char[] skb_buf;	offset:20;	size:4;	signed:0;
+
+print fmt: "<%u> %s
+%s%s", REC->portid, __get_str(header), __get_str(skb_buf), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_filter_rcv/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_filter_rcv/format
new file mode 100644
index 0000000..8c72dd5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_filter_rcv/format
@@ -0,0 +1,15 @@
+name: tipc_sk_filter_rcv
+ID: 1012
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:u32 portid;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] buf;	offset:16;	size:4;	signed:0;
+	field:__data_loc char[] skb_buf;	offset:20;	size:4;	signed:0;
+
+print fmt: "<%u> %s
+%s%s", REC->portid, __get_str(header), __get_str(skb_buf), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_overlimit1/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_overlimit1/format
new file mode 100644
index 0000000..684d3d7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_overlimit1/format
@@ -0,0 +1,15 @@
+name: tipc_sk_overlimit1
+ID: 1013
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:u32 portid;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] buf;	offset:16;	size:4;	signed:0;
+	field:__data_loc char[] skb_buf;	offset:20;	size:4;	signed:0;
+
+print fmt: "<%u> %s
+%s%s", REC->portid, __get_str(header), __get_str(skb_buf), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_overlimit2/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_overlimit2/format
new file mode 100644
index 0000000..4ad70ef
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_overlimit2/format
@@ -0,0 +1,15 @@
+name: tipc_sk_overlimit2
+ID: 1014
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:u32 portid;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] buf;	offset:16;	size:4;	signed:0;
+	field:__data_loc char[] skb_buf;	offset:20;	size:4;	signed:0;
+
+print fmt: "<%u> %s
+%s%s", REC->portid, __get_str(header), __get_str(skb_buf), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_poll/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_poll/format
new file mode 100644
index 0000000..907b31e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_poll/format
@@ -0,0 +1,15 @@
+name: tipc_sk_poll
+ID: 1015
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:u32 portid;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] buf;	offset:16;	size:4;	signed:0;
+	field:__data_loc char[] skb_buf;	offset:20;	size:4;	signed:0;
+
+print fmt: "<%u> %s
+%s%s", REC->portid, __get_str(header), __get_str(skb_buf), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_rej_msg/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_rej_msg/format
new file mode 100644
index 0000000..0e85eac
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_rej_msg/format
@@ -0,0 +1,15 @@
+name: tipc_sk_rej_msg
+ID: 1016
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:u32 portid;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] buf;	offset:16;	size:4;	signed:0;
+	field:__data_loc char[] skb_buf;	offset:20;	size:4;	signed:0;
+
+print fmt: "<%u> %s
+%s%s", REC->portid, __get_str(header), __get_str(skb_buf), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_release/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_release/format
new file mode 100644
index 0000000..c8688b6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_release/format
@@ -0,0 +1,15 @@
+name: tipc_sk_release
+ID: 1017
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:u32 portid;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] buf;	offset:16;	size:4;	signed:0;
+	field:__data_loc char[] skb_buf;	offset:20;	size:4;	signed:0;
+
+print fmt: "<%u> %s
+%s%s", REC->portid, __get_str(header), __get_str(skb_buf), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_sendmcast/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_sendmcast/format
new file mode 100644
index 0000000..a257a8f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_sendmcast/format
@@ -0,0 +1,15 @@
+name: tipc_sk_sendmcast
+ID: 1018
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:u32 portid;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] buf;	offset:16;	size:4;	signed:0;
+	field:__data_loc char[] skb_buf;	offset:20;	size:4;	signed:0;
+
+print fmt: "<%u> %s
+%s%s", REC->portid, __get_str(header), __get_str(skb_buf), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_sendmsg/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_sendmsg/format
new file mode 100644
index 0000000..b2defbe
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_sendmsg/format
@@ -0,0 +1,15 @@
+name: tipc_sk_sendmsg
+ID: 1019
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:u32 portid;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] buf;	offset:16;	size:4;	signed:0;
+	field:__data_loc char[] skb_buf;	offset:20;	size:4;	signed:0;
+
+print fmt: "<%u> %s
+%s%s", REC->portid, __get_str(header), __get_str(skb_buf), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_sendstream/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_sendstream/format
new file mode 100644
index 0000000..0fbb800
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_sendstream/format
@@ -0,0 +1,15 @@
+name: tipc_sk_sendstream
+ID: 1020
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:u32 portid;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] buf;	offset:16;	size:4;	signed:0;
+	field:__data_loc char[] skb_buf;	offset:20;	size:4;	signed:0;
+
+print fmt: "<%u> %s
+%s%s", REC->portid, __get_str(header), __get_str(skb_buf), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_shutdown/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_shutdown/format
new file mode 100644
index 0000000..bda871b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_sk_shutdown/format
@@ -0,0 +1,15 @@
+name: tipc_sk_shutdown
+ID: 1021
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:u32 portid;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] buf;	offset:16;	size:4;	signed:0;
+	field:__data_loc char[] skb_buf;	offset:20;	size:4;	signed:0;
+
+print fmt: "<%u> %s
+%s%s", REC->portid, __get_str(header), __get_str(skb_buf), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_skb_dump/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_skb_dump/format
new file mode 100644
index 0000000..ea6bce8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/tipc/tipc_skb_dump/format
@@ -0,0 +1,13 @@
+name: tipc_skb_dump
+ID: 1022
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] header;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] buf;	offset:12;	size:4;	signed:0;
+
+print fmt: "%s
+%s", __get_str(header), __get_str(buf)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ucsi/ucsi_connector_change/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ucsi/ucsi_connector_change/format
new file mode 100644
index 0000000..2e3c065
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ucsi/ucsi_connector_change/format
@@ -0,0 +1,19 @@
+name: ucsi_connector_change
+ID: 817
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int port;	offset:8;	size:4;	signed:1;
+	field:u16 change;	offset:12;	size:2;	signed:0;
+	field:u8 opmode;	offset:14;	size:1;	signed:0;
+	field:u8 connected;	offset:15;	size:1;	signed:0;
+	field:u8 pwr_dir;	offset:16;	size:1;	signed:0;
+	field:u8 partner_flags;	offset:17;	size:1;	signed:0;
+	field:u8 partner_type;	offset:18;	size:1;	signed:0;
+	field:u32 request_data_obj;	offset:20;	size:4;	signed:0;
+	field:u8 bc_status;	offset:24;	size:1;	signed:0;
+
+print fmt: "port%d status: change=%04x, opmode=%x, connected=%d, sourcing=%d, partner_flags=%x, partner_type=%x, request_data_obj=%08x, BC status=%x", REC->port, REC->change, REC->opmode, REC->connected, REC->pwr_dir, REC->partner_flags, REC->partner_type, REC->request_data_obj, REC->bc_status
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ucsi/ucsi_register_altmode/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ucsi/ucsi_register_altmode/format
new file mode 100644
index 0000000..19e9755
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ucsi/ucsi_register_altmode/format
@@ -0,0 +1,14 @@
+name: ucsi_register_altmode
+ID: 818
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u8 recipient;	offset:8;	size:1;	signed:0;
+	field:u16 svid;	offset:10;	size:2;	signed:0;
+	field:u8 mode;	offset:12;	size:1;	signed:0;
+	field:u32 vdo;	offset:16;	size:4;	signed:0;
+
+print fmt: "%s alt mode: svid %04x, mode %d vdo %x", ucsi_recipient_str(REC->recipient), REC->svid, REC->mode, REC->vdo
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ucsi/ucsi_register_port/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ucsi/ucsi_register_port/format
new file mode 100644
index 0000000..0a51d89
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ucsi/ucsi_register_port/format
@@ -0,0 +1,19 @@
+name: ucsi_register_port
+ID: 819
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int port;	offset:8;	size:4;	signed:1;
+	field:u16 change;	offset:12;	size:2;	signed:0;
+	field:u8 opmode;	offset:14;	size:1;	signed:0;
+	field:u8 connected;	offset:15;	size:1;	signed:0;
+	field:u8 pwr_dir;	offset:16;	size:1;	signed:0;
+	field:u8 partner_flags;	offset:17;	size:1;	signed:0;
+	field:u8 partner_type;	offset:18;	size:1;	signed:0;
+	field:u32 request_data_obj;	offset:20;	size:4;	signed:0;
+	field:u8 bc_status;	offset:24;	size:1;	signed:0;
+
+print fmt: "port%d status: change=%04x, opmode=%x, connected=%d, sourcing=%d, partner_flags=%x, partner_type=%x, request_data_obj=%08x, BC status=%x", REC->port, REC->change, REC->opmode, REC->connected, REC->pwr_dir, REC->partner_flags, REC->partner_type, REC->request_data_obj, REC->bc_status
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ucsi/ucsi_reset_ppm/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ucsi/ucsi_reset_ppm/format
new file mode 100644
index 0000000..216fd94
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ucsi/ucsi_reset_ppm/format
@@ -0,0 +1,12 @@
+name: ucsi_reset_ppm
+ID: 820
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u64 ctrl;	offset:8;	size:8;	signed:0;
+	field:int ret;	offset:16;	size:4;	signed:1;
+
+print fmt: "%s -> %s (err=%d)", ucsi_cmd_str(REC->ctrl), REC->ret < 0 ? "FAIL" : "OK", REC->ret < 0 ? REC->ret : 0
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ucsi/ucsi_run_command/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ucsi/ucsi_run_command/format
new file mode 100644
index 0000000..cfd7d0d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ucsi/ucsi_run_command/format
@@ -0,0 +1,12 @@
+name: ucsi_run_command
+ID: 821
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u64 ctrl;	offset:8;	size:8;	signed:0;
+	field:int ret;	offset:16;	size:4;	signed:1;
+
+print fmt: "%s -> %s (err=%d)", ucsi_cmd_str(REC->ctrl), REC->ret < 0 ? "FAIL" : "OK", REC->ret < 0 ? REC->ret : 0
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/udp/udp_fail_queue_rcv_skb/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/udp/udp_fail_queue_rcv_skb/format
new file mode 100644
index 0000000..4166a7f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/udp/udp_fail_queue_rcv_skb/format
@@ -0,0 +1,12 @@
+name: udp_fail_queue_rcv_skb
+ID: 970
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int rc;	offset:8;	size:4;	signed:1;
+	field:__u16 lport;	offset:12;	size:2;	signed:0;
+
+print fmt: "rc=%d port=%hu", REC->rc, REC->lport
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_auto_bkops_state/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_auto_bkops_state/format
new file mode 100644
index 0000000..1960063
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_auto_bkops_state/format
@@ -0,0 +1,12 @@
+name: ufshcd_auto_bkops_state
+ID: 698
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] dev_name;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] state;	offset:12;	size:4;	signed:0;
+
+print fmt: "%s: auto bkops - %s", __get_str(dev_name), __get_str(state)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_clk_gating/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_clk_gating/format
new file mode 100644
index 0000000..32d5562
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_clk_gating/format
@@ -0,0 +1,12 @@
+name: ufshcd_clk_gating
+ID: 699
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] dev_name;	offset:8;	size:4;	signed:0;
+	field:int state;	offset:12;	size:4;	signed:1;
+
+print fmt: "%s: gating state changed to %s", __get_str(dev_name), __print_symbolic(REC->state, { 0, "CLKS_OFF" }, { 1, "CLKS_ON" }, { 2, "REQ_CLKS_OFF" }, { 3, "REQ_CLKS_ON" })
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_clk_scaling/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_clk_scaling/format
new file mode 100644
index 0000000..1b0da3d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_clk_scaling/format
@@ -0,0 +1,15 @@
+name: ufshcd_clk_scaling
+ID: 700
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] dev_name;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] state;	offset:12;	size:4;	signed:0;
+	field:__data_loc char[] clk;	offset:16;	size:4;	signed:0;
+	field:u32 prev_state;	offset:20;	size:4;	signed:0;
+	field:u32 curr_state;	offset:24;	size:4;	signed:0;
+
+print fmt: "%s: %s %s from %u to %u Hz", __get_str(dev_name), __get_str(state), __get_str(clk), REC->prev_state, REC->curr_state
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_command/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_command/format
new file mode 100644
index 0000000..bda88bd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_command/format
@@ -0,0 +1,19 @@
+name: ufshcd_command
+ID: 701
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] dev_name;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] str;	offset:12;	size:4;	signed:0;
+	field:unsigned int tag;	offset:16;	size:4;	signed:0;
+	field:u32 doorbell;	offset:20;	size:4;	signed:0;
+	field:int transfer_len;	offset:24;	size:4;	signed:1;
+	field:u32 intr;	offset:28;	size:4;	signed:0;
+	field:u64 lba;	offset:32;	size:8;	signed:0;
+	field:u8 opcode;	offset:40;	size:1;	signed:0;
+	field:u8 group_id;	offset:41;	size:1;	signed:0;
+
+print fmt: "%s: %s: tag: %u, DB: 0x%x, size: %d, IS: %u, LBA: %llu, opcode: 0x%x (%s), group_id: 0x%x", __get_str(str), __get_str(dev_name), REC->tag, REC->doorbell, REC->transfer_len, REC->intr, REC->lba, (u32)REC->opcode, __print_symbolic(REC->opcode, { 0x8a, "WRITE_16" }, { 0x2a, "WRITE_10" }, { 0x88, "READ_16" }, { 0x28, "READ_10" }, { 0x35, "SYNC" }, { 0x42, "UNMAP" }), (u32)REC->group_id
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_init/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_init/format
new file mode 100644
index 0000000..80808be
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_init/format
@@ -0,0 +1,15 @@
+name: ufshcd_init
+ID: 702
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:s64 usecs;	offset:8;	size:8;	signed:1;
+	field:int err;	offset:16;	size:4;	signed:1;
+	field:__data_loc char[] dev_name;	offset:20;	size:4;	signed:0;
+	field:int dev_state;	offset:24;	size:4;	signed:1;
+	field:int link_state;	offset:28;	size:4;	signed:1;
+
+print fmt: "%s: took %lld usecs, dev_state: %s, link_state: %s, err %d", __get_str(dev_name), REC->usecs, __print_symbolic(REC->dev_state, { 1, "UFS_ACTIVE_PWR_MODE" }, { 2, "UFS_SLEEP_PWR_MODE" }, { 3, "UFS_POWERDOWN_PWR_MODE" }), __print_symbolic(REC->link_state, { 0, "UIC_LINK_OFF_STATE" }, { 1, "UIC_LINK_ACTIVE_STATE" }, { 2, "UIC_LINK_HIBERN8_STATE" }), REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_profile_clk_gating/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_profile_clk_gating/format
new file mode 100644
index 0000000..7f6f8e7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_profile_clk_gating/format
@@ -0,0 +1,14 @@
+name: ufshcd_profile_clk_gating
+ID: 703
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] dev_name;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] profile_info;	offset:12;	size:4;	signed:0;
+	field:s64 time_us;	offset:16;	size:8;	signed:1;
+	field:int err;	offset:24;	size:4;	signed:1;
+
+print fmt: "%s: %s: took %lld usecs, err %d", __get_str(dev_name), __get_str(profile_info), REC->time_us, REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_profile_clk_scaling/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_profile_clk_scaling/format
new file mode 100644
index 0000000..be4182f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_profile_clk_scaling/format
@@ -0,0 +1,14 @@
+name: ufshcd_profile_clk_scaling
+ID: 704
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] dev_name;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] profile_info;	offset:12;	size:4;	signed:0;
+	field:s64 time_us;	offset:16;	size:8;	signed:1;
+	field:int err;	offset:24;	size:4;	signed:1;
+
+print fmt: "%s: %s: took %lld usecs, err %d", __get_str(dev_name), __get_str(profile_info), REC->time_us, REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_profile_hibern8/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_profile_hibern8/format
new file mode 100644
index 0000000..606fcd0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_profile_hibern8/format
@@ -0,0 +1,14 @@
+name: ufshcd_profile_hibern8
+ID: 705
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] dev_name;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] profile_info;	offset:12;	size:4;	signed:0;
+	field:s64 time_us;	offset:16;	size:8;	signed:1;
+	field:int err;	offset:24;	size:4;	signed:1;
+
+print fmt: "%s: %s: took %lld usecs, err %d", __get_str(dev_name), __get_str(profile_info), REC->time_us, REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_runtime_resume/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_runtime_resume/format
new file mode 100644
index 0000000..62cf203
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_runtime_resume/format
@@ -0,0 +1,15 @@
+name: ufshcd_runtime_resume
+ID: 706
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:s64 usecs;	offset:8;	size:8;	signed:1;
+	field:int err;	offset:16;	size:4;	signed:1;
+	field:__data_loc char[] dev_name;	offset:20;	size:4;	signed:0;
+	field:int dev_state;	offset:24;	size:4;	signed:1;
+	field:int link_state;	offset:28;	size:4;	signed:1;
+
+print fmt: "%s: took %lld usecs, dev_state: %s, link_state: %s, err %d", __get_str(dev_name), REC->usecs, __print_symbolic(REC->dev_state, { 1, "UFS_ACTIVE_PWR_MODE" }, { 2, "UFS_SLEEP_PWR_MODE" }, { 3, "UFS_POWERDOWN_PWR_MODE" }), __print_symbolic(REC->link_state, { 0, "UIC_LINK_OFF_STATE" }, { 1, "UIC_LINK_ACTIVE_STATE" }, { 2, "UIC_LINK_HIBERN8_STATE" }), REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_runtime_suspend/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_runtime_suspend/format
new file mode 100644
index 0000000..3c851ce
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_runtime_suspend/format
@@ -0,0 +1,15 @@
+name: ufshcd_runtime_suspend
+ID: 707
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:s64 usecs;	offset:8;	size:8;	signed:1;
+	field:int err;	offset:16;	size:4;	signed:1;
+	field:__data_loc char[] dev_name;	offset:20;	size:4;	signed:0;
+	field:int dev_state;	offset:24;	size:4;	signed:1;
+	field:int link_state;	offset:28;	size:4;	signed:1;
+
+print fmt: "%s: took %lld usecs, dev_state: %s, link_state: %s, err %d", __get_str(dev_name), REC->usecs, __print_symbolic(REC->dev_state, { 1, "UFS_ACTIVE_PWR_MODE" }, { 2, "UFS_SLEEP_PWR_MODE" }, { 3, "UFS_POWERDOWN_PWR_MODE" }), __print_symbolic(REC->link_state, { 0, "UIC_LINK_OFF_STATE" }, { 1, "UIC_LINK_ACTIVE_STATE" }, { 2, "UIC_LINK_HIBERN8_STATE" }), REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_system_resume/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_system_resume/format
new file mode 100644
index 0000000..a45e35e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_system_resume/format
@@ -0,0 +1,15 @@
+name: ufshcd_system_resume
+ID: 708
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:s64 usecs;	offset:8;	size:8;	signed:1;
+	field:int err;	offset:16;	size:4;	signed:1;
+	field:__data_loc char[] dev_name;	offset:20;	size:4;	signed:0;
+	field:int dev_state;	offset:24;	size:4;	signed:1;
+	field:int link_state;	offset:28;	size:4;	signed:1;
+
+print fmt: "%s: took %lld usecs, dev_state: %s, link_state: %s, err %d", __get_str(dev_name), REC->usecs, __print_symbolic(REC->dev_state, { 1, "UFS_ACTIVE_PWR_MODE" }, { 2, "UFS_SLEEP_PWR_MODE" }, { 3, "UFS_POWERDOWN_PWR_MODE" }), __print_symbolic(REC->link_state, { 0, "UIC_LINK_OFF_STATE" }, { 1, "UIC_LINK_ACTIVE_STATE" }, { 2, "UIC_LINK_HIBERN8_STATE" }), REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_system_suspend/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_system_suspend/format
new file mode 100644
index 0000000..4ae7b08
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_system_suspend/format
@@ -0,0 +1,15 @@
+name: ufshcd_system_suspend
+ID: 709
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:s64 usecs;	offset:8;	size:8;	signed:1;
+	field:int err;	offset:16;	size:4;	signed:1;
+	field:__data_loc char[] dev_name;	offset:20;	size:4;	signed:0;
+	field:int dev_state;	offset:24;	size:4;	signed:1;
+	field:int link_state;	offset:28;	size:4;	signed:1;
+
+print fmt: "%s: took %lld usecs, dev_state: %s, link_state: %s, err %d", __get_str(dev_name), REC->usecs, __print_symbolic(REC->dev_state, { 1, "UFS_ACTIVE_PWR_MODE" }, { 2, "UFS_SLEEP_PWR_MODE" }, { 3, "UFS_POWERDOWN_PWR_MODE" }), __print_symbolic(REC->link_state, { 0, "UIC_LINK_OFF_STATE" }, { 1, "UIC_LINK_ACTIVE_STATE" }, { 2, "UIC_LINK_HIBERN8_STATE" }), REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_uic_command/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_uic_command/format
new file mode 100644
index 0000000..f1e27a6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_uic_command/format
@@ -0,0 +1,16 @@
+name: ufshcd_uic_command
+ID: 710
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] dev_name;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] str;	offset:12;	size:4;	signed:0;
+	field:u32 cmd;	offset:16;	size:4;	signed:0;
+	field:u32 arg1;	offset:20;	size:4;	signed:0;
+	field:u32 arg2;	offset:24;	size:4;	signed:0;
+	field:u32 arg3;	offset:28;	size:4;	signed:0;
+
+print fmt: "%s: %s: cmd: 0x%x, arg1: 0x%x, arg2: 0x%x, arg3: 0x%x", __get_str(str), __get_str(dev_name), REC->cmd, REC->arg1, REC->arg2, REC->arg3
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_upiu/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_upiu/format
new file mode 100644
index 0000000..f82f11c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs/ufshcd_upiu/format
@@ -0,0 +1,14 @@
+name: ufshcd_upiu
+ID: 711
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] dev_name;	offset:8;	size:4;	signed:0;
+	field:__data_loc char[] str;	offset:12;	size:4;	signed:0;
+	field:unsigned char hdr[12];	offset:16;	size:12;	signed:0;
+	field:unsigned char tsf[16];	offset:28;	size:16;	signed:0;
+
+print fmt: "%s: %s: HDR:%s, CDB:%s", __get_str(str), __get_str(dev_name), __print_hex(REC->hdr, sizeof(REC->hdr)), __print_hex(REC->tsf, sizeof(REC->tsf))
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs_pixel/ufs_stats/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs_pixel/ufs_stats/format
new file mode 100644
index 0000000..370ee9a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/ufs_pixel/ufs_stats/format
@@ -0,0 +1,29 @@
+name: ufs_stats
+ID: 1089
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u64 peak_read;	offset:8;	size:8;	signed:0;
+	field:u64 peak_write;	offset:16;	size:8;	signed:0;
+	field:u64 peak_flush;	offset:24;	size:8;	signed:0;
+	field:u64 peak_discard;	offset:32;	size:8;	signed:0;
+	field:u64 peak_qdepth;	offset:40;	size:8;	signed:0;
+	field:u64 avg_read;	offset:48;	size:8;	signed:0;
+	field:u64 avg_write;	offset:56;	size:8;	signed:0;
+	field:u64 avg_flush;	offset:64;	size:8;	signed:0;
+	field:u64 avg_discard;	offset:72;	size:8;	signed:0;
+	field:u64 r_rc_s;	offset:80;	size:8;	signed:0;
+	field:u64 r_tb_s;	offset:88;	size:8;	signed:0;
+	field:u64 w_rc_s;	offset:96;	size:8;	signed:0;
+	field:u64 w_tb_s;	offset:104;	size:8;	signed:0;
+	field:u64 r_rc_c;	offset:112;	size:8;	signed:0;
+	field:u64 r_tb_c;	offset:120;	size:8;	signed:0;
+	field:u64 w_rc_c;	offset:128;	size:8;	signed:0;
+	field:u64 w_tb_c;	offset:136;	size:8;	signed:0;
+	field:u64 r_rem;	offset:144;	size:8;	signed:0;
+	field:u64 w_rem;	offset:152;	size:8;	signed:0;
+
+print fmt: "avg/max(us): read(%llu/%llu) write(%llu/%llu) flush(%llu/%llu) discard(%llu/%llu), started_bytes/count: read(%llu/%llu) write(%llu/%llu), completed_bytes/count: read(%llu/%llu) write(%llu/%llu), in-flight_read/write: %llu/%llu, peak_queue_depth: %llu", REC->avg_read, REC->peak_read, REC->avg_write, REC->peak_write, REC->avg_flush, REC->peak_flush, REC->avg_discard, REC->peak_discard, REC->r_tb_s, REC->r_rc_s, REC->w_tb_s, REC->w_rc_s, REC->r_tb_c, REC->r_rc_c, REC->w_tb_c, REC->w_rc_c, REC->r_rem, REC->w_rem, REC->peak_qdepth
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/v4l2/v4l2_dqbuf/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/v4l2/v4l2_dqbuf/format
new file mode 100644
index 0000000..9a6d250
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/v4l2/v4l2_dqbuf/format
@@ -0,0 +1,28 @@
+name: v4l2_dqbuf
+ID: 842
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int minor;	offset:8;	size:4;	signed:1;
+	field:u32 index;	offset:12;	size:4;	signed:0;
+	field:u32 type;	offset:16;	size:4;	signed:0;
+	field:u32 bytesused;	offset:20;	size:4;	signed:0;
+	field:u32 flags;	offset:24;	size:4;	signed:0;
+	field:u32 field;	offset:28;	size:4;	signed:0;
+	field:s64 timestamp;	offset:32;	size:8;	signed:1;
+	field:u32 timecode_type;	offset:40;	size:4;	signed:0;
+	field:u32 timecode_flags;	offset:44;	size:4;	signed:0;
+	field:u8 timecode_frames;	offset:48;	size:1;	signed:0;
+	field:u8 timecode_seconds;	offset:49;	size:1;	signed:0;
+	field:u8 timecode_minutes;	offset:50;	size:1;	signed:0;
+	field:u8 timecode_hours;	offset:51;	size:1;	signed:0;
+	field:u8 timecode_userbits0;	offset:52;	size:1;	signed:0;
+	field:u8 timecode_userbits1;	offset:53;	size:1;	signed:0;
+	field:u8 timecode_userbits2;	offset:54;	size:1;	signed:0;
+	field:u8 timecode_userbits3;	offset:55;	size:1;	signed:0;
+	field:u32 sequence;	offset:56;	size:4;	signed:0;
+
+print fmt: "minor = %d, index = %u, type = %s, bytesused = %u, flags = %s, field = %s, timestamp = %llu, timecode = { type = %s, flags = %s, frames = %u, seconds = %u, minutes = %u, hours = %u, userbits = { %u %u %u %u } }, sequence = %u", REC->minor, REC->index, __print_symbolic(REC->type, {1, "VIDEO_CAPTURE"}, {2, "VIDEO_OUTPUT"}, {3, "VIDEO_OVERLAY"}, {4, "VBI_CAPTURE"}, {5, "VBI_OUTPUT"}, {6, "SLICED_VBI_CAPTURE"}, {7, "SLICED_VBI_OUTPUT"}, {8, "VIDEO_OUTPUT_OVERLAY"}, {9, "VIDEO_CAPTURE_MPLANE"}, {10, "VIDEO_OUTPUT_MPLANE"}, {11, "SDR_CAPTURE"}, {12, "SDR_OUTPUT"}, {13, "META_CAPTURE"}, {128, "PRIVATE"}), REC->bytesused, __print_flags(REC->flags, "|", { 0x00000001, "MAPPED" }, { 0x00000002, "QUEUED" }, { 0x00000004, "DONE" }, { 0x00000008, "KEYFRAME" }, { 0x00000010, "PFRAME" }, { 0x00000020, "BFRAME" }, { 0x00000040, "ERROR" }, { 0x00000100, "TIMECODE" }, { 0x00000400, "PREPARED" }, { 0x00000800, "NO_CACHE_INVALIDATE" }, { 0x00001000, "NO_CACHE_CLEAN" }, { 0x0000e000, "TIMESTAMP_MASK" }, { 0x00000000, "TIMESTAMP_UNKNOWN" }, { 0x00002000, "TIMESTAMP_MONOTONIC" }, { 0x00004000, "TIMESTAMP_COPY" }, { 0x00100000, "LAST" }), __print_symbolic(REC->field, {0, "ANY"}, {1, "NONE"}, {2, "TOP"}, {3, "BOTTOM"}, {4, "INTERLACED"}, {5, "SEQ_TB"}, {6, "SEQ_BT"}, {7, "ALTERNATE"}, {8, "INTERLACED_TB"}, {9, "INTERLACED_BT"}), REC->timestamp, __print_symbolic(REC->timecode_type, { 1, "24FPS" }, { 2, "25FPS" }, { 3, "30FPS" }, { 4, "50FPS" }, { 5, "60FPS" }), __print_flags(REC->timecode_flags, "|", { 0x0001, "DROPFRAME" }, { 0x0002, "COLORFRAME" }, { 0x0000, "USERBITS_USERDEFINED" }, { 0x0008, "USERBITS_8BITCHARS" }), REC->timecode_frames, REC->timecode_seconds, REC->timecode_minutes, REC->timecode_hours, REC->timecode_userbits0, REC->timecode_userbits1, REC->timecode_userbits2, REC->timecode_userbits3, REC->sequence
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/v4l2/v4l2_qbuf/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/v4l2/v4l2_qbuf/format
new file mode 100644
index 0000000..3e619eb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/v4l2/v4l2_qbuf/format
@@ -0,0 +1,28 @@
+name: v4l2_qbuf
+ID: 843
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int minor;	offset:8;	size:4;	signed:1;
+	field:u32 index;	offset:12;	size:4;	signed:0;
+	field:u32 type;	offset:16;	size:4;	signed:0;
+	field:u32 bytesused;	offset:20;	size:4;	signed:0;
+	field:u32 flags;	offset:24;	size:4;	signed:0;
+	field:u32 field;	offset:28;	size:4;	signed:0;
+	field:s64 timestamp;	offset:32;	size:8;	signed:1;
+	field:u32 timecode_type;	offset:40;	size:4;	signed:0;
+	field:u32 timecode_flags;	offset:44;	size:4;	signed:0;
+	field:u8 timecode_frames;	offset:48;	size:1;	signed:0;
+	field:u8 timecode_seconds;	offset:49;	size:1;	signed:0;
+	field:u8 timecode_minutes;	offset:50;	size:1;	signed:0;
+	field:u8 timecode_hours;	offset:51;	size:1;	signed:0;
+	field:u8 timecode_userbits0;	offset:52;	size:1;	signed:0;
+	field:u8 timecode_userbits1;	offset:53;	size:1;	signed:0;
+	field:u8 timecode_userbits2;	offset:54;	size:1;	signed:0;
+	field:u8 timecode_userbits3;	offset:55;	size:1;	signed:0;
+	field:u32 sequence;	offset:56;	size:4;	signed:0;
+
+print fmt: "minor = %d, index = %u, type = %s, bytesused = %u, flags = %s, field = %s, timestamp = %llu, timecode = { type = %s, flags = %s, frames = %u, seconds = %u, minutes = %u, hours = %u, userbits = { %u %u %u %u } }, sequence = %u", REC->minor, REC->index, __print_symbolic(REC->type, {1, "VIDEO_CAPTURE"}, {2, "VIDEO_OUTPUT"}, {3, "VIDEO_OVERLAY"}, {4, "VBI_CAPTURE"}, {5, "VBI_OUTPUT"}, {6, "SLICED_VBI_CAPTURE"}, {7, "SLICED_VBI_OUTPUT"}, {8, "VIDEO_OUTPUT_OVERLAY"}, {9, "VIDEO_CAPTURE_MPLANE"}, {10, "VIDEO_OUTPUT_MPLANE"}, {11, "SDR_CAPTURE"}, {12, "SDR_OUTPUT"}, {13, "META_CAPTURE"}, {128, "PRIVATE"}), REC->bytesused, __print_flags(REC->flags, "|", { 0x00000001, "MAPPED" }, { 0x00000002, "QUEUED" }, { 0x00000004, "DONE" }, { 0x00000008, "KEYFRAME" }, { 0x00000010, "PFRAME" }, { 0x00000020, "BFRAME" }, { 0x00000040, "ERROR" }, { 0x00000100, "TIMECODE" }, { 0x00000400, "PREPARED" }, { 0x00000800, "NO_CACHE_INVALIDATE" }, { 0x00001000, "NO_CACHE_CLEAN" }, { 0x0000e000, "TIMESTAMP_MASK" }, { 0x00000000, "TIMESTAMP_UNKNOWN" }, { 0x00002000, "TIMESTAMP_MONOTONIC" }, { 0x00004000, "TIMESTAMP_COPY" }, { 0x00100000, "LAST" }), __print_symbolic(REC->field, {0, "ANY"}, {1, "NONE"}, {2, "TOP"}, {3, "BOTTOM"}, {4, "INTERLACED"}, {5, "SEQ_TB"}, {6, "SEQ_BT"}, {7, "ALTERNATE"}, {8, "INTERLACED_TB"}, {9, "INTERLACED_BT"}), REC->timestamp, __print_symbolic(REC->timecode_type, { 1, "24FPS" }, { 2, "25FPS" }, { 3, "30FPS" }, { 4, "50FPS" }, { 5, "60FPS" }), __print_flags(REC->timecode_flags, "|", { 0x0001, "DROPFRAME" }, { 0x0002, "COLORFRAME" }, { 0x0000, "USERBITS_USERDEFINED" }, { 0x0008, "USERBITS_8BITCHARS" }), REC->timecode_frames, REC->timecode_seconds, REC->timecode_minutes, REC->timecode_hours, REC->timecode_userbits0, REC->timecode_userbits1, REC->timecode_userbits2, REC->timecode_userbits3, REC->sequence
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/v4l2/vb2_v4l2_buf_done/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/v4l2/vb2_v4l2_buf_done/format
new file mode 100644
index 0000000..a1fe2ae
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/v4l2/vb2_v4l2_buf_done/format
@@ -0,0 +1,25 @@
+name: vb2_v4l2_buf_done
+ID: 844
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int minor;	offset:8;	size:4;	signed:1;
+	field:u32 flags;	offset:12;	size:4;	signed:0;
+	field:u32 field;	offset:16;	size:4;	signed:0;
+	field:u64 timestamp;	offset:24;	size:8;	signed:0;
+	field:u32 timecode_type;	offset:32;	size:4;	signed:0;
+	field:u32 timecode_flags;	offset:36;	size:4;	signed:0;
+	field:u8 timecode_frames;	offset:40;	size:1;	signed:0;
+	field:u8 timecode_seconds;	offset:41;	size:1;	signed:0;
+	field:u8 timecode_minutes;	offset:42;	size:1;	signed:0;
+	field:u8 timecode_hours;	offset:43;	size:1;	signed:0;
+	field:u8 timecode_userbits0;	offset:44;	size:1;	signed:0;
+	field:u8 timecode_userbits1;	offset:45;	size:1;	signed:0;
+	field:u8 timecode_userbits2;	offset:46;	size:1;	signed:0;
+	field:u8 timecode_userbits3;	offset:47;	size:1;	signed:0;
+	field:u32 sequence;	offset:48;	size:4;	signed:0;
+
+print fmt: "minor=%d flags = %s, field = %s, timestamp = %llu, timecode = { type = %s, flags = %s, frames = %u, seconds = %u, minutes = %u, hours = %u, userbits = { %u %u %u %u } }, sequence = %u", REC->minor, __print_flags(REC->flags, "|", { 0x00000001, "MAPPED" }, { 0x00000002, "QUEUED" }, { 0x00000004, "DONE" }, { 0x00000008, "KEYFRAME" }, { 0x00000010, "PFRAME" }, { 0x00000020, "BFRAME" }, { 0x00000040, "ERROR" }, { 0x00000100, "TIMECODE" }, { 0x00000400, "PREPARED" }, { 0x00000800, "NO_CACHE_INVALIDATE" }, { 0x00001000, "NO_CACHE_CLEAN" }, { 0x0000e000, "TIMESTAMP_MASK" }, { 0x00000000, "TIMESTAMP_UNKNOWN" }, { 0x00002000, "TIMESTAMP_MONOTONIC" }, { 0x00004000, "TIMESTAMP_COPY" }, { 0x00100000, "LAST" }), __print_symbolic(REC->field, {0, "ANY"}, {1, "NONE"}, {2, "TOP"}, {3, "BOTTOM"}, {4, "INTERLACED"}, {5, "SEQ_TB"}, {6, "SEQ_BT"}, {7, "ALTERNATE"}, {8, "INTERLACED_TB"}, {9, "INTERLACED_BT"}), REC->timestamp, __print_symbolic(REC->timecode_type, { 1, "24FPS" }, { 2, "25FPS" }, { 3, "30FPS" }, { 4, "50FPS" }, { 5, "60FPS" }), __print_flags(REC->timecode_flags, "|", { 0x0001, "DROPFRAME" }, { 0x0002, "COLORFRAME" }, { 0x0000, "USERBITS_USERDEFINED" }, { 0x0008, "USERBITS_8BITCHARS" }), REC->timecode_frames, REC->timecode_seconds, REC->timecode_minutes, REC->timecode_hours, REC->timecode_userbits0, REC->timecode_userbits1, REC->timecode_userbits2, REC->timecode_userbits3, REC->sequence
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/v4l2/vb2_v4l2_buf_queue/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/v4l2/vb2_v4l2_buf_queue/format
new file mode 100644
index 0000000..5ffd505
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/v4l2/vb2_v4l2_buf_queue/format
@@ -0,0 +1,25 @@
+name: vb2_v4l2_buf_queue
+ID: 845
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int minor;	offset:8;	size:4;	signed:1;
+	field:u32 flags;	offset:12;	size:4;	signed:0;
+	field:u32 field;	offset:16;	size:4;	signed:0;
+	field:u64 timestamp;	offset:24;	size:8;	signed:0;
+	field:u32 timecode_type;	offset:32;	size:4;	signed:0;
+	field:u32 timecode_flags;	offset:36;	size:4;	signed:0;
+	field:u8 timecode_frames;	offset:40;	size:1;	signed:0;
+	field:u8 timecode_seconds;	offset:41;	size:1;	signed:0;
+	field:u8 timecode_minutes;	offset:42;	size:1;	signed:0;
+	field:u8 timecode_hours;	offset:43;	size:1;	signed:0;
+	field:u8 timecode_userbits0;	offset:44;	size:1;	signed:0;
+	field:u8 timecode_userbits1;	offset:45;	size:1;	signed:0;
+	field:u8 timecode_userbits2;	offset:46;	size:1;	signed:0;
+	field:u8 timecode_userbits3;	offset:47;	size:1;	signed:0;
+	field:u32 sequence;	offset:48;	size:4;	signed:0;
+
+print fmt: "minor=%d flags = %s, field = %s, timestamp = %llu, timecode = { type = %s, flags = %s, frames = %u, seconds = %u, minutes = %u, hours = %u, userbits = { %u %u %u %u } }, sequence = %u", REC->minor, __print_flags(REC->flags, "|", { 0x00000001, "MAPPED" }, { 0x00000002, "QUEUED" }, { 0x00000004, "DONE" }, { 0x00000008, "KEYFRAME" }, { 0x00000010, "PFRAME" }, { 0x00000020, "BFRAME" }, { 0x00000040, "ERROR" }, { 0x00000100, "TIMECODE" }, { 0x00000400, "PREPARED" }, { 0x00000800, "NO_CACHE_INVALIDATE" }, { 0x00001000, "NO_CACHE_CLEAN" }, { 0x0000e000, "TIMESTAMP_MASK" }, { 0x00000000, "TIMESTAMP_UNKNOWN" }, { 0x00002000, "TIMESTAMP_MONOTONIC" }, { 0x00004000, "TIMESTAMP_COPY" }, { 0x00100000, "LAST" }), __print_symbolic(REC->field, {0, "ANY"}, {1, "NONE"}, {2, "TOP"}, {3, "BOTTOM"}, {4, "INTERLACED"}, {5, "SEQ_TB"}, {6, "SEQ_BT"}, {7, "ALTERNATE"}, {8, "INTERLACED_TB"}, {9, "INTERLACED_BT"}), REC->timestamp, __print_symbolic(REC->timecode_type, { 1, "24FPS" }, { 2, "25FPS" }, { 3, "30FPS" }, { 4, "50FPS" }, { 5, "60FPS" }), __print_flags(REC->timecode_flags, "|", { 0x0001, "DROPFRAME" }, { 0x0002, "COLORFRAME" }, { 0x0000, "USERBITS_USERDEFINED" }, { 0x0008, "USERBITS_8BITCHARS" }), REC->timecode_frames, REC->timecode_seconds, REC->timecode_minutes, REC->timecode_hours, REC->timecode_userbits0, REC->timecode_userbits1, REC->timecode_userbits2, REC->timecode_userbits3, REC->sequence
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/v4l2/vb2_v4l2_dqbuf/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/v4l2/vb2_v4l2_dqbuf/format
new file mode 100644
index 0000000..badabc9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/v4l2/vb2_v4l2_dqbuf/format
@@ -0,0 +1,25 @@
+name: vb2_v4l2_dqbuf
+ID: 846
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int minor;	offset:8;	size:4;	signed:1;
+	field:u32 flags;	offset:12;	size:4;	signed:0;
+	field:u32 field;	offset:16;	size:4;	signed:0;
+	field:u64 timestamp;	offset:24;	size:8;	signed:0;
+	field:u32 timecode_type;	offset:32;	size:4;	signed:0;
+	field:u32 timecode_flags;	offset:36;	size:4;	signed:0;
+	field:u8 timecode_frames;	offset:40;	size:1;	signed:0;
+	field:u8 timecode_seconds;	offset:41;	size:1;	signed:0;
+	field:u8 timecode_minutes;	offset:42;	size:1;	signed:0;
+	field:u8 timecode_hours;	offset:43;	size:1;	signed:0;
+	field:u8 timecode_userbits0;	offset:44;	size:1;	signed:0;
+	field:u8 timecode_userbits1;	offset:45;	size:1;	signed:0;
+	field:u8 timecode_userbits2;	offset:46;	size:1;	signed:0;
+	field:u8 timecode_userbits3;	offset:47;	size:1;	signed:0;
+	field:u32 sequence;	offset:48;	size:4;	signed:0;
+
+print fmt: "minor=%d flags = %s, field = %s, timestamp = %llu, timecode = { type = %s, flags = %s, frames = %u, seconds = %u, minutes = %u, hours = %u, userbits = { %u %u %u %u } }, sequence = %u", REC->minor, __print_flags(REC->flags, "|", { 0x00000001, "MAPPED" }, { 0x00000002, "QUEUED" }, { 0x00000004, "DONE" }, { 0x00000008, "KEYFRAME" }, { 0x00000010, "PFRAME" }, { 0x00000020, "BFRAME" }, { 0x00000040, "ERROR" }, { 0x00000100, "TIMECODE" }, { 0x00000400, "PREPARED" }, { 0x00000800, "NO_CACHE_INVALIDATE" }, { 0x00001000, "NO_CACHE_CLEAN" }, { 0x0000e000, "TIMESTAMP_MASK" }, { 0x00000000, "TIMESTAMP_UNKNOWN" }, { 0x00002000, "TIMESTAMP_MONOTONIC" }, { 0x00004000, "TIMESTAMP_COPY" }, { 0x00100000, "LAST" }), __print_symbolic(REC->field, {0, "ANY"}, {1, "NONE"}, {2, "TOP"}, {3, "BOTTOM"}, {4, "INTERLACED"}, {5, "SEQ_TB"}, {6, "SEQ_BT"}, {7, "ALTERNATE"}, {8, "INTERLACED_TB"}, {9, "INTERLACED_BT"}), REC->timestamp, __print_symbolic(REC->timecode_type, { 1, "24FPS" }, { 2, "25FPS" }, { 3, "30FPS" }, { 4, "50FPS" }, { 5, "60FPS" }), __print_flags(REC->timecode_flags, "|", { 0x0001, "DROPFRAME" }, { 0x0002, "COLORFRAME" }, { 0x0000, "USERBITS_USERDEFINED" }, { 0x0008, "USERBITS_8BITCHARS" }), REC->timecode_frames, REC->timecode_seconds, REC->timecode_minutes, REC->timecode_hours, REC->timecode_userbits0, REC->timecode_userbits1, REC->timecode_userbits2, REC->timecode_userbits3, REC->sequence
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/v4l2/vb2_v4l2_qbuf/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/v4l2/vb2_v4l2_qbuf/format
new file mode 100644
index 0000000..0568fc0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/v4l2/vb2_v4l2_qbuf/format
@@ -0,0 +1,25 @@
+name: vb2_v4l2_qbuf
+ID: 847
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int minor;	offset:8;	size:4;	signed:1;
+	field:u32 flags;	offset:12;	size:4;	signed:0;
+	field:u32 field;	offset:16;	size:4;	signed:0;
+	field:u64 timestamp;	offset:24;	size:8;	signed:0;
+	field:u32 timecode_type;	offset:32;	size:4;	signed:0;
+	field:u32 timecode_flags;	offset:36;	size:4;	signed:0;
+	field:u8 timecode_frames;	offset:40;	size:1;	signed:0;
+	field:u8 timecode_seconds;	offset:41;	size:1;	signed:0;
+	field:u8 timecode_minutes;	offset:42;	size:1;	signed:0;
+	field:u8 timecode_hours;	offset:43;	size:1;	signed:0;
+	field:u8 timecode_userbits0;	offset:44;	size:1;	signed:0;
+	field:u8 timecode_userbits1;	offset:45;	size:1;	signed:0;
+	field:u8 timecode_userbits2;	offset:46;	size:1;	signed:0;
+	field:u8 timecode_userbits3;	offset:47;	size:1;	signed:0;
+	field:u32 sequence;	offset:48;	size:4;	signed:0;
+
+print fmt: "minor=%d flags = %s, field = %s, timestamp = %llu, timecode = { type = %s, flags = %s, frames = %u, seconds = %u, minutes = %u, hours = %u, userbits = { %u %u %u %u } }, sequence = %u", REC->minor, __print_flags(REC->flags, "|", { 0x00000001, "MAPPED" }, { 0x00000002, "QUEUED" }, { 0x00000004, "DONE" }, { 0x00000008, "KEYFRAME" }, { 0x00000010, "PFRAME" }, { 0x00000020, "BFRAME" }, { 0x00000040, "ERROR" }, { 0x00000100, "TIMECODE" }, { 0x00000400, "PREPARED" }, { 0x00000800, "NO_CACHE_INVALIDATE" }, { 0x00001000, "NO_CACHE_CLEAN" }, { 0x0000e000, "TIMESTAMP_MASK" }, { 0x00000000, "TIMESTAMP_UNKNOWN" }, { 0x00002000, "TIMESTAMP_MONOTONIC" }, { 0x00004000, "TIMESTAMP_COPY" }, { 0x00100000, "LAST" }), __print_symbolic(REC->field, {0, "ANY"}, {1, "NONE"}, {2, "TOP"}, {3, "BOTTOM"}, {4, "INTERLACED"}, {5, "SEQ_TB"}, {6, "SEQ_BT"}, {7, "ALTERNATE"}, {8, "INTERLACED_TB"}, {9, "INTERLACED_BT"}), REC->timestamp, __print_symbolic(REC->timecode_type, { 1, "24FPS" }, { 2, "25FPS" }, { 3, "30FPS" }, { 4, "50FPS" }, { 5, "60FPS" }), __print_flags(REC->timecode_flags, "|", { 0x0001, "DROPFRAME" }, { 0x0002, "COLORFRAME" }, { 0x0000, "USERBITS_USERDEFINED" }, { 0x0008, "USERBITS_8BITCHARS" }), REC->timecode_frames, REC->timecode_seconds, REC->timecode_minutes, REC->timecode_hours, REC->timecode_userbits0, REC->timecode_userbits1, REC->timecode_userbits2, REC->timecode_userbits3, REC->sequence
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vb2/vb2_buf_done/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vb2/vb2_buf_done/format
new file mode 100644
index 0000000..347c5f0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vb2/vb2_buf_done/format
@@ -0,0 +1,17 @@
+name: vb2_buf_done
+ID: 848
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * owner;	offset:8;	size:8;	signed:0;
+	field:u32 queued_count;	offset:16;	size:4;	signed:0;
+	field:int owned_by_drv_count;	offset:20;	size:4;	signed:1;
+	field:u32 index;	offset:24;	size:4;	signed:0;
+	field:u32 type;	offset:28;	size:4;	signed:0;
+	field:u32 bytesused;	offset:32;	size:4;	signed:0;
+	field:u64 timestamp;	offset:40;	size:8;	signed:0;
+
+print fmt: "owner = %p, queued = %u, owned_by_drv = %d, index = %u, type = %u, bytesused = %u, timestamp = %llu", REC->owner, REC->queued_count, REC->owned_by_drv_count, REC->index, REC->type, REC->bytesused, REC->timestamp
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vb2/vb2_buf_queue/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vb2/vb2_buf_queue/format
new file mode 100644
index 0000000..3e863cd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vb2/vb2_buf_queue/format
@@ -0,0 +1,17 @@
+name: vb2_buf_queue
+ID: 849
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * owner;	offset:8;	size:8;	signed:0;
+	field:u32 queued_count;	offset:16;	size:4;	signed:0;
+	field:int owned_by_drv_count;	offset:20;	size:4;	signed:1;
+	field:u32 index;	offset:24;	size:4;	signed:0;
+	field:u32 type;	offset:28;	size:4;	signed:0;
+	field:u32 bytesused;	offset:32;	size:4;	signed:0;
+	field:u64 timestamp;	offset:40;	size:8;	signed:0;
+
+print fmt: "owner = %p, queued = %u, owned_by_drv = %d, index = %u, type = %u, bytesused = %u, timestamp = %llu", REC->owner, REC->queued_count, REC->owned_by_drv_count, REC->index, REC->type, REC->bytesused, REC->timestamp
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vb2/vb2_dqbuf/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vb2/vb2_dqbuf/format
new file mode 100644
index 0000000..cbff569
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vb2/vb2_dqbuf/format
@@ -0,0 +1,17 @@
+name: vb2_dqbuf
+ID: 850
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * owner;	offset:8;	size:8;	signed:0;
+	field:u32 queued_count;	offset:16;	size:4;	signed:0;
+	field:int owned_by_drv_count;	offset:20;	size:4;	signed:1;
+	field:u32 index;	offset:24;	size:4;	signed:0;
+	field:u32 type;	offset:28;	size:4;	signed:0;
+	field:u32 bytesused;	offset:32;	size:4;	signed:0;
+	field:u64 timestamp;	offset:40;	size:8;	signed:0;
+
+print fmt: "owner = %p, queued = %u, owned_by_drv = %d, index = %u, type = %u, bytesused = %u, timestamp = %llu", REC->owner, REC->queued_count, REC->owned_by_drv_count, REC->index, REC->type, REC->bytesused, REC->timestamp
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vb2/vb2_qbuf/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vb2/vb2_qbuf/format
new file mode 100644
index 0000000..d14a2b2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vb2/vb2_qbuf/format
@@ -0,0 +1,17 @@
+name: vb2_qbuf
+ID: 851
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * owner;	offset:8;	size:8;	signed:0;
+	field:u32 queued_count;	offset:16;	size:4;	signed:0;
+	field:int owned_by_drv_count;	offset:20;	size:4;	signed:1;
+	field:u32 index;	offset:24;	size:4;	signed:0;
+	field:u32 type;	offset:28;	size:4;	signed:0;
+	field:u32 bytesused;	offset:32;	size:4;	signed:0;
+	field:u64 timestamp;	offset:40;	size:8;	signed:0;
+
+print fmt: "owner = %p, queued = %u, owned_by_drv = %d, index = %u, type = %u, bytesused = %u, timestamp = %llu", REC->owner, REC->queued_count, REC->owned_by_drv_count, REC->index, REC->type, REC->bytesused, REC->timestamp
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_shrink_slab_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_shrink_slab_end/format
new file mode 100644
index 0000000..42ec9a6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_shrink_slab_end/format
@@ -0,0 +1,17 @@
+name: mm_shrink_slab_end
+ID: 226
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct shrinker * shr;	offset:8;	size:8;	signed:0;
+	field:int nid;	offset:16;	size:4;	signed:1;
+	field:void * shrink;	offset:24;	size:8;	signed:0;
+	field:long unused_scan;	offset:32;	size:8;	signed:1;
+	field:long new_scan;	offset:40;	size:8;	signed:1;
+	field:int retval;	offset:48;	size:4;	signed:1;
+	field:long total_scan;	offset:56;	size:8;	signed:1;
+
+print fmt: "%pS %p: nid: %d unused scan count %ld new scan count %ld total_scan %ld last shrinker return val %d", REC->shrink, REC->shr, REC->nid, REC->unused_scan, REC->new_scan, REC->total_scan, REC->retval
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_shrink_slab_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_shrink_slab_start/format
new file mode 100644
index 0000000..9a4d83a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_shrink_slab_start/format
@@ -0,0 +1,19 @@
+name: mm_shrink_slab_start
+ID: 227
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct shrinker * shr;	offset:8;	size:8;	signed:0;
+	field:void * shrink;	offset:16;	size:8;	signed:0;
+	field:int nid;	offset:24;	size:4;	signed:1;
+	field:long nr_objects_to_shrink;	offset:32;	size:8;	signed:1;
+	field:gfp_t gfp_flags;	offset:40;	size:4;	signed:0;
+	field:unsigned long cache_items;	offset:48;	size:8;	signed:0;
+	field:unsigned long long delta;	offset:56;	size:8;	signed:0;
+	field:unsigned long total_scan;	offset:64;	size:8;	signed:0;
+	field:int priority;	offset:72;	size:4;	signed:1;
+
+print fmt: "%pS %p: nid: %d objects to shrink %ld gfp_flags %s cache items %ld delta %lld total_scan %ld priority %d", REC->shrink, REC->shr, REC->nid, REC->nr_objects_to_shrink, (REC->gfp_flags) ? __print_flags(REC->gfp_flags, "|", {(unsigned long)(((((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)) | (( gfp_t)0x40000u) | (( gfp_t)0x80000u) | (( gfp_t)0x2000u)) & ~(( gfp_t)(0x400u|0x800u))) | (( gfp_t)0x400u)), "GFP_TRANSHUGE"}, {(unsigned long)((((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)) | (( gfp_t)0x40000u) | (( gfp_t)0x80000u) | (( gfp_t)0x2000u)) & ~(( gfp_t)(0x400u|0x800u))), "GFP_TRANSHUGE_LIGHT"}, {(unsigned long)((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)), "GFP_HIGHUSER_MOVABLE"}, {(unsigned long)(((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)), "GFP_HIGHUSER"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)), "GFP_USER"}, {(unsigned long)(((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u)) | (( gfp_t)0x400000u)), "GFP_KERNEL_ACCOUNT"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u)), "GFP_KERNEL"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u)), "GFP_NOFS"}, {(unsigned long)((( gfp_t)0x20u)|(( gfp_t)0x200u)|(( gfp_t)0x800u)), "GFP_ATOMIC"}, {(unsigned long)((( gfp_t)(0x400u|0x800u))), "GFP_NOIO"}, {(unsigned long)((( gfp_t)0x800u)), "GFP_NOWAIT"}, {(unsigned long)(( gfp_t)0x01u), "GFP_DMA"}, {(unsigned long)(( gfp_t)0x02u), "__GFP_HIGHMEM"}, {(unsigned long)(( gfp_t)0x04u), "GFP_DMA32"}, {(unsigned long)(( gfp_t)0x20u), "__GFP_HIGH"}, {(unsigned long)(( gfp_t)0x200u), "__GFP_ATOMIC"}, {(unsigned long)(( gfp_t)0x40u), "__GFP_IO"}, {(unsigned long)(( gfp_t)0x80u), "__GFP_FS"}, {(unsigned long)(( gfp_t)0x2000u), "__GFP_NOWARN"}, {(unsigned long)(( gfp_t)0x4000u), "__GFP_RETRY_MAYFAIL"}, {(unsigned long)(( gfp_t)0x8000u), "__GFP_NOFAIL"}, {(unsigned long)(( gfp_t)0x10000u), "__GFP_NORETRY"}, {(unsigned long)(( gfp_t)0x40000u), "__GFP_COMP"}, {(unsigned long)(( gfp_t)0x100u), "__GFP_ZERO"}, {(unsigned long)(( gfp_t)0x80000u), "__GFP_NOMEMALLOC"}, {(unsigned long)(( gfp_t)0x20000u), "__GFP_MEMALLOC"}, {(unsigned long)(( gfp_t)0x100000u), "__GFP_HARDWALL"}, {(unsigned long)(( gfp_t)0x200000u), "__GFP_THISNODE"}, {(unsigned long)(( gfp_t)0x10u), "__GFP_RECLAIMABLE"}, {(unsigned long)(( gfp_t)0x08u), "__GFP_MOVABLE"}, {(unsigned long)(( gfp_t)0x400000u), "__GFP_ACCOUNT"}, {(unsigned long)(( gfp_t)0x1000u), "__GFP_WRITE"}, {(unsigned long)(( gfp_t)(0x400u|0x800u)), "__GFP_RECLAIM"}, {(unsigned long)(( gfp_t)0x400u), "__GFP_DIRECT_RECLAIM"}, {(unsigned long)(( gfp_t)0x800u), "__GFP_KSWAPD_RECLAIM"} ) : "none", REC->cache_items, REC->delta, REC->total_scan, REC->priority
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_direct_reclaim_begin/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_direct_reclaim_begin/format
new file mode 100644
index 0000000..9bc8d1f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_direct_reclaim_begin/format
@@ -0,0 +1,12 @@
+name: mm_vmscan_direct_reclaim_begin
+ID: 228
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int order;	offset:8;	size:4;	signed:1;
+	field:gfp_t gfp_flags;	offset:12;	size:4;	signed:0;
+
+print fmt: "order=%d gfp_flags=%s", REC->order, (REC->gfp_flags) ? __print_flags(REC->gfp_flags, "|", {(unsigned long)(((((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)) | (( gfp_t)0x40000u) | (( gfp_t)0x80000u) | (( gfp_t)0x2000u)) & ~(( gfp_t)(0x400u|0x800u))) | (( gfp_t)0x400u)), "GFP_TRANSHUGE"}, {(unsigned long)((((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)) | (( gfp_t)0x40000u) | (( gfp_t)0x80000u) | (( gfp_t)0x2000u)) & ~(( gfp_t)(0x400u|0x800u))), "GFP_TRANSHUGE_LIGHT"}, {(unsigned long)((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)), "GFP_HIGHUSER_MOVABLE"}, {(unsigned long)(((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)), "GFP_HIGHUSER"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)), "GFP_USER"}, {(unsigned long)(((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u)) | (( gfp_t)0x400000u)), "GFP_KERNEL_ACCOUNT"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u)), "GFP_KERNEL"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u)), "GFP_NOFS"}, {(unsigned long)((( gfp_t)0x20u)|(( gfp_t)0x200u)|(( gfp_t)0x800u)), "GFP_ATOMIC"}, {(unsigned long)((( gfp_t)(0x400u|0x800u))), "GFP_NOIO"}, {(unsigned long)((( gfp_t)0x800u)), "GFP_NOWAIT"}, {(unsigned long)(( gfp_t)0x01u), "GFP_DMA"}, {(unsigned long)(( gfp_t)0x02u), "__GFP_HIGHMEM"}, {(unsigned long)(( gfp_t)0x04u), "GFP_DMA32"}, {(unsigned long)(( gfp_t)0x20u), "__GFP_HIGH"}, {(unsigned long)(( gfp_t)0x200u), "__GFP_ATOMIC"}, {(unsigned long)(( gfp_t)0x40u), "__GFP_IO"}, {(unsigned long)(( gfp_t)0x80u), "__GFP_FS"}, {(unsigned long)(( gfp_t)0x2000u), "__GFP_NOWARN"}, {(unsigned long)(( gfp_t)0x4000u), "__GFP_RETRY_MAYFAIL"}, {(unsigned long)(( gfp_t)0x8000u), "__GFP_NOFAIL"}, {(unsigned long)(( gfp_t)0x10000u), "__GFP_NORETRY"}, {(unsigned long)(( gfp_t)0x40000u), "__GFP_COMP"}, {(unsigned long)(( gfp_t)0x100u), "__GFP_ZERO"}, {(unsigned long)(( gfp_t)0x80000u), "__GFP_NOMEMALLOC"}, {(unsigned long)(( gfp_t)0x20000u), "__GFP_MEMALLOC"}, {(unsigned long)(( gfp_t)0x100000u), "__GFP_HARDWALL"}, {(unsigned long)(( gfp_t)0x200000u), "__GFP_THISNODE"}, {(unsigned long)(( gfp_t)0x10u), "__GFP_RECLAIMABLE"}, {(unsigned long)(( gfp_t)0x08u), "__GFP_MOVABLE"}, {(unsigned long)(( gfp_t)0x400000u), "__GFP_ACCOUNT"}, {(unsigned long)(( gfp_t)0x1000u), "__GFP_WRITE"}, {(unsigned long)(( gfp_t)(0x400u|0x800u)), "__GFP_RECLAIM"}, {(unsigned long)(( gfp_t)0x400u), "__GFP_DIRECT_RECLAIM"}, {(unsigned long)(( gfp_t)0x800u), "__GFP_KSWAPD_RECLAIM"} ) : "none"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_direct_reclaim_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_direct_reclaim_end/format
new file mode 100644
index 0000000..2fda671
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_direct_reclaim_end/format
@@ -0,0 +1,11 @@
+name: mm_vmscan_direct_reclaim_end
+ID: 229
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long nr_reclaimed;	offset:8;	size:8;	signed:0;
+
+print fmt: "nr_reclaimed=%lu", REC->nr_reclaimed
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_inactive_list_is_low/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_inactive_list_is_low/format
new file mode 100644
index 0000000..a0c777c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_inactive_list_is_low/format
@@ -0,0 +1,18 @@
+name: mm_vmscan_inactive_list_is_low
+ID: 230
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int nid;	offset:8;	size:4;	signed:1;
+	field:int reclaim_idx;	offset:12;	size:4;	signed:1;
+	field:unsigned long total_inactive;	offset:16;	size:8;	signed:0;
+	field:unsigned long inactive;	offset:24;	size:8;	signed:0;
+	field:unsigned long total_active;	offset:32;	size:8;	signed:0;
+	field:unsigned long active;	offset:40;	size:8;	signed:0;
+	field:unsigned long ratio;	offset:48;	size:8;	signed:0;
+	field:int reclaim_flags;	offset:56;	size:4;	signed:1;
+
+print fmt: "nid=%d reclaim_idx=%d total_inactive=%ld inactive=%ld total_active=%ld active=%ld ratio=%ld flags=%s", REC->nid, REC->reclaim_idx, REC->total_inactive, REC->inactive, REC->total_active, REC->active, REC->ratio, (REC->reclaim_flags) ? __print_flags(REC->reclaim_flags, "|", {0x0001u, "RECLAIM_WB_ANON"}, {0x0002u, "RECLAIM_WB_FILE"}, {0x0010u, "RECLAIM_WB_MIXED"}, {0x0004u, "RECLAIM_WB_SYNC"}, {0x0008u, "RECLAIM_WB_ASYNC"} ) : "RECLAIM_WB_NONE"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_kswapd_sleep/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_kswapd_sleep/format
new file mode 100644
index 0000000..d2bc828
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_kswapd_sleep/format
@@ -0,0 +1,11 @@
+name: mm_vmscan_kswapd_sleep
+ID: 231
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int nid;	offset:8;	size:4;	signed:1;
+
+print fmt: "nid=%d", REC->nid
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_kswapd_wake/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_kswapd_wake/format
new file mode 100644
index 0000000..4be0e79
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_kswapd_wake/format
@@ -0,0 +1,13 @@
+name: mm_vmscan_kswapd_wake
+ID: 232
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int nid;	offset:8;	size:4;	signed:1;
+	field:int zid;	offset:12;	size:4;	signed:1;
+	field:int order;	offset:16;	size:4;	signed:1;
+
+print fmt: "nid=%d order=%d", REC->nid, REC->order
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_lru_isolate/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_lru_isolate/format
new file mode 100644
index 0000000..85d0e37
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_lru_isolate/format
@@ -0,0 +1,18 @@
+name: mm_vmscan_lru_isolate
+ID: 233
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int highest_zoneidx;	offset:8;	size:4;	signed:1;
+	field:int order;	offset:12;	size:4;	signed:1;
+	field:unsigned long nr_requested;	offset:16;	size:8;	signed:0;
+	field:unsigned long nr_scanned;	offset:24;	size:8;	signed:0;
+	field:unsigned long nr_skipped;	offset:32;	size:8;	signed:0;
+	field:unsigned long nr_taken;	offset:40;	size:8;	signed:0;
+	field:isolate_mode_t isolate_mode;	offset:48;	size:4;	signed:0;
+	field:int lru;	offset:52;	size:4;	signed:1;
+
+print fmt: "isolate_mode=%d classzone=%d order=%d nr_requested=%lu nr_scanned=%lu nr_skipped=%lu nr_taken=%lu lru=%s", REC->isolate_mode, REC->highest_zoneidx, REC->order, REC->nr_requested, REC->nr_scanned, REC->nr_skipped, REC->nr_taken, __print_symbolic(REC->lru, {0, "inactive_anon"}, {1, "active_anon"}, {2, "inactive_file"}, {3, "active_file"}, {4, "unevictable"})
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_lru_shrink_active/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_lru_shrink_active/format
new file mode 100644
index 0000000..cb9ebee
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_lru_shrink_active/format
@@ -0,0 +1,17 @@
+name: mm_vmscan_lru_shrink_active
+ID: 234
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int nid;	offset:8;	size:4;	signed:1;
+	field:unsigned long nr_taken;	offset:16;	size:8;	signed:0;
+	field:unsigned long nr_active;	offset:24;	size:8;	signed:0;
+	field:unsigned long nr_deactivated;	offset:32;	size:8;	signed:0;
+	field:unsigned long nr_referenced;	offset:40;	size:8;	signed:0;
+	field:int priority;	offset:48;	size:4;	signed:1;
+	field:int reclaim_flags;	offset:52;	size:4;	signed:1;
+
+print fmt: "nid=%d nr_taken=%ld nr_active=%ld nr_deactivated=%ld nr_referenced=%ld priority=%d flags=%s", REC->nid, REC->nr_taken, REC->nr_active, REC->nr_deactivated, REC->nr_referenced, REC->priority, (REC->reclaim_flags) ? __print_flags(REC->reclaim_flags, "|", {0x0001u, "RECLAIM_WB_ANON"}, {0x0002u, "RECLAIM_WB_FILE"}, {0x0010u, "RECLAIM_WB_MIXED"}, {0x0004u, "RECLAIM_WB_SYNC"}, {0x0008u, "RECLAIM_WB_ASYNC"} ) : "RECLAIM_WB_NONE"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_lru_shrink_inactive/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_lru_shrink_inactive/format
new file mode 100644
index 0000000..7e11e0f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_lru_shrink_inactive/format
@@ -0,0 +1,23 @@
+name: mm_vmscan_lru_shrink_inactive
+ID: 235
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int nid;	offset:8;	size:4;	signed:1;
+	field:unsigned long nr_scanned;	offset:16;	size:8;	signed:0;
+	field:unsigned long nr_reclaimed;	offset:24;	size:8;	signed:0;
+	field:unsigned long nr_dirty;	offset:32;	size:8;	signed:0;
+	field:unsigned long nr_writeback;	offset:40;	size:8;	signed:0;
+	field:unsigned long nr_congested;	offset:48;	size:8;	signed:0;
+	field:unsigned long nr_immediate;	offset:56;	size:8;	signed:0;
+	field:unsigned int nr_activate0;	offset:64;	size:4;	signed:0;
+	field:unsigned int nr_activate1;	offset:68;	size:4;	signed:0;
+	field:unsigned long nr_ref_keep;	offset:72;	size:8;	signed:0;
+	field:unsigned long nr_unmap_fail;	offset:80;	size:8;	signed:0;
+	field:int priority;	offset:88;	size:4;	signed:1;
+	field:int reclaim_flags;	offset:92;	size:4;	signed:1;
+
+print fmt: "nid=%d nr_scanned=%ld nr_reclaimed=%ld nr_dirty=%ld nr_writeback=%ld nr_congested=%ld nr_immediate=%ld nr_activate_anon=%d nr_activate_file=%d nr_ref_keep=%ld nr_unmap_fail=%ld priority=%d flags=%s", REC->nid, REC->nr_scanned, REC->nr_reclaimed, REC->nr_dirty, REC->nr_writeback, REC->nr_congested, REC->nr_immediate, REC->nr_activate0, REC->nr_activate1, REC->nr_ref_keep, REC->nr_unmap_fail, REC->priority, (REC->reclaim_flags) ? __print_flags(REC->reclaim_flags, "|", {0x0001u, "RECLAIM_WB_ANON"}, {0x0002u, "RECLAIM_WB_FILE"}, {0x0010u, "RECLAIM_WB_MIXED"}, {0x0004u, "RECLAIM_WB_SYNC"}, {0x0008u, "RECLAIM_WB_ASYNC"} ) : "RECLAIM_WB_NONE"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_memcg_reclaim_begin/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_memcg_reclaim_begin/format
new file mode 100644
index 0000000..b9f4538
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_memcg_reclaim_begin/format
@@ -0,0 +1,12 @@
+name: mm_vmscan_memcg_reclaim_begin
+ID: 236
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int order;	offset:8;	size:4;	signed:1;
+	field:gfp_t gfp_flags;	offset:12;	size:4;	signed:0;
+
+print fmt: "order=%d gfp_flags=%s", REC->order, (REC->gfp_flags) ? __print_flags(REC->gfp_flags, "|", {(unsigned long)(((((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)) | (( gfp_t)0x40000u) | (( gfp_t)0x80000u) | (( gfp_t)0x2000u)) & ~(( gfp_t)(0x400u|0x800u))) | (( gfp_t)0x400u)), "GFP_TRANSHUGE"}, {(unsigned long)((((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)) | (( gfp_t)0x40000u) | (( gfp_t)0x80000u) | (( gfp_t)0x2000u)) & ~(( gfp_t)(0x400u|0x800u))), "GFP_TRANSHUGE_LIGHT"}, {(unsigned long)((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)), "GFP_HIGHUSER_MOVABLE"}, {(unsigned long)(((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)), "GFP_HIGHUSER"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)), "GFP_USER"}, {(unsigned long)(((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u)) | (( gfp_t)0x400000u)), "GFP_KERNEL_ACCOUNT"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u)), "GFP_KERNEL"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u)), "GFP_NOFS"}, {(unsigned long)((( gfp_t)0x20u)|(( gfp_t)0x200u)|(( gfp_t)0x800u)), "GFP_ATOMIC"}, {(unsigned long)((( gfp_t)(0x400u|0x800u))), "GFP_NOIO"}, {(unsigned long)((( gfp_t)0x800u)), "GFP_NOWAIT"}, {(unsigned long)(( gfp_t)0x01u), "GFP_DMA"}, {(unsigned long)(( gfp_t)0x02u), "__GFP_HIGHMEM"}, {(unsigned long)(( gfp_t)0x04u), "GFP_DMA32"}, {(unsigned long)(( gfp_t)0x20u), "__GFP_HIGH"}, {(unsigned long)(( gfp_t)0x200u), "__GFP_ATOMIC"}, {(unsigned long)(( gfp_t)0x40u), "__GFP_IO"}, {(unsigned long)(( gfp_t)0x80u), "__GFP_FS"}, {(unsigned long)(( gfp_t)0x2000u), "__GFP_NOWARN"}, {(unsigned long)(( gfp_t)0x4000u), "__GFP_RETRY_MAYFAIL"}, {(unsigned long)(( gfp_t)0x8000u), "__GFP_NOFAIL"}, {(unsigned long)(( gfp_t)0x10000u), "__GFP_NORETRY"}, {(unsigned long)(( gfp_t)0x40000u), "__GFP_COMP"}, {(unsigned long)(( gfp_t)0x100u), "__GFP_ZERO"}, {(unsigned long)(( gfp_t)0x80000u), "__GFP_NOMEMALLOC"}, {(unsigned long)(( gfp_t)0x20000u), "__GFP_MEMALLOC"}, {(unsigned long)(( gfp_t)0x100000u), "__GFP_HARDWALL"}, {(unsigned long)(( gfp_t)0x200000u), "__GFP_THISNODE"}, {(unsigned long)(( gfp_t)0x10u), "__GFP_RECLAIMABLE"}, {(unsigned long)(( gfp_t)0x08u), "__GFP_MOVABLE"}, {(unsigned long)(( gfp_t)0x400000u), "__GFP_ACCOUNT"}, {(unsigned long)(( gfp_t)0x1000u), "__GFP_WRITE"}, {(unsigned long)(( gfp_t)(0x400u|0x800u)), "__GFP_RECLAIM"}, {(unsigned long)(( gfp_t)0x400u), "__GFP_DIRECT_RECLAIM"}, {(unsigned long)(( gfp_t)0x800u), "__GFP_KSWAPD_RECLAIM"} ) : "none"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_memcg_reclaim_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_memcg_reclaim_end/format
new file mode 100644
index 0000000..77f9af9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_memcg_reclaim_end/format
@@ -0,0 +1,11 @@
+name: mm_vmscan_memcg_reclaim_end
+ID: 237
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long nr_reclaimed;	offset:8;	size:8;	signed:0;
+
+print fmt: "nr_reclaimed=%lu", REC->nr_reclaimed
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_memcg_softlimit_reclaim_begin/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_memcg_softlimit_reclaim_begin/format
new file mode 100644
index 0000000..7ae928b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_memcg_softlimit_reclaim_begin/format
@@ -0,0 +1,12 @@
+name: mm_vmscan_memcg_softlimit_reclaim_begin
+ID: 238
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int order;	offset:8;	size:4;	signed:1;
+	field:gfp_t gfp_flags;	offset:12;	size:4;	signed:0;
+
+print fmt: "order=%d gfp_flags=%s", REC->order, (REC->gfp_flags) ? __print_flags(REC->gfp_flags, "|", {(unsigned long)(((((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)) | (( gfp_t)0x40000u) | (( gfp_t)0x80000u) | (( gfp_t)0x2000u)) & ~(( gfp_t)(0x400u|0x800u))) | (( gfp_t)0x400u)), "GFP_TRANSHUGE"}, {(unsigned long)((((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)) | (( gfp_t)0x40000u) | (( gfp_t)0x80000u) | (( gfp_t)0x2000u)) & ~(( gfp_t)(0x400u|0x800u))), "GFP_TRANSHUGE_LIGHT"}, {(unsigned long)((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)), "GFP_HIGHUSER_MOVABLE"}, {(unsigned long)(((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)), "GFP_HIGHUSER"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)), "GFP_USER"}, {(unsigned long)(((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u)) | (( gfp_t)0x400000u)), "GFP_KERNEL_ACCOUNT"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u)), "GFP_KERNEL"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u)), "GFP_NOFS"}, {(unsigned long)((( gfp_t)0x20u)|(( gfp_t)0x200u)|(( gfp_t)0x800u)), "GFP_ATOMIC"}, {(unsigned long)((( gfp_t)(0x400u|0x800u))), "GFP_NOIO"}, {(unsigned long)((( gfp_t)0x800u)), "GFP_NOWAIT"}, {(unsigned long)(( gfp_t)0x01u), "GFP_DMA"}, {(unsigned long)(( gfp_t)0x02u), "__GFP_HIGHMEM"}, {(unsigned long)(( gfp_t)0x04u), "GFP_DMA32"}, {(unsigned long)(( gfp_t)0x20u), "__GFP_HIGH"}, {(unsigned long)(( gfp_t)0x200u), "__GFP_ATOMIC"}, {(unsigned long)(( gfp_t)0x40u), "__GFP_IO"}, {(unsigned long)(( gfp_t)0x80u), "__GFP_FS"}, {(unsigned long)(( gfp_t)0x2000u), "__GFP_NOWARN"}, {(unsigned long)(( gfp_t)0x4000u), "__GFP_RETRY_MAYFAIL"}, {(unsigned long)(( gfp_t)0x8000u), "__GFP_NOFAIL"}, {(unsigned long)(( gfp_t)0x10000u), "__GFP_NORETRY"}, {(unsigned long)(( gfp_t)0x40000u), "__GFP_COMP"}, {(unsigned long)(( gfp_t)0x100u), "__GFP_ZERO"}, {(unsigned long)(( gfp_t)0x80000u), "__GFP_NOMEMALLOC"}, {(unsigned long)(( gfp_t)0x20000u), "__GFP_MEMALLOC"}, {(unsigned long)(( gfp_t)0x100000u), "__GFP_HARDWALL"}, {(unsigned long)(( gfp_t)0x200000u), "__GFP_THISNODE"}, {(unsigned long)(( gfp_t)0x10u), "__GFP_RECLAIMABLE"}, {(unsigned long)(( gfp_t)0x08u), "__GFP_MOVABLE"}, {(unsigned long)(( gfp_t)0x400000u), "__GFP_ACCOUNT"}, {(unsigned long)(( gfp_t)0x1000u), "__GFP_WRITE"}, {(unsigned long)(( gfp_t)(0x400u|0x800u)), "__GFP_RECLAIM"}, {(unsigned long)(( gfp_t)0x400u), "__GFP_DIRECT_RECLAIM"}, {(unsigned long)(( gfp_t)0x800u), "__GFP_KSWAPD_RECLAIM"} ) : "none"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_memcg_softlimit_reclaim_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_memcg_softlimit_reclaim_end/format
new file mode 100644
index 0000000..9f8257a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_memcg_softlimit_reclaim_end/format
@@ -0,0 +1,11 @@
+name: mm_vmscan_memcg_softlimit_reclaim_end
+ID: 239
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long nr_reclaimed;	offset:8;	size:8;	signed:0;
+
+print fmt: "nr_reclaimed=%lu", REC->nr_reclaimed
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_node_reclaim_begin/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_node_reclaim_begin/format
new file mode 100644
index 0000000..2c68099
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_node_reclaim_begin/format
@@ -0,0 +1,13 @@
+name: mm_vmscan_node_reclaim_begin
+ID: 240
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int nid;	offset:8;	size:4;	signed:1;
+	field:int order;	offset:12;	size:4;	signed:1;
+	field:gfp_t gfp_flags;	offset:16;	size:4;	signed:0;
+
+print fmt: "nid=%d order=%d gfp_flags=%s", REC->nid, REC->order, (REC->gfp_flags) ? __print_flags(REC->gfp_flags, "|", {(unsigned long)(((((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)) | (( gfp_t)0x40000u) | (( gfp_t)0x80000u) | (( gfp_t)0x2000u)) & ~(( gfp_t)(0x400u|0x800u))) | (( gfp_t)0x400u)), "GFP_TRANSHUGE"}, {(unsigned long)((((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)) | (( gfp_t)0x40000u) | (( gfp_t)0x80000u) | (( gfp_t)0x2000u)) & ~(( gfp_t)(0x400u|0x800u))), "GFP_TRANSHUGE_LIGHT"}, {(unsigned long)((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)), "GFP_HIGHUSER_MOVABLE"}, {(unsigned long)(((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)), "GFP_HIGHUSER"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)), "GFP_USER"}, {(unsigned long)(((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u)) | (( gfp_t)0x400000u)), "GFP_KERNEL_ACCOUNT"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u)), "GFP_KERNEL"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u)), "GFP_NOFS"}, {(unsigned long)((( gfp_t)0x20u)|(( gfp_t)0x200u)|(( gfp_t)0x800u)), "GFP_ATOMIC"}, {(unsigned long)((( gfp_t)(0x400u|0x800u))), "GFP_NOIO"}, {(unsigned long)((( gfp_t)0x800u)), "GFP_NOWAIT"}, {(unsigned long)(( gfp_t)0x01u), "GFP_DMA"}, {(unsigned long)(( gfp_t)0x02u), "__GFP_HIGHMEM"}, {(unsigned long)(( gfp_t)0x04u), "GFP_DMA32"}, {(unsigned long)(( gfp_t)0x20u), "__GFP_HIGH"}, {(unsigned long)(( gfp_t)0x200u), "__GFP_ATOMIC"}, {(unsigned long)(( gfp_t)0x40u), "__GFP_IO"}, {(unsigned long)(( gfp_t)0x80u), "__GFP_FS"}, {(unsigned long)(( gfp_t)0x2000u), "__GFP_NOWARN"}, {(unsigned long)(( gfp_t)0x4000u), "__GFP_RETRY_MAYFAIL"}, {(unsigned long)(( gfp_t)0x8000u), "__GFP_NOFAIL"}, {(unsigned long)(( gfp_t)0x10000u), "__GFP_NORETRY"}, {(unsigned long)(( gfp_t)0x40000u), "__GFP_COMP"}, {(unsigned long)(( gfp_t)0x100u), "__GFP_ZERO"}, {(unsigned long)(( gfp_t)0x80000u), "__GFP_NOMEMALLOC"}, {(unsigned long)(( gfp_t)0x20000u), "__GFP_MEMALLOC"}, {(unsigned long)(( gfp_t)0x100000u), "__GFP_HARDWALL"}, {(unsigned long)(( gfp_t)0x200000u), "__GFP_THISNODE"}, {(unsigned long)(( gfp_t)0x10u), "__GFP_RECLAIMABLE"}, {(unsigned long)(( gfp_t)0x08u), "__GFP_MOVABLE"}, {(unsigned long)(( gfp_t)0x400000u), "__GFP_ACCOUNT"}, {(unsigned long)(( gfp_t)0x1000u), "__GFP_WRITE"}, {(unsigned long)(( gfp_t)(0x400u|0x800u)), "__GFP_RECLAIM"}, {(unsigned long)(( gfp_t)0x400u), "__GFP_DIRECT_RECLAIM"}, {(unsigned long)(( gfp_t)0x800u), "__GFP_KSWAPD_RECLAIM"} ) : "none"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_node_reclaim_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_node_reclaim_end/format
new file mode 100644
index 0000000..3671254
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_node_reclaim_end/format
@@ -0,0 +1,11 @@
+name: mm_vmscan_node_reclaim_end
+ID: 241
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long nr_reclaimed;	offset:8;	size:8;	signed:0;
+
+print fmt: "nr_reclaimed=%lu", REC->nr_reclaimed
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_wakeup_kswapd/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_wakeup_kswapd/format
new file mode 100644
index 0000000..a7a260f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_wakeup_kswapd/format
@@ -0,0 +1,14 @@
+name: mm_vmscan_wakeup_kswapd
+ID: 242
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int nid;	offset:8;	size:4;	signed:1;
+	field:int zid;	offset:12;	size:4;	signed:1;
+	field:int order;	offset:16;	size:4;	signed:1;
+	field:gfp_t gfp_flags;	offset:20;	size:4;	signed:0;
+
+print fmt: "nid=%d order=%d gfp_flags=%s", REC->nid, REC->order, (REC->gfp_flags) ? __print_flags(REC->gfp_flags, "|", {(unsigned long)(((((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)) | (( gfp_t)0x40000u) | (( gfp_t)0x80000u) | (( gfp_t)0x2000u)) & ~(( gfp_t)(0x400u|0x800u))) | (( gfp_t)0x400u)), "GFP_TRANSHUGE"}, {(unsigned long)((((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)) | (( gfp_t)0x40000u) | (( gfp_t)0x80000u) | (( gfp_t)0x2000u)) & ~(( gfp_t)(0x400u|0x800u))), "GFP_TRANSHUGE_LIGHT"}, {(unsigned long)((((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)) | (( gfp_t)0x08u) | (( gfp_t)0x1000000u)), "GFP_HIGHUSER_MOVABLE"}, {(unsigned long)(((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)) | (( gfp_t)0x02u)), "GFP_HIGHUSER"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | (( gfp_t)0x100000u)), "GFP_USER"}, {(unsigned long)(((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u)) | (( gfp_t)0x400000u)), "GFP_KERNEL_ACCOUNT"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u) | (( gfp_t)0x80u)), "GFP_KERNEL"}, {(unsigned long)((( gfp_t)(0x400u|0x800u)) | (( gfp_t)0x40u)), "GFP_NOFS"}, {(unsigned long)((( gfp_t)0x20u)|(( gfp_t)0x200u)|(( gfp_t)0x800u)), "GFP_ATOMIC"}, {(unsigned long)((( gfp_t)(0x400u|0x800u))), "GFP_NOIO"}, {(unsigned long)((( gfp_t)0x800u)), "GFP_NOWAIT"}, {(unsigned long)(( gfp_t)0x01u), "GFP_DMA"}, {(unsigned long)(( gfp_t)0x02u), "__GFP_HIGHMEM"}, {(unsigned long)(( gfp_t)0x04u), "GFP_DMA32"}, {(unsigned long)(( gfp_t)0x20u), "__GFP_HIGH"}, {(unsigned long)(( gfp_t)0x200u), "__GFP_ATOMIC"}, {(unsigned long)(( gfp_t)0x40u), "__GFP_IO"}, {(unsigned long)(( gfp_t)0x80u), "__GFP_FS"}, {(unsigned long)(( gfp_t)0x2000u), "__GFP_NOWARN"}, {(unsigned long)(( gfp_t)0x4000u), "__GFP_RETRY_MAYFAIL"}, {(unsigned long)(( gfp_t)0x8000u), "__GFP_NOFAIL"}, {(unsigned long)(( gfp_t)0x10000u), "__GFP_NORETRY"}, {(unsigned long)(( gfp_t)0x40000u), "__GFP_COMP"}, {(unsigned long)(( gfp_t)0x100u), "__GFP_ZERO"}, {(unsigned long)(( gfp_t)0x80000u), "__GFP_NOMEMALLOC"}, {(unsigned long)(( gfp_t)0x20000u), "__GFP_MEMALLOC"}, {(unsigned long)(( gfp_t)0x100000u), "__GFP_HARDWALL"}, {(unsigned long)(( gfp_t)0x200000u), "__GFP_THISNODE"}, {(unsigned long)(( gfp_t)0x10u), "__GFP_RECLAIMABLE"}, {(unsigned long)(( gfp_t)0x08u), "__GFP_MOVABLE"}, {(unsigned long)(( gfp_t)0x400000u), "__GFP_ACCOUNT"}, {(unsigned long)(( gfp_t)0x1000u), "__GFP_WRITE"}, {(unsigned long)(( gfp_t)(0x400u|0x800u)), "__GFP_RECLAIM"}, {(unsigned long)(( gfp_t)0x400u), "__GFP_DIRECT_RECLAIM"}, {(unsigned long)(( gfp_t)0x800u), "__GFP_KSWAPD_RECLAIM"} ) : "none"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_writepage/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_writepage/format
new file mode 100644
index 0000000..6581f10
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vmscan/mm_vmscan_writepage/format
@@ -0,0 +1,12 @@
+name: mm_vmscan_writepage
+ID: 243
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long pfn;	offset:8;	size:8;	signed:0;
+	field:int reclaim_flags;	offset:16;	size:4;	signed:1;
+
+print fmt: "page=%p pfn=%lu flags=%s", (((struct page *)(-(((-((((1UL))) << ((((39))) - 1))) - ((-((((1UL))) << ((39)))))) >> (12 - (( __builtin_constant_p(sizeof(struct page)) ? ( ((sizeof(struct page)) == 0 || (sizeof(struct page)) == 1) ? 0 : ( __builtin_constant_p((sizeof(struct page)) - 1) ? ( __builtin_constant_p((sizeof(struct page)) - 1) ? ( ((sizeof(struct page)) - 1) < 2 ? 0 : ((sizeof(struct page)) - 1) & (1ULL << 63) ? 63 : ((sizeof(struct page)) - 1) & (1ULL << 62) ? 62 : ((sizeof(struct page)) - 1) & (1ULL << 61) ? 61 : ((sizeof(struct page)) - 1) & (1ULL << 60) ? 60 : ((sizeof(struct page)) - 1) & (1ULL << 59) ? 59 : ((sizeof(struct page)) - 1) & (1ULL << 58) ? 58 : ((sizeof(struct page)) - 1) & (1ULL << 57) ? 57 : ((sizeof(struct page)) - 1) & (1ULL << 56) ? 56 : ((sizeof(struct page)) - 1) & (1ULL << 55) ? 55 : ((sizeof(struct page)) - 1) & (1ULL << 54) ? 54 : ((sizeof(struct page)) - 1) & (1ULL << 53) ? 53 : ((sizeof(struct page)) - 1) & (1ULL << 52) ? 52 : ((sizeof(struct page)) - 1) & (1ULL << 51) ? 51 : ((sizeof(struct page)) - 1) & (1ULL << 50) ? 50 : ((sizeof(struct page)) - 1) & (1ULL << 49) ? 49 : ((sizeof(struct page)) - 1) & (1ULL << 48) ? 48 : ((sizeof(struct page)) - 1) & (1ULL << 47) ? 47 : ((sizeof(struct page)) - 1) & (1ULL << 46) ? 46 : ((sizeof(struct page)) - 1) & (1ULL << 45) ? 45 : ((sizeof(struct page)) - 1) & (1ULL << 44) ? 44 : ((sizeof(struct page)) - 1) & (1ULL << 43) ? 43 : ((sizeof(struct page)) - 1) & (1ULL << 42) ? 42 : ((sizeof(struct page)) - 1) & (1ULL << 41) ? 41 : ((sizeof(struct page)) - 1) & (1ULL << 40) ? 40 : ((sizeof(struct page)) - 1) & (1ULL << 39) ? 39 : ((sizeof(struct page)) - 1) & (1ULL << 38) ? 38 : ((sizeof(struct page)) - 1) & (1ULL << 37) ? 37 : ((sizeof(struct page)) - 1) & (1ULL << 36) ? 36 : ((sizeof(struct page)) - 1) & (1ULL << 35) ? 35 : ((sizeof(struct page)) - 1) & (1ULL << 34) ? 34 : ((sizeof(struct page)) - 1) & (1ULL << 33) ? 33 : ((sizeof(struct page)) - 1) & (1ULL << 32) ? 32 : ((sizeof(struct page)) - 1) & (1ULL << 31) ? 31 : ((sizeof(struct page)) - 1) & (1ULL << 30) ? 30 : ((sizeof(struct page)) - 1) & (1ULL << 29) ? 29 : ((sizeof(struct page)) - 1) & (1ULL << 28) ? 28 : ((sizeof(struct page)) - 1) & (1ULL << 27) ? 27 : ((sizeof(struct page)) - 1) & (1ULL << 26) ? 26 : ((sizeof(struct page)) - 1) & (1ULL << 25) ? 25 : ((sizeof(struct page)) - 1) & (1ULL << 24) ? 24 : ((sizeof(struct page)) - 1) & (1ULL << 23) ? 23 : ((sizeof(struct page)) - 1) & (1ULL << 22) ? 22 : ((sizeof(struct page)) - 1) & (1ULL << 21) ? 21 : ((sizeof(struct page)) - 1) & (1ULL << 20) ? 20 : ((sizeof(struct page)) - 1) & (1ULL << 19) ? 19 : ((sizeof(struct page)) - 1) & (1ULL << 18) ? 18 : ((sizeof(struct page)) - 1) & (1ULL << 17) ? 17 : ((sizeof(struct page)) - 1) & (1ULL << 16) ? 16 : ((sizeof(struct page)) - 1) & (1ULL << 15) ? 15 : ((sizeof(struct page)) - 1) & (1ULL << 14) ? 14 : ((sizeof(struct page)) - 1) & (1ULL << 13) ? 13 : ((sizeof(struct page)) - 1) & (1ULL << 12) ? 12 : ((sizeof(struct page)) - 1) & (1ULL << 11) ? 11 : ((sizeof(struct page)) - 1) & (1ULL << 10) ? 10 : ((sizeof(struct page)) - 1) & (1ULL << 9) ? 9 : ((sizeof(struct page)) - 1) & (1ULL << 8) ? 8 : ((sizeof(struct page)) - 1) & (1ULL << 7) ? 7 : ((sizeof(struct page)) - 1) & (1ULL << 6) ? 6 : ((sizeof(struct page)) - 1) & (1ULL << 5) ? 5 : ((sizeof(struct page)) - 1) & (1ULL << 4) ? 4 : ((sizeof(struct page)) - 1) & (1ULL << 3) ? 3 : ((sizeof(struct page)) - 1) & (1ULL << 2) ? 2 : 1) : -1) : (sizeof((sizeof(struct page)) - 1) <= 4) ? __ilog2_u32((sizeof(struct page)) - 1) : __ilog2_u64((sizeof(struct page)) - 1) ) + 1) : __order_base_2(sizeof(struct page)) )))) - 0x00200000) - (memstart_addr >> 12)) + (REC->pfn)), REC->pfn, (REC->reclaim_flags) ? __print_flags(REC->reclaim_flags, "|", {0x0001u, "RECLAIM_WB_ANON"}, {0x0002u, "RECLAIM_WB_FILE"}, {0x0010u, "RECLAIM_WB_MIXED"}, {0x0004u, "RECLAIM_WB_SYNC"}, {0x0008u, "RECLAIM_WB_ASYNC"} ) : "RECLAIM_WB_NONE"
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vsock/virtio_transport_alloc_pkt/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vsock/virtio_transport_alloc_pkt/format
new file mode 100644
index 0000000..a19621c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vsock/virtio_transport_alloc_pkt/format
@@ -0,0 +1,18 @@
+name: virtio_transport_alloc_pkt
+ID: 1055
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__u32 src_cid;	offset:8;	size:4;	signed:0;
+	field:__u32 src_port;	offset:12;	size:4;	signed:0;
+	field:__u32 dst_cid;	offset:16;	size:4;	signed:0;
+	field:__u32 dst_port;	offset:20;	size:4;	signed:0;
+	field:__u32 len;	offset:24;	size:4;	signed:0;
+	field:__u16 type;	offset:28;	size:2;	signed:0;
+	field:__u16 op;	offset:30;	size:2;	signed:0;
+	field:__u32 flags;	offset:32;	size:4;	signed:0;
+
+print fmt: "%u:%u -> %u:%u len=%u type=%s op=%s flags=%#x", REC->src_cid, REC->src_port, REC->dst_cid, REC->dst_port, REC->len, __print_symbolic(REC->type, { 1, "STREAM" }), __print_symbolic(REC->op, { 0, "INVALID" }, { 1, "REQUEST" }, { 2, "RESPONSE" }, { 3, "RST" }, { 4, "SHUTDOWN" }, { 5, "RW" }, { 6, "CREDIT_UPDATE" }, { 7, "CREDIT_REQUEST" }), REC->flags
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vsock/virtio_transport_recv_pkt/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vsock/virtio_transport_recv_pkt/format
new file mode 100644
index 0000000..426acfc
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/vsock/virtio_transport_recv_pkt/format
@@ -0,0 +1,20 @@
+name: virtio_transport_recv_pkt
+ID: 1056
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__u32 src_cid;	offset:8;	size:4;	signed:0;
+	field:__u32 src_port;	offset:12;	size:4;	signed:0;
+	field:__u32 dst_cid;	offset:16;	size:4;	signed:0;
+	field:__u32 dst_port;	offset:20;	size:4;	signed:0;
+	field:__u32 len;	offset:24;	size:4;	signed:0;
+	field:__u16 type;	offset:28;	size:2;	signed:0;
+	field:__u16 op;	offset:30;	size:2;	signed:0;
+	field:__u32 flags;	offset:32;	size:4;	signed:0;
+	field:__u32 buf_alloc;	offset:36;	size:4;	signed:0;
+	field:__u32 fwd_cnt;	offset:40;	size:4;	signed:0;
+
+print fmt: "%u:%u -> %u:%u len=%u type=%s op=%s flags=%#x buf_alloc=%u fwd_cnt=%u", REC->src_cid, REC->src_port, REC->dst_cid, REC->dst_port, REC->len, __print_symbolic(REC->type, { 1, "STREAM" }), __print_symbolic(REC->op, { 0, "INVALID" }, { 1, "REQUEST" }, { 2, "RESPONSE" }, { 3, "RST" }, { 4, "SHUTDOWN" }, { 5, "RW" }, { 6, "CREDIT_UPDATE" }, { 7, "CREDIT_REQUEST" }), REC->flags, REC->buf_alloc, REC->fwd_cnt
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/workqueue/workqueue_activate_work/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/workqueue/workqueue_activate_work/format
new file mode 100644
index 0000000..43c4931
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/workqueue/workqueue_activate_work/format
@@ -0,0 +1,11 @@
+name: workqueue_activate_work
+ID: 80
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * work;	offset:8;	size:8;	signed:0;
+
+print fmt: "work struct %p", REC->work
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/workqueue/workqueue_execute_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/workqueue/workqueue_execute_end/format
new file mode 100644
index 0000000..54fd03a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/workqueue/workqueue_execute_end/format
@@ -0,0 +1,12 @@
+name: workqueue_execute_end
+ID: 81
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * work;	offset:8;	size:8;	signed:0;
+	field:void * function;	offset:16;	size:8;	signed:0;
+
+print fmt: "work struct %p: function %ps", REC->work, REC->function
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/workqueue/workqueue_execute_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/workqueue/workqueue_execute_start/format
new file mode 100644
index 0000000..690a0d6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/workqueue/workqueue_execute_start/format
@@ -0,0 +1,12 @@
+name: workqueue_execute_start
+ID: 82
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * work;	offset:8;	size:8;	signed:0;
+	field:void * function;	offset:16;	size:8;	signed:0;
+
+print fmt: "work struct %p: function %ps", REC->work, REC->function
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/workqueue/workqueue_queue_work/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/workqueue/workqueue_queue_work/format
new file mode 100644
index 0000000..136581f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/workqueue/workqueue_queue_work/format
@@ -0,0 +1,15 @@
+name: workqueue_queue_work
+ID: 83
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * work;	offset:8;	size:8;	signed:0;
+	field:void * function;	offset:16;	size:8;	signed:0;
+	field:void * workqueue;	offset:24;	size:8;	signed:0;
+	field:unsigned int req_cpu;	offset:32;	size:4;	signed:0;
+	field:unsigned int cpu;	offset:36;	size:4;	signed:0;
+
+print fmt: "work struct=%p function=%ps workqueue=%p req_cpu=%u cpu=%u", REC->work, REC->function, REC->workqueue, REC->req_cpu, REC->cpu
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/balance_dirty_pages/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/balance_dirty_pages/format
new file mode 100644
index 0000000..be32262
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/balance_dirty_pages/format
@@ -0,0 +1,25 @@
+name: balance_dirty_pages
+ID: 296
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char bdi[32];	offset:8;	size:32;	signed:0;
+	field:unsigned long limit;	offset:40;	size:8;	signed:0;
+	field:unsigned long setpoint;	offset:48;	size:8;	signed:0;
+	field:unsigned long dirty;	offset:56;	size:8;	signed:0;
+	field:unsigned long bdi_setpoint;	offset:64;	size:8;	signed:0;
+	field:unsigned long bdi_dirty;	offset:72;	size:8;	signed:0;
+	field:unsigned long dirty_ratelimit;	offset:80;	size:8;	signed:0;
+	field:unsigned long task_ratelimit;	offset:88;	size:8;	signed:0;
+	field:unsigned int dirtied;	offset:96;	size:4;	signed:0;
+	field:unsigned int dirtied_pause;	offset:100;	size:4;	signed:0;
+	field:unsigned long paused;	offset:104;	size:8;	signed:0;
+	field:long pause;	offset:112;	size:8;	signed:1;
+	field:unsigned long period;	offset:120;	size:8;	signed:0;
+	field:long think;	offset:128;	size:8;	signed:1;
+	field:ino_t cgroup_ino;	offset:136;	size:8;	signed:0;
+
+print fmt: "bdi %s: limit=%lu setpoint=%lu dirty=%lu bdi_setpoint=%lu bdi_dirty=%lu dirty_ratelimit=%lu task_ratelimit=%lu dirtied=%u dirtied_pause=%u paused=%lu pause=%ld period=%lu think=%ld cgroup_ino=%lu", REC->bdi, REC->limit, REC->setpoint, REC->dirty, REC->bdi_setpoint, REC->bdi_dirty, REC->dirty_ratelimit, REC->task_ratelimit, REC->dirtied, REC->dirtied_pause, REC->paused, REC->pause, REC->period, REC->think, (unsigned long)REC->cgroup_ino
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/bdi_dirty_ratelimit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/bdi_dirty_ratelimit/format
new file mode 100644
index 0000000..a651e47
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/bdi_dirty_ratelimit/format
@@ -0,0 +1,18 @@
+name: bdi_dirty_ratelimit
+ID: 297
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char bdi[32];	offset:8;	size:32;	signed:0;
+	field:unsigned long write_bw;	offset:40;	size:8;	signed:0;
+	field:unsigned long avg_write_bw;	offset:48;	size:8;	signed:0;
+	field:unsigned long dirty_rate;	offset:56;	size:8;	signed:0;
+	field:unsigned long dirty_ratelimit;	offset:64;	size:8;	signed:0;
+	field:unsigned long task_ratelimit;	offset:72;	size:8;	signed:0;
+	field:unsigned long balanced_dirty_ratelimit;	offset:80;	size:8;	signed:0;
+	field:ino_t cgroup_ino;	offset:88;	size:8;	signed:0;
+
+print fmt: "bdi %s: write_bw=%lu awrite_bw=%lu dirty_rate=%lu dirty_ratelimit=%lu task_ratelimit=%lu balanced_dirty_ratelimit=%lu cgroup_ino=%lu", REC->bdi, REC->write_bw, REC->avg_write_bw, REC->dirty_rate, REC->dirty_ratelimit, REC->task_ratelimit, REC->balanced_dirty_ratelimit, (unsigned long)REC->cgroup_ino
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/flush_foreign/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/flush_foreign/format
new file mode 100644
index 0000000..48cb604
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/flush_foreign/format
@@ -0,0 +1,14 @@
+name: flush_foreign
+ID: 298
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+	field:ino_t cgroup_ino;	offset:40;	size:8;	signed:0;
+	field:unsigned int frn_bdi_id;	offset:48;	size:4;	signed:0;
+	field:unsigned int frn_memcg_id;	offset:52;	size:4;	signed:0;
+
+print fmt: "bdi %s: cgroup_ino=%lu frn_bdi_id=%u frn_memcg_id=%u", REC->name, (unsigned long)REC->cgroup_ino, REC->frn_bdi_id, REC->frn_memcg_id
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/global_dirty_state/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/global_dirty_state/format
new file mode 100644
index 0000000..69287e6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/global_dirty_state/format
@@ -0,0 +1,17 @@
+name: global_dirty_state
+ID: 299
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long nr_dirty;	offset:8;	size:8;	signed:0;
+	field:unsigned long nr_writeback;	offset:16;	size:8;	signed:0;
+	field:unsigned long background_thresh;	offset:24;	size:8;	signed:0;
+	field:unsigned long dirty_thresh;	offset:32;	size:8;	signed:0;
+	field:unsigned long dirty_limit;	offset:40;	size:8;	signed:0;
+	field:unsigned long nr_dirtied;	offset:48;	size:8;	signed:0;
+	field:unsigned long nr_written;	offset:56;	size:8;	signed:0;
+
+print fmt: "dirty=%lu writeback=%lu bg_thresh=%lu thresh=%lu limit=%lu dirtied=%lu written=%lu", REC->nr_dirty, REC->nr_writeback, REC->background_thresh, REC->dirty_thresh, REC->dirty_limit, REC->nr_dirtied, REC->nr_written
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/inode_foreign_history/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/inode_foreign_history/format
new file mode 100644
index 0000000..59bd6ac
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/inode_foreign_history/format
@@ -0,0 +1,14 @@
+name: inode_foreign_history
+ID: 300
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+	field:ino_t ino;	offset:40;	size:8;	signed:0;
+	field:ino_t cgroup_ino;	offset:48;	size:8;	signed:0;
+	field:unsigned int history;	offset:56;	size:4;	signed:0;
+
+print fmt: "bdi %s: ino=%lu cgroup_ino=%lu history=0x%x", REC->name, (unsigned long)REC->ino, (unsigned long)REC->cgroup_ino, REC->history
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/inode_switch_wbs/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/inode_switch_wbs/format
new file mode 100644
index 0000000..c9fa685
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/inode_switch_wbs/format
@@ -0,0 +1,14 @@
+name: inode_switch_wbs
+ID: 301
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+	field:ino_t ino;	offset:40;	size:8;	signed:0;
+	field:ino_t old_cgroup_ino;	offset:48;	size:8;	signed:0;
+	field:ino_t new_cgroup_ino;	offset:56;	size:8;	signed:0;
+
+print fmt: "bdi %s: ino=%lu old_cgroup_ino=%lu new_cgroup_ino=%lu", REC->name, (unsigned long)REC->ino, (unsigned long)REC->old_cgroup_ino, (unsigned long)REC->new_cgroup_ino
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/sb_clear_inode_writeback/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/sb_clear_inode_writeback/format
new file mode 100644
index 0000000..7615f30
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/sb_clear_inode_writeback/format
@@ -0,0 +1,15 @@
+name: sb_clear_inode_writeback
+ID: 302
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned long state;	offset:24;	size:8;	signed:0;
+	field:__u16 mode;	offset:32;	size:2;	signed:0;
+	field:unsigned long dirtied_when;	offset:40;	size:8;	signed:0;
+
+print fmt: "dev %d,%d ino %lu dirtied %lu state %s mode 0%o", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->dirtied_when, __print_flags(REC->state, "|", {(1 << 0), "I_DIRTY_SYNC"}, {(1 << 1), "I_DIRTY_DATASYNC"}, {(1 << 2), "I_DIRTY_PAGES"}, {(1 << 3), "I_NEW"}, {(1 << 4), "I_WILL_FREE"}, {(1 << 5), "I_FREEING"}, {(1 << 6), "I_CLEAR"}, {(1 << 7), "I_SYNC"}, {(1 << 11), "I_DIRTY_TIME"}, {(1 << 8), "I_REFERENCED"} ), REC->mode
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/sb_mark_inode_writeback/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/sb_mark_inode_writeback/format
new file mode 100644
index 0000000..30e103a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/sb_mark_inode_writeback/format
@@ -0,0 +1,15 @@
+name: sb_mark_inode_writeback
+ID: 303
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned long state;	offset:24;	size:8;	signed:0;
+	field:__u16 mode;	offset:32;	size:2;	signed:0;
+	field:unsigned long dirtied_when;	offset:40;	size:8;	signed:0;
+
+print fmt: "dev %d,%d ino %lu dirtied %lu state %s mode 0%o", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->dirtied_when, __print_flags(REC->state, "|", {(1 << 0), "I_DIRTY_SYNC"}, {(1 << 1), "I_DIRTY_DATASYNC"}, {(1 << 2), "I_DIRTY_PAGES"}, {(1 << 3), "I_NEW"}, {(1 << 4), "I_WILL_FREE"}, {(1 << 5), "I_FREEING"}, {(1 << 6), "I_CLEAR"}, {(1 << 7), "I_SYNC"}, {(1 << 11), "I_DIRTY_TIME"}, {(1 << 8), "I_REFERENCED"} ), REC->mode
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/track_foreign_dirty/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/track_foreign_dirty/format
new file mode 100644
index 0000000..adc6cce
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/track_foreign_dirty/format
@@ -0,0 +1,16 @@
+name: track_foreign_dirty
+ID: 304
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+	field:u64 bdi_id;	offset:40;	size:8;	signed:0;
+	field:ino_t ino;	offset:48;	size:8;	signed:0;
+	field:unsigned int memcg_id;	offset:56;	size:4;	signed:0;
+	field:ino_t cgroup_ino;	offset:64;	size:8;	signed:0;
+	field:ino_t page_cgroup_ino;	offset:72;	size:8;	signed:0;
+
+print fmt: "bdi %s[%llu]: ino=%lu memcg_id=%u cgroup_ino=%lu page_cgroup_ino=%lu", REC->name, REC->bdi_id, (unsigned long)REC->ino, REC->memcg_id, (unsigned long)REC->cgroup_ino, (unsigned long)REC->page_cgroup_ino
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/wait_on_page_writeback/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/wait_on_page_writeback/format
new file mode 100644
index 0000000..fe890f3
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/wait_on_page_writeback/format
@@ -0,0 +1,13 @@
+name: wait_on_page_writeback
+ID: 305
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+	field:ino_t ino;	offset:40;	size:8;	signed:0;
+	field:unsigned long index;	offset:48;	size:8;	signed:0;
+
+print fmt: "bdi %s: ino=%lu index=%lu", REC->name, (unsigned long)REC->ino, REC->index
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/wbc_writepage/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/wbc_writepage/format
new file mode 100644
index 0000000..85c4b0e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/wbc_writepage/format
@@ -0,0 +1,21 @@
+name: wbc_writepage
+ID: 306
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+	field:long nr_to_write;	offset:40;	size:8;	signed:1;
+	field:long pages_skipped;	offset:48;	size:8;	signed:1;
+	field:int sync_mode;	offset:56;	size:4;	signed:1;
+	field:int for_kupdate;	offset:60;	size:4;	signed:1;
+	field:int for_background;	offset:64;	size:4;	signed:1;
+	field:int for_reclaim;	offset:68;	size:4;	signed:1;
+	field:int range_cyclic;	offset:72;	size:4;	signed:1;
+	field:long range_start;	offset:80;	size:8;	signed:1;
+	field:long range_end;	offset:88;	size:8;	signed:1;
+	field:ino_t cgroup_ino;	offset:96;	size:8;	signed:0;
+
+print fmt: "bdi %s: towrt=%ld skip=%ld mode=%d kupd=%d bgrd=%d reclm=%d cyclic=%d start=0x%lx end=0x%lx cgroup_ino=%lu", REC->name, REC->nr_to_write, REC->pages_skipped, REC->sync_mode, REC->for_kupdate, REC->for_background, REC->for_reclaim, REC->range_cyclic, REC->range_start, REC->range_end, (unsigned long)REC->cgroup_ino
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_bdi_register/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_bdi_register/format
new file mode 100644
index 0000000..fe04fe7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_bdi_register/format
@@ -0,0 +1,11 @@
+name: writeback_bdi_register
+ID: 307
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+
+print fmt: "bdi %s", REC->name
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_congestion_wait/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_congestion_wait/format
new file mode 100644
index 0000000..d16ee88
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_congestion_wait/format
@@ -0,0 +1,12 @@
+name: writeback_congestion_wait
+ID: 308
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int usec_timeout;	offset:8;	size:4;	signed:0;
+	field:unsigned int usec_delayed;	offset:12;	size:4;	signed:0;
+
+print fmt: "usec_timeout=%u usec_delayed=%u", REC->usec_timeout, REC->usec_delayed
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_dirty_inode/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_dirty_inode/format
new file mode 100644
index 0000000..21a3c95
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_dirty_inode/format
@@ -0,0 +1,14 @@
+name: writeback_dirty_inode
+ID: 309
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+	field:ino_t ino;	offset:40;	size:8;	signed:0;
+	field:unsigned long state;	offset:48;	size:8;	signed:0;
+	field:unsigned long flags;	offset:56;	size:8;	signed:0;
+
+print fmt: "bdi %s: ino=%lu state=%s flags=%s", REC->name, (unsigned long)REC->ino, __print_flags(REC->state, "|", {(1 << 0), "I_DIRTY_SYNC"}, {(1 << 1), "I_DIRTY_DATASYNC"}, {(1 << 2), "I_DIRTY_PAGES"}, {(1 << 3), "I_NEW"}, {(1 << 4), "I_WILL_FREE"}, {(1 << 5), "I_FREEING"}, {(1 << 6), "I_CLEAR"}, {(1 << 7), "I_SYNC"}, {(1 << 11), "I_DIRTY_TIME"}, {(1 << 8), "I_REFERENCED"} ), __print_flags(REC->flags, "|", {(1 << 0), "I_DIRTY_SYNC"}, {(1 << 1), "I_DIRTY_DATASYNC"}, {(1 << 2), "I_DIRTY_PAGES"}, {(1 << 3), "I_NEW"}, {(1 << 4), "I_WILL_FREE"}, {(1 << 5), "I_FREEING"}, {(1 << 6), "I_CLEAR"}, {(1 << 7), "I_SYNC"}, {(1 << 11), "I_DIRTY_TIME"}, {(1 << 8), "I_REFERENCED"} )
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_dirty_inode_enqueue/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_dirty_inode_enqueue/format
new file mode 100644
index 0000000..0ffee18
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_dirty_inode_enqueue/format
@@ -0,0 +1,15 @@
+name: writeback_dirty_inode_enqueue
+ID: 310
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned long state;	offset:24;	size:8;	signed:0;
+	field:__u16 mode;	offset:32;	size:2;	signed:0;
+	field:unsigned long dirtied_when;	offset:40;	size:8;	signed:0;
+
+print fmt: "dev %d,%d ino %lu dirtied %lu state %s mode 0%o", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->dirtied_when, __print_flags(REC->state, "|", {(1 << 0), "I_DIRTY_SYNC"}, {(1 << 1), "I_DIRTY_DATASYNC"}, {(1 << 2), "I_DIRTY_PAGES"}, {(1 << 3), "I_NEW"}, {(1 << 4), "I_WILL_FREE"}, {(1 << 5), "I_FREEING"}, {(1 << 6), "I_CLEAR"}, {(1 << 7), "I_SYNC"}, {(1 << 11), "I_DIRTY_TIME"}, {(1 << 8), "I_REFERENCED"} ), REC->mode
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_dirty_inode_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_dirty_inode_start/format
new file mode 100644
index 0000000..1186493
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_dirty_inode_start/format
@@ -0,0 +1,14 @@
+name: writeback_dirty_inode_start
+ID: 311
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+	field:ino_t ino;	offset:40;	size:8;	signed:0;
+	field:unsigned long state;	offset:48;	size:8;	signed:0;
+	field:unsigned long flags;	offset:56;	size:8;	signed:0;
+
+print fmt: "bdi %s: ino=%lu state=%s flags=%s", REC->name, (unsigned long)REC->ino, __print_flags(REC->state, "|", {(1 << 0), "I_DIRTY_SYNC"}, {(1 << 1), "I_DIRTY_DATASYNC"}, {(1 << 2), "I_DIRTY_PAGES"}, {(1 << 3), "I_NEW"}, {(1 << 4), "I_WILL_FREE"}, {(1 << 5), "I_FREEING"}, {(1 << 6), "I_CLEAR"}, {(1 << 7), "I_SYNC"}, {(1 << 11), "I_DIRTY_TIME"}, {(1 << 8), "I_REFERENCED"} ), __print_flags(REC->flags, "|", {(1 << 0), "I_DIRTY_SYNC"}, {(1 << 1), "I_DIRTY_DATASYNC"}, {(1 << 2), "I_DIRTY_PAGES"}, {(1 << 3), "I_NEW"}, {(1 << 4), "I_WILL_FREE"}, {(1 << 5), "I_FREEING"}, {(1 << 6), "I_CLEAR"}, {(1 << 7), "I_SYNC"}, {(1 << 11), "I_DIRTY_TIME"}, {(1 << 8), "I_REFERENCED"} )
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_dirty_page/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_dirty_page/format
new file mode 100644
index 0000000..5af2c70
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_dirty_page/format
@@ -0,0 +1,13 @@
+name: writeback_dirty_page
+ID: 312
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+	field:ino_t ino;	offset:40;	size:8;	signed:0;
+	field:unsigned long index;	offset:48;	size:8;	signed:0;
+
+print fmt: "bdi %s: ino=%lu index=%lu", REC->name, (unsigned long)REC->ino, REC->index
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_exec/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_exec/format
new file mode 100644
index 0000000..91d9d55
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_exec/format
@@ -0,0 +1,19 @@
+name: writeback_exec
+ID: 313
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+	field:long nr_pages;	offset:40;	size:8;	signed:1;
+	field:dev_t sb_dev;	offset:48;	size:4;	signed:0;
+	field:int sync_mode;	offset:52;	size:4;	signed:1;
+	field:int for_kupdate;	offset:56;	size:4;	signed:1;
+	field:int range_cyclic;	offset:60;	size:4;	signed:1;
+	field:int for_background;	offset:64;	size:4;	signed:1;
+	field:int reason;	offset:68;	size:4;	signed:1;
+	field:ino_t cgroup_ino;	offset:72;	size:8;	signed:0;
+
+print fmt: "bdi %s: sb_dev %d:%d nr_pages=%ld sync_mode=%d kupdate=%d range_cyclic=%d background=%d reason=%s cgroup_ino=%lu", REC->name, ((unsigned int) ((REC->sb_dev) >> 20)), ((unsigned int) ((REC->sb_dev) & ((1U << 20) - 1))), REC->nr_pages, REC->sync_mode, REC->for_kupdate, REC->range_cyclic, REC->for_background, __print_symbolic(REC->reason, { 0, "background" }, { 1, "vmscan" }, { 2, "sync" }, { 3, "periodic" }, { 4, "laptop_timer" }, { 5, "fs_free_space" }, { 6, "forker_thread" }), (unsigned long)REC->cgroup_ino
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_lazytime/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_lazytime/format
new file mode 100644
index 0000000..c98b1f2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_lazytime/format
@@ -0,0 +1,15 @@
+name: writeback_lazytime
+ID: 314
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned long state;	offset:24;	size:8;	signed:0;
+	field:__u16 mode;	offset:32;	size:2;	signed:0;
+	field:unsigned long dirtied_when;	offset:40;	size:8;	signed:0;
+
+print fmt: "dev %d,%d ino %lu dirtied %lu state %s mode 0%o", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->dirtied_when, __print_flags(REC->state, "|", {(1 << 0), "I_DIRTY_SYNC"}, {(1 << 1), "I_DIRTY_DATASYNC"}, {(1 << 2), "I_DIRTY_PAGES"}, {(1 << 3), "I_NEW"}, {(1 << 4), "I_WILL_FREE"}, {(1 << 5), "I_FREEING"}, {(1 << 6), "I_CLEAR"}, {(1 << 7), "I_SYNC"}, {(1 << 11), "I_DIRTY_TIME"}, {(1 << 8), "I_REFERENCED"} ), REC->mode
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_lazytime_iput/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_lazytime_iput/format
new file mode 100644
index 0000000..e56af3a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_lazytime_iput/format
@@ -0,0 +1,15 @@
+name: writeback_lazytime_iput
+ID: 315
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:dev_t dev;	offset:8;	size:4;	signed:0;
+	field:ino_t ino;	offset:16;	size:8;	signed:0;
+	field:unsigned long state;	offset:24;	size:8;	signed:0;
+	field:__u16 mode;	offset:32;	size:2;	signed:0;
+	field:unsigned long dirtied_when;	offset:40;	size:8;	signed:0;
+
+print fmt: "dev %d,%d ino %lu dirtied %lu state %s mode 0%o", ((unsigned int) ((REC->dev) >> 20)), ((unsigned int) ((REC->dev) & ((1U << 20) - 1))), (unsigned long)REC->ino, REC->dirtied_when, __print_flags(REC->state, "|", {(1 << 0), "I_DIRTY_SYNC"}, {(1 << 1), "I_DIRTY_DATASYNC"}, {(1 << 2), "I_DIRTY_PAGES"}, {(1 << 3), "I_NEW"}, {(1 << 4), "I_WILL_FREE"}, {(1 << 5), "I_FREEING"}, {(1 << 6), "I_CLEAR"}, {(1 << 7), "I_SYNC"}, {(1 << 11), "I_DIRTY_TIME"}, {(1 << 8), "I_REFERENCED"} ), REC->mode
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_mark_inode_dirty/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_mark_inode_dirty/format
new file mode 100644
index 0000000..d757293
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_mark_inode_dirty/format
@@ -0,0 +1,14 @@
+name: writeback_mark_inode_dirty
+ID: 316
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+	field:ino_t ino;	offset:40;	size:8;	signed:0;
+	field:unsigned long state;	offset:48;	size:8;	signed:0;
+	field:unsigned long flags;	offset:56;	size:8;	signed:0;
+
+print fmt: "bdi %s: ino=%lu state=%s flags=%s", REC->name, (unsigned long)REC->ino, __print_flags(REC->state, "|", {(1 << 0), "I_DIRTY_SYNC"}, {(1 << 1), "I_DIRTY_DATASYNC"}, {(1 << 2), "I_DIRTY_PAGES"}, {(1 << 3), "I_NEW"}, {(1 << 4), "I_WILL_FREE"}, {(1 << 5), "I_FREEING"}, {(1 << 6), "I_CLEAR"}, {(1 << 7), "I_SYNC"}, {(1 << 11), "I_DIRTY_TIME"}, {(1 << 8), "I_REFERENCED"} ), __print_flags(REC->flags, "|", {(1 << 0), "I_DIRTY_SYNC"}, {(1 << 1), "I_DIRTY_DATASYNC"}, {(1 << 2), "I_DIRTY_PAGES"}, {(1 << 3), "I_NEW"}, {(1 << 4), "I_WILL_FREE"}, {(1 << 5), "I_FREEING"}, {(1 << 6), "I_CLEAR"}, {(1 << 7), "I_SYNC"}, {(1 << 11), "I_DIRTY_TIME"}, {(1 << 8), "I_REFERENCED"} )
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_pages_written/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_pages_written/format
new file mode 100644
index 0000000..3780c88
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_pages_written/format
@@ -0,0 +1,11 @@
+name: writeback_pages_written
+ID: 317
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:long pages;	offset:8;	size:8;	signed:1;
+
+print fmt: "%ld", REC->pages
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_queue/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_queue/format
new file mode 100644
index 0000000..cf32eaa
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_queue/format
@@ -0,0 +1,19 @@
+name: writeback_queue
+ID: 318
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+	field:long nr_pages;	offset:40;	size:8;	signed:1;
+	field:dev_t sb_dev;	offset:48;	size:4;	signed:0;
+	field:int sync_mode;	offset:52;	size:4;	signed:1;
+	field:int for_kupdate;	offset:56;	size:4;	signed:1;
+	field:int range_cyclic;	offset:60;	size:4;	signed:1;
+	field:int for_background;	offset:64;	size:4;	signed:1;
+	field:int reason;	offset:68;	size:4;	signed:1;
+	field:ino_t cgroup_ino;	offset:72;	size:8;	signed:0;
+
+print fmt: "bdi %s: sb_dev %d:%d nr_pages=%ld sync_mode=%d kupdate=%d range_cyclic=%d background=%d reason=%s cgroup_ino=%lu", REC->name, ((unsigned int) ((REC->sb_dev) >> 20)), ((unsigned int) ((REC->sb_dev) & ((1U << 20) - 1))), REC->nr_pages, REC->sync_mode, REC->for_kupdate, REC->range_cyclic, REC->for_background, __print_symbolic(REC->reason, { 0, "background" }, { 1, "vmscan" }, { 2, "sync" }, { 3, "periodic" }, { 4, "laptop_timer" }, { 5, "fs_free_space" }, { 6, "forker_thread" }), (unsigned long)REC->cgroup_ino
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_queue_io/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_queue_io/format
new file mode 100644
index 0000000..e2e7d06
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_queue_io/format
@@ -0,0 +1,16 @@
+name: writeback_queue_io
+ID: 319
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+	field:unsigned long older;	offset:40;	size:8;	signed:0;
+	field:long age;	offset:48;	size:8;	signed:1;
+	field:int moved;	offset:56;	size:4;	signed:1;
+	field:int reason;	offset:60;	size:4;	signed:1;
+	field:ino_t cgroup_ino;	offset:64;	size:8;	signed:0;
+
+print fmt: "bdi %s: older=%lu age=%ld enqueue=%d reason=%s cgroup_ino=%lu", REC->name, REC->older, REC->age, REC->moved, __print_symbolic(REC->reason, { 0, "background" }, { 1, "vmscan" }, { 2, "sync" }, { 3, "periodic" }, { 4, "laptop_timer" }, { 5, "fs_free_space" }, { 6, "forker_thread" }), (unsigned long)REC->cgroup_ino
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_sb_inodes_requeue/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_sb_inodes_requeue/format
new file mode 100644
index 0000000..83fab33
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_sb_inodes_requeue/format
@@ -0,0 +1,15 @@
+name: writeback_sb_inodes_requeue
+ID: 320
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+	field:ino_t ino;	offset:40;	size:8;	signed:0;
+	field:unsigned long state;	offset:48;	size:8;	signed:0;
+	field:unsigned long dirtied_when;	offset:56;	size:8;	signed:0;
+	field:ino_t cgroup_ino;	offset:64;	size:8;	signed:0;
+
+print fmt: "bdi %s: ino=%lu state=%s dirtied_when=%lu age=%lu cgroup_ino=%lu", REC->name, (unsigned long)REC->ino, __print_flags(REC->state, "|", {(1 << 0), "I_DIRTY_SYNC"}, {(1 << 1), "I_DIRTY_DATASYNC"}, {(1 << 2), "I_DIRTY_PAGES"}, {(1 << 3), "I_NEW"}, {(1 << 4), "I_WILL_FREE"}, {(1 << 5), "I_FREEING"}, {(1 << 6), "I_CLEAR"}, {(1 << 7), "I_SYNC"}, {(1 << 11), "I_DIRTY_TIME"}, {(1 << 8), "I_REFERENCED"} ), REC->dirtied_when, (jiffies - REC->dirtied_when) / 250, (unsigned long)REC->cgroup_ino
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_single_inode/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_single_inode/format
new file mode 100644
index 0000000..652e44b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_single_inode/format
@@ -0,0 +1,18 @@
+name: writeback_single_inode
+ID: 321
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+	field:ino_t ino;	offset:40;	size:8;	signed:0;
+	field:unsigned long state;	offset:48;	size:8;	signed:0;
+	field:unsigned long dirtied_when;	offset:56;	size:8;	signed:0;
+	field:unsigned long writeback_index;	offset:64;	size:8;	signed:0;
+	field:long nr_to_write;	offset:72;	size:8;	signed:1;
+	field:unsigned long wrote;	offset:80;	size:8;	signed:0;
+	field:ino_t cgroup_ino;	offset:88;	size:8;	signed:0;
+
+print fmt: "bdi %s: ino=%lu state=%s dirtied_when=%lu age=%lu index=%lu to_write=%ld wrote=%lu cgroup_ino=%lu", REC->name, (unsigned long)REC->ino, __print_flags(REC->state, "|", {(1 << 0), "I_DIRTY_SYNC"}, {(1 << 1), "I_DIRTY_DATASYNC"}, {(1 << 2), "I_DIRTY_PAGES"}, {(1 << 3), "I_NEW"}, {(1 << 4), "I_WILL_FREE"}, {(1 << 5), "I_FREEING"}, {(1 << 6), "I_CLEAR"}, {(1 << 7), "I_SYNC"}, {(1 << 11), "I_DIRTY_TIME"}, {(1 << 8), "I_REFERENCED"} ), REC->dirtied_when, (jiffies - REC->dirtied_when) / 250, REC->writeback_index, REC->nr_to_write, REC->wrote, (unsigned long)REC->cgroup_ino
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_single_inode_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_single_inode_start/format
new file mode 100644
index 0000000..aed3280
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_single_inode_start/format
@@ -0,0 +1,18 @@
+name: writeback_single_inode_start
+ID: 322
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+	field:ino_t ino;	offset:40;	size:8;	signed:0;
+	field:unsigned long state;	offset:48;	size:8;	signed:0;
+	field:unsigned long dirtied_when;	offset:56;	size:8;	signed:0;
+	field:unsigned long writeback_index;	offset:64;	size:8;	signed:0;
+	field:long nr_to_write;	offset:72;	size:8;	signed:1;
+	field:unsigned long wrote;	offset:80;	size:8;	signed:0;
+	field:ino_t cgroup_ino;	offset:88;	size:8;	signed:0;
+
+print fmt: "bdi %s: ino=%lu state=%s dirtied_when=%lu age=%lu index=%lu to_write=%ld wrote=%lu cgroup_ino=%lu", REC->name, (unsigned long)REC->ino, __print_flags(REC->state, "|", {(1 << 0), "I_DIRTY_SYNC"}, {(1 << 1), "I_DIRTY_DATASYNC"}, {(1 << 2), "I_DIRTY_PAGES"}, {(1 << 3), "I_NEW"}, {(1 << 4), "I_WILL_FREE"}, {(1 << 5), "I_FREEING"}, {(1 << 6), "I_CLEAR"}, {(1 << 7), "I_SYNC"}, {(1 << 11), "I_DIRTY_TIME"}, {(1 << 8), "I_REFERENCED"} ), REC->dirtied_when, (jiffies - REC->dirtied_when) / 250, REC->writeback_index, REC->nr_to_write, REC->wrote, (unsigned long)REC->cgroup_ino
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_start/format
new file mode 100644
index 0000000..833f08a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_start/format
@@ -0,0 +1,19 @@
+name: writeback_start
+ID: 323
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+	field:long nr_pages;	offset:40;	size:8;	signed:1;
+	field:dev_t sb_dev;	offset:48;	size:4;	signed:0;
+	field:int sync_mode;	offset:52;	size:4;	signed:1;
+	field:int for_kupdate;	offset:56;	size:4;	signed:1;
+	field:int range_cyclic;	offset:60;	size:4;	signed:1;
+	field:int for_background;	offset:64;	size:4;	signed:1;
+	field:int reason;	offset:68;	size:4;	signed:1;
+	field:ino_t cgroup_ino;	offset:72;	size:8;	signed:0;
+
+print fmt: "bdi %s: sb_dev %d:%d nr_pages=%ld sync_mode=%d kupdate=%d range_cyclic=%d background=%d reason=%s cgroup_ino=%lu", REC->name, ((unsigned int) ((REC->sb_dev) >> 20)), ((unsigned int) ((REC->sb_dev) & ((1U << 20) - 1))), REC->nr_pages, REC->sync_mode, REC->for_kupdate, REC->range_cyclic, REC->for_background, __print_symbolic(REC->reason, { 0, "background" }, { 1, "vmscan" }, { 2, "sync" }, { 3, "periodic" }, { 4, "laptop_timer" }, { 5, "fs_free_space" }, { 6, "forker_thread" }), (unsigned long)REC->cgroup_ino
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_wait/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_wait/format
new file mode 100644
index 0000000..898ecce
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_wait/format
@@ -0,0 +1,19 @@
+name: writeback_wait
+ID: 324
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+	field:long nr_pages;	offset:40;	size:8;	signed:1;
+	field:dev_t sb_dev;	offset:48;	size:4;	signed:0;
+	field:int sync_mode;	offset:52;	size:4;	signed:1;
+	field:int for_kupdate;	offset:56;	size:4;	signed:1;
+	field:int range_cyclic;	offset:60;	size:4;	signed:1;
+	field:int for_background;	offset:64;	size:4;	signed:1;
+	field:int reason;	offset:68;	size:4;	signed:1;
+	field:ino_t cgroup_ino;	offset:72;	size:8;	signed:0;
+
+print fmt: "bdi %s: sb_dev %d:%d nr_pages=%ld sync_mode=%d kupdate=%d range_cyclic=%d background=%d reason=%s cgroup_ino=%lu", REC->name, ((unsigned int) ((REC->sb_dev) >> 20)), ((unsigned int) ((REC->sb_dev) & ((1U << 20) - 1))), REC->nr_pages, REC->sync_mode, REC->for_kupdate, REC->range_cyclic, REC->for_background, __print_symbolic(REC->reason, { 0, "background" }, { 1, "vmscan" }, { 2, "sync" }, { 3, "periodic" }, { 4, "laptop_timer" }, { 5, "fs_free_space" }, { 6, "forker_thread" }), (unsigned long)REC->cgroup_ino
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_wait_iff_congested/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_wait_iff_congested/format
new file mode 100644
index 0000000..b5b26ed
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_wait_iff_congested/format
@@ -0,0 +1,12 @@
+name: writeback_wait_iff_congested
+ID: 325
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned int usec_timeout;	offset:8;	size:4;	signed:0;
+	field:unsigned int usec_delayed;	offset:12;	size:4;	signed:0;
+
+print fmt: "usec_timeout=%u usec_delayed=%u", REC->usec_timeout, REC->usec_delayed
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_wake_background/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_wake_background/format
new file mode 100644
index 0000000..193fb95
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_wake_background/format
@@ -0,0 +1,12 @@
+name: writeback_wake_background
+ID: 326
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+	field:ino_t cgroup_ino;	offset:40;	size:8;	signed:0;
+
+print fmt: "bdi %s: cgroup_ino=%lu", REC->name, (unsigned long)REC->cgroup_ino
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_write_inode/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_write_inode/format
new file mode 100644
index 0000000..faa1af0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_write_inode/format
@@ -0,0 +1,14 @@
+name: writeback_write_inode
+ID: 327
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+	field:ino_t ino;	offset:40;	size:8;	signed:0;
+	field:int sync_mode;	offset:48;	size:4;	signed:1;
+	field:ino_t cgroup_ino;	offset:56;	size:8;	signed:0;
+
+print fmt: "bdi %s: ino=%lu sync_mode=%d cgroup_ino=%lu", REC->name, (unsigned long)REC->ino, REC->sync_mode, (unsigned long)REC->cgroup_ino
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_write_inode_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_write_inode_start/format
new file mode 100644
index 0000000..4b5e6c9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_write_inode_start/format
@@ -0,0 +1,14 @@
+name: writeback_write_inode_start
+ID: 328
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+	field:ino_t ino;	offset:40;	size:8;	signed:0;
+	field:int sync_mode;	offset:48;	size:4;	signed:1;
+	field:ino_t cgroup_ino;	offset:56;	size:8;	signed:0;
+
+print fmt: "bdi %s: ino=%lu sync_mode=%d cgroup_ino=%lu", REC->name, (unsigned long)REC->ino, REC->sync_mode, (unsigned long)REC->cgroup_ino
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_written/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_written/format
new file mode 100644
index 0000000..887d191
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/writeback/writeback_written/format
@@ -0,0 +1,19 @@
+name: writeback_written
+ID: 329
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:char name[32];	offset:8;	size:32;	signed:0;
+	field:long nr_pages;	offset:40;	size:8;	signed:1;
+	field:dev_t sb_dev;	offset:48;	size:4;	signed:0;
+	field:int sync_mode;	offset:52;	size:4;	signed:1;
+	field:int for_kupdate;	offset:56;	size:4;	signed:1;
+	field:int range_cyclic;	offset:60;	size:4;	signed:1;
+	field:int for_background;	offset:64;	size:4;	signed:1;
+	field:int reason;	offset:68;	size:4;	signed:1;
+	field:ino_t cgroup_ino;	offset:72;	size:8;	signed:0;
+
+print fmt: "bdi %s: sb_dev %d:%d nr_pages=%ld sync_mode=%d kupdate=%d range_cyclic=%d background=%d reason=%s cgroup_ino=%lu", REC->name, ((unsigned int) ((REC->sb_dev) >> 20)), ((unsigned int) ((REC->sb_dev) & ((1U << 20) - 1))), REC->nr_pages, REC->sync_mode, REC->for_kupdate, REC->range_cyclic, REC->for_background, __print_symbolic(REC->reason, { 0, "background" }, { 1, "vmscan" }, { 2, "sync" }, { 3, "periodic" }, { 4, "laptop_timer" }, { 5, "fs_free_space" }, { 6, "forker_thread" }), (unsigned long)REC->cgroup_ino
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/mem_connect/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/mem_connect/format
new file mode 100644
index 0000000..638bdeb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/mem_connect/format
@@ -0,0 +1,16 @@
+name: mem_connect
+ID: 200
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const struct xdp_mem_allocator * xa;	offset:8;	size:8;	signed:0;
+	field:u32 mem_id;	offset:16;	size:4;	signed:0;
+	field:u32 mem_type;	offset:20;	size:4;	signed:0;
+	field:const void * allocator;	offset:24;	size:8;	signed:0;
+	field:const struct xdp_rxq_info * rxq;	offset:32;	size:8;	signed:0;
+	field:int ifindex;	offset:40;	size:4;	signed:1;
+
+print fmt: "mem_id=%d mem_type=%s allocator=%p ifindex=%d", REC->mem_id, __print_symbolic(REC->mem_type, { 0, "PAGE_SHARED" }, { 1, "PAGE_ORDER0" }, { 2, "PAGE_POOL" }, { 3, "XSK_BUFF_POOL" }, { -1, 0 }), REC->allocator, REC->ifindex
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/mem_disconnect/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/mem_disconnect/format
new file mode 100644
index 0000000..913e4b5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/mem_disconnect/format
@@ -0,0 +1,14 @@
+name: mem_disconnect
+ID: 201
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const struct xdp_mem_allocator * xa;	offset:8;	size:8;	signed:0;
+	field:u32 mem_id;	offset:16;	size:4;	signed:0;
+	field:u32 mem_type;	offset:20;	size:4;	signed:0;
+	field:const void * allocator;	offset:24;	size:8;	signed:0;
+
+print fmt: "mem_id=%d mem_type=%s allocator=%p", REC->mem_id, __print_symbolic(REC->mem_type, { 0, "PAGE_SHARED" }, { 1, "PAGE_ORDER0" }, { 2, "PAGE_POOL" }, { 3, "XSK_BUFF_POOL" }, { -1, 0 }), REC->allocator
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/mem_return_failed/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/mem_return_failed/format
new file mode 100644
index 0000000..3359991
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/mem_return_failed/format
@@ -0,0 +1,13 @@
+name: mem_return_failed
+ID: 202
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:const struct page * page;	offset:8;	size:8;	signed:0;
+	field:u32 mem_id;	offset:16;	size:4;	signed:0;
+	field:u32 mem_type;	offset:20;	size:4;	signed:0;
+
+print fmt: "mem_id=%d mem_type=%s page=%p", REC->mem_id, __print_symbolic(REC->mem_type, { 0, "PAGE_SHARED" }, { 1, "PAGE_ORDER0" }, { 2, "PAGE_POOL" }, { 3, "XSK_BUFF_POOL" }, { -1, 0 }), REC->page
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/xdp_bulk_tx/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/xdp_bulk_tx/format
new file mode 100644
index 0000000..703a914
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/xdp_bulk_tx/format
@@ -0,0 +1,15 @@
+name: xdp_bulk_tx
+ID: 203
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int ifindex;	offset:8;	size:4;	signed:1;
+	field:u32 act;	offset:12;	size:4;	signed:0;
+	field:int drops;	offset:16;	size:4;	signed:1;
+	field:int sent;	offset:20;	size:4;	signed:1;
+	field:int err;	offset:24;	size:4;	signed:1;
+
+print fmt: "ifindex=%d action=%s sent=%d drops=%d err=%d", REC->ifindex, __print_symbolic(REC->act, { 0, "ABORTED" }, { 1, "DROP" }, { 2, "PASS" }, { 3, "TX" }, { 4, "REDIRECT" }, { -1, ((void *)0) }), REC->sent, REC->drops, REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/xdp_cpumap_enqueue/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/xdp_cpumap_enqueue/format
new file mode 100644
index 0000000..ea1206f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/xdp_cpumap_enqueue/format
@@ -0,0 +1,16 @@
+name: xdp_cpumap_enqueue
+ID: 204
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int map_id;	offset:8;	size:4;	signed:1;
+	field:u32 act;	offset:12;	size:4;	signed:0;
+	field:int cpu;	offset:16;	size:4;	signed:1;
+	field:unsigned int drops;	offset:20;	size:4;	signed:0;
+	field:unsigned int processed;	offset:24;	size:4;	signed:0;
+	field:int to_cpu;	offset:28;	size:4;	signed:1;
+
+print fmt: "enqueue cpu=%d map_id=%d action=%s processed=%u drops=%u to_cpu=%d", REC->cpu, REC->map_id, __print_symbolic(REC->act, { 0, "ABORTED" }, { 1, "DROP" }, { 2, "PASS" }, { 3, "TX" }, { 4, "REDIRECT" }, { -1, ((void *)0) }), REC->processed, REC->drops, REC->to_cpu
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/xdp_cpumap_kthread/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/xdp_cpumap_kthread/format
new file mode 100644
index 0000000..67abb27
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/xdp_cpumap_kthread/format
@@ -0,0 +1,19 @@
+name: xdp_cpumap_kthread
+ID: 205
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int map_id;	offset:8;	size:4;	signed:1;
+	field:u32 act;	offset:12;	size:4;	signed:0;
+	field:int cpu;	offset:16;	size:4;	signed:1;
+	field:unsigned int drops;	offset:20;	size:4;	signed:0;
+	field:unsigned int processed;	offset:24;	size:4;	signed:0;
+	field:int sched;	offset:28;	size:4;	signed:1;
+	field:unsigned int xdp_pass;	offset:32;	size:4;	signed:0;
+	field:unsigned int xdp_drop;	offset:36;	size:4;	signed:0;
+	field:unsigned int xdp_redirect;	offset:40;	size:4;	signed:0;
+
+print fmt: "kthread cpu=%d map_id=%d action=%s processed=%u drops=%u sched=%d xdp_pass=%u xdp_drop=%u xdp_redirect=%u", REC->cpu, REC->map_id, __print_symbolic(REC->act, { 0, "ABORTED" }, { 1, "DROP" }, { 2, "PASS" }, { 3, "TX" }, { 4, "REDIRECT" }, { -1, ((void *)0) }), REC->processed, REC->drops, REC->sched, REC->xdp_pass, REC->xdp_drop, REC->xdp_redirect
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/xdp_devmap_xmit/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/xdp_devmap_xmit/format
new file mode 100644
index 0000000..2117298
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/xdp_devmap_xmit/format
@@ -0,0 +1,16 @@
+name: xdp_devmap_xmit
+ID: 206
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int from_ifindex;	offset:8;	size:4;	signed:1;
+	field:u32 act;	offset:12;	size:4;	signed:0;
+	field:int to_ifindex;	offset:16;	size:4;	signed:1;
+	field:int drops;	offset:20;	size:4;	signed:1;
+	field:int sent;	offset:24;	size:4;	signed:1;
+	field:int err;	offset:28;	size:4;	signed:1;
+
+print fmt: "ndo_xdp_xmit from_ifindex=%d to_ifindex=%d action=%s sent=%d drops=%d err=%d", REC->from_ifindex, REC->to_ifindex, __print_symbolic(REC->act, { 0, "ABORTED" }, { 1, "DROP" }, { 2, "PASS" }, { 3, "TX" }, { 4, "REDIRECT" }, { -1, ((void *)0) }), REC->sent, REC->drops, REC->err
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/xdp_exception/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/xdp_exception/format
new file mode 100644
index 0000000..23fdde6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/xdp_exception/format
@@ -0,0 +1,13 @@
+name: xdp_exception
+ID: 207
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int prog_id;	offset:8;	size:4;	signed:1;
+	field:u32 act;	offset:12;	size:4;	signed:0;
+	field:int ifindex;	offset:16;	size:4;	signed:1;
+
+print fmt: "prog_id=%d action=%s ifindex=%d", REC->prog_id, __print_symbolic(REC->act, { 0, "ABORTED" }, { 1, "DROP" }, { 2, "PASS" }, { 3, "TX" }, { 4, "REDIRECT" }, { -1, ((void *)0) }), REC->ifindex
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/xdp_redirect/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/xdp_redirect/format
new file mode 100644
index 0000000..85589ad
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/xdp_redirect/format
@@ -0,0 +1,17 @@
+name: xdp_redirect
+ID: 208
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int prog_id;	offset:8;	size:4;	signed:1;
+	field:u32 act;	offset:12;	size:4;	signed:0;
+	field:int ifindex;	offset:16;	size:4;	signed:1;
+	field:int err;	offset:20;	size:4;	signed:1;
+	field:int to_ifindex;	offset:24;	size:4;	signed:1;
+	field:u32 map_id;	offset:28;	size:4;	signed:0;
+	field:int map_index;	offset:32;	size:4;	signed:1;
+
+print fmt: "prog_id=%d action=%s ifindex=%d to_ifindex=%d err=%d map_id=%d map_index=%d", REC->prog_id, __print_symbolic(REC->act, { 0, "ABORTED" }, { 1, "DROP" }, { 2, "PASS" }, { 3, "TX" }, { 4, "REDIRECT" }, { -1, ((void *)0) }), REC->ifindex, REC->to_ifindex, REC->err, REC->map_id, REC->map_index
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/xdp_redirect_err/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/xdp_redirect_err/format
new file mode 100644
index 0000000..5a87518
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/xdp_redirect_err/format
@@ -0,0 +1,17 @@
+name: xdp_redirect_err
+ID: 209
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int prog_id;	offset:8;	size:4;	signed:1;
+	field:u32 act;	offset:12;	size:4;	signed:0;
+	field:int ifindex;	offset:16;	size:4;	signed:1;
+	field:int err;	offset:20;	size:4;	signed:1;
+	field:int to_ifindex;	offset:24;	size:4;	signed:1;
+	field:u32 map_id;	offset:28;	size:4;	signed:0;
+	field:int map_index;	offset:32;	size:4;	signed:1;
+
+print fmt: "prog_id=%d action=%s ifindex=%d to_ifindex=%d err=%d map_id=%d map_index=%d", REC->prog_id, __print_symbolic(REC->act, { 0, "ABORTED" }, { 1, "DROP" }, { 2, "PASS" }, { 3, "TX" }, { 4, "REDIRECT" }, { -1, ((void *)0) }), REC->ifindex, REC->to_ifindex, REC->err, REC->map_id, REC->map_index
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/xdp_redirect_map/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/xdp_redirect_map/format
new file mode 100644
index 0000000..555e4f2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/xdp_redirect_map/format
@@ -0,0 +1,17 @@
+name: xdp_redirect_map
+ID: 210
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int prog_id;	offset:8;	size:4;	signed:1;
+	field:u32 act;	offset:12;	size:4;	signed:0;
+	field:int ifindex;	offset:16;	size:4;	signed:1;
+	field:int err;	offset:20;	size:4;	signed:1;
+	field:int to_ifindex;	offset:24;	size:4;	signed:1;
+	field:u32 map_id;	offset:28;	size:4;	signed:0;
+	field:int map_index;	offset:32;	size:4;	signed:1;
+
+print fmt: "prog_id=%d action=%s ifindex=%d to_ifindex=%d err=%d map_id=%d map_index=%d", REC->prog_id, __print_symbolic(REC->act, { 0, "ABORTED" }, { 1, "DROP" }, { 2, "PASS" }, { 3, "TX" }, { 4, "REDIRECT" }, { -1, ((void *)0) }), REC->ifindex, REC->to_ifindex, REC->err, REC->map_id, REC->map_index
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/xdp_redirect_map_err/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/xdp_redirect_map_err/format
new file mode 100644
index 0000000..3b8222d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xdp/xdp_redirect_map_err/format
@@ -0,0 +1,17 @@
+name: xdp_redirect_map_err
+ID: 211
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int prog_id;	offset:8;	size:4;	signed:1;
+	field:u32 act;	offset:12;	size:4;	signed:0;
+	field:int ifindex;	offset:16;	size:4;	signed:1;
+	field:int err;	offset:20;	size:4;	signed:1;
+	field:int to_ifindex;	offset:24;	size:4;	signed:1;
+	field:u32 map_id;	offset:28;	size:4;	signed:0;
+	field:int map_index;	offset:32;	size:4;	signed:1;
+
+print fmt: "prog_id=%d action=%s ifindex=%d to_ifindex=%d err=%d map_id=%d map_index=%d", REC->prog_id, __print_symbolic(REC->act, { 0, "ABORTED" }, { 1, "DROP" }, { 2, "PASS" }, { 3, "TX" }, { 4, "REDIRECT" }, { -1, ((void *)0) }), REC->ifindex, REC->to_ifindex, REC->err, REC->map_id, REC->map_index
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_add_endpoint/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_add_endpoint/format
new file mode 100644
index 0000000..598cb0c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_add_endpoint/format
@@ -0,0 +1,14 @@
+name: xhci_add_endpoint
+ID: 740
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 info;	offset:8;	size:4;	signed:0;
+	field:u32 info2;	offset:12;	size:4;	signed:0;
+	field:u64 deq;	offset:16;	size:8;	signed:0;
+	field:u32 tx_info;	offset:24;	size:4;	signed:0;
+
+print fmt: "%s", xhci_decode_ep_context(REC->info, REC->info2, REC->deq, REC->tx_info)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_address_ctrl_ctx/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_address_ctrl_ctx/format
new file mode 100644
index 0000000..79887f5
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_address_ctrl_ctx/format
@@ -0,0 +1,12 @@
+name: xhci_address_ctrl_ctx
+ID: 741
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 drop;	offset:8;	size:4;	signed:0;
+	field:u32 add;	offset:12;	size:4;	signed:0;
+
+print fmt: "%s", xhci_decode_ctrl_ctx(REC->drop, REC->add)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_address_ctx/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_address_ctx/format
new file mode 100644
index 0000000..b7f6c43
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_address_ctx/format
@@ -0,0 +1,17 @@
+name: xhci_address_ctx
+ID: 742
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:int ctx_64;	offset:8;	size:4;	signed:1;
+	field:unsigned ctx_type;	offset:12;	size:4;	signed:0;
+	field:dma_addr_t ctx_dma;	offset:16;	size:8;	signed:0;
+	field:u8 * ctx_va;	offset:24;	size:8;	signed:0;
+	field:unsigned ctx_ep_num;	offset:32;	size:4;	signed:0;
+	field:int slot_id;	offset:36;	size:4;	signed:1;
+	field:__data_loc u32[] ctx_data;	offset:40;	size:4;	signed:0;
+
+print fmt: "ctx_64=%d, ctx_type=%u, ctx_dma=@%llx, ctx_va=@%p", REC->ctx_64, REC->ctx_type, (unsigned long long) REC->ctx_dma, REC->ctx_va
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_alloc_dev/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_alloc_dev/format
new file mode 100644
index 0000000..8833aed
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_alloc_dev/format
@@ -0,0 +1,14 @@
+name: xhci_alloc_dev
+ID: 743
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 info;	offset:8;	size:4;	signed:0;
+	field:u32 info2;	offset:12;	size:4;	signed:0;
+	field:u32 tt_info;	offset:16;	size:4;	signed:0;
+	field:u32 state;	offset:20;	size:4;	signed:0;
+
+print fmt: "%s", xhci_decode_slot_context(REC->info, REC->info2, REC->tt_info, REC->state)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_alloc_virt_device/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_alloc_virt_device/format
new file mode 100644
index 0000000..1ad0204
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_alloc_virt_device/format
@@ -0,0 +1,19 @@
+name: xhci_alloc_virt_device
+ID: 744
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * vdev;	offset:8;	size:8;	signed:0;
+	field:unsigned long long out_ctx;	offset:16;	size:8;	signed:0;
+	field:unsigned long long in_ctx;	offset:24;	size:8;	signed:0;
+	field:int devnum;	offset:32;	size:4;	signed:1;
+	field:int state;	offset:36;	size:4;	signed:1;
+	field:int speed;	offset:40;	size:4;	signed:1;
+	field:u8 portnum;	offset:44;	size:1;	signed:0;
+	field:u8 level;	offset:45;	size:1;	signed:0;
+	field:int slot_id;	offset:48;	size:4;	signed:1;
+
+print fmt: "vdev %p ctx %llx | %llx num %d state %d speed %d port %d level %d slot %d", REC->vdev, REC->in_ctx, REC->out_ctx, REC->devnum, REC->state, REC->speed, REC->portnum, REC->level, REC->slot_id
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_configure_endpoint/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_configure_endpoint/format
new file mode 100644
index 0000000..1edee0f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_configure_endpoint/format
@@ -0,0 +1,14 @@
+name: xhci_configure_endpoint
+ID: 745
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 info;	offset:8;	size:4;	signed:0;
+	field:u32 info2;	offset:12;	size:4;	signed:0;
+	field:u32 tt_info;	offset:16;	size:4;	signed:0;
+	field:u32 state;	offset:20;	size:4;	signed:0;
+
+print fmt: "%s", xhci_decode_slot_context(REC->info, REC->info2, REC->tt_info, REC->state)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_configure_endpoint_ctrl_ctx/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_configure_endpoint_ctrl_ctx/format
new file mode 100644
index 0000000..9fa7799
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_configure_endpoint_ctrl_ctx/format
@@ -0,0 +1,12 @@
+name: xhci_configure_endpoint_ctrl_ctx
+ID: 746
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 drop;	offset:8;	size:4;	signed:0;
+	field:u32 add;	offset:12;	size:4;	signed:0;
+
+print fmt: "%s", xhci_decode_ctrl_ctx(REC->drop, REC->add)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbc_alloc_request/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbc_alloc_request/format
new file mode 100644
index 0000000..e900c6b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbc_alloc_request/format
@@ -0,0 +1,15 @@
+name: xhci_dbc_alloc_request
+ID: 747
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct dbc_request * req;	offset:8;	size:8;	signed:0;
+	field:bool dir;	offset:16;	size:1;	signed:0;
+	field:unsigned int actual;	offset:20;	size:4;	signed:0;
+	field:unsigned int length;	offset:24;	size:4;	signed:0;
+	field:int status;	offset:28;	size:4;	signed:1;
+
+print fmt: "%s: req %p length %u/%u ==> %d", REC->dir ? "bulk-in" : "bulk-out", REC->req, REC->actual, REC->length, REC->status
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbc_free_request/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbc_free_request/format
new file mode 100644
index 0000000..14956fc
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbc_free_request/format
@@ -0,0 +1,15 @@
+name: xhci_dbc_free_request
+ID: 748
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct dbc_request * req;	offset:8;	size:8;	signed:0;
+	field:bool dir;	offset:16;	size:1;	signed:0;
+	field:unsigned int actual;	offset:20;	size:4;	signed:0;
+	field:unsigned int length;	offset:24;	size:4;	signed:0;
+	field:int status;	offset:28;	size:4;	signed:1;
+
+print fmt: "%s: req %p length %u/%u ==> %d", REC->dir ? "bulk-in" : "bulk-out", REC->req, REC->actual, REC->length, REC->status
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbc_gadget_ep_queue/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbc_gadget_ep_queue/format
new file mode 100644
index 0000000..a95f811
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbc_gadget_ep_queue/format
@@ -0,0 +1,15 @@
+name: xhci_dbc_gadget_ep_queue
+ID: 749
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 type;	offset:8;	size:4;	signed:0;
+	field:u32 field0;	offset:12;	size:4;	signed:0;
+	field:u32 field1;	offset:16;	size:4;	signed:0;
+	field:u32 field2;	offset:20;	size:4;	signed:0;
+	field:u32 field3;	offset:24;	size:4;	signed:0;
+
+print fmt: "%s: %s", xhci_ring_type_string(REC->type), xhci_decode_trb(REC->field0, REC->field1, REC->field2, REC->field3)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbc_giveback_request/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbc_giveback_request/format
new file mode 100644
index 0000000..e02afa0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbc_giveback_request/format
@@ -0,0 +1,15 @@
+name: xhci_dbc_giveback_request
+ID: 750
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct dbc_request * req;	offset:8;	size:8;	signed:0;
+	field:bool dir;	offset:16;	size:1;	signed:0;
+	field:unsigned int actual;	offset:20;	size:4;	signed:0;
+	field:unsigned int length;	offset:24;	size:4;	signed:0;
+	field:int status;	offset:28;	size:4;	signed:1;
+
+print fmt: "%s: req %p length %u/%u ==> %d", REC->dir ? "bulk-in" : "bulk-out", REC->req, REC->actual, REC->length, REC->status
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbc_handle_event/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbc_handle_event/format
new file mode 100644
index 0000000..60ef977
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbc_handle_event/format
@@ -0,0 +1,15 @@
+name: xhci_dbc_handle_event
+ID: 751
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 type;	offset:8;	size:4;	signed:0;
+	field:u32 field0;	offset:12;	size:4;	signed:0;
+	field:u32 field1;	offset:16;	size:4;	signed:0;
+	field:u32 field2;	offset:20;	size:4;	signed:0;
+	field:u32 field3;	offset:24;	size:4;	signed:0;
+
+print fmt: "%s: %s", xhci_ring_type_string(REC->type), xhci_decode_trb(REC->field0, REC->field1, REC->field2, REC->field3)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbc_handle_transfer/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbc_handle_transfer/format
new file mode 100644
index 0000000..88a9194
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbc_handle_transfer/format
@@ -0,0 +1,15 @@
+name: xhci_dbc_handle_transfer
+ID: 752
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 type;	offset:8;	size:4;	signed:0;
+	field:u32 field0;	offset:12;	size:4;	signed:0;
+	field:u32 field1;	offset:16;	size:4;	signed:0;
+	field:u32 field2;	offset:20;	size:4;	signed:0;
+	field:u32 field3;	offset:24;	size:4;	signed:0;
+
+print fmt: "%s: %s", xhci_ring_type_string(REC->type), xhci_decode_trb(REC->field0, REC->field1, REC->field2, REC->field3)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbc_queue_request/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbc_queue_request/format
new file mode 100644
index 0000000..9325dff
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbc_queue_request/format
@@ -0,0 +1,15 @@
+name: xhci_dbc_queue_request
+ID: 753
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:struct dbc_request * req;	offset:8;	size:8;	signed:0;
+	field:bool dir;	offset:16;	size:1;	signed:0;
+	field:unsigned int actual;	offset:20;	size:4;	signed:0;
+	field:unsigned int length;	offset:24;	size:4;	signed:0;
+	field:int status;	offset:28;	size:4;	signed:1;
+
+print fmt: "%s: req %p length %u/%u ==> %d", REC->dir ? "bulk-in" : "bulk-out", REC->req, REC->actual, REC->length, REC->status
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbg_address/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbg_address/format
new file mode 100644
index 0000000..e4878b9
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbg_address/format
@@ -0,0 +1,11 @@
+name: xhci_dbg_address
+ID: 754
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] msg;	offset:8;	size:4;	signed:0;
+
+print fmt: "%s", __get_str(msg)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbg_cancel_urb/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbg_cancel_urb/format
new file mode 100644
index 0000000..645988b
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbg_cancel_urb/format
@@ -0,0 +1,11 @@
+name: xhci_dbg_cancel_urb
+ID: 755
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] msg;	offset:8;	size:4;	signed:0;
+
+print fmt: "%s", __get_str(msg)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbg_context_change/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbg_context_change/format
new file mode 100644
index 0000000..2feccf7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbg_context_change/format
@@ -0,0 +1,11 @@
+name: xhci_dbg_context_change
+ID: 756
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] msg;	offset:8;	size:4;	signed:0;
+
+print fmt: "%s", __get_str(msg)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbg_init/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbg_init/format
new file mode 100644
index 0000000..f219f79
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbg_init/format
@@ -0,0 +1,11 @@
+name: xhci_dbg_init
+ID: 757
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] msg;	offset:8;	size:4;	signed:0;
+
+print fmt: "%s", __get_str(msg)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbg_quirks/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbg_quirks/format
new file mode 100644
index 0000000..cb5188f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbg_quirks/format
@@ -0,0 +1,11 @@
+name: xhci_dbg_quirks
+ID: 758
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] msg;	offset:8;	size:4;	signed:0;
+
+print fmt: "%s", __get_str(msg)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbg_reset_ep/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbg_reset_ep/format
new file mode 100644
index 0000000..aa0b8aa
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbg_reset_ep/format
@@ -0,0 +1,11 @@
+name: xhci_dbg_reset_ep
+ID: 759
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] msg;	offset:8;	size:4;	signed:0;
+
+print fmt: "%s", __get_str(msg)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbg_ring_expansion/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbg_ring_expansion/format
new file mode 100644
index 0000000..e832511
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_dbg_ring_expansion/format
@@ -0,0 +1,11 @@
+name: xhci_dbg_ring_expansion
+ID: 760
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] msg;	offset:8;	size:4;	signed:0;
+
+print fmt: "%s", __get_str(msg)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_discover_or_reset_device/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_discover_or_reset_device/format
new file mode 100644
index 0000000..aed1add
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_discover_or_reset_device/format
@@ -0,0 +1,14 @@
+name: xhci_discover_or_reset_device
+ID: 761
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 info;	offset:8;	size:4;	signed:0;
+	field:u32 info2;	offset:12;	size:4;	signed:0;
+	field:u32 tt_info;	offset:16;	size:4;	signed:0;
+	field:u32 state;	offset:20;	size:4;	signed:0;
+
+print fmt: "%s", xhci_decode_slot_context(REC->info, REC->info2, REC->tt_info, REC->state)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_free_dev/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_free_dev/format
new file mode 100644
index 0000000..c1082ed
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_free_dev/format
@@ -0,0 +1,14 @@
+name: xhci_free_dev
+ID: 762
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 info;	offset:8;	size:4;	signed:0;
+	field:u32 info2;	offset:12;	size:4;	signed:0;
+	field:u32 tt_info;	offset:16;	size:4;	signed:0;
+	field:u32 state;	offset:20;	size:4;	signed:0;
+
+print fmt: "%s", xhci_decode_slot_context(REC->info, REC->info2, REC->tt_info, REC->state)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_free_virt_device/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_free_virt_device/format
new file mode 100644
index 0000000..c91d2cb
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_free_virt_device/format
@@ -0,0 +1,16 @@
+name: xhci_free_virt_device
+ID: 763
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * vdev;	offset:8;	size:8;	signed:0;
+	field:unsigned long long out_ctx;	offset:16;	size:8;	signed:0;
+	field:unsigned long long in_ctx;	offset:24;	size:8;	signed:0;
+	field:u8 fake_port;	offset:32;	size:1;	signed:0;
+	field:u8 real_port;	offset:33;	size:1;	signed:0;
+	field:u16 current_mel;	offset:34;	size:2;	signed:0;
+
+print fmt: "vdev %p ctx %llx | %llx fake_port %d real_port %d current_mel %d", REC->vdev, REC->in_ctx, REC->out_ctx, REC->fake_port, REC->real_port, REC->current_mel
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_get_port_status/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_get_port_status/format
new file mode 100644
index 0000000..dd5669d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_get_port_status/format
@@ -0,0 +1,12 @@
+name: xhci_get_port_status
+ID: 764
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 portnum;	offset:8;	size:4;	signed:0;
+	field:u32 portsc;	offset:12;	size:4;	signed:0;
+
+print fmt: "port-%d: %s", REC->portnum, xhci_decode_portsc(REC->portsc)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_cmd_addr_dev/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_cmd_addr_dev/format
new file mode 100644
index 0000000..3753ddd
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_cmd_addr_dev/format
@@ -0,0 +1,14 @@
+name: xhci_handle_cmd_addr_dev
+ID: 765
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 info;	offset:8;	size:4;	signed:0;
+	field:u32 info2;	offset:12;	size:4;	signed:0;
+	field:u32 tt_info;	offset:16;	size:4;	signed:0;
+	field:u32 state;	offset:20;	size:4;	signed:0;
+
+print fmt: "%s", xhci_decode_slot_context(REC->info, REC->info2, REC->tt_info, REC->state)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_cmd_config_ep/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_cmd_config_ep/format
new file mode 100644
index 0000000..8fb144a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_cmd_config_ep/format
@@ -0,0 +1,14 @@
+name: xhci_handle_cmd_config_ep
+ID: 766
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 info;	offset:8;	size:4;	signed:0;
+	field:u32 info2;	offset:12;	size:4;	signed:0;
+	field:u64 deq;	offset:16;	size:8;	signed:0;
+	field:u32 tx_info;	offset:24;	size:4;	signed:0;
+
+print fmt: "%s", xhci_decode_ep_context(REC->info, REC->info2, REC->deq, REC->tx_info)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_cmd_disable_slot/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_cmd_disable_slot/format
new file mode 100644
index 0000000..6eb0c4f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_cmd_disable_slot/format
@@ -0,0 +1,14 @@
+name: xhci_handle_cmd_disable_slot
+ID: 767
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 info;	offset:8;	size:4;	signed:0;
+	field:u32 info2;	offset:12;	size:4;	signed:0;
+	field:u32 tt_info;	offset:16;	size:4;	signed:0;
+	field:u32 state;	offset:20;	size:4;	signed:0;
+
+print fmt: "%s", xhci_decode_slot_context(REC->info, REC->info2, REC->tt_info, REC->state)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_cmd_reset_dev/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_cmd_reset_dev/format
new file mode 100644
index 0000000..3f3311d
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_cmd_reset_dev/format
@@ -0,0 +1,14 @@
+name: xhci_handle_cmd_reset_dev
+ID: 768
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 info;	offset:8;	size:4;	signed:0;
+	field:u32 info2;	offset:12;	size:4;	signed:0;
+	field:u32 tt_info;	offset:16;	size:4;	signed:0;
+	field:u32 state;	offset:20;	size:4;	signed:0;
+
+print fmt: "%s", xhci_decode_slot_context(REC->info, REC->info2, REC->tt_info, REC->state)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_cmd_reset_ep/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_cmd_reset_ep/format
new file mode 100644
index 0000000..645bf24
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_cmd_reset_ep/format
@@ -0,0 +1,14 @@
+name: xhci_handle_cmd_reset_ep
+ID: 769
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 info;	offset:8;	size:4;	signed:0;
+	field:u32 info2;	offset:12;	size:4;	signed:0;
+	field:u64 deq;	offset:16;	size:8;	signed:0;
+	field:u32 tx_info;	offset:24;	size:4;	signed:0;
+
+print fmt: "%s", xhci_decode_ep_context(REC->info, REC->info2, REC->deq, REC->tx_info)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_cmd_set_deq/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_cmd_set_deq/format
new file mode 100644
index 0000000..a4ce7f0
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_cmd_set_deq/format
@@ -0,0 +1,14 @@
+name: xhci_handle_cmd_set_deq
+ID: 770
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 info;	offset:8;	size:4;	signed:0;
+	field:u32 info2;	offset:12;	size:4;	signed:0;
+	field:u32 tt_info;	offset:16;	size:4;	signed:0;
+	field:u32 state;	offset:20;	size:4;	signed:0;
+
+print fmt: "%s", xhci_decode_slot_context(REC->info, REC->info2, REC->tt_info, REC->state)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_cmd_set_deq_ep/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_cmd_set_deq_ep/format
new file mode 100644
index 0000000..8c1c24a
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_cmd_set_deq_ep/format
@@ -0,0 +1,14 @@
+name: xhci_handle_cmd_set_deq_ep
+ID: 771
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 info;	offset:8;	size:4;	signed:0;
+	field:u32 info2;	offset:12;	size:4;	signed:0;
+	field:u64 deq;	offset:16;	size:8;	signed:0;
+	field:u32 tx_info;	offset:24;	size:4;	signed:0;
+
+print fmt: "%s", xhci_decode_ep_context(REC->info, REC->info2, REC->deq, REC->tx_info)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_cmd_stop_ep/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_cmd_stop_ep/format
new file mode 100644
index 0000000..8be6e6c
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_cmd_stop_ep/format
@@ -0,0 +1,14 @@
+name: xhci_handle_cmd_stop_ep
+ID: 772
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 info;	offset:8;	size:4;	signed:0;
+	field:u32 info2;	offset:12;	size:4;	signed:0;
+	field:u64 deq;	offset:16;	size:8;	signed:0;
+	field:u32 tx_info;	offset:24;	size:4;	signed:0;
+
+print fmt: "%s", xhci_decode_ep_context(REC->info, REC->info2, REC->deq, REC->tx_info)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_command/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_command/format
new file mode 100644
index 0000000..2fb42f7
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_command/format
@@ -0,0 +1,15 @@
+name: xhci_handle_command
+ID: 773
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 type;	offset:8;	size:4;	signed:0;
+	field:u32 field0;	offset:12;	size:4;	signed:0;
+	field:u32 field1;	offset:16;	size:4;	signed:0;
+	field:u32 field2;	offset:20;	size:4;	signed:0;
+	field:u32 field3;	offset:24;	size:4;	signed:0;
+
+print fmt: "%s: %s", xhci_ring_type_string(REC->type), xhci_decode_trb(REC->field0, REC->field1, REC->field2, REC->field3)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_event/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_event/format
new file mode 100644
index 0000000..06bdf69
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_event/format
@@ -0,0 +1,15 @@
+name: xhci_handle_event
+ID: 774
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 type;	offset:8;	size:4;	signed:0;
+	field:u32 field0;	offset:12;	size:4;	signed:0;
+	field:u32 field1;	offset:16;	size:4;	signed:0;
+	field:u32 field2;	offset:20;	size:4;	signed:0;
+	field:u32 field3;	offset:24;	size:4;	signed:0;
+
+print fmt: "%s: %s", xhci_ring_type_string(REC->type), xhci_decode_trb(REC->field0, REC->field1, REC->field2, REC->field3)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_port_status/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_port_status/format
new file mode 100644
index 0000000..c9f829f
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_port_status/format
@@ -0,0 +1,12 @@
+name: xhci_handle_port_status
+ID: 775
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 portnum;	offset:8;	size:4;	signed:0;
+	field:u32 portsc;	offset:12;	size:4;	signed:0;
+
+print fmt: "port-%d: %s", REC->portnum, xhci_decode_portsc(REC->portsc)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_transfer/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_transfer/format
new file mode 100644
index 0000000..8ea6889
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_handle_transfer/format
@@ -0,0 +1,15 @@
+name: xhci_handle_transfer
+ID: 776
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 type;	offset:8;	size:4;	signed:0;
+	field:u32 field0;	offset:12;	size:4;	signed:0;
+	field:u32 field1;	offset:16;	size:4;	signed:0;
+	field:u32 field2;	offset:20;	size:4;	signed:0;
+	field:u32 field3;	offset:24;	size:4;	signed:0;
+
+print fmt: "%s: %s", xhci_ring_type_string(REC->type), xhci_decode_trb(REC->field0, REC->field1, REC->field2, REC->field3)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_hub_status_data/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_hub_status_data/format
new file mode 100644
index 0000000..fef9142
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_hub_status_data/format
@@ -0,0 +1,12 @@
+name: xhci_hub_status_data
+ID: 777
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 portnum;	offset:8;	size:4;	signed:0;
+	field:u32 portsc;	offset:12;	size:4;	signed:0;
+
+print fmt: "port-%d: %s", REC->portnum, xhci_decode_portsc(REC->portsc)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_inc_deq/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_inc_deq/format
new file mode 100644
index 0000000..f294007
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_inc_deq/format
@@ -0,0 +1,21 @@
+name: xhci_inc_deq
+ID: 778
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 type;	offset:8;	size:4;	signed:0;
+	field:void * ring;	offset:16;	size:8;	signed:0;
+	field:dma_addr_t enq;	offset:24;	size:8;	signed:0;
+	field:dma_addr_t deq;	offset:32;	size:8;	signed:0;
+	field:dma_addr_t enq_seg;	offset:40;	size:8;	signed:0;
+	field:dma_addr_t deq_seg;	offset:48;	size:8;	signed:0;
+	field:unsigned int num_segs;	offset:56;	size:4;	signed:0;
+	field:unsigned int stream_id;	offset:60;	size:4;	signed:0;
+	field:unsigned int cycle_state;	offset:64;	size:4;	signed:0;
+	field:unsigned int num_trbs_free;	offset:68;	size:4;	signed:0;
+	field:unsigned int bounce_buf_len;	offset:72;	size:4;	signed:0;
+
+print fmt: "%s %p: enq %pad(%pad) deq %pad(%pad) segs %d stream %d free_trbs %d bounce %d cycle %d", xhci_ring_type_string(REC->type), REC->ring, &REC->enq, &REC->enq_seg, &REC->deq, &REC->deq_seg, REC->num_segs, REC->stream_id, REC->num_trbs_free, REC->bounce_buf_len, REC->cycle_state
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_inc_enq/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_inc_enq/format
new file mode 100644
index 0000000..c7fc22e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_inc_enq/format
@@ -0,0 +1,21 @@
+name: xhci_inc_enq
+ID: 779
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 type;	offset:8;	size:4;	signed:0;
+	field:void * ring;	offset:16;	size:8;	signed:0;
+	field:dma_addr_t enq;	offset:24;	size:8;	signed:0;
+	field:dma_addr_t deq;	offset:32;	size:8;	signed:0;
+	field:dma_addr_t enq_seg;	offset:40;	size:8;	signed:0;
+	field:dma_addr_t deq_seg;	offset:48;	size:8;	signed:0;
+	field:unsigned int num_segs;	offset:56;	size:4;	signed:0;
+	field:unsigned int stream_id;	offset:60;	size:4;	signed:0;
+	field:unsigned int cycle_state;	offset:64;	size:4;	signed:0;
+	field:unsigned int num_trbs_free;	offset:68;	size:4;	signed:0;
+	field:unsigned int bounce_buf_len;	offset:72;	size:4;	signed:0;
+
+print fmt: "%s %p: enq %pad(%pad) deq %pad(%pad) segs %d stream %d free_trbs %d bounce %d cycle %d", xhci_ring_type_string(REC->type), REC->ring, &REC->enq, &REC->enq_seg, &REC->deq, &REC->deq_seg, REC->num_segs, REC->stream_id, REC->num_trbs_free, REC->bounce_buf_len, REC->cycle_state
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_queue_trb/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_queue_trb/format
new file mode 100644
index 0000000..b3fce75
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_queue_trb/format
@@ -0,0 +1,15 @@
+name: xhci_queue_trb
+ID: 780
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 type;	offset:8;	size:4;	signed:0;
+	field:u32 field0;	offset:12;	size:4;	signed:0;
+	field:u32 field1;	offset:16;	size:4;	signed:0;
+	field:u32 field2;	offset:20;	size:4;	signed:0;
+	field:u32 field3;	offset:24;	size:4;	signed:0;
+
+print fmt: "%s: %s", xhci_ring_type_string(REC->type), xhci_decode_trb(REC->field0, REC->field1, REC->field2, REC->field3)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_ring_alloc/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_ring_alloc/format
new file mode 100644
index 0000000..3593f28
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_ring_alloc/format
@@ -0,0 +1,21 @@
+name: xhci_ring_alloc
+ID: 781
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 type;	offset:8;	size:4;	signed:0;
+	field:void * ring;	offset:16;	size:8;	signed:0;
+	field:dma_addr_t enq;	offset:24;	size:8;	signed:0;
+	field:dma_addr_t deq;	offset:32;	size:8;	signed:0;
+	field:dma_addr_t enq_seg;	offset:40;	size:8;	signed:0;
+	field:dma_addr_t deq_seg;	offset:48;	size:8;	signed:0;
+	field:unsigned int num_segs;	offset:56;	size:4;	signed:0;
+	field:unsigned int stream_id;	offset:60;	size:4;	signed:0;
+	field:unsigned int cycle_state;	offset:64;	size:4;	signed:0;
+	field:unsigned int num_trbs_free;	offset:68;	size:4;	signed:0;
+	field:unsigned int bounce_buf_len;	offset:72;	size:4;	signed:0;
+
+print fmt: "%s %p: enq %pad(%pad) deq %pad(%pad) segs %d stream %d free_trbs %d bounce %d cycle %d", xhci_ring_type_string(REC->type), REC->ring, &REC->enq, &REC->enq_seg, &REC->deq, &REC->deq_seg, REC->num_segs, REC->stream_id, REC->num_trbs_free, REC->bounce_buf_len, REC->cycle_state
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_ring_ep_doorbell/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_ring_ep_doorbell/format
new file mode 100644
index 0000000..e0db907
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_ring_ep_doorbell/format
@@ -0,0 +1,12 @@
+name: xhci_ring_ep_doorbell
+ID: 782
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 slot;	offset:8;	size:4;	signed:0;
+	field:u32 doorbell;	offset:12;	size:4;	signed:0;
+
+print fmt: "Ring doorbell for %s", xhci_decode_doorbell(REC->slot, REC->doorbell)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_ring_expansion/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_ring_expansion/format
new file mode 100644
index 0000000..ed4cd67
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_ring_expansion/format
@@ -0,0 +1,21 @@
+name: xhci_ring_expansion
+ID: 783
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 type;	offset:8;	size:4;	signed:0;
+	field:void * ring;	offset:16;	size:8;	signed:0;
+	field:dma_addr_t enq;	offset:24;	size:8;	signed:0;
+	field:dma_addr_t deq;	offset:32;	size:8;	signed:0;
+	field:dma_addr_t enq_seg;	offset:40;	size:8;	signed:0;
+	field:dma_addr_t deq_seg;	offset:48;	size:8;	signed:0;
+	field:unsigned int num_segs;	offset:56;	size:4;	signed:0;
+	field:unsigned int stream_id;	offset:60;	size:4;	signed:0;
+	field:unsigned int cycle_state;	offset:64;	size:4;	signed:0;
+	field:unsigned int num_trbs_free;	offset:68;	size:4;	signed:0;
+	field:unsigned int bounce_buf_len;	offset:72;	size:4;	signed:0;
+
+print fmt: "%s %p: enq %pad(%pad) deq %pad(%pad) segs %d stream %d free_trbs %d bounce %d cycle %d", xhci_ring_type_string(REC->type), REC->ring, &REC->enq, &REC->enq_seg, &REC->deq, &REC->deq_seg, REC->num_segs, REC->stream_id, REC->num_trbs_free, REC->bounce_buf_len, REC->cycle_state
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_ring_free/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_ring_free/format
new file mode 100644
index 0000000..da10805
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_ring_free/format
@@ -0,0 +1,21 @@
+name: xhci_ring_free
+ID: 784
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 type;	offset:8;	size:4;	signed:0;
+	field:void * ring;	offset:16;	size:8;	signed:0;
+	field:dma_addr_t enq;	offset:24;	size:8;	signed:0;
+	field:dma_addr_t deq;	offset:32;	size:8;	signed:0;
+	field:dma_addr_t enq_seg;	offset:40;	size:8;	signed:0;
+	field:dma_addr_t deq_seg;	offset:48;	size:8;	signed:0;
+	field:unsigned int num_segs;	offset:56;	size:4;	signed:0;
+	field:unsigned int stream_id;	offset:60;	size:4;	signed:0;
+	field:unsigned int cycle_state;	offset:64;	size:4;	signed:0;
+	field:unsigned int num_trbs_free;	offset:68;	size:4;	signed:0;
+	field:unsigned int bounce_buf_len;	offset:72;	size:4;	signed:0;
+
+print fmt: "%s %p: enq %pad(%pad) deq %pad(%pad) segs %d stream %d free_trbs %d bounce %d cycle %d", xhci_ring_type_string(REC->type), REC->ring, &REC->enq, &REC->enq_seg, &REC->deq, &REC->deq_seg, REC->num_segs, REC->stream_id, REC->num_trbs_free, REC->bounce_buf_len, REC->cycle_state
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_ring_host_doorbell/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_ring_host_doorbell/format
new file mode 100644
index 0000000..31a0e44
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_ring_host_doorbell/format
@@ -0,0 +1,12 @@
+name: xhci_ring_host_doorbell
+ID: 785
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 slot;	offset:8;	size:4;	signed:0;
+	field:u32 doorbell;	offset:12;	size:4;	signed:0;
+
+print fmt: "Ring doorbell for %s", xhci_decode_doorbell(REC->slot, REC->doorbell)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_setup_addressable_virt_device/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_setup_addressable_virt_device/format
new file mode 100644
index 0000000..0fca6c2
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_setup_addressable_virt_device/format
@@ -0,0 +1,19 @@
+name: xhci_setup_addressable_virt_device
+ID: 786
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * vdev;	offset:8;	size:8;	signed:0;
+	field:unsigned long long out_ctx;	offset:16;	size:8;	signed:0;
+	field:unsigned long long in_ctx;	offset:24;	size:8;	signed:0;
+	field:int devnum;	offset:32;	size:4;	signed:1;
+	field:int state;	offset:36;	size:4;	signed:1;
+	field:int speed;	offset:40;	size:4;	signed:1;
+	field:u8 portnum;	offset:44;	size:1;	signed:0;
+	field:u8 level;	offset:45;	size:1;	signed:0;
+	field:int slot_id;	offset:48;	size:4;	signed:1;
+
+print fmt: "vdev %p ctx %llx | %llx num %d state %d speed %d port %d level %d slot %d", REC->vdev, REC->in_ctx, REC->out_ctx, REC->devnum, REC->state, REC->speed, REC->portnum, REC->level, REC->slot_id
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_setup_device/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_setup_device/format
new file mode 100644
index 0000000..529e1d6
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_setup_device/format
@@ -0,0 +1,19 @@
+name: xhci_setup_device
+ID: 787
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * vdev;	offset:8;	size:8;	signed:0;
+	field:unsigned long long out_ctx;	offset:16;	size:8;	signed:0;
+	field:unsigned long long in_ctx;	offset:24;	size:8;	signed:0;
+	field:int devnum;	offset:32;	size:4;	signed:1;
+	field:int state;	offset:36;	size:4;	signed:1;
+	field:int speed;	offset:40;	size:4;	signed:1;
+	field:u8 portnum;	offset:44;	size:1;	signed:0;
+	field:u8 level;	offset:45;	size:1;	signed:0;
+	field:int slot_id;	offset:48;	size:4;	signed:1;
+
+print fmt: "vdev %p ctx %llx | %llx num %d state %d speed %d port %d level %d slot %d", REC->vdev, REC->in_ctx, REC->out_ctx, REC->devnum, REC->state, REC->speed, REC->portnum, REC->level, REC->slot_id
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_setup_device_slot/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_setup_device_slot/format
new file mode 100644
index 0000000..f3dbbef
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_setup_device_slot/format
@@ -0,0 +1,14 @@
+name: xhci_setup_device_slot
+ID: 788
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:u32 info;	offset:8;	size:4;	signed:0;
+	field:u32 info2;	offset:12;	size:4;	signed:0;
+	field:u32 tt_info;	offset:16;	size:4;	signed:0;
+	field:u32 state;	offset:20;	size:4;	signed:0;
+
+print fmt: "%s", xhci_decode_slot_context(REC->info, REC->info2, REC->tt_info, REC->state)
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_stop_device/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_stop_device/format
new file mode 100644
index 0000000..652ab40
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_stop_device/format
@@ -0,0 +1,19 @@
+name: xhci_stop_device
+ID: 789
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * vdev;	offset:8;	size:8;	signed:0;
+	field:unsigned long long out_ctx;	offset:16;	size:8;	signed:0;
+	field:unsigned long long in_ctx;	offset:24;	size:8;	signed:0;
+	field:int devnum;	offset:32;	size:4;	signed:1;
+	field:int state;	offset:36;	size:4;	signed:1;
+	field:int speed;	offset:40;	size:4;	signed:1;
+	field:u8 portnum;	offset:44;	size:1;	signed:0;
+	field:u8 level;	offset:45;	size:1;	signed:0;
+	field:int slot_id;	offset:48;	size:4;	signed:1;
+
+print fmt: "vdev %p ctx %llx | %llx num %d state %d speed %d port %d level %d slot %d", REC->vdev, REC->in_ctx, REC->out_ctx, REC->devnum, REC->state, REC->speed, REC->portnum, REC->level, REC->slot_id
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_urb_dequeue/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_urb_dequeue/format
new file mode 100644
index 0000000..1318a22
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_urb_dequeue/format
@@ -0,0 +1,23 @@
+name: xhci_urb_dequeue
+ID: 790
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * urb;	offset:8;	size:8;	signed:0;
+	field:unsigned int pipe;	offset:16;	size:4;	signed:0;
+	field:unsigned int stream;	offset:20;	size:4;	signed:0;
+	field:int status;	offset:24;	size:4;	signed:1;
+	field:unsigned int flags;	offset:28;	size:4;	signed:0;
+	field:int num_mapped_sgs;	offset:32;	size:4;	signed:1;
+	field:int num_sgs;	offset:36;	size:4;	signed:1;
+	field:int length;	offset:40;	size:4;	signed:1;
+	field:int actual;	offset:44;	size:4;	signed:1;
+	field:int epnum;	offset:48;	size:4;	signed:1;
+	field:int dir_in;	offset:52;	size:4;	signed:1;
+	field:int type;	offset:56;	size:4;	signed:1;
+	field:int slot_id;	offset:60;	size:4;	signed:1;
+
+print fmt: "ep%d%s-%s: urb %p pipe %u slot %d length %d/%d sgs %d/%d stream %d flags %08x", REC->epnum, REC->dir_in ? "in" : "out", __print_symbolic(REC->type, { 3, "intr" }, { 0, "control" }, { 2, "bulk" }, { 1, "isoc" }), REC->urb, REC->pipe, REC->slot_id, REC->actual, REC->length, REC->num_mapped_sgs, REC->num_sgs, REC->stream, REC->flags
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_urb_enqueue/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_urb_enqueue/format
new file mode 100644
index 0000000..c2b546e
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_urb_enqueue/format
@@ -0,0 +1,23 @@
+name: xhci_urb_enqueue
+ID: 791
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * urb;	offset:8;	size:8;	signed:0;
+	field:unsigned int pipe;	offset:16;	size:4;	signed:0;
+	field:unsigned int stream;	offset:20;	size:4;	signed:0;
+	field:int status;	offset:24;	size:4;	signed:1;
+	field:unsigned int flags;	offset:28;	size:4;	signed:0;
+	field:int num_mapped_sgs;	offset:32;	size:4;	signed:1;
+	field:int num_sgs;	offset:36;	size:4;	signed:1;
+	field:int length;	offset:40;	size:4;	signed:1;
+	field:int actual;	offset:44;	size:4;	signed:1;
+	field:int epnum;	offset:48;	size:4;	signed:1;
+	field:int dir_in;	offset:52;	size:4;	signed:1;
+	field:int type;	offset:56;	size:4;	signed:1;
+	field:int slot_id;	offset:60;	size:4;	signed:1;
+
+print fmt: "ep%d%s-%s: urb %p pipe %u slot %d length %d/%d sgs %d/%d stream %d flags %08x", REC->epnum, REC->dir_in ? "in" : "out", __print_symbolic(REC->type, { 3, "intr" }, { 0, "control" }, { 2, "bulk" }, { 1, "isoc" }), REC->urb, REC->pipe, REC->slot_id, REC->actual, REC->length, REC->num_mapped_sgs, REC->num_sgs, REC->stream, REC->flags
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_urb_giveback/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_urb_giveback/format
new file mode 100644
index 0000000..4d6a362
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/xhci-hcd/xhci_urb_giveback/format
@@ -0,0 +1,23 @@
+name: xhci_urb_giveback
+ID: 792
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * urb;	offset:8;	size:8;	signed:0;
+	field:unsigned int pipe;	offset:16;	size:4;	signed:0;
+	field:unsigned int stream;	offset:20;	size:4;	signed:0;
+	field:int status;	offset:24;	size:4;	signed:1;
+	field:unsigned int flags;	offset:28;	size:4;	signed:0;
+	field:int num_mapped_sgs;	offset:32;	size:4;	signed:1;
+	field:int num_sgs;	offset:36;	size:4;	signed:1;
+	field:int length;	offset:40;	size:4;	signed:1;
+	field:int actual;	offset:44;	size:4;	signed:1;
+	field:int epnum;	offset:48;	size:4;	signed:1;
+	field:int dir_in;	offset:52;	size:4;	signed:1;
+	field:int type;	offset:56;	size:4;	signed:1;
+	field:int slot_id;	offset:60;	size:4;	signed:1;
+
+print fmt: "ep%d%s-%s: urb %p pipe %u slot %d length %d/%d sgs %d/%d stream %d flags %08x", REC->epnum, REC->dir_in ? "in" : "out", __print_symbolic(REC->type, { 3, "intr" }, { 0, "control" }, { 2, "bulk" }, { 1, "isoc" }), REC->urb, REC->pipe, REC->slot_id, REC->actual, REC->length, REC->num_mapped_sgs, REC->num_sgs, REC->stream, REC->flags
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/zram/zcomp_decompress_end/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/zram/zcomp_decompress_end/format
new file mode 100644
index 0000000..e4fd570
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/zram/zcomp_decompress_end/format
@@ -0,0 +1,12 @@
+name: zcomp_decompress_end
+ID: 1087
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long pfn;	offset:8;	size:8;	signed:0;
+	field:u32 index;	offset:16;	size:4;	signed:0;
+
+print fmt: "pfn=%lu index=%d", REC->pfn, REC->index
diff --git a/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/zram/zcomp_decompress_start/format b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/zram/zcomp_decompress_start/format
new file mode 100644
index 0000000..c329bb4
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/android_raven_AOSP.MASTER_5.10.43/events/zram/zcomp_decompress_start/format
@@ -0,0 +1,12 @@
+name: zcomp_decompress_start
+ID: 1088
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:unsigned long pfn;	offset:8;	size:8;	signed:0;
+	field:u32 index;	offset:16;	size:4;	signed:0;
+
+print fmt: "pfn=%lu index=%d", REC->pfn, REC->index
diff --git a/src/traced/probes/ftrace/test/data/synthetic/events/power/wakeup_source_activate/format b/src/traced/probes/ftrace/test/data/synthetic/events/power/wakeup_source_activate/format
new file mode 100644
index 0000000..b8b39d8
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/synthetic/events/power/wakeup_source_activate/format
@@ -0,0 +1,12 @@
+name: wakeup_source_activate
+ID: 123
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:u64 state;	offset:16;	size:8;	signed:0;
+
+print fmt: "%s state=0x%lx", __get_str(name), (unsigned long)REC->state
diff --git a/src/traced/probes/ftrace/test/data/synthetic/events/power/wakeup_source_deactivate/format b/src/traced/probes/ftrace/test/data/synthetic/events/power/wakeup_source_deactivate/format
new file mode 100644
index 0000000..03e9b39
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/synthetic/events/power/wakeup_source_deactivate/format
@@ -0,0 +1,12 @@
+name: wakeup_source_deactivate
+ID: 124
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] name;	offset:8;	size:4;	signed:0;
+	field:u64 state;	offset:16;	size:8;	signed:0;
+
+print fmt: "%s state=0x%lx", __get_str(name), (unsigned long)REC->state
diff --git a/src/traced/probes/ftrace/test/data/synthetic/events/skb/kfree_skb/format b/src/traced/probes/ftrace/test/data/synthetic/events/skb/kfree_skb/format
new file mode 100644
index 0000000..5f55e20
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/synthetic/events/skb/kfree_skb/format
@@ -0,0 +1,13 @@
+name: kfree_skb
+ID: 925
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:void * skbaddr;	offset:8;	size:8;	signed:0;
+	field:void * location;	offset:16;	size:8;	signed:0;
+	field:unsigned short protocol;	offset:24;	size:2;	signed:0;
+
+print fmt: "skbaddr=%p protocol=%u location=%p", REC->skbaddr, REC->protocol, REC->location
diff --git a/src/traced/probes/ftrace/test/data/synthetic/events/ufs/ufshcd_clk_gating/format b/src/traced/probes/ftrace/test/data/synthetic/events/ufs/ufshcd_clk_gating/format
new file mode 100644
index 0000000..b9f5bdf
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/synthetic/events/ufs/ufshcd_clk_gating/format
@@ -0,0 +1,12 @@
+name: ufshcd_clk_gating
+ID: 699
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] dev_name;	offset:8;	size:4;	signed:0;
+	field:int state;	offset:12;	size:4;	signed:1;
+
+print fmt: "%s: gating state changed to %s", __get_str(dev_name), __print_symbolic(REC->state, {0, "CLKS_OFF"}, {1, "CLKS_ON"}, {2, "REQ_CLKS_OFF"}, {3, "REQ_CLKS_ON"})
diff --git a/src/traced/probes/ftrace/test/data/synthetic/events/ufs/ufshcd_command/format b/src/traced/probes/ftrace/test/data/synthetic/events/ufs/ufshcd_command/format
new file mode 100644
index 0000000..b80b353
--- /dev/null
+++ b/src/traced/probes/ftrace/test/data/synthetic/events/ufs/ufshcd_command/format
@@ -0,0 +1,19 @@
+name: ufshcd_command
+ID: 714
+format:
+	field:unsigned short common_type;	offset:0;	size:2;	signed:0;
+	field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
+	field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
+	field:int common_pid;	offset:4;	size:4;	signed:1;
+
+	field:__data_loc char[] dev_name;	offset:8;	size:4;	signed:0;
+	field:enum ufs_trace_str_t str_t;	offset:12;	size:4;	signed:0;
+	field:unsigned int tag;	offset:16;	size:4;	signed:0;
+	field:u32 doorbell;	offset:20;	size:4;	signed:0;
+	field:int transfer_len;	offset:24;	size:4;	signed:1;
+	field:u32 intr;	offset:28;	size:4;	signed:0;
+	field:u64 lba;	offset:32;	size:8;	signed:0;
+	field:u8 opcode;	offset:40;	size:1;	signed:0;
+	field:u8 group_id;	offset:41;	size:1;	signed:0;
+
+print fmt: "%s: %s: tag: %u, DB: 0x%x, size: %d, IS: %u, LBA: %llu, opcode: 0x%x (%s), group_id: 0x%x", __print_symbolic(REC->str_t, {0, "send_req"}, {1, "complete_rsp"}, {2, "dev_complete"}, {3, "query_send"}, {4, "query_complete"}, {5, "query_complete_err"}, {6, "tm_send"}, {7, "tm_complete"}, {8, "tm_complete_err"}), __get_str(dev_name), REC->tag, REC->doorbell, REC->transfer_len, REC->intr, REC->lba, (u32)REC->opcode, __print_symbolic(REC->opcode, { 0x8a, "WRITE_16" }, { 0x2a, "WRITE_10" }, { 0x88, "READ_16" }, { 0x28, "READ_10" }, { 0x35, "SYNC" }, { 0x42, "UNMAP" }), (u32)REC->group_id
diff --git a/src/traced/probes/initial_display_state/initial_display_state_data_source.cc b/src/traced/probes/initial_display_state/initial_display_state_data_source.cc
index 332cbf5..85ea606 100644
--- a/src/traced/probes/initial_display_state/initial_display_state_data_source.cc
+++ b/src/traced/probes/initial_display_state/initial_display_state_data_source.cc
@@ -34,6 +34,7 @@
     InitialDisplayStateDataSource::descriptor = {
         /* name */ "android.polled_state",
         /* flags */ Descriptor::kFlagsNone,
+        /*fill_descriptor_func*/ nullptr,
 };
 
 InitialDisplayStateDataSource::InitialDisplayStateDataSource(
diff --git a/src/traced/probes/metatrace/metatrace_data_source.cc b/src/traced/probes/metatrace/metatrace_data_source.cc
index 1c5a2a7..6849579 100644
--- a/src/traced/probes/metatrace/metatrace_data_source.cc
+++ b/src/traced/probes/metatrace/metatrace_data_source.cc
@@ -32,6 +32,7 @@
 const ProbesDataSource::Descriptor MetatraceDataSource::descriptor = {
     /*name*/ MetatraceWriter::kDataSourceName,
     /*flags*/ Descriptor::kFlagsNone,
+    /*fill_descriptor_func*/ nullptr,
 };
 
 MetatraceDataSource::MetatraceDataSource(base::TaskRunner* task_runner,
diff --git a/src/traced/probes/packages_list/packages_list_data_source.cc b/src/traced/probes/packages_list/packages_list_data_source.cc
index f9919b8..8276f62 100644
--- a/src/traced/probes/packages_list/packages_list_data_source.cc
+++ b/src/traced/probes/packages_list/packages_list_data_source.cc
@@ -32,6 +32,7 @@
 const ProbesDataSource::Descriptor PackagesListDataSource::descriptor = {
     /*name*/ "android.packages_list",
     /*flags*/ Descriptor::kFlagsNone,
+    /*fill_descriptor_func*/ nullptr,
 };
 
 bool ParsePackagesListStream(protos::pbzero::PackagesList* packages_list_packet,
diff --git a/src/traced/probes/power/android_power_data_source.cc b/src/traced/probes/power/android_power_data_source.cc
index dac5bde..9d2d9a5 100644
--- a/src/traced/probes/power/android_power_data_source.cc
+++ b/src/traced/probes/power/android_power_data_source.cc
@@ -51,6 +51,7 @@
 const ProbesDataSource::Descriptor AndroidPowerDataSource::descriptor = {
     /*name*/ "android.power",
     /*flags*/ Descriptor::kHandlesIncrementalState,
+    /*fill_descriptor_func*/ nullptr,
 };
 
 // Dynamically loads the libperfetto_android_internal.so library which
diff --git a/src/traced/probes/power/linux_power_sysfs_data_source.cc b/src/traced/probes/power/linux_power_sysfs_data_source.cc
index ff1e8b4..2e7d66e 100644
--- a/src/traced/probes/power/linux_power_sysfs_data_source.cc
+++ b/src/traced/probes/power/linux_power_sysfs_data_source.cc
@@ -105,6 +105,7 @@
 const ProbesDataSource::Descriptor LinuxPowerSysfsDataSource::descriptor = {
     /*name*/ "linux.sysfs_power",
     /*flags*/ Descriptor::kFlagsNone,
+    /*fill_descriptor_func*/ nullptr,
 };
 
 LinuxPowerSysfsDataSource::LinuxPowerSysfsDataSource(
diff --git a/src/traced/probes/probes_data_source.h b/src/traced/probes/probes_data_source.h
index 6ceef56..9025046 100644
--- a/src/traced/probes/probes_data_source.h
+++ b/src/traced/probes/probes_data_source.h
@@ -31,12 +31,16 @@
   // Static properties for a data source. Needs to be available before
   // instantiating each data source. It must have static lifetime.
   struct Descriptor {
+    using FillDescriptorFunc = void (*)(DataSourceDescriptor*);
     enum Flags : uint32_t {
       kFlagsNone = 0,
       kHandlesIncrementalState = 1 << 0,
     };
     const char* const name;
     uint32_t flags;
+    // If not nullptr, called to fill data source specific fields in
+    // DataSourceDescriptor.
+    FillDescriptorFunc fill_descriptor_func;
   };
 
   ProbesDataSource(TracingSessionID, const Descriptor*);
diff --git a/src/traced/probes/probes_producer.cc b/src/traced/probes/probes_producer.cc
index ebe5745..8b9fc46 100644
--- a/src/traced/probes/probes_producer.cc
+++ b/src/traced/probes/probes_producer.cc
@@ -32,6 +32,7 @@
 #include "perfetto/ext/tracing/ipc/producer_ipc_client.h"
 #include "perfetto/tracing/core/data_source_config.h"
 #include "perfetto/tracing/core/data_source_descriptor.h"
+#include "perfetto/tracing/core/forward_decls.h"
 #include "perfetto/tracing/core/trace_config.h"
 #include "src/android_stats/statsd_logging_helper.h"
 #include "src/traced/probes/android_log/android_log_data_source.h"
@@ -66,19 +67,6 @@
 constexpr size_t kTracingSharedMemSizeHintBytes = 1024 * 1024;
 constexpr size_t kTracingSharedMemPageSizeHintBytes = 32 * 1024;
 
-ProbesDataSource::Descriptor const* const kAllDataSources[]{
-    &FtraceDataSource::descriptor,               //
-    &ProcessStatsDataSource::descriptor,         //
-    &InodeFileDataSource::descriptor,            //
-    &SysStatsDataSource::descriptor,             //
-    &AndroidPowerDataSource::descriptor,         //
-    &LinuxPowerSysfsDataSource::descriptor,      //
-    &AndroidLogDataSource::descriptor,           //
-    &PackagesListDataSource::descriptor,         //
-    &MetatraceDataSource::descriptor,            //
-    &SystemInfoDataSource::descriptor,           //
-    &InitialDisplayStateDataSource::descriptor,  //
-};
 }  // namespace
 
 // State transition diagram:
@@ -107,42 +95,6 @@
   ftrace_.reset();
 }
 
-void ProbesProducer::OnConnect() {
-  PERFETTO_DCHECK(state_ == kConnecting);
-  state_ = kConnected;
-  ResetConnectionBackoff();
-  PERFETTO_LOG("Connected to the service");
-
-  // Register all the data sources.
-  for (const FtraceDataSource::Descriptor* desc : kAllDataSources) {
-    DataSourceDescriptor proto_desc;
-    proto_desc.set_name(desc->name);
-    proto_desc.set_will_notify_on_start(true);
-    proto_desc.set_will_notify_on_stop(true);
-    using Flags = ProbesDataSource::Descriptor::Flags;
-    if (desc->flags & Flags::kHandlesIncrementalState)
-      proto_desc.set_handles_incremental_state_clear(true);
-    endpoint_->RegisterDataSource(proto_desc);
-  }
-
-  // Used by tracebox to synchronize with traced_probes being registered.
-  if (all_data_sources_registered_cb_) {
-    endpoint_->Sync(all_data_sources_registered_cb_);
-  }
-}
-
-void ProbesProducer::OnDisconnect() {
-  PERFETTO_DCHECK(state_ == kConnected || state_ == kConnecting);
-  PERFETTO_LOG("Disconnected from tracing service");
-  if (state_ == kConnected)
-    return task_runner_->PostTask([this] { this->Restart(); });
-
-  state_ = kNotConnected;
-  IncreaseConnectionBackoff();
-  task_runner_->PostDelayedTask([this] { this->Connect(); },
-                                connection_backoff_ms_);
-}
-
 void ProbesProducer::Restart() {
   // We lost the connection with the tracing service. At this point we need
   // to reset all the data sources. Trying to handle that manually is going to
@@ -159,73 +111,9 @@
   ConnectWithRetries(socket_name, task_runner);
 }
 
-void ProbesProducer::SetupDataSource(DataSourceInstanceID instance_id,
-                                     const DataSourceConfig& config) {
-  PERFETTO_DLOG("SetupDataSource(id=%" PRIu64 ", name=%s)", instance_id,
-                config.name().c_str());
-  PERFETTO_DCHECK(data_sources_.count(instance_id) == 0);
-  TracingSessionID session_id = config.tracing_session_id();
-  PERFETTO_CHECK(session_id > 0);
-
-  std::unique_ptr<ProbesDataSource> data_source;
-  if (config.name() == FtraceDataSource::descriptor.name) {
-    data_source = CreateFtraceDataSource(session_id, config);
-  } else if (config.name() == InodeFileDataSource::descriptor.name) {
-    data_source = CreateInodeFileDataSource(session_id, config);
-  } else if (config.name() == ProcessStatsDataSource::descriptor.name) {
-    data_source = CreateProcessStatsDataSource(session_id, config);
-  } else if (config.name() == SysStatsDataSource::descriptor.name) {
-    data_source = CreateSysStatsDataSource(session_id, config);
-  } else if (config.name() == AndroidPowerDataSource::descriptor.name) {
-    data_source = CreateAndroidPowerDataSource(session_id, config);
-  } else if (config.name() == LinuxPowerSysfsDataSource::descriptor.name) {
-    data_source = CreateLinuxPowerSysfsDataSource(session_id, config);
-  } else if (config.name() == AndroidLogDataSource::descriptor.name) {
-    data_source = CreateAndroidLogDataSource(session_id, config);
-  } else if (config.name() == PackagesListDataSource::descriptor.name) {
-    data_source = CreatePackagesListDataSource(session_id, config);
-  } else if (config.name() == MetatraceDataSource::descriptor.name) {
-    data_source = CreateMetatraceDataSource(session_id, config);
-  } else if (config.name() == SystemInfoDataSource::descriptor.name) {
-    data_source = CreateSystemInfoDataSource(session_id, config);
-  } else if (config.name() == InitialDisplayStateDataSource::descriptor.name) {
-    data_source = CreateInitialDisplayStateDataSource(session_id, config);
-  }
-
-  if (!data_source) {
-    PERFETTO_ELOG("Failed to create data source '%s'", config.name().c_str());
-    return;
-  }
-
-  session_data_sources_.emplace(session_id, data_source.get());
-  data_sources_[instance_id] = std::move(data_source);
-}
-
-void ProbesProducer::StartDataSource(DataSourceInstanceID instance_id,
-                                     const DataSourceConfig& config) {
-  PERFETTO_DLOG("StartDataSource(id=%" PRIu64 ", name=%s)", instance_id,
-                config.name().c_str());
-  auto it = data_sources_.find(instance_id);
-  if (it == data_sources_.end()) {
-    // Can happen if SetupDataSource() failed (e.g. ftrace was busy).
-    PERFETTO_ELOG("Data source id=%" PRIu64 " not found", instance_id);
-    return;
-  }
-  ProbesDataSource* data_source = it->second.get();
-  if (data_source->started)
-    return;
-  if (config.trace_duration_ms() != 0) {
-    uint32_t timeout = 5000 + 2 * config.trace_duration_ms();
-    watchdogs_.emplace(
-        instance_id, base::Watchdog::GetInstance()->CreateFatalTimer(
-                         timeout, base::WatchdogCrashReason::kTraceDidntStop));
-  }
-  data_source->started = true;
-  data_source->Start();
-  endpoint_->NotifyDataSourceStarted(instance_id);
-}
-
-std::unique_ptr<ProbesDataSource> ProbesProducer::CreateFtraceDataSource(
+template <>
+std::unique_ptr<ProbesDataSource>
+ProbesProducer::CreateDSInstance<FtraceDataSource>(
     TracingSessionID session_id,
     const DataSourceConfig& config) {
   // Don't retry if FtraceController::Create() failed once.
@@ -262,20 +150,24 @@
   return std::unique_ptr<ProbesDataSource>(std::move(data_source));
 }
 
-std::unique_ptr<ProbesDataSource> ProbesProducer::CreateInodeFileDataSource(
+template <>
+std::unique_ptr<ProbesDataSource>
+ProbesProducer::CreateDSInstance<InodeFileDataSource>(
     TracingSessionID session_id,
-    DataSourceConfig source_config) {
+    const DataSourceConfig& source_config) {
   PERFETTO_LOG("Inode file map setup (target_buf=%" PRIu32 ")",
                source_config.target_buffer());
   auto buffer_id = static_cast<BufferID>(source_config.target_buffer());
   if (system_inodes_.empty())
     CreateStaticDeviceToInodeMap("/system", &system_inodes_);
   return std::unique_ptr<InodeFileDataSource>(new InodeFileDataSource(
-      std::move(source_config), task_runner_, session_id, &system_inodes_,
-      &cache_, endpoint_->CreateTraceWriter(buffer_id)));
+      source_config, task_runner_, session_id, &system_inodes_, &cache_,
+      endpoint_->CreateTraceWriter(buffer_id)));
 }
 
-std::unique_ptr<ProbesDataSource> ProbesProducer::CreateProcessStatsDataSource(
+template <>
+std::unique_ptr<ProbesDataSource>
+ProbesProducer::CreateDSInstance<ProcessStatsDataSource>(
     TracingSessionID session_id,
     const DataSourceConfig& config) {
   auto buffer_id = static_cast<BufferID>(config.target_buffer());
@@ -284,7 +176,9 @@
       std::unique_ptr<CpuFreqInfo>(new CpuFreqInfo())));
 }
 
-std::unique_ptr<ProbesDataSource> ProbesProducer::CreateAndroidPowerDataSource(
+template <>
+std::unique_ptr<ProbesDataSource>
+ProbesProducer::CreateDSInstance<AndroidPowerDataSource>(
     TracingSessionID session_id,
     const DataSourceConfig& config) {
   auto buffer_id = static_cast<BufferID>(config.target_buffer());
@@ -293,8 +187,9 @@
                                  endpoint_->CreateTraceWriter(buffer_id)));
 }
 
+template <>
 std::unique_ptr<ProbesDataSource>
-ProbesProducer::CreateLinuxPowerSysfsDataSource(
+ProbesProducer::CreateDSInstance<LinuxPowerSysfsDataSource>(
     TracingSessionID session_id,
     const DataSourceConfig& config) {
   auto buffer_id = static_cast<BufferID>(config.target_buffer());
@@ -303,7 +198,9 @@
                                     endpoint_->CreateTraceWriter(buffer_id)));
 }
 
-std::unique_ptr<ProbesDataSource> ProbesProducer::CreateAndroidLogDataSource(
+template <>
+std::unique_ptr<ProbesDataSource>
+ProbesProducer::CreateDSInstance<AndroidLogDataSource>(
     TracingSessionID session_id,
     const DataSourceConfig& config) {
   auto buffer_id = static_cast<BufferID>(config.target_buffer());
@@ -312,7 +209,9 @@
                                endpoint_->CreateTraceWriter(buffer_id)));
 }
 
-std::unique_ptr<ProbesDataSource> ProbesProducer::CreatePackagesListDataSource(
+template <>
+std::unique_ptr<ProbesDataSource>
+ProbesProducer::CreateDSInstance<PackagesListDataSource>(
     TracingSessionID session_id,
     const DataSourceConfig& config) {
   auto buffer_id = static_cast<BufferID>(config.target_buffer());
@@ -320,7 +219,9 @@
       config, session_id, endpoint_->CreateTraceWriter(buffer_id)));
 }
 
-std::unique_ptr<ProbesDataSource> ProbesProducer::CreateSysStatsDataSource(
+template <>
+std::unique_ptr<ProbesDataSource>
+ProbesProducer::CreateDSInstance<SysStatsDataSource>(
     TracingSessionID session_id,
     const DataSourceConfig& config) {
   auto buffer_id = static_cast<BufferID>(config.target_buffer());
@@ -329,7 +230,9 @@
       std::unique_ptr<CpuFreqInfo>(new CpuFreqInfo())));
 }
 
-std::unique_ptr<ProbesDataSource> ProbesProducer::CreateMetatraceDataSource(
+template <>
+std::unique_ptr<ProbesDataSource>
+ProbesProducer::CreateDSInstance<MetatraceDataSource>(
     TracingSessionID session_id,
     const DataSourceConfig& config) {
   auto buffer_id = static_cast<BufferID>(config.target_buffer());
@@ -337,7 +240,9 @@
       task_runner_, session_id, endpoint_->CreateTraceWriter(buffer_id)));
 }
 
-std::unique_ptr<ProbesDataSource> ProbesProducer::CreateSystemInfoDataSource(
+template <>
+std::unique_ptr<ProbesDataSource>
+ProbesProducer::CreateDSInstance<SystemInfoDataSource>(
     TracingSessionID session_id,
     const DataSourceConfig& config) {
   auto buffer_id = static_cast<BufferID>(config.target_buffer());
@@ -346,8 +251,9 @@
       std::unique_ptr<CpuFreqInfo>(new CpuFreqInfo())));
 }
 
+template <>
 std::unique_ptr<ProbesDataSource>
-ProbesProducer::CreateInitialDisplayStateDataSource(
+ProbesProducer::CreateDSInstance<InitialDisplayStateDataSource>(
     TracingSessionID session_id,
     const DataSourceConfig& config) {
   auto buffer_id = static_cast<BufferID>(config.target_buffer());
@@ -356,6 +262,136 @@
       endpoint_->CreateTraceWriter(buffer_id)));
 }
 
+// Another anonymous namespace. This cannot be moved into the anonymous
+// namespace on top (it would fail to compile), because the CreateDSInstance
+// methods need to be fully declared before.
+namespace {
+
+using ProbesDataSourceFactoryFunc = std::unique_ptr<ProbesDataSource> (
+    ProbesProducer::*)(TracingSessionID, const DataSourceConfig&);
+
+struct DataSourceTraits {
+  const ProbesDataSource::Descriptor* descriptor;
+  ProbesDataSourceFactoryFunc factory_func;
+};
+
+template <typename T>
+constexpr DataSourceTraits Ds() {
+  return DataSourceTraits{&T::descriptor, &ProbesProducer::CreateDSInstance<T>};
+}
+
+const DataSourceTraits kAllDataSources[] = {
+    Ds<AndroidLogDataSource>(),   Ds<AndroidPowerDataSource>(),
+    Ds<FtraceDataSource>(),       Ds<InitialDisplayStateDataSource>(),
+    Ds<InodeFileDataSource>(),    Ds<LinuxPowerSysfsDataSource>(),
+    Ds<MetatraceDataSource>(),    Ds<PackagesListDataSource>(),
+    Ds<ProcessStatsDataSource>(), Ds<SysStatsDataSource>(),
+    Ds<SystemInfoDataSource>(),
+};
+
+}  // namespace
+
+void ProbesProducer::OnConnect() {
+  PERFETTO_DCHECK(state_ == kConnecting);
+  state_ = kConnected;
+  ResetConnectionBackoff();
+  PERFETTO_LOG("Connected to the service");
+
+  std::array<DataSourceDescriptor, base::ArraySize(kAllDataSources)>
+      proto_descs;
+  // Generate all data source descriptors.
+  for (size_t i = 0; i < proto_descs.size(); i++) {
+    DataSourceDescriptor& proto_desc = proto_descs[i];
+    const ProbesDataSource::Descriptor* desc = kAllDataSources[i].descriptor;
+
+    proto_desc.set_name(desc->name);
+    proto_desc.set_will_notify_on_start(true);
+    proto_desc.set_will_notify_on_stop(true);
+    using Flags = ProbesDataSource::Descriptor::Flags;
+    if (desc->flags & Flags::kHandlesIncrementalState)
+      proto_desc.set_handles_incremental_state_clear(true);
+    if (desc->fill_descriptor_func) {
+      desc->fill_descriptor_func(&proto_desc);
+    }
+  }
+
+  // Register all the data sources. Separate from the above loop because, if
+  // generating a data source descriptor takes too long, we don't want to be in
+  // a state where only some data sources are registered.
+  for (const DataSourceDescriptor& proto_desc : proto_descs) {
+    endpoint_->RegisterDataSource(proto_desc);
+  }
+
+  // Used by tracebox to synchronize with traced_probes being registered.
+  if (all_data_sources_registered_cb_) {
+    endpoint_->Sync(all_data_sources_registered_cb_);
+  }
+}
+
+void ProbesProducer::OnDisconnect() {
+  PERFETTO_DCHECK(state_ == kConnected || state_ == kConnecting);
+  PERFETTO_LOG("Disconnected from tracing service");
+  if (state_ == kConnected)
+    return task_runner_->PostTask([this] { this->Restart(); });
+
+  state_ = kNotConnected;
+  IncreaseConnectionBackoff();
+  task_runner_->PostDelayedTask([this] { this->Connect(); },
+                                connection_backoff_ms_);
+}
+
+void ProbesProducer::SetupDataSource(DataSourceInstanceID instance_id,
+                                     const DataSourceConfig& config) {
+  PERFETTO_DLOG("SetupDataSource(id=%" PRIu64 ", name=%s)", instance_id,
+                config.name().c_str());
+  PERFETTO_DCHECK(data_sources_.count(instance_id) == 0);
+  TracingSessionID session_id = config.tracing_session_id();
+  PERFETTO_CHECK(session_id > 0);
+
+  std::unique_ptr<ProbesDataSource> data_source;
+
+  for (const DataSourceTraits& rds : kAllDataSources) {
+    if (rds.descriptor->name != config.name()) {
+      continue;
+    }
+    data_source = (this->*(rds.factory_func))(session_id, config);
+    break;
+  }
+
+  if (!data_source) {
+    PERFETTO_ELOG("Failed to create data source '%s'", config.name().c_str());
+    return;
+  }
+
+  session_data_sources_[session_id].emplace(data_source->descriptor,
+                                            data_source.get());
+  data_sources_[instance_id] = std::move(data_source);
+}
+
+void ProbesProducer::StartDataSource(DataSourceInstanceID instance_id,
+                                     const DataSourceConfig& config) {
+  PERFETTO_DLOG("StartDataSource(id=%" PRIu64 ", name=%s)", instance_id,
+                config.name().c_str());
+  auto it = data_sources_.find(instance_id);
+  if (it == data_sources_.end()) {
+    // Can happen if SetupDataSource() failed (e.g. ftrace was busy).
+    PERFETTO_ELOG("Data source id=%" PRIu64 " not found", instance_id);
+    return;
+  }
+  ProbesDataSource* data_source = it->second.get();
+  if (data_source->started)
+    return;
+  if (config.trace_duration_ms() != 0) {
+    uint32_t timeout = 5000 + 2 * config.trace_duration_ms();
+    watchdogs_.emplace(
+        instance_id, base::Watchdog::GetInstance()->CreateFatalTimer(
+                         timeout, base::WatchdogCrashReason::kTraceDidntStop));
+  }
+  data_source->started = true;
+  data_source->Start();
+  endpoint_->NotifyDataSourceStarted(instance_id);
+}
+
 void ProbesProducer::StopDataSource(DataSourceInstanceID id) {
   PERFETTO_LOG("Producer stop (id=%" PRIu64 ")", id);
   auto it = data_sources_.find(id);
@@ -374,12 +410,19 @@
   endpoint_->NotifyDataSourceStopped(id);
 
   TracingSessionID session_id = data_source->tracing_session_id;
-  auto range = session_data_sources_.equal_range(session_id);
-  for (auto kv = range.first; kv != range.second; kv++) {
-    if (kv->second != data_source)
-      continue;
-    session_data_sources_.erase(kv);
-    break;
+
+  auto session_it = session_data_sources_.find(session_id);
+  if (session_it != session_data_sources_.end()) {
+    auto desc_range = session_it->second.equal_range(data_source->descriptor);
+    for (auto ds_it = desc_range.first; ds_it != desc_range.second; ds_it++) {
+      if (ds_it->second == data_source) {
+        session_it->second.erase(ds_it);
+        if (session_it->second.empty()) {
+          session_data_sources_.erase(session_it);
+        }
+        break;
+      }
+    }
   }
   data_sources_.erase(it);
   watchdogs_.erase(id);
@@ -476,56 +519,44 @@
 // userspace tracing buffer. If more than one ftrace data sources are active,
 // this call typically happens after writing for all session has been handled.
 void ProbesProducer::OnFtraceDataWrittenIntoDataSourceBuffers() {
-  TracingSessionID last_session_id = 0;
-  FtraceMetadata* metadata = nullptr;
-  InodeFileDataSource* inode_data_source = nullptr;
-  ProcessStatsDataSource* ps_data_source = nullptr;
+  for (const auto& tracing_session : session_data_sources_) {
+    // Take the metadata (e.g. new pids) collected from ftrace and pass it to
+    // other interested data sources (e.g. the process scraper to get command
+    // lines on new pids and tgid<>tid mappings). Note: there can be more than
+    // one ftrace data source per session. All of them should be considered
+    // (b/169226092).
+    const std::unordered_multimap<const ProbesDataSource::Descriptor*,
+                                  ProbesDataSource*>& ds_by_type =
+        tracing_session.second;
+    auto ft_range = ds_by_type.equal_range(&FtraceDataSource::descriptor);
 
-  // unordered_multimap guarantees that entries with the same key are contiguous
-  // in the iteration.
-  for (auto it = session_data_sources_.begin(); /* check below*/; it++) {
-    // If this is the last iteration or the session id has changed,
-    // dispatch the metadata update to the linked data sources, if any.
-    if (it == session_data_sources_.end() || it->first != last_session_id) {
-      bool has_inodes = metadata && !metadata->inode_and_device.empty();
-      bool has_pids = metadata && !metadata->pids.empty();
-      bool has_rename_pids = metadata && !metadata->rename_pids.empty();
-      if (has_inodes && inode_data_source)
-        inode_data_source->OnInodes(metadata->inode_and_device);
-      // Ordering the rename pids before the seen pids is important so that any
-      // renamed processes get scraped in the OnPids call.
-      if (has_rename_pids && ps_data_source)
-        ps_data_source->OnRenamePids(metadata->rename_pids);
-      if (has_pids && ps_data_source)
-        ps_data_source->OnPids(metadata->pids);
-      if (metadata)
-        metadata->Clear();
-      metadata = nullptr;
-      inode_data_source = nullptr;
-      ps_data_source = nullptr;
-      if (it == session_data_sources_.end())
-        break;
-      last_session_id = it->first;
-    }
-    ProbesDataSource* ds = it->second;
-    if (!ds->started)
-      continue;
-
-    if (ds->descriptor == &FtraceDataSource::descriptor) {
-      metadata = static_cast<FtraceDataSource*>(ds)->mutable_metadata();
-    } else if (ds->descriptor == &InodeFileDataSource::descriptor) {
-      inode_data_source = static_cast<InodeFileDataSource*>(ds);
-    } else if (ds->descriptor == &ProcessStatsDataSource::descriptor) {
-      // A trace session might have declared more than one ps data source.
-      // In those cases we often use one for a full dump on startup (
-      // targeting a dedicated buffer) and another one for on-demand dumps
-      // targeting the main buffer.
-      // Only use the one that has on-demand dumps enabled, if any.
-      auto ps = static_cast<ProcessStatsDataSource*>(ds);
-      if (ps->on_demand_dumps_enabled())
-        ps_data_source = ps;
-    }
-  }  // for (session_data_sources_)
+    auto ino_range = ds_by_type.equal_range(&InodeFileDataSource::descriptor);
+    auto ps_range = ds_by_type.equal_range(&ProcessStatsDataSource::descriptor);
+    for (auto ft_it = ft_range.first; ft_it != ft_range.second; ft_it++) {
+      auto* ftrace_ds = static_cast<FtraceDataSource*>(ft_it->second);
+      if (!ftrace_ds->started)
+        continue;
+      auto* metadata = ftrace_ds->mutable_metadata();
+      for (auto ps_it = ps_range.first; ps_it != ps_range.second; ps_it++) {
+        auto* ps_ds = static_cast<ProcessStatsDataSource*>(ps_it->second);
+        if (!ps_ds->started || !ps_ds->on_demand_dumps_enabled())
+          continue;
+        // Ordering the rename pids before the seen pids is important so that
+        // any renamed processes get scraped in the OnPids call.
+        if (!metadata->rename_pids.empty())
+          ps_ds->OnRenamePids(metadata->rename_pids);
+        if (!metadata->pids.empty())
+          ps_ds->OnPids(metadata->pids);
+      }
+      for (auto in_it = ino_range.first; in_it != ino_range.second; in_it++) {
+        auto* inode_ds = static_cast<InodeFileDataSource*>(in_it->second);
+        if (!inode_ds->started)
+          continue;
+        inode_ds->OnInodes(metadata->inode_and_device);
+      }
+      metadata->Clear();
+    }  // for (FtraceDataSource)
+  }    // for (tracing_session)
 }
 
 void ProbesProducer::ConnectWithRetries(const char* socket_name,
diff --git a/src/traced/probes/probes_producer.h b/src/traced/probes/probes_producer.h
index 6650501..b021ee5 100644
--- a/src/traced/probes/probes_producer.h
+++ b/src/traced/probes/probes_producer.h
@@ -66,42 +66,13 @@
   // Our Impl
   void ConnectWithRetries(const char* socket_name,
                           base::TaskRunner* task_runner);
-  std::unique_ptr<ProbesDataSource> CreateFtraceDataSource(
+
+  // Constructs an instance of a data source of type T.
+  template <typename T>
+  std::unique_ptr<ProbesDataSource> CreateDSInstance(
       TracingSessionID session_id,
       const DataSourceConfig& config);
-  std::unique_ptr<ProbesDataSource> CreateProcessStatsDataSource(
-      TracingSessionID session_id,
-      const DataSourceConfig& config);
-  std::unique_ptr<ProbesDataSource> CreateInodeFileDataSource(
-      TracingSessionID session_id,
-      DataSourceConfig config);
-  std::unique_ptr<ProbesDataSource> CreateSysStatsDataSource(
-      TracingSessionID session_id,
-      const DataSourceConfig& config);
-  std::unique_ptr<ProbesDataSource> CreateAndroidPowerDataSource(
-      TracingSessionID session_id,
-      const DataSourceConfig& config);
-  std::unique_ptr<ProbesDataSource> CreateAndroidPowerStatsDataSource(
-      TracingSessionID session_id,
-      const DataSourceConfig& config);
-  std::unique_ptr<ProbesDataSource> CreateAndroidLogDataSource(
-      TracingSessionID session_id,
-      const DataSourceConfig& config);
-  std::unique_ptr<ProbesDataSource> CreateLinuxPowerSysfsDataSource(
-      TracingSessionID session_id,
-      const DataSourceConfig& config);
-  std::unique_ptr<ProbesDataSource> CreatePackagesListDataSource(
-      TracingSessionID session_id,
-      const DataSourceConfig& config);
-  std::unique_ptr<ProbesDataSource> CreateMetatraceDataSource(
-      TracingSessionID session_id,
-      const DataSourceConfig& config);
-  std::unique_ptr<ProbesDataSource> CreateSystemInfoDataSource(
-      TracingSessionID session_id,
-      const DataSourceConfig& config);
-  std::unique_ptr<ProbesDataSource> CreateInitialDisplayStateDataSource(
-      TracingSessionID session_id,
-      const DataSourceConfig& config);
+
   void ActivateTrigger(std::string trigger);
 
   // Calls `cb` when all data sources have been registered.
@@ -141,8 +112,17 @@
   std::unordered_map<DataSourceInstanceID, std::unique_ptr<ProbesDataSource>>
       data_sources_;
 
-  // Keeps (pointers to) data sources ordered by session id.
-  std::unordered_multimap<TracingSessionID, ProbesDataSource*>
+  // Keeps (pointers to) data sources grouped by session id and data source
+  // type. The pointers do not own the data sources (they're owned by
+  // data_sources_).
+  //
+  // const ProbesDataSource::Descriptor* identifies the type.
+  //
+  // Used by OnFtraceDataWrittenIntoDataSourceBuffers().
+  std::unordered_map<
+      TracingSessionID,
+      std::unordered_multimap<const ProbesDataSource::Descriptor*,
+                              ProbesDataSource*>>
       session_data_sources_;
 
   std::unordered_multimap<FlushRequestID, DataSourceInstanceID>
diff --git a/src/traced/probes/ps/process_stats_data_source.cc b/src/traced/probes/ps/process_stats_data_source.cc
index 76e8ccc..d61e41c 100644
--- a/src/traced/probes/ps/process_stats_data_source.cc
+++ b/src/traced/probes/ps/process_stats_data_source.cc
@@ -84,6 +84,7 @@
 const ProbesDataSource::Descriptor ProcessStatsDataSource::descriptor = {
     /*name*/ "linux.process_stats",
     /*flags*/ Descriptor::kHandlesIncrementalState,
+    /*fill_descriptor_func*/ nullptr,
 };
 
 ProcessStatsDataSource::ProcessStatsDataSource(
diff --git a/src/traced/probes/sys_stats/sys_stats_data_source.cc b/src/traced/probes/sys_stats/sys_stats_data_source.cc
index 93c292b..9f2875f 100644
--- a/src/traced/probes/sys_stats/sys_stats_data_source.cc
+++ b/src/traced/probes/sys_stats/sys_stats_data_source.cc
@@ -70,6 +70,7 @@
 const ProbesDataSource::Descriptor SysStatsDataSource::descriptor = {
     /*name*/ "linux.sys_stats",
     /*flags*/ Descriptor::kFlagsNone,
+    /*fill_descriptor_func*/ nullptr,
 };
 
 SysStatsDataSource::SysStatsDataSource(
diff --git a/src/traced/probes/system_info/system_info_data_source.cc b/src/traced/probes/system_info/system_info_data_source.cc
index 3e96239..2178556 100644
--- a/src/traced/probes/system_info/system_info_data_source.cc
+++ b/src/traced/probes/system_info/system_info_data_source.cc
@@ -42,6 +42,7 @@
 const ProbesDataSource::Descriptor SystemInfoDataSource::descriptor = {
     /* name */ "linux.system_info",
     /* flags */ Descriptor::kFlagsNone,
+    /* fill_descriptor_func */ nullptr,
 };
 
 SystemInfoDataSource::SystemInfoDataSource(
diff --git a/src/tracing/core/tracing_service_impl.cc b/src/tracing/core/tracing_service_impl.cc
index 6ce75b9..18f6e69 100644
--- a/src/tracing/core/tracing_service_impl.cc
+++ b/src/tracing/core/tracing_service_impl.cc
@@ -2073,12 +2073,6 @@
       IsWaitingForTrigger(tracing_session))
     return false;
 
-  // Speculative fix for the memory watchdog crash in b/195145848. This function
-  // uses the heap extensively and might need a M_PURGE. window.gc() is back.
-  // TODO(primiano): if this fixes the crash we might want to coalesce the purge
-  // and throttle it.
-  auto on_ret = base::OnScopeExit([] { base::MaybeReleaseAllocatorMemToOS(); });
-
   // ReadBuffers() can allocate memory internally, for filtering. By limiting
   // the data that ReadBuffers() reads to kWriteIntoChunksSize per iteration,
   // we limit the amount of memory used on each iteration.
@@ -2276,6 +2270,13 @@
 
   MaybeFilterPackets(tracing_session, &packets);
 
+  if (!*has_more) {
+    // We've observed some extremely high memory usage by scudo after
+    // MaybeFilterPackets in the past. The original bug (b/195145848) is fixed
+    // now, but this code asks scudo to release memory just in case.
+    base::MaybeReleaseAllocatorMemToOS();
+  }
+
   return packets;
 }
 
diff --git a/src/tracing/debug_annotation.cc b/src/tracing/debug_annotation.cc
index add115a..a72a483 100644
--- a/src/tracing/debug_annotation.cc
+++ b/src/tracing/debug_annotation.cc
@@ -24,7 +24,7 @@
 DebugAnnotation::~DebugAnnotation() = default;
 
 void DebugAnnotation::WriteIntoTracedValue(TracedValue context) const {
-  Add(context.context_);
+  Add(context.annotation_);
 }
 
 }  // namespace perfetto
diff --git a/src/tracing/internal/track_event_internal.cc b/src/tracing/internal/track_event_internal.cc
index 3717fb2..ec25018 100644
--- a/src/tracing/internal/track_event_internal.cc
+++ b/src/tracing/internal/track_event_internal.cc
@@ -26,11 +26,14 @@
 #include "perfetto/tracing/track_event_interned_data_index.h"
 #include "protos/perfetto/common/data_source_descriptor.gen.h"
 #include "protos/perfetto/common/track_event_descriptor.pbzero.h"
+#include "protos/perfetto/trace/clock_snapshot.pbzero.h"
 #include "protos/perfetto/trace/interned_data/interned_data.pbzero.h"
 #include "protos/perfetto/trace/trace_packet_defaults.pbzero.h"
 #include "protos/perfetto/trace/track_event/debug_annotation.pbzero.h"
 #include "protos/perfetto/trace/track_event/track_descriptor.pbzero.h"
 
+using perfetto::protos::pbzero::ClockSnapshot;
+
 namespace perfetto {
 
 TrackEventSessionObserver::~TrackEventSessionObserver() = default;
@@ -48,6 +51,16 @@
 static constexpr const char kLegacySlowPrefix[] = "disabled-by-default-";
 static constexpr const char kSlowTag[] = "slow";
 static constexpr const char kDebugTag[] = "debug";
+// Allows to specify a custom unit different than the default (ns) for
+// the incremental clock.
+// A multiplier of 1000 means that a timestamp = 3 should be
+// interpreted as 3000 ns = 3 us.
+// TODO(mohitms): Move it to TrackEventConfig.
+constexpr uint64_t kIncrementalTimestampUnitMultiplier = 1;
+static_assert(kIncrementalTimestampUnitMultiplier >= 1, "");
+
+constexpr auto kClockIdIncremental =
+    TrackEventIncrementalState::kClockIdIncremental;
 
 void ForEachObserver(
     std::function<bool(TrackEventSessionObserver*&)> callback) {
@@ -303,50 +316,106 @@
 }
 
 // static
+TraceTimestamp TrackEventInternal::GetTraceTime() {
+  return {kClockIdIncremental, GetTimeNs()};
+}
+
+// static
 int TrackEventInternal::GetSessionCount() {
   return session_count_.load();
 }
 
 // static
-void TrackEventInternal::ResetIncrementalState(TraceWriterBase* trace_writer,
-                                               TraceTimestamp timestamp) {
+void TrackEventInternal::ResetIncrementalState(
+    TraceWriterBase* trace_writer,
+    TrackEventIncrementalState* incr_state,
+    const TrackEventTlsState& tls_state,
+    const TraceTimestamp& timestamp) {
+  auto sequence_timestamp = timestamp;
+  if (timestamp.clock_id != TrackEventInternal::GetClockId() &&
+      timestamp.clock_id != kClockIdIncremental) {
+    sequence_timestamp = TrackEventInternal::GetTraceTime();
+  }
+
+  incr_state->last_timestamp_ns = sequence_timestamp.value;
   auto default_track = ThreadTrack::Current();
   {
     // Mark any incremental state before this point invalid. Also set up
     // defaults so that we don't need to repeat constant data for each packet.
     auto packet = NewTracePacket(
-        trace_writer, timestamp,
+        trace_writer, incr_state, tls_state, timestamp,
         protos::pbzero::TracePacket::SEQ_INCREMENTAL_STATE_CLEARED);
     auto defaults = packet->set_trace_packet_defaults();
-    defaults->set_timestamp_clock_id(GetClockId());
 
     // Establish the default track for this event sequence.
     auto track_defaults = defaults->set_track_event_defaults();
     track_defaults->set_track_uuid(default_track.uuid);
+
+    if (PERFETTO_LIKELY(!tls_state.disable_incremental_timestamps)) {
+      defaults->set_timestamp_clock_id(kClockIdIncremental);
+      ClockSnapshot* clocks = packet->set_clock_snapshot();
+      // Trace clock.
+      ClockSnapshot::Clock* trace_clock = clocks->add_clocks();
+      trace_clock->set_clock_id(GetClockId());
+      trace_clock->set_timestamp(sequence_timestamp.value);
+      // Delta-encoded incremental clock in nano seconds.
+      // TODO(b/168311581): Make the unit of this clock configurable to allow
+      // trade-off between precision and encoded trace size.
+      ClockSnapshot::Clock* clock_incremental = clocks->add_clocks();
+      clock_incremental->set_clock_id(kClockIdIncremental);
+      auto ts_unit_multiplier = kIncrementalTimestampUnitMultiplier;
+      clock_incremental->set_timestamp(sequence_timestamp.value /
+                                       ts_unit_multiplier);
+      clock_incremental->set_is_incremental(true);
+      clock_incremental->set_unit_multiplier_ns(ts_unit_multiplier);
+    } else {
+      defaults->set_timestamp_clock_id(GetClockId());
+    }
   }
 
   // Every thread should write a descriptor for its default track, because most
   // trace points won't explicitly reference it. We also write the process
   // descriptor from every thread that writes trace events to ensure it gets
   // emitted at least once.
-  WriteTrackDescriptor(default_track, trace_writer);
-  WriteTrackDescriptor(ProcessTrack::Current(), trace_writer);
+  WriteTrackDescriptor(default_track, trace_writer, incr_state, tls_state,
+                       sequence_timestamp);
+
+  WriteTrackDescriptor(ProcessTrack::Current(), trace_writer, incr_state,
+                       tls_state, sequence_timestamp);
 }
 
 // static
 protozero::MessageHandle<protos::pbzero::TracePacket>
 TrackEventInternal::NewTracePacket(TraceWriterBase* trace_writer,
+                                   TrackEventIncrementalState* incr_state,
+                                   const TrackEventTlsState& tls_state,
                                    TraceTimestamp timestamp,
                                    uint32_t seq_flags) {
+  if (PERFETTO_UNLIKELY(tls_state.disable_incremental_timestamps &&
+                        timestamp.clock_id == kClockIdIncremental)) {
+    timestamp.clock_id = GetClockId();
+  }
   auto packet = trace_writer->NewTracePacket();
-  packet->set_timestamp(timestamp.nanoseconds);
-  if (timestamp.clock_id != GetClockId()) {
-    packet->set_timestamp_clock_id(static_cast<uint32_t>(timestamp.clock_id));
-  } else if (GetClockId() != protos::pbzero::BUILTIN_CLOCK_BOOTTIME) {
-    // TODO(skyostil): Stop emitting the clock id for the default trace clock
-    // for every event once the trace processor understands trace packet
-    // defaults.
-    packet->set_timestamp_clock_id(GetClockId());
+  // TODO(mohitms): Consider using kIncrementalTimestampUnitMultiplier.
+  if (PERFETTO_LIKELY(timestamp.clock_id == kClockIdIncremental)) {
+    if (PERFETTO_LIKELY(incr_state->last_timestamp_ns <= timestamp.value)) {
+      // No need to set the clock id here, since kClockIdIncremental is the
+      // clock id assumed by default.
+      auto ts_unit_multiplier = kIncrementalTimestampUnitMultiplier;
+      auto time_diff_ns = timestamp.value - incr_state->last_timestamp_ns;
+      packet->set_timestamp(time_diff_ns / ts_unit_multiplier);
+      incr_state->last_timestamp_ns = timestamp.value;
+    } else {
+      packet->set_timestamp(timestamp.value);
+      packet->set_timestamp_clock_id(GetClockId());
+    }
+  } else {
+    packet->set_timestamp(timestamp.value);
+    auto default_clock = tls_state.disable_incremental_timestamps
+                             ? static_cast<uint32_t>(GetClockId())
+                             : kClockIdIncremental;
+    if (PERFETTO_UNLIKELY(timestamp.clock_id != default_clock))
+      packet->set_timestamp_clock_id(timestamp.clock_id);
   }
   packet->set_sequence_flags(seq_flags);
   return packet;
@@ -356,14 +425,14 @@
 EventContext TrackEventInternal::WriteEvent(
     TraceWriterBase* trace_writer,
     TrackEventIncrementalState* incr_state,
+    const TrackEventTlsState& tls_state,
     const Category* category,
     const char* name,
     perfetto::protos::pbzero::TrackEvent::Type type,
-    TraceTimestamp timestamp) {
+    const TraceTimestamp& timestamp) {
   PERFETTO_DCHECK(g_main_thread);
   PERFETTO_DCHECK(!incr_state->was_cleared);
-
-  auto packet = NewTracePacket(trace_writer, timestamp);
+  auto packet = NewTracePacket(trace_writer, incr_state, tls_state, timestamp);
   EventContext ctx(std::move(packet), incr_state);
 
   auto track_event = ctx.event();
diff --git a/src/tracing/internal/track_event_interned_fields.cc b/src/tracing/internal/track_event_interned_fields.cc
index 804aeb4..55b8909 100644
--- a/src/tracing/internal/track_event_interned_fields.cc
+++ b/src/tracing/internal/track_event_interned_fields.cc
@@ -54,5 +54,18 @@
   name->set_name(value);
 }
 
+InternedDebugAnnotationValueTypeName::~InternedDebugAnnotationValueTypeName() =
+    default;
+
+// static
+void InternedDebugAnnotationValueTypeName::Add(
+    protos::pbzero::InternedData* interned_data,
+    size_t iid,
+    const char* value) {
+  auto name = interned_data->add_debug_annotation_value_type_names();
+  name->set_iid(iid);
+  name->set_name(value);
+}
+
 }  // namespace internal
 }  // namespace perfetto
diff --git a/src/tracing/test/api_integrationtest.cc b/src/tracing/test/api_integrationtest.cc
index 26d8a03..4a16b42 100644
--- a/src/tracing/test/api_integrationtest.cc
+++ b/src/tracing/test/api_integrationtest.cc
@@ -18,6 +18,7 @@
 
 #include <chrono>
 #include <condition_variable>
+#include <fstream>
 #include <functional>
 #include <list>
 #include <mutex>
@@ -59,6 +60,7 @@
 #include "protos/perfetto/common/track_event_descriptor.pbzero.h"
 #include "protos/perfetto/config/interceptor_config.gen.h"
 #include "protos/perfetto/config/track_event/track_event_config.gen.h"
+#include "protos/perfetto/trace/clock_snapshot.gen.h"
 #include "protos/perfetto/trace/clock_snapshot.pbzero.h"
 #include "protos/perfetto/trace/gpu/gpu_render_stage_event.gen.h"
 #include "protos/perfetto/trace/gpu/gpu_render_stage_event.pbzero.h"
@@ -72,6 +74,7 @@
 #include "protos/perfetto/trace/trace.pbzero.h"
 #include "protos/perfetto/trace/trace_packet.gen.h"
 #include "protos/perfetto/trace/trace_packet.pbzero.h"
+#include "protos/perfetto/trace/trace_packet_defaults.gen.h"
 #include "protos/perfetto/trace/track_event/chrome_process_descriptor.gen.h"
 #include "protos/perfetto/trace/track_event/chrome_process_descriptor.pbzero.h"
 #include "protos/perfetto/trace/track_event/counter_descriptor.gen.h"
@@ -164,6 +167,7 @@
 namespace {
 
 using perfetto::TracingInitArgs;
+using perfetto::internal::TrackEventInternal;
 using ::testing::_;
 using ::testing::ContainerEq;
 using ::testing::ElementsAre;
@@ -315,6 +319,7 @@
 struct TestIncrementalDataSourceTraits
     : public perfetto::DefaultDataSourceTraits {
   using IncrementalStateType = TestIncrementalState;
+  using CustomTlsState = void;
 };
 
 class TestIncrementalDataSource
@@ -505,14 +510,13 @@
   }
 
   TestTracingSessionHandle* NewTraceWithCategories(
-      std::vector<std::string> categories) {
+      std::vector<std::string> categories,
+      perfetto::protos::gen::TrackEventConfig te_cfg = {}) {
     perfetto::TraceConfig cfg;
     cfg.set_duration_ms(500);
     cfg.add_buffers()->set_size_kb(1024);
     auto* ds_cfg = cfg.add_data_sources()->mutable_config();
     ds_cfg->set_name("track_event");
-
-    perfetto::protos::gen::TrackEventConfig te_cfg;
     te_cfg.add_disabled_categories("*");
     for (const auto& category : categories)
       te_cfg.add_enabled_categories(category);
@@ -968,6 +972,11 @@
   bool process_descriptor_found = false;
   uint32_t sequence_id = 0;
   int32_t cur_pid = perfetto::test::GetCurrentProcessId();
+  uint64_t recent_absolute_time_ns = 0;
+  bool found_incremental_clock = false;
+  constexpr auto kClockIdIncremental =
+      perfetto::internal::TrackEventIncrementalState::kClockIdIncremental;
+
   for (const auto& packet : trace.packet()) {
     if (packet.has_track_descriptor()) {
       const auto& desc = packet.track_descriptor();
@@ -984,6 +993,17 @@
       incremental_state_was_cleared = true;
       categories.clear();
       event_names.clear();
+      EXPECT_EQ(kClockIdIncremental,
+                packet.trace_packet_defaults().timestamp_clock_id());
+    }
+    if (packet.has_clock_snapshot()) {
+      for (auto& clock : packet.clock_snapshot().clocks()) {
+        if (clock.is_incremental()) {
+          found_incremental_clock = true;
+          recent_absolute_time_ns = clock.timestamp();
+          EXPECT_EQ(kClockIdIncremental, clock.clock_id());
+        }
+      }
     }
 
     if (!packet.has_track_event())
@@ -1013,18 +1033,13 @@
         event_names[it.iid()] = it.name();
       }
     }
-
-    EXPECT_GT(packet.timestamp(), 0u);
-    EXPECT_LE(packet.timestamp(), now);
-#if !PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) && \
-    !PERFETTO_BUILDFLAG(PERFETTO_OS_WIN)
+    EXPECT_TRUE(found_incremental_clock);
+    uint64_t absolute_timestamp = packet.timestamp() + recent_absolute_time_ns;
+    recent_absolute_time_ns = absolute_timestamp;
+    EXPECT_GT(absolute_timestamp, 0u);
+    EXPECT_LE(absolute_timestamp, now);
+    // Packet uses default (incremental) clock.
     EXPECT_FALSE(packet.has_timestamp_clock_id());
-#else
-    constexpr auto kClockMonotonic =
-        perfetto::protos::pbzero::ClockSnapshot::Clock::MONOTONIC;
-    EXPECT_EQ(packet.timestamp_clock_id(),
-              static_cast<uint32_t>(kClockMonotonic));
-#endif
     if (track_event.type() ==
         perfetto::protos::gen::TrackEvent::TYPE_SLICE_BEGIN) {
       EXPECT_FALSE(begin_found);
@@ -1051,6 +1066,109 @@
   TestCategoryAsTemplateParameter<kTestCategory>();
 }
 
+TEST_P(PerfettoApiTest, TrackEventWithIncrementalTimestamp) {
+  for (auto disable_incremental_timestamps : {false, true}) {
+    // Create a new trace session.
+    perfetto::protos::gen::TrackEventConfig te_cfg;
+    te_cfg.set_disable_incremental_timestamps(disable_incremental_timestamps);
+    auto* tracing_session = NewTraceWithCategories({"bar"}, te_cfg);
+    constexpr auto kClockIdIncremental =
+        perfetto::internal::TrackEventIncrementalState::kClockIdIncremental;
+    tracing_session->get()->StartBlocking();
+
+    std::map<uint64_t, std::string> event_names;
+
+    auto empty_lambda = [](perfetto::EventContext) {};
+
+    constexpr uint64_t kInstantEvent1Time = 92718891479583;
+    TRACE_EVENT_INSTANT(
+        "bar", "InstantEvent1",
+        perfetto::TraceTimestamp{kClockIdIncremental, kInstantEvent1Time},
+        empty_lambda);
+
+    constexpr uint64_t kInstantEvent2Time = 92718891618959;
+    TRACE_EVENT_INSTANT(
+        "bar", "InstantEvent2",
+        perfetto::TraceTimestamp{kClockIdIncremental, kInstantEvent2Time},
+        empty_lambda);
+
+    perfetto::TrackEvent::Flush();
+    tracing_session->get()->StopBlocking();
+
+    std::vector<char> raw_trace = tracing_session->get()->ReadTraceBlocking();
+
+    perfetto::protos::gen::Trace trace;
+    ASSERT_TRUE(trace.ParseFromArray(raw_trace.data(), raw_trace.size()));
+    uint64_t absolute_timestamp = 0;
+    uint64_t prv_timestamp = 0;
+    int event_count = 0;
+    // Go through the packets and add the timestamps of those packets that use
+    // the incremental clock - in order to get the absolute timestamps of the
+    // track events.
+
+    uint64_t default_clock_id = 0;
+    bool is_incremental = false;
+
+    for (const auto& packet : trace.packet()) {
+      if (!packet.has_track_event() && !packet.has_clock_snapshot())
+        continue;
+      if (packet.has_trace_packet_defaults()) {
+        auto& defaults = packet.trace_packet_defaults();
+        if (defaults.has_timestamp_clock_id()) {
+          default_clock_id = defaults.timestamp_clock_id();
+        }
+      }
+      if (packet.has_clock_snapshot()) {
+        for (auto& clock : packet.clock_snapshot().clocks()) {
+          if (clock.is_incremental()) {
+            is_incremental = true;
+            absolute_timestamp = clock.timestamp();
+            EXPECT_EQ(clock.clock_id(), kClockIdIncremental);
+            EXPECT_FALSE(disable_incremental_timestamps);
+          }
+        }
+      } else {
+        auto clock_id = packet.has_timestamp_clock_id()
+                            ? packet.timestamp_clock_id()
+                            : default_clock_id;
+        if (clock_id == kClockIdIncremental) {
+          absolute_timestamp = prv_timestamp + packet.timestamp();
+          EXPECT_FALSE(disable_incremental_timestamps);
+        } else {
+          absolute_timestamp = packet.timestamp();
+          EXPECT_TRUE(disable_incremental_timestamps);
+        }
+      }
+      prv_timestamp = absolute_timestamp;
+
+      if (packet.sequence_flags() & perfetto::protos::pbzero::TracePacket::
+                                        SEQ_INCREMENTAL_STATE_CLEARED) {
+        event_names.clear();
+      }
+
+      // Update incremental state.
+      if (packet.has_interned_data()) {
+        const auto& interned_data = packet.interned_data();
+        for (const auto& it : interned_data.event_names()) {
+          EXPECT_EQ(event_names.find(it.iid()), event_names.end());
+          event_names[it.iid()] = it.name();
+        }
+      }
+
+      if (event_names[packet.track_event().name_iid()] == "InstantEvent1") {
+        event_count++;
+        EXPECT_EQ(absolute_timestamp, kInstantEvent1Time);
+      } else if (event_names[packet.track_event().name_iid()] ==
+                 "InstantEvent2") {
+        event_count++;
+        EXPECT_EQ(absolute_timestamp, kInstantEvent2Time);
+      }
+    }
+    EXPECT_NE(is_incremental, disable_incremental_timestamps);
+    EXPECT_EQ(event_count, 2);
+  }
+}
+
 TEST_P(PerfettoApiTest, TrackEventCategories) {
   // Create a new trace session.
   auto* tracing_session = NewTraceWithCategories({"bar"});
@@ -1406,7 +1524,7 @@
     if (packet.has_track_descriptor()) {
       if (packet.trusted_packet_sequence_id() == main_thread_sequence) {
         descs.push_back(packet.track_descriptor());
-      } else {
+      } else if (packet.track_descriptor().has_thread()) {
         thread_descs.push_back(packet.track_descriptor());
       }
     }
@@ -1431,9 +1549,8 @@
   EXPECT_EQ("goodbye.exe", descs[2].name());
 
   // The child thread records only its own thread descriptor (twice, since it
-  // was mutated). The child thread also emits another copy of the process
-  // descriptor.
-  EXPECT_EQ(3u, thread_descs.size());
+  // was mutated).
+  ASSERT_EQ(2u, thread_descs.size());
   EXPECT_EQ("TestThread", thread_descs[0].name());
   EXPECT_NE(0, thread_descs[0].thread().pid());
   EXPECT_NE(0, thread_descs[0].thread().tid());
@@ -1478,7 +1595,8 @@
       continue;
     if (packet.has_track_descriptor()) {
       auto td = packet.track_descriptor();
-      EXPECT_TRUE(td.has_process());
+      if (!td.has_process())
+        continue;
       EXPECT_NE(0, td.process().pid());
       EXPECT_TRUE(td.has_chrome_process());
       EXPECT_EQ("testing.exe", td.process().process_name());
@@ -1754,6 +1872,9 @@
   for (const auto& packet : trace.packet()) {
     if (!packet.has_track_event())
       continue;
+
+    EXPECT_EQ(packet.timestamp_clock_id(),
+              static_cast<uint32_t>(perfetto::TrackEvent::GetTraceClockId()));
     event_count++;
     switch (packet.track_event().type()) {
       case perfetto::protos::gen::TrackEvent::TYPE_SLICE_BEGIN:
@@ -2852,6 +2973,61 @@
   EXPECT_TRUE(found_args);
 }
 
+TEST_P(PerfettoApiTest, ProtoInsideDebugAnnotation) {
+  auto* tracing_session = NewTraceWithCategories({"test"});
+  tracing_session->get()->StartBlocking();
+
+  TRACE_EVENT_INSTANT(
+      "test", "E", "key",
+      [](perfetto::TracedProto<perfetto::protos::pbzero::LogMessage> ctx) {
+        ctx->set_source_location_iid(42);
+      });
+
+  perfetto::TrackEvent::Flush();
+
+  tracing_session->get()->StopBlocking();
+  std::vector<char> raw_trace = tracing_session->get()->ReadTraceBlocking();
+  std::string trace(raw_trace.data(), raw_trace.size());
+
+  perfetto::protos::gen::Trace parsed_trace;
+  ASSERT_TRUE(parsed_trace.ParseFromArray(raw_trace.data(), raw_trace.size()));
+
+  std::vector<std::string> interned_debug_annotation_names;
+  std::vector<std::string> interned_debug_annotation_proto_type_names;
+
+  bool found_args = false;
+  for (const auto& packet : parsed_trace.packet()) {
+    if (packet.has_interned_data()) {
+      for (const auto& interned_name :
+           packet.interned_data().debug_annotation_names()) {
+        interned_debug_annotation_names.push_back(interned_name.name());
+      }
+      for (const auto& interned_type_name :
+           packet.interned_data().debug_annotation_value_type_names()) {
+        interned_debug_annotation_proto_type_names.push_back(
+            interned_type_name.name());
+      }
+    }
+
+    if (!packet.has_track_event())
+      continue;
+    const auto& track_event = packet.track_event();
+    if (track_event.type() != perfetto::protos::gen::TrackEvent::TYPE_INSTANT) {
+      continue;
+    }
+
+    EXPECT_EQ(track_event.debug_annotations_size(), 1);
+    found_args = true;
+  }
+  // TODO(altimin): Use DebugAnnotationParser here to parse the debug
+  // annotations.
+  EXPECT_TRUE(found_args);
+  EXPECT_THAT(interned_debug_annotation_names,
+              testing::UnorderedElementsAre("key"));
+  EXPECT_THAT(interned_debug_annotation_proto_type_names,
+              testing::UnorderedElementsAre(".perfetto.protos.LogMessage"));
+}
+
 TEST_P(PerfettoApiTest, TrackEventComputedName) {
   // Setup the trace config.
   perfetto::TraceConfig cfg;
diff --git a/src/tracing/traced_proto_unittest.cc b/src/tracing/traced_proto_unittest.cc
index ac55400..7ab1e36 100644
--- a/src/tracing/traced_proto_unittest.cc
+++ b/src/tracing/traced_proto_unittest.cc
@@ -41,10 +41,10 @@
 
 using TestPayload = protos::pbzero::TestEvent::TestPayload;
 
-TEST_F(TracedProtoTest, SingleInt) {
+TEST_F(TracedProtoTest, SingleInt_WriteField) {
   protozero::HeapBuffered<TestPayload> event;
-  WriteIntoTracedProto(context().Wrap(event.get()), TestPayload::kSingleInt,
-                       42);
+  perfetto::TracedProto<TestPayload> proto = context().Wrap(event.get());
+  WriteTracedProtoField(proto, TestPayload::kSingleInt, 42);
 
   protos::TestEvent::TestPayload result;
   result.ParseFromString(event.SerializeAsString());
@@ -52,20 +52,52 @@
   EXPECT_EQ(result.single_int(), 42);
 }
 
-TEST_F(TracedProtoTest, RepeatedInt) {
+TEST_F(TracedProtoTest, SingleInt_Set) {
   protozero::HeapBuffered<TestPayload> event;
-  WriteIntoTracedProto(context().Wrap(event.get()), TestPayload::kRepeatedInts,
-                       std::vector<int>{1, 2, 3});
+  perfetto::TracedProto<TestPayload> proto = context().Wrap(event.get());
+  proto.Set(TestPayload::kSingleInt, 42);
+
+  protos::TestEvent::TestPayload result;
+  result.ParseFromString(event.SerializeAsString());
+  EXPECT_TRUE(result.has_single_int());
+  EXPECT_EQ(result.single_int(), 42);
+}
+
+TEST_F(TracedProtoTest, RepeatedInt_WriteField) {
+  protozero::HeapBuffered<TestPayload> event;
+  perfetto::TracedProto<TestPayload> proto = context().Wrap(event.get());
+  WriteTracedProtoField(proto, TestPayload::kRepeatedInts,
+                        std::vector<int>{1, 2, 3});
 
   protos::TestEvent::TestPayload result;
   result.ParseFromString(event.SerializeAsString());
   EXPECT_THAT(result.repeated_ints(), ::testing::ElementsAre(1, 2, 3));
 }
 
-TEST_F(TracedProtoTest, SingleString) {
+TEST_F(TracedProtoTest, RepeatedInt_AppendValue) {
   protozero::HeapBuffered<TestPayload> event;
-  WriteIntoTracedProto(context().Wrap(event.get()), TestPayload::kSingleString,
-                       "foo");
+  perfetto::TracedProto<TestPayload> proto = context().Wrap(event.get());
+  proto.AppendValue(TestPayload::kRepeatedInts, 1);
+
+  protos::TestEvent::TestPayload result;
+  result.ParseFromString(event.SerializeAsString());
+  EXPECT_THAT(result.repeated_ints(), ::testing::ElementsAre(1));
+}
+
+TEST_F(TracedProtoTest, RepeatedInt_AppendFrom) {
+  protozero::HeapBuffered<TestPayload> event;
+  perfetto::TracedProto<TestPayload> proto = context().Wrap(event.get());
+  proto.AppendFrom(TestPayload::kRepeatedInts, std::vector<int>{1, 2, 3});
+
+  protos::TestEvent::TestPayload result;
+  result.ParseFromString(event.SerializeAsString());
+  EXPECT_THAT(result.repeated_ints(), ::testing::ElementsAre(1, 2, 3));
+}
+
+TEST_F(TracedProtoTest, SingleString_WriteField) {
+  protozero::HeapBuffered<TestPayload> event;
+  perfetto::TracedProto<TestPayload> proto = context().Wrap(event.get());
+  WriteTracedProtoField(proto, TestPayload::kSingleString, "foo");
 
   protos::TestEvent::TestPayload result;
   result.ParseFromString(event.SerializeAsString());
@@ -73,16 +105,48 @@
   EXPECT_EQ(result.single_string(), "foo");
 }
 
-TEST_F(TracedProtoTest, RepeatedString) {
+TEST_F(TracedProtoTest, SingleString_Set) {
   protozero::HeapBuffered<TestPayload> event;
-  WriteIntoTracedProto(context().Wrap(event.get()), TestPayload::kStr,
-                       std::vector<std::string>{"foo", "bar"});
+  perfetto::TracedProto<TestPayload> proto = context().Wrap(event.get());
+  proto.Set(TestPayload::kSingleString, "foo");
+
+  protos::TestEvent::TestPayload result;
+  result.ParseFromString(event.SerializeAsString());
+  EXPECT_TRUE(result.has_single_string());
+  EXPECT_EQ(result.single_string(), "foo");
+}
+
+TEST_F(TracedProtoTest, RepeatedString_WriteField) {
+  protozero::HeapBuffered<TestPayload> event;
+  perfetto::TracedProto<TestPayload> proto = context().Wrap(event.get());
+  WriteTracedProtoField(proto, TestPayload::kStr,
+                        std::vector<std::string>{"foo", "bar"});
 
   protos::TestEvent::TestPayload result;
   result.ParseFromString(event.SerializeAsString());
   EXPECT_THAT(result.str(), ::testing::ElementsAre("foo", "bar"));
 }
 
+TEST_F(TracedProtoTest, RepeatedString_AppendFrom) {
+  protozero::HeapBuffered<TestPayload> event;
+  perfetto::TracedProto<TestPayload> proto = context().Wrap(event.get());
+  proto.AppendFrom(TestPayload::kStr, std::vector<std::string>{"foo", "bar"});
+
+  protos::TestEvent::TestPayload result;
+  result.ParseFromString(event.SerializeAsString());
+  EXPECT_THAT(result.str(), ::testing::ElementsAre("foo", "bar"));
+}
+
+TEST_F(TracedProtoTest, RepeatedString_AppendValue) {
+  protozero::HeapBuffered<TestPayload> event;
+  perfetto::TracedProto<TestPayload> proto = context().Wrap(event.get());
+  proto.AppendValue(TestPayload::kStr, "foo");
+
+  protos::TestEvent::TestPayload result;
+  result.ParseFromString(event.SerializeAsString());
+  EXPECT_THAT(result.str(), ::testing::ElementsAre("foo"));
+}
+
 namespace {
 
 struct Foo {
@@ -94,22 +158,162 @@
   }
 };
 
+struct Bar {};
+
 }  // namespace
 
-TEST_F(TracedProtoTest, SingleNestedMessage) {
+template <>
+struct TraceFormatTraits<Bar> {
+  static void WriteIntoTrace(
+      TracedProto<protos::pbzero::TestEvent::TestPayload> message,
+      const Bar&) {
+    message->set_single_string("value");
+  }
+};
+
+TEST_F(TracedProtoTest, SingleNestedMessage_Method) {
   protozero::HeapBuffered<protos::pbzero::TestEvent> event;
-  WriteIntoTracedProto(context().Wrap(event.get()),
-                       protos::pbzero::TestEvent::kPayload, Foo());
+  perfetto::TracedProto<protos::pbzero::TestEvent> proto =
+      context().Wrap(event.get());
+  WriteTracedProtoField(proto, protos::pbzero::TestEvent::kPayload, Foo());
 
   protos::TestEvent result;
   result.ParseFromString(event.SerializeAsString());
   EXPECT_EQ(result.payload().single_int(), 42);
 }
 
-TEST_F(TracedProtoTest, RepeatedNestedMessage) {
+TEST_F(TracedProtoTest, SingleNestedMessage_TraceFormatTraits) {
+  protozero::HeapBuffered<protos::pbzero::TestEvent> event;
+  perfetto::TracedProto<protos::pbzero::TestEvent> proto =
+      context().Wrap(event.get());
+  WriteTracedProtoField(proto, protos::pbzero::TestEvent::kPayload, Bar());
+
+  protos::TestEvent result;
+  result.ParseFromString(event.SerializeAsString());
+  EXPECT_EQ(result.payload().single_string(), "value");
+}
+
+TEST_F(TracedProtoTest, SingleNestedMessage_Pointer) {
+  protozero::HeapBuffered<protos::pbzero::TestEvent> event;
+  perfetto::TracedProto<protos::pbzero::TestEvent> proto =
+      context().Wrap(event.get());
+  Bar bar;
+  WriteTracedProtoField(proto, protos::pbzero::TestEvent::kPayload, &bar);
+
+  protos::TestEvent result;
+  result.ParseFromString(event.SerializeAsString());
+  EXPECT_EQ(result.payload().single_string(), "value");
+}
+
+TEST_F(TracedProtoTest, SingleNestedMessage_UniquePtr) {
+  protozero::HeapBuffered<protos::pbzero::TestEvent> event;
+  perfetto::TracedProto<protos::pbzero::TestEvent> proto =
+      context().Wrap(event.get());
+  std::unique_ptr<Bar> bar(new Bar);
+  WriteTracedProtoField(proto, protos::pbzero::TestEvent::kPayload, bar);
+
+  protos::TestEvent result;
+  result.ParseFromString(event.SerializeAsString());
+  EXPECT_EQ(result.payload().single_string(), "value");
+}
+
+TEST_F(TracedProtoTest, SingleNestedMessage_EmptyUniquePtr) {
+  protozero::HeapBuffered<protos::pbzero::TestEvent> event;
+  perfetto::TracedProto<protos::pbzero::TestEvent> proto =
+      context().Wrap(event.get());
+  std::unique_ptr<Bar> bar;
+  WriteTracedProtoField(proto, protos::pbzero::TestEvent::kPayload, bar);
+
+  protos::TestEvent result;
+  result.ParseFromString(event.SerializeAsString());
+  EXPECT_FALSE(result.payload().has_single_string());
+}
+
+TEST_F(TracedProtoTest, SingleNestedMessage_Nullptr) {
+  protozero::HeapBuffered<protos::pbzero::TestEvent> event;
+  perfetto::TracedProto<protos::pbzero::TestEvent> proto =
+      context().Wrap(event.get());
+  WriteTracedProtoField(proto, protos::pbzero::TestEvent::kPayload, nullptr);
+
+  protos::TestEvent result;
+  result.ParseFromString(event.SerializeAsString());
+  EXPECT_FALSE(result.payload().has_single_string());
+}
+
+TEST_F(TracedProtoTest, SingleNestedMessage_Method_Set) {
+  protozero::HeapBuffered<protos::pbzero::TestEvent> event;
+  perfetto::TracedProto<protos::pbzero::TestEvent> proto =
+      context().Wrap(event.get());
+  WriteTracedProtoField(proto, protos::pbzero::TestEvent::kPayload, Foo());
+
+  protos::TestEvent result;
+  result.ParseFromString(event.SerializeAsString());
+  EXPECT_EQ(result.payload().single_int(), 42);
+}
+
+TEST_F(TracedProtoTest, SingleNestedMessage_TraceFormatTraits_Set) {
+  protozero::HeapBuffered<protos::pbzero::TestEvent> event;
+  perfetto::TracedProto<protos::pbzero::TestEvent> proto =
+      context().Wrap(event.get());
+  proto.Set(protos::pbzero::TestEvent::kPayload, Bar());
+
+  protos::TestEvent result;
+  result.ParseFromString(event.SerializeAsString());
+  EXPECT_EQ(result.payload().single_string(), "value");
+}
+
+TEST_F(TracedProtoTest, SingleNestedMessage_Pointer_Set) {
+  protozero::HeapBuffered<protos::pbzero::TestEvent> event;
+  perfetto::TracedProto<protos::pbzero::TestEvent> proto =
+      context().Wrap(event.get());
+  Bar bar;
+  proto.Set(protos::pbzero::TestEvent::kPayload, &bar);
+
+  protos::TestEvent result;
+  result.ParseFromString(event.SerializeAsString());
+  EXPECT_EQ(result.payload().single_string(), "value");
+}
+
+TEST_F(TracedProtoTest, SingleNestedMessage_UniquePtr_Set) {
+  protozero::HeapBuffered<protos::pbzero::TestEvent> event;
+  perfetto::TracedProto<protos::pbzero::TestEvent> proto =
+      context().Wrap(event.get());
+  std::unique_ptr<Bar> bar(new Bar);
+  proto.Set(protos::pbzero::TestEvent::kPayload, bar);
+
+  protos::TestEvent result;
+  result.ParseFromString(event.SerializeAsString());
+  EXPECT_EQ(result.payload().single_string(), "value");
+}
+
+TEST_F(TracedProtoTest, SingleNestedMessage_EmptyUniquePtr_Set) {
+  protozero::HeapBuffered<protos::pbzero::TestEvent> event;
+  perfetto::TracedProto<protos::pbzero::TestEvent> proto =
+      context().Wrap(event.get());
+  std::unique_ptr<Bar> bar;
+  proto.Set(protos::pbzero::TestEvent::kPayload, bar);
+
+  protos::TestEvent result;
+  result.ParseFromString(event.SerializeAsString());
+  EXPECT_FALSE(result.payload().has_single_string());
+}
+
+TEST_F(TracedProtoTest, SingleNestedMessage_Nullptr_Set) {
+  protozero::HeapBuffered<protos::pbzero::TestEvent> event;
+  perfetto::TracedProto<protos::pbzero::TestEvent> proto =
+      context().Wrap(event.get());
+  proto.Set(protos::pbzero::TestEvent::kPayload, nullptr);
+
+  protos::TestEvent result;
+  result.ParseFromString(event.SerializeAsString());
+  EXPECT_FALSE(result.payload().has_single_string());
+}
+
+TEST_F(TracedProtoTest, RepeatedNestedMessage_Method) {
   protozero::HeapBuffered<TestPayload> event;
-  WriteIntoTracedProto(context().Wrap(event.get()), TestPayload::kNested,
-                       std::vector<Foo>{Foo(), Foo()});
+  perfetto::TracedProto<TestPayload> proto = context().Wrap(event.get());
+  WriteTracedProtoField(proto, TestPayload::kNested,
+                        std::vector<Foo>{Foo(), Foo()});
 
   protos::TestEvent::TestPayload result;
   result.ParseFromString(event.SerializeAsString());
@@ -118,10 +322,116 @@
   EXPECT_EQ(result.nested(1).single_int(), 42);
 }
 
+TEST_F(TracedProtoTest, RepeatedNestedMessage_TraceFormatTraits) {
+  protozero::HeapBuffered<TestPayload> event;
+  perfetto::TracedProto<TestPayload> proto = context().Wrap(event.get());
+  WriteTracedProtoField(proto, TestPayload::kNested,
+                        std::vector<Bar>{Bar(), Bar()});
+
+  protos::TestEvent::TestPayload result;
+  result.ParseFromString(event.SerializeAsString());
+  EXPECT_EQ(result.nested_size(), 2);
+  EXPECT_EQ(result.nested(0).single_string(), "value");
+  EXPECT_EQ(result.nested(1).single_string(), "value");
+}
+
+TEST_F(TracedProtoTest, RepeatedNestedMessage_Pointer) {
+  protozero::HeapBuffered<TestPayload> event;
+  perfetto::TracedProto<TestPayload> proto = context().Wrap(event.get());
+  Bar bar;
+  std::vector<Bar*> bars;
+  bars.push_back(&bar);
+  bars.push_back(nullptr);
+  WriteTracedProtoField(proto, TestPayload::kNested, bars);
+
+  protos::TestEvent::TestPayload result;
+  result.ParseFromString(event.SerializeAsString());
+  EXPECT_EQ(result.nested_size(), 2);
+  EXPECT_EQ(result.nested(0).single_string(), "value");
+  EXPECT_FALSE(result.nested(1).has_single_string());
+}
+
+TEST_F(TracedProtoTest, RepeatedNestedMessage_Method_AppendValue) {
+  protozero::HeapBuffered<TestPayload> event;
+  perfetto::TracedProto<TestPayload> proto = context().Wrap(event.get());
+  proto.AppendValue(TestPayload::kNested, Foo());
+
+  protos::TestEvent::TestPayload result;
+  result.ParseFromString(event.SerializeAsString());
+  EXPECT_EQ(result.nested_size(), 1);
+  EXPECT_EQ(result.nested(0).single_int(), 42);
+}
+
+TEST_F(TracedProtoTest, RepeatedNestedMessage_TraceFormatTraits_AppendValue) {
+  protozero::HeapBuffered<TestPayload> event;
+  perfetto::TracedProto<TestPayload> proto = context().Wrap(event.get());
+  proto.AppendValue(TestPayload::kNested, Bar());
+
+  protos::TestEvent::TestPayload result;
+  result.ParseFromString(event.SerializeAsString());
+  EXPECT_EQ(result.nested_size(), 1);
+  EXPECT_EQ(result.nested(0).single_string(), "value");
+}
+
+TEST_F(TracedProtoTest, RepeatedNestedMessage_Pointer_AppendValue) {
+  protozero::HeapBuffered<TestPayload> event;
+  perfetto::TracedProto<TestPayload> proto = context().Wrap(event.get());
+  Bar bar;
+  proto.AppendValue(TestPayload::kNested, &bar);
+  proto.AppendValue(TestPayload::kNested, nullptr);
+
+  protos::TestEvent::TestPayload result;
+  result.ParseFromString(event.SerializeAsString());
+  EXPECT_EQ(result.nested_size(), 2);
+  EXPECT_EQ(result.nested(0).single_string(), "value");
+  EXPECT_FALSE(result.nested(1).has_single_string());
+}
+
+TEST_F(TracedProtoTest, RepeatedNestedMessage_Method_AppendFrom) {
+  protozero::HeapBuffered<TestPayload> event;
+  perfetto::TracedProto<TestPayload> proto = context().Wrap(event.get());
+  proto.AppendFrom(TestPayload::kNested, std::vector<Foo>{Foo(), Foo()});
+
+  protos::TestEvent::TestPayload result;
+  result.ParseFromString(event.SerializeAsString());
+  EXPECT_EQ(result.nested_size(), 2);
+  EXPECT_EQ(result.nested(0).single_int(), 42);
+  EXPECT_EQ(result.nested(1).single_int(), 42);
+}
+
+TEST_F(TracedProtoTest, RepeatedNestedMessage_TraceFormatTraits_AppendFrom) {
+  protozero::HeapBuffered<TestPayload> event;
+  perfetto::TracedProto<TestPayload> proto = context().Wrap(event.get());
+  proto.AppendFrom(TestPayload::kNested, std::vector<Bar>{Bar(), Bar()});
+
+  protos::TestEvent::TestPayload result;
+  result.ParseFromString(event.SerializeAsString());
+  EXPECT_EQ(result.nested_size(), 2);
+  EXPECT_EQ(result.nested(0).single_string(), "value");
+  EXPECT_EQ(result.nested(1).single_string(), "value");
+}
+
+TEST_F(TracedProtoTest, RepeatedNestedMessage_Pointer_AppendFrom) {
+  protozero::HeapBuffered<TestPayload> event;
+  perfetto::TracedProto<TestPayload> proto = context().Wrap(event.get());
+  Bar bar;
+  std::vector<Bar*> bars;
+  bars.push_back(&bar);
+  bars.push_back(nullptr);
+  proto.AppendFrom(TestPayload::kNested, bars);
+
+  protos::TestEvent::TestPayload result;
+  result.ParseFromString(event.SerializeAsString());
+  EXPECT_EQ(result.nested_size(), 2);
+  EXPECT_EQ(result.nested(0).single_string(), "value");
+  EXPECT_FALSE(result.nested(1).has_single_string());
+}
+
 TEST_F(TracedProtoTest, WriteDebugAnnotations) {
   protozero::HeapBuffered<protos::pbzero::TestEvent> event;
-  WriteIntoTracedProto(context().Wrap(event.get()),
-                       protos::pbzero::TestEvent::kPayload, Foo());
+  perfetto::TracedProto<protos::pbzero::TestEvent> proto =
+      context().Wrap(event.get());
+  WriteTracedProtoField(proto, protos::pbzero::TestEvent::kPayload, Foo());
 
   protos::TestEvent result;
   result.ParseFromString(event.SerializeAsString());
diff --git a/src/tracing/traced_value.cc b/src/tracing/traced_value.cc
index bd8b1ad..801b8b5 100644
--- a/src/tracing/traced_value.cc
+++ b/src/tracing/traced_value.cc
@@ -18,6 +18,7 @@
 
 #include "perfetto/base/logging.h"
 #include "perfetto/tracing/debug_annotation.h"
+#include "perfetto/tracing/internal/track_event_interned_fields.h"
 #include "protos/perfetto/trace/track_event/debug_annotation.pbzero.h"
 
 namespace perfetto {
@@ -25,56 +26,61 @@
 namespace internal {
 
 TracedValue CreateTracedValueFromProto(
-    protos::pbzero::DebugAnnotation* context) {
-  return TracedValue::CreateFromProto(context);
+    protos::pbzero::DebugAnnotation* annotation,
+    EventContext* event_context) {
+  return TracedValue::CreateFromProto(annotation, event_context);
 }
 
 }  // namespace internal
 
 // static
 TracedValue TracedValue::CreateFromProto(
-    protos::pbzero::DebugAnnotation* context) {
-  return TracedValue(context, nullptr);
+    protos::pbzero::DebugAnnotation* annotation,
+    EventContext* event_context) {
+  return TracedValue(annotation, event_context, nullptr);
 }
 
+TracedValue::TracedValue(TracedValue&&) = default;
+TracedValue::~TracedValue() = default;
+
 void TracedValue::WriteInt64(int64_t value) && {
   PERFETTO_DCHECK(checked_scope_.is_active());
-  context_->set_int_value(value);
+  annotation_->set_int_value(value);
 }
 
 void TracedValue::WriteUInt64(uint64_t value) && {
   PERFETTO_DCHECK(checked_scope_.is_active());
-  context_->set_uint_value(value);
+  annotation_->set_uint_value(value);
 }
 
 void TracedValue::WriteDouble(double value) && {
   PERFETTO_DCHECK(checked_scope_.is_active());
-  context_->set_double_value(value);
+  annotation_->set_double_value(value);
 }
 
 void TracedValue::WriteBoolean(bool value) && {
   PERFETTO_DCHECK(checked_scope_.is_active());
-  context_->set_bool_value(value);
+  annotation_->set_bool_value(value);
 }
 
 void TracedValue::WriteString(const char* value) && {
   PERFETTO_DCHECK(checked_scope_.is_active());
-  context_->set_string_value(value);
+  annotation_->set_string_value(value);
 }
 
 void TracedValue::WriteString(const char* value, size_t len) && {
   PERFETTO_DCHECK(checked_scope_.is_active());
-  context_->set_string_value(value, len);
+  annotation_->set_string_value(value, len);
 }
 
 void TracedValue::WriteString(const std::string& value) && {
   PERFETTO_DCHECK(checked_scope_.is_active());
-  context_->set_string_value(value);
+  annotation_->set_string_value(value);
 }
 
 void TracedValue::WritePointer(const void* value) && {
   PERFETTO_DCHECK(checked_scope_.is_active());
-  context_->set_pointer_value(reinterpret_cast<uint64_t>(value));
+  annotation_->set_pointer_value(reinterpret_cast<uint64_t>(value));
 }
 
 TracedDictionary TracedValue::WriteDictionary() && {
@@ -83,10 +89,10 @@
   PERFETTO_DCHECK(checked_scope_.is_active());
   checked_scope_.Reset();
 
-  PERFETTO_DCHECK(!context_->is_finalized());
-  return TracedDictionary(context_,
+  PERFETTO_DCHECK(!annotation_->is_finalized());
+  return TracedDictionary(annotation_,
                           protos::pbzero::DebugAnnotation::kDictEntries,
-                          checked_scope_.parent_scope());
+                          event_context_, checked_scope_.parent_scope());
 }
 
 TracedArray TracedValue::WriteArray() && {
@@ -95,13 +101,30 @@
   PERFETTO_DCHECK(checked_scope_.is_active());
   checked_scope_.Reset();
 
-  PERFETTO_DCHECK(!context_->is_finalized());
-  return TracedArray(context_, checked_scope_.parent_scope());
+  PERFETTO_DCHECK(!annotation_->is_finalized());
+  return TracedArray(annotation_, event_context_,
+                     checked_scope_.parent_scope());
 }
 
+protozero::Message* TracedValue::WriteProtoInternal(const char* name) {
+  if (event_context_) {
+    annotation_->set_proto_type_name_iid(
+        internal::InternedDebugAnnotationValueTypeName::Get(event_context_,
+                                                            name));
+  } else {
+    annotation_->set_proto_type_name(name);
+  }
+  return annotation_->template BeginNestedMessage<protozero::Message>(
+      protos::pbzero::DebugAnnotation::kProtoValueFieldNumber);
+}
+
+TracedArray::TracedArray(TracedValue annotation)
+    : TracedArray(std::move(annotation).WriteArray()) {}
+
 TracedValue TracedArray::AppendItem() {
   PERFETTO_DCHECK(checked_scope_.is_active());
-  return TracedValue(context_->add_array_values(), &checked_scope_);
+  return TracedValue(annotation_->add_array_values(), event_context_,
+                     &checked_scope_);
 }
 
 TracedDictionary TracedArray::AppendDictionary() {
@@ -114,12 +137,15 @@
   return AppendItem().WriteArray();
 }
 
+TracedDictionary::TracedDictionary(TracedValue annotation)
+    : TracedDictionary(std::move(annotation).WriteDictionary()) {}
+
 TracedValue TracedDictionary::AddItem(StaticString key) {
   PERFETTO_DCHECK(checked_scope_.is_active());
   protos::pbzero::DebugAnnotation* item =
       message_->BeginNestedMessage<protos::pbzero::DebugAnnotation>(field_id_);
   item->set_name(key.value);
-  return TracedValue(item, &checked_scope_);
+  return TracedValue(item, event_context_, &checked_scope_);
 }
 
 TracedValue TracedDictionary::AddItem(DynamicString key) {
@@ -127,7 +153,7 @@
   protos::pbzero::DebugAnnotation* item =
       message_->BeginNestedMessage<protos::pbzero::DebugAnnotation>(field_id_);
   item->set_name(key.value);
-  return TracedValue(item, &checked_scope_);
+  return TracedValue(item, event_context_, &checked_scope_);
 }
 
 TracedDictionary TracedDictionary::AddDictionary(StaticString key) {
diff --git a/src/tracing/traced_value_unittest.cc b/src/tracing/traced_value_unittest.cc
index 66c86db..05fa116 100644
--- a/src/tracing/traced_value_unittest.cc
+++ b/src/tracing/traced_value_unittest.cc
@@ -32,6 +32,8 @@
 #include "perfetto/test/traced_value_test_support.h"
 #include "perfetto/tracing/debug_annotation.h"
 #include "perfetto/tracing/track_event.h"
+#include "protos/perfetto/trace/test_event.pb.h"
+#include "protos/perfetto/trace/test_event.pbzero.h"
 #include "protos/perfetto/trace/track_event/debug_annotation.gen.h"
 #include "protos/perfetto/trace/track_event/debug_annotation.pb.h"
 #include "test/gtest_and_gmock.h"
@@ -619,4 +621,123 @@
             }));
 }
 
+TEST(TracedValueTest, WriteTypedProto_Explicit) {
+  protozero::HeapBuffered<protos::pbzero::DebugAnnotation> message;
+  WriteIntoTracedValue(
+      internal::CreateTracedValueFromProto(message.get()),
+      [](perfetto::TracedValue context) {
+        perfetto::TracedProto<protos::pbzero::TestEvent::TestPayload> proto =
+            std::move(context)
+                .WriteProto<protos::pbzero::TestEvent::TestPayload>();
+        proto->set_single_string("payload");
+      });
+
+  protos::DebugAnnotation annotation;
+  annotation.ParseFromString(message.SerializeAsString());
+  EXPECT_EQ(annotation.proto_type_name(),
+            ".perfetto.protos.TestEvent.TestPayload");
+
+  protos::TestEvent::TestPayload payload;
+  payload.ParseFromString(annotation.proto_value());
+  EXPECT_EQ(payload.single_string(), "payload");
+}
+
+TEST(TracedValueTest, WriteTypedProto_Implicit) {
+  protozero::HeapBuffered<protos::pbzero::DebugAnnotation> message;
+  WriteIntoTracedValue(
+      internal::CreateTracedValueFromProto(message.get()),
+      [](perfetto::TracedProto<protos::pbzero::TestEvent::TestPayload> proto) {
+        proto->set_single_string("payload");
+      });
+
+  protos::DebugAnnotation annotation;
+  annotation.ParseFromString(message.SerializeAsString());
+  EXPECT_EQ(annotation.proto_type_name(),
+            ".perfetto.protos.TestEvent.TestPayload");
+
+  protos::TestEvent::TestPayload payload;
+  payload.ParseFromString(annotation.proto_value());
+  EXPECT_EQ(payload.single_string(), "payload");
+}
+
+TEST(TracedValueTest, ImplicitTracedDictionary) {
+  EXPECT_EQ("{key:value}", TracedValueToString([&](TracedDictionary dict) {
+              dict.Add("key", "value");
+            }));
+}
+
+TEST(TracedValueTest, ImplicitTracedArray) {
+  EXPECT_EQ("[1]",
+            TracedValueToString([&](TracedArray array) { array.Append(1); }));
+}
+
+TEST(TracedValueTest, TracedProtoInDict) {
+  struct Foo {
+    void WriteIntoTrace(
+        perfetto::TracedProto<protos::pbzero::TestEvent::TestPayload> message) {
+      message->set_single_int(42);
+    }
+  };
+  Foo foo;
+  protozero::HeapBuffered<protos::pbzero::DebugAnnotation> message;
+  WriteIntoTracedValue(internal::CreateTracedValueFromProto(message.get()),
+                       [&](TracedDictionary dict) { dict.Add("foo", foo); });
+  protos::DebugAnnotation annotation;
+  annotation.ParseFromString(message.SerializeAsString());
+  EXPECT_EQ(annotation.dict_entries_size(), 1);
+  EXPECT_EQ(annotation.dict_entries(0).name(), "foo");
+  EXPECT_EQ(annotation.dict_entries(0).proto_type_name(),
+            ".perfetto.protos.TestEvent.TestPayload");
+
+  protos::TestEvent::TestPayload payload;
+  payload.ParseFromString(annotation.dict_entries(0).proto_value());
+  EXPECT_EQ(payload.single_int(), 42);
+}
+
+TEST(TracedValueTest, PointerToTracedProtoInDict) {
+  struct Foo {
+    void WriteIntoTrace(
+        perfetto::TracedProto<protos::pbzero::TestEvent::TestPayload> message) {
+      message->set_single_int(42);
+    }
+  };
+  Foo foo;
+  protozero::HeapBuffered<protos::pbzero::DebugAnnotation> message;
+  WriteIntoTracedValue(internal::CreateTracedValueFromProto(message.get()),
+                       [&](TracedDictionary dict) { dict.Add("foo", &foo); });
+  protos::DebugAnnotation annotation;
+  annotation.ParseFromString(message.SerializeAsString());
+  EXPECT_EQ(annotation.dict_entries_size(), 1);
+  EXPECT_EQ(annotation.dict_entries(0).name(), "foo");
+  EXPECT_EQ(annotation.dict_entries(0).proto_type_name(),
+            ".perfetto.protos.TestEvent.TestPayload");
+
+  protos::TestEvent::TestPayload payload;
+  payload.ParseFromString(annotation.dict_entries(0).proto_value());
+  EXPECT_EQ(payload.single_int(), 42);
+}
+
+TEST(TracedValueTest, UniquePointerToTracedProtoInDict) {
+  struct Foo {
+    void WriteIntoTrace(
+        perfetto::TracedProto<protos::pbzero::TestEvent::TestPayload> message) {
+      message->set_single_int(42);
+    }
+  };
+  std::unique_ptr<Foo> foo(new Foo());
+  protozero::HeapBuffered<protos::pbzero::DebugAnnotation> message;
+  WriteIntoTracedValue(internal::CreateTracedValueFromProto(message.get()),
+                       [&](TracedDictionary dict) { dict.Add("foo", foo); });
+  protos::DebugAnnotation annotation;
+  annotation.ParseFromString(message.SerializeAsString());
+  EXPECT_EQ(annotation.dict_entries_size(), 1);
+  EXPECT_EQ(annotation.dict_entries(0).name(), "foo");
+  EXPECT_EQ(annotation.dict_entries(0).proto_type_name(),
+            ".perfetto.protos.TestEvent.TestPayload");
+
+  protos::TestEvent::TestPayload payload;
+  payload.ParseFromString(annotation.dict_entries(0).proto_value());
+  EXPECT_EQ(payload.single_int(), 42);
+}
+
 }  // namespace perfetto
diff --git a/src/tracing/tracing.cc b/src/tracing/tracing.cc
index 090c5cb..ab495cf 100644
--- a/src/tracing/tracing.cc
+++ b/src/tracing/tracing.cc
@@ -20,6 +20,7 @@
 #include <condition_variable>
 #include <mutex>
 
+#include "perfetto/ext/base/no_destructor.h"
 #include "perfetto/ext/base/waitable_event.h"
 #include "perfetto/tracing/internal/track_event_internal.h"
 #include "src/tracing/internal/tracing_muxer_impl.h"
@@ -27,10 +28,17 @@
 namespace perfetto {
 namespace {
 bool g_was_initialized = false;
+
+// Wrapped in a function to avoid global constructor
+std::mutex& InitializedMutex() {
+  static base::NoDestructor<std::mutex> initialized_mutex;
+  return initialized_mutex.ref();
+}
 }
 
 // static
 void Tracing::InitializeInternal(const TracingInitArgs& args) {
+  std::unique_lock<std::mutex> lock(InitializedMutex());
   static TracingInitArgs init_args;
   if (g_was_initialized) {
     if (!(init_args == args)) {
@@ -55,11 +63,13 @@
 
 // static
 bool Tracing::IsInitialized() {
+  std::unique_lock<std::mutex> lock(InitializedMutex());
   return g_was_initialized;
 }
 
 // static
 void Tracing::ResetForTesting() {
+  std::unique_lock<std::mutex> lock(InitializedMutex());
   if (!g_was_initialized)
     return;
   base::SetLogMessageCallback(nullptr);
diff --git a/src/tracing/track_event_state_tracker.cc b/src/tracing/track_event_state_tracker.cc
index 7cb1b09..7ff50ac 100644
--- a/src/tracing/track_event_state_tracker.cc
+++ b/src/tracing/track_event_state_tracker.cc
@@ -17,8 +17,10 @@
 #include "perfetto/tracing/track_event_state_tracker.h"
 
 #include "perfetto/ext/base/hash.h"
+#include "perfetto/tracing/internal/track_event_internal.h"
 
 #include "protos/perfetto/common/interceptor_descriptor.gen.h"
+#include "protos/perfetto/trace/clock_snapshot.pbzero.h"
 #include "protos/perfetto/trace/interned_data/interned_data.pbzero.h"
 #include "protos/perfetto/trace/trace_packet.pbzero.h"
 #include "protos/perfetto/trace/trace_packet_defaults.pbzero.h"
@@ -30,6 +32,8 @@
 
 namespace perfetto {
 
+using internal::TrackEventIncrementalState;
+
 TrackEventStateTracker::~TrackEventStateTracker() = default;
 TrackEventStateTracker::Delegate::~Delegate() = default;
 
@@ -45,8 +49,15 @@
   perfetto::protos::pbzero::TrackEvent::Decoder track_event(
       packet.track_event());
 
-  // TODO(skyostil): Support incremental timestamps.
+  auto clock_id = packet.timestamp_clock_id();
+  if (!packet.has_timestamp_clock_id())
+    clock_id = sequence_state.default_clock_id;
   uint64_t timestamp = packet.timestamp();
+  // TODO(mohitms): Incorporate unit multiplier as well.
+  if (clock_id == TrackEventIncrementalState::kClockIdIncremental) {
+    timestamp += sequence_state.most_recent_absolute_time_ns;
+    sequence_state.most_recent_absolute_time_ns = timestamp;
+  }
 
   Track* track = &sequence_state.track;
   if (track_event.has_track_uuid()) {
@@ -163,6 +174,19 @@
   }
 #endif
 
+  perfetto::protos::pbzero::ClockSnapshot::Decoder snapshot(
+      packet.clock_snapshot());
+  for (auto it = snapshot.clocks(); it; ++it) {
+    perfetto::protos::pbzero::ClockSnapshot::Clock::Decoder clock(*it);
+    // TODO(mohitms) : Handle the incremental clock other than default one.
+    if (clock.is_incremental() &&
+        clock.clock_id() == TrackEventIncrementalState::kClockIdIncremental) {
+      sequence_state.most_recent_absolute_time_ns =
+          clock.timestamp() * clock.unit_multiplier_ns();
+      break;
+    }
+  }
+
   if (packet.sequence_flags() &
       perfetto::protos::pbzero::TracePacket::SEQ_INCREMENTAL_STATE_CLEARED) {
     // Convert any existing event names and categories on the stack to
@@ -208,6 +232,8 @@
       perfetto::protos::pbzero::TrackEventDefaults::Decoder
           track_event_defaults(defaults.track_event_defaults());
       sequence_state.track.uuid = track_event_defaults.track_uuid();
+      if (defaults.has_timestamp_clock_id())
+        sequence_state.default_clock_id = defaults.timestamp_clock_id();
     }
   }
   if (packet.has_track_descriptor()) {
diff --git a/test/configs/BUILD.gn b/test/configs/BUILD.gn
index b57b9aa..230fe01 100644
--- a/test/configs/BUILD.gn
+++ b/test/configs/BUILD.gn
@@ -21,8 +21,7 @@
   script = "../../tools/protoc_helper.py"
 
   deps = [
-    "../../protos/perfetto/config:merged_config_source_set",
-    "../../protos/perfetto/trace:merged_trace_source_set",
+    "../../protos/perfetto/trace:non_minimal_source_set",
     protoc_target,
   ]
 
diff --git a/test/cts/heapprofd_java_test_cts.cc b/test/cts/heapprofd_java_test_cts.cc
index a0205f1..7d81128 100644
--- a/test/cts/heapprofd_java_test_cts.cc
+++ b/test/cts/heapprofd_java_test_cts.cc
@@ -37,12 +37,12 @@
 std::string RandomSessionName() {
   std::random_device rd;
   std::default_random_engine generator(rd());
-  std::uniform_int_distribution<char> distribution('a', 'z');
+  std::uniform_int_distribution<> distribution('a', 'z');
 
   constexpr size_t kSessionNameLen = 20;
   std::string result(kSessionNameLen, '\0');
   for (size_t i = 0; i < kSessionNameLen; ++i)
-    result[i] = distribution(generator);
+    result[i] = static_cast<char>(distribution(generator));
   return result;
 }
 
@@ -52,11 +52,11 @@
   // (re)start the target app's main activity
   if (IsAppRunning(app_name)) {
     StopApp(app_name, "old.app.stopped", &task_runner);
-    task_runner.RunUntilCheckpoint("old.app.stopped", 1000 /*ms*/);
+    task_runner.RunUntilCheckpoint("old.app.stopped", 10000 /*ms*/);
   }
   StartAppActivity(app_name, "MainActivity", "target.app.running", &task_runner,
                    /*delay_ms=*/100);
-  task_runner.RunUntilCheckpoint("target.app.running", 1000 /*ms*/);
+  task_runner.RunUntilCheckpoint("target.app.running", 10000 /*ms*/);
   // If we try to dump too early in app initialization, we sometimes deadlock.
   sleep(1);
 
@@ -85,7 +85,7 @@
   helper.WaitForReadData();
   PERFETTO_CHECK(IsAppRunning(app_name));
   StopApp(app_name, "new.app.stopped", &task_runner);
-  task_runner.RunUntilCheckpoint("new.app.stopped", 1000 /*ms*/);
+  task_runner.RunUntilCheckpoint("new.app.stopped", 10000 /*ms*/);
   return helper.trace();
 }
 
@@ -142,11 +142,11 @@
   // (re)start the target app's main activity
   if (IsAppRunning(app_name)) {
     StopApp(app_name, "old.app.stopped", &task_runner);
-    task_runner.RunUntilCheckpoint("old.app.stopped", 1000 /*ms*/);
+    task_runner.RunUntilCheckpoint("old.app.stopped", 10000 /*ms*/);
   }
   StartAppActivity(app_name, "MainActivity", "target.app.running", &task_runner,
                    /*delay_ms=*/100);
-  task_runner.RunUntilCheckpoint("target.app.running", 1000 /*ms*/);
+  task_runner.RunUntilCheckpoint("target.app.running", 10000 /*ms*/);
   // If we try to dump too early in app initialization, we sometimes deadlock.
   sleep(1);
 
@@ -178,7 +178,7 @@
   helper.WaitForReadData();
   PERFETTO_CHECK(IsAppRunning(app_name));
   StopApp(app_name, "new.app.stopped", &task_runner);
-  task_runner.RunUntilCheckpoint("new.app.stopped", 1000 /*ms*/);
+  task_runner.RunUntilCheckpoint("new.app.stopped", 10000 /*ms*/);
 
   const auto& packets = helper.trace();
   AssertGraphPresent(packets);
diff --git a/test/cts/heapprofd_test_cts.cc b/test/cts/heapprofd_test_cts.cc
index 3c952f5..510bc7b 100644
--- a/test/cts/heapprofd_test_cts.cc
+++ b/test/cts/heapprofd_test_cts.cc
@@ -55,12 +55,12 @@
 std::string RandomSessionName() {
   std::random_device rd;
   std::default_random_engine generator(rd());
-  std::uniform_int_distribution<char> distribution('a', 'z');
+  std::uniform_int_distribution<> distribution('a', 'z');
 
   constexpr size_t kSessionNameLen = 20;
   std::string result(kSessionNameLen, '\0');
   for (size_t i = 0; i < kSessionNameLen; ++i)
-    result[i] = distribution(generator);
+    result[i] = static_cast<char>(distribution(generator));
   return result;
 }
 
@@ -81,11 +81,11 @@
   // (re)start the target app's main activity
   if (IsAppRunning(app_name)) {
     StopApp(app_name, "old.app.stopped", &task_runner);
-    task_runner.RunUntilCheckpoint("old.app.stopped", 1000 /*ms*/);
+    task_runner.RunUntilCheckpoint("old.app.stopped", 10000 /*ms*/);
   }
   StartAppActivity(app_name, activity, "target.app.running", &task_runner,
                    /*delay_ms=*/100);
-  task_runner.RunUntilCheckpoint("target.app.running", 1000 /*ms*/);
+  task_runner.RunUntilCheckpoint("target.app.running", 10000 /*ms*/);
 
   // set up tracing
   TestHelper helper(&task_runner);
@@ -137,7 +137,7 @@
 
   if (IsAppRunning(app_name)) {
     StopApp(app_name, "old.app.stopped", &task_runner);
-    task_runner.RunUntilCheckpoint("old.app.stopped", 1000 /*ms*/);
+    task_runner.RunUntilCheckpoint("old.app.stopped", 10000 /*ms*/);
   }
 
   // set up tracing
@@ -171,7 +171,7 @@
   // start app
   StartAppActivity(app_name, activity, "target.app.running", &task_runner,
                    /*delay_ms=*/100);
-  task_runner.RunUntilCheckpoint("target.app.running", 2000 /*ms*/);
+  task_runner.RunUntilCheckpoint("target.app.running", 10000 /*ms*/);
 
   helper.WaitForTracingDisabled();
   helper.ReadData();
diff --git a/test/cts/traced_perf_test_cts.cc b/test/cts/traced_perf_test_cts.cc
index 7ee7bcd..d7bd60e 100644
--- a/test/cts/traced_perf_test_cts.cc
+++ b/test/cts/traced_perf_test_cts.cc
@@ -45,12 +45,12 @@
 std::string RandomSessionName() {
   std::random_device rd;
   std::default_random_engine generator(rd());
-  std::uniform_int_distribution<char> distribution('a', 'z');
+  std::uniform_int_distribution<> distribution('a', 'z');
 
   constexpr size_t kSessionNameLen = 20;
   std::string result(kSessionNameLen, '\0');
   for (size_t i = 0; i < kSessionNameLen; ++i)
-    result[i] = distribution(generator);
+    result[i] = static_cast<char>(distribution(generator));
   return result;
 }
 
@@ -60,12 +60,12 @@
   // (re)start the target app's main activity
   if (IsAppRunning(app_name)) {
     StopApp(app_name, "old.app.stopped", &task_runner);
-    task_runner.RunUntilCheckpoint("old.app.stopped", 1000 /*ms*/);
+    task_runner.RunUntilCheckpoint("old.app.stopped", 10000 /*ms*/);
   }
   StartAppActivity(app_name, "BusyWaitActivity", "target.app.running",
                    &task_runner,
                    /*delay_ms=*/100);
-  task_runner.RunUntilCheckpoint("target.app.running", 1000 /*ms*/);
+  task_runner.RunUntilCheckpoint("target.app.running", 10000 /*ms*/);
 
   // set up tracing
   TestHelper helper(&task_runner);
diff --git a/test/data/ftrace_error_stats.pftrace.sha256 b/test/data/ftrace_error_stats.pftrace.sha256
new file mode 100644
index 0000000..4a29e3e
--- /dev/null
+++ b/test/data/ftrace_error_stats.pftrace.sha256
@@ -0,0 +1 @@
+f2c4c42a10cb6c4bc341640f89dd714b6b63c06a93db79ea0b83cdd68ea239f0
\ No newline at end of file
diff --git a/test/data/ui-screenshots/ui-android_trace_30s_expand_camera.png.sha256 b/test/data/ui-screenshots/ui-android_trace_30s_expand_camera.png.sha256
index eb03abe..0d2eafa 100644
--- a/test/data/ui-screenshots/ui-android_trace_30s_expand_camera.png.sha256
+++ b/test/data/ui-screenshots/ui-android_trace_30s_expand_camera.png.sha256
@@ -1 +1 @@
-8ad83552afc9337975295a49f1e204986e7d3e0852d4e427988640fcb9b453e4
\ No newline at end of file
+7be9a9c82f04d1322c9e4e7b4ce75dc688152ca72af2391a0292749673ce8c1f
\ No newline at end of file
diff --git a/test/data/ui-screenshots/ui-android_trace_30s_load.png.sha256 b/test/data/ui-screenshots/ui-android_trace_30s_load.png.sha256
index e532b12..2e9be1c 100644
--- a/test/data/ui-screenshots/ui-android_trace_30s_load.png.sha256
+++ b/test/data/ui-screenshots/ui-android_trace_30s_load.png.sha256
@@ -1 +1 @@
-f6eec7a2f399fbb9e6218bb69c3afcbfcb69971540d09e80c2c4672f507b505a
\ No newline at end of file
+69c67284528cb436f7fc541748db2c3e3118f77bed1803447cbb8158686daed9
\ No newline at end of file
diff --git a/test/data/ui-screenshots/ui-chrome_rendering_desktop_expand_browser_proc.png.sha256 b/test/data/ui-screenshots/ui-chrome_rendering_desktop_expand_browser_proc.png.sha256
index 5b3cf8f..22e7514 100644
--- a/test/data/ui-screenshots/ui-chrome_rendering_desktop_expand_browser_proc.png.sha256
+++ b/test/data/ui-screenshots/ui-chrome_rendering_desktop_expand_browser_proc.png.sha256
@@ -1 +1 @@
-8418fb3ce412034898892ca8758e12c6ace6a587b9e7674196402f39fd876849
\ No newline at end of file
+234eaa9915ea12f3acf5e41206cc7de79e7c1fc6781b69a2c7050c70015098ee
\ No newline at end of file
diff --git a/test/data/ui-screenshots/ui-chrome_rendering_desktop_load.png.sha256 b/test/data/ui-screenshots/ui-chrome_rendering_desktop_load.png.sha256
index 6956ccf..ff18513 100644
--- a/test/data/ui-screenshots/ui-chrome_rendering_desktop_load.png.sha256
+++ b/test/data/ui-screenshots/ui-chrome_rendering_desktop_load.png.sha256
@@ -1 +1 @@
-cf91a6f0327668db9c809914ffebd86aa4f3b548294cb3ef788db72aeec6b68b
\ No newline at end of file
+81f1b695b54b2c732c45f86fada461e9b2875afa078e5d466467d87fc9c38eef
\ No newline at end of file
diff --git a/test/data/ui-screenshots/ui-chrome_rendering_desktop_select_slice_with_flows.png.sha256 b/test/data/ui-screenshots/ui-chrome_rendering_desktop_select_slice_with_flows.png.sha256
index d80a91a..6af7c46 100644
--- a/test/data/ui-screenshots/ui-chrome_rendering_desktop_select_slice_with_flows.png.sha256
+++ b/test/data/ui-screenshots/ui-chrome_rendering_desktop_select_slice_with_flows.png.sha256
@@ -1 +1 @@
-510be4f45b0db33d2154668d3b73433e577de2430f55c0fda62a7f8129f48757
\ No newline at end of file
+b06fcf644c2181b95040628cf162a6908d7e8376cd96f2ddb07b61f0d8f8c9dc
\ No newline at end of file
diff --git a/test/data/ui-screenshots/ui-routing_navigate_navigate_back_and_forward.png.sha256 b/test/data/ui-screenshots/ui-routing_navigate_navigate_back_and_forward.png.sha256
index 9972f70..2d762f9 100644
--- a/test/data/ui-screenshots/ui-routing_navigate_navigate_back_and_forward.png.sha256
+++ b/test/data/ui-screenshots/ui-routing_navigate_navigate_back_and_forward.png.sha256
@@ -1 +1 @@
-11b4adcbe2171d25356df8bf15e96c2d87a15a9e6e59f9b6349bbfa919620255
\ No newline at end of file
+25c8506f82ae41dc34b382cf619300e5907a2a9798bef94c60fc45a654c90a3d
\ No newline at end of file
diff --git a/test/data/ui-screenshots/ui-routing_navigate_open_trace_from_url.png.sha256 b/test/data/ui-screenshots/ui-routing_navigate_open_trace_from_url.png.sha256
index 4efc85f..fb700b4 100644
--- a/test/data/ui-screenshots/ui-routing_navigate_open_trace_from_url.png.sha256
+++ b/test/data/ui-screenshots/ui-routing_navigate_open_trace_from_url.png.sha256
@@ -1 +1 @@
-99911b5f7e6db8081ecbca7d7e2c47bf57b8a54434c639a17830dd4d84b67009
\ No newline at end of file
+2eac58fab6a51f857da3515e92f6c3f521144715cc810f9e2d1a353b29290049
\ No newline at end of file
diff --git a/test/data/ui-screenshots/ui-routing_open_invalid_trace_from_blank_page.png.sha256 b/test/data/ui-screenshots/ui-routing_open_invalid_trace_from_blank_page.png.sha256
index 4514e39..ce4aadf 100644
--- a/test/data/ui-screenshots/ui-routing_open_invalid_trace_from_blank_page.png.sha256
+++ b/test/data/ui-screenshots/ui-routing_open_invalid_trace_from_blank_page.png.sha256
@@ -1 +1 @@
-2a99973826b842e7f64d79bf8ddf5cc188e6bf8973e1fda073f9cd9cb6a9a40d
\ No newline at end of file
+72e9695470c9067005bca54fcdee310feaeed23d58d6bf4c2e575748a992027e
\ No newline at end of file
diff --git a/test/data/ui-screenshots/ui-routing_open_trace_and_go_back_to_landing_page.png.sha256 b/test/data/ui-screenshots/ui-routing_open_trace_and_go_back_to_landing_page.png.sha256
index 815741c..59c64e1 100644
--- a/test/data/ui-screenshots/ui-routing_open_trace_and_go_back_to_landing_page.png.sha256
+++ b/test/data/ui-screenshots/ui-routing_open_trace_and_go_back_to_landing_page.png.sha256
@@ -1 +1 @@
-f5f87e3e2bbb7026e797dcd3fd8c25f4776ed03aaa50e399115fbe92d0008e75
\ No newline at end of file
+f4bbc923b067b63b28b63798ed9d05894f433a8ad77bab2461c2fdc44f4495f7
\ No newline at end of file
diff --git a/test/data/ui-screenshots/ui-routing_open_two_traces_then_go_back_access_subpage_then_go_back.png.sha256 b/test/data/ui-screenshots/ui-routing_open_two_traces_then_go_back_access_subpage_then_go_back.png.sha256
index 7d9ae47..01f95ac 100644
--- a/test/data/ui-screenshots/ui-routing_open_two_traces_then_go_back_access_subpage_then_go_back.png.sha256
+++ b/test/data/ui-screenshots/ui-routing_open_two_traces_then_go_back_access_subpage_then_go_back.png.sha256
@@ -1 +1 @@
-1392ef931864190ea4f65d2e8c62834fc921b70ad1a196ebe999d784963c9976
\ No newline at end of file
+c527929e9f4f3f67383c42ebcda6ec4753e16f0fa066373b2c9a8063e6a124ee
\ No newline at end of file
diff --git a/test/data/ui-screenshots/ui-routing_open_two_traces_then_go_back_open_first_trace_from_url.png.sha256 b/test/data/ui-screenshots/ui-routing_open_two_traces_then_go_back_open_first_trace_from_url.png.sha256
index 4efc85f..fb700b4 100644
--- a/test/data/ui-screenshots/ui-routing_open_two_traces_then_go_back_open_first_trace_from_url.png.sha256
+++ b/test/data/ui-screenshots/ui-routing_open_two_traces_then_go_back_open_first_trace_from_url.png.sha256
@@ -1 +1 @@
-99911b5f7e6db8081ecbca7d7e2c47bf57b8a54434c639a17830dd4d84b67009
\ No newline at end of file
+2eac58fab6a51f857da3515e92f6c3f521144715cc810f9e2d1a353b29290049
\ No newline at end of file
diff --git a/test/data/ui-screenshots/ui-routing_open_two_traces_then_go_back_open_second_trace_from_url.png.sha256 b/test/data/ui-screenshots/ui-routing_open_two_traces_then_go_back_open_second_trace_from_url.png.sha256
index 6a6b38f..93296f6 100644
--- a/test/data/ui-screenshots/ui-routing_open_two_traces_then_go_back_open_second_trace_from_url.png.sha256
+++ b/test/data/ui-screenshots/ui-routing_open_two_traces_then_go_back_open_second_trace_from_url.png.sha256
@@ -1 +1 @@
-0f8d2c39e3db7f5ac6510cdce96c5ff9d5dd95ab0aac64a25672a0b8447334ea
\ No newline at end of file
+368037a9a264bd2e0579398527b42783b081929628b1241c53d51160beb508d7
\ No newline at end of file
diff --git a/test/data/ui-screenshots/ui-routing_start_from_no_trace_go_back_to_first_trace.png.sha256 b/test/data/ui-screenshots/ui-routing_start_from_no_trace_go_back_to_first_trace.png.sha256
index 1e76cba..8d6577d 100644
--- a/test/data/ui-screenshots/ui-routing_start_from_no_trace_go_back_to_first_trace.png.sha256
+++ b/test/data/ui-screenshots/ui-routing_start_from_no_trace_go_back_to_first_trace.png.sha256
@@ -1 +1 @@
-4c3365fd082798e6e8e00a845b7ec9f49eac23d90f8f9e61feacce3fdfe4d8ca
\ No newline at end of file
+c61204c99bb136619127627df5822444ebb6679aa48a20375d31e5114e4e177b
\ No newline at end of file
diff --git a/test/data/ui-screenshots/ui-routing_start_from_no_trace_go_to_page_with_no_trace.png.sha256 b/test/data/ui-screenshots/ui-routing_start_from_no_trace_go_to_page_with_no_trace.png.sha256
index 5f045d6..550a845 100644
--- a/test/data/ui-screenshots/ui-routing_start_from_no_trace_go_to_page_with_no_trace.png.sha256
+++ b/test/data/ui-screenshots/ui-routing_start_from_no_trace_go_to_page_with_no_trace.png.sha256
@@ -1 +1 @@
-5262db3e72ea4e0dfd05326b5244b712293d99d7fdbc0b7839d595dcccd748d5
\ No newline at end of file
+c7a964e1a72e3abdcea0a32e22701cf72043a1a1a5a2635d2de06e07137875a1
\ No newline at end of file
diff --git a/test/data/ui-screenshots/ui-routing_start_from_no_trace_open_invalid_trace.png.sha256 b/test/data/ui-screenshots/ui-routing_start_from_no_trace_open_invalid_trace.png.sha256
index 356685a..3c99db9 100644
--- a/test/data/ui-screenshots/ui-routing_start_from_no_trace_open_invalid_trace.png.sha256
+++ b/test/data/ui-screenshots/ui-routing_start_from_no_trace_open_invalid_trace.png.sha256
@@ -1 +1 @@
-5c8a69fa3913fe79644858f21f08f580d8f7a14467fa772bca96ea641ad3a58e
\ No newline at end of file
+9425ea9f775ab88ebd9d0f47946c0835191a7d4579da40d04f20c9db9d288e95
\ No newline at end of file
diff --git a/test/data/ui-screenshots/ui-routing_start_from_no_trace_open_second_trace.png.sha256 b/test/data/ui-screenshots/ui-routing_start_from_no_trace_open_second_trace.png.sha256
index a461053..e5cdaef 100644
--- a/test/data/ui-screenshots/ui-routing_start_from_no_trace_open_second_trace.png.sha256
+++ b/test/data/ui-screenshots/ui-routing_start_from_no_trace_open_second_trace.png.sha256
@@ -1 +1 @@
-ffb8037bb4c40d392cd0d99220fc1330ef53ca0c912dbf104dcb5c4900dc9e05
\ No newline at end of file
+3182fadb2c6f0e1354064d603e268a3f63edb2a7244c78af5da0c956fc21c562
\ No newline at end of file
diff --git a/test/data/ui-screenshots/ui-routing_start_from_no_trace_open_trace_.png.sha256 b/test/data/ui-screenshots/ui-routing_start_from_no_trace_open_trace_.png.sha256
index 7d9ae47..01f95ac 100644
--- a/test/data/ui-screenshots/ui-routing_start_from_no_trace_open_trace_.png.sha256
+++ b/test/data/ui-screenshots/ui-routing_start_from_no_trace_open_trace_.png.sha256
@@ -1 +1 @@
-1392ef931864190ea4f65d2e8c62834fc921b70ad1a196ebe999d784963c9976
\ No newline at end of file
+c527929e9f4f3f67383c42ebcda6ec4753e16f0fa066373b2c9a8063e6a124ee
\ No newline at end of file
diff --git a/test/data/ui-screenshots/ui-routing_start_from_no_trace_refresh.png.sha256 b/test/data/ui-screenshots/ui-routing_start_from_no_trace_refresh.png.sha256
index 7d9ae47..01f95ac 100644
--- a/test/data/ui-screenshots/ui-routing_start_from_no_trace_refresh.png.sha256
+++ b/test/data/ui-screenshots/ui-routing_start_from_no_trace_refresh.png.sha256
@@ -1 +1 @@
-1392ef931864190ea4f65d2e8c62834fc921b70ad1a196ebe999d784963c9976
\ No newline at end of file
+c527929e9f4f3f67383c42ebcda6ec4753e16f0fa066373b2c9a8063e6a124ee
\ No newline at end of file
diff --git a/test/ftrace_integrationtest.cc b/test/ftrace_integrationtest.cc
index 2553d40..42d251f 100644
--- a/test/ftrace_integrationtest.cc
+++ b/test/ftrace_integrationtest.cc
@@ -65,6 +65,7 @@
 using ::testing::HasSubstr;
 using ::testing::Property;
 using ::testing::SizeIs;
+using ::testing::UnorderedElementsAreArray;
 
 class PerfettoFtraceIntegrationTest : public ::testing::Test {
  public:
@@ -277,5 +278,66 @@
   ASSERT_GT(symbols_parsed, 100);
 }
 
+TEST_F(PerfettoFtraceIntegrationTest, ReportFtraceFailuresInStats) {
+  base::TestTaskRunner task_runner;
+
+  TestHelper helper(&task_runner);
+  helper.StartServiceIfRequired();
+
+#if PERFETTO_BUILDFLAG(PERFETTO_START_DAEMONS)
+  ProbesProducerThread probes(GetTestProducerSockName());
+  probes.Connect();
+#endif
+
+  helper.ConnectConsumer();
+  helper.WaitForConsumerConnect();
+
+  // Wait for the traced_probes service to connect. We want to start tracing
+  // only after it connects, otherwise we'll start a tracing session with 0
+  // producers connected (which is valid but not what we want here).
+  helper.WaitForDataSourceConnected("linux.ftrace");
+
+  TraceConfig trace_config;
+  trace_config.add_buffers()->set_size_kb(32);
+  trace_config.set_duration_ms(1);
+
+  auto* ds_config = trace_config.add_data_sources()->mutable_config();
+  ds_config->set_name("linux.ftrace");
+
+  protos::gen::FtraceConfig ftrace_config;
+  ftrace_config.add_ftrace_events("sched/sched_process_fork");    // Good.
+  ftrace_config.add_ftrace_events("sched/does_not_exist");        // Bad.
+  ftrace_config.add_ftrace_events("foobar/i_just_made_this_up");  // Bad.
+  ftrace_config.add_atrace_categories("madeup_atrace_cat");       // Bad.
+  ds_config->set_ftrace_config_raw(ftrace_config.SerializeAsString());
+
+  helper.StartTracing(trace_config);
+  helper.WaitForTracingDisabled(kDefaultTestTimeoutMs);
+
+  helper.ReadData();
+  helper.WaitForReadData();
+  const auto& packets = helper.trace();
+  ASSERT_GT(packets.size(), 0u);
+
+  base::Optional<protos::gen::FtraceStats> stats;
+  for (const auto& packet : packets) {
+    if (!packet.has_ftrace_stats() ||
+        packet.ftrace_stats().phase() !=
+            protos::gen::FtraceStats::START_OF_TRACE) {
+      continue;
+    }
+    stats = packet.ftrace_stats();
+  }
+  ASSERT_TRUE(stats.has_value());
+  EXPECT_THAT(stats->unknown_ftrace_events(),
+              UnorderedElementsAreArray(
+                  {"sched/does_not_exist", "foobar/i_just_made_this_up"}));
+
+  // Atrace is not available on Linux and on the O-based emulator on the CI.
+  if (base::FileExists("/system/bin/atrace")) {
+    EXPECT_THAT(stats->atrace_errors(), HasSubstr("madeup_atrace_cat"));
+  }
+}
+
 }  // namespace perfetto
 #endif  // OS_ANDROID || OS_LINUX
diff --git a/test/stress_test/stress_test.cc b/test/stress_test/stress_test.cc
index c8e9503..75de80a 100644
--- a/test/stress_test/stress_test.cc
+++ b/test/stress_test/stress_test.cc
@@ -178,7 +178,8 @@
   traced.args.env = env_;
   if (!verbose) {
     traced.args.out_fd = OpenLogFile(result_dir + "/traced.log");
-    traced.args.stderr_mode = traced.args.stdout_mode = base::Subprocess::kFd;
+    traced.args.stderr_mode = traced.args.stdout_mode =
+        base::Subprocess::OutputMode::kFd;
   }
   traced.Start();
   g_sig->pids_to_kill.emplace_back(traced.pid());
@@ -195,7 +196,7 @@
       producer.args.out_fd =
           OpenLogFile(result_dir + "/producer." + std::to_string(i) + ".log");
       producer.args.stderr_mode = producer.args.stdout_mode =
-          base::Subprocess::kFd;
+          base::Subprocess::OutputMode::kFd;
     }
     producer.args.env = env_;
     producer.Start();
@@ -213,7 +214,7 @@
   if (!verbose) {
     consumer.args.out_fd = OpenLogFile(result_dir + "/perfetto.log");
     consumer.args.stderr_mode = consumer.args.stdout_mode =
-        base::Subprocess::kFd;
+        base::Subprocess::OutputMode::kFd;
   }
   remove(trace_file_path.c_str());
   consumer.Start();
diff --git a/test/test_helper.h b/test/test_helper.h
index 778f88a..7331c64 100644
--- a/test/test_helper.h
+++ b/test/test_helper.h
@@ -51,7 +51,7 @@
 // This value has been bumped to 10s in Oct 2020 because the GCE-based emulator
 // can be sensibly slower than real hw (more than 10x) and caused flakes.
 // See bugs duped against b/171771440.
-constexpr uint32_t kDefaultTestTimeoutMs = 10000;
+constexpr uint32_t kDefaultTestTimeoutMs = 30000;
 
 inline const char* GetTestProducerSockName() {
 // If we're building on Android and starting the daemons ourselves,
@@ -350,8 +350,8 @@
   Exec(const std::string& argv0,
        std::initializer_list<std::string> args,
        std::string input = "") {
-    subprocess_.args.stderr_mode = base::Subprocess::kBuffer;
-    subprocess_.args.stdout_mode = base::Subprocess::kDevNull;
+    subprocess_.args.stderr_mode = base::Subprocess::OutputMode::kBuffer;
+    subprocess_.args.stdout_mode = base::Subprocess::OutputMode::kDevNull;
     subprocess_.args.input = input;
 
 #if PERFETTO_BUILDFLAG(PERFETTO_START_DAEMONS)
diff --git a/test/trace_processor/cros/cros_ec_sensorhub_data.out b/test/trace_processor/cros/cros_ec_sensorhub_data.out
new file mode 100644
index 0000000..708ce4b
--- /dev/null
+++ b/test/trace_processor/cros/cros_ec_sensorhub_data.out
@@ -0,0 +1,2 @@
+"name","ts","value","ec_num","ec_delta","sample_ts"
+"cros_ec.cros_ec_sensorhub_data.0",223951135789653,83399770.000000,0,80599926,223951052378946
diff --git a/test/trace_processor/cros/cros_ec_sensorhub_data.sql b/test/trace_processor/cros/cros_ec_sensorhub_data.sql
new file mode 100644
index 0000000..805f194
--- /dev/null
+++ b/test/trace_processor/cros/cros_ec_sensorhub_data.sql
@@ -0,0 +1,11 @@
+SELECT
+  t.name,
+  c.ts,
+  c.value,
+  EXTRACT_ARG(c.arg_set_id, 'ec_num') AS ec_num,
+  EXTRACT_ARG(c.arg_set_id, 'ec_delta') AS ec_delta,
+  EXTRACT_ARG(c.arg_set_id, 'sample_ts') AS sample_ts
+FROM counter c
+JOIN track t
+  ON c.track_id = t.id
+WHERE t.name == 'cros_ec.cros_ec_sensorhub_data.0';
diff --git a/test/trace_processor/cros/cros_ec_sensorhub_data.textproto b/test/trace_processor/cros/cros_ec_sensorhub_data.textproto
new file mode 100644
index 0000000..dedcdc5
--- /dev/null
+++ b/test/trace_processor/cros/cros_ec_sensorhub_data.textproto
@@ -0,0 +1,18 @@
+packet {
+  ftrace_events {
+    cpu: 0
+    event {
+      timestamp: 223951135789653
+      pid: 181
+      cros_ec_sensorhub_data {
+        current_time: 223951135778716
+        current_timestamp: 223951052378946
+        delta: -83399770
+        ec_fifo_timestamp: 2128620968
+        ec_sensor_num: 0
+        fifo_timestamp: 223951132978872
+      }
+    }
+  }
+}
+
diff --git a/test/trace_processor/cros/index b/test/trace_processor/cros/index
new file mode 100644
index 0000000..058e2e6
--- /dev/null
+++ b/test/trace_processor/cros/index
@@ -0,0 +1,5 @@
+# Tests related to cros's use of Perfetto.
+
+# cros_ec_sensorhub_data
+cros_ec_sensorhub_data.textproto cros_ec_sensorhub_data.sql cros_ec_sensorhub_data.out
+
diff --git a/test/trace_processor/graphics/android_sysui_cuj.out b/test/trace_processor/graphics/android_sysui_cuj.out
index b82ae3b..974113a 100644
--- a/test/trace_processor/graphics/android_sysui_cuj.out
+++ b/test/trace_processor/graphics/android_sysui_cuj.out
@@ -1,7 +1,7 @@
 android_sysui_cuj {
  cuj_name: "SHADE_ROW_EXPAND"
   cuj_start: 10
-  cuj_dur: 401000000
+  cuj_dur: 901000000
   process {
     name: "com.android.systemui"
     uid: 10001
@@ -71,4 +71,18 @@
     dur: 10000000
     vsync: 120
   }
+  frames {
+    number: 10
+    ts: 500000000
+    dur: 56000000
+    vsync: 130
+    jank_cause: "MainThread - binder transaction time"
+  }
+  frames {
+    number: 11
+    ts: 600000000
+    dur: 26000000
+    vsync: 140
+    jank_cause: "MainThread - binder transaction time"
+  }
 }
diff --git a/test/trace_processor/graphics/android_sysui_cuj.py b/test/trace_processor/graphics/android_sysui_cuj.py
index dbbf47c..1845aa7 100644
--- a/test/trace_processor/graphics/android_sysui_cuj.py
+++ b/test/trace_processor/graphics/android_sysui_cuj.py
@@ -13,6 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+from lib2to3.pgen2 import token
 from os import sys, path
 
 import synth_common
@@ -77,23 +78,29 @@
                           "waiting for GPU completion %d" % gpu_idx)
 
 
-def add_display_frame_events(ts,
-                             dur,
-                             token_start,
-                             jank=None,
-                             on_time_finish_override=None):
+def add_expected_frame_events(ts, dur, token_start):
+  trace.add_expected_display_frame_start_event(
+      ts=ts, cookie=token_start, token=token_start, pid=PID)
+  trace.add_frame_end_event(ts=ts + dur, cookie=token_start)
+
+
+def add_actual_frame_events(ts,
+                            dur,
+                            token_start,
+                            cookie=None,
+                            jank=None,
+                            on_time_finish_override=None):
+  if cookie is None:
+    cookie = token_start + 1
   jank_type = jank if jank is not None else 1
   present_type = 2 if jank is not None else 1
   if on_time_finish_override is None:
     on_time_finish = 1 if jank is None else 0
   else:
     on_time_finish = on_time_finish_override
-  trace.add_expected_display_frame_start_event(
-      ts=ts, cookie=token_start, token=token_start, pid=PID)
-  trace.add_frame_end_event(ts=ts + 20_500_000, cookie=token_start)
   trace.add_actual_display_frame_start_event(
       ts=ts,
-      cookie=token_start + 1,
+      cookie=cookie,
       token=token_start,
       pid=PID,
       present_type=present_type,
@@ -101,28 +108,7 @@
       gpu_composition=0,
       jank_type=jank_type,
       prediction_type=3)
-  trace.add_frame_end_event(ts=ts + dur, cookie=token_start + 1)
-  trace.add_expected_surface_frame_start_event(
-      ts=ts,
-      cookie=token_start + 2,
-      token=token_start,
-      display_frame_token=token_start,
-      pid=PID,
-      layer_name=LAYER)
-  trace.add_frame_end_event(ts=ts + 20_500_000, cookie=token_start + 2)
-  trace.add_actual_surface_frame_start_event(
-      ts=ts,
-      cookie=token_start + 3,
-      token=token_start,
-      display_frame_token=token_start,
-      pid=PID,
-      layer_name=LAYER,
-      present_type=present_type,
-      on_time_finish=on_time_finish,
-      gpu_composition=0,
-      jank_type=jank_type,
-      prediction_type=3)
-  trace.add_frame_end_event(ts=ts + dur, cookie=token_start + 3)
+  trace.add_frame_end_event(ts=ts + dur, cookie=cookie)
 
 
 trace = synth_common.create_trace()
@@ -141,7 +127,7 @@
 trace.add_ftrace_packet(cpu=0)
 trace.add_atrace_async_begin(ts=10, tid=PID, pid=PID, buf="J<SHADE_ROW_EXPAND>")
 trace.add_atrace_async_end(
-    ts=401_000_010, tid=PID, pid=PID, buf="J<SHADE_ROW_EXPAND>")
+    ts=901_000_010, tid=PID, pid=PID, buf="J<SHADE_ROW_EXPAND>")
 
 add_frame(
     trace,
@@ -325,10 +311,38 @@
 add_render_thread_atrace(
     trace, ts=415_000_000, ts_end=418_000_000, buf="dispatchFrameCallbacks")
 
-# One more frame after the CUJ is finished
+# Frame start delayed by 50ms by a long binder transaction
+add_main_thread_atrace(
+    trace, ts=500_000_000, ts_end=549_500_000, buf="binder transaction")
+
 add_frame(
     trace,
     vsync=130,
+    ts_do_frame=550_000_000,
+    ts_end_do_frame=555_000_000,
+    ts_draw_frame=552_000_000,
+    ts_end_draw_frame=556_000_000,
+    ts_gpu=None,
+    ts_end_gpu=None)
+
+# Frame start delayed by 8ms by a long binder transaction
+add_main_thread_atrace(
+    trace, ts=600_000_000, ts_end=608_049_000, buf="binder transaction")
+
+add_frame(
+    trace,
+    vsync=140,
+    ts_do_frame=608_500_000,
+    ts_end_do_frame=610_000_000,
+    ts_draw_frame=609_000_000,
+    ts_end_draw_frame=626_000_000,
+    ts_gpu=None,
+    ts_end_gpu=None)
+
+# One more frame after the CUJ is finished
+add_frame(
+    trace,
+    vsync=140,
     ts_do_frame=1_100_000_000,
     ts_end_do_frame=1_200_000_000,
     ts_draw_frame=1_150_000_000,
@@ -336,23 +350,54 @@
     ts_gpu=1_400_000_000,
     ts_end_gpu=1_500_000_000)
 
-add_display_frame_events(ts=1, dur=16_000_000, token_start=10)
-add_display_frame_events(ts=8_000_000, dur=28_000_000, token_start=20, jank=66)
-add_display_frame_events(ts=30_000_000, dur=25_000_000, token_start=30, jank=64)
-add_display_frame_events(ts=40_000_000, dur=40_000_000, token_start=40, jank=64)
-add_display_frame_events(ts=70_000_000, dur=20_000_000, token_start=60, jank=64)
-add_display_frame_events(
-    ts=100_000_000, dur=23_000_000, token_start=90, jank=64)
-add_display_frame_events(
+add_expected_frame_events(ts=0, dur=16_000_000, token_start=10)
+add_actual_frame_events(ts=0, dur=16_000_000, token_start=10)
+
+add_expected_frame_events(ts=8_000_000, dur=20_000_000, token_start=20)
+add_actual_frame_events(ts=8_000_000, dur=28_000_000, token_start=20, jank=66)
+
+add_expected_frame_events(ts=30_000_000, dur=20_000_000, token_start=30)
+add_actual_frame_events(ts=30_000_000, dur=25_000_000, token_start=30, jank=64)
+
+add_expected_frame_events(ts=40_000_000, dur=20_000_000, token_start=40)
+add_actual_frame_events(ts=40_000_000, dur=40_000_000, token_start=40, jank=64)
+
+add_expected_frame_events(ts=70_000_000, dur=20_000_000, token_start=60)
+add_actual_frame_events(ts=70_000_000, dur=10_000_000, token_start=60, jank=64)
+add_actual_frame_events(
+    ts=70_000_000, dur=20_000_000, token_start=60, cookie=62, jank=64)
+
+add_expected_frame_events(ts=100_000_000, dur=20_000_000, token_start=90)
+add_actual_frame_events(ts=100_000_000, dur=23_000_000, token_start=90, jank=64)
+
+add_expected_frame_events(ts=200_000_000, dur=20_000_000, token_start=100)
+add_actual_frame_events(
     ts=200_000_000, dur=22_000_000, token_start=100, jank=34)
-add_display_frame_events(ts=300_000_000, dur=61_000_000, token_start=110)
-add_display_frame_events(
+
+add_expected_frame_events(ts=300_000_000, dur=20_000_000, token_start=110)
+add_actual_frame_events(ts=300_000_000, dur=61_000_000, token_start=110)
+
+add_expected_frame_events(ts=400_000_000, dur=20_000_000, token_start=120)
+add_actual_frame_events(
     ts=400_000_000,
     dur=61_000_000,
     token_start=120,
     jank=128,
     on_time_finish_override=1)
-add_display_frame_events(
-    ts=1_100_000_000, dur=500_000_000, token_start=130, jank=64)
+
+# Multiple layers but only one of them janked (the one we care about)
+add_expected_frame_events(ts=500_000_000, dur=20_000_000, token_start=130)
+add_actual_frame_events(ts=500_000_000, dur=2_000_000, token_start=130)
+add_actual_frame_events(
+    ts=550_000_000, dur=6_000_000, token_start=130, cookie=132, jank=64)
+
+# Single layer but actual frame event is slighly after doFrame start
+add_expected_frame_events(ts=600_000_000, dur=20_000_000, token_start=140)
+add_actual_frame_events(
+    ts=608_600_000, dur=17_000_000, token_start=140, jank=64)
+
+add_expected_frame_events(ts=1_100_000_000, dur=20_000_000, token_start=1000)
+add_actual_frame_events(
+    ts=1_100_000_000, dur=500_000_000, token_start=1000, jank=64)
 
 sys.stdout.buffer.write(trace.trace.SerializeToString())
diff --git a/test/trace_processor/graphics/android_sysui_cuj_event.out b/test/trace_processor/graphics/android_sysui_cuj_event.out
index 4519815..e5104e8 100644
--- a/test/trace_processor/graphics/android_sysui_cuj_event.out
+++ b/test/trace_processor/graphics/android_sysui_cuj_event.out
@@ -6,3 +6,5 @@
 "slice","SHADE_ROW_EXPAND - jank cause",70000000,10000000,"RenderThread - scheduler"
 "slice","SHADE_ROW_EXPAND - jank cause",100000000,15000000,"GPU completion - long completion time"
 "slice","SHADE_ROW_EXPAND - jank cause",200000000,15000000,"SurfaceFlinger GPU Deadline Missed,SurfaceFlinger Scheduling"
+"slice","SHADE_ROW_EXPAND - jank cause",500000000,55000000,"MainThread - binder transaction time"
+"slice","SHADE_ROW_EXPAND - jank cause",600000000,10000000,"MainThread - binder transaction time"
diff --git a/test/trace_processor/include_index b/test/trace_processor/include_index
index 7405914..4152371 100644
--- a/test/trace_processor/include_index
+++ b/test/trace_processor/include_index
@@ -1,4 +1,5 @@
 camera/index
+cros/index
 chrome/index
 dynamic/index
 fuchsia/index
@@ -15,3 +16,4 @@
 track_event/index
 network/index
 performance/index
+io/index
diff --git a/test/trace_processor/io/index b/test/trace_processor/io/index
new file mode 100644
index 0000000..1200ca9
--- /dev/null
+++ b/test/trace_processor/io/index
@@ -0,0 +1,2 @@
+# UFS command
+ufshcd_command.textproto ufshcd_command.sql ufshcd_command.out
diff --git a/test/trace_processor/io/ufshcd_command.out b/test/trace_processor/io/ufshcd_command.out
new file mode 100644
index 0000000..6be82e6
--- /dev/null
+++ b/test/trace_processor/io/ufshcd_command.out
@@ -0,0 +1,5 @@
+"ts","value"
+10000,1.000000
+10008,2.000000
+10010,3.000000
+10011,1.000000
diff --git a/test/trace_processor/io/ufshcd_command.sql b/test/trace_processor/io/ufshcd_command.sql
new file mode 100644
index 0000000..b1408a2
--- /dev/null
+++ b/test/trace_processor/io/ufshcd_command.sql
@@ -0,0 +1,11 @@
+SELECT
+  ts,
+  value
+FROM
+  counter AS c
+  JOIN
+  counter_track AS ct
+  ON c.track_id = ct.id
+WHERE
+  ct.name = "UFS Command Count"
+ORDER BY ts
diff --git a/test/trace_processor/io/ufshcd_command.textproto b/test/trace_processor/io/ufshcd_command.textproto
new file mode 100644
index 0000000..35a0fea
--- /dev/null
+++ b/test/trace_processor/io/ufshcd_command.textproto
@@ -0,0 +1,52 @@
+packet {
+  ftrace_events {
+    cpu: 0
+    event {
+      timestamp: 10000
+      pid: 200
+      ufshcd_command {
+        dev_name: "cat"
+        doorbell: 0x200
+      }
+    }
+  }
+}
+packet {
+  ftrace_events {
+    cpu: 1
+    event {
+      timestamp: 10008
+      pid: 300
+      ufshcd_command {
+        dev_name: "cat"
+        doorbell: 0x240
+      }
+    }
+  }
+}
+packet {
+  ftrace_events {
+    cpu: 2
+    event {
+      timestamp: 10010
+      pid: 400
+      ufshcd_command {
+        dev_name: "dd"
+        doorbell: 0x111
+      }
+    }
+  }
+}
+packet {
+  ftrace_events {
+    cpu: 1
+    event {
+      timestamp: 10011
+      pid: 500
+      ufshcd_command {
+        dev_name: "dd"
+        doorbell: 0x400
+      }
+    }
+  }
+}
diff --git a/test/trace_processor/network/index b/test/trace_processor/network/index
index 3f8fa33..01ad31b 100644
--- a/test/trace_processor/network/index
+++ b/test/trace_processor/network/index
@@ -5,3 +5,4 @@
 inet_sock_set_state.textproto inet_sock_set_state.sql inet_sock_set_state.out
 tcp_retransmit_skb.textproto tcp_retransmit_skb.sql tcp_retransmit_skb.out
 napi_gro_receive.textproto napi_gro_receive.sql napi_gro_receive.out
+kfree_skb.textproto kfree_skb.sql kfree_skb.out
\ No newline at end of file
diff --git a/test/trace_processor/network/kfree_skb.out b/test/trace_processor/network/kfree_skb.out
new file mode 100644
index 0000000..6db1bd9
--- /dev/null
+++ b/test/trace_processor/network/kfree_skb.out
@@ -0,0 +1,4 @@
+"ts","value","prot"
+10000,1.000000,"IP"
+10020,2.000000,"IPV6"
+20020,3.000000,"IP"
diff --git a/test/trace_processor/network/kfree_skb.sql b/test/trace_processor/network/kfree_skb.sql
new file mode 100644
index 0000000..6ec2056
--- /dev/null
+++ b/test/trace_processor/network/kfree_skb.sql
@@ -0,0 +1,12 @@
+SELECT
+  ts,
+  value,
+  EXTRACT_ARG(arg_set_id, 'protocol') AS prot
+FROM
+  counter AS c
+  LEFT JOIN
+  counter_track AS t
+  ON c.track_id = t.id
+WHERE
+  name GLOB "Kfree Skb IP Prot"
+ORDER BY ts;
diff --git a/test/trace_processor/network/kfree_skb.textproto b/test/trace_processor/network/kfree_skb.textproto
new file mode 100644
index 0000000..6956831
--- /dev/null
+++ b/test/trace_processor/network/kfree_skb.textproto
@@ -0,0 +1,48 @@
+packet {
+  ftrace_events {
+    cpu: 2
+    event {
+      timestamp: 10000
+      pid: 200
+      kfree_skb {
+        protocol: 2048
+      }
+    }
+  }
+}
+packet {
+  ftrace_events {
+    cpu: 2
+    event {
+      timestamp: 10020
+      pid: 300
+      kfree_skb {
+        protocol: 34525
+      }
+    }
+  }
+}
+packet {
+  ftrace_events {
+    cpu: 2
+    event {
+      timestamp: 20000
+      pid: 200
+      kfree_skb {
+        protocol: 1536
+      }
+    }
+  }
+}
+packet {
+  ftrace_events {
+    cpu: 2
+    event {
+      timestamp: 20020
+      pid: 300
+      kfree_skb {
+        protocol: 2048
+      }
+    }
+  }
+}
diff --git a/test/trace_processor/network/netperf_metric.out b/test/trace_processor/network/netperf_metric.out
index 0077d53..cbb642e 100644
--- a/test/trace_processor/network/netperf_metric.out
+++ b/test/trace_processor/network/netperf_metric.out
@@ -143,4 +143,5 @@
     avg_interstack_latency_ms: 0.4
   }
   retransmission_rate: 20.0
+  kfree_skb_rate: 10.0
 }
diff --git a/test/trace_processor/network/netperf_metric.textproto b/test/trace_processor/network/netperf_metric.textproto
index 0e478a9..60d196e 100644
--- a/test/trace_processor/network/netperf_metric.textproto
+++ b/test/trace_processor/network/netperf_metric.textproto
@@ -32,6 +32,13 @@
       }
     }
     event {
+      timestamp: 99999945
+      pid: 200
+      kfree_skb {
+        protocol: 2048
+      }
+    }
+    event {
      timestamp: 100000000
      pid: 200
      cpu_frequency {
@@ -88,6 +95,13 @@
   ftrace_events {
     cpu: 1
     event {
+      timestamp: 1119999800
+      pid: 200
+      kfree_skb {
+        protocol: 600
+      }
+    }
+    event {
       timestamp: 119999900
       pid: 200
       napi_gro_receive_entry {
diff --git a/test/trace_processor/parsing/android_sched_and_ps_stats.out b/test/trace_processor/parsing/android_sched_and_ps_stats.out
index fcc2279..a3db195 100644
--- a/test/trace_processor/parsing/android_sched_and_ps_stats.out
+++ b/test/trace_processor/parsing/android_sched_and_ps_stats.out
@@ -175,6 +175,7 @@
 "ftrace_cpu_read_events_delta",5,"info","trace",23232
 "ftrace_cpu_read_events_delta",6,"info","trace",36733
 "ftrace_cpu_read_events_delta",7,"info","trace",39240
+"traced_buf_abi_violations",0,"data_loss","trace",0
 "traced_buf_buffer_size",0,"info","trace",0
 "traced_buf_bytes_overwritten",0,"info","trace",0
 "traced_buf_bytes_read",0,"info","trace",0
diff --git a/test/trace_processor/parsing/systrace_html.out b/test/trace_processor/parsing/systrace_html.out
index fccba89..7bc9203 100644
--- a/test/trace_processor/parsing/systrace_html.out
+++ b/test/trace_processor/parsing/systrace_html.out
@@ -3022,8 +3022,8 @@
 6824713437995000,7,43000,6824713438038000,0,"R",120,"[NULL]","swapper",0
 6824713438009000,6,19000,6824713438028000,630,"S",100,630,"kworker/u17:1",1134
 6824713438028000,6,10000,6824713438038000,669,"S",120,669,"kworker/6:1",14833
-6824713438038000,7,7000,6824713438045000,2487,"S",120,739,"UsbFfs-worker",20308
 6824713438038000,6,283000,6824713438321000,0,"R",120,"[NULL]","swapper",0
+6824713438038000,7,7000,6824713438045000,2487,"S",120,739,"UsbFfs-worker",20308
 6824713438045000,7,470000,6824713438515000,0,"R",120,"[NULL]","swapper",0
 6824713438321000,6,20000,6824713438341000,630,"S",100,630,"kworker/u17:1",1134
 6824713438341000,6,34000,6824713438375000,0,"R",120,"[NULL]","swapper",0
@@ -3194,8 +3194,8 @@
 6824713461977000,0,38000,6824713462015000,0,"R",120,"[NULL]","swapper",0
 6824713462015000,0,162000,6824713462177000,771,"S",97,493,"DispSync",676
 6824713462129000,1,262000,6824713462391000,0,"R",120,"[NULL]","swapper",0
-6824713462177000,2,255000,6824713462432000,773,"S",97,493,"app",678
 6824713462177000,0,142000,6824713462319000,0,"R",120,"[NULL]","swapper",0
+6824713462177000,2,255000,6824713462432000,773,"S",97,493,"app",678
 6824713462319000,0,1790000,6824713464109000,644,"S",120,644,"ndroid.systemui",1664
 6824713462391000,1,75000,6824713462466000,771,"S",97,493,"DispSync",676
 6824713462432000,2,1186000,6824713463618000,0,"R",120,"[NULL]","swapper",0
diff --git a/test/trace_processor/parsing/systrace_html.sql b/test/trace_processor/parsing/systrace_html.sql
index 55236aa..e94b82a 100644
--- a/test/trace_processor/parsing/systrace_html.sql
+++ b/test/trace_processor/parsing/systrace_html.sql
@@ -13,4 +13,7 @@
 -- See the License for the specific language governing permissions and
 -- limitations under the License.
 --
-select ts, cpu, dur, ts_end, utid, end_state, priority, upid, name, tid  from sched join thread using(utid) order by ts
\ No newline at end of file
+select ts, cpu, dur, ts_end, utid, end_state, priority, upid, name, tid
+from sched
+join thread using(utid)
+order by ts;
diff --git a/test/trace_processor/performance/cpu_frequency_limits.out b/test/trace_processor/performance/cpu_frequency_limits.out
new file mode 100644
index 0000000..1c4348f
--- /dev/null
+++ b/test/trace_processor/performance/cpu_frequency_limits.out
@@ -0,0 +1,13 @@
+"ts","value","cpu"
+90000000,2800000.000000,"Cpu 6 Max"
+90000000,500000.000000,"Cpu 6 Min"
+100000000,1700000.000000,"Cpu 6 Max"
+100000000,500000.000000,"Cpu 6 Min"
+110000000,2800000.000000,"Cpu 6 Max"
+110000000,1400000.000000,"Cpu 6 Min"
+120000000,1500000.000000,"Cpu 6 Max"
+120000000,500000.000000,"Cpu 6 Min"
+120000000,1400000.000000,"Cpu 4 Max"
+120000000,600000.000000,"Cpu 4 Min"
+130000000,2200000.000000,"Cpu 4 Max"
+130000000,800000.000000,"Cpu 4 Min"
diff --git a/test/trace_processor/performance/cpu_frequency_limits.sql b/test/trace_processor/performance/cpu_frequency_limits.sql
new file mode 100644
index 0000000..06e1852
--- /dev/null
+++ b/test/trace_processor/performance/cpu_frequency_limits.sql
@@ -0,0 +1,12 @@
+SELECT
+  ts,
+  value, 
+  REPLACE(name, " Freq Limit", "") AS cpu
+FROM
+  counter AS c
+  LEFT JOIN
+  counter_track AS t
+  ON c.track_id = t.id
+WHERE
+  name GLOB "* Freq Limit"
+ORDER BY ts;
diff --git a/test/trace_processor/performance/cpu_frequency_limits.textproto b/test/trace_processor/performance/cpu_frequency_limits.textproto
new file mode 100644
index 0000000..2ad9ac0
--- /dev/null
+++ b/test/trace_processor/performance/cpu_frequency_limits.textproto
@@ -0,0 +1,84 @@
+packet {
+  ftrace_events {
+    cpu: 0
+    event {
+      timestamp: 90000000
+      pid: 200
+      cpu_frequency_limits {
+        max_freq: 2800000
+        min_freq: 500000
+        cpu_id: 6
+      }
+    }
+  }
+}
+packet {
+  ftrace_events {
+    cpu: 0
+    event {
+      timestamp: 100000000
+      pid: 500
+      cpu_frequency_limits {
+        max_freq: 1700000
+        min_freq: 500000
+        cpu_id: 6
+      }
+    }
+  }
+}
+packet {
+  ftrace_events {
+    cpu: 0
+    event {
+      timestamp: 110000000
+      pid: 80
+      cpu_frequency_limits {
+        max_freq: 2800000
+        min_freq: 1400000
+        cpu_id: 6
+      }
+    }
+  }
+}
+packet {
+  ftrace_events {
+    cpu: 0
+    event {
+      timestamp: 120000000
+      pid: 300
+      cpu_frequency_limits {
+        max_freq: 1500000
+        min_freq: 500000
+        cpu_id: 6
+      }
+    }
+  }
+}
+packet {
+  ftrace_events {
+    cpu: 4
+    event {
+      timestamp: 120000000
+      pid: 300
+      cpu_frequency_limits {
+        max_freq: 1400000
+        min_freq: 600000
+        cpu_id: 4
+      }
+    }
+  }
+}
+packet {
+  ftrace_events {
+    cpu: 4
+    event {
+      timestamp: 130000000
+      pid: 600
+      cpu_frequency_limits {
+        max_freq: 2200000
+        min_freq: 800000
+        cpu_id: 4
+      }
+    }
+  }
+}
diff --git a/test/trace_processor/performance/index b/test/trace_processor/performance/index
index 9687108..484f717 100644
--- a/test/trace_processor/performance/index
+++ b/test/trace_processor/performance/index
@@ -1,2 +1,4 @@
 # IRQ max runtime and count over 1ms
 irq_runtime_metric.textproto android_irq_runtime irq_runtime_metric.out
+# CPU frequency maximum & minimum limits change
+cpu_frequency_limits.textproto cpu_frequency_limits.sql cpu_frequency_limits.out
diff --git a/test/trace_processor/power/index b/test/trace_processor/power/index
index cb4e178..09028cc 100644
--- a/test/trace_processor/power/index
+++ b/test/trace_processor/power/index
@@ -7,3 +7,4 @@
 # Dynamic Voltage and Frequency Scaling
 
 dvfs_metric.textproto android_dvfs dvfs_metric.out
+wakesource.textproto wakesource.sql wakesource_wakesource.out
diff --git a/test/trace_processor/power/wakesource.sql b/test/trace_processor/power/wakesource.sql
new file mode 100644
index 0000000..8497e87
--- /dev/null
+++ b/test/trace_processor/power/wakesource.sql
@@ -0,0 +1,5 @@
+SELECT ts, dur, slice.name
+FROM slice
+JOIN track on slice.track_id = track.id
+WHERE track.name GLOB 'Wakelock*'
+ORDER BY ts
diff --git a/test/trace_processor/power/wakesource.textproto b/test/trace_processor/power/wakesource.textproto
new file mode 100644
index 0000000..e5ffb8d
--- /dev/null
+++ b/test/trace_processor/power/wakesource.textproto
@@ -0,0 +1,88 @@
+packet {
+  ftrace_events: {
+    cpu: 0
+    event: {
+      timestamp: 34298714043271
+      pid: 38
+      wakeup_source_activate: {
+        name: "s2mpw02-power-keys"
+        state: 3376218114
+      }
+    }
+    event: {
+      timestamp: 34298714043273
+      pid: 38
+      wakeup_source_activate: {
+        name: "s2mpw02-power-keys"
+        state: 3376218114
+      }
+    }
+    event: {
+      timestamp: 34298721846504
+      pid: 11174
+      wakeup_source_activate: {
+        name: "event0"
+        state: 3376218115
+      }
+    }
+    event: {
+      timestamp: 34298721915735
+      pid: 11174
+      wakeup_source_deactivate: {
+        name: "s2mpw02-power-keys"
+        state: 3376283650
+      }
+    }
+    event: {
+      timestamp: 34298721915738
+      pid: 11174
+      wakeup_source_deactivate: {
+        name: "s2mpw02-power-keys"
+        state: 3376283651
+      }
+    }
+    event: {
+      timestamp: 34298721915739
+      pid: 38
+      wakeup_source_activate: {
+        name: "s2mpw02-power-keys"
+        state: 3376218114
+      }
+    }
+    event: {
+      timestamp: 34298721915755
+      pid: 11174
+      wakeup_source_deactivate: {
+        name: "s2mpw02-power-keys"
+        state: 3376283651
+      }
+    }
+    event: {
+      timestamp: 34298764569658
+      pid: 743
+      wakeup_source_activate: {
+        name: "eventpoll"
+        state: 3376414723
+      }
+    }
+    event: {
+      timestamp: 34298764579158
+      pid: 743
+      wakeup_source_deactivate: {
+        name: "event0"
+        state: 3376480258
+      }
+    }
+    event: {
+      timestamp: 34298764584196
+      pid: 743
+      wakeup_source_deactivate: {
+        name: "eventpoll"
+        state: 3376545793
+      }
+    }
+  }
+  trusted_uid: 0
+  trusted_packet_sequence_id: 2
+  trusted_pid: 11246
+}
diff --git a/test/trace_processor/power/wakesource_wakesource.out b/test/trace_processor/power/wakesource_wakesource.out
new file mode 100644
index 0000000..179e4f5
--- /dev/null
+++ b/test/trace_processor/power/wakesource_wakesource.out
@@ -0,0 +1,5 @@
+"ts","dur","name"
+34298714043271,7872467,"Wakelock(s2mpw02-power-keys)"
+34298721846504,42732654,"Wakelock(event0)"
+34298721915739,16,"Wakelock(s2mpw02-power-keys)"
+34298764569658,14538,"Wakelock(eventpoll)"
diff --git a/test/trace_processor/profiling/heap_graph_flamegraph_matches_objects.out b/test/trace_processor/profiling/heap_graph_flamegraph_matches_objects.out
new file mode 100644
index 0000000..031cd76
--- /dev/null
+++ b/test/trace_processor/profiling/heap_graph_flamegraph_matches_objects.out
@@ -0,0 +1,2 @@
+"upid","ts","total_objects_size","total_flamegraph_size"
+1,10,3000000036,3000000036
diff --git a/test/trace_processor/profiling/heap_graph_flamegraph_matches_objects.sql b/test/trace_processor/profiling/heap_graph_flamegraph_matches_objects.sql
new file mode 100644
index 0000000..59674af
--- /dev/null
+++ b/test/trace_processor/profiling/heap_graph_flamegraph_matches_objects.sql
@@ -0,0 +1,23 @@
+-- For each heap graph dump (upid, ts), builds a flamegraph and outputs:
+-- * total_objects_size: the sum of the size (native + java) of all the
+--   reachable objects
+-- * total_flamegraph_size: the sum of the cumulative size of the roots in the
+--   flamegraph
+-- If the flamegraph has been built correctly, the numbers should match.
+SELECT
+  obj.upid AS upid,
+  obj.graph_sample_ts AS ts,
+  SUM(obj.self_size + obj.native_size) AS total_objects_size,
+  (
+    SELECT SUM(cumulative_size)
+    FROM experimental_flamegraph
+    WHERE experimental_flamegraph.upid = obj.upid
+      AND experimental_flamegraph.ts = obj.graph_sample_ts
+      AND profile_type = 'graph'
+      AND depth = 0 -- only the roots
+  ) AS total_flamegraph_size
+FROM
+  heap_graph_object AS obj
+WHERE
+  obj.reachable != 0
+GROUP BY obj.upid, obj.graph_sample_ts
diff --git a/test/trace_processor/profiling/heap_graph_huge_size.textproto b/test/trace_processor/profiling/heap_graph_huge_size.textproto
new file mode 100644
index 0000000..7b6b0b0
--- /dev/null
+++ b/test/trace_processor/profiling/heap_graph_huge_size.textproto
@@ -0,0 +1,76 @@
+packet {
+  trusted_packet_sequence_id: 999
+  timestamp: 10
+  heap_graph {
+    pid: 2
+    types {
+      id: 54
+      location_id: 5
+      class_name: "java.lang.Object"
+      object_size: 8
+      kind: KIND_NOREFERENCES
+      classloader_id: 0
+    }
+    types {
+      id: 55
+      location_id: 5
+      class_name: "dev.perfetto.BigStuff"
+      object_size: 1000000000 # Three of these overflow signed 32-bit
+      superclass_id: 54
+      kind: KIND_NORMAL
+      classloader_id: 0
+    }
+    types {
+      id: 56
+      location_id: 5
+      class_name: "dev.perfetto.Container"
+      object_size: 36
+      superclass_id: 54
+      reference_field_id: 601 # obj1
+      reference_field_id: 602 # obj2
+      reference_field_id: 603 # obj3
+      kind: KIND_NORMAL
+      classloader_id: 0
+    }
+    objects {
+      id: 0x1
+      type_id: 55 # dev.perfetto.BigStuff
+    }
+    objects {
+      id: 0x2
+      type_id: 55 # dev.perfetto.BigStuff
+    }
+    objects {
+      id: 0x3
+      type_id: 55 # dev.perfetto.BigStuff
+    }
+    objects {
+      id: 0x4
+      type_id: 56 # dev.perfetto.Container
+      reference_object_id: 0x1 # obj1
+      reference_object_id: 0x2 # obj2
+      reference_object_id: 0x3 # obj3
+    }
+    roots {
+      object_ids: 0x4
+      root_type: ROOT_JAVA_FRAME
+    }
+    field_names {
+      iid: 601
+      str: "dev.perfetto.BigStuff dev.perfetto.Container.obj1"
+    }
+    field_names {
+      iid: 602
+      str: "dev.perfetto.BigStuff dev.perfetto.Container.obj2"
+    }
+    field_names {
+      iid: 603
+      str: "dev.perfetto.BigStuff dev.perfetto.Container.obj3"
+    }
+    location_names {
+      iid: 5
+      str: "/apex/com.android.art/javalib/core-oj.jar"
+    }
+    index: 0
+  }
+}
diff --git a/test/trace_processor/profiling/index b/test/trace_processor/profiling/index
index 1099a51..5c88ba1 100644
--- a/test/trace_processor/profiling/index
+++ b/test/trace_processor/profiling/index
@@ -32,6 +32,9 @@
 heap_graph_branching.textproto heap_graph_flamegraph_focused.sql heap_graph_flamegraph_focused.out
 heap_graph_superclass.textproto heap_graph_superclass.sql heap_graph_superclass.out
 heap_graph_native_size.textproto heap_graph_native_size.sql heap_graph_native_size.out
+# Regression test for b/222297079: when cumulative size in a flamegraph
+# overflows a signed 32-bit integer.
+heap_graph_huge_size.textproto heap_graph_flamegraph_matches_objects.sql heap_graph_flamegraph_matches_objects.out
 
 # TODO(b/153552977): Stop supporting legacy heap graphs. These never made
 #                    it into a public release, so we should eventually stop
diff --git a/test/trace_processor/tables/ftrace_setup_errors.out b/test/trace_processor/tables/ftrace_setup_errors.out
new file mode 100644
index 0000000..5309e54
--- /dev/null
+++ b/test/trace_processor/tables/ftrace_setup_errors.out
@@ -0,0 +1,7 @@
+"value"
+3
+"Ftrace event unknown: foo/bar
+Ftrace event unknown: sched/foobar
+Atrace failures: error: unknown tracing category "bar"
+error enabling tracing category "bar"
+"
diff --git a/test/trace_processor/tables/ftrace_setup_errors.sql b/test/trace_processor/tables/ftrace_setup_errors.sql
new file mode 100644
index 0000000..cc1b3c0
--- /dev/null
+++ b/test/trace_processor/tables/ftrace_setup_errors.sql
@@ -0,0 +1,3 @@
+SELECT value FROM stats WHERE name = 'ftrace_setup_errors'
+UNION ALL
+SELECT str_value FROM metadata WHERE name = 'ftrace_setup_errors'
diff --git a/test/trace_processor/tables/index b/test/trace_processor/tables/index
index 811c198..10b6d94 100644
--- a/test/trace_processor/tables/index
+++ b/test/trace_processor/tables/index
@@ -33,3 +33,6 @@
 
 # Processes as a metric
 process_uids.textproto android_task_names android_task_names.out
+
+# Ftrace stats imports in metadata and stats tables
+../../data/ftrace_error_stats.pftrace ftrace_setup_errors.sql ftrace_setup_errors.out
diff --git a/tools/BUILD.gn b/tools/BUILD.gn
index 37584e8..2328a16 100644
--- a/tools/BUILD.gn
+++ b/tools/BUILD.gn
@@ -37,12 +37,6 @@
       "skippy",
     ]
   }
-  if (enable_perfetto_tools_trace_to_text) {
-    deps += [
-      "trace_to_text",
-      "trace_to_text:trace_to_text_lite",
-    ]
-  }
 }
 
 if (is_linux && enable_perfetto_heapprofd) {
diff --git a/tools/ftrace_proto_gen/event_list b/tools/ftrace_proto_gen/event_list
index 948eb11..11bd455 100644
--- a/tools/ftrace_proto_gen/event_list
+++ b/tools/ftrace_proto_gen/event_list
@@ -361,3 +361,44 @@
 cros_ec/cros_ec_sensorhub_data
 net/napi_gro_receive_entry
 net/napi_gro_receive_exit
+skb/kfree_skb
+kvm/kvm_access_fault
+kvm/kvm_ack_irq
+kvm/kvm_age_hva
+kvm/kvm_age_page
+kvm/kvm_arm_clear_debug
+kvm/kvm_arm_set_dreg32
+kvm/kvm_arm_set_regset
+kvm/kvm_arm_setup_debug
+kvm/kvm_entry
+kvm/kvm_exit
+kvm/kvm_fpu
+kvm/kvm_get_timer_map
+kvm/kvm_guest_fault
+kvm/kvm_handle_sys_reg
+kvm/kvm_hvc_arm64
+kvm/kvm_irq_line
+kvm/kvm_mmio
+kvm/kvm_mmio_emulate
+kvm/kvm_set_guest_debug
+kvm/kvm_set_irq
+kvm/kvm_set_spte_hva
+kvm/kvm_set_way_flush
+kvm/kvm_sys_access
+kvm/kvm_test_age_hva
+kvm/kvm_timer_emulate
+kvm/kvm_timer_hrtimer_expire
+kvm/kvm_timer_restore_state
+kvm/kvm_timer_save_state
+kvm/kvm_timer_update_irq
+kvm/kvm_toggle_cache
+kvm/kvm_unmap_hva_range
+kvm/kvm_userspace_exit
+kvm/kvm_vcpu_wakeup
+kvm/kvm_wfx_arm64
+kvm/trap_reg
+kvm/vgic_update_irq_pending
+power/wakeup_source_activate
+power/wakeup_source_deactivate
+ufs/ufshcd_command
+ufs/ufshcd_clk_gating
diff --git a/tools/ftrace_proto_gen/proto_gen_utils.cc b/tools/ftrace_proto_gen/proto_gen_utils.cc
index 189c8f1..95a6531 100644
--- a/tools/ftrace_proto_gen/proto_gen_utils.cc
+++ b/tools/ftrace_proto_gen/proto_gen_utils.cc
@@ -38,8 +38,8 @@
   const std::string platform = "linux64";
 #endif
   base::Subprocess clang_fmt({"buildtools/" + platform + "/clang-format"});
-  clang_fmt.args.stdout_mode = base::Subprocess::kBuffer;
-  clang_fmt.args.stderr_mode = base::Subprocess::kInherit;
+  clang_fmt.args.stdout_mode = base::Subprocess::OutputMode::kBuffer;
+  clang_fmt.args.stderr_mode = base::Subprocess::OutputMode::kInherit;
   clang_fmt.args.input = input;
   PERFETTO_CHECK(clang_fmt.Call());
   return std::move(clang_fmt.output());
diff --git a/tools/gen_android_bp b/tools/gen_android_bp
index 15576f0..0345604 100755
--- a/tools/gen_android_bp
+++ b/tools/gen_android_bp
@@ -303,13 +303,13 @@
   elif module.host_supported:
     # Copy what the sqlite3 command line tool does.
     module.android.shared_libs.add('libsqlite')
-    module.android.shared_libs.add('libandroidicu')
+    module.android.shared_libs.add('libicu')
     module.android.shared_libs.add('liblog')
     module.android.shared_libs.add('libutils')
     module.host.static_libs.add('libsqlite')
   else:
     module.shared_libs.add('libsqlite')
-    module.shared_libs.add('libandroidicu')
+    module.shared_libs.add('libicu')
     module.shared_libs.add('liblog')
     module.shared_libs.add('libutils')
 
diff --git a/tools/gen_bazel b/tools/gen_bazel
index e5c7f82..79bd4e8 100755
--- a/tools/gen_bazel
+++ b/tools/gen_bazel
@@ -25,6 +25,7 @@
 
 from __future__ import print_function
 import argparse
+import itertools
 import json
 import os
 import re
@@ -74,22 +75,22 @@
     '//tools/proto_merger:proto_merger',
 ] + public_targets
 
-# Root proto targets (to force discovery of intermediate proto targets).
-# These targets are marked public.
-proto_targets = [
-    '//protos/perfetto/trace:merged_trace_source_set',
-    '//protos/perfetto/trace:non_minimal_lite',
+# Proto target groups which will be made public.
+proto_groups = {
+  'config': [
+    '//protos/perfetto/config:source_set'
+  ],
+  'trace': [
     '//protos/perfetto/trace:non_minimal_source_set',
-    '//protos/perfetto/config:merged_config_source_set',
-    '//protos/perfetto/metrics:lite',
+    '//protos/perfetto/trace:minimal_source_set'
+  ],
+  'metrics': [
     '//protos/perfetto/metrics:source_set',
-    '//protos/perfetto/metrics/android:lite',
-    '//protos/perfetto/metrics/android:source_set',
-    '//protos/perfetto/trace:source_set',
-    '//protos/perfetto/config:source_set',
-    '//protos/third_party/chromium:lite',
+  ],
+  'chromium': [
     '//protos/third_party/chromium:source_set',
-]
+  ],
+}
 
 # Path for the protobuf sources in the standalone build.
 buildtools_protobuf_src = '//buildtools/protobuf/src'
@@ -257,15 +258,17 @@
   return gn_utils.label_to_target_name_with_path(gn_name)
 
 
+def get_bazel_proto_sources_label(target_name):
+  """Converts a GN target name into a Bazel proto label name."""
+  return re.sub('_(lite|zero|cpp|ipc|source_set|descriptor)$', '',
+                get_bazel_label_name(target_name)) + '_protos'
+
+
 def gen_proto_label(target):
   """ Generates the xx_proto_library label for proto targets."""
   assert (target.type == 'proto_library')
 
-  def get_sources_label(target_name):
-    return re.sub('_(lite|zero|cpp|ipc|source_set|descriptor)$', '',
-                  get_bazel_label_name(target_name)) + '_protos'
-
-  sources_label_name = get_sources_label(target.name)
+  sources_label_name = get_bazel_proto_sources_label(target.name)
 
   # For 'source_set' plugins, we don't want to generate any plugin-dependent
   # targets so just return the label of the proto sources only.
@@ -276,7 +279,7 @@
     assert (all(x.endswith('.proto') for x in target.sources))
     sources_label.srcs = sorted([x[2:] for x in target.sources])  # Strip //.
     sources_label.deps = sorted(
-        [':' + get_sources_label(x) for x in target.proto_deps])
+        [':' + get_bazel_proto_sources_label(x) for x in target.proto_deps])
 
     # In Bazel, proto_paths are not a supported concept becauase strong
     # dependency checking is enabled. Instead, we need to depend on the target
@@ -289,13 +292,10 @@
           'PERFETTO_CONFIG.deps.protobuf_descriptor_proto'
       ]
 
-    if target.name in proto_targets:
-      sources_label.visibility = PUBLIC_VISIBILITY
-    else:
-      sources_label.visibility = ['PERFETTO_CONFIG.proto_library_visibility']
+    sources_label.visibility = ['PERFETTO_CONFIG.proto_library_visibility']
 
     sources_label.exports = sorted([
-      ':' + get_sources_label(d) for d in target.proto_exports
+      ':' + get_bazel_proto_sources_label(d) for d in target.proto_exports
     ])
     return sources_label
 
@@ -332,7 +332,7 @@
   # implicit.
   if target.proto_plugin == 'descriptor':
     plugin_label.deps += [
-      ':' + get_sources_label(x) for x in target.proto_deps
+      ':' + get_bazel_proto_sources_label(x) for x in target.proto_deps
     ]
   else:
     plugin_label.deps += [':' + sources_label_name]
@@ -345,6 +345,56 @@
   return plugin_label
 
 
+def gen_proto_group_target(gn, name, target_names):
+  # Get a recursive list of the proto_library targets rooted here which
+  # have src.
+  deps_set = set()
+  def recursive_deps(name, deps_set):
+    target = gn.get_target(name)
+    deps_set.add(target.name)
+    for name in target.proto_deps:
+      recursive_deps(name, deps_set)
+
+  for n in target_names:
+    recursive_deps(n, deps_set)
+
+  deps_list = sorted(list(deps_set))
+  comment = f'''[{', '.join(target_names)}]'''
+
+  # First, create a root source set target which references all the child
+  # source set targets. We publish this as well as depending on this in all
+  # subsequent targets.
+  sources_label = BazelLabel(name + '_proto', 'perfetto_proto_library')
+  sources_label.deps = [
+    ':' + get_bazel_proto_sources_label(name) for name in deps_set
+  ]
+  sources_label.visibility = PUBLIC_VISIBILITY
+  sources_label.comment = comment
+
+  # Next we create a cc proto target depending on the source set target.
+  cc_label = BazelLabel(name + '_cc_proto', 'perfetto_cc_proto_library')
+  cc_label.deps = [':' + sources_label.name]
+  cc_label.visibility = PUBLIC_VISIBILITY
+  cc_label.comment = comment
+
+  # Next we create a java proto target depending on the source set
+  # target.
+  java_label = BazelLabel(name + '_java_proto', 'perfetto_java_proto_library')
+  java_label.deps = [':' + sources_label.name]
+  java_label.visibility = PUBLIC_VISIBILITY
+  java_label.comment = comment
+
+  # Finally we create a java lite proto target depending on the source
+  # set target.
+  lite_name = name + '_java_proto_lite'
+  java_lite_label = BazelLabel(lite_name, 'perfetto_java_lite_proto_library')
+  java_lite_label.deps = [':' + sources_label.name]
+  java_lite_label.visibility = PUBLIC_VISIBILITY
+  java_lite_label.comment = comment
+
+  return [sources_label, cc_label, java_label, java_lite_label]
+
+
 def gen_target(gn_target):
   if gn_target.type == 'proto_library':
     return [gen_proto_label(gn_target)]
@@ -511,9 +561,9 @@
 # ##############################################################################
 
 '''.lstrip()
-  # Force discovery of explicilty listed root proto targets.
-  for target_name in sorted(proto_targets):
-    gn.get_target(target_name)
+  # Generate targets for proto groups.
+  for l_name, t_names in proto_groups.items():
+    res += ''.join(str(x) for x in gen_proto_group_target(gn, l_name, t_names))
 
   # For any non-source set and non-descriptor targets, ensure the source set
   # associated to that target is discovered.
@@ -541,7 +591,7 @@
   res += extras
 
   # Check for ODR violations
-  for target_name in default_targets + proto_targets:
+  for target_name in default_targets:
     checker = gn_utils.ODRChecker(gn, target_name)
 
   return res
diff --git a/tools/install-build-deps b/tools/install-build-deps
index 2d9d595..bd9100c 100755
--- a/tools/install-build-deps
+++ b/tools/install-build-deps
@@ -618,8 +618,10 @@
       InstallNodeModules(force_clean=nodejs_updated)
 
   cur_python_interpreter = sys.executable
-  test_data_synced = 0 == subprocess.call(
-      [cur_python_interpreter, TEST_DATA_SCRIPT, 'status', '--quiet'])
+  test_data_synced = 0 == subprocess.call([
+      cur_python_interpreter, TEST_DATA_SCRIPT, 'status', '--quiet',
+      '--ignore-new'
+  ])
   if args.check_only:
     if not deps_updated and test_data_synced:
       with open(args.check_only, 'w') as f:
@@ -629,6 +631,8 @@
         [x for x in sys.argv[1:] if not x.startswith('--check-only')])
     print('\033[91mBuild deps are stale. ' +
           'Please run tools/install-build-deps %s\033[0m' % argz)
+    if not test_data_synced:
+      print('//test/data/ is out of sync. `tools/test_data status` for details')
     return 1
 
   if not test_data_synced:
diff --git a/tools/measure_tp_performance.py b/tools/measure_tp_performance.py
new file mode 100755
index 0000000..e5e09ce
--- /dev/null
+++ b/tools/measure_tp_performance.py
@@ -0,0 +1,169 @@
+#!/usr/bin/env python3
+# Copyright (C) 2021 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import argparse
+import os
+import re
+import signal
+import sys
+import subprocess
+
+import psutil
+
+ROOT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
+
+REGEX = re.compile(
+    '.*Trace loaded: ([0-9.]+) MB in ([0-9.]+)s \(([0-9.]+) MB/s\)')
+
+
+def run_tp_until_ingestion(args, env):
+  tp_args = [os.path.join(args.out, 'trace_processor_shell'), args.trace_file]
+  if not args.ftrace_raw:
+    tp_args.append('--no-ftrace-raw')
+  tp = subprocess.Popen(
+      tp_args,
+      stdin=subprocess.PIPE,
+      stdout=subprocess.DEVNULL,
+      stderr=subprocess.PIPE,
+      universal_newlines=True,
+      env=env)
+
+  lines = []
+  while True:
+    line = tp.stderr.readline()
+    lines.append(line)
+
+    match = REGEX.match(line)
+    if match:
+      break
+
+    if tp.poll():
+      break
+
+  ret = tp.poll()
+  fail = ret is not None and ret > 0
+  if fail:
+    print("Failed")
+    for line in lines:
+      sys.stderr.write(line)
+  return tp, fail, match[2]
+
+
+def heap_profile_run(args, dump_at_max: bool):
+  profile_args = [
+      os.path.join(ROOT_DIR, 'tools', 'heap_profile'), '-i', '1', '-n',
+      'trace_processor_shell', '--print-config'
+  ]
+  if dump_at_max:
+    profile_args.append('--dump-at-max')
+  config = subprocess.check_output(
+      profile_args,
+      stderr=subprocess.DEVNULL,
+  )
+
+  out_file = os.path.join(
+      args.result, args.result_prefix + ('max' if dump_at_max else 'rest'))
+  perfetto_args = [
+      os.path.join(args.out, 'perfetto'), '-c', '-', '--txt', '-o', out_file
+  ]
+  profile = subprocess.Popen(
+      perfetto_args,
+      stdin=subprocess.PIPE,
+      stdout=subprocess.DEVNULL,
+      stderr=subprocess.DEVNULL)
+  profile.stdin.write(config)
+  profile.stdin.close()
+
+  env = {
+      'LD_PRELOAD': os.path.join(args.out, 'libheapprofd_glibc_preload.so'),
+      'TRACE_PROCESSOR_NO_MMAP': '1',
+      'PERFETTO_HEAPPROFD_BLOCKING_INIT': '1'
+  }
+  (tp, fail, _) = run_tp_until_ingestion(args, env)
+
+  profile.send_signal(signal.SIGINT)
+  profile.wait()
+
+  tp.stdin.close()
+  tp.wait()
+
+  if fail:
+    os.remove(out_file)
+
+
+def regular_run(args):
+  env = {'TRACE_PROCESSOR_NO_MMAP': '1'}
+  (tp, fail, time) = run_tp_until_ingestion(args, env)
+
+  p = psutil.Process(tp.pid)
+  mem = 0
+  for m in p.memory_maps():
+    mem += m.anonymous
+
+  tp.stdin.close()
+  tp.wait()
+
+  print(f'Time taken: {time}s, Memory: {mem / 1024.0 / 1024.0}MB')
+
+
+def only_sort_run(args):
+  env = {
+      'TRACE_PROCESSOR_NO_MMAP': '1',
+      'TRACE_PROCESSOR_SORT_ONLY': '1',
+  }
+  (tp, fail, time) = run_tp_until_ingestion(args, env)
+
+  tp.stdin.close()
+  tp.wait()
+
+  print(f'Time taken: {time}s')
+
+
+def main():
+  parser = argparse.ArgumentParser(
+      description="This script measures the running time of "
+      "ingesting a trace with trace processor as well as profiling "
+      "trace processor's memory usage with heapprofd")
+  parser.add_argument('--out', type=str, help='Out directory', required=True)
+  parser.add_argument(
+      '--result', type=str, help='Result directory', required=True)
+  parser.add_argument(
+      '--result-prefix', type=str, help='Result file prefix', required=True)
+  parser.add_argument(
+      '--ftrace-raw',
+      action='store_true',
+      help='Whether to ingest ftrace into raw table',
+      default=False)
+  parser.add_argument('trace_file', type=str, help='Path to trace')
+  args = parser.parse_args()
+
+  traced = subprocess.Popen([os.path.join(args.out, 'traced')],
+                            stdout=subprocess.DEVNULL,
+                            stderr=subprocess.DEVNULL)
+  print('Heap profile dump at max')
+  heap_profile_run(args, dump_at_max=True)
+  print('Heap profile dump at resting')
+  heap_profile_run(args, dump_at_max=False)
+  print('Regular run')
+  regular_run(args)
+  print('Only sort run')
+  only_sort_run(args)
+
+  traced.send_signal(signal.SIGINT)
+  traced.wait()
+
+
+if __name__ == "__main__":
+  main()
diff --git a/tools/pull_ftrace_format_files.py b/tools/pull_ftrace_format_files.py
index 9f33df9..6926c01 100755
--- a/tools/pull_ftrace_format_files.py
+++ b/tools/pull_ftrace_format_files.py
@@ -34,7 +34,7 @@
   if serial:
     prefix += ['-s', serial]
   cmd = prefix + list(cmd)
-  output = subprocess.check_output(cmd).replace('\r', '')
+  output = subprocess.check_output(cmd, encoding='utf-8').replace('\r', '')
   return output
 
 
@@ -88,7 +88,7 @@
 def pull_format_files(serial, output_directory):
   # Pulling each file individually is 100x slower so we pipe all together then
   # split them on the host.
-  cmd = "find /sys/kernel/debug/tracing/ " \
+  cmd = "find /sys/kernel/tracing/ " \
       "-name available_events -o " \
       "-name format -o " \
       "-name header_event -o " \
@@ -97,14 +97,14 @@
       "while read f; do echo 'path:' $f; cat $f; done"
 
   output = adb('shell', cmd, serial=serial)
-  sections = output.split('path: /sys/kernel/debug/tracing/')
+  sections = output.split('path: /sys/kernel/tracing/')
   for section in sections:
     if not section:
       continue
     path, rest = section.split('\n', 1)
     path = os.path.join(output_directory, path)
     ensure_dir(os.path.dirname(path))
-    with open(path, 'wb') as f:
+    with open(path, 'w') as f:
       f.write(rest)
 
 
@@ -116,7 +116,8 @@
   parts = ['android', product, build_id, kernel]
   if prefix:
     parts = [prefix] + parts
-  return '_'.join(parts)
+  dir_name = '_'.join(parts)
+  return os.path.join(ROOT_DIR, 'src/traced/probes/ftrace/test/data', dir_name)
 
 
 def main():
diff --git a/tools/roll-prebuilts b/tools/roll-prebuilts
index 7bebe02..96e5e6b 100755
--- a/tools/roll-prebuilts
+++ b/tools/roll-prebuilts
@@ -45,14 +45,14 @@
         'tool':
             'trace_processor_shell',
         'archs': [
-            'mac-amd64', 'windows-amd64', 'linux-amd64', 'linux-arm',
-            'linux-arm64'
+            'mac-amd64', 'mac-arm64', 'windows-amd64', 'linux-amd64',
+            'linux-arm', 'linux-arm64'
         ]
     },
     {
         'script': 'traceconv',
         'tool': 'trace_to_text',
-        'archs': ['mac-amd64', 'linux-amd64', 'windows-amd64']
+        'archs': ['mac-amd64', 'mac-arm64', 'linux-amd64', 'windows-amd64']
     },
     {
         'script':
@@ -60,14 +60,14 @@
         'tool':
             'tracebox',
         'archs': [
-            'mac-amd64', 'linux-amd64', 'linux-amd64', 'linux-arm',
+            'mac-amd64', 'mac-arm64', 'linux-amd64', 'linux-amd64', 'linux-arm',
             'linux-arm64'
         ]
     },
     {
         'script': 'heap_profile',
         'tool': 'trace_to_text',
-        'archs': ['mac-amd64', 'windows-amd64', 'linux-amd64']
+        'archs': ['mac-amd64', 'mac-arm64', 'windows-amd64', 'linux-amd64']
     },
     {
         'script': 'record_android_trace',
@@ -84,6 +84,10 @@
         'platform': 'darwin',
         'machine': ['x86_64'],
     },
+    'mac-arm64': {
+        'platform': 'darwin',
+        'machine': ['arm64'],
+    },
     'windows-amd64': {
         'platform': 'win32',
         'machine': ['amd64'],
diff --git a/tools/test_data b/tools/test_data
index 7dd8975..5d16b99 100755
--- a/tools/test_data
+++ b/tools/test_data
@@ -210,6 +210,8 @@
     file_by_status[fs.status].append(relpath(fs.path))
     num_files += 1
   for status, rpaths in sorted(file_by_status.items()):
+    if status == FS_NEW_FILE and args.ignore_new:
+      continue
     if status != FS_MATCH:
       for rpath in rpaths:
         num_out_of_sync += 1
@@ -232,6 +234,7 @@
   parser.add_argument('--dry-run', '-n', action='store_true')
   parser.add_argument('--quiet', '-q', action='store_true')
   parser.add_argument('--verbose', '-v', action='store_true')
+  parser.add_argument('--ignore-new', action='store_true')
   parser.add_argument('cmd', choices=['status', 'download', 'upload'])
   global args
   args = parser.parse_args()
diff --git a/tools/tmux b/tools/tmux
index bc71ca3..6843ecd 100755
--- a/tools/tmux
+++ b/tools/tmux
@@ -195,10 +195,17 @@
   DIR=$(mktemp -p $TMPDIR -d perfetto.XXXXXX)
 fi
 
+if is_android "$OUT"; then
+  TRACE_TO_TEXT="gcc_like_host/trace_to_text"
+else
+  TRACE_TO_TEXT="trace_to_text"
+fi
+
+
 # (re)build the binaries
 BUILD_TARGETS=(traced traced_probes perfetto test/configs)
 if [[ SKIP_CONVERTERS -eq 0 ]]; then
-  BUILD_TARGETS+=(trace_to_text)
+  BUILD_TARGETS+=($TRACE_TO_TEXT)
 fi
 
 "$SCRIPT_DIR/ninja" -C "$OUT" ${BUILD_TARGETS[*]}
@@ -377,8 +384,5 @@
 
 if [[ SKIP_CONVERTERS -eq 0 ]]; then
   echo -e "\n\x1b[32mPulling trace into $TRACE.pbtext\x1b[0m"
-  "$OUT/trace_to_text" text <"$TRACE.perfetto-trace" >"$TRACE.pbtext"
-  echo -e "\n\x1b[32mPulling trace into $TRACE.json\x1b[0m"
-  "$OUT/trace_to_text" systrace <"$TRACE.perfetto-trace" >"$TRACE.json"
-  # Keep this last so it can fail.
+  "$OUT/$TRACE_TO_TEXT" text <"$TRACE.perfetto-trace" >"$TRACE.pbtext"
 fi
diff --git a/tools/trace_to_text/BUILD.gn b/tools/trace_to_text/BUILD.gn
index 44ad2f6..aae3b3b 100644
--- a/tools/trace_to_text/BUILD.gn
+++ b/tools/trace_to_text/BUILD.gn
@@ -18,22 +18,10 @@
 import("../../gn/test.gni")
 import("../../gn/wasm.gni")
 
-perfetto_host_executable("trace_to_text") {
+executable("trace_to_text") {
   testonly = true
   deps = [
-    ":full",
-    "../../gn:default_deps",
-  ]
-}
-
-# This is just to check that we can build a version of trace_to_text against
-# libprotobuf-lite. This configuration is only used by WASM. Unfortunately,
-# however, the WASM linker is very permissive and failures show up only when
-# loading the executable in the browser.
-perfetto_host_executable("trace_to_text_lite") {
-  testonly = true
-  deps = [
-    ":lite",
+    ":main",
     "../../gn:default_deps",
   ]
 }
@@ -84,27 +72,9 @@
   public_deps = [ ":pprofbuilder" ]
 }
 
-source_set("trace_to_text_lib") {
+source_set("lib") {
   deps = [
     ":gen_cc_trace_descriptor",
-    ":utils",
-    "../../gn:default_deps",
-    "../../include/perfetto/base",
-    "../../src/protozero:proto_ring_buffer",
-    "../../src/trace_processor:storage_minimal",
-    "../../src/trace_processor/util:gzip",
-  ]
-  sources = [
-    "proto_full_utils.h",
-    "trace_to_text.cc",
-    "trace_to_text.h",
-  ]
-}
-
-# The core source files that are used both by the "full" version (the host
-# executable) and by the "lite" version (the WASM module for the UI).
-source_set("common") {
-  deps = [
     ":pprofbuilder",
     ":utils",
     "../../gn:default_deps",
@@ -115,12 +85,16 @@
     "../../src/profiling:deobfuscator",
     "../../src/profiling/symbolizer",
     "../../src/profiling/symbolizer:symbolize_database",
+    "../../src/protozero:proto_ring_buffer",
     "../../src/trace_processor:lib",
+    "../../src/trace_processor:storage_minimal",
+    "../../src/trace_processor/util:descriptors",
+    "../../src/trace_processor/util:gzip",
+    "../../src/trace_processor/util:protozero_to_text",
   ]
   sources = [
     "deobfuscate_profile.cc",
     "deobfuscate_profile.h",
-    "main.cc",
     "symbolize_profile.cc",
     "symbolize_profile.h",
     "trace_to_hprof.cc",
@@ -131,45 +105,26 @@
     "trace_to_profile.h",
     "trace_to_systrace.cc",
     "trace_to_systrace.h",
+    "trace_to_text.cc",
+    "trace_to_text.h",
     "trace_to_text.h",
   ]
 }
 
-# Lite target for the WASM UI. Doesn't have any dependency on libprotobuf-full.
-source_set("lite") {
+source_set("main") {
   deps = [
-    ":common",
+    ":lib",
     "../../gn:default_deps",
-    "../../include/perfetto/base",
+    "../../include/perfetto/ext/base:base",
   ]
-  sources = [ "lite_fallbacks.cc" ]
-}
-
-# Full target for the host. Depends on libprotobuf-full.
-source_set("full") {
-  testonly = true
-  deps = [
-    ":common",
-    ":trace_to_text_lib",
-    ":utils",
-    "../../gn:default_deps",
-    "../../gn:protobuf_full",
-    "../../protos/perfetto/trace:zero",
-  ]
-  if (enable_perfetto_zlib) {
-    deps += [ "../../gn:zlib" ]
-  }
-  sources = [
-    "proto_full_utils.cc",
-    "proto_full_utils.h",
-  ]
+  sources = [ "main.cc" ]
 }
 
 if (enable_perfetto_ui) {
   wasm_lib("trace_to_text_wasm") {
     name = "trace_to_text"
     deps = [
-      ":lite",
+      ":main",
       "../../gn:default_deps",
     ]
   }
@@ -183,7 +138,7 @@
 perfetto_unittest_source_set("unittests") {
   testonly = true
   deps = [
-    ":trace_to_text_lib",
+    ":lib",
     "../../gn:default_deps",
     "../../gn:gtest_and_gmock",
     "../../include/perfetto/base",
diff --git a/tools/trace_to_text/trace_to_text.cc b/tools/trace_to_text/trace_to_text.cc
index 2ddf713..e22f902 100644
--- a/tools/trace_to_text/trace_to_text.cc
+++ b/tools/trace_to_text/trace_to_text.cc
@@ -16,15 +16,10 @@
 
 #include "tools/trace_to_text/trace_to_text.h"
 
-#include <google/protobuf/dynamic_message.h>
-#include <google/protobuf/io/zero_copy_stream_impl.h>
-#include <google/protobuf/text_format.h>
-
 #include "perfetto/base/logging.h"
 #include "perfetto/ext/base/file_utils.h"
 #include "perfetto/ext/base/scoped_file.h"
 #include "src/protozero/proto_ring_buffer.h"
-#include "tools/trace_to_text/proto_full_utils.h"
 #include "tools/trace_to_text/trace.descriptor.h"
 #include "tools/trace_to_text/utils.h"
 
@@ -32,118 +27,21 @@
 #include "protos/perfetto/trace/trace_packet.pbzero.h"
 
 #include "src/trace_processor/forwarding_trace_parser.h"
+#include "src/trace_processor/util/descriptors.h"
 #include "src/trace_processor/util/gzip_utils.h"
+#include "src/trace_processor/util/protozero_to_text.h"
 
 namespace perfetto {
 namespace trace_to_text {
 namespace {
 
-using google::protobuf::Descriptor;
-using google::protobuf::DescriptorPool;
-using google::protobuf::DynamicMessageFactory;
-using google::protobuf::FieldDescriptor;
-using google::protobuf::FileDescriptor;
-using google::protobuf::FileDescriptorSet;
-using google::protobuf::Message;
-using google::protobuf::Reflection;
-using google::protobuf::TextFormat;
-using google::protobuf::io::OstreamOutputStream;
-using google::protobuf::io::ZeroCopyOutputStream;
+using perfetto::trace_processor::DescriptorPool;
 using trace_processor::TraceType;
 using trace_processor::util::GzipDecompressor;
 
-inline void WriteToZeroCopyOutput(ZeroCopyOutputStream* output,
-                                  const char* str,
-                                  size_t length) {
-  if (length == 0)
-    return;
-
-  void* data;
-  int size = 0;
-  size_t bytes_to_copy = 0;
-  while (length) {
-    output->Next(&data, &size);
-    bytes_to_copy = std::min(length, static_cast<size_t>(size));
-    memcpy(data, str, bytes_to_copy);
-    length -= bytes_to_copy;
-    str += bytes_to_copy;
-  }
-  output->BackUp(size - static_cast<int>(bytes_to_copy));
-}
-
-constexpr char kCompressedPacketsPrefix[] = "compressed_packets {\n";
-constexpr char kCompressedPacketsSuffix[] = "}\n";
-
-constexpr char kIndentedPacketPrefix[] = "  packet {\n";
-constexpr char kIndentedPacketSuffix[] = "  }\n";
-
-constexpr char kPacketPrefix[] = "packet {\n";
-constexpr char kPacketSuffix[] = "}\n";
-
-void PrintCompressedPackets(const std::string& packets,
-                            Message* compressed_msg_scratch,
-                            ZeroCopyOutputStream* output) {
-#if PERFETTO_BUILDFLAG(PERFETTO_ZLIB)
-  std::vector<uint8_t> whole_data = GzipDecompressor::DecompressFully(
-      reinterpret_cast<const uint8_t*>(packets.data()), packets.size());
-  protos::pbzero::Trace::Decoder decoder(whole_data.data(), whole_data.size());
-  WriteToZeroCopyOutput(output, kCompressedPacketsPrefix,
-                        sizeof(kCompressedPacketsPrefix) - 1);
-  TextFormat::Printer printer;
-  printer.SetInitialIndentLevel(2);
-  for (auto it = decoder.packet(); it; ++it) {
-    protozero::ConstBytes cb = *it;
-    compressed_msg_scratch->ParseFromArray(cb.data, static_cast<int>(cb.size));
-    WriteToZeroCopyOutput(output, kIndentedPacketPrefix,
-                          sizeof(kIndentedPacketPrefix) - 1);
-    printer.Print(*compressed_msg_scratch, output);
-    WriteToZeroCopyOutput(output, kIndentedPacketSuffix,
-                          sizeof(kIndentedPacketSuffix) - 1);
-  }
-  WriteToZeroCopyOutput(output, kCompressedPacketsSuffix,
-                        sizeof(kCompressedPacketsSuffix) - 1);
-#else
-  base::ignore_result(packets);
-  base::ignore_result(compressed_msg_scratch);
-  base::ignore_result(kIndentedPacketPrefix);
-  base::ignore_result(kIndentedPacketSuffix);
-  WriteToZeroCopyOutput(output, kCompressedPacketsPrefix,
-                        sizeof(kCompressedPacketsPrefix) - 1);
-  static const char kErrMsg[] =
-      "Cannot decode compressed packets. zlib not enabled in the build config";
-  WriteToZeroCopyOutput(output, kErrMsg, sizeof(kErrMsg) - 1);
-  WriteToZeroCopyOutput(output, kCompressedPacketsSuffix,
-                        sizeof(kCompressedPacketsSuffix) - 1);
-  static bool log_once = [] {
-    PERFETTO_ELOG("%s", kErrMsg);
-    return true;
-  }();
-  base::ignore_result(log_once);
-#endif  // PERFETTO_BUILDFLAG(PERFETTO_ZLIB)
-}
-
-// TracePacket descriptor and metadata, used to print a TracePacket proto as a
-// text proto.
-struct TracePacketProtoDescInfo {
-  TracePacketProtoDescInfo();
-  FileDescriptorSet desc_set;
-  DescriptorPool pool;
-  std::unique_ptr<DynamicMessageFactory> factory;
-  const Descriptor* trace_descriptor;
-  const Message* prototype;
-  const FieldDescriptor* compressed_desc;
-};
-
-TracePacketProtoDescInfo::TracePacketProtoDescInfo() {
-  desc_set.ParseFromArray(kTraceDescriptor.data(), kTraceDescriptor.size());
-  for (const auto& desc : desc_set.file()) {
-    pool.BuildFile(desc);
-  }
-  factory.reset(new DynamicMessageFactory(&pool));
-  trace_descriptor = pool.FindMessageTypeByName("perfetto.protos.TracePacket");
-  prototype = factory->GetPrototype(trace_descriptor);
-  compressed_desc = trace_descriptor->FindFieldByNumber(
-      protos::pbzero::TracePacket::kCompressedPacketsFieldNumber);
+template <size_t N>
+static void WriteToOutput(std::ostream* output, const char (&str)[N]) {
+  output->write(str, sizeof(str) - 1);
 }
 
 // Online algorithm to covert trace binary to text format.
@@ -152,12 +50,9 @@
 //    write the output in given std::ostream*.
 class OnlineTraceToText {
  public:
-  OnlineTraceToText(std::ostream* output)
-      : zero_copy_out_stream_(output),
-        msg_(pb_desc_info_.prototype->New()),
-        compressed_packets_msg_(pb_desc_info_.prototype->New()),
-        reflect_(msg_->GetReflection()) {
-    printer_.SetInitialIndentLevel(1);
+  OnlineTraceToText(std::ostream* output) : output_(output) {
+    pool_.AddFromFileDescriptorSet(kTraceDescriptor.data(),
+                                   kTraceDescriptor.size());
   }
   OnlineTraceToText(const OnlineTraceToText&) = delete;
   OnlineTraceToText& operator=(const OnlineTraceToText&) = delete;
@@ -165,19 +60,53 @@
   bool ok() const { return ok_; }
 
  private:
+  std::string TracePacketToText(protozero::ConstBytes packet,
+                                uint32_t indent_depth);
+  void PrintCompressedPackets(protozero::ConstBytes packets);
+
   bool ok_ = true;
-  OstreamOutputStream zero_copy_out_stream_;
+  std::ostream* output_;
   protozero::ProtoRingBuffer ring_buffer_;
-  TextFormat::Printer printer_;
-  TracePacketProtoDescInfo pb_desc_info_;
-  std::unique_ptr<Message> msg_;
-  std::unique_ptr<Message> compressed_packets_msg_;
-  const Reflection* reflect_;
-  std::string compressed_packets_;
+  DescriptorPool pool_;
   size_t bytes_processed_ = 0;
   size_t packet_ = 0;
 };
 
+std::string OnlineTraceToText::TracePacketToText(protozero::ConstBytes packet,
+                                                 uint32_t indent_depth) {
+  namespace pb0_to_text = trace_processor::protozero_to_text;
+  return pb0_to_text::ProtozeroToText(pool_, ".perfetto.protos.TracePacket",
+                                      packet, pb0_to_text::kIncludeNewLines,
+                                      indent_depth);
+}
+
+void OnlineTraceToText::PrintCompressedPackets(protozero::ConstBytes packets) {
+  WriteToOutput(output_, "compressed_packets {\n");
+  if (trace_processor::util::IsGzipSupported()) {
+    std::vector<uint8_t> whole_data =
+        GzipDecompressor::DecompressFully(packets.data, packets.size);
+    protos::pbzero::Trace::Decoder decoder(whole_data.data(),
+                                           whole_data.size());
+    for (auto it = decoder.packet(); it; ++it) {
+      WriteToOutput(output_, "  packet {\n");
+      std::string text = TracePacketToText(*it, 2);
+      output_->write(text.data(), std::streamsize(text.size()));
+      WriteToOutput(output_, "\n  }\n");
+    }
+  } else {
+    static const char kErrMsg[] =
+        "Cannot decode compressed packets. zlib not enabled in the build "
+        "config";
+    WriteToOutput(output_, kErrMsg);
+    static bool log_once = [] {
+      PERFETTO_ELOG("%s", kErrMsg);
+      return true;
+    }();
+    base::ignore_result(log_once);
+  }
+  WriteToOutput(output_, "}\n");
+}
+
 void OnlineTraceToText::Feed(const uint8_t* data, size_t len) {
   ring_buffer_.Append(data, static_cast<size_t>(len));
   while (true) {
@@ -197,29 +126,21 @@
       PERFETTO_ELOG("Skipping invalid field");
       continue;
     }
-    if (!msg_->ParseFromArray(token.start, static_cast<int>(token.len))) {
-      PERFETTO_ELOG("Skipping invalid packet");
-      continue;
-    }
+    protos::pbzero::TracePacket::Decoder decoder(token.start, token.len);
     bytes_processed_ += token.len;
     if ((packet_++ & 0x3f) == 0) {
       fprintf(stderr, "Processing trace: %8zu KB%c", bytes_processed_ / 1024,
               kProgressChar);
       fflush(stderr);
     }
-    if (reflect_->HasField(*msg_, pb_desc_info_.compressed_desc)) {
-      // TODO(mohitms): GetStringReference ignores third argument. Why are we
-      // passing ?
-      compressed_packets_ = reflect_->GetStringReference(
-          *msg_, pb_desc_info_.compressed_desc, &compressed_packets_);
-      PrintCompressedPackets(compressed_packets_, compressed_packets_msg_.get(),
-                             &zero_copy_out_stream_);
+    if (decoder.has_compressed_packets()) {
+      PrintCompressedPackets(decoder.compressed_packets());
     } else {
-      WriteToZeroCopyOutput(&zero_copy_out_stream_, kPacketPrefix,
-                            sizeof(kPacketPrefix) - 1);
-      printer_.Print(*msg_, &zero_copy_out_stream_);
-      WriteToZeroCopyOutput(&zero_copy_out_stream_, kPacketSuffix,
-                            sizeof(kPacketSuffix) - 1);
+      WriteToOutput(output_, "packet {\n");
+      protozero::ConstBytes packet = {token.start, token.len};
+      std::string text = TracePacketToText(packet, 1 /* indent_depth */);
+      output_->write(text.data(), std::streamsize(text.size()));
+      WriteToOutput(output_, "\n}\n");
     }
   }
 }
diff --git a/ui/build.js b/ui/build.js
index e01e45d..19abb7a 100644
--- a/ui/build.js
+++ b/ui/build.js
@@ -138,6 +138,7 @@
   parser.addArgument(['--debug', '-d'], {action: 'storeTrue'});
   parser.addArgument(['--interactive', '-i'], {action: 'storeTrue'});
   parser.addArgument(['--rebaseline', '-r'], {action: 'storeTrue'});
+  parser.addArgument(['--no-depscheck'], {action: 'storeTrue'});
 
   const args = parser.parseArgs();
   const clean = !args.no_build;
@@ -175,11 +176,27 @@
     process.exit(130);  // 130 -> Same behavior of bash when killed by SIGINT.
   });
 
-  // Check that deps are current before starting.
-  const installBuildDeps = pjoin(ROOT_DIR, 'tools/install-build-deps');
-  const checkDepsPath = pjoin(cfg.outDir, '.check_deps');
-  const depsArgs = [`--check-only=${checkDepsPath}`, '--ui'];
-  exec(installBuildDeps, depsArgs);
+  if (!args.no_depscheck) {
+    // Check that deps are current before starting.
+    const installBuildDeps = pjoin(ROOT_DIR, 'tools/install-build-deps');
+    const checkDepsPath = pjoin(cfg.outDir, '.check_deps');
+    let args = [installBuildDeps, `--check-only=${checkDepsPath}`, '--ui'];
+
+    if (process.platform === "darwin") {
+      const result = child_process.spawnSync("arch", ["-arm64", "true"]);
+      const isArm64Capable = result.status === 0;
+      if (isArm64Capable) {
+        const archArgs = [
+          "arch",
+          "-arch",
+          "arm64",
+        ];
+        args = archArgs.concat(args);
+      }
+    }
+    const cmd = args.shift();
+    exec(cmd, args);
+  }
 
   console.log('Entering', cfg.outDir);
   process.chdir(cfg.outDir);
@@ -466,6 +483,13 @@
           absPath = pjoin(ROOT_DIR, uri);
         }
 
+        // Don't serve contents outside of the project root (b/221101533).
+        if (path.relative(ROOT_DIR, absPath).startsWith('..')) {
+          res.writeHead(403);
+          res.end('403 Forbidden - Request path outside of the repo root');
+          return;
+        }
+
         fs.readFile(absPath, function(err, data) {
           if (err) {
             res.writeHead(404);
diff --git a/ui/release/channels.json b/ui/release/channels.json
index 4f32d9c..1540749 100644
--- a/ui/release/channels.json
+++ b/ui/release/channels.json
@@ -2,11 +2,11 @@
   "channels": [
     {
       "name": "stable",
-      "rev": "c4eb91619a0927616f43959a91cbc5b51bd79439"
+      "rev": "b574f45ca4f3ae63100c9868a65f9381b0d16c82"
     },
     {
       "name": "canary",
-      "rev": "88e543ae67d219635038cd007ab3b5a45a0e2614"
+      "rev": "433c9fe808b23a28f3bcfaaf026830d908be4104"
     },
     {
       "name": "autopush",
diff --git a/ui/src/assets/common.scss b/ui/src/assets/common.scss
index 4aeb978..86c0ccb 100644
--- a/ui/src/assets/common.scss
+++ b/ui/src/assets/common.scss
@@ -205,10 +205,6 @@
   width: 100%;
 }
 
-.x-scrollable {
-  overflow-x: auto;
-}
-
 .query-table {
     width: 100%;
     font-size: 14px;
@@ -481,6 +477,10 @@
   height: 20px;
 }
 
+.x-scrollable {
+  overflow-x: auto;
+}
+
 header.overview {
   display: flex;
   align-content: center;
diff --git a/ui/src/assets/details.scss b/ui/src/assets/details.scss
index ab9a458..58a8e42 100644
--- a/ui/src/assets/details.scss
+++ b/ui/src/assets/details.scss
@@ -244,12 +244,25 @@
     word-wrap: break-word;
     padding: 0 10px;
     tr:hover {
-      background-color: hsl(214, 22%, 90%);
+      td, th {
+        background-color: hsl(214, 22%, 90%);
+
+        &.no-highlight {
+          background-color: white;
+        }
+      }
     }
     th {
       text-align: left;
       width: 30%;
       font-weight: normal;
+      vertical-align: top;
+    }
+    td.value {
+      white-space: pre-wrap;
+    }
+    td.padding {
+      min-width: 10px;
     }
     .array-index {
       text-align: right;
diff --git a/ui/src/assets/record.scss b/ui/src/assets/record.scss
index 9e06aa9..9a14090 100644
--- a/ui/src/assets/record.scss
+++ b/ui/src/assets/record.scss
@@ -819,6 +819,30 @@
 
     .categories-list {
       width: 50%;
+
+      h3 {
+        margin: 6px 0;
+      }
+
+      .config-button {
+        border-radius: 10px;
+        border: 1px solid #eee;
+        margin: 0 5px;
+        font-size: .8rem;
+      }
+
+      .checkboxes {
+        list-style-type: none;
+        padding: 0;
+        font-size: .9rem;
+
+        li {
+          margin: 6px 0;
+        }
+        input {
+          margin-right: 8px;
+        }
+      }
     }
   }
 
@@ -921,6 +945,11 @@
     &::placeholder { color: #aaa; }
   }
 
+  textarea.atrace-apps-list {
+    margin-top: 16px;
+    height: 100px;
+  }
+
   .code-snippet {
     display: grid;
     position: relative;
diff --git a/ui/src/assets/sidebar.scss b/ui/src/assets/sidebar.scss
index 230b3fa..760dc16 100644
--- a/ui/src/assets/sidebar.scss
+++ b/ui/src/assets/sidebar.scss
@@ -132,6 +132,13 @@
                     margin-top: 8px;
                     font-weight: 400;
                 }
+                &:before {
+                  @include material-icon('expand_more');
+                  float: right;
+                  color: rgba(255, 255, 255, 0.3);
+                  margin-right: 12px;
+                  margin-top: -4px;
+                }
             }
             &:hover {
                 background-color: #373f4b;
@@ -139,9 +146,16 @@
             &.expanded {
                 background-color: #19212b;
                 max-height: unset;
-                .section-header h2 {
+                .section-header {
+                  h2 {
                     opacity: 0;
+                  }
+
+                  &:before {
+                    content: 'expand_less';
+                  }
                 }
+
                 .section-content {
                     pointer-events: inherit;
                     opacity: 1;
diff --git a/ui/src/common/actions.ts b/ui/src/common/actions.ts
index 76d2dd3..bd914e0 100644
--- a/ui/src/common/actions.ts
+++ b/ui/src/common/actions.ts
@@ -694,7 +694,8 @@
       },
 
   selectChromeSlice(
-      state: StateDraft, args: {id: number, trackId: string, table: string}):
+      state: StateDraft,
+      args: {id: number, trackId: string, table: string, scroll?: boolean}):
       void {
         state.currentSelection = {
           kind: 'CHROME_SLICE',
@@ -702,8 +703,13 @@
           trackId: args.trackId,
           table: args.table
         };
+        state.pendingScrollId = args.scroll ? args.id : undefined;
       },
 
+  clearPendingScrollId(state: StateDraft, _: {}): void {
+    state.pendingScrollId = undefined;
+  },
+
   selectThreadState(state: StateDraft, args: {id: number, trackId: string}):
       void {
         state.currentSelection = {
diff --git a/ui/src/common/aggregation_data.ts b/ui/src/common/aggregation_data.ts
index 8887857..28f761f 100644
--- a/ui/src/common/aggregation_data.ts
+++ b/ui/src/common/aggregation_data.ts
@@ -55,6 +55,10 @@
   extra?: ThreadStateExtra;
 }
 
+export function isEmptyData(data: AggregateData) {
+  return data.columns.length === 0 || data.columns[0].data.length === 0;
+}
+
 export interface ThreadStateExtra {
   kind: 'THREAD_STATE';
   states: string[];
diff --git a/ui/src/common/state.ts b/ui/src/common/state.ts
index 19f6a2e..18df6ce 100644
--- a/ui/src/common/state.ts
+++ b/ui/src/common/state.ts
@@ -91,7 +91,9 @@
   'MAIN_THREAD' = 0,
   'RENDER_THREAD' = 1,
   'GPU_COMPLETION' = 2,
-  'ORDINARY' = 3
+  'CHROME_IO_THREAD' = 3,
+  'CHROME_COMPOSITOR' = 4,
+  'ORDINARY' = 5
 }
 
 export type FlamegraphStateViewingOption =
@@ -450,6 +452,7 @@
   highlightedSliceId: number;
   focusedFlowIdLeft: number;
   focusedFlowIdRight: number;
+  pendingScrollId?: number;
 
   searchIndex: number;
   currentTab?: string;
@@ -512,7 +515,8 @@
 }
 
 export function hasActiveProbes(config: RecordConfig) {
-  const fieldsWithEmptyResult = new Set<string>(['hpBlockClient']);
+  const fieldsWithEmptyResult =
+      new Set<string>(['hpBlockClient', 'allAtraceApps']);
   let key: keyof RecordConfig;
   for (key in config) {
     if (typeof (config[key]) === 'boolean' && config[key] === true &&
diff --git a/ui/src/controller/record_config_types.ts b/ui/src/controller/record_config_types.ts
index 95df440..5460957 100644
--- a/ui/src/controller/record_config_types.ts
+++ b/ui/src/controller/record_config_types.ts
@@ -44,6 +44,7 @@
   ftraceEvents: arrayOf(str()),
   ftraceExtraEvents: str(),
   atraceCats: arrayOf(str()),
+  allAtraceApps: bool(true),
   atraceApps: str(),
   ftraceBufferSizeKb: num(2 * 1024),
   ftraceDrainPeriodMs: num(250),
diff --git a/ui/src/controller/record_controller.ts b/ui/src/controller/record_controller.ts
index a476450..f1631a8 100644
--- a/ui/src/controller/record_controller.ts
+++ b/ui/src/controller/record_controller.ts
@@ -492,7 +492,8 @@
     protoCfg.dataSources.push(ds);
   }
 
-  if (uiCfg.ftrace || uiCfg.atraceApps.length > 0 || ftraceEvents.size > 0 ||
+  // TODO(octaviant): move all this logic in a follow up CL.
+  if (uiCfg.ftrace || uiCfg.atrace || ftraceEvents.size > 0 ||
       atraceCats.size > 0 || atraceApps.size > 0) {
     const ds = new TraceConfig.DataSource();
     ds.config = new DataSourceConfig();
@@ -511,8 +512,16 @@
         if (line.trim().length > 0) ftraceEvents.add(line.trim());
       }
     }
-    for (const line of uiCfg.atraceApps.split('\n')) {
-      if (line.trim().length > 0) atraceApps.add(line.trim());
+
+    if (uiCfg.atrace) {
+      if (uiCfg.allAtraceApps) {
+        atraceApps.clear();
+        atraceApps.add('*');
+      } else {
+        for (const line of uiCfg.atraceApps.split('\n')) {
+          if (line.trim().length > 0) atraceApps.add(line.trim());
+        }
+      }
     }
 
     if (atraceCats.size > 0 || atraceApps.size > 0) {
diff --git a/ui/src/controller/selection_controller.ts b/ui/src/controller/selection_controller.ts
index 6b621cf..4979c5d 100644
--- a/ui/src/controller/selection_controller.ts
+++ b/ui/src/controller/selection_controller.ts
@@ -219,7 +219,7 @@
     const query = `
       select
         key AS name,
-        CAST(COALESCE(int_value, string_value, real_value) AS text) AS value
+        display_value AS value
       FROM args
       WHERE arg_set_id = ${argId}
     `;
diff --git a/ui/src/controller/trace_controller.ts b/ui/src/controller/trace_controller.ts
index d6b4bc0..ee193fa 100644
--- a/ui/src/controller/trace_controller.ts
+++ b/ui/src/controller/trace_controller.ts
@@ -543,7 +543,7 @@
     const sliceResult = await engine.query(`select
            bucket,
            upid,
-           sum(utid_sum) / cast(${stepSecNs} as float) as load
+           ifnull(sum(utid_sum) / cast(${stepSecNs} as float), 0) as load
          from thread
          inner join (
            select
diff --git a/ui/src/controller/track_decider.ts b/ui/src/controller/track_decider.ts
index a82888f..88a44ce 100644
--- a/ui/src/controller/track_decider.ts
+++ b/ui/src/controller/track_decider.ts
@@ -1053,6 +1053,7 @@
     //    by upid
     //    or (if upid is null) by utid
     // the groups should be sorted by:
+    //  Chrome-based process rank based on process names (e.g. Browser)
     //  has a heap profile or not
     //  total cpu time *for the whole parent process*
     //  upid
@@ -1067,7 +1068,13 @@
       thread.tid as tid,
       process.name as processName,
       thread.name as threadName,
-      process.arg_set_id as argSetId
+      process.arg_set_id as argSetId,
+      (case process.name 
+         when 'Browser' then 3
+         when 'Gpu' then 2
+         when 'Renderer' then 1
+         else 0
+      end) as chromeProcessRank
     from (
       select upid, 0 as utid from process_track
       union
@@ -1113,6 +1120,7 @@
     left join thread using(utid)
     left join process using(upid)
     order by
+      chromeProcessRank desc,
       hasHeapProfiles desc,
       total_dur desc,
       total_cycles desc,
@@ -1242,6 +1250,24 @@
       return TrackKindPriority.ORDINARY;
     }
 
+    // Chrome main threads should always come first within their process.
+    if (threadName === 'CrBrowserMain' || threadName === 'CrRendererMain' ||
+        threadName === 'CrGpuMain') {
+      return TrackKindPriority.MAIN_THREAD;
+    }
+
+    // Chrome IO threads should always come immediately after the main thread.
+    if (threadName === 'Chrome_ChildIOThread' ||
+        threadName === 'Chrome_IOThread') {
+      return TrackKindPriority.CHROME_IO_THREAD;
+    }
+
+    // A Chrome process can have only one compositor thread, so we want to put
+    // it next to other named processes.
+    if (threadName === 'Compositor' || threadName === 'VizCompositorThread') {
+      return TrackKindPriority.CHROME_COMPOSITOR;
+    }
+
     switch (true) {
       case /.*RenderThread.*/.test(threadName):
         return TrackKindPriority.RENDER_THREAD;
diff --git a/ui/src/frontend/chrome_slice_panel.ts b/ui/src/frontend/chrome_slice_panel.ts
index 61633a8..7cb4144 100644
--- a/ui/src/frontend/chrome_slice_panel.ts
+++ b/ui/src/frontend/chrome_slice_panel.ts
@@ -43,18 +43,33 @@
   return contents.kind === 'TableHeader';
 }
 
+function appendPrefix(p1: string, p2: string): string {
+  if (p1.length === 0) {
+    return p2;
+  }
+  return `${p1}.${p2}`;
+}
+
+
+// During building the table, sometimes we want to add an extra cell to the
+// table. It might be either an index of array element (represented as number),
+// a special indentation cell to ensure minimum column width when indenting
+// an object ('whitespace' literal) or just be absent ('none' literal).
+type ExtraCell = number|'whitespace'|'none';
+
 interface Row {
   // How many columns (empty or with an index) precede a key
   indentLevel: number;
-  // Index if the current row is an element of array
-  index: number;
+  extraCell: ExtraCell;
+  // Optional tooltip to be displayed on the key. Used to display the full key,
+  // which has to be reconstructed from the information that might not even be
+  // visible on the screen otherwise.
+  tooltip?: string;
   contents: RowContents;
 }
 
 class TableBuilder {
-  // Stack contains indices inside repeated fields, or -1 if the appropriate
-  // index is already displayed.
-  stack: number[] = [];
+  stack: ExtraCell[] = [];
 
   // Row data generated by builder
   rows: Row[] = [];
@@ -64,37 +79,42 @@
 
   // Add a key-value pair into the table
   add(key: string, value: Arg) {
-    this.rows.push(
-        {indentLevel: 0, index: -1, contents: {kind: 'KVPair', key, value}});
+    this.rows.push({
+      indentLevel: 0,
+      extraCell: 'none',
+      contents: {kind: 'KVPair', key, value},
+    });
   }
 
   // Add arguments tree into the table
   addTree(tree: ArgsTree) {
-    this.addTreeInternal(tree, '');
+    this.addTreeInternal(tree, '', '');
   }
 
   // Return indent level and index for a fresh row
-  private prepareRow(): [number, number] {
+  private prepareRow(): [number, ExtraCell] {
     const level = this.stack.length;
-    let index = -1;
+    let index: ExtraCell = 'none';
     if (level > 0) {
       index = this.stack[level - 1];
       if (index !== -1) {
-        this.stack[level - 1] = -1;
+        this.stack[level - 1] = 'none';
       }
     }
     this.maxIndent = Math.max(this.maxIndent, level);
     return [level, index];
   }
 
-  private addTreeInternal(record: ArgsTree, prefix: string) {
+  private addTreeInternal(
+      record: ArgsTree, prefix: string, completePrefix: string) {
     if (isArgTreeArray(record)) {
       // Add the current prefix as a separate row
       const row = this.prepareRow();
       this.rows.push({
         indentLevel: row[0],
-        index: row[1],
-        contents: {kind: 'TableHeader', header: prefix}
+        extraCell: row[1],
+        contents: {kind: 'TableHeader', header: prefix},
+        tooltip: completePrefix
       });
 
       for (let i = 0; i < record.length; i++) {
@@ -102,22 +122,49 @@
         this.stack.push(i);
         // Prefix is empty for array elements because we don't want to repeat
         // the common prefix
-        this.addTreeInternal(record[i], '');
+        this.addTreeInternal(record[i], '', `${completePrefix}[${i}]`);
         this.stack.pop();
       }
     } else if (isArgTreeMap(record)) {
-      for (const [key, value] of Object.entries(record)) {
-        // If the prefix was non-empty, we have to add dot at the end as well.
-        const newPrefix = (prefix === '') ? key : prefix + '.' + key;
-        this.addTreeInternal(value, newPrefix);
+      const entries = Object.entries(record);
+      if (entries.length === 1) {
+        // Don't want to create a level of indirection in case object contains
+        // only one value; think of it like file browser in IDEs not showing
+        // intermediate nodes for common hierarchy corresponding to Java package
+        // prefix (e.g. "com/google/perfetto").
+        //
+        // In this case, add key as a prefix part.
+        const [key, value] = entries[0];
+        this.addTreeInternal(
+            value,
+            appendPrefix(prefix, key),
+            appendPrefix(completePrefix, key));
+      } else {
+        if (prefix.length > 0) {
+          const row = this.prepareRow();
+          this.rows.push({
+            indentLevel: row[0],
+            extraCell: row[1],
+            contents: {kind: 'TableHeader', header: prefix},
+            tooltip: completePrefix
+          });
+          this.stack.push('whitespace');
+        }
+        for (const [key, value] of entries) {
+          this.addTreeInternal(value, key, appendPrefix(completePrefix, key));
+        }
+        if (prefix.length > 0) {
+          this.stack.pop();
+        }
       }
     } else {
       // Leaf value in the tree: add to the table
       const row = this.prepareRow();
       this.rows.push({
         indentLevel: row[0],
-        index: row[1],
-        contents: {kind: 'KVPair', key: prefix, value: record}
+        extraCell: row[1],
+        contents: {kind: 'KVPair', key: prefix, value: record},
+        tooltip: completePrefix
       });
     }
   }
@@ -192,29 +239,33 @@
     for (const row of builder.rows) {
       const renderedRow: m.Vnode[] = [];
       let indent = row.indentLevel;
-      if (row.index !== -1) {
+      if (row.extraCell !== 'none') {
         indent--;
       }
 
       if (indent > 0) {
-        renderedRow.push(m('td', {colspan: indent}));
+        renderedRow.push(m('td.no-highlight', {colspan: indent}));
       }
-      if (row.index !== -1) {
-        renderedRow.push(m('td', {class: 'array-index'}, `[${row.index}]`));
+
+      if (row.extraCell === 'whitespace') {
+        renderedRow.push(m('td.no-highlight.padding', {class: 'array-index'}));
+      } else if (row.extraCell !== 'none') {
+        renderedRow.push(m('td', {class: 'array-index'}, `[${row.extraCell}]`));
       }
+
       if (isTableHeader(row.contents)) {
-        renderedRow.push(
-            m('th',
-              {colspan: keyColumnCount + 1 - row.indentLevel},
-              row.contents.header));
+        renderedRow.push(m(
+            'th',
+            {colspan: keyColumnCount + 1 - row.indentLevel, title: row.tooltip},
+            row.contents.header));
       } else {
         renderedRow.push(
             m('th',
-              {colspan: keyColumnCount - row.indentLevel},
+              {colspan: keyColumnCount - row.indentLevel, title: row.tooltip},
               row.contents.key));
         const value = row.contents.value;
         if (typeof value === 'string') {
-          renderedRow.push(m('td', value));
+          renderedRow.push(m('td.value', value));
         } else {
           // Type of value being a record is not propagated into the callback
           // for some reason, extracting necessary parts as constants instead.
diff --git a/ui/src/frontend/details_panel.ts b/ui/src/frontend/details_panel.ts
index 9c8969a..e9773e9 100644
--- a/ui/src/frontend/details_panel.ts
+++ b/ui/src/frontend/details_panel.ts
@@ -16,6 +16,7 @@
 import {QueryResponse} from 'src/common/queries';
 
 import {Actions} from '../common/actions';
+import {isEmptyData} from '../common/aggregation_data';
 import {LogExists, LogExistsKey} from '../common/logs';
 import {DEFAULT_PIVOT_TABLE_ID} from '../common/pivot_table_common';
 
@@ -364,7 +365,7 @@
     }
 
     for (const [key, value] of globals.aggregateDataStore.entries()) {
-      if (value.columns.length > 0 && value.columns[0].data.length > 0) {
+      if (!isEmptyData(value)) {
         detailsPanels.push({
           key: value.tabName,
           name: value.tabName,
@@ -407,7 +408,7 @@
             return {key: tab.key, name: tab.name};
           }),
         }),
-        m('.details-panel-container',
+        m('.details-panel-container.x-scrollable',
           m(PanelContainer, {doesScroll: true, panels, kind: 'DETAILS'})));
   }
 }
diff --git a/ui/src/frontend/index.ts b/ui/src/frontend/index.ts
index c86f52b..15ad0cf 100644
--- a/ui/src/frontend/index.ts
+++ b/ui/src/frontend/index.ts
@@ -301,15 +301,7 @@
     m.render(main, globals.router.resolve());
   };
 
-  // Add support for opening traces from postMessage().
-  window.addEventListener('message', postMessageHandler, {passive: true});
-
-  // Will update the chip on the sidebar footer that notifies that the RPC is
-  // connected. Has no effect on the controller (which will repeat this check
-  // before creating a new engine).
-  CheckHttpRpcConnection();
   initLiveReloadIfLocalhost();
-
   updateAvailableAdbDevices();
   try {
     navigator.usb.addEventListener(
@@ -319,10 +311,31 @@
   } catch (e) {
     console.error('WebUSB API not supported');
   }
-  installFileDropHandler();
 
-  // Handles the initial ?local_cache_key=123 or ?s=permalink or ?url=... cases.
-  maybeOpenTraceFromRoute(Router.parseUrl(window.location.href));
+  // Will update the chip on the sidebar footer that notifies that the RPC is
+  // connected. Has no effect on the controller (which will repeat this check
+  // before creating a new engine).
+  // Don't auto-open any trace URLs until we get a response here because we may
+  // accidentially clober the state of an open trace processor instance
+  // otherwise.
+  CheckHttpRpcConnection().then(() => {
+    installFileDropHandler();
+
+    // Don't allow postMessage or opening trace from route when the user says
+    // that they want to reuse the already loaded trace in trace processor.
+    const values = Object.values(globals.state.engines);
+    if (values.length > 0 &&
+        globals.state.engines[values.length - 1].source.type === 'HTTP_RPC') {
+      return;
+    }
+
+    // Add support for opening traces from postMessage().
+    window.addEventListener('message', postMessageHandler, {passive: true});
+
+    // Handles the initial ?local_cache_key=123 or ?s=permalink or ?url=...
+    // cases.
+    maybeOpenTraceFromRoute(Router.parseUrl(window.location.href));
+  });
 }
 
 main();
diff --git a/ui/src/frontend/keyboard_event_handler.ts b/ui/src/frontend/keyboard_event_handler.ts
index 3f46bf1..204fcb2 100644
--- a/ui/src/frontend/keyboard_event_handler.ts
+++ b/ui/src/frontend/keyboard_event_handler.ts
@@ -40,23 +40,26 @@
 export function handleKey(e: KeyboardEvent, down: boolean) {
   const key = e.key.toLowerCase();
   const selection = globals.state.currentSelection;
-  if (down && 'm' === key) {
+  const noModifiers = !(e.ctrlKey || e.metaKey || e.altKey || e.shiftKey);
+  const ctrlOrMeta = (e.ctrlKey || e.metaKey) && !(e.altKey || e.shiftKey);
+
+  if (down && 'm' === key && noModifiers) {
     if (selection && selection.kind === 'AREA') {
       globals.dispatch(Actions.toggleMarkCurrentArea({persistent: e.shiftKey}));
     } else if (selection) {
       lockSliceSpan(e.shiftKey);
     }
   }
-  if (down && 'f' === key) {
+  if (down && 'f' === key && noModifiers) {
     findCurrentSelection();
   }
-  if (down && 'b' === key && (e.ctrlKey || e.metaKey)) {
+  if (down && 'b' === key && ctrlOrMeta) {
     globals.dispatch(Actions.toggleSidebar({}));
   }
-  if (down && '?' === key) {
+  if (down && '?' === key && noModifiers) {
     toggleHelp();
   }
-  if (down && 'enter' === key) {
+  if (down && 'enter' === key && noModifiers) {
     e.preventDefault();
     executeSearch(e.shiftKey);
   }
@@ -65,21 +68,19 @@
     globals.makeSelection(Actions.deselect({}));
     globals.dispatch(Actions.removeNote({id: '0'}));
   }
-  if (down && ']' === key) {
-    if (e.ctrlKey) {
-      focusOtherFlow('Forward');
-    } else {
-      moveByFocusedFlow('Forward');
-    }
+  if (down && ']' === key && ctrlOrMeta) {
+    focusOtherFlow('Forward');
   }
-  if (down && '[' === key) {
-    if (e.ctrlKey) {
-      focusOtherFlow('Backward');
-    } else {
-      moveByFocusedFlow('Backward');
-    }
+  if (down && ']' === key && noModifiers) {
+    moveByFocusedFlow('Forward');
   }
-  if (down && 'p' === key && !e.ctrlKey && PIVOT_TABLE_FLAG.get()) {
+  if (down && '[' === key && ctrlOrMeta) {
+    focusOtherFlow('Backward');
+  }
+  if (down && '[' === key && noModifiers) {
+    moveByFocusedFlow('Backward');
+  }
+  if (down && 'p' === key && noModifiers && PIVOT_TABLE_FLAG.get()) {
     e.preventDefault();
     globals.frontendLocalState.togglePivotTable();
     const pivotTableId = DEFAULT_PIVOT_TABLE_ID;
@@ -143,7 +144,7 @@
 }
 
 // Select the slice connected to the flow in focus
-function moveByFocusedFlow(direction: Direction) {
+function moveByFocusedFlow(direction: Direction): void {
   if (!globals.state.currentSelection ||
       globals.state.currentSelection.kind !== 'CHROME_SLICE') {
     return;
@@ -165,8 +166,12 @@
       const uiTrackId =
           globals.state.uiTrackIdByTraceTrackId[flowPoint.trackId];
       if (uiTrackId) {
-        globals.makeSelection(Actions.selectChromeSlice(
-            {id: flowPoint.sliceId, trackId: uiTrackId, table: 'slice'}));
+        globals.makeSelection(Actions.selectChromeSlice({
+          id: flowPoint.sliceId,
+          trackId: uiTrackId,
+          table: 'slice',
+          scroll: true
+        }));
       }
     }
   }
@@ -232,7 +237,7 @@
   }
 }
 
-function findCurrentSelection() {
+export function findCurrentSelection() {
   const selection = globals.state.currentSelection;
   if (selection === null) return;
 
diff --git a/ui/src/frontend/publish.ts b/ui/src/frontend/publish.ts
index 1edcc76..af2c86a 100644
--- a/ui/src/frontend/publish.ts
+++ b/ui/src/frontend/publish.ts
@@ -13,7 +13,7 @@
 // limitations under the License.
 
 import {Actions} from '../common/actions';
-import {AggregateData} from '../common/aggregation_data';
+import {AggregateData, isEmptyData} from '../common/aggregation_data';
 import {ConversionJobStatusUpdate} from '../common/conversion_jobs';
 import {
   LogBoundsKey,
@@ -35,6 +35,7 @@
   ThreadDesc,
   ThreadStateDetails
 } from './globals';
+import {findCurrentSelection} from './keyboard_event_handler';
 import {PivotTableHelper} from './pivot_table_helper';
 
 export function publishOverviewData(
@@ -139,6 +140,9 @@
 export function publishAggregateData(
     args: {data: AggregateData, kind: string}) {
   globals.setAggregateData(args.kind, args.data);
+  if (!isEmptyData(args.data)) {
+    globals.dispatch(Actions.setCurrentTab({tab: args.data.tabName}));
+  }
   globals.publishRedraw();
 }
 
@@ -164,6 +168,11 @@
 
 export function publishSliceDetails(click: SliceDetails) {
   globals.sliceDetails = click;
+  const id = click.id;
+  if (id !== undefined && id === globals.state.pendingScrollId) {
+    findCurrentSelection();
+    globals.dispatch(Actions.clearPendingScrollId({id: undefined}));
+  }
   globals.publishRedraw();
 }
 
diff --git a/ui/src/frontend/query_table.ts b/ui/src/frontend/query_table.ts
index fc2eb7f..a70f9fb 100644
--- a/ui/src/frontend/query_table.ts
+++ b/ui/src/frontend/query_table.ts
@@ -171,12 +171,6 @@
     return m(
         'div',
         ...headers,
-        // TODO(rsavitski): the x-scrollable works for the
-        // dedicated query page, but is insufficient in the case of
-        // the results being presented within the bottom details
-        // pane in the timeline view. In that case, the
-        // details-panel-container enforces non-scrollability.
-        // Ideally we'd want to make that case scrollable as well.
         resp.error ?
             m('.query-error', `SQL error: ${resp.error}`) :
             m('.query-table-container.x-scrollable',
diff --git a/ui/src/frontend/record_page.ts b/ui/src/frontend/record_page.ts
index e1b853e..d9b2d95 100644
--- a/ui/src/frontend/record_page.ts
+++ b/ui/src/frontend/record_page.ts
@@ -49,13 +49,13 @@
   recordTargetStore
 } from './record_config';
 import {
+  CategoriesCheckboxList,
   CodeSnippet,
   CompactProbe,
   Dropdown,
   DropdownAttrs,
   Probe,
   ProbeAttrs,
-  SelectAllNoneDropdown,
   Slider,
   SliderAttrs,
   Textarea,
@@ -604,6 +604,21 @@
         } as DropdownAttrs)));
 }
 
+function AtraceAppsList() {
+  if (globals.state.recordConfig.allAtraceApps) {
+    return m('div');
+  }
+
+  return m(Textarea, {
+    placeholder: 'Apps to profile, one per line, e.g.:\n' +
+        'com.android.phone\n' +
+        'lmkd\n' +
+        'com.android.nfc',
+    cssClass: '.atrace-apps-list',
+    set: (cfg, val) => cfg.atraceApps = val,
+    get: (cfg) => cfg.atraceApps,
+  } as TextareaAttrs);
+}
 
 function AndroidSettings(cssClass: string) {
   return m(
@@ -624,13 +639,13 @@
           set: (cfg, val) => cfg.atraceCats = val,
           get: (cfg) => cfg.atraceCats
         } as DropdownAttrs),
-        m(Textarea, {
-          placeholder: 'Extra apps to profile, one per line, e.g.:\n' +
-              'com.android.phone\n' +
-              'com.android.nfc',
-          set: (cfg, val) => cfg.atraceApps = val,
-          get: (cfg) => cfg.atraceApps
-        } as TextareaAttrs)),
+        m(Toggle, {
+          title: 'Record events from all Android apps and services',
+          descr: '',
+          setEnabled: (cfg, val) => cfg.allAtraceApps = val,
+          isEnabled: (cfg) => cfg.allAtraceApps,
+        } as ToggleAttrs),
+        AtraceAppsList()),
       m(Probe,
         {
           title: 'Event log (logcat)',
@@ -726,15 +741,15 @@
 
   return m(
       '.chrome-categories',
-      SelectAllNoneDropdown({
+      m(CategoriesCheckboxList, {
         categories: defaultCategories,
-        title: 'Additional Chrome categories',
+        title: 'Additional categories',
         get: (cfg) => cfg.chromeCategoriesSelected,
         set: (cfg, val) => cfg.chromeCategoriesSelected = val,
       }),
-      SelectAllNoneDropdown({
+      m(CategoriesCheckboxList, {
         categories: disabledByDefaultCategories,
-        title: 'Additional high overhead Chrome categories',
+        title: 'High overhead categories',
         get: (cfg) => cfg.chromeHighOverheadCategoriesSelected,
         set: (cfg, val) => cfg.chromeHighOverheadCategoriesSelected = val,
       }));
diff --git a/ui/src/frontend/record_widgets.ts b/ui/src/frontend/record_widgets.ts
index 11a36eb..d175ea6 100644
--- a/ui/src/frontend/record_widgets.ts
+++ b/ui/src/frontend/record_widgets.ts
@@ -359,45 +359,73 @@
   }
 }
 
-// Dropdown augmented with select all/none buttons
-export function SelectAllNoneDropdown(args: {
-  categories: Map<string, string>,
-  title: string,
-  get: Getter<string[]>,
-  set: Setter<string[]>,
-}) {
-  return m(
-      '.categories-list',
-      m('button.config-button',
-        {
-          onclick: () => {
-            const config = produce(globals.state.recordConfig, draft => {
-              args.set(draft, Array.from(args.categories.keys()));
-            });
-            globals.dispatch(Actions.setRecordConfig({config}));
-          }
-        },
-        'All'),
-      m('button.config-button',
-        {
-          onclick: () => {
-            const config = produce(globals.state.recordConfig, draft => {
-              args.set(draft, Array.from([]));
-            });
-            globals.dispatch(Actions.setRecordConfig({config}));
-          },
-        },
-        'None'),
-      m('br'),
-      m(Dropdown, {
-        cssClass: '.singlecolumn',
-        title: args.title,
-        options: args.categories,
-        set: args.set,
-        get: args.get,
-        sort: (a, b) => {
-          return a.localeCompare(b);
-        },
-      } as DropdownAttrs),
-  );
+
+interface CategoriesCheckboxListParams {
+  categories: Map<string, string>;
+  title: string;
+  get: Getter<string[]>;
+  set: Setter<string[]>;
+}
+
+export class CategoriesCheckboxList implements
+    m.ClassComponent<CategoriesCheckboxListParams> {
+  updateValue(
+      attrs: CategoriesCheckboxListParams, value: string, enabled: boolean) {
+    const traceCfg = produce(globals.state.recordConfig, draft => {
+      const values = attrs.get(draft);
+      const index = values.indexOf(value);
+      if (enabled && index === -1) {
+        values.push(value);
+      }
+      if (!enabled && index !== -1) {
+        values.splice(index, 1);
+      }
+    });
+    globals.dispatch(Actions.setRecordConfig({config: traceCfg}));
+  }
+
+  view({attrs}: m.CVnode<CategoriesCheckboxListParams>) {
+    const enabled = new Set(attrs.get(globals.state.recordConfig));
+    return m(
+        '.categories-list',
+        m('h3',
+          attrs.title,
+          m('button.config-button',
+            {
+              onclick: () => {
+                const config = produce(globals.state.recordConfig, draft => {
+                  attrs.set(draft, Array.from(attrs.categories.keys()));
+                });
+                globals.dispatch(Actions.setRecordConfig({config}));
+              }
+            },
+            'All'),
+          m('button.config-button',
+            {
+              onclick: () => {
+                const config = produce(globals.state.recordConfig, draft => {
+                  attrs.set(draft, []);
+                });
+                globals.dispatch(Actions.setRecordConfig({config}));
+              },
+            },
+            'None')),
+        m('ul.checkboxes',
+          Array.from(attrs.categories.entries()).map(([key, value]) => {
+            const id = `category-checkbox-${key}`;
+            return m(
+                'label',
+                {'for': id},
+                m('li',
+                  m('input[type=checkbox]', {
+                    id,
+                    checked: enabled.has(key),
+                    onclick: (e: InputEvent) => {
+                      const target = e.target as HTMLInputElement;
+                      this.updateValue(attrs, key, target.checked);
+                    }
+                  }),
+                  value));
+          })));
+  }
 }