Add SysStats data source (/proc/{meminfo,stat,vmstat})

Adds a new data source for polling /proc counters.
The polling rate and the counters can be individually
set in the trace config.

The cost (CPU time) of polling and parsing these files,
measured on a Pixel 2, running on little core, is:
- /proc/meminfo: 0.3 ms [read] + 0.07 ms [parse + trace injection]
- /proc/vmstat:  0.2 ms [read] + 0.3 ms [parse + trace injection]
- /proc/stat:    4.1 ms [read] + 1.9 ms [parse + trace injection]

SELinux: aosp/759260
Bug: b/115956288
Test: perfetto_unittests --gtest_filter=SysStatsDataSourceTest.*

Change-Id: I2805f713d418ba6bda9550f11bfce137b378bc1b
diff --git a/tools/gen_merged_protos b/tools/gen_merged_protos
index 77bab2b..8d42fcd 100755
--- a/tools/gen_merged_protos
+++ b/tools/gen_merged_protos
@@ -22,11 +22,13 @@
 import sys
 
 CONFIG_PROTOS = (
+  'protos/perfetto/common/sys_stats_counters.proto',
   'protos/perfetto/config/chrome/chrome_config.proto',
-  'protos/perfetto/config/inode_file/inode_file_config.proto',
-  'protos/perfetto/config/process_stats/process_stats_config.proto',
   'protos/perfetto/config/data_source_config.proto',
   'protos/perfetto/config/ftrace/ftrace_config.proto',
+  'protos/perfetto/config/inode_file/inode_file_config.proto',
+  'protos/perfetto/config/process_stats/process_stats_config.proto',
+  'protos/perfetto/config/sys_stats/sys_stats_config.proto',
   'protos/perfetto/config/test_config.proto',
   'protos/perfetto/config/trace_config.proto',
 )
@@ -34,12 +36,15 @@
 MERGED_CONFIG_PROTO = 'protos/perfetto/config/perfetto_config.proto'
 
 TRACE_PROTOS = (
+  'protos/perfetto/common/sys_stats_counters.proto',
   'protos/perfetto/trace/trace.proto',
   'protos/perfetto/trace/trace_packet.proto',
   'protos/perfetto/trace/ftrace/ftrace_event_bundle.proto',
   'protos/perfetto/trace/ftrace/ftrace_event.proto',
   'protos/perfetto/trace/filesystem/inode_file_map.proto',
   'protos/perfetto/trace/ps/process_tree.proto',
+  'protos/perfetto/trace/clock_snapshot.proto',
+  'protos/perfetto/trace/sys_stats/sys_stats.proto',
 
   # Print proto is special: it doesn't have a enable file so is
   # not present in genfs_contexts.