| syntax = "proto3"; |
| |
| package cobalt; |
| |
| import "src/pb/common.proto"; |
| |
| //////////////////////////////////////////////////////////////////////////////// |
| // NOTE: This file is used by the Cobalt server and not by the client. It is |
| // included in the client repo only for reference. The canonical version of this |
| // file is located in Google's internal code repository, and the file is |
| // automatically copied to Cobalt's open source Git repo. Do |
| // not edit the copy of this file in the open-source Cobalt Git repo as those |
| // edits will be overwritten when the file is next copied. |
| //////////////////////////////////////////////////////////////////////////////// |
| |
| // A row of output for reports that use the OCCURRENCE_COUNTS global aggregation |
| // procedure: FLEETWIDE_OCCURRENCE_COUNTS and UNIQUE_DEVICE_COUNTS. |
| // |
| // This row gives a total count that is associated with a date, a system_profile |
| // and an event_vector. |
| // |
| // This is part of Cobalt 1.1. |
| message OccurrenceCountReportRow { |
| // The report date. This is the date on which the local aggregation period |
| // ended, as measured on the device. This is a string in yyyy-mm-dd format. |
| string date = 1; |
| |
| // A profile of the system from which the events were logged. This will be |
| // populated with only the fields that are specified in the |
| // `system_profile_field` entry in the ReportDefinition for this report. |
| SystemProfile system_profile = 2; |
| |
| // The event_vector labels for this row. |
| // There will be one event_label for each metric dimension |
| // that was included in the report, in the order the dimensions are declared |
| // in the ReportDefinition. If the ReportDefinition specifies no metric |
| // dimensions should be included then this repeated field will be empty. |
| // |
| // For each dimension, if the event_code in that dimension of the event_vector |
| // has not been assigned a label, then this will be a string of the form |
| // "<code 42>", where `42` is the numeric event code observed. |
| repeated string event_labels = 3; |
| |
| // The sum of the `counts`s associated with this row's event_vector, from all |
| // Observations included in the report from devices with the `system_profile`. |
| // Unless the report is configured to not use any local differential privacy |
| // noise, this value is an estimate. Also the value is truncated to |
| // MAX_DOUBLE. |
| double count = 4; |
| } |
| |
| // A row of output for reports that use the INTEGER_HISTOGRAMS global |
| // aggregation procedure: FLEETWIDE_HISTOGRAMS, UNIQUE_DEVICE_HISTOGRAMS, |
| // HOURLY_VALUE_HISTOGRAMS. |
| // |
| // This row gives the count for one bucket of an int-range histogram |
| // associated with a date, a system_profile and an event_vector. |
| // |
| // This is part of Cobalt 1.1. |
| message IntegerHistogramReportRow { |
| // The report date. This is the date on which the local aggregation period |
| // ended, as measured on the device. This is a string in yyyy-mm-dd format. |
| string date = 1; |
| |
| // A profile of the system from which the events were logged. This will be |
| // populated with only the fields that are specified in the |
| // `system_profile_field` entry in the ReportDefinition for this report. |
| SystemProfile system_profile = 2; |
| |
| // The event_vector labels for this row. |
| // There will be one event_label for each metric dimension |
| // that was included in the report, in the order the dimensions are declared |
| // in the ReportDefinition. If the ReportDefinition specifies no metric |
| // dimensions should be included then this repeated field will be empty. |
| // |
| // For each dimension, if the event_code in that dimension of the event_vector |
| // has not been assigned a label, then this will be a string of the form |
| // "<code 42>", where `42` is the numeric event code observed. |
| repeated string event_labels = 3; |
| |
| // The *inclusive* upper and lower bounds for this bucket. |
| // required: bucket_min_value <= bucket_max_value. The bucket consists |
| // of integers in the interval [bucket_min_value, bucket_max_value]. |
| int64 bucket_min_value = 4; |
| int64 bucket_max_value = 5; |
| |
| // The bucket index, which is useful for sorting the data in visualizations. |
| int32 bucket_index = 6; |
| |
| // The number of values that fall in this bucket. Unless the report is |
| // configured to not use any local differential privacy noise, this value is |
| // an estimate. Also the value is truncated to MAX_DOUBLE. |
| double count = 7; |
| } |
| |
| // A row of output for reports that use the SUM_AND_COUNTS global aggregation |
| // procedure, namely reports of type FLEETWIDE_MEAN. The goal of such a report |
| // is to compute the mean of a set of event values when each device in the fleet |
| // contributues a different number of event values. The fleetwide mean is |
| // given by sum/count. We emit sum and count separately so that a |
| // post-processing step (such as within a dashboard) may compute the mean over |
| // larger populations such as multiple days, multiple system_profiles, or |
| // multiple event_vectors. |
| // |
| // This row gives the sum and count associated with a date, a system_profile |
| // and an event_vector. |
| // |
| // This is part of Cobalt 1.1. |
| message SumAndCountReportRow { |
| // The report date. This is the date on which the local aggregation period |
| // ended, as measured on the device. This is a string in yyyy-mm-dd format. |
| string date = 1; |
| |
| // A profile of the system from which the events were logged. This will be |
| // populated with only the fields that are specified in the |
| // `system_profile_field` entry in the ReportDefinition for this report. |
| SystemProfile system_profile = 2; |
| |
| // The event_vector labels for this row. |
| // There will be one event_label for each metric dimension |
| // that was included in the report, in the order the dimensions are declared |
| // in the ReportDefinition. If the ReportDefinition specifies no metric |
| // dimensions should be included then this repeated field will be empty. |
| // |
| // For each dimension, if the event_code in that dimension of the event_vector |
| // has not been assigned a label, then this will be a string of the form |
| // "<code 42>", where `42` is the numeric event code observed. |
| repeated string event_labels = 3; |
| |
| // The sum of all of the `sum` fields from all of the Observations included |
| // in the report that are associated with this row's event_vector and from |
| // devices with the `system_profile`. |
| // |
| // Unless the report is configured to not use any local differential privacy |
| // noise, this value is an estimate. Also the value is truncated to |
| // MAX_DOUBLE. |
| double sum = 4; |
| |
| // The sum of all of the `count` fields from all of the Observations included |
| // in the report that are associated with this row's event_vector and from |
| // devices with the `system_profile`. |
| // |
| // Unless the report is configured to not use any local differential privacy |
| // noise, this value is an estimate. Also the value is truncated to |
| // MAX_DOUBLE. |
| double count = 5; |
| } |
| |
| // A row of output for reports that use the NUMERIC_STATS global aggregation |
| // procedure: HOURLY_VALUE_NUMERIC_STATS and UNIQUE_DEVICE_NUMERIC_STATS. |
| // |
| // This row gives the numeric statistics associated with a date, a |
| // system_profile and an event_vector. |
| // |
| // This is part of Cobalt 1.1. |
| message NumericStatsReportRow { |
| // The report date. This is the date on which the local aggregation period |
| // ended, as measured on the device. This is a string in yyyy-mm-dd format. |
| string date = 1; |
| |
| // A profile of the system from which the events were logged. This will be |
| // populated with only the fields that are specified in the |
| // `system_profile_field` entry in the ReportDefinition for this report. |
| SystemProfile system_profile = 2; |
| |
| // The event_vector labels for this row. |
| // There will be one event_label for each metric dimension |
| // that was included in the report, in the order the dimensions are declared |
| // in the ReportDefinition. If the ReportDefinition specifies no metric |
| // dimensions should be included then this repeated field will be empty. |
| // |
| // For each dimension, if the event_code in that dimension of the event_vector |
| // has not been assigned a label, then this will be a string of the form |
| // "<code 42>", where `42` is the numeric event code observed. |
| repeated string event_labels = 3; |
| |
| // Each of the statistics below are computed over the set of all values |
| // that are associated with the event_vector for this row |
| // from all Observations that contributed to the report that are |
| // from devices with the `system_profile`. Unless the report is |
| // configured to not use any local differential privacy noise, each of these |
| // value is an estimate and has been truncated to fit in a double. |
| |
| // The sum of all the values. |
| double sum = 4; |
| |
| // The sum of the squares of the differences from the mean. |
| double sum_of_squares = 5; |
| |
| // The count of the number of values. |
| double count = 6; |
| |
| // The count of the number of values (already included in `count`) that are |
| // zero. |
| double zero_count = 7; |
| |
| // 1st percentile. |
| double percentile_1 = 101; |
| |
| // 5th percentile. |
| double percentile_5 = 105; |
| |
| // 10th percentile. |
| double percentile_10 = 110; |
| |
| // 25th percentile. |
| double percentile_25 = 125; |
| |
| // 50th percentile. |
| double percentile_50 = 150; |
| |
| // 75th percentile. |
| double percentile_75 = 175; |
| |
| // 90th percentile. |
| double percentile_90 = 190; |
| |
| // 95th percentile. |
| double percentile_95 = 195; |
| |
| // 99th percentile. |
| double percentile_99 = 199; |
| } |
| |
| // A row of output for reports that utilize the STRING_HISTOGRAMS global |
| // aggregation procedure, namely the STRING_COUNTS report type. |
| // |
| // This row gives one string and its associated count of occurrences for the |
| // string associated with a date, a system_profile and an event_vector. |
| // |
| // This is part of Cobalt 1.1. |
| message StringCountReportRow { |
| // The report date. This is the date on which the local aggregation period |
| // ended, as measured on the device. This is a string in yyyy-mm-dd format. |
| string date = 1; |
| |
| // A profile of the system from which the events were logged. This will be |
| // populated with only the fields that are specified in the |
| // `system_profile_field` entry in the ReportDefinition for this report. |
| SystemProfile system_profile = 2; |
| |
| // The event_vector labels for this row. |
| // There will be one event_label for each metric dimension |
| // that was included in the report, in the order the dimensions are declared |
| // in the ReportDefinition. If the ReportDefinition specifies no metric |
| // dimensions should be included then this repeated field will be empty. |
| // |
| // For each dimension, if the event_code in that dimension of the event_vector |
| // has not been assigned a label, then this will be a string of the form |
| // "<code 42>", where `42` is the numeric event code observed. |
| repeated string event_labels = 3; |
| |
| // The string value. One of the candidate strings, or the string "<other>". |
| string string_value = 4; |
| |
| // The count for this string. Unless the report is |
| // configured to not use any local differential privacy noise, each of these |
| // value is an estimate and has been truncated to fit in a double. Also the |
| // value is truncated to MAX_DOUBLE. |
| double count = 5; |
| } |
| |
| // A row of output for a report of type SIMPLE_OCCURRENCE_COUNT. |
| // |
| // Gives the total daily, fleet-wide count of the number of occurrences of an |
| // event with a particular event code, on a particular day, considering only |
| // devices matching a particular system profile. |
| // |
| // TODO(b/148809626) Delete when all users are switched to Cobalt 1.1. |
| message SimpleOccurrenceCountReportRow { |
| // The date on which the logged events occurred, as measured on the device. |
| // This is a string in yyyy-mm-dd format. |
| string date = 1; |
| |
| // A profile of the system from which the events were logged. This will be |
| // populated with only the fields that are specified in the |
| // `system_profile_field` entry in the ReportDefinition for this report. |
| SystemProfile system_profile = 2; |
| |
| // The label for the event code associated with the events that occurred. If |
| // the event_code has not been assigned a label (in the event_codes field of |
| // the MetricDefinition) then this will be a string of the form |
| // "<code 42>", where `42` is the numeric event code observed. |
| string event_code = 3; |
| |
| // The total count of the event occurrence on the `date`, over all reporting |
| // devices with the `system_profile`. Unless `local_privacy_noise_level` in |
| // the Reportdefintion is set to NONE, this value is an estimate. |
| float count = 4; |
| |
| // An estimate of the standard error in the value of the `count`. This will |
| // be zero if `local_privacy_noise_level` in the Reportdefintion is NONE. |
| // Multiply this value by z_{alpha/2} to obtain the radius of an approximate |
| // 100(1 - alpha)% confidence interval. For example an approximate 95% |
| // confidence interval for the count is given by |
| // (count_estimate - 1.96*std_error, count_estimate + 1.96 * std_error) |
| // because 1.96 ~= z_{.025} meaning that P(Z > 1.96) ~= 0.025 where |
| // Z ~ Normal(0, 1). |
| float std_err = 5; |
| } |
| |
| // A row of output for a report of type EVENT_COMPONENT_OCCURRENCE_COUNT. |
| // |
| // Gives the total daily fleet-wide count of the number of occurrences of an |
| // event with a particular event code, for a particular component, on a |
| // particular day, considering only devices matching a particular system |
| // profile. |
| // |
| // TODO(b/148809626) Delete when all users are switched to Cobalt 1.1. |
| message EventComponentOccurrenceCountReportRow { |
| // The date on which the logged events occurred, as measured on the device. |
| // This is a string in yyyy-mm-dd format. |
| string date = 1; |
| |
| // A profile of the system from which the events were logged. This will be |
| // populated with only the fields that are specified in the |
| // `system_profile_field` entry in the ReportDefinition for this report. |
| SystemProfile system_profile = 2; |
| |
| // The labels for the event codes associated with the events that occurred. |
| // There is one label for each metric_dimension in the metric definition. If |
| // an event code has not been assigned a label this will be a string of the |
| // form "<code 42>", where `42` is the numeric event code observed. |
| repeated string event_code = 3; |
| |
| // The component string associated with the events that occurred. This string |
| // must have been pre-registered in the ReportDefinition (using the |
| // `candidate_list` or `candidate_file` fields). There are also two special |
| // values of `component`. |
| // "<NONE>" is the component associated with logged events that |
| // contained an empty component string. |
| // "<OTHER>" is the component associated with logged events that contained |
| // a non-empty component string that was not pre-registered. |
| string component = 4; |
| |
| // The total sum of the event occurrence counts for events with the |
| // `event_code` and `component`, on the `date`, over all |
| // reporting devices with the `system_profile`. |
| int64 sum = 5; |
| |
| // The count of Observations that contributed to the `sum`. |
| int64 count = 6; |
| } |
| |
| // A row of output for a report of type NUMERIC_AGGREGATION. |
| // |
| // Gives the total daily fleet-wide statistics of a numerical metric, for a |
| // particular event code, for a particular component, on a particular day, |
| // considering only devices matching a particular system profile. The |
| // statistics include the number of observations, the mean, median, minimum, |
| // maximum, and sum. |
| // |
| // TODO(b/148809626) Delete when all users are switched to Cobalt 1.1. |
| message NumericAggregationReportRow { |
| // The date on which the logged events occurred, as measured on the device. |
| // This is a string in yyyy-mm-dd format. |
| string date = 1; |
| |
| // A profile of the system from which the events were logged. This will be |
| // populated with only the fields that are specified in the |
| // `system_profile_field` entry in the ReportDefinition for this report. |
| SystemProfile system_profile = 2; |
| |
| // The labels for the event codes associated with the events that occurred. |
| // There is one label for each metric_dimension in the metric definition. If |
| // an event code has not been assigned a label this will be a string of the |
| // form "<code 42>", where `42` is the numeric event code observed. |
| repeated string event_code = 3; |
| |
| // The component string associated with the events that occurred. This string |
| // must have been pre-registered in the ReportDefinition (using the |
| // `candidate_list` or `candidate_file` fields). There are also two special |
| // values of `component`. |
| // "<NONE>" is the component associated with logged events that |
| // contained an empty component string. |
| // "<OTHER>" is the component associated with logged events that contained |
| // a non-empty component string that was not pre-registered. |
| string component = 4; |
| |
| // The count of Observations that contributed to the statistics. |
| int64 count = 5; |
| |
| // The mean value of the collected Observation values for events with the |
| // `event_code` and `component`, on the `date`, over all reporting devices |
| // with the `system_profile`. |
| float mean = 6; |
| |
| // The median value of the collected Observation values for events with the |
| // `event_code` and `component`, on the `date`, over all reporting devices |
| // with the `system_profile`. |
| int64 median = 7; |
| |
| // The minimum value of the collected Observation values for events with the |
| // `event_code` and `component`, on the `date`, over all reporting devices |
| // with the `system_profile`. |
| int64 min = 8; |
| |
| // The maximum value of the collected Observation values for events with the |
| // `event_code` and `component`, on the `date`, over all reporting devices |
| // with the `system_profile`. |
| int64 max = 9; |
| |
| // The total sum of the collected Observation values for events with the |
| // `event_code` and `component`, on the `date`, over all reporting devices |
| // with the `system_profile`. |
| int64 sum = 10; |
| |
| // A mapping of percentiles of the collected Observation values for events |
| // with the `event_code` and `component`, on the `date`, over all reporting |
| // devices with the `system_profile`. The key is a percentile between 0 and |
| // 100, and the value is the fleet-wide observed value at that percentile. |
| map<uint32, int64> percentiles = 11; |
| } |
| |
| // A row of output for a report of type INT_RANGE_HISTOGRAM. |
| // |
| // Gives the value for one bucket of an integer range histogram, aggregated |
| // over the fleet, for a particular event code, a particular component, on a |
| // particular day, considering only devices matching a particular system |
| // profile. |
| // |
| // TODO(b/148809626) Delete when all users are switched to Cobalt 1.1. |
| message IntRangeHistogramReportRow { |
| // The date on which the logged events occurred, as measured on the device. |
| // This is a string in yyyy-mm-dd format. |
| string date = 1; |
| |
| // A profile of the system from which the events were logged. This will be |
| // populated with only the fields that are specified in the |
| // `system_profile_field` entry in the ReportDefinition for this report. |
| SystemProfile system_profile = 2; |
| |
| // The labels for the event codes associated with the events that occurred. |
| // There is one label for each metric_dimension in the metric definition. If |
| // an event code has not been assigned a label this will be a string of the |
| // form "<code 42>", where `42` is the numeric event code observed. |
| repeated string event_code = 3; |
| |
| // The component string associated with the events that occurred. This string |
| // must have been pre-registered in the ReportDefinition (using the |
| // `candidate_list` or `candidate_file` fields). There are also two special |
| // values of `component`. |
| // "<NONE>" is the component associated with logged events that |
| // contained an empty component string. |
| // "<OTHER>" is the component associated with logged events that contained |
| // a non-empty component string that was not pre-registered. |
| string component = 4; |
| |
| // String describing the interval of integers for this bucket, such as |
| // "10-15". |
| string bucket_name = 5; |
| |
| // The count for this bucket. |
| int64 bucket_count = 6; |
| |
| // The bucket index, which is useful for sorting the data in visualizations. |
| int32 bucket_index = 7; |
| } |
| |
| // A row of output for a report of type UNIQUE_N_DAY_ACTIVES. |
| // |
| // Gives an estimate of the number of devices with a particular system profile |
| // which experienced at least one event with a particular event code, during a |
| // particular time window. |
| // |
| // TODO(b/148809626) Delete when all users are switched to Cobalt 1.1. |
| message UniqueActivesReportRow { |
| // The date of the last day of the aggregation window, as measured on the |
| // device. This is a string in yyyy-mm-dd format. |
| string date = 1; |
| |
| // A profile of the system from which the events were logged. This will be |
| // populated with only the fields that are specified in the |
| // `system_profile_field` entry in the ReportDefinition for this report. |
| SystemProfile system_profile = 2; |
| |
| // The labels for the event codes associated with the events that occurred. |
| // There is one label for each metric_dimension in the metric definition. If |
| // an event code has not been assigned a label this will be a string of the |
| // form "<code 42>", where `42` is the numeric event code observed. |
| repeated string event_code = 3; |
| |
| // The size in days of the aggregation window (deprecated). |
| // TODO(pesk): remove this field once the transition to aggregation_window is |
| // complete. |
| uint32 window_size = 4; |
| |
| // A string describing the aggregation window, with units in hours or days. |
| // The format is Nh (for a window of N hours) or Nd (for a window of N days). |
| string aggregation_window = 8; |
| |
| // The total count of active devices over the aggregation window, over all |
| // reporting devices with the `system_profile`. Unless |
| // `local_privacy_noise_level` in the Reportdefintion is set to NONE, this |
| // value is an estimate. |
| float active_count = 5; |
| |
| // An estimate of the standard error in the value of `active_count`. This will |
| // be zero if `local_privacy_noise_level` in the ReportDefinition is NONE. |
| // Multiply this value by z_{alpha/2} to obtain the radius of an approximate |
| // 100(1 - alpha)% confidence interval. For example an approximate 95% |
| // confidence interval for the count is given by |
| // (count_estimate - 1.96*std_error, count_estimate + 1.96 * std_error) |
| // because 1.96 ~= z_{.025} meaning that P(Z > 1.96) ~= 0.025 where |
| // Z ~ Normal(0, 1). |
| float std_err = 6; |
| |
| // The total number of Observations received for the aggregation window, |
| // over all reporting devices with the `system_profile`. This is equal to |
| // the total number of Fuchsia devices with `system_profile` which were |
| // awake at a time that locally aggregated Observations for this |
| // ReportDefinition and this aggregation window were created and uploaded, |
| // whether or not `event_code` occurred on the device during the window. |
| int64 sample_size = 7; |
| } |
| |
| // A row of output for a report of type PER_DEVICE_NUMERIC_STATS. |
| // |
| // Gives statistics over all devices of the sum of the numeric values associated |
| // with a particular kind of event, over all occurrences of that event on |
| // individual devices, over a particular time window. |
| // |
| // For example, if used with an EVENT_COUNT metric, reports statistics over all |
| // devices of the number of occurrences of an event on each device during the |
| // window. If used with an ELAPSED_TIME metric, reports statistics over all |
| // devices of the total amount of time logged on each device during the window. |
| // |
| // TODO(b/148809626) Delete when all users are switched to Cobalt 1.1. |
| message PerDeviceNumericStatsReportRow { |
| // The date of the last day of the on-device aggregation window, as measured |
| // on the device, using the time zone policy of the report's parent metric. |
| // This is a string in yyyy-mm-dd format. |
| string date = 1; |
| |
| // A profile of the system from which the events were logged. This will be |
| // populated with only the fields that are specified in the |
| // `system_profile_field` entry in the ReportDefinition for this report. |
| SystemProfile system_profile = 2; |
| |
| // The labels for the event codes associated with the events that occurred. |
| // There is one label for each metric_dimension in the metric definition. If |
| // an event code has not been assigned a label this will be a string of the |
| // form "<code 42>", where `42` is the numeric event code observed. |
| repeated string event_code = 3; |
| |
| // The component string associated with the events that occurred. This string |
| // must have been pre-registered in the ReportDefinition (using the |
| // `candidate_list` or `candidate_file` fields). There are also two special |
| // values of `component`: |
| // "<NONE>" is the component associated with logged events that |
| // contained an empty component string. |
| // "<OTHER>" is the component associated with logged events that contained |
| // a non-empty component string that was not pre-registered. |
| string component = 4; |
| |
| // The size in days of the aggregation window (deprecated). |
| // TODO(pesk): remove this field once the transition to aggregation_window is |
| // complete. |
| uint32 window_size = 5; |
| |
| // A string describing the aggregation window, with units in hours or days. |
| // The format is Nh (for a window of N hours) or Nd (for a window of N days). |
| string aggregation_window = 9; |
| |
| // The mean of the values contributing to this report row. |
| float mean = 6; |
| |
| // The standard deviation of the values contributing to this report row. |
| float stddev = 7; |
| |
| // The number of devices reporting a nonzero value for this report row. |
| int64 unique_actives = 8; |
| |
| // Percentiles: the value of `percentile_N` is the smallest value k |
| // contributed by a device to this report row such that at least N percent |
| // of devices reported a value less than or equal to k. |
| |
| // 1st percentile. |
| int64 percentile_1 = 101; |
| |
| // 5th percentile. |
| int64 percentile_5 = 105; |
| |
| // 25th percentile. |
| int64 percentile_25 = 125; |
| |
| // 50th percentile. |
| int64 percentile_50 = 150; |
| |
| // 75th percentile. |
| int64 percentile_75 = 175; |
| |
| // 95th percentile. |
| int64 percentile_95 = 195; |
| |
| // 99th percentile. |
| int64 percentile_99 = 199; |
| |
| // The number of unique devices that contributed to this report row. This is |
| // equal to the number of ReportParticipationObservations received by |
| // the ReportGenerator for this report, aggregation window size, and date. |
| int64 sample_size = 200; |
| } |
| |
| // A row of output for a report of type PER_DEVICE_HISTOGRAM. |
| // |
| // Gives the value for one bucket of an integer range histogram, aggregated |
| // over the fleet, for a particular event code, a particular component, on a |
| // particular day with a particular aggregation_window, considering only devices |
| // matching a particular system profile. |
| // |
| // TODO(b/148809626) Delete when all users are switched to Cobalt 1.1. |
| message PerDeviceHistogramReportRow { |
| // The date on which the logged events occurred, as measured on the device. |
| // This is a string in yyyy-mm-dd format. |
| string date = 1; |
| |
| // A profile of the system from which the events were logged. This will be |
| // populated with only the fields that are specified in the |
| // `system_profile_field` entry in the ReportDefinition for this report. |
| SystemProfile system_profile = 2; |
| |
| // The labels for the event codes associated with the events that occurred. |
| // There is one label for each metric_dimension in the metric definition. If |
| // an event code has not been assigned a label this will be a string of the |
| // form "<code 42>", where `42` is the numeric event code observed. |
| repeated string event_code = 3; |
| |
| // The component string associated with the events that occurred. This string |
| // must have been pre-registered in the ReportDefinition (using the |
| // `candidate_list` or `candidate_file` fields). There are also two special |
| // values of `component`. |
| // "<NONE>" is the component associated with logged events that |
| // contained an empty component string. |
| // "<OTHER>" is the component associated with logged events that contained |
| // a non-empty component string that was not pre-registered. |
| string component = 4; |
| |
| // String describing the interval of integers for this bucket, such as |
| // "10-15". |
| string bucket_name = 5; |
| |
| // The count for this bucket. |
| int64 bucket_count = 6; |
| |
| // The bucket index, which is useful for sorting the data in visualizations. |
| int32 bucket_index = 7; |
| |
| // A string describing the aggregation window, with units in hours or days. |
| // The format is Nh (for a window of N hours) or Nd (for a window of N days). |
| string aggregation_window = 8; |
| |
| // The number of unique devices that contributed to this report row. This is |
| // equal to the number of ReportParticipationObservations received by |
| // the ReportGenerator for this report, aggregation window size, and date with |
| // the same SystemProfile. |
| int64 fleet_size = 9; |
| } |