Add statistics as a proto

Bug: b/133324726
Change-Id: If2bcba06fe00a40e69223795abf4ca705b779e88
diff --git a/Android.bp b/Android.bp
index e304cdf..26f2837 100644
--- a/Android.bp
+++ b/Android.bp
@@ -23,6 +23,7 @@
     "src/trace_processor/metrics/android/android_startup.sql",
     "src/trace_processor/metrics/android/android_startup_launches.sql",
     "src/trace_processor/metrics/android/android_task_state.sql",
+    "src/trace_processor/metrics/trace_statistics.sql",
   ],
   cmd: "$(location tools/gen_merged_sql_metrics.py) --cpp_out=$(out) $(in)",
   out: [
diff --git a/BUILD b/BUILD
index 0613890..285d5d9 100644
--- a/BUILD
+++ b/BUILD
@@ -30,6 +30,7 @@
         "src/trace_processor/metrics/android/android_startup.sql",
         "src/trace_processor/metrics/android/android_startup_launches.sql",
         "src/trace_processor/metrics/android/android_task_state.sql",
+        "src/trace_processor/metrics/trace_statistics.sql",
     ],
     outs = [
         "src/trace_processor/metrics/sql_metrics.h",
diff --git a/protos/perfetto/metrics/metrics.proto b/protos/perfetto/metrics/metrics.proto
index 839da04..5d39424 100644
--- a/protos/perfetto/metrics/metrics.proto
+++ b/protos/perfetto/metrics/metrics.proto
@@ -22,6 +22,18 @@
 import "perfetto/metrics/android/mem_metric.proto";
 import "perfetto/metrics/android/startup_metric.proto";
 
+// Trace processor statistics (taken from the stats table schema and contents).
+// TODO: perhaps add the other columns once we have enum support
+message TraceStatistics {
+  message Entry {
+    optional string name = 1;
+    optional uint32 idx = 2;
+    optional int64 value = 3;
+  }
+
+  repeated Entry entry = 1;
+}
+
 // Root message for all Perfetto-based metrics.
 message TraceMetrics {
   // Memory metrics on Android (owned by the Android Telemetry team).
@@ -29,4 +41,7 @@
 
   // Startup metrics on Android (owned by the Android Telemetry team).
   optional AndroidStartupMetric android_startup = 2;
+
+  // Trace statistics (applicable to all traces).
+  optional TraceStatistics trace_statistics = 3;
 }
diff --git a/src/trace_processor/metrics/BUILD.gn b/src/trace_processor/metrics/BUILD.gn
index d1b0000..b4f88c0 100644
--- a/src/trace_processor/metrics/BUILD.gn
+++ b/src/trace_processor/metrics/BUILD.gn
@@ -15,6 +15,7 @@
 import("../../../gn/perfetto.gni")
 
 sql_files = [
+  "trace_statistics.sql",
   "android/android_mem.sql",
   "android/android_mem_lmk.sql",
   "android/android_mem_proc_counters.sql",
diff --git a/src/trace_processor/metrics/metrics.descriptor.h b/src/trace_processor/metrics/metrics.descriptor.h
index aa93898..31a9e39 100644
--- a/src/trace_processor/metrics/metrics.descriptor.h
+++ b/src/trace_processor/metrics/metrics.descriptor.h
@@ -12,14 +12,14 @@
 // SHA1(tools/gen_binary_descriptors)
 // 750d7d8f95621b45d4b6430d6f8808087a8702e6
 // SHA1(protos/perfetto/metrics/metrics.proto)
-// d4bda49b11630f3175699774d467819548947998
+// 9fe94ca3168315a7a86cd521a3b34c25746b20c4
 
 // This is the proto Metrics encoded as a ProtoFileDescriptor to allow
 // for reflection without libprotobuf full/non-lite protos.
 
 namespace perfetto {
 
-constexpr std::array<uint8_t, 3223> kMetricsDescriptor{
+constexpr std::array<uint8_t, 3451> kMetricsDescriptor{
     {0x0a, 0xc6, 0x0f, 0x0a, 0x29, 0x70, 0x65, 0x72, 0x66, 0x65, 0x74, 0x74,
      0x6f, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x61, 0x6e,
      0x64, 0x72, 0x6f, 0x69, 0x64, 0x2f, 0x6d, 0x65, 0x6d, 0x5f, 0x6d, 0x65,
@@ -262,7 +262,7 @@
      0x72, 0x74, 0x75, 0x70, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x54,
      0x6f, 0x46, 0x69, 0x72, 0x73, 0x74, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x52,
      0x0c, 0x74, 0x6f, 0x46, 0x69, 0x72, 0x73, 0x74, 0x46, 0x72, 0x61, 0x6d,
-     0x65, 0x42, 0x02, 0x48, 0x03, 0x0a, 0xb7, 0x02, 0x0a, 0x1e, 0x70, 0x65,
+     0x65, 0x42, 0x02, 0x48, 0x03, 0x0a, 0x9b, 0x04, 0x0a, 0x1e, 0x70, 0x65,
      0x72, 0x66, 0x65, 0x74, 0x74, 0x6f, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69,
      0x63, 0x73, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x70,
      0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x70, 0x65, 0x72, 0x66, 0x65, 0x74,
@@ -274,21 +274,40 @@
      0x74, 0x6f, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x61,
      0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2f, 0x73, 0x74, 0x61, 0x72, 0x74,
      0x75, 0x70, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72,
-     0x6f, 0x74, 0x6f, 0x22, 0xa5, 0x01, 0x0a, 0x0c, 0x54, 0x72, 0x61, 0x63,
-     0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x45, 0x0a, 0x0b,
-     0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x5f, 0x6d, 0x65, 0x6d, 0x18,
-     0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x65, 0x72, 0x66,
-     0x65, 0x74, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e,
-     0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x4d, 0x65, 0x6d, 0x6f, 0x72,
-     0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x0a, 0x61, 0x6e, 0x64,
-     0x72, 0x6f, 0x69, 0x64, 0x4d, 0x65, 0x6d, 0x12, 0x4e, 0x0a, 0x0f, 0x61,
-     0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74,
-     0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70,
-     0x65, 0x72, 0x66, 0x65, 0x74, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
-     0x6f, 0x73, 0x2e, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x53, 0x74,
-     0x61, 0x72, 0x74, 0x75, 0x70, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52,
-     0x0e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x53, 0x74, 0x61, 0x72,
-     0x74, 0x75, 0x70, 0x42, 0x02, 0x48, 0x03}};
+     0x6f, 0x74, 0x6f, 0x22, 0x94, 0x01, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x63,
+     0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12,
+     0x3c, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x03,
+     0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x65, 0x74, 0x74,
+     0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x54, 0x72, 0x61,
+     0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73,
+     0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x65, 0x6e, 0x74, 0x72,
+     0x79, 0x1a, 0x43, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x12,
+     0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+     0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64,
+     0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x69, 0x64, 0x78,
+     0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20,
+     0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xf2,
+     0x01, 0x0a, 0x0c, 0x54, 0x72, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x72,
+     0x69, 0x63, 0x73, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x6e, 0x64, 0x72, 0x6f,
+     0x69, 0x64, 0x5f, 0x6d, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+     0x32, 0x24, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x65, 0x74, 0x74, 0x6f, 0x2e,
+     0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x41, 0x6e, 0x64, 0x72, 0x6f,
+     0x69, 0x64, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x72,
+     0x69, 0x63, 0x52, 0x0a, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x4d,
+     0x65, 0x6d, 0x12, 0x4e, 0x0a, 0x0f, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69,
+     0x64, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x18, 0x02, 0x20,
+     0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x65, 0x74,
+     0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x41, 0x6e,
+     0x64, 0x72, 0x6f, 0x69, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70,
+     0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x0e, 0x61, 0x6e, 0x64, 0x72,
+     0x6f, 0x69, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x12, 0x4b,
+     0x0a, 0x10, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74,
+     0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
+     0x32, 0x20, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x65, 0x74, 0x74, 0x6f, 0x2e,
+     0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65,
+     0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x0f,
+     0x74, 0x72, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74,
+     0x69, 0x63, 0x73, 0x42, 0x02, 0x48, 0x03}};
 
 }  // namespace perfetto
 
diff --git a/src/trace_processor/metrics/trace_statistics.sql b/src/trace_processor/metrics/trace_statistics.sql
new file mode 100644
index 0000000..7a97231
--- /dev/null
+++ b/src/trace_processor/metrics/trace_statistics.sql
@@ -0,0 +1,26 @@
+--
+-- Copyright 2019 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
+--
+--     https://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.
+--
+
+CREATE VIEW stats_view AS
+SELECT TraceStatistics_Entry(
+  'name', name,
+  'idx', idx,
+  'value', value)
+FROM stats
+WHERE name NOT IN ('guess_trace_type_duration_ns', 'parse_trace_duration_ns');
+
+CREATE VIEW trace_statistics_output AS
+SELECT TraceStatistics('entry', 'stats_view');
diff --git a/test/metrics/index b/test/metrics/index
index e94cc4f..32da969 100644
--- a/test/metrics/index
+++ b/test/metrics/index
@@ -1,3 +1,4 @@
 ../data/lmk_userspace.pb android_mem android_mem_lmk.out
 ../data/memory_counters.pb android_mem android_mem_counters.out
 android_startup.py android_startup android_startup.out
+../data/memory_counters.pb trace_statistics trace_statistics.out
\ No newline at end of file
diff --git a/test/metrics/trace_statistics.out b/test/metrics/trace_statistics.out
new file mode 100644
index 0000000..ba3ad05
--- /dev/null
+++ b/test/metrics/trace_statistics.out
@@ -0,0 +1,883 @@
+trace_statistics {
+  entry {
+    name: "android_log_num_failed"
+    value: 0
+  }
+  entry {
+    name: "android_log_num_skipped"
+    value: 0
+  }
+  entry {
+    name: "android_log_num_total"
+    value: 0
+  }
+  entry {
+    name: "atrace_tgid_mismatch"
+    value: 0
+  }
+  entry {
+    name: "clock_snapshot_not_monotonic"
+    value: 0
+  }
+  entry {
+    name: "counter_events_out_of_order"
+    value: 0
+  }
+  entry {
+    name: "ftrace_bundle_tokenizer_errors"
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_bytes_read_begin"
+    idx: 0
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_bytes_read_begin"
+    idx: 1
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_bytes_read_begin"
+    idx: 2
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_bytes_read_begin"
+    idx: 3
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_bytes_read_begin"
+    idx: 4
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_bytes_read_begin"
+    idx: 5
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_bytes_read_begin"
+    idx: 6
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_bytes_read_begin"
+    idx: 7
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_bytes_read_end"
+    idx: 0
+    value: 10608
+  }
+  entry {
+    name: "ftrace_cpu_bytes_read_end"
+    idx: 1
+    value: 8228
+  }
+  entry {
+    name: "ftrace_cpu_bytes_read_end"
+    idx: 2
+    value: 6868
+  }
+  entry {
+    name: "ftrace_cpu_bytes_read_end"
+    idx: 3
+    value: 1904
+  }
+  entry {
+    name: "ftrace_cpu_bytes_read_end"
+    idx: 4
+    value: 3488
+  }
+  entry {
+    name: "ftrace_cpu_bytes_read_end"
+    idx: 5
+    value: 1428
+  }
+  entry {
+    name: "ftrace_cpu_bytes_read_end"
+    idx: 6
+    value: 5984
+  }
+  entry {
+    name: "ftrace_cpu_bytes_read_end"
+    idx: 7
+    value: 68
+  }
+  entry {
+    name: "ftrace_cpu_commit_overrun_begin"
+    idx: 0
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_commit_overrun_begin"
+    idx: 1
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_commit_overrun_begin"
+    idx: 2
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_commit_overrun_begin"
+    idx: 3
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_commit_overrun_begin"
+    idx: 4
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_commit_overrun_begin"
+    idx: 5
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_commit_overrun_begin"
+    idx: 6
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_commit_overrun_begin"
+    idx: 7
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_commit_overrun_end"
+    idx: 0
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_commit_overrun_end"
+    idx: 1
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_commit_overrun_end"
+    idx: 2
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_commit_overrun_end"
+    idx: 3
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_commit_overrun_end"
+    idx: 4
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_commit_overrun_end"
+    idx: 5
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_commit_overrun_end"
+    idx: 6
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_commit_overrun_end"
+    idx: 7
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_dropped_events_begin"
+    idx: 0
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_dropped_events_begin"
+    idx: 1
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_dropped_events_begin"
+    idx: 2
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_dropped_events_begin"
+    idx: 3
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_dropped_events_begin"
+    idx: 4
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_dropped_events_begin"
+    idx: 5
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_dropped_events_begin"
+    idx: 6
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_dropped_events_begin"
+    idx: 7
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_dropped_events_end"
+    idx: 0
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_dropped_events_end"
+    idx: 1
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_dropped_events_end"
+    idx: 2
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_dropped_events_end"
+    idx: 3
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_dropped_events_end"
+    idx: 4
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_dropped_events_end"
+    idx: 5
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_dropped_events_end"
+    idx: 6
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_dropped_events_end"
+    idx: 7
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_entries_begin"
+    idx: 0
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_entries_begin"
+    idx: 1
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_entries_begin"
+    idx: 2
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_entries_begin"
+    idx: 3
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_entries_begin"
+    idx: 4
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_entries_begin"
+    idx: 5
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_entries_begin"
+    idx: 6
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_entries_begin"
+    idx: 7
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_entries_end"
+    idx: 0
+    value: 156
+  }
+  entry {
+    name: "ftrace_cpu_entries_end"
+    idx: 1
+    value: 121
+  }
+  entry {
+    name: "ftrace_cpu_entries_end"
+    idx: 2
+    value: 101
+  }
+  entry {
+    name: "ftrace_cpu_entries_end"
+    idx: 3
+    value: 28
+  }
+  entry {
+    name: "ftrace_cpu_entries_end"
+    idx: 4
+    value: 48
+  }
+  entry {
+    name: "ftrace_cpu_entries_end"
+    idx: 5
+    value: 21
+  }
+  entry {
+    name: "ftrace_cpu_entries_end"
+    idx: 6
+    value: 88
+  }
+  entry {
+    name: "ftrace_cpu_entries_end"
+    idx: 7
+    value: 1
+  }
+  entry {
+    name: "ftrace_cpu_now_ts_begin"
+    idx: 0
+    value: 22240236140000
+  }
+  entry {
+    name: "ftrace_cpu_now_ts_begin"
+    idx: 1
+    value: 22240236324000
+  }
+  entry {
+    name: "ftrace_cpu_now_ts_begin"
+    idx: 2
+    value: 22240236374000
+  }
+  entry {
+    name: "ftrace_cpu_now_ts_begin"
+    idx: 3
+    value: 22240236427000
+  }
+  entry {
+    name: "ftrace_cpu_now_ts_begin"
+    idx: 4
+    value: 22240236477000
+  }
+  entry {
+    name: "ftrace_cpu_now_ts_begin"
+    idx: 5
+    value: 22240236526000
+  }
+  entry {
+    name: "ftrace_cpu_now_ts_begin"
+    idx: 6
+    value: 22240236579000
+  }
+  entry {
+    name: "ftrace_cpu_now_ts_begin"
+    idx: 7
+    value: 22240236625000
+  }
+  entry {
+    name: "ftrace_cpu_now_ts_end"
+    idx: 0
+    value: 22249776931000
+  }
+  entry {
+    name: "ftrace_cpu_now_ts_end"
+    idx: 1
+    value: 22249777014000
+  }
+  entry {
+    name: "ftrace_cpu_now_ts_end"
+    idx: 2
+    value: 22249777077000
+  }
+  entry {
+    name: "ftrace_cpu_now_ts_end"
+    idx: 3
+    value: 22249777137000
+  }
+  entry {
+    name: "ftrace_cpu_now_ts_end"
+    idx: 4
+    value: 22249777197000
+  }
+  entry {
+    name: "ftrace_cpu_now_ts_end"
+    idx: 5
+    value: 22249777257000
+  }
+  entry {
+    name: "ftrace_cpu_now_ts_end"
+    idx: 6
+    value: 22249777317000
+  }
+  entry {
+    name: "ftrace_cpu_now_ts_end"
+    idx: 7
+    value: 22249777375000
+  }
+  entry {
+    name: "ftrace_cpu_oldest_event_ts_begin"
+    idx: 0
+    value: 9223372036854775807
+  }
+  entry {
+    name: "ftrace_cpu_oldest_event_ts_begin"
+    idx: 1
+    value: 7771029041000
+  }
+  entry {
+    name: "ftrace_cpu_oldest_event_ts_begin"
+    idx: 2
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_oldest_event_ts_begin"
+    idx: 3
+    value: 9223372036854775807
+  }
+  entry {
+    name: "ftrace_cpu_oldest_event_ts_begin"
+    idx: 4
+    value: 7769330453000
+  }
+  entry {
+    name: "ftrace_cpu_oldest_event_ts_begin"
+    idx: 5
+    value: 9223372036854775807
+  }
+  entry {
+    name: "ftrace_cpu_oldest_event_ts_begin"
+    idx: 6
+    value: 7768019679000
+  }
+  entry {
+    name: "ftrace_cpu_oldest_event_ts_begin"
+    idx: 7
+    value: 7761857522000
+  }
+  entry {
+    name: "ftrace_cpu_oldest_event_ts_end"
+    idx: 0
+    value: 22249747676000
+  }
+  entry {
+    name: "ftrace_cpu_oldest_event_ts_end"
+    idx: 1
+    value: 22249742988000
+  }
+  entry {
+    name: "ftrace_cpu_oldest_event_ts_end"
+    idx: 2
+    value: 22249742952000
+  }
+  entry {
+    name: "ftrace_cpu_oldest_event_ts_end"
+    idx: 3
+    value: 22249729550000
+  }
+  entry {
+    name: "ftrace_cpu_oldest_event_ts_end"
+    idx: 4
+    value: 22249396588000
+  }
+  entry {
+    name: "ftrace_cpu_oldest_event_ts_end"
+    idx: 5
+    value: 22249614218000
+  }
+  entry {
+    name: "ftrace_cpu_oldest_event_ts_end"
+    idx: 6
+    value: 22249744277000
+  }
+  entry {
+    name: "ftrace_cpu_oldest_event_ts_end"
+    idx: 7
+    value: 22249774165000
+  }
+  entry {
+    name: "ftrace_cpu_overrun_begin"
+    idx: 0
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_overrun_begin"
+    idx: 1
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_overrun_begin"
+    idx: 2
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_overrun_begin"
+    idx: 3
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_overrun_begin"
+    idx: 4
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_overrun_begin"
+    idx: 5
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_overrun_begin"
+    idx: 6
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_overrun_begin"
+    idx: 7
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_overrun_end"
+    idx: 0
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_overrun_end"
+    idx: 1
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_overrun_end"
+    idx: 2
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_overrun_end"
+    idx: 3
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_overrun_end"
+    idx: 4
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_overrun_end"
+    idx: 5
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_overrun_end"
+    idx: 6
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_overrun_end"
+    idx: 7
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_read_events_begin"
+    idx: 0
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_read_events_begin"
+    idx: 1
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_read_events_begin"
+    idx: 2
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_read_events_begin"
+    idx: 3
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_read_events_begin"
+    idx: 4
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_read_events_begin"
+    idx: 5
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_read_events_begin"
+    idx: 6
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_read_events_begin"
+    idx: 7
+    value: 0
+  }
+  entry {
+    name: "ftrace_cpu_read_events_end"
+    idx: 0
+    value: 23385
+  }
+  entry {
+    name: "ftrace_cpu_read_events_end"
+    idx: 1
+    value: 18213
+  }
+  entry {
+    name: "ftrace_cpu_read_events_end"
+    idx: 2
+    value: 10881
+  }
+  entry {
+    name: "ftrace_cpu_read_events_end"
+    idx: 3
+    value: 6433
+  }
+  entry {
+    name: "ftrace_cpu_read_events_end"
+    idx: 4
+    value: 12134
+  }
+  entry {
+    name: "ftrace_cpu_read_events_end"
+    idx: 5
+    value: 11234
+  }
+  entry {
+    name: "ftrace_cpu_read_events_end"
+    idx: 6
+    value: 11647
+  }
+  entry {
+    name: "ftrace_cpu_read_events_end"
+    idx: 7
+    value: 9715
+  }
+  entry {
+    name: "interned_data_tokenizer_errors"
+    value: 0
+  }
+  entry {
+    name: "invalid_clock_snapshots"
+    value: 0
+  }
+  entry {
+    name: "invalid_cpu_times"
+    value: 0
+  }
+  entry {
+    name: "meminfo_unknown_keys"
+    value: 0
+  }
+  entry {
+    name: "mismatched_sched_switch_tids"
+    value: 5
+  }
+  entry {
+    name: "mm_unknown_type"
+    value: 0
+  }
+  entry {
+    name: "power_rail_unknown_index"
+    value: 0
+  }
+  entry {
+    name: "proc_stat_unknown_counters"
+    value: 0
+  }
+  entry {
+    name: "rss_stat_unknown_keys"
+    value: 0
+  }
+  entry {
+    name: "rss_stat_negative_size"
+    value: 0
+  }
+  entry {
+    name: "sched_switch_out_of_order"
+    value: 0
+  }
+  entry {
+    name: "slice_out_of_order"
+    value: 0
+  }
+  entry {
+    name: "systrace_parse_failure"
+    value: 0
+  }
+  entry {
+    name: "task_state_invalid"
+    value: 0
+  }
+  entry {
+    name: "traced_buf_buffer_size"
+    idx: 0
+    value: 0
+  }
+  entry {
+    name: "traced_buf_bytes_overwritten"
+    idx: 0
+    value: 0
+  }
+  entry {
+    name: "traced_buf_bytes_read"
+    idx: 0
+    value: 0
+  }
+  entry {
+    name: "traced_buf_bytes_written"
+    idx: 0
+    value: 6377040
+  }
+  entry {
+    name: "traced_buf_chunks_discarded"
+    idx: 0
+    value: 0
+  }
+  entry {
+    name: "traced_buf_chunks_overwritten"
+    idx: 0
+    value: 0
+  }
+  entry {
+    name: "traced_buf_chunks_read"
+    idx: 0
+    value: 0
+  }
+  entry {
+    name: "traced_buf_chunks_rewritten"
+    idx: 0
+    value: 0
+  }
+  entry {
+    name: "traced_buf_chunks_written"
+    idx: 0
+    value: 1563
+  }
+  entry {
+    name: "traced_buf_chunks_committed_out_of_order"
+    idx: 0
+    value: 0
+  }
+  entry {
+    name: "traced_buf_padding_bytes_cleared"
+    idx: 0
+    value: 0
+  }
+  entry {
+    name: "traced_buf_padding_bytes_written"
+    idx: 0
+    value: 0
+  }
+  entry {
+    name: "traced_buf_patches_failed"
+    idx: 0
+    value: 0
+  }
+  entry {
+    name: "traced_buf_patches_succeeded"
+    idx: 0
+    value: 3926
+  }
+  entry {
+    name: "traced_buf_readaheads_failed"
+    idx: 0
+    value: 0
+  }
+  entry {
+    name: "traced_buf_readaheads_succeeded"
+    idx: 0
+    value: 0
+  }
+  entry {
+    name: "traced_buf_write_wrap_count"
+    idx: 0
+    value: 0
+  }
+  entry {
+    name: "traced_chunks_discarded"
+    value: 0
+  }
+  entry {
+    name: "traced_data_sources_registered"
+    value: 4
+  }
+  entry {
+    name: "traced_data_sources_seen"
+    value: 6
+  }
+  entry {
+    name: "traced_patches_discarded"
+    value: 0
+  }
+  entry {
+    name: "traced_producers_connected"
+    value: 1
+  }
+  entry {
+    name: "traced_producers_seen"
+    value: 0
+  }
+  entry {
+    name: "traced_total_buffers"
+    value: 1
+  }
+  entry {
+    name: "traced_tracing_sessions"
+    value: 1
+  }
+  entry {
+    name: "track_event_tokenizer_errors"
+    value: 0
+  }
+  entry {
+    name: "track_event_tokenizer_skipped_packets"
+    value: 0
+  }
+  entry {
+    name: "vmstat_unknown_keys"
+    value: 0
+  }
+  entry {
+    name: "clock_sync_failure"
+    value: 0
+  }
+  entry {
+    name: "process_tracker_errors"
+    value: 0
+  }
+  entry {
+    name: "json_tokenizer_failure"
+    value: 0
+  }
+  entry {
+    name: "heapprofd_invalid_string_id"
+    value: 0
+  }
+  entry {
+    name: "heapprofd_invalid_mapping_id"
+    value: 0
+  }
+  entry {
+    name: "heapprofd_invalid_frame_id"
+    value: 0
+  }
+  entry {
+    name: "heapprofd_invalid_callstack_id"
+    value: 0
+  }
+}