Move process memory stat and growth metrics
Bug: b/135648427
Change-Id: I6984b4765e7b990beeb105f61764cd83cff9ff39
diff --git a/Android.bp b/Android.bp
index dbc57c5..7c22a78 100644
--- a/Android.bp
+++ b/Android.bp
@@ -23,13 +23,16 @@
"src/trace_processor/metrics/android/android_ion.sql",
"src/trace_processor/metrics/android/android_lmk.sql",
"src/trace_processor/metrics/android/android_mem.sql",
- "src/trace_processor/metrics/android/android_mem_proc_counters.sql",
"src/trace_processor/metrics/android/android_powrails.sql",
+ "src/trace_processor/metrics/android/android_process_growth.sql",
"src/trace_processor/metrics/android/android_startup.sql",
"src/trace_processor/metrics/android/android_startup_cpu.sql",
"src/trace_processor/metrics/android/android_startup_launches.sql",
"src/trace_processor/metrics/android/android_task_state.sql",
"src/trace_processor/metrics/android/heap_profile.sql",
+ "src/trace_processor/metrics/android/process_mem.sql",
+ "src/trace_processor/metrics/android/span_view_stats.sql",
+ "src/trace_processor/metrics/android/upid_span_view.sql",
"src/trace_processor/metrics/error_statistics.sql",
],
cmd: "$(location tools/gen_merged_sql_metrics.py) --cpp_out=$(out) $(in)",
@@ -1288,6 +1291,7 @@
"protos/perfetto/metrics/android/lmk_metric.proto",
"protos/perfetto/metrics/android/mem_metric.proto",
"protos/perfetto/metrics/android/powrails_metric.proto",
+ "protos/perfetto/metrics/android/process_growth.proto",
"protos/perfetto/metrics/android/startup_metric.proto",
],
tools: [
@@ -1303,6 +1307,7 @@
"external/perfetto/protos/perfetto/metrics/android/lmk_metric.pbzero.cc",
"external/perfetto/protos/perfetto/metrics/android/mem_metric.pbzero.cc",
"external/perfetto/protos/perfetto/metrics/android/powrails_metric.pbzero.cc",
+ "external/perfetto/protos/perfetto/metrics/android/process_growth.pbzero.cc",
"external/perfetto/protos/perfetto/metrics/android/startup_metric.pbzero.cc",
],
}
@@ -1318,6 +1323,7 @@
"protos/perfetto/metrics/android/lmk_metric.proto",
"protos/perfetto/metrics/android/mem_metric.proto",
"protos/perfetto/metrics/android/powrails_metric.proto",
+ "protos/perfetto/metrics/android/process_growth.proto",
"protos/perfetto/metrics/android/startup_metric.proto",
],
tools: [
@@ -1333,6 +1339,7 @@
"external/perfetto/protos/perfetto/metrics/android/lmk_metric.pbzero.h",
"external/perfetto/protos/perfetto/metrics/android/mem_metric.pbzero.h",
"external/perfetto/protos/perfetto/metrics/android/powrails_metric.pbzero.h",
+ "external/perfetto/protos/perfetto/metrics/android/process_growth.pbzero.h",
"external/perfetto/protos/perfetto/metrics/android/startup_metric.pbzero.h",
],
export_include_dirs: [
diff --git a/BUILD b/BUILD
index 0306cab..2298de7 100644
--- a/BUILD
+++ b/BUILD
@@ -30,13 +30,16 @@
"src/trace_processor/metrics/android/android_ion.sql",
"src/trace_processor/metrics/android/android_lmk.sql",
"src/trace_processor/metrics/android/android_mem.sql",
- "src/trace_processor/metrics/android/android_mem_proc_counters.sql",
"src/trace_processor/metrics/android/android_powrails.sql",
+ "src/trace_processor/metrics/android/android_process_growth.sql",
"src/trace_processor/metrics/android/android_startup.sql",
"src/trace_processor/metrics/android/android_startup_cpu.sql",
"src/trace_processor/metrics/android/android_startup_launches.sql",
"src/trace_processor/metrics/android/android_task_state.sql",
"src/trace_processor/metrics/android/heap_profile.sql",
+ "src/trace_processor/metrics/android/process_mem.sql",
+ "src/trace_processor/metrics/android/span_view_stats.sql",
+ "src/trace_processor/metrics/android/upid_span_view.sql",
"src/trace_processor/metrics/error_statistics.sql",
],
outs = [
diff --git a/protos/BUILD b/protos/BUILD
index 3705c24..ef9e2e6 100644
--- a/protos/BUILD
+++ b/protos/BUILD
@@ -238,6 +238,7 @@
"perfetto/metrics/android/lmk_metric.proto",
"perfetto/metrics/android/mem_metric.proto",
"perfetto/metrics/android/powrails_metric.proto",
+ "perfetto/metrics/android/process_growth.proto",
"perfetto/metrics/android/startup_metric.proto",
],
has_services = 1,
@@ -281,6 +282,7 @@
"perfetto/metrics/android/lmk_metric.proto",
"perfetto/metrics/android/mem_metric.proto",
"perfetto/metrics/android/powrails_metric.proto",
+ "perfetto/metrics/android/process_growth.proto",
"perfetto/metrics/android/startup_metric.proto",
],
)
diff --git a/protos/perfetto/metrics/android/BUILD.gn b/protos/perfetto/metrics/android/BUILD.gn
index 06785c5..4184cc7 100644
--- a/protos/perfetto/metrics/android/BUILD.gn
+++ b/protos/perfetto/metrics/android/BUILD.gn
@@ -20,6 +20,7 @@
"batt_metric.proto",
"cpu_metric.proto",
"mem_metric.proto",
+ "process_growth.proto",
"ion_metric.proto",
"lmk_metric.proto",
"powrails_metric.proto",
diff --git a/protos/perfetto/metrics/android/mem_metric.proto b/protos/perfetto/metrics/android/mem_metric.proto
index 41ad572..e379217 100644
--- a/protos/perfetto/metrics/android/mem_metric.proto
+++ b/protos/perfetto/metrics/android/mem_metric.proto
@@ -21,32 +21,9 @@
// Memory metrics on Android.
message AndroidMemoryMetric {
- message SystemMetrics {
- optional Counter anon_pages = 1;
- optional Counter mmaped_pages = 2;
- }
-
- // Next id: 14
message ProcessMetrics {
- reserved 2 to 9;
-
optional string process_name = 1;
- optional ProcessMemoryCounters overall_counters = 10;
-
- message ProcessMetricsBreakdown {
- reserved 1;
- optional string process_priority = 3;
- optional ProcessMemoryCounters counters = 2;
- }
- repeated ProcessMetricsBreakdown breakdown = 11;
-
- // Reserved for internal use.
- extensions 12;
-
- // A single process might have started one or more times in the duration of
- // a trace. For each of these instances, measure the starting and ending
- // anon+swap memory values.
- repeated SpanGrowth anon_growth = 13;
+ optional ProcessMemoryCounters total_counters = 2;
}
message ProcessMemoryCounters {
@@ -62,22 +39,6 @@
optional double avg = 3;
}
- message SpanGrowth {
- // Initial value (at the beginning of the trace or process start)
- optional double start_val = 1;
-
- // End value (last sample for the pid).
- optional double end_val = 2;
-
- // Process duration (might or might not match the trace duration).
- optional int64 duration = 3;
-
- // (end_val - start_val) / start_val
- optional double growth = 4;
- }
-
- optional SystemMetrics system_metrics = 4;
-
- // Process-level metrics
- repeated ProcessMetrics process_metrics = 3;
+ // Process metrics, grouped by process name
+ repeated ProcessMetrics process_metrics = 1;
}
diff --git a/protos/perfetto/metrics/android/process_growth.proto b/protos/perfetto/metrics/android/process_growth.proto
new file mode 100644
index 0000000..a0dbe59
--- /dev/null
+++ b/protos/perfetto/metrics/android/process_growth.proto
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 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
+ *
+ * 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";
+option optimize_for = LITE_RUNTIME;
+
+package perfetto.protos;
+
+message AndroidProcessGrowth {
+ message InstanceMetrics {
+ optional uint32 pid = 1;
+ optional string process_name = 2;
+
+ optional int64 anon_and_swap_change_bytes = 3;
+ optional int64 malloc_memory_change_bytes = 4;
+ }
+
+ // Process memory per process instance.
+ repeated InstanceMetrics instance_metrics = 1;
+}
diff --git a/protos/perfetto/metrics/metrics.proto b/protos/perfetto/metrics/metrics.proto
index f78214e..defdab5 100644
--- a/protos/perfetto/metrics/metrics.proto
+++ b/protos/perfetto/metrics/metrics.proto
@@ -22,6 +22,7 @@
import "perfetto/metrics/android/batt_metric.proto";
import "perfetto/metrics/android/cpu_metric.proto";
import "perfetto/metrics/android/mem_metric.proto";
+import "perfetto/metrics/android/process_growth.proto";
import "perfetto/metrics/android/ion_metric.proto";
import "perfetto/metrics/android/lmk_metric.proto";
import "perfetto/metrics/android/powrails_metric.proto";
@@ -42,7 +43,7 @@
// Root message for all Perfetto-based metrics.
//
-// Next id: 10
+// Next id: 11
message TraceMetrics {
// Battery counters metric on Android.
optional AndroidBatteryMetric android_batt = 5;
@@ -53,6 +54,9 @@
// Memory metrics on Android (owned by the Android Telemetry team).
optional AndroidMemoryMetric android_mem = 1;
+ // Per-process memory growth metrics.
+ optional AndroidProcessGrowth android_process_growth = 10;
+
// ion buffer memory metrics.
optional AndroidIonMetric android_ion = 9;
diff --git a/src/trace_processor/metrics/BUILD.gn b/src/trace_processor/metrics/BUILD.gn
index 6d6647e..438601e 100644
--- a/src/trace_processor/metrics/BUILD.gn
+++ b/src/trace_processor/metrics/BUILD.gn
@@ -20,15 +20,18 @@
"android/android_cpu.sql",
"android/android_cpu_agg.sql",
"android/android_mem.sql",
+ "android/android_process_growth.sql",
"android/android_ion.sql",
"android/android_lmk.sql",
- "android/android_mem_proc_counters.sql",
"android/android_powrails.sql",
"android/android_startup_launches.sql",
"android/android_task_state.sql",
"android/android_startup.sql",
"android/android_startup_cpu.sql",
"android/heap_profile.sql",
+ "android/process_mem.sql",
+ "android/span_view_stats.sql",
+ "android/upid_span_view.sql",
]
config("gen_config") {
diff --git a/src/trace_processor/metrics/android/android_mem.sql b/src/trace_processor/metrics/android/android_mem.sql
index 076852b..33447ea 100644
--- a/src/trace_processor/metrics/android/android_mem.sql
+++ b/src/trace_processor/metrics/android/android_mem.sql
@@ -14,39 +14,40 @@
-- limitations under the License.
--
--- Create all the views used to generate the Android Memory metrics proto.
--- Generate the process counter metrics.
-SELECT RUN_METRIC('android/android_mem_proc_counters.sql',
- 'table_name',
- 'file_rss',
- 'counter_names',
- 'mem.rss.file');
-SELECT RUN_METRIC('android/android_mem_proc_counters.sql',
- 'table_name',
- 'anon_rss',
- 'counter_names',
- 'mem.rss.anon');
+SELECT RUN_METRIC('android/process_mem.sql');
CREATE VIEW process_metrics_view AS
SELECT
AndroidMemoryMetric_ProcessMetrics(
- 'process_name',
- anon_rss.name,
- 'overall_counters',
- AndroidMemoryMetric_ProcessMemoryCounters(
- 'anon_rss',
- AndroidMemoryMetric_Counter(
- 'min',
- anon_rss.min,
- 'max',
- anon_rss.max,
- 'avg',
- anon_rss.avg
+ 'process_name', process_name,
+ 'total_counters', AndroidMemoryMetric_ProcessMemoryCounters(
+ 'anon_rss', AndroidMemoryMetric_Counter(
+ 'min', anon_rss_stats.min_value,
+ 'max', anon_rss_stats.max_value,
+ 'avg', anon_rss_stats.avg_value
+ ),
+ 'file_rss', AndroidMemoryMetric_Counter(
+ 'min', file_rss_stats.min_value,
+ 'max', file_rss_stats.max_value,
+ 'avg', file_rss_stats.avg_value
+ ),
+ 'swap', AndroidMemoryMetric_Counter(
+ 'min', swap_stats.min_value,
+ 'max', swap_stats.max_value,
+ 'avg', swap_stats.avg_value
+ ),
+ 'anon_and_swap', AndroidMemoryMetric_Counter(
+ 'min', anon_and_swap_stats.min_value,
+ 'max', anon_and_swap_stats.max_value,
+ 'avg', anon_and_swap_stats.avg_value
)
)
- ) as metric
+ ) AS metric
FROM
- anon_rss;
+ anon_rss_stats
+ JOIN file_rss_stats USING (process_name)
+ JOIN swap_stats USING (process_name)
+ JOIN anon_and_swap_stats USING (process_name);
CREATE VIEW android_mem_output AS
SELECT
diff --git a/src/trace_processor/metrics/android/android_mem_proc_counters.sql b/src/trace_processor/metrics/android/android_mem_proc_counters.sql
deleted file mode 100644
index 6fb716d..0000000
--- a/src/trace_processor/metrics/android/android_mem_proc_counters.sql
+++ /dev/null
@@ -1,36 +0,0 @@
---
--- 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 {{table_name}}_span AS
-SELECT
- ts,
- LEAD(ts, 1, ts) OVER(PARTITION BY counter_id ORDER BY ts) - ts AS dur,
- ref AS upid,
- value
-FROM counters
-WHERE name = '{{counter_names}}' AND ref IS NOT NULL AND ref_type = 'upid';
-
-CREATE VIEW {{table_name}} AS
-SELECT
- process.name,
- MIN(span.value) as min,
- MAX(span.value) as max,
- SUM(span.value * span.dur) / SUM(span.dur) as avg
-FROM {{table_name}}_span as span JOIN process USING(upid)
-WHERE NOT (process.name IS NULL OR process.name = '')
-GROUP BY 1
-HAVING SUM(span.dur) > 0
-ORDER BY 1;
diff --git a/src/trace_processor/metrics/android/android_process_growth.sql b/src/trace_processor/metrics/android/android_process_growth.sql
new file mode 100644
index 0000000..4751c3a
--- /dev/null
+++ b/src/trace_processor/metrics/android/android_process_growth.sql
@@ -0,0 +1,60 @@
+--
+-- 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.
+--
+
+SELECT RUN_METRIC('android/process_mem.sql');
+
+CREATE VIEW malloc_memory_growth AS
+SELECT
+ upid,
+ SUM(size) AS growth
+FROM heap_profile_allocation
+GROUP BY 1;
+
+CREATE VIEW anon_and_swap_growth AS
+SELECT DISTINCT
+ upid,
+ FIRST_VALUE(anon_and_swap_val) OVER upid_window AS start_val,
+ LAST_VALUE(anon_and_swap_val) OVER upid_window AS end_val
+FROM anon_and_swap_span
+WINDOW upid_window AS (
+ PARTITION BY upid
+ ORDER BY ts
+ ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
+);
+
+CREATE VIEW process_growth AS
+SELECT
+ process.pid AS pid,
+ process.name AS process_name,
+ CAST(asg.end_val - asg.start_val AS BIG INT) AS anon_and_swap_change,
+ malloc_memory_growth.growth AS malloc_change
+FROM anon_and_swap_growth AS asg
+JOIN process USING (upid)
+LEFT JOIN malloc_memory_growth USING (upid);
+
+CREATE VIEW instance_metrics_proto AS
+SELECT AndroidProcessGrowth_InstanceMetrics(
+ 'pid', pid,
+ 'process_name', process_name,
+ 'anon_and_swap_change_bytes', anon_and_swap_change,
+ 'malloc_memory_change_bytes', malloc_change
+) AS instance_metric
+FROM process_growth;
+
+CREATE VIEW android_process_growth_output AS
+SELECT AndroidProcessGrowth(
+ 'instance_metrics', (SELECT RepeatedField(instance_metric) FROM instance_metrics_proto)
+);
diff --git a/src/trace_processor/metrics/android/process_mem.sql b/src/trace_processor/metrics/android/process_mem.sql
new file mode 100644
index 0000000..34dd723
--- /dev/null
+++ b/src/trace_processor/metrics/android/process_mem.sql
@@ -0,0 +1,51 @@
+--
+-- 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 all the views used to generate the Android Memory metrics proto.
+-- Anon RSS
+SELECT RUN_METRIC('android/upid_span_view.sql',
+ 'table_name', 'anon_rss',
+ 'counter_name', 'mem.rss.anon');
+
+SELECT RUN_METRIC('android/span_view_stats.sql', 'table_name', 'anon_rss');
+
+-- File RSS
+SELECT RUN_METRIC('android/upid_span_view.sql',
+ 'table_name', 'file_rss',
+ 'counter_name', 'mem.rss.file');
+
+SELECT RUN_METRIC('android/span_view_stats.sql', 'table_name', 'file_rss');
+
+-- Swap
+SELECT RUN_METRIC('android/upid_span_view.sql',
+ 'table_name', 'swap',
+ 'counter_name', 'mem.swap');
+
+SELECT RUN_METRIC('android/span_view_stats.sql', 'table_name', 'swap');
+
+-- Anon RSS + Swap
+DROP TABLE IF EXISTS anon_and_swap_join;
+
+CREATE VIRTUAL TABLE anon_and_swap_join
+USING SPAN_JOIN(anon_rss_span PARTITIONED upid, swap_span PARTITIONED upid);
+
+DROP VIEW IF EXISTS anon_and_swap_span;
+
+CREATE VIEW anon_and_swap_span AS
+SELECT ts, dur, upid, anon_rss_val + swap_val AS anon_and_swap_val
+FROM anon_and_swap_join;
+
+SELECT RUN_METRIC('android/span_view_stats.sql', 'table_name', 'anon_and_swap');
diff --git a/src/trace_processor/metrics/android/span_view_stats.sql b/src/trace_processor/metrics/android/span_view_stats.sql
new file mode 100644
index 0000000..fa72239
--- /dev/null
+++ b/src/trace_processor/metrics/android/span_view_stats.sql
@@ -0,0 +1,28 @@
+--
+-- 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.
+--
+
+DROP VIEW IF EXISTS {{table_name}}_stats;
+
+CREATE VIEW {{table_name}}_stats AS
+SELECT
+ process.name AS process_name,
+ MIN(span.{{table_name}}_val) AS min_value,
+ MAX(span.{{table_name}}_val) AS max_value,
+ SUM(span.{{table_name}}_val * span.dur) / SUM(span.dur) AS avg_value
+FROM {{table_name}}_span AS span JOIN process USING(upid)
+WHERE process.name IS NOT NULL
+GROUP BY 1
+ORDER BY 1;
diff --git a/src/trace_processor/metrics/android/upid_span_view.sql b/src/trace_processor/metrics/android/upid_span_view.sql
new file mode 100644
index 0000000..8a9d66f
--- /dev/null
+++ b/src/trace_processor/metrics/android/upid_span_view.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.
+--
+
+DROP VIEW IF EXISTS {{table_name}}_span;
+
+CREATE VIEW {{table_name}}_span AS
+SELECT
+ ts,
+ LEAD(ts, 1, ts + 1) OVER(PARTITION BY counter_id ORDER BY ts) - ts AS dur,
+ ref AS upid,
+ value AS {{table_name}}_val
+FROM counters
+WHERE name = '{{counter_name}}' AND ref IS NOT NULL AND ref_type = 'upid';
diff --git a/src/trace_processor/metrics/metrics.descriptor.h b/src/trace_processor/metrics/metrics.descriptor.h
index ce189b8..d5dad6b 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)
-// 3971e45e24a343e80011d735a30c3305837e2f9f
+// faf52672122725c7fb7396b9440a864ade96871c
// 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, 6996> kMetricsDescriptor{
+constexpr std::array<uint8_t, 6767> kMetricsDescriptor{
{0x0a, 0x91, 0x03, 0x0a, 0x2a, 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, 0x62, 0x61, 0x74, 0x74, 0x5f, 0x6d,
@@ -98,511 +98,492 @@
0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64,
0x43, 0x70, 0x75, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x54, 0x68,
0x72, 0x65, 0x61, 0x64, 0x52, 0x07, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64,
- 0x73, 0x42, 0x02, 0x48, 0x03, 0x0a, 0xc5, 0x0b, 0x0a, 0x29, 0x70, 0x65,
+ 0x73, 0x42, 0x02, 0x48, 0x03, 0x0a, 0xd0, 0x05, 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, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x70, 0x65, 0x72, 0x66, 0x65, 0x74, 0x74,
- 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x22, 0x82, 0x0b, 0x0a,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x22, 0x8d, 0x05, 0x0a,
0x13, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x4d, 0x65, 0x6d, 0x6f,
- 0x72, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x59, 0x0a, 0x0e,
- 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69,
- 0x63, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 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, 0x2e, 0x53,
- 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
- 0x52, 0x0d, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x74, 0x72,
- 0x69, 0x63, 0x73, 0x12, 0x5c, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x63, 0x65,
- 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x03,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 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, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65,
- 0x73, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x0e, 0x70,
- 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
- 0x73, 0x1a, 0xad, 0x01, 0x0a, 0x0d, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d,
- 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x4b, 0x0a, 0x0a, 0x61,
- 0x6e, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x2c, 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, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65,
- 0x72, 0x52, 0x09, 0x61, 0x6e, 0x6f, 0x6e, 0x50, 0x61, 0x67, 0x65, 0x73,
- 0x12, 0x4f, 0x0a, 0x0c, 0x6d, 0x6d, 0x61, 0x70, 0x65, 0x64, 0x5f, 0x70,
- 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c,
- 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,
- 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x0b, 0x6d, 0x6d,
- 0x61, 0x70, 0x65, 0x64, 0x50, 0x61, 0x67, 0x65, 0x73, 0x1a, 0x88, 0x04,
- 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74,
- 0x72, 0x69, 0x63, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x63,
- 0x65, 0x73, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4e,
- 0x61, 0x6d, 0x65, 0x12, 0x65, 0x0a, 0x10, 0x6f, 0x76, 0x65, 0x72, 0x61,
- 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18,
- 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 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, 0x2e, 0x50, 0x72, 0x6f, 0x63,
- 0x65, 0x73, 0x73, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x43, 0x6f, 0x75,
- 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x0f, 0x6f, 0x76, 0x65, 0x72, 0x61,
- 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x69,
- 0x0a, 0x09, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x18,
- 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 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, 0x2e, 0x50, 0x72, 0x6f, 0x63,
- 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x50,
- 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
- 0x73, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x52, 0x09,
- 0x62, 0x72, 0x65, 0x61, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x50, 0x0a,
- 0x0b, 0x61, 0x6e, 0x6f, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x77, 0x74, 0x68,
- 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 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, 0x2e, 0x53, 0x70, 0x61,
- 0x6e, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x52, 0x0a, 0x61, 0x6e, 0x6f,
- 0x6e, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x1a, 0xa2, 0x01, 0x0a, 0x17,
+ 0x72, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x5c, 0x0a, 0x0f,
+ 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x72,
+ 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 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, 0x2e,
0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69,
- 0x63, 0x73, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x12,
- 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x70,
- 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x50, 0x72,
- 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x56, 0x0a, 0x08, 0x63, 0x6f,
+ 0x63, 0x73, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d,
+ 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x1a, 0x96, 0x01, 0x0a, 0x0e, 0x50,
+ 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
+ 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
+ 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x0b, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65,
+ 0x12, 0x61, 0x0a, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x3a, 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, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65,
0x6d, 0x6f, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73,
- 0x52, 0x08, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x4a, 0x04,
- 0x08, 0x01, 0x10, 0x02, 0x2a, 0x04, 0x08, 0x0c, 0x10, 0x0d, 0x4a, 0x04,
- 0x08, 0x02, 0x10, 0x0a, 0x1a, 0xbd, 0x02, 0x0a, 0x15, 0x50, 0x72, 0x6f,
- 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x43, 0x6f,
- 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x47, 0x0a, 0x08, 0x61, 0x6e,
- 0x6f, 0x6e, 0x5f, 0x72, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+ 0x65, 0x72, 0x73, 0x1a, 0xbd, 0x02, 0x0a, 0x15, 0x50, 0x72, 0x6f, 0x63,
+ 0x65, 0x73, 0x73, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x43, 0x6f, 0x75,
+ 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x47, 0x0a, 0x08, 0x61, 0x6e, 0x6f,
+ 0x6e, 0x5f, 0x72, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x2c, 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, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x07, 0x61,
+ 0x6e, 0x6f, 0x6e, 0x52, 0x73, 0x73, 0x12, 0x47, 0x0a, 0x08, 0x66, 0x69,
+ 0x6c, 0x65, 0x5f, 0x72, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x2c, 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, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x07,
- 0x61, 0x6e, 0x6f, 0x6e, 0x52, 0x73, 0x73, 0x12, 0x47, 0x0a, 0x08, 0x66,
- 0x69, 0x6c, 0x65, 0x5f, 0x72, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x2c, 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, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52,
- 0x07, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x73, 0x73, 0x12, 0x40, 0x0a, 0x04,
- 0x73, 0x77, 0x61, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c,
- 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,
- 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x04, 0x73, 0x77,
- 0x61, 0x70, 0x12, 0x50, 0x0a, 0x0d, 0x61, 0x6e, 0x6f, 0x6e, 0x5f, 0x61,
- 0x6e, 0x64, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x2c, 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, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52,
- 0x0b, 0x61, 0x6e, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x53, 0x77, 0x61, 0x70,
- 0x1a, 0x3f, 0x0a, 0x07, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12,
- 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01,
- 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x12,
- 0x10, 0x0a, 0x03, 0x61, 0x76, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01,
- 0x52, 0x03, 0x61, 0x76, 0x67, 0x1a, 0x76, 0x0a, 0x0a, 0x53, 0x70, 0x61,
- 0x6e, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x73,
- 0x74, 0x61, 0x72, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x01, 0x52, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x56, 0x61, 0x6c,
- 0x12, 0x17, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x65, 0x6e, 0x64, 0x56, 0x61,
- 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x75, 0x72,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x72, 0x6f,
- 0x77, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x67,
- 0x72, 0x6f, 0x77, 0x74, 0x68, 0x42, 0x02, 0x48, 0x03, 0x0a, 0xa8, 0x02,
- 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, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69,
- 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x70, 0x65, 0x72,
- 0x66, 0x65, 0x74, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73,
- 0x22, 0xe5, 0x01, 0x0a, 0x10, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64,
- 0x49, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x40, 0x0a,
- 0x06, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28,
- 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x65, 0x74, 0x74, 0x6f,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x41, 0x6e, 0x64, 0x72,
- 0x6f, 0x69, 0x64, 0x49, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
- 0x2e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x52, 0x06, 0x62, 0x75, 0x66,
- 0x66, 0x65, 0x72, 0x1a, 0x8e, 0x01, 0x0a, 0x06, 0x42, 0x75, 0x66, 0x66,
- 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24,
- 0x0a, 0x0e, 0x61, 0x76, 0x67, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62,
- 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c,
- 0x61, 0x76, 0x67, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73,
- 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65,
- 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01,
- 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74,
- 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x69,
- 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01,
- 0x28, 0x01, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x42,
- 0x79, 0x74, 0x65, 0x73, 0x42, 0x02, 0x48, 0x03, 0x0a, 0x8e, 0x02, 0x0a,
- 0x29, 0x70, 0x65, 0x72, 0x66, 0x65, 0x74, 0x74, 0x6f, 0x2f, 0x6d, 0x65,
+ 0x66, 0x69, 0x6c, 0x65, 0x52, 0x73, 0x73, 0x12, 0x40, 0x0a, 0x04, 0x73,
+ 0x77, 0x61, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 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, 0x2e,
+ 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x04, 0x73, 0x77, 0x61,
+ 0x70, 0x12, 0x50, 0x0a, 0x0d, 0x61, 0x6e, 0x6f, 0x6e, 0x5f, 0x61, 0x6e,
+ 0x64, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x2c, 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, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x0b,
+ 0x61, 0x6e, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x53, 0x77, 0x61, 0x70, 0x1a,
+ 0x3f, 0x0a, 0x07, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x10,
+ 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52,
+ 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x12, 0x10,
+ 0x0a, 0x03, 0x61, 0x76, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52,
+ 0x03, 0x61, 0x76, 0x67, 0x42, 0x02, 0x48, 0x03, 0x0a, 0x81, 0x03, 0x0a,
+ 0x2d, 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, 0x6c, 0x6d, 0x6b, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
+ 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x67, 0x72,
+ 0x6f, 0x77, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f,
+ 0x70, 0x65, 0x72, 0x66, 0x65, 0x74, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x73, 0x22, 0xba, 0x02, 0x0a, 0x14, 0x41, 0x6e, 0x64, 0x72,
+ 0x6f, 0x69, 0x64, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x47, 0x72,
+ 0x6f, 0x77, 0x74, 0x68, 0x12, 0x60, 0x0a, 0x10, 0x69, 0x6e, 0x73, 0x74,
+ 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
+ 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x70, 0x65, 0x72,
+ 0x66, 0x65, 0x74, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73,
+ 0x2e, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x50, 0x72, 0x6f, 0x63,
+ 0x65, 0x73, 0x73, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x2e, 0x49, 0x6e,
+ 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
+ 0x73, 0x52, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d,
+ 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x1a, 0xbf, 0x01, 0x0a, 0x0f, 0x49,
+ 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69,
+ 0x63, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c,
+ 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x63,
+ 0x65, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x1a, 0x61,
+ 0x6e, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x73, 0x77, 0x61, 0x70,
+ 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65,
+ 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x61, 0x6e, 0x6f,
+ 0x6e, 0x41, 0x6e, 0x64, 0x53, 0x77, 0x61, 0x70, 0x43, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x6d,
+ 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79,
+ 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65,
+ 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x6d, 0x61, 0x6c,
+ 0x6c, 0x6f, 0x63, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x42, 0x02, 0x48, 0x03,
+ 0x0a, 0xa8, 0x02, 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, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65,
+ 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f,
+ 0x70, 0x65, 0x72, 0x66, 0x65, 0x74, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x73, 0x22, 0xe5, 0x01, 0x0a, 0x10, 0x41, 0x6e, 0x64, 0x72,
+ 0x6f, 0x69, 0x64, 0x49, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
+ 0x12, 0x40, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x18, 0x01,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x65,
+ 0x74, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x41,
+ 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x49, 0x6f, 0x6e, 0x4d, 0x65, 0x74,
+ 0x72, 0x69, 0x63, 0x2e, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x52, 0x06,
+ 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x1a, 0x8e, 0x01, 0x0a, 0x06, 0x42,
+ 0x75, 0x66, 0x66, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
+ 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
+ 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x76, 0x67, 0x5f, 0x73, 0x69, 0x7a,
+ 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x01, 0x52, 0x0c, 0x61, 0x76, 0x67, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79,
+ 0x74, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x5f, 0x73,
+ 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x01, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x53, 0x69, 0x7a, 0x65,
+ 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78,
+ 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x53, 0x69,
+ 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x42, 0x02, 0x48, 0x03, 0x0a,
+ 0x8e, 0x02, 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, 0x6c, 0x6d, 0x6b, 0x5f, 0x6d, 0x65, 0x74,
+ 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x70,
+ 0x65, 0x72, 0x66, 0x65, 0x74, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x73, 0x22, 0xcb, 0x01, 0x0a, 0x10, 0x41, 0x6e, 0x64, 0x72, 0x6f,
+ 0x69, 0x64, 0x4c, 0x6d, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75,
+ 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f,
+ 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x0c,
+ 0x62, 0x79, 0x5f, 0x6f, 0x6f, 0x6d, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70, 0x65, 0x72,
+ 0x66, 0x65, 0x74, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73,
+ 0x2e, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x4c, 0x6d, 0x6b, 0x4d,
+ 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x42, 0x79, 0x4f, 0x6f, 0x6d, 0x53,
+ 0x63, 0x6f, 0x72, 0x65, 0x52, 0x0a, 0x62, 0x79, 0x4f, 0x6f, 0x6d, 0x53,
+ 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x46, 0x0a, 0x0a, 0x42, 0x79, 0x4f, 0x6f,
+ 0x6d, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x6f,
+ 0x6d, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x64, 0x6a, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6f, 0x6f, 0x6d, 0x53, 0x63,
+ 0x6f, 0x72, 0x65, 0x41, 0x64, 0x6a, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63,
+ 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x02, 0x48, 0x03, 0x0a, 0xed, 0x02, 0x0a,
+ 0x2e, 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, 0x70, 0x6f, 0x77, 0x72, 0x61, 0x69, 0x6c, 0x73, 0x5f, 0x6d,
+ 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x0f, 0x70, 0x65, 0x72, 0x66, 0x65, 0x74, 0x74, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x73, 0x22, 0xa5, 0x02, 0x0a, 0x11, 0x41, 0x6e, 0x64,
+ 0x72, 0x6f, 0x69, 0x64, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x61, 0x69,
+ 0x6c, 0x73, 0x12, 0x4e, 0x0a, 0x0b, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f,
+ 0x72, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x2d, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x65, 0x74, 0x74, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69,
+ 0x64, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x61, 0x69, 0x6c, 0x73, 0x2e,
+ 0x50, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0a,
+ 0x70, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x4e,
+ 0x0a, 0x0a, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x44, 0x61, 0x74, 0x61,
+ 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
+ 0x70, 0x5f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
+ 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f, 0x75, 0x77,
+ 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x65, 0x6e, 0x65,
+ 0x72, 0x67, 0x79, 0x55, 0x77, 0x73, 0x1a, 0x70, 0x0a, 0x0a, 0x50, 0x6f,
+ 0x77, 0x65, 0x72, 0x52, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04,
+ 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
+ 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4e, 0x0a, 0x0b, 0x65, 0x6e, 0x65, 0x72,
+ 0x67, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x65, 0x74, 0x74, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x41, 0x6e, 0x64, 0x72,
+ 0x6f, 0x69, 0x64, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x61, 0x69, 0x6c,
+ 0x73, 0x2e, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x44, 0x61, 0x74, 0x61,
+ 0x52, 0x0a, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x44, 0x61, 0x74, 0x61,
+ 0x42, 0x02, 0x48, 0x03, 0x0a, 0xa5, 0x0e, 0x0a, 0x2d, 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, 0x73, 0x74,
+ 0x61, 0x72, 0x74, 0x75, 0x70, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x70, 0x65, 0x72, 0x66,
0x65, 0x74, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x22,
- 0xcb, 0x01, 0x0a, 0x10, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x4c,
- 0x6d, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x1f, 0x0a, 0x0b,
- 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c,
- 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x62, 0x79, 0x5f,
- 0x6f, 0x6f, 0x6d, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20,
- 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x65, 0x74,
- 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x41, 0x6e,
- 0x64, 0x72, 0x6f, 0x69, 0x64, 0x4c, 0x6d, 0x6b, 0x4d, 0x65, 0x74, 0x72,
- 0x69, 0x63, 0x2e, 0x42, 0x79, 0x4f, 0x6f, 0x6d, 0x53, 0x63, 0x6f, 0x72,
- 0x65, 0x52, 0x0a, 0x62, 0x79, 0x4f, 0x6f, 0x6d, 0x53, 0x63, 0x6f, 0x72,
- 0x65, 0x1a, 0x46, 0x0a, 0x0a, 0x42, 0x79, 0x4f, 0x6f, 0x6d, 0x53, 0x63,
- 0x6f, 0x72, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x6f, 0x6d, 0x5f, 0x73,
- 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x64, 0x6a, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x05, 0x52, 0x0b, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x6f, 0x72, 0x65,
- 0x41, 0x64, 0x6a, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e,
- 0x74, 0x42, 0x02, 0x48, 0x03, 0x0a, 0xed, 0x02, 0x0a, 0x2e, 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, 0x70,
- 0x6f, 0x77, 0x72, 0x61, 0x69, 0x6c, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x72,
- 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x70, 0x65,
- 0x72, 0x66, 0x65, 0x74, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x73, 0x22, 0xa5, 0x02, 0x0a, 0x11, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69,
- 0x64, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x61, 0x69, 0x6c, 0x73, 0x12,
- 0x4e, 0x0a, 0x0b, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x72, 0x61, 0x69,
- 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70,
- 0x65, 0x72, 0x66, 0x65, 0x74, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x73, 0x2e, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x50, 0x6f,
- 0x77, 0x65, 0x72, 0x52, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x50, 0x6f, 0x77,
- 0x65, 0x72, 0x52, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0a, 0x70, 0x6f, 0x77,
- 0x65, 0x72, 0x52, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x4e, 0x0a, 0x0a, 0x45,
- 0x6e, 0x65, 0x72, 0x67, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a,
- 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6d,
- 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x69, 0x6d,
- 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, 0x12, 0x1d, 0x0a, 0x0a,
- 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f, 0x75, 0x77, 0x73, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79,
- 0x55, 0x77, 0x73, 0x1a, 0x70, 0x0a, 0x0a, 0x50, 0x6f, 0x77, 0x65, 0x72,
- 0x52, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
- 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
- 0x65, 0x12, 0x4e, 0x0a, 0x0b, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f,
- 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d,
- 0x2e, 0x70, 0x65, 0x72, 0x66, 0x65, 0x74, 0x74, 0x6f, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64,
- 0x50, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x45,
- 0x6e, 0x65, 0x72, 0x67, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0a, 0x65,
- 0x6e, 0x65, 0x72, 0x67, 0x79, 0x44, 0x61, 0x74, 0x61, 0x42, 0x02, 0x48,
- 0x03, 0x0a, 0xa5, 0x0e, 0x0a, 0x2d, 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, 0x73, 0x74, 0x61, 0x72, 0x74,
- 0x75, 0x70, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x70, 0x65, 0x72, 0x66, 0x65, 0x74, 0x74,
- 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x22, 0xde, 0x0d, 0x0a,
- 0x14, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x53, 0x74, 0x61, 0x72,
- 0x74, 0x75, 0x70, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x47, 0x0a,
- 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x18, 0x01, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x2d, 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, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x75,
- 0x70, 0x52, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x1a, 0xe0,
- 0x01, 0x0a, 0x12, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65,
- 0x42, 0x72, 0x65, 0x61, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x24, 0x0a,
- 0x0e, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x75, 0x72,
- 0x5f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x72,
- 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x75, 0x72, 0x4e, 0x73, 0x12,
- 0x26, 0x0a, 0x0f, 0x72, 0x75, 0x6e, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f,
- 0x64, 0x75, 0x72, 0x5f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
- 0x52, 0x0d, 0x72, 0x75, 0x6e, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x75,
- 0x72, 0x4e, 0x73, 0x12, 0x3f, 0x0a, 0x1c, 0x75, 0x6e, 0x69, 0x6e, 0x74,
- 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x73,
- 0x6c, 0x65, 0x65, 0x70, 0x5f, 0x64, 0x75, 0x72, 0x5f, 0x6e, 0x73, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x75, 0x6e, 0x69, 0x6e, 0x74,
- 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x53, 0x6c,
- 0x65, 0x65, 0x70, 0x44, 0x75, 0x72, 0x4e, 0x73, 0x12, 0x3b, 0x0a, 0x1a,
+ 0xde, 0x0d, 0x0a, 0x14, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x53,
+ 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
+ 0x12, 0x47, 0x0a, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x18,
+ 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 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, 0x2e, 0x53, 0x74, 0x61,
+ 0x72, 0x74, 0x75, 0x70, 0x52, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x75,
+ 0x70, 0x1a, 0xe0, 0x01, 0x0a, 0x12, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74,
+ 0x61, 0x74, 0x65, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x64, 0x6f, 0x77, 0x6e,
+ 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x5f,
+ 0x64, 0x75, 0x72, 0x5f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
+ 0x52, 0x0c, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x75, 0x72,
+ 0x4e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x75, 0x6e, 0x6e, 0x61, 0x62,
+ 0x6c, 0x65, 0x5f, 0x64, 0x75, 0x72, 0x5f, 0x6e, 0x73, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x03, 0x52, 0x0d, 0x72, 0x75, 0x6e, 0x6e, 0x61, 0x62, 0x6c,
+ 0x65, 0x44, 0x75, 0x72, 0x4e, 0x73, 0x12, 0x3f, 0x0a, 0x1c, 0x75, 0x6e,
0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x69, 0x62, 0x6c,
0x65, 0x5f, 0x73, 0x6c, 0x65, 0x65, 0x70, 0x5f, 0x64, 0x75, 0x72, 0x5f,
- 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x69, 0x6e,
- 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x53,
- 0x6c, 0x65, 0x65, 0x70, 0x44, 0x75, 0x72, 0x4e, 0x73, 0x1a, 0x1e, 0x0a,
- 0x05, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x64, 0x75,
- 0x72, 0x5f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05,
- 0x64, 0x75, 0x72, 0x4e, 0x73, 0x1a, 0xbb, 0x08, 0x0a, 0x0c, 0x54, 0x6f,
- 0x46, 0x69, 0x72, 0x73, 0x74, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x15,
- 0x0a, 0x06, 0x64, 0x75, 0x72, 0x5f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x03, 0x52, 0x05, 0x64, 0x75, 0x72, 0x4e, 0x73, 0x12, 0x72, 0x0a,
- 0x19, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64,
- 0x5f, 0x62, 0x79, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x74, 0x61,
- 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 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, 0x2e,
- 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x72, 0x65,
- 0x61, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x52, 0x15, 0x6d, 0x61, 0x69, 0x6e,
- 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x42, 0x79, 0x54, 0x61, 0x73, 0x6b,
- 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x1d, 0x6f, 0x74, 0x68,
- 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73,
- 0x5f, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75,
- 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x6f, 0x74,
- 0x68, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73,
- 0x53, 0x70, 0x61, 0x77, 0x6e, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74,
- 0x12, 0x5f, 0x0a, 0x15, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x61, 0x63, 0x74,
- 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
- 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 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, 0x2e, 0x53,
- 0x6c, 0x69, 0x63, 0x65, 0x52, 0x13, 0x74, 0x69, 0x6d, 0x65, 0x41, 0x63,
- 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65,
- 0x72, 0x12, 0x66, 0x0a, 0x19, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x61, 0x63,
- 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61,
- 0x64, 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x2b, 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, 0x2e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x52, 0x16, 0x74,
- 0x69, 0x6d, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54,
- 0x68, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x69, 0x6e, 0x12, 0x5f, 0x0a,
- 0x15, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x5f, 0x61,
- 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 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, 0x2e, 0x53, 0x6c, 0x69, 0x63,
- 0x65, 0x52, 0x13, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x41,
- 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5b,
- 0x0a, 0x13, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76,
- 0x69, 0x74, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x07, 0x20,
+ 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x75, 0x6e,
+ 0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x69, 0x62, 0x6c,
+ 0x65, 0x53, 0x6c, 0x65, 0x65, 0x70, 0x44, 0x75, 0x72, 0x4e, 0x73, 0x12,
+ 0x3b, 0x0a, 0x1a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74,
+ 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x6c, 0x65, 0x65, 0x70, 0x5f, 0x64,
+ 0x75, 0x72, 0x5f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52,
+ 0x17, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x69, 0x62,
+ 0x6c, 0x65, 0x53, 0x6c, 0x65, 0x65, 0x70, 0x44, 0x75, 0x72, 0x4e, 0x73,
+ 0x1a, 0x1e, 0x0a, 0x05, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x12, 0x15, 0x0a,
+ 0x06, 0x64, 0x75, 0x72, 0x5f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x03, 0x52, 0x05, 0x64, 0x75, 0x72, 0x4e, 0x73, 0x1a, 0xbb, 0x08, 0x0a,
+ 0x0c, 0x54, 0x6f, 0x46, 0x69, 0x72, 0x73, 0x74, 0x46, 0x72, 0x61, 0x6d,
+ 0x65, 0x12, 0x15, 0x0a, 0x06, 0x64, 0x75, 0x72, 0x5f, 0x6e, 0x73, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x64, 0x75, 0x72, 0x4e, 0x73,
+ 0x12, 0x72, 0x0a, 0x19, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x74, 0x68, 0x72,
+ 0x65, 0x61, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f,
+ 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x38, 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, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65,
+ 0x42, 0x72, 0x65, 0x61, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x52, 0x15, 0x6d,
+ 0x61, 0x69, 0x6e, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x42, 0x79, 0x54,
+ 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x1d,
+ 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73,
+ 0x73, 0x65, 0x73, 0x5f, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x65, 0x64, 0x5f,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x1a, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73,
+ 0x73, 0x65, 0x73, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x65, 0x64, 0x43, 0x6f,
+ 0x75, 0x6e, 0x74, 0x12, 0x5f, 0x0a, 0x15, 0x74, 0x69, 0x6d, 0x65, 0x5f,
+ 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x61, 0x6e,
+ 0x61, 0x67, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b,
+ 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, 0x2e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x52, 0x13, 0x74, 0x69, 0x6d,
+ 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4d, 0x61, 0x6e,
+ 0x61, 0x67, 0x65, 0x72, 0x12, 0x66, 0x0a, 0x19, 0x74, 0x69, 0x6d, 0x65,
+ 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x68,
+ 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x05, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x2b, 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, 0x2e, 0x53, 0x6c, 0x69, 0x63, 0x65,
- 0x52, 0x11, 0x74, 0x69, 0x6d, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
- 0x74, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x5d, 0x0a, 0x14, 0x74,
- 0x69, 0x6d, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
- 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x52, 0x16, 0x74, 0x69, 0x6d, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x69, 0x6e,
+ 0x12, 0x5f, 0x0a, 0x15, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x62, 0x69, 0x6e,
+ 0x64, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 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, 0x2e, 0x53,
+ 0x6c, 0x69, 0x63, 0x65, 0x52, 0x13, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x69,
+ 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x12, 0x5b, 0x0a, 0x13, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x61, 0x63,
+ 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 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, 0x2e, 0x53, 0x6c,
+ 0x69, 0x63, 0x65, 0x52, 0x11, 0x74, 0x69, 0x6d, 0x65, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x5d,
+ 0x0a, 0x14, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 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, 0x2e, 0x53, 0x6c, 0x69, 0x63,
+ 0x65, 0x52, 0x12, 0x74, 0x69, 0x6d, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x5a, 0x0a,
+ 0x12, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x68, 0x6f, 0x72, 0x65, 0x6f,
+ 0x67, 0x72, 0x61, 0x70, 0x68, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x2b, 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, 0x2e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x52, 0x12,
- 0x74, 0x69, 0x6d, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
- 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x5a, 0x0a, 0x12, 0x74, 0x69,
- 0x6d, 0x65, 0x5f, 0x63, 0x68, 0x6f, 0x72, 0x65, 0x6f, 0x67, 0x72, 0x61,
- 0x70, 0x68, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b,
+ 0x74, 0x72, 0x69, 0x63, 0x2e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x52, 0x11,
+ 0x74, 0x69, 0x6d, 0x65, 0x43, 0x68, 0x6f, 0x72, 0x65, 0x6f, 0x67, 0x72,
+ 0x61, 0x70, 0x68, 0x65, 0x72, 0x12, 0x66, 0x0a, 0x19, 0x74, 0x69, 0x6d,
+ 0x65, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x5f, 0x73, 0x74, 0x61,
+ 0x72, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 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, 0x2e, 0x53, 0x6c, 0x69, 0x63,
+ 0x65, 0x52, 0x16, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x65, 0x66, 0x6f, 0x72,
+ 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73,
+ 0x73, 0x12, 0x66, 0x0a, 0x19, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x64, 0x75,
+ 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x70,
+ 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x2b, 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, 0x2e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x52, 0x16, 0x74,
+ 0x69, 0x6d, 0x65, 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61,
+ 0x72, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4b, 0x0a,
+ 0x23, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65,
+ 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x1e, 0x6f, 0x74, 0x68, 0x65,
+ 0x72, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x41, 0x63,
+ 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43, 0x70, 0x75, 0x52, 0x61, 0x74,
+ 0x69, 0x6f, 0x1a, 0xbb, 0x02, 0x0a, 0x07, 0x53, 0x74, 0x61, 0x72, 0x74,
+ 0x75, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x75,
+ 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
+ 0x73, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x49, 0x64, 0x12, 0x21, 0x0a,
+ 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x63,
+ 0x6b, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c,
+ 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x63,
+ 0x65, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x7a,
+ 0x79, 0x67, 0x6f, 0x74, 0x65, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x72,
+ 0x6f, 0x63, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x10, 0x7a, 0x79, 0x67, 0x6f, 0x74, 0x65, 0x4e, 0x65, 0x77, 0x50, 0x72,
+ 0x6f, 0x63, 0x65, 0x73, 0x73, 0x12, 0x43, 0x0a, 0x1e, 0x61, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x69, 0x6e,
+ 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x61,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x69,
+ 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x75,
+ 0x6e, 0x74, 0x12, 0x58, 0x0a, 0x0e, 0x74, 0x6f, 0x5f, 0x66, 0x69, 0x72,
+ 0x73, 0x74, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x32, 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, 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, 0xaa, 0x04, 0x0a, 0x2b, 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, 0x68, 0x65, 0x61, 0x70, 0x5f, 0x70,
+ 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x0f, 0x70, 0x65, 0x72, 0x66, 0x65, 0x74, 0x74, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x22, 0xe5, 0x03, 0x0a, 0x0b, 0x48, 0x65,
+ 0x61, 0x70, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x41, 0x0a,
+ 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x65, 0x74, 0x74,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x48, 0x65, 0x61,
+ 0x70, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x50, 0x65, 0x72,
+ 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x07, 0x70, 0x72, 0x6f,
+ 0x66, 0x69, 0x6c, 0x65, 0x1a, 0x1b, 0x0a, 0x05, 0x46, 0x72, 0x61, 0x6d,
+ 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x44, 0x0a,
+ 0x08, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x69, 0x74, 0x65, 0x12, 0x38, 0x0a,
+ 0x05, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x22, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x65, 0x74, 0x74, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x70, 0x50,
+ 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x46, 0x72, 0x61, 0x6d, 0x65,
+ 0x52, 0x05, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x1a, 0xaa, 0x01, 0x0a, 0x0d,
+ 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74,
+ 0x73, 0x12, 0x41, 0x0a, 0x08, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x69, 0x74,
+ 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x65,
+ 0x72, 0x66, 0x65, 0x74, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x73, 0x2e, 0x48, 0x65, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c,
+ 0x65, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x69, 0x74, 0x65, 0x52, 0x08,
+ 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x69, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x11,
+ 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x73, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
+ 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x73, 0x53, 0x65, 0x6c, 0x66, 0x43,
+ 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x6c, 0x6c, 0x6f,
+ 0x63, 0x73, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x62, 0x79, 0x74, 0x65,
+ 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x61, 0x6c, 0x6c,
+ 0x6f, 0x63, 0x73, 0x53, 0x65, 0x6c, 0x66, 0x42, 0x79, 0x74, 0x65, 0x73,
+ 0x1a, 0x82, 0x01, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x63,
+ 0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x63, 0x65,
+ 0x73, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4e, 0x61,
+ 0x6d, 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x69,
+ 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x65, 0x74, 0x74,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x48, 0x65, 0x61,
+ 0x70, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x43, 0x61, 0x6c,
+ 0x6c, 0x73, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0d,
+ 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74,
+ 0x73, 0x42, 0x02, 0x48, 0x03, 0x0a, 0xe7, 0x0a, 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,
+ 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x1a, 0x2a, 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,
+ 0x62, 0x61, 0x74, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 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, 0x63, 0x70, 0x75, 0x5f,
+ 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 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, 0x74, 0x72, 0x69,
+ 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 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, 0x70, 0x72,
+ 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x67, 0x72, 0x6f, 0x77, 0x74, 0x68,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 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, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 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, 0x6c, 0x6d, 0x6b, 0x5f, 0x6d, 0x65, 0x74, 0x72,
+ 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 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, 0x70,
+ 0x6f, 0x77, 0x72, 0x61, 0x69, 0x6c, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x72,
+ 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 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, 0x73,
+ 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69,
+ 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 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, 0x68, 0x65,
+ 0x61, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 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,
+ 0x85, 0x06, 0x0a, 0x0c, 0x54, 0x72, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x74,
+ 0x72, 0x69, 0x63, 0x73, 0x12, 0x48, 0x0a, 0x0c, 0x61, 0x6e, 0x64, 0x72,
+ 0x6f, 0x69, 0x64, 0x5f, 0x62, 0x61, 0x74, 0x74, 0x18, 0x05, 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, 0x42, 0x61, 0x74, 0x74, 0x65, 0x72, 0x79, 0x4d,
+ 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x0b, 0x61, 0x6e, 0x64, 0x72, 0x6f,
+ 0x69, 0x64, 0x42, 0x61, 0x74, 0x74, 0x12, 0x42, 0x0a, 0x0b, 0x61, 0x6e,
+ 0x64, 0x72, 0x6f, 0x69, 0x64, 0x5f, 0x63, 0x70, 0x75, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x65, 0x74,
+ 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x41, 0x6e,
+ 0x64, 0x72, 0x6f, 0x69, 0x64, 0x43, 0x70, 0x75, 0x4d, 0x65, 0x74, 0x72,
+ 0x69, 0x63, 0x52, 0x0a, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x43,
+ 0x70, 0x75, 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, 0x5b, 0x0a, 0x16, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64,
+ 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x67, 0x72, 0x6f,
+ 0x77, 0x74, 0x68, 0x18, 0x0a, 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, 0x50,
+ 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x68,
+ 0x52, 0x14, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x50, 0x72, 0x6f,
+ 0x63, 0x65, 0x73, 0x73, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x12, 0x42,
+ 0x0a, 0x0b, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x5f, 0x69, 0x6f,
+ 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x65,
+ 0x72, 0x66, 0x65, 0x74, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x73, 0x2e, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x49, 0x6f, 0x6e,
+ 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x0a, 0x61, 0x6e, 0x64, 0x72,
+ 0x6f, 0x69, 0x64, 0x49, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0b, 0x61, 0x6e,
+ 0x64, 0x72, 0x6f, 0x69, 0x64, 0x5f, 0x6c, 0x6d, 0x6b, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x65, 0x74,
+ 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x41, 0x6e,
+ 0x64, 0x72, 0x6f, 0x69, 0x64, 0x4c, 0x6d, 0x6b, 0x4d, 0x65, 0x74, 0x72,
+ 0x69, 0x63, 0x52, 0x0a, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x4c,
+ 0x6d, 0x6b, 0x12, 0x4d, 0x0a, 0x10, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69,
+ 0x64, 0x5f, 0x70, 0x6f, 0x77, 0x72, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x65,
+ 0x74, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x41,
+ 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x52,
+ 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0f, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69,
+ 0x64, 0x50, 0x6f, 0x77, 0x72, 0x61, 0x69, 0x6c, 0x73, 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, 0x2e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x52, 0x11, 0x74, 0x69, 0x6d,
- 0x65, 0x43, 0x68, 0x6f, 0x72, 0x65, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68,
- 0x65, 0x72, 0x12, 0x66, 0x0a, 0x19, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x62,
- 0x65, 0x66, 0x6f, 0x72, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f,
- 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x2b, 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, 0x2e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x52, 0x16,
- 0x74, 0x69, 0x6d, 0x65, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x53, 0x74,
- 0x61, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x12, 0x66,
- 0x0a, 0x19, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x64, 0x75, 0x72, 0x69, 0x6e,
- 0x67, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63,
- 0x65, 0x73, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 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,
- 0x2e, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x52, 0x16, 0x74, 0x69, 0x6d, 0x65,
- 0x44, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x72, 0x74, 0x50,
- 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4b, 0x0a, 0x23, 0x6f, 0x74,
- 0x68, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f,
- 0x74, 0x6f, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f,
- 0x63, 0x70, 0x75, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x0c, 0x20,
- 0x01, 0x28, 0x01, 0x52, 0x1e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x50, 0x72,
- 0x6f, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76,
- 0x69, 0x74, 0x79, 0x43, 0x70, 0x75, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x1a,
- 0xbb, 0x02, 0x0a, 0x07, 0x53, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x12,
- 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x5f, 0x69,
- 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61,
- 0x72, 0x74, 0x75, 0x70, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61,
- 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67,
- 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f,
- 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
- 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x7a, 0x79, 0x67, 0x6f,
- 0x74, 0x65, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65,
- 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x7a, 0x79,
- 0x67, 0x6f, 0x74, 0x65, 0x4e, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x63, 0x65,
- 0x73, 0x73, 0x12, 0x43, 0x0a, 0x1e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69,
- 0x74, 0x79, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x70,
- 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
- 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x61, 0x63, 0x74, 0x69,
- 0x76, 0x69, 0x74, 0x79, 0x48, 0x6f, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x50,
- 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12,
- 0x58, 0x0a, 0x0e, 0x74, 0x6f, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f,
- 0x66, 0x72, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x32, 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, 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, 0xaa, 0x04,
- 0x0a, 0x2b, 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, 0x68, 0x65, 0x61, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x66,
- 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x70,
+ 0x63, 0x52, 0x0e, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x53, 0x74,
+ 0x61, 0x72, 0x74, 0x75, 0x70, 0x12, 0x4b, 0x0a, 0x10, 0x65, 0x72, 0x72,
+ 0x6f, 0x72, 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, 0x65, 0x72, 0x72, 0x6f, 0x72,
+ 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x3f,
+ 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69,
+ 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70,
0x65, 0x72, 0x66, 0x65, 0x74, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x73, 0x22, 0xe5, 0x03, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x70, 0x50,
- 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x41, 0x0a, 0x07, 0x70, 0x72,
- 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
- 0x27, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x65, 0x74, 0x74, 0x6f, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x70, 0x50, 0x72,
- 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x50, 0x72, 0x6f,
- 0x63, 0x65, 0x73, 0x73, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c,
- 0x65, 0x1a, 0x1b, 0x0a, 0x05, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x12,
- 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x44, 0x0a, 0x08, 0x43, 0x61,
- 0x6c, 0x6c, 0x73, 0x69, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x66, 0x72,
- 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e,
- 0x70, 0x65, 0x72, 0x66, 0x65, 0x74, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x66,
- 0x69, 0x6c, 0x65, 0x2e, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x05, 0x66,
- 0x72, 0x61, 0x6d, 0x65, 0x1a, 0xaa, 0x01, 0x0a, 0x0d, 0x43, 0x61, 0x6c,
- 0x6c, 0x73, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x41,
- 0x0a, 0x08, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x69, 0x74, 0x65, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x65,
- 0x74, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x48,
- 0x65, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x43,
- 0x61, 0x6c, 0x6c, 0x73, 0x69, 0x74, 0x65, 0x52, 0x08, 0x63, 0x61, 0x6c,
- 0x6c, 0x73, 0x69, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x6c, 0x6c,
- 0x6f, 0x63, 0x73, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x63, 0x6f, 0x75,
- 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x61, 0x6c,
- 0x6c, 0x6f, 0x63, 0x73, 0x53, 0x65, 0x6c, 0x66, 0x43, 0x6f, 0x75, 0x6e,
- 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x73, 0x5f,
- 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03,
- 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x73,
- 0x53, 0x65, 0x6c, 0x66, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0x82, 0x01,
- 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
- 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f,
- 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
- 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12,
- 0x51, 0x0a, 0x0e, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x69, 0x74, 0x65, 0x5f,
- 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
- 0x2a, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x65, 0x74, 0x74, 0x6f, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x70, 0x50, 0x72,
- 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x69,
- 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0d, 0x63, 0x61, 0x6c,
- 0x6c, 0x73, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x42, 0x02,
- 0x48, 0x03, 0x0a, 0xdb, 0x09, 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, 0x74, 0x6f, 0x2e,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x1a, 0x2a, 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, 0x62, 0x61, 0x74,
- 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x1a, 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, 0x63, 0x70, 0x75, 0x5f, 0x6d, 0x65, 0x74,
- 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 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, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x1a, 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, 0x69, 0x6f, 0x6e, 0x5f, 0x6d,
- 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
- 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, 0x6c, 0x6d, 0x6b, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 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, 0x70, 0x6f, 0x77,
- 0x72, 0x61, 0x69, 0x6c, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 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, 0x73, 0x74, 0x61,
- 0x72, 0x74, 0x75, 0x70, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 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, 0x68, 0x65, 0x61, 0x70,
- 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x72, 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, 0xa8, 0x05,
- 0x0a, 0x0c, 0x54, 0x72, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69,
- 0x63, 0x73, 0x12, 0x48, 0x0a, 0x0c, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69,
- 0x64, 0x5f, 0x62, 0x61, 0x74, 0x74, 0x18, 0x05, 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, 0x42, 0x61, 0x74, 0x74, 0x65, 0x72, 0x79, 0x4d, 0x65, 0x74,
- 0x72, 0x69, 0x63, 0x52, 0x0b, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64,
- 0x42, 0x61, 0x74, 0x74, 0x12, 0x42, 0x0a, 0x0b, 0x61, 0x6e, 0x64, 0x72,
- 0x6f, 0x69, 0x64, 0x5f, 0x63, 0x70, 0x75, 0x18, 0x06, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x65, 0x74, 0x74, 0x6f,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x41, 0x6e, 0x64, 0x72,
- 0x6f, 0x69, 0x64, 0x43, 0x70, 0x75, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
- 0x52, 0x0a, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x43, 0x70, 0x75,
- 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,
- 0x42, 0x0a, 0x0b, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x5f, 0x69,
- 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70,
- 0x65, 0x72, 0x66, 0x65, 0x74, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x73, 0x2e, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x49, 0x6f,
- 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x0a, 0x61, 0x6e, 0x64,
- 0x72, 0x6f, 0x69, 0x64, 0x49, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0b, 0x61,
- 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x5f, 0x6c, 0x6d, 0x6b, 0x18, 0x08,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x65,
- 0x74, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x41,
- 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x4c, 0x6d, 0x6b, 0x4d, 0x65, 0x74,
- 0x72, 0x69, 0x63, 0x52, 0x0a, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64,
- 0x4c, 0x6d, 0x6b, 0x12, 0x4d, 0x0a, 0x10, 0x61, 0x6e, 0x64, 0x72, 0x6f,
- 0x69, 0x64, 0x5f, 0x70, 0x6f, 0x77, 0x72, 0x61, 0x69, 0x6c, 0x73, 0x18,
- 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x65, 0x72, 0x66,
- 0x65, 0x74, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e,
- 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x50, 0x6f, 0x77, 0x65, 0x72,
- 0x52, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0f, 0x61, 0x6e, 0x64, 0x72, 0x6f,
- 0x69, 0x64, 0x50, 0x6f, 0x77, 0x72, 0x61, 0x69, 0x6c, 0x73, 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, 0x65, 0x72,
- 0x72, 0x6f, 0x72, 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, 0x65, 0x72, 0x72, 0x6f,
- 0x72, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12,
- 0x3f, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x66,
- 0x69, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
- 0x70, 0x65, 0x72, 0x66, 0x65, 0x74, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x66,
- 0x69, 0x6c, 0x65, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x70, 0x50, 0x72, 0x6f,
- 0x66, 0x69, 0x6c, 0x65, 0x2a, 0x06, 0x08, 0xc2, 0x03, 0x10, 0xf4, 0x03,
- 0x2a, 0x06, 0x08, 0xf4, 0x03, 0x10, 0xe9, 0x07, 0x42, 0x02, 0x48, 0x03}};
+ 0x6f, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x66, 0x69,
+ 0x6c, 0x65, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x66,
+ 0x69, 0x6c, 0x65, 0x2a, 0x06, 0x08, 0xc2, 0x03, 0x10, 0xf4, 0x03, 0x2a,
+ 0x06, 0x08, 0xf4, 0x03, 0x10, 0xe9, 0x07, 0x42, 0x02, 0x48, 0x03}};
} // namespace perfetto
diff --git a/test/metrics/android_mem_counters.out b/test/metrics/android_mem_counters.out
index f3d7f59..ce099d4 100644
--- a/test/metrics/android_mem_counters.out
+++ b/test/metrics/android_mem_counters.out
@@ -1,1241 +1,3101 @@
android_mem {
process_metrics {
process_name: "/system/bin/adbd"
- overall_counters {
+ total_counters {
anon_rss {
- min: 2523136.0
- max: 2523136.0
- avg: 2523136.0
+ min: 2523136
+ max: 2523136
+ avg: 2523136
+ }
+ file_rss {
+ min: 2392064
+ max: 2392064
+ avg: 2392064
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 2523136
+ max: 2523136
+ avg: 2523136
}
}
}
process_metrics {
process_name: "/system/bin/apexd"
- overall_counters {
+ total_counters {
anon_rss {
- min: 884736.0
- max: 884736.0
- avg: 884736.0
+ min: 884736
+ max: 884736
+ avg: 884736
+ }
+ file_rss {
+ min: 2101248
+ max: 2101248
+ avg: 2101248
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 884736
+ max: 884736
+ avg: 884736
}
}
}
process_metrics {
process_name: "/system/bin/audioserver"
- overall_counters {
+ total_counters {
anon_rss {
- min: 3989504.0
- max: 3989504.0
- avg: 3989504.0
+ min: 3989504
+ max: 3989504
+ avg: 3989504
+ }
+ file_rss {
+ min: 9334784
+ max: 9334784
+ avg: 9334784
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 3989504
+ max: 3989504
+ avg: 3989504
}
}
}
process_metrics {
process_name: "/system/bin/cameraserver"
- overall_counters {
+ total_counters {
anon_rss {
- min: 2052096.0
- max: 2191360.0
- avg: 2074891.88424
+ min: 2052096
+ max: 2191360
+ avg: 2074891.8842495945
+ }
+ file_rss {
+ min: 6197248
+ max: 6594560
+ avg: 6275987.5916710868
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 2052096
+ max: 2191360
+ avg: 2074891.8842495945
}
}
}
process_metrics {
process_name: "/system/bin/drmserver"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1552384.0
- max: 1552384.0
- avg: 1552384.0
+ min: 1552384
+ max: 1552384
+ avg: 1552384
+ }
+ file_rss {
+ min: 4943872
+ max: 4943872
+ avg: 4943872
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1552384
+ max: 1552384
+ avg: 1552384
}
}
}
process_metrics {
process_name: "/system/bin/folio_daemon"
- overall_counters {
+ total_counters {
anon_rss {
- min: 3444736.0
- max: 3444736.0
- avg: 3444736.0
+ min: 3444736
+ max: 3444736
+ avg: 3444736
+ }
+ file_rss {
+ min: 8974336
+ max: 8974336
+ avg: 8974336
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 3444736
+ max: 3444736
+ avg: 3444736
}
}
}
process_metrics {
process_name: "/system/bin/gatekeeperd"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1134592.0
- max: 1134592.0
- avg: 1134592.0
+ min: 1134592
+ max: 1134592
+ avg: 1134592
+ }
+ file_rss {
+ min: 2863104
+ max: 2863104
+ avg: 2863104
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1134592
+ max: 1134592
+ avg: 1134592
}
}
}
process_metrics {
process_name: "/system/bin/gpuservice"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1146880.0
- max: 1146880.0
- avg: 1146880.0
+ min: 1146880
+ max: 1146880
+ avg: 1146880
+ }
+ file_rss {
+ min: 2678784
+ max: 2678784
+ avg: 2678784
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1146880
+ max: 1146880
+ avg: 1146880
}
}
}
process_metrics {
process_name: "/system/bin/healthd"
- overall_counters {
+ total_counters {
anon_rss {
- min: 794624.0
- max: 794624.0
- avg: 794624.0
+ min: 794624
+ max: 794624
+ avg: 794624
+ }
+ file_rss {
+ min: 2117632
+ max: 2117632
+ avg: 2117632
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 794624
+ max: 794624
+ avg: 794624
}
}
}
process_metrics {
process_name: "/system/bin/hw/android.hidl.allocator@1.0-service"
- overall_counters {
+ total_counters {
anon_rss {
- min: 770048.0
- max: 770048.0
- avg: 770048.0
+ min: 770048
+ max: 770048
+ avg: 770048
+ }
+ file_rss {
+ min: 1875968
+ max: 1875968
+ avg: 1875968
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 770048
+ max: 770048
+ avg: 770048
}
}
}
process_metrics {
process_name: "/system/bin/hw/android.system.suspend@1.0-service"
- overall_counters {
+ total_counters {
anon_rss {
- min: 868352.0
- max: 868352.0
- avg: 868352.0
+ min: 868352
+ max: 868352
+ avg: 868352
+ }
+ file_rss {
+ min: 2994176
+ max: 2994176
+ avg: 2994176
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 868352
+ max: 868352
+ avg: 868352
}
}
}
process_metrics {
process_name: "/system/bin/hwservicemanager"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1314816.0
- max: 1417216.0
- avg: 1333806.97361
+ min: 1314816
+ max: 1417216
+ avg: 1333806.973612583
+ }
+ file_rss {
+ min: 2895872
+ max: 2940928
+ avg: 2904913.962897893
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1314816
+ max: 1417216
+ avg: 1333806.973612583
}
}
}
process_metrics {
process_name: "/system/bin/incidentd"
- overall_counters {
+ total_counters {
anon_rss {
- min: 974848.0
- max: 974848.0
- avg: 974848.0
+ min: 974848
+ max: 974848
+ avg: 974848
+ }
+ file_rss {
+ min: 2359296
+ max: 2359296
+ avg: 2359296
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 974848
+ max: 974848
+ avg: 974848
}
}
}
process_metrics {
process_name: "/system/bin/init"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1355776.0
- max: 2281472.0
- avg: 1686186.66667
+ min: 1355776
+ max: 2281472
+ avg: 1686186.6666666667
+ }
+ file_rss {
+ min: 2297856
+ max: 3047424
+ avg: 2681514.6666666665
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1355776
+ max: 2281472
+ avg: 1686186.6666666667
}
}
}
process_metrics {
process_name: "/system/bin/installd"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1699840.0
- max: 1699840.0
- avg: 1699840.0
+ min: 1699840
+ max: 1699840
+ avg: 1699840
+ }
+ file_rss {
+ min: 2519040
+ max: 2519040
+ avg: 2519040
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1699840
+ max: 1699840
+ avg: 1699840
}
}
}
process_metrics {
process_name: "/system/bin/iorapd"
- overall_counters {
+ total_counters {
anon_rss {
- min: 749568.0
- max: 749568.0
- avg: 749568.0
+ min: 749568
+ max: 749568
+ avg: 749568
+ }
+ file_rss {
+ min: 1724416
+ max: 1724416
+ avg: 1724416
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 749568
+ max: 749568
+ avg: 749568
}
}
}
process_metrics {
process_name: "/system/bin/ip6tables-restore"
- overall_counters {
+ total_counters {
anon_rss {
- min: 897024.0
- max: 897024.0
- avg: 897024.0
+ min: 897024
+ max: 897024
+ avg: 897024
+ }
+ file_rss {
+ min: 1445888
+ max: 1445888
+ avg: 1445888
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 897024
+ max: 897024
+ avg: 897024
}
}
}
process_metrics {
process_name: "/system/bin/iptables-restore"
- overall_counters {
+ total_counters {
anon_rss {
- min: 901120.0
- max: 901120.0
- avg: 901120.0
+ min: 901120
+ max: 901120
+ avg: 901120
+ }
+ file_rss {
+ min: 1429504
+ max: 1429504
+ avg: 1429504
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 901120
+ max: 901120
+ avg: 901120
}
}
}
process_metrics {
process_name: "/system/bin/keystore"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1302528.0
- max: 1302528.0
- avg: 1302528.0
+ min: 1302528
+ max: 1302528
+ avg: 1302528
+ }
+ file_rss {
+ min: 3624960
+ max: 3624960
+ avg: 3624960
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1302528
+ max: 1302528
+ avg: 1302528
}
}
}
process_metrics {
process_name: "/system/bin/lmkd"
- overall_counters {
+ total_counters {
anon_rss {
- min: 569344.0
- max: 569344.0
- avg: 569344.0
+ min: 569344
+ max: 569344
+ avg: 569344
+ }
+ file_rss {
+ min: 1130496
+ max: 1130496
+ avg: 1130496
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 569344
+ max: 569344
+ avg: 569344
}
}
}
process_metrics {
process_name: "/system/bin/logd"
- overall_counters {
+ total_counters {
anon_rss {
- min: 7372800.0
- max: 7553024.0
- avg: 7448293.86512
+ min: 7372800
+ max: 7553024
+ avg: 7448293.8651320124
+ }
+ file_rss {
+ min: 1527808
+ max: 1527808
+ avg: 1527808
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 7372800
+ max: 7553024
+ avg: 7448293.8651320124
}
}
}
process_metrics {
process_name: "/system/bin/mediadrmserver"
- overall_counters {
+ total_counters {
anon_rss {
- min: 823296.0
- max: 823296.0
- avg: 823296.0
+ min: 823296
+ max: 823296
+ avg: 823296
+ }
+ file_rss {
+ min: 2424832
+ max: 2424832
+ avg: 2424832
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 823296
+ max: 823296
+ avg: 823296
}
}
}
process_metrics {
process_name: "/system/bin/mediaserver"
- overall_counters {
+ total_counters {
anon_rss {
- min: 3031040.0
- max: 3248128.0
- avg: 3092504.88095
+ min: 3031040
+ max: 3248128
+ avg: 3092504.8809639509
+ }
+ file_rss {
+ min: 9068544
+ max: 9179136
+ avg: 9086064.58755729
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 3031040
+ max: 3248128
+ avg: 3092504.8809639509
}
}
}
process_metrics {
process_name: "/system/bin/netd"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1515520.0
- max: 1515520.0
- avg: 1515520.0
+ min: 1515520
+ max: 1515520
+ avg: 1515520
+ }
+ file_rss {
+ min: 3424256
+ max: 3424256
+ avg: 3424256
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1515520
+ max: 1515520
+ avg: 1515520
}
}
}
process_metrics {
process_name: "/system/bin/perfprofd"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1691648.0
- max: 1691648.0
- avg: 1691648.0
+ min: 1691648
+ max: 1691648
+ avg: 1691648
+ }
+ file_rss {
+ min: 3538944
+ max: 3538944
+ avg: 3538944
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1691648
+ max: 1691648
+ avg: 1691648
}
}
}
process_metrics {
process_name: "/system/bin/servicemanager"
- overall_counters {
+ total_counters {
anon_rss {
- min: 888832.0
- max: 888832.0
- avg: 888832.0
+ min: 888832
+ max: 888832
+ avg: 888832
+ }
+ file_rss {
+ min: 1548288
+ max: 1548288
+ avg: 1548288
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 888832
+ max: 888832
+ avg: 888832
}
}
}
process_metrics {
process_name: "/system/bin/statsd"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1196032.0
- max: 1196032.0
- avg: 1196032.0
+ min: 1196032
+ max: 1196032
+ avg: 1196032
+ }
+ file_rss {
+ min: 3047424
+ max: 3047424
+ avg: 3047424
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1196032
+ max: 1196032
+ avg: 1196032
}
}
}
process_metrics {
process_name: "/system/bin/storaged"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1069056.0
- max: 1069056.0
- avg: 1069056.0
+ min: 1069056
+ max: 1069056
+ avg: 1069056
+ }
+ file_rss {
+ min: 2637824
+ max: 2637824
+ avg: 2637824
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1069056
+ max: 1069056
+ avg: 1069056
}
}
}
process_metrics {
process_name: "/system/bin/surfaceflinger"
- overall_counters {
+ total_counters {
anon_rss {
- min: 8888320.0
- max: 9207808.0
- avg: 9034164.8762
+ min: 8888320
+ max: 9207808
+ avg: 9034164.876206724
+ }
+ file_rss {
+ min: 16490496
+ max: 16498688
+ avg: 16492097.352086088
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 8888320
+ max: 9207808
+ avg: 9034164.876206724
}
}
}
process_metrics {
process_name: "/system/bin/thermalserviced"
- overall_counters {
+ total_counters {
anon_rss {
- min: 901120.0
- max: 901120.0
- avg: 901120.0
+ min: 901120
+ max: 901120
+ avg: 901120
+ }
+ file_rss {
+ min: 2269184
+ max: 2269184
+ avg: 2269184
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 901120
+ max: 901120
+ avg: 901120
}
}
}
process_metrics {
process_name: "/system/bin/tombstoned"
- overall_counters {
+ total_counters {
anon_rss {
- min: 552960.0
- max: 552960.0
- avg: 552960.0
+ min: 552960
+ max: 552960
+ avg: 552960
+ }
+ file_rss {
+ min: 1138688
+ max: 1138688
+ avg: 1138688
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 552960
+ max: 552960
+ avg: 552960
}
}
}
process_metrics {
process_name: "/system/bin/traced"
- overall_counters {
+ total_counters {
anon_rss {
- min: 937984.0
- max: 7172096.0
- avg: 2938547.82202
+ min: 937984
+ max: 7172096
+ avg: 2938547.8224651264
+ }
+ file_rss {
+ min: 1740800
+ max: 1744896
+ avg: 1743438.5396268652
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 937984
+ max: 7172096
+ avg: 2938547.8224651264
}
}
}
process_metrics {
process_name: "/system/bin/traced_probes"
- overall_counters {
+ total_counters {
anon_rss {
- min: 929792.0
- max: 1056768.0
- avg: 992514.022365
+ min: 929792
+ max: 1056768
+ avg: 992514.022368121
+ }
+ file_rss {
+ min: 1863680
+ max: 1863680
+ avg: 1863680
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 929792
+ max: 1056768
+ avg: 992514.022368121
}
}
}
process_metrics {
process_name: "/system/bin/ueventd"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1437696.0
- max: 1437696.0
- avg: 1437696.0
+ min: 1437696
+ max: 1437696
+ avg: 1437696
+ }
+ file_rss {
+ min: 2740224
+ max: 2740224
+ avg: 2740224
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1437696
+ max: 1437696
+ avg: 1437696
}
}
}
process_metrics {
process_name: "/system/bin/update_engine"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1421312.0
- max: 1421312.0
- avg: 1421312.0
+ min: 1421312
+ max: 1421312
+ avg: 1421312
+ }
+ file_rss {
+ min: 4141056
+ max: 4141056
+ avg: 4141056
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1421312
+ max: 1421312
+ avg: 1421312
}
}
}
process_metrics {
process_name: "/system/bin/vold"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1830912.0
- max: 1830912.0
- avg: 1830912.0
+ min: 1830912
+ max: 1830912
+ avg: 1830912
+ }
+ file_rss {
+ min: 3612672
+ max: 3612672
+ avg: 3612672
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1830912
+ max: 1830912
+ avg: 1830912
}
}
}
process_metrics {
process_name: "/system/bin/wificond"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1167360.0
- max: 1224704.0
- avg: 1200927.32966
+ min: 1167360
+ max: 1224704
+ avg: 1200927.329666923
+ }
+ file_rss {
+ min: 2777088
+ max: 2777088
+ avg: 2777088
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1167360
+ max: 1224704
+ avg: 1200927.329666923
}
}
}
process_metrics {
process_name: "/vendor/bin/adsprpcd"
- overall_counters {
+ total_counters {
anon_rss {
- min: 745472.0
- max: 745472.0
- avg: 745472.0
+ min: 745472
+ max: 745472
+ avg: 745472
+ }
+ file_rss {
+ min: 1507328
+ max: 1507328
+ avg: 1507328
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 745472
+ max: 745472
+ avg: 745472
}
}
}
process_metrics {
process_name: "/vendor/bin/chre"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1929216.0
- max: 1929216.0
- avg: 1929216.0
+ min: 1929216
+ max: 1929216
+ avg: 1929216
+ }
+ file_rss {
+ min: 1703936
+ max: 1703936
+ avg: 1703936
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1929216
+ max: 1929216
+ avg: 1929216
}
}
}
process_metrics {
process_name: "/vendor/bin/cnd"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1552384.0
- max: 1552384.0
- avg: 1552384.0
+ min: 1552384
+ max: 1552384
+ avg: 1552384
+ }
+ file_rss {
+ min: 3313664
+ max: 3313664
+ avg: 3313664
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1552384
+ max: 1552384
+ avg: 1552384
}
}
}
process_metrics {
process_name: "/vendor/bin/cnss-daemon"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1363968.0
- max: 1363968.0
- avg: 1363968.0
+ min: 1363968
+ max: 1363968
+ avg: 1363968
+ }
+ file_rss {
+ min: 2265088
+ max: 2265088
+ avg: 2265088
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1363968
+ max: 1363968
+ avg: 1363968
}
}
}
process_metrics {
process_name: "/vendor/bin/esed"
- overall_counters {
+ total_counters {
anon_rss {
- min: 921600.0
- max: 921600.0
- avg: 921600.0
+ min: 921600
+ max: 921600
+ avg: 921600
+ }
+ file_rss {
+ min: 2301952
+ max: 2301952
+ avg: 2301952
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 921600
+ max: 921600
+ avg: 921600
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/android.hardware.audio@2.0-service"
- overall_counters {
+ total_counters {
anon_rss {
- min: 7827456.0
- max: 7835648.0
- avg: 7828926.94402
+ min: 7827456
+ max: 7835648
+ avg: 7828926.9440213712
+ }
+ file_rss {
+ min: 5828608
+ max: 5853184
+ avg: 5833020.8320641136
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 7827456
+ max: 7835648
+ avg: 7828926.9440213712
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/android.hardware.biometrics.fingerprint@2.1-service.fpc"
- overall_counters {
+ total_counters {
anon_rss {
- min: 987136.0
- max: 987136.0
- avg: 987136.0
+ min: 987136
+ max: 987136
+ avg: 987136
+ }
+ file_rss {
+ min: 2682880
+ max: 2682880
+ avg: 2682880
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 987136
+ max: 987136
+ avg: 987136
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/android.hardware.bluetooth@1.0-service-qti"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1134592.0
- max: 1134592.0
- avg: 1134592.0
+ min: 1134592
+ max: 1134592
+ avg: 1134592
+ }
+ file_rss {
+ min: 2670592
+ max: 2670592
+ avg: 2670592
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1134592
+ max: 1134592
+ avg: 1134592
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/android.hardware.boot@1.0-service"
- overall_counters {
+ total_counters {
anon_rss {
- min: 933888.0
- max: 933888.0
- avg: 933888.0
+ min: 933888
+ max: 933888
+ avg: 933888
+ }
+ file_rss {
+ min: 2416640
+ max: 2416640
+ avg: 2416640
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 933888
+ max: 933888
+ avg: 933888
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/android.hardware.camera.provider@2.4-service"
- overall_counters {
+ total_counters {
anon_rss {
- min: 19959808.0
- max: 30146560.0
- avg: 20336223.0679
+ min: 19959808
+ max: 30146560
+ avg: 20336223.067971032
+ }
+ file_rss {
+ min: 19906560
+ max: 20475904
+ avg: 19982463.151674122
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 19959808
+ max: 30146560
+ avg: 20336223.067971032
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/android.hardware.cas@1.0-service"
- overall_counters {
+ total_counters {
anon_rss {
- min: 753664.0
- max: 753664.0
- avg: 753664.0
+ min: 753664
+ max: 753664
+ avg: 753664
+ }
+ file_rss {
+ min: 2359296
+ max: 2359296
+ avg: 2359296
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 753664
+ max: 753664
+ avg: 753664
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/android.hardware.configstore@1.1-service"
- overall_counters {
+ total_counters {
anon_rss {
- min: 954368.0
- max: 954368.0
- avg: 954368.0
+ min: 954368
+ max: 954368
+ avg: 954368
+ }
+ file_rss {
+ min: 2400256
+ max: 2400256
+ avg: 2400256
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 954368
+ max: 954368
+ avg: 954368
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/android.hardware.contexthub@1.0-service"
- overall_counters {
+ total_counters {
anon_rss {
- min: 925696.0
- max: 925696.0
- avg: 925696.0
+ min: 925696
+ max: 925696
+ avg: 925696
+ }
+ file_rss {
+ min: 2424832
+ max: 2424832
+ avg: 2424832
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 925696
+ max: 925696
+ avg: 925696
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/android.hardware.drm@1.0-service"
- overall_counters {
+ total_counters {
anon_rss {
- min: 884736.0
- max: 884736.0
- avg: 884736.0
+ min: 884736
+ max: 884736
+ avg: 884736
+ }
+ file_rss {
+ min: 2772992
+ max: 2772992
+ avg: 2772992
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 884736
+ max: 884736
+ avg: 884736
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/android.hardware.drm@1.1-service.clearkey"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1056768.0
- max: 1056768.0
- avg: 1056768.0
+ min: 1056768
+ max: 1056768
+ avg: 1056768
+ }
+ file_rss {
+ min: 2912256
+ max: 2912256
+ avg: 2912256
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1056768
+ max: 1056768
+ avg: 1056768
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/android.hardware.drm@1.1-service.widevine"
- overall_counters {
+ total_counters {
anon_rss {
- min: 901120.0
- max: 901120.0
- avg: 901120.0
+ min: 901120
+ max: 901120
+ avg: 901120
+ }
+ file_rss {
+ min: 3371008
+ max: 3371008
+ avg: 3371008
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 901120
+ max: 901120
+ avg: 901120
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/android.hardware.dumpstate@1.0-service.wahoo"
- overall_counters {
+ total_counters {
anon_rss {
- min: 856064.0
- max: 856064.0
- avg: 856064.0
+ min: 856064
+ max: 856064
+ avg: 856064
+ }
+ file_rss {
+ min: 2285568
+ max: 2285568
+ avg: 2285568
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 856064
+ max: 856064
+ avg: 856064
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/android.hardware.gatekeeper@1.0-service-qti"
- overall_counters {
+ total_counters {
anon_rss {
- min: 978944.0
- max: 978944.0
- avg: 978944.0
+ min: 978944
+ max: 978944
+ avg: 978944
+ }
+ file_rss {
+ min: 2523136
+ max: 2523136
+ avg: 2523136
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 978944
+ max: 978944
+ avg: 978944
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/android.hardware.gnss@1.0-service-qti"
- overall_counters {
+ total_counters {
anon_rss {
- min: 2297856.0
- max: 2297856.0
- avg: 2297856.0
+ min: 2297856
+ max: 2297856
+ avg: 2297856
+ }
+ file_rss {
+ min: 4608000
+ max: 4608000
+ avg: 4608000
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 2297856
+ max: 2297856
+ avg: 2297856
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/android.hardware.graphics.allocator@2.0-service"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1036288.0
- max: 1036288.0
- avg: 1036288.0
+ min: 1036288
+ max: 1036288
+ avg: 1036288
+ }
+ file_rss {
+ min: 2646016
+ max: 2646016
+ avg: 2646016
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1036288
+ max: 1036288
+ avg: 1036288
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/android.hardware.graphics.composer@2.1-service"
- overall_counters {
+ total_counters {
anon_rss {
- min: 7061504.0
- max: 7127040.0
- avg: 7093040.06825
+ min: 7061504
+ max: 7127040
+ avg: 7093040.0682497825
+ }
+ file_rss {
+ min: 6201344
+ max: 6209536
+ avg: 6206707.9267968014
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 7061504
+ max: 7127040
+ avg: 7093040.0682497825
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/android.hardware.health@2.0-service.wahoo"
- overall_counters {
+ total_counters {
anon_rss {
- min: 884736.0
- max: 884736.0
- avg: 884736.0
+ min: 884736
+ max: 884736
+ avg: 884736
+ }
+ file_rss {
+ min: 2453504
+ max: 2453504
+ avg: 2453504
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 884736
+ max: 884736
+ avg: 884736
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/android.hardware.keymaster@3.0-service-qti"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1024000.0
- max: 1024000.0
- avg: 1024000.0
+ min: 1024000
+ max: 1024000
+ avg: 1024000
+ }
+ file_rss {
+ min: 2637824
+ max: 2637824
+ avg: 2637824
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1024000
+ max: 1024000
+ avg: 1024000
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/android.hardware.light@2.0-service"
- overall_counters {
+ total_counters {
anon_rss {
- min: 880640.0
- max: 880640.0
- avg: 880640.0
+ min: 880640
+ max: 880640
+ avg: 880640
+ }
+ file_rss {
+ min: 2248704
+ max: 2248704
+ avg: 2248704
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 880640
+ max: 880640
+ avg: 880640
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/android.hardware.memtrack@1.0-service"
- overall_counters {
+ total_counters {
anon_rss {
- min: 868352.0
- max: 868352.0
- avg: 868352.0
+ min: 868352
+ max: 868352
+ avg: 868352
+ }
+ file_rss {
+ min: 2347008
+ max: 2347008
+ avg: 2347008
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 868352
+ max: 868352
+ avg: 868352
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/android.hardware.nfc@1.1-service"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1064960.0
- max: 1064960.0
- avg: 1064960.0
+ min: 1064960
+ max: 1064960
+ avg: 1064960
+ }
+ file_rss {
+ min: 2842624
+ max: 2842624
+ avg: 2842624
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1064960
+ max: 1064960
+ avg: 1064960
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/android.hardware.oemlock@1.0-service"
- overall_counters {
+ total_counters {
anon_rss {
- min: 868352.0
- max: 868352.0
- avg: 868352.0
+ min: 868352
+ max: 868352
+ avg: 868352
+ }
+ file_rss {
+ min: 2273280
+ max: 2273280
+ avg: 2273280
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 868352
+ max: 868352
+ avg: 868352
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/android.hardware.power@1.2-service.wahoo-libperfmgr"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1007616.0
- max: 1007616.0
- avg: 1007616.0
+ min: 1007616
+ max: 1007616
+ avg: 1007616
+ }
+ file_rss {
+ min: 2568192
+ max: 2568192
+ avg: 2568192
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1007616
+ max: 1007616
+ avg: 1007616
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/android.hardware.sensors@1.0-service"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1605632.0
- max: 1605632.0
- avg: 1605632.0
+ min: 1605632
+ max: 1605632
+ avg: 1605632
+ }
+ file_rss {
+ min: 4190208
+ max: 4190208
+ avg: 4190208
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1605632
+ max: 1605632
+ avg: 1605632
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/android.hardware.usb@1.1-service.wahoo"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1064960.0
- max: 1064960.0
- avg: 1064960.0
+ min: 1064960
+ max: 1064960
+ avg: 1064960
+ }
+ file_rss {
+ min: 2486272
+ max: 2486272
+ avg: 2486272
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1064960
+ max: 1064960
+ avg: 1064960
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/android.hardware.vibrator@1.2-service.wahoo"
- overall_counters {
+ total_counters {
anon_rss {
- min: 925696.0
- max: 925696.0
- avg: 925696.0
+ min: 925696
+ max: 925696
+ avg: 925696
+ }
+ file_rss {
+ min: 2416640
+ max: 2416640
+ avg: 2416640
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 925696
+ max: 925696
+ avg: 925696
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/android.hardware.vr@1.0-service.wahoo"
- overall_counters {
+ total_counters {
anon_rss {
- min: 856064.0
- max: 856064.0
- avg: 856064.0
+ min: 856064
+ max: 856064
+ avg: 856064
+ }
+ file_rss {
+ min: 2265088
+ max: 2265088
+ avg: 2265088
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 856064
+ max: 856064
+ avg: 856064
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/android.hardware.wifi@1.0-service"
- overall_counters {
+ total_counters {
anon_rss {
- min: 4300800.0
- max: 4362240.0
- avg: 4333828.49825
+ min: 4300800
+ max: 4362240
+ avg: 4333828.4982506447
+ }
+ file_rss {
+ min: 3801088
+ max: 3801088
+ avg: 3801088
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 4300800
+ max: 4362240
+ avg: 4333828.4982506447
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/rild"
- overall_counters {
+ total_counters {
anon_rss {
- min: 4169728.0
- max: 4169728.0
- avg: 4169728.0
+ min: 4169728
+ max: 4169728
+ avg: 4169728
+ }
+ file_rss {
+ min: 14327808
+ max: 14327808
+ avg: 14327808
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 4169728
+ max: 4169728
+ avg: 4169728
}
}
}
process_metrics {
process_name: "/vendor/bin/hw/wpa_supplicant"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1421312.0
- max: 1425408.0
- avg: 1422826.04588
+ min: 1421312
+ max: 1425408
+ avg: 1422826.0458792688
+ }
+ file_rss {
+ min: 4632576
+ max: 4632576
+ avg: 4632576
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1421312
+ max: 1425408
+ avg: 1422826.0458792688
}
}
}
process_metrics {
process_name: "/vendor/bin/imsdatadaemon"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1683456.0
- max: 1683456.0
- avg: 1683456.0
+ min: 1683456
+ max: 1683456
+ avg: 1683456
+ }
+ file_rss {
+ min: 2973696
+ max: 2973696
+ avg: 2973696
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1683456
+ max: 1683456
+ avg: 1683456
}
}
}
process_metrics {
process_name: "/vendor/bin/imsqmidaemon"
- overall_counters {
+ total_counters {
anon_rss {
- min: 901120.0
- max: 901120.0
- avg: 901120.0
+ min: 901120
+ max: 901120
+ avg: 901120
+ }
+ file_rss {
+ min: 1757184
+ max: 1757184
+ avg: 1757184
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 901120
+ max: 901120
+ avg: 901120
}
}
}
process_metrics {
process_name: "/vendor/bin/ipacm"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1089536.0
- max: 1089536.0
- avg: 1089536.0
+ min: 1089536
+ max: 1089536
+ avg: 1089536
+ }
+ file_rss {
+ min: 3125248
+ max: 3125248
+ avg: 3125248
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1089536
+ max: 1089536
+ avg: 1089536
}
}
}
process_metrics {
process_name: "/vendor/bin/loc_launcher"
- overall_counters {
+ total_counters {
anon_rss {
- min: 741376.0
- max: 741376.0
- avg: 741376.0
+ min: 741376
+ max: 741376
+ avg: 741376
+ }
+ file_rss {
+ min: 1617920
+ max: 1617920
+ avg: 1617920
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 741376
+ max: 741376
+ avg: 741376
}
}
}
process_metrics {
process_name: "/vendor/bin/msm_irqbalance"
- overall_counters {
+ total_counters {
anon_rss {
- min: 761856.0
- max: 761856.0
- avg: 761856.0
+ min: 761856
+ max: 761856
+ avg: 761856
+ }
+ file_rss {
+ min: 1630208
+ max: 1630208
+ avg: 1630208
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 761856
+ max: 761856
+ avg: 761856
}
}
}
process_metrics {
process_name: "/vendor/bin/netmgrd"
- overall_counters {
+ total_counters {
anon_rss {
- min: 3330048.0
- max: 3330048.0
- avg: 3330048.0
+ min: 3330048
+ max: 3330048
+ avg: 3330048
+ }
+ file_rss {
+ min: 4530176
+ max: 4530176
+ avg: 4530176
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 3330048
+ max: 3330048
+ avg: 3330048
}
}
}
process_metrics {
process_name: "/vendor/bin/oemlock-bridge"
- overall_counters {
+ total_counters {
anon_rss {
- min: 659456.0
- max: 659456.0
- avg: 659456.0
+ min: 659456
+ max: 659456
+ avg: 659456
+ }
+ file_rss {
+ min: 1441792
+ max: 1441792
+ avg: 1441792
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 659456
+ max: 659456
+ avg: 659456
}
}
}
process_metrics {
process_name: "/vendor/bin/pd-mapper"
- overall_counters {
+ total_counters {
anon_rss {
- min: 884736.0
- max: 884736.0
- avg: 884736.0
+ min: 884736
+ max: 884736
+ avg: 884736
+ }
+ file_rss {
+ min: 1736704
+ max: 1736704
+ avg: 1736704
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 884736
+ max: 884736
+ avg: 884736
}
}
}
process_metrics {
process_name: "/vendor/bin/pm-proxy"
- overall_counters {
+ total_counters {
anon_rss {
- min: 778240.0
- max: 778240.0
- avg: 778240.0
+ min: 778240
+ max: 778240
+ avg: 778240
+ }
+ file_rss {
+ min: 1798144
+ max: 1798144
+ avg: 1798144
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 778240
+ max: 778240
+ avg: 778240
}
}
}
process_metrics {
process_name: "/vendor/bin/pm-service"
- overall_counters {
+ total_counters {
anon_rss {
- min: 966656.0
- max: 966656.0
- avg: 966656.0
+ min: 966656
+ max: 966656
+ avg: 966656
+ }
+ file_rss {
+ min: 2080768
+ max: 2080768
+ avg: 2080768
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 966656
+ max: 966656
+ avg: 966656
}
}
}
process_metrics {
process_name: "/vendor/bin/port-bridge"
- overall_counters {
+ total_counters {
anon_rss {
- min: 696320.0
- max: 696320.0
- avg: 696320.0
+ min: 696320
+ max: 696320
+ avg: 696320
+ }
+ file_rss {
+ min: 1470464
+ max: 1470464
+ avg: 1470464
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 696320
+ max: 696320
+ avg: 696320
}
}
}
process_metrics {
process_name: "/vendor/bin/qseecomd"
- overall_counters {
+ total_counters {
anon_rss {
- min: 729088.0
- max: 815104.0
- avg: 772096.0
+ min: 729088
+ max: 815104
+ avg: 772096
+ }
+ file_rss {
+ min: 749568
+ max: 1642496
+ avg: 1196032
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 729088
+ max: 815104
+ avg: 772096
}
}
}
process_metrics {
process_name: "/vendor/bin/qti"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1069056.0
- max: 1069056.0
- avg: 1069056.0
+ min: 1069056
+ max: 1069056
+ avg: 1069056
+ }
+ file_rss {
+ min: 1925120
+ max: 1925120
+ avg: 1925120
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1069056
+ max: 1069056
+ avg: 1069056
}
}
}
process_metrics {
process_name: "/vendor/bin/rmt_storage"
- overall_counters {
+ total_counters {
anon_rss {
- min: 794624.0
- max: 794624.0
- avg: 794624.0
+ min: 794624
+ max: 794624
+ avg: 794624
+ }
+ file_rss {
+ min: 1634304
+ max: 1634304
+ avg: 1634304
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 794624
+ max: 794624
+ avg: 794624
}
}
}
process_metrics {
process_name: "/vendor/bin/sensors.qcom"
- overall_counters {
+ total_counters {
anon_rss {
- min: 868352.0
- max: 872448.0
- avg: 871452.931387
+ min: 868352
+ max: 872448
+ avg: 871452.93138701166
+ }
+ file_rss {
+ min: 1986560
+ max: 1986560
+ avg: 1986560
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 868352
+ max: 872448
+ avg: 871452.93138701166
}
}
}
process_metrics {
process_name: "/vendor/bin/subsystem_ramdump"
- overall_counters {
+ total_counters {
anon_rss {
- min: 663552.0
- max: 663552.0
- avg: 663552.0
+ min: 663552
+ max: 663552
+ avg: 663552
+ }
+ file_rss {
+ min: 1441792
+ max: 1441792
+ avg: 1441792
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 663552
+ max: 663552
+ avg: 663552
}
}
}
process_metrics {
process_name: "/vendor/bin/tftp_server"
- overall_counters {
+ total_counters {
anon_rss {
- min: 565248.0
- max: 565248.0
- avg: 565248.0
+ min: 565248
+ max: 565248
+ avg: 565248
+ }
+ file_rss {
+ min: 1703936
+ max: 1703936
+ avg: 1703936
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 565248
+ max: 565248
+ avg: 565248
}
}
}
process_metrics {
process_name: "/vendor/bin/thermal-engine"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1912832.0
- max: 1912832.0
- avg: 1912832.0
+ min: 1912832
+ max: 1912832
+ avg: 1912832
+ }
+ file_rss {
+ min: 2813952
+ max: 2813952
+ avg: 2813952
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1912832
+ max: 1912832
+ avg: 1912832
}
}
}
process_metrics {
process_name: "/vendor/bin/time_daemon"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1130496.0
- max: 1130496.0
- avg: 1130496.0
+ min: 1130496
+ max: 1130496
+ avg: 1130496
+ }
+ file_rss {
+ min: 1802240
+ max: 1802240
+ avg: 1802240
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1130496
+ max: 1130496
+ avg: 1130496
}
}
}
process_metrics {
process_name: "/vendor/bin/vndservicemanager"
- overall_counters {
+ total_counters {
anon_rss {
- min: 749568.0
- max: 749568.0
- avg: 749568.0
+ min: 749568
+ max: 749568
+ avg: 749568
+ }
+ file_rss {
+ min: 1716224
+ max: 1716224
+ avg: 1716224
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 749568
+ max: 749568
+ avg: 749568
}
}
}
process_metrics {
process_name: "android.ext.services"
- overall_counters {
+ total_counters {
anon_rss {
- min: 30580736.0
- max: 30580736.0
- avg: 30580736.0
+ min: 30580736
+ max: 30580736
+ avg: 30580736
+ }
+ file_rss {
+ min: 24633344
+ max: 24633344
+ avg: 24633344
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 30580736
+ max: 30580736
+ avg: 30580736
}
}
}
process_metrics {
process_name: "android.process.acore"
- overall_counters {
+ total_counters {
anon_rss {
- min: 32718848.0
- max: 32796672.0
- avg: 32765823.0236
+ min: 32718848
+ max: 32796672
+ avg: 32765823.023586709
+ }
+ file_rss {
+ min: 31182848
+ max: 31232000
+ avg: 31213864.714639213
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 32718848
+ max: 32796672
+ avg: 32765823.023586709
}
}
}
process_metrics {
process_name: "android.process.media"
- overall_counters {
+ total_counters {
anon_rss {
- min: 30797824.0
- max: 31100928.0
- avg: 30826664.4282
+ min: 30797824
+ max: 31100928
+ avg: 30826664.428192254
+ }
+ file_rss {
+ min: 27017216
+ max: 27131904
+ avg: 27028128.594451122
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 30797824
+ max: 31100928
+ avg: 30826664.428192254
}
}
}
process_metrics {
process_name: "com.android.calculator2"
- overall_counters {
+ total_counters {
anon_rss {
- min: 30457856.0
- max: 38170624.0
- avg: 37382528.2885
+ min: 30457856
+ max: 38170624
+ avg: 37382528.28846544
+ }
+ file_rss {
+ min: 15327232
+ max: 46215168
+ avg: 44911110.194402307
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 30457856
+ max: 38170624
+ avg: 37382528.28846544
}
}
}
process_metrics {
process_name: "com.android.calendar"
- overall_counters {
+ total_counters {
anon_rss {
- min: 30556160.0
- max: 30556160.0
- avg: 30556160.0
+ min: 30556160
+ max: 30556160
+ avg: 30556160
+ }
+ file_rss {
+ min: 25948160
+ max: 25948160
+ avg: 25948160
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 30556160
+ max: 30556160
+ avg: 30556160
}
}
}
process_metrics {
process_name: "com.android.camera2"
- overall_counters {
+ total_counters {
anon_rss {
- min: 32026624.0
- max: 43556864.0
- avg: 37702137.4193
+ min: 32026624
+ max: 43556864
+ avg: 37702137.42094557
+ }
+ file_rss {
+ min: 27398144
+ max: 42573824
+ avg: 35570657.094683908
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 32026624
+ max: 43556864
+ avg: 37702137.42094557
}
}
}
process_metrics {
process_name: "com.android.deskclock"
- overall_counters {
+ total_counters {
anon_rss {
- min: 30760960.0
- max: 30760960.0
- avg: 30760960.0
+ min: 30760960
+ max: 30760960
+ avg: 30760960
+ }
+ file_rss {
+ min: 26918912
+ max: 26918912
+ avg: 26918912
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 30760960
+ max: 30760960
+ avg: 30760960
}
}
}
process_metrics {
process_name: "com.android.dialer"
- overall_counters {
+ total_counters {
anon_rss {
- min: 30515200.0
- max: 30515200.0
- avg: 30515200.0
+ min: 30515200
+ max: 30515200
+ avg: 30515200
+ }
+ file_rss {
+ min: 26562560
+ max: 26562560
+ avg: 26562560
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 30515200
+ max: 30515200
+ avg: 30515200
}
}
}
process_metrics {
process_name: "com.android.inputmethod.latin"
- overall_counters {
+ total_counters {
anon_rss {
- min: 32301056.0
- max: 32333824.0
- avg: 32312002.9532
+ min: 32301056
+ max: 32333824
+ avg: 32312002.953204274
+ }
+ file_rss {
+ min: 32784384
+ max: 32784384
+ avg: 32784384
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 32301056
+ max: 32333824
+ avg: 32312002.953204274
}
}
}
process_metrics {
process_name: "com.android.keychain"
- overall_counters {
+ total_counters {
anon_rss {
- min: 29995008.0
- max: 29995008.0
- avg: 29995008.0
+ min: 29995008
+ max: 29995008
+ avg: 29995008
+ }
+ file_rss {
+ min: 20553728
+ max: 20553728
+ avg: 20553728
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 29995008
+ max: 29995008
+ avg: 29995008
}
}
}
process_metrics {
process_name: "com.android.launcher3"
- overall_counters {
+ total_counters {
anon_rss {
- min: 50225152.0
- max: 51023872.0
- avg: 50602048.6838
+ min: 50225152
+ max: 51023872
+ avg: 50602048.683776192
+ }
+ file_rss {
+ min: 61640704
+ max: 65015808
+ avg: 63347279.223367475
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 50225152
+ max: 51023872
+ avg: 50602048.683776192
}
}
}
process_metrics {
process_name: "com.android.messaging"
- overall_counters {
+ total_counters {
anon_rss {
- min: 33431552.0
- max: 39768064.0
- avg: 38819611.9037
+ min: 33431552
+ max: 39768064
+ avg: 38819611.903605282
+ }
+ file_rss {
+ min: 31301632
+ max: 50712576
+ avg: 50273498.3803396
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 33431552
+ max: 39768064
+ avg: 38819611.903605282
}
}
}
process_metrics {
process_name: "com.android.nfc"
- overall_counters {
+ total_counters {
anon_rss {
- min: 33431552.0
- max: 33431552.0
- avg: 33431552.0
+ min: 33431552
+ max: 33431552
+ avg: 33431552
+ }
+ file_rss {
+ min: 32583680
+ max: 32583680
+ avg: 32583680
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 33431552
+ max: 33431552
+ avg: 33431552
}
}
}
process_metrics {
process_name: "com.android.packageinstaller"
- overall_counters {
+ total_counters {
anon_rss {
- min: 34000896.0
- max: 36679680.0
- avg: 36344735.4948
+ min: 34000896
+ max: 36679680
+ avg: 36344735.495240487
+ }
+ file_rss {
+ min: 47640576
+ max: 56872960
+ avg: 55718579.397969507
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 34000896
+ max: 36679680
+ avg: 36344735.495240487
}
}
}
process_metrics {
process_name: "com.android.phone"
- overall_counters {
+ total_counters {
anon_rss {
- min: 34975744.0
- max: 35635200.0
- avg: 35417409.3109
+ min: 34975744
+ max: 35635200
+ avg: 35417409.310967423
+ }
+ file_rss {
+ min: 41607168
+ max: 41644032
+ avg: 41631868.392094932
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 34975744
+ max: 35635200
+ avg: 35417409.310967423
}
}
}
process_metrics {
process_name: "com.android.printspooler"
- overall_counters {
+ total_counters {
anon_rss {
- min: 30093312.0
- max: 30093312.0
- avg: 30093312.0
+ min: 30093312
+ max: 30093312
+ avg: 30093312
+ }
+ file_rss {
+ min: 22540288
+ max: 22540288
+ avg: 22540288
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 30093312
+ max: 30093312
+ avg: 30093312
}
}
}
process_metrics {
process_name: "com.android.providers.calendar"
- overall_counters {
+ total_counters {
anon_rss {
- min: 30814208.0
- max: 30814208.0
- avg: 30814208.0
+ min: 30814208
+ max: 30814208
+ avg: 30814208
+ }
+ file_rss {
+ min: 27041792
+ max: 27041792
+ avg: 27041792
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 30814208
+ max: 30814208
+ avg: 30814208
}
}
}
process_metrics {
process_name: "com.android.se"
- overall_counters {
+ total_counters {
anon_rss {
- min: 30208000.0
- max: 30208000.0
- avg: 30208000.0
+ min: 30208000
+ max: 30208000
+ avg: 30208000
+ }
+ file_rss {
+ min: 20955136
+ max: 20955136
+ avg: 20955136
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 30208000
+ max: 30208000
+ avg: 30208000
}
}
}
process_metrics {
process_name: "com.android.settings"
- overall_counters {
+ total_counters {
anon_rss {
- min: 34762752.0
- max: 34762752.0
- avg: 34762752.0
+ min: 34762752
+ max: 34762752
+ avg: 34762752
+ }
+ file_rss {
+ min: 43851776
+ max: 43851776
+ avg: 43851776
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 34762752
+ max: 34762752
+ avg: 34762752
}
}
}
process_metrics {
process_name: "com.android.smspush"
- overall_counters {
+ total_counters {
anon_rss {
- min: 30130176.0
- max: 30130176.0
- avg: 30130176.0
+ min: 30130176
+ max: 30130176
+ avg: 30130176
+ }
+ file_rss {
+ min: 20025344
+ max: 20025344
+ avg: 20025344
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 30130176
+ max: 30130176
+ avg: 30130176
}
}
}
process_metrics {
process_name: "com.android.systemui"
- overall_counters {
+ total_counters {
anon_rss {
- min: 66408448.0
- max: 71012352.0
- avg: 68360389.6158
+ min: 66408448
+ max: 71012352
+ avg: 68360389.615635842
+ }
+ file_rss {
+ min: 84123648
+ max: 84856832
+ avg: 84581484.290013745
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 66408448
+ max: 71012352
+ avg: 68360389.615635842
}
}
}
process_metrics {
process_name: "com.qualcomm.qti.telephonyservice"
- overall_counters {
+ total_counters {
anon_rss {
- min: 30720000.0
- max: 30720000.0
- avg: 30720000.0
+ min: 30720000
+ max: 30720000
+ avg: 30720000
+ }
+ file_rss {
+ min: 23228416
+ max: 23228416
+ avg: 23228416
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 30720000
+ max: 30720000
+ avg: 30720000
}
}
}
process_metrics {
process_name: "lowi-server"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1445888.0
- max: 1449984.0
- avg: 1447402.04588
+ min: 1445888
+ max: 1449984
+ avg: 1447402.0458792688
+ }
+ file_rss {
+ min: 2252800
+ max: 2252800
+ avg: 2252800
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1445888
+ max: 1449984
+ avg: 1447402.0458792688
}
}
}
process_metrics {
process_name: "media.codec"
- overall_counters {
+ total_counters {
anon_rss {
- min: 5189632.0
- max: 5210112.0
- avg: 5206434.27798
+ min: 5189632
+ max: 5210112
+ avg: 5206434.2779755639
+ }
+ file_rss {
+ min: 15314944
+ max: 15314944
+ avg: 15314944
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 5189632
+ max: 5210112
+ avg: 5206434.2779755639
}
}
}
process_metrics {
process_name: "media.extractor"
- overall_counters {
+ total_counters {
anon_rss {
- min: 4214784.0
- max: 4296704.0
- avg: 4225168.52184
+ min: 4214784
+ max: 4296704
+ avg: 4225168.5218501659
+ }
+ file_rss {
+ min: 7778304
+ max: 7778304
+ avg: 7778304
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 4214784
+ max: 4296704
+ avg: 4225168.5218501659
}
}
}
process_metrics {
process_name: "media.metrics"
- overall_counters {
+ total_counters {
anon_rss {
- min: 2465792.0
- max: 2465792.0
- avg: 2465792.0
+ min: 2465792
+ max: 2465792
+ avg: 2465792
+ }
+ file_rss {
+ min: 5373952
+ max: 5373952
+ avg: 5373952
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 2465792
+ max: 2465792
+ avg: 2465792
}
}
}
process_metrics {
process_name: "perfetto"
- overall_counters {
+ total_counters {
anon_rss {
- min: 3489792.0
- max: 3489792.0
- avg: 3489792.0
+ min: 3489792
+ max: 3489792
+ avg: 3489792
+ }
+ file_rss {
+ min: 9125888
+ max: 9125888
+ avg: 9125888
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 3489792
+ max: 3489792
+ avg: 3489792
}
}
}
process_metrics {
process_name: "system_server"
- overall_counters {
+ total_counters {
anon_rss {
- min: 57307136.0
- max: 82853888.0
- avg: 68498510.1012
+ min: 57307136
+ max: 82853888
+ avg: 68498510.10159786
+ }
+ file_rss {
+ min: 215744512
+ max: 225366016
+ avg: 221519381.24451447
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 57307136
+ max: 82853888
+ avg: 68498510.10159786
}
}
}
process_metrics {
process_name: "webview_zygote"
- overall_counters {
+ total_counters {
anon_rss {
- min: 23068672.0
- max: 23068672.0
- avg: 23068672.0
+ min: 23068672
+ max: 23068672
+ avg: 23068672
+ }
+ file_rss {
+ min: 10244096
+ max: 10244096
+ avg: 10244096
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 23068672
+ max: 23068672
+ avg: 23068672
}
}
}
process_metrics {
process_name: "xtra-daemon"
- overall_counters {
+ total_counters {
anon_rss {
- min: 1748992.0
- max: 1748992.0
- avg: 1748992.0
+ min: 1748992
+ max: 1748992
+ avg: 1748992
+ }
+ file_rss {
+ min: 3473408
+ max: 3473408
+ avg: 3473408
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 1748992
+ max: 1748992
+ avg: 1748992
}
}
}
process_metrics {
process_name: "zygote"
- overall_counters {
+ total_counters {
anon_rss {
- min: 22667264.0
- max: 22667264.0
- avg: 22667264.0
+ min: 22667264
+ max: 22667264
+ avg: 22667264
+ }
+ file_rss {
+ min: 53350400
+ max: 53350400
+ avg: 53350400
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 22667264
+ max: 22667264
+ avg: 22667264
}
}
}
process_metrics {
process_name: "zygote64"
- overall_counters {
+ total_counters {
anon_rss {
- min: 30040064.0
- max: 30109696.0
- avg: 30068402.6912
+ min: 30040064
+ max: 30109696
+ avg: 30068402.691190559
+ }
+ file_rss {
+ min: 56365056
+ max: 56365056
+ avg: 56365056
+ }
+ swap {
+ min: 0
+ max: 0
+ avg: 0
+ }
+ anon_and_swap {
+ min: 30040064
+ max: 30109696
+ avg: 30068402.691190559
}
}
}
diff --git a/test/metrics/android_process_growth.out b/test/metrics/android_process_growth.out
new file mode 100644
index 0000000..0a04ef9
--- /dev/null
+++ b/test/metrics/android_process_growth.out
@@ -0,0 +1,12 @@
+android_process_growth {
+ instance_metrics {
+ pid: 3
+ process_name: "com.google.android.calendar"
+ anon_and_swap_change_bytes: 4000
+ }
+ instance_metrics {
+ pid: 4
+ process_name: "com.google.android.calendar"
+ anon_and_swap_change_bytes: 0
+ }
+}
diff --git a/test/metrics/android_process_growth.py b/test/metrics/android_process_growth.py
new file mode 100644
index 0000000..75bdece
--- /dev/null
+++ b/test/metrics/android_process_growth.py
@@ -0,0 +1,47 @@
+#!/usr/bin/python
+# Copyright (C) 2018 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.
+
+from os import sys, path
+
+sys.path.append(path.dirname(path.dirname(path.abspath(__file__))))
+import synth_common
+
+anon_member = 1
+swap_member = 2
+
+trace = synth_common.create_trace()
+trace.add_process_tree_packet()
+trace.add_process(1, 0, 'init')
+trace.add_process(2, 1, 'system_server')
+trace.add_process(3, 1, 'com.google.android.calendar')
+trace.add_process(4, 1, 'com.google.android.calendar')
+
+trace.add_ftrace_packet(cpu=0)
+trace.add_rss_stat(100, 3, anon_member, 1000)
+trace.add_rss_stat(100, 3, swap_member, 1000)
+trace.add_rss_stat(100, 4, anon_member, 100)
+trace.add_rss_stat(100, 4, swap_member, 50)
+
+trace.add_rss_stat(200, 3, anon_member, 2000)
+trace.add_rss_stat(200, 3, swap_member, 2000)
+trace.add_rss_stat(200, 4, anon_member, 1000)
+trace.add_rss_stat(200, 4, swap_member, 100)
+
+trace.add_rss_stat(300, 3, anon_member, 3000)
+trace.add_rss_stat(300, 3, swap_member, 3000)
+trace.add_rss_stat(300, 4, anon_member, 50)
+trace.add_rss_stat(300, 4, swap_member, 100)
+
+print(trace.trace.SerializeToString())
diff --git a/test/metrics/index b/test/metrics/index
index 1169aaf..7bfce0f 100644
--- a/test/metrics/index
+++ b/test/metrics/index
@@ -3,6 +3,7 @@
../data/memory_counters.pb error_statistics error_statistics.out
# Synthetic traces
+android_process_growth.py android_process_growth android_process_growth.out
android_lmk.py android_lmk android_mem_lmk.out
android_ion.py android_ion android_ion.out