probes + trace_processor: Polling of /proc/[pid]/status mem counters

This CL adds support for polling a bunch of memory counters from
/proc/[pid]/status at a configurable rate.
It also adds the trace_processor support to ingest those counters.


Bug: 117644900
Test: perfetto_unittests
Change-Id: Iad7874d62b3e2144dccfaea4d95eea977476315d
diff --git a/Android.bp b/Android.bp
index 7176c68..80b221a 100644
--- a/Android.bp
+++ b/Android.bp
@@ -3502,6 +3502,7 @@
 genrule {
   name: "perfetto_protos_perfetto_trace_ps_lite_gen",
   srcs: [
+    "protos/perfetto/trace/ps/process_stats.proto",
     "protos/perfetto/trace/ps/process_tree.proto",
   ],
   tools: [
@@ -3509,6 +3510,7 @@
   ],
   cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
   out: [
+    "external/perfetto/protos/perfetto/trace/ps/process_stats.pb.cc",
     "external/perfetto/protos/perfetto/trace/ps/process_tree.pb.cc",
   ],
 }
@@ -3517,6 +3519,7 @@
 genrule {
   name: "perfetto_protos_perfetto_trace_ps_lite_gen_headers",
   srcs: [
+    "protos/perfetto/trace/ps/process_stats.proto",
     "protos/perfetto/trace/ps/process_tree.proto",
   ],
   tools: [
@@ -3524,6 +3527,7 @@
   ],
   cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
   out: [
+    "external/perfetto/protos/perfetto/trace/ps/process_stats.pb.h",
     "external/perfetto/protos/perfetto/trace/ps/process_tree.pb.h",
   ],
   export_include_dirs: [
@@ -3535,6 +3539,7 @@
 genrule {
   name: "perfetto_protos_perfetto_trace_ps_zero_gen",
   srcs: [
+    "protos/perfetto/trace/ps/process_stats.proto",
     "protos/perfetto/trace/ps/process_tree.proto",
   ],
   tools: [
@@ -3543,6 +3548,7 @@
   ],
   cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
   out: [
+    "external/perfetto/protos/perfetto/trace/ps/process_stats.pbzero.cc",
     "external/perfetto/protos/perfetto/trace/ps/process_tree.pbzero.cc",
   ],
 }
@@ -3551,6 +3557,7 @@
 genrule {
   name: "perfetto_protos_perfetto_trace_ps_zero_gen_headers",
   srcs: [
+    "protos/perfetto/trace/ps/process_stats.proto",
     "protos/perfetto/trace/ps/process_tree.proto",
   ],
   tools: [
@@ -3559,6 +3566,7 @@
   ],
   cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
   out: [
+    "external/perfetto/protos/perfetto/trace/ps/process_stats.pbzero.h",
     "external/perfetto/protos/perfetto/trace/ps/process_tree.pbzero.h",
   ],
   export_include_dirs: [