[Metric Definition] Remove string_buffer_max field

Remove the string_buffer_max field from the metric_definition.proto.
The string_buffer_max field will now be under the
report_definition.proto.

Bug: 79464
Change-Id: Id44d3ad6a73fd9e28e7c761ff7f4b91b160ab044
Reviewed-on: https://fuchsia-review.googlesource.com/c/cobalt/+/670597
Reviewed-by: Cameron Dale <camrdale@google.com>
Commit-Queue: Andrew Hwang <anhwang@google.com>
diff --git a/src/registry/metric_definition.proto b/src/registry/metric_definition.proto
index 5ed893c..4068c6c 100644
--- a/src/registry/metric_definition.proto
+++ b/src/registry/metric_definition.proto
@@ -32,8 +32,8 @@
 //
 // Next ID: 27
 message MetricDefinition {
-  reserved 6, 7, 9, 17;
-  reserved "event_codes", "max_event_code", "parts", "event_code_buffer_max";
+  reserved 6, 7, 9, 17, 21;
+  reserved "event_codes", "max_event_code", "parts", "event_code_buffer_max", "string_buffer_max";
 
   // Unique name for this Metric within its owning project.
   // The name must obey the syntax of a C variable name and must have length
@@ -253,7 +253,6 @@
     // - metric_dimensions (0 or more)
     // - metric_semantics (required)
     // - string_candidate_file. (required)
-    // - string_buffer_max (required)
     STRING = 11;
 
     // Allows users of Cobalt to define custom Metrics with custom semantics and
@@ -361,20 +360,6 @@
   // This should augment the description given in the comments.
   repeated MetricSemantics metric_semantics = 20;
 
-  // The maximum number of distinct strings that Cobalt must
-  // keep in its in-memory buffer on any single device.
-  // During local aggregation for metrics of type STRING, Cobalt will keep track
-  // of this many distinct strings per aggregation period. The metric's project
-  // will be charged against a resource budget for this value so project owners
-  // are encouraged to set this as small as possible. A STRING metric
-  // includes a file of candidate strings that may contain many thousands
-  // of strings. But it is expected that any one device will log only a few of
-  // these strings per day. We may set string_buffer_max to a relatively
-  // small number, say 20.
-  //
-  // This is a required field for metrics of type STRING.
-  uint32 string_buffer_max = 21;
-
   // The path to a list of candidate strings for a metric of type STRING.
   //
   // This is a required field for metrics of type STRING.
diff --git a/src/registry/report_definition.proto b/src/registry/report_definition.proto
index efcbe92..6a1a685 100644
--- a/src/registry/report_definition.proto
+++ b/src/registry/report_definition.proto
@@ -520,7 +520,8 @@
     // (See report_row.proto)
     //
     // ReportDefinition fields particular to this type:
-    //    candidate_file
+    //   - candidate_file
+    //   - string_buffer_max
     STRING_COUNTS = 20;
 
     // For each system_profile SP, each event_vector EV, and each string value
@@ -548,6 +549,7 @@
     // ReportDefinition fields particular to this type:
     //   - candidate_file
     //   - local_aggregation_period
+    //   - string_buffer_max
     //   - system_profile_selection (SELECT_FIRST and SELECT LAST will maintain
     //     uniqueness, REPORT_ALL may be useful in some cases)
     UNIQUE_DEVICE_STRING_COUNTS = 21;
@@ -892,17 +894,16 @@
   // observations.
   uint64 event_vector_buffer_max = 26;
 
-  // This field will soon replace the `string_buffer_max` field of MetricDefinition
-  // as a required field for reports of type STRING_COUNTS. Do not use it yet.
-  //
   // The maximum number of distinct strings that Cobalt must keep in its in-memory buffer
-  // on any single device. During local aggregation for reports of type STRING_COUNTS,
-  // Cobalt will keep track of this many distinct strings per aggregation period. The report's
-  // project will be charged against a resource budget for this value so project owners are
-  // encouraged to set this as small as possible. A STRING metric includes a file of candidate
-  // strings that may contain many thousands of strings. But it is expected that any one device
-  // will log only a few of these strings per day. We may set string_buffer_max to a relatively
-  // small number, say 20.
+  // on any single device. During local aggregation for reports of type STRING_COUNTS and
+  // UNIQUE_DEVICE_STRING_COUNTS, Cobalt will keep track of this many distinct strings per
+  // aggregation period. The report's project will be charged against a resource budget for this
+  // value so project owners are encouraged to set this as small as possible. A STRING metric
+  // includes a file of candidate strings that may contain many thousands of strings. But it is
+  // expected that any one device will log only a few of these strings per day. We may set
+  // string_buffer_max to a relatively small number, say 20.
+  //
+  // This is a required field for reports of type STRING_COUNTS and UNIQUE_DEVICE_STRING_COUNTS.
   uint32 string_buffer_max = 28;
 
   // For reports of type UNIQUE_DEVICE_COUNTS, send observations as soon as the