protozero: implement string filtering as part of message filtering
This CL introduces support for filtering strings in traces (i.e by
redacting contents) using regexes. It also adds faster filtering
primitives for atrace which is expected to be where this code is used
the most.
Change-Id: Ie3624e4066bbd3d59fbde3225e5a368c18b46b18
Bug: 283246642
diff --git a/Android.bp b/Android.bp
index 590b442..446cd5e 100644
--- a/Android.bp
+++ b/Android.bp
@@ -567,6 +567,7 @@
":perfetto_src_protozero_filtering_bytecode_common",
":perfetto_src_protozero_filtering_bytecode_parser",
":perfetto_src_protozero_filtering_message_filter",
+ ":perfetto_src_protozero_filtering_string_filter",
":perfetto_src_protozero_proto_ring_buffer",
":perfetto_src_protozero_protozero",
":perfetto_src_traced_probes_android_game_intervention_list_android_game_intervention_list",
@@ -801,6 +802,7 @@
":perfetto_src_protozero_filtering_bytecode_common",
":perfetto_src_protozero_filtering_bytecode_parser",
":perfetto_src_protozero_filtering_message_filter",
+ ":perfetto_src_protozero_filtering_string_filter",
":perfetto_src_protozero_protozero",
":perfetto_src_tracing_client_api_without_backends",
":perfetto_src_tracing_common",
@@ -1208,6 +1210,7 @@
":perfetto_src_protozero_filtering_bytecode_generator",
":perfetto_src_protozero_filtering_bytecode_parser",
":perfetto_src_protozero_filtering_message_filter",
+ ":perfetto_src_protozero_filtering_string_filter",
":perfetto_src_protozero_proto_ring_buffer",
":perfetto_src_protozero_protozero",
":perfetto_src_traced_probes_android_game_intervention_list_android_game_intervention_list",
@@ -1498,6 +1501,7 @@
":perfetto_src_protozero_filtering_bytecode_common",
":perfetto_src_protozero_filtering_bytecode_parser",
":perfetto_src_protozero_filtering_message_filter",
+ ":perfetto_src_protozero_filtering_string_filter",
":perfetto_src_protozero_proto_ring_buffer",
":perfetto_src_protozero_protozero",
":perfetto_src_traced_probes_android_game_intervention_list_android_game_intervention_list",
@@ -2038,6 +2042,7 @@
":perfetto_src_protozero_filtering_bytecode_generator",
":perfetto_src_protozero_filtering_bytecode_parser",
":perfetto_src_protozero_filtering_message_filter",
+ ":perfetto_src_protozero_filtering_string_filter",
":perfetto_src_protozero_proto_ring_buffer",
":perfetto_src_protozero_protozero",
":perfetto_src_shared_lib_shared_lib",
@@ -9104,6 +9109,14 @@
],
}
+// GN: //src/protozero/filtering:string_filter
+filegroup {
+ name: "perfetto_src_protozero_filtering_string_filter",
+ srcs: [
+ "src/protozero/filtering/string_filter.cc",
+ ],
+}
+
// GN: //src/protozero/filtering:unittests
filegroup {
name: "perfetto_src_protozero_filtering_unittests",
@@ -9113,6 +9126,7 @@
"src/protozero/filtering/filter_util_unittest.cc",
"src/protozero/filtering/message_filter_unittest.cc",
"src/protozero/filtering/message_tokenizer_unittest.cc",
+ "src/protozero/filtering/string_filter_unittest.cc",
],
}
@@ -12080,6 +12094,7 @@
":perfetto_src_protozero_filtering_bytecode_parser",
":perfetto_src_protozero_filtering_filter_util",
":perfetto_src_protozero_filtering_message_filter",
+ ":perfetto_src_protozero_filtering_string_filter",
":perfetto_src_protozero_filtering_unittests",
":perfetto_src_protozero_proto_ring_buffer",
":perfetto_src_protozero_protozero",
@@ -12520,6 +12535,7 @@
":perfetto_src_protozero_filtering_bytecode_common",
":perfetto_src_protozero_filtering_bytecode_parser",
":perfetto_src_protozero_filtering_message_filter",
+ ":perfetto_src_protozero_filtering_string_filter",
":perfetto_src_protozero_proto_ring_buffer",
":perfetto_src_protozero_protozero",
":perfetto_src_traced_probes_android_game_intervention_list_android_game_intervention_list",
@@ -13272,6 +13288,7 @@
":perfetto_src_protozero_filtering_bytecode_common",
":perfetto_src_protozero_filtering_bytecode_parser",
":perfetto_src_protozero_filtering_message_filter",
+ ":perfetto_src_protozero_filtering_string_filter",
":perfetto_src_protozero_protozero",
":perfetto_src_traced_probes_ftrace_ftrace_procfs",
":perfetto_src_traced_probes_packages_list_packages_list_parser",