mirror of https://github.com/grpc/grpc.git
parent
0b4d1238b8
commit
013ea77216
5 changed files with 739 additions and 0 deletions
@ -0,0 +1,3 @@ |
|||||||
|
google.census.Tag.key max_size:255 |
||||||
|
google.census.Tag.value max_size:255 |
||||||
|
google.census.View.tag_keys max_count 15 |
@ -0,0 +1,287 @@ |
|||||||
|
// Copyright 2016, Google Inc. |
||||||
|
// All rights reserved. |
||||||
|
// |
||||||
|
// Redistribution and use in source and binary forms, with or without |
||||||
|
// modification, are permitted provided that the following conditions are |
||||||
|
// met: |
||||||
|
// |
||||||
|
// * Redistributions of source code must retain the above copyright |
||||||
|
// notice, this list of conditions and the following disclaimer. |
||||||
|
// * Redistributions in binary form must reproduce the above |
||||||
|
// copyright notice, this list of conditions and the following disclaimer |
||||||
|
// in the documentation and/or other materials provided with the |
||||||
|
// distribution. |
||||||
|
// * Neither the name of Google Inc. nor the names of its |
||||||
|
// contributors may be used to endorse or promote products derived from |
||||||
|
// this software without specific prior written permission. |
||||||
|
// |
||||||
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||||
|
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||||
|
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||||
|
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||||
|
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||||
|
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||||
|
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||||
|
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||||
|
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||||
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||||
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||||
|
|
||||||
|
syntax = "proto3"; |
||||||
|
|
||||||
|
package google.census; |
||||||
|
|
||||||
|
import "google/protobuf/duration.proto"; |
||||||
|
import "google/protobuf/timestamp.proto"; |
||||||
|
|
||||||
|
// All the census protos. |
||||||
|
// |
||||||
|
// Nomenclature note: capitalized names below (like Metric) are protos. |
||||||
|
// |
||||||
|
// Census lets you define a Metric - something which can be measured, like the |
||||||
|
// latency of an RPC, the number of CPU cycles spent on an operation, or |
||||||
|
// anything else you care to measure. You can record individual instances of |
||||||
|
// measurements (a double value) for every metric of interest. These |
||||||
|
// individual measurements are aggregated together into an Aggregation. There |
||||||
|
// are two Aggregation types available: Distribution (describes the |
||||||
|
// distribution of all measurements, possibly with a histogram) and |
||||||
|
// IntervalStats (the count and mean of measurements across specified time |
||||||
|
// periods). An Aggregation is described by an AggregationDescriptor. |
||||||
|
// |
||||||
|
// You can define how your stats are broken down by Tag values and which |
||||||
|
// Aggregations to use through a View. The corresponding combination of |
||||||
|
// Metric/View/Aggregation which is available to census clients is called a |
||||||
|
// ViewAggregation. |
||||||
|
|
||||||
|
// Describes a metric |
||||||
|
message Metric { |
||||||
|
// name of metric, e.g. rpc_latency, cpu. |
||||||
|
string name = 1; |
||||||
|
|
||||||
|
// More detailed description of the metric, used in documentation. |
||||||
|
string description = 2; |
||||||
|
|
||||||
|
// Fundamental units of measurement supported by Census |
||||||
|
// TODO(aveitch): expand this to include other S.I. units? |
||||||
|
message BasicUnit { |
||||||
|
enum Measure { |
||||||
|
UNKNOWN = 0; |
||||||
|
BITS = 1; |
||||||
|
BYTES = 2; |
||||||
|
SECS = 3; |
||||||
|
CORES = 4; |
||||||
|
MAX_UNITS = 5; |
||||||
|
} |
||||||
|
Measure type = 1; |
||||||
|
} |
||||||
|
|
||||||
|
// MeasurementUnit lets you build compound units of the form |
||||||
|
// 10^n * (A * B * ...) / (X * Y * ...), |
||||||
|
// where the elements in the numerator and denominator are all BasicUnits. A |
||||||
|
// MeasurementUnit must have at least one BasicUnit in its numerator. |
||||||
|
// |
||||||
|
// To specify multiplication in the numerator or denominator, simply specify |
||||||
|
// multiple numerator or denominator fields. For example: |
||||||
|
// |
||||||
|
// - byte-seconds (i.e. bytes * seconds): |
||||||
|
// numerator: BYTES |
||||||
|
// numerator: SECS |
||||||
|
// |
||||||
|
// - events/sec^2 (i.e. rate of change of events/sec): |
||||||
|
// numerator: COUNT |
||||||
|
// denominator: SECS |
||||||
|
// denominator: SECS |
||||||
|
// |
||||||
|
// To specify multiples (in power of 10) units, specify a non-zero prefix |
||||||
|
// value, for example: |
||||||
|
// |
||||||
|
// - MB/s (i.e. megabytes / s): |
||||||
|
// prefix: 6 |
||||||
|
// numerator: BYTES |
||||||
|
// denominator: SECS |
||||||
|
// |
||||||
|
// - nanoseconds |
||||||
|
// prefix: -9 |
||||||
|
// numerator: SECS |
||||||
|
message MeasurementUnit { |
||||||
|
int32 prefix = 1; |
||||||
|
repeated BasicUnit numerator = 2; |
||||||
|
repeated BasicUnit denominator = 3; |
||||||
|
} |
||||||
|
|
||||||
|
// The units in which the Metric value is reported. |
||||||
|
MeasurementUnit unit = 3; |
||||||
|
|
||||||
|
// Metrics will be assigned an ID when registered. Invalid if <= 0. |
||||||
|
int32 id = 4; |
||||||
|
} |
||||||
|
|
||||||
|
// An Aggregation summarizes a series of individual Metric measurements, an |
||||||
|
// AggregationDescriptor describes an Aggregation |
||||||
|
message AggregationDescriptor { |
||||||
|
// At most one set of options. |
||||||
|
oneof options { |
||||||
|
// Defines the histogram bucket boundaries for Distributions |
||||||
|
BucketBoundaries bucket_boundaries = 1; |
||||||
|
// Defines the time windows to record for IntervalStats |
||||||
|
IntervalBoundaries interval_boundaries = 2; |
||||||
|
} |
||||||
|
|
||||||
|
// A Distribution may optionally contain a histogram of the values in the |
||||||
|
// population. The bucket boundaries for that histogram is described by |
||||||
|
// `bucket_boundaries`. |
||||||
|
// |
||||||
|
// Describes histogram bucket boundaries. Defines `size(bounds) + 1` (= N) |
||||||
|
// buckets, with these boundaries for bucket index i: |
||||||
|
// |
||||||
|
// [-infinity, bounds[i]) for i == 0 |
||||||
|
// [bounds[i-1], bounds[i]) for 0 < i < N-2 |
||||||
|
// [bounds[i-1], +infinity) for i == N-1 |
||||||
|
// |
||||||
|
// i.e. an underflow bucket (number 0), zero or more finite buckets (1 |
||||||
|
// through N - 2, and an overflow bucket (N - 1), with inclusive lower |
||||||
|
// bounds and exclusive upper bounds. |
||||||
|
// |
||||||
|
// There must be at least one element in `bounds`. If `bounds` has only one |
||||||
|
// element, there are no finite buckets, and that single element is the |
||||||
|
// common boundary of the overflow and underflow buckets. |
||||||
|
message BucketBoundaries { |
||||||
|
// The values must be monotonically increasing. |
||||||
|
repeated double bounds = 1; |
||||||
|
} |
||||||
|
|
||||||
|
// For Interval stats, describe the size of each window. |
||||||
|
message IntervalBoundaries { |
||||||
|
// For each time window, specify a duration in seconds. |
||||||
|
repeated double window_size = 1; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// Distribution contains summary statistics for a population of values and, |
||||||
|
// optionally, a histogram representing the distribution of those values across |
||||||
|
// a specified set of histogram buckets, as defined in |
||||||
|
// Aggregation.bucket_options. |
||||||
|
// |
||||||
|
// The summary statistics are the count, mean, sum of the squared deviation from |
||||||
|
// the mean, the minimum, and the maximum of the set of population of values. |
||||||
|
// |
||||||
|
// Although it is not forbidden, it is generally a bad idea to include |
||||||
|
// non-finite values (infinities or NaNs) in the population of values, as this |
||||||
|
// will render the `mean` and `sum_of_squared_deviation` fields meaningless. |
||||||
|
message Distribution { |
||||||
|
// The number of values in the population. Must be non-negative. |
||||||
|
int64 count = 1; |
||||||
|
|
||||||
|
// The arithmetic mean of the values in the population. If `count` is zero |
||||||
|
// then this field must be zero. |
||||||
|
double mean = 2; |
||||||
|
|
||||||
|
// The sum of squared deviations from the mean of the values in the |
||||||
|
// population. For values x_i this is: |
||||||
|
// |
||||||
|
// Sum[i=1..n]((x_i - mean)^2) |
||||||
|
// |
||||||
|
// If `count` is zero then this field must be zero. |
||||||
|
double sum_of_squared_deviation = 3; |
||||||
|
|
||||||
|
// Describes a range of population values. |
||||||
|
message Range { |
||||||
|
// The minimum of the population values. |
||||||
|
double min = 1; |
||||||
|
// The maximum of the population values. |
||||||
|
double max = 2; |
||||||
|
} |
||||||
|
|
||||||
|
// The range of the population values. If `count` is zero, this field will not |
||||||
|
// be defined. |
||||||
|
Range range = 4; |
||||||
|
|
||||||
|
// A Distribution may optionally contain a histogram of the values in the |
||||||
|
// population. The histogram is given in `bucket_count` as counts of values |
||||||
|
// that fall into one of a sequence of non-overlapping buckets, as described |
||||||
|
// by `AggregationDescriptor.options.bucket_boundaries`. |
||||||
|
// The sum of the values in `bucket_counts` must equal the value in `count`. |
||||||
|
// |
||||||
|
// Bucket counts are given in order under the numbering scheme described |
||||||
|
// above (the underflow bucket has number 0; the finite buckets, if any, |
||||||
|
// have numbers 1 through N-2; the overflow bucket has number N-1). |
||||||
|
// |
||||||
|
// The size of `bucket_count` must be no greater than N as defined in |
||||||
|
// `bucket_boundaries`. |
||||||
|
// |
||||||
|
// Any suffix of trailing zero bucket_count fields may be omitted. |
||||||
|
repeated int64 bucket_count = 5; |
||||||
|
} |
||||||
|
|
||||||
|
// Record summary stats over various time windows. |
||||||
|
message IntervalStats { |
||||||
|
// Summary statistic over a single time window. |
||||||
|
message Window { |
||||||
|
// The window duration. |
||||||
|
google.protobuf.Duration window_size = 1; |
||||||
|
// The number of measurements in this window. |
||||||
|
int64 count = 2; |
||||||
|
// The arithmetic mean of all measurements in the window. |
||||||
|
double mean = 3; |
||||||
|
} |
||||||
|
|
||||||
|
// Full set of windows for this metric. |
||||||
|
repeated Window window = 1; |
||||||
|
} |
||||||
|
|
||||||
|
// A Tag: key-value pair |
||||||
|
message Tag { |
||||||
|
string key = 1; |
||||||
|
string value = 2; |
||||||
|
} |
||||||
|
|
||||||
|
// A View specifies an Aggregation and a set of tag keys. The Aggregation will |
||||||
|
// be broken down by the unique set of matching tag values for each measurement. |
||||||
|
message View { |
||||||
|
// Name of view. |
||||||
|
string name = 1; |
||||||
|
|
||||||
|
// More detailed description, for documentation purposes. |
||||||
|
string description = 2; |
||||||
|
|
||||||
|
// ID of Metric to associate with this View. |
||||||
|
int32 metric_id = 3; |
||||||
|
|
||||||
|
// Aggregation type to associate with this View. |
||||||
|
AggregationDescriptor aggregation = 4; |
||||||
|
|
||||||
|
// Tag keys to match with a given Metric. If no keys are specified, then all |
||||||
|
// stats for the Metric are recorded. Keys must be unique. |
||||||
|
repeated string tag_key = 5; |
||||||
|
} |
||||||
|
|
||||||
|
// An Aggregation summarizes a series of individual Metric measures. |
||||||
|
message Aggregation { |
||||||
|
// Name of this aggregation. |
||||||
|
string name = 1; |
||||||
|
|
||||||
|
// More detailed description, for documentation purposes. |
||||||
|
string description = 2; |
||||||
|
|
||||||
|
// The data for this Aggregation. |
||||||
|
oneof data { |
||||||
|
Distribution distribution = 3; |
||||||
|
IntervalStats interval_stats = 4; |
||||||
|
} |
||||||
|
|
||||||
|
// Tags associated with this Aggregation. |
||||||
|
repeated Tag tag = 5; |
||||||
|
} |
||||||
|
|
||||||
|
// A ViewAggregations represents all the Aggregations for a particular view. |
||||||
|
message ViewAggregations { |
||||||
|
// Aggregations - each will have a unique set of tag values for the tag_keys |
||||||
|
// associated with the corresponding View. |
||||||
|
repeated Aggregation aggregation = 1; |
||||||
|
|
||||||
|
// Start and end timestamps over which the value was accumulated. These |
||||||
|
// values are not relevant/defined for IntervalStats aggregations, which are |
||||||
|
// always accumulated over a fixed time period. |
||||||
|
google.protobuf.Timestamp start = 2; |
||||||
|
google.protobuf.Timestamp end = 3; |
||||||
|
} |
@ -0,0 +1,6 @@ |
|||||||
|
Files generated for use by Census stats and trace recording subsystem. |
||||||
|
|
||||||
|
#Files |
||||||
|
* census.pb.{h,c} - Generated from src/core/ext/census/census.proto, using the |
||||||
|
script `tools/codegen/core/gen_nano_proto.sh src/core/ext/census/census.proto |
||||||
|
$PWD/src/core/ext/census/gen` |
@ -0,0 +1,168 @@ |
|||||||
|
/*
|
||||||
|
* |
||||||
|
* Copyright 2016, Google Inc. |
||||||
|
* All rights reserved. |
||||||
|
* |
||||||
|
* Redistribution and use in source and binary forms, with or without |
||||||
|
* modification, are permitted provided that the following conditions are |
||||||
|
* met: |
||||||
|
* |
||||||
|
* * Redistributions of source code must retain the above copyright |
||||||
|
* notice, this list of conditions and the following disclaimer. |
||||||
|
* * Redistributions in binary form must reproduce the above |
||||||
|
* copyright notice, this list of conditions and the following disclaimer |
||||||
|
* in the documentation and/or other materials provided with the |
||||||
|
* distribution. |
||||||
|
* * Neither the name of Google Inc. nor the names of its |
||||||
|
* contributors may be used to endorse or promote products derived from |
||||||
|
* this software without specific prior written permission. |
||||||
|
* |
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||||
|
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||||
|
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||||
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||||
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||||
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||||
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||||
|
* |
||||||
|
*/ |
||||||
|
/* Automatically generated nanopb constant definitions */ |
||||||
|
/* Generated by nanopb-0.3.5-dev */ |
||||||
|
|
||||||
|
#include "/usr/local/google/home/aveitch/projects/grpc_stats/grpc/src/core/ext/census/gen/census.pb.h" |
||||||
|
|
||||||
|
#if PB_PROTO_HEADER_VERSION != 30 |
||||||
|
#error Regenerate this file with the current version of nanopb generator. |
||||||
|
#endif |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const pb_field_t google_census_Metric_fields[5] = { |
||||||
|
PB_FIELD( 1, STRING , OPTIONAL, CALLBACK, FIRST, google_census_Metric, name, name, 0), |
||||||
|
PB_FIELD( 2, STRING , OPTIONAL, CALLBACK, OTHER, google_census_Metric, description, name, 0), |
||||||
|
PB_FIELD( 3, MESSAGE , OPTIONAL, STATIC , OTHER, google_census_Metric, unit, description, &google_census_Metric_MeasurementUnit_fields), |
||||||
|
PB_FIELD( 4, INT32 , OPTIONAL, STATIC , OTHER, google_census_Metric, id, unit, 0), |
||||||
|
PB_LAST_FIELD |
||||||
|
}; |
||||||
|
|
||||||
|
const pb_field_t google_census_Metric_BasicUnit_fields[2] = { |
||||||
|
PB_FIELD( 1, UENUM , OPTIONAL, STATIC , FIRST, google_census_Metric_BasicUnit, type, type, 0), |
||||||
|
PB_LAST_FIELD |
||||||
|
}; |
||||||
|
|
||||||
|
const pb_field_t google_census_Metric_MeasurementUnit_fields[4] = { |
||||||
|
PB_FIELD( 1, INT32 , OPTIONAL, STATIC , FIRST, google_census_Metric_MeasurementUnit, prefix, prefix, 0), |
||||||
|
PB_FIELD( 2, MESSAGE , REPEATED, CALLBACK, OTHER, google_census_Metric_MeasurementUnit, numerator, prefix, &google_census_Metric_BasicUnit_fields), |
||||||
|
PB_FIELD( 3, MESSAGE , REPEATED, CALLBACK, OTHER, google_census_Metric_MeasurementUnit, denominator, numerator, &google_census_Metric_BasicUnit_fields), |
||||||
|
PB_LAST_FIELD |
||||||
|
}; |
||||||
|
|
||||||
|
const pb_field_t google_census_AggregationDescriptor_fields[3] = { |
||||||
|
PB_ONEOF_FIELD(options, 1, MESSAGE , ONEOF, STATIC , FIRST, google_census_AggregationDescriptor, bucket_boundaries, bucket_boundaries, &google_census_AggregationDescriptor_BucketBoundaries_fields), |
||||||
|
PB_ONEOF_FIELD(options, 2, MESSAGE , ONEOF, STATIC , FIRST, google_census_AggregationDescriptor, interval_boundaries, interval_boundaries, &google_census_AggregationDescriptor_IntervalBoundaries_fields), |
||||||
|
PB_LAST_FIELD |
||||||
|
}; |
||||||
|
|
||||||
|
const pb_field_t google_census_AggregationDescriptor_BucketBoundaries_fields[2] = { |
||||||
|
PB_FIELD( 1, DOUBLE , REPEATED, CALLBACK, FIRST, google_census_AggregationDescriptor_BucketBoundaries, bounds, bounds, 0), |
||||||
|
PB_LAST_FIELD |
||||||
|
}; |
||||||
|
|
||||||
|
const pb_field_t google_census_AggregationDescriptor_IntervalBoundaries_fields[2] = { |
||||||
|
PB_FIELD( 1, DOUBLE , REPEATED, CALLBACK, FIRST, google_census_AggregationDescriptor_IntervalBoundaries, window_size, window_size, 0), |
||||||
|
PB_LAST_FIELD |
||||||
|
}; |
||||||
|
|
||||||
|
const pb_field_t google_census_Distribution_fields[6] = { |
||||||
|
PB_FIELD( 1, INT64 , OPTIONAL, STATIC , FIRST, google_census_Distribution, count, count, 0), |
||||||
|
PB_FIELD( 2, DOUBLE , OPTIONAL, STATIC , OTHER, google_census_Distribution, mean, count, 0), |
||||||
|
PB_FIELD( 3, DOUBLE , OPTIONAL, STATIC , OTHER, google_census_Distribution, sum_of_squared_deviation, mean, 0), |
||||||
|
PB_FIELD( 4, MESSAGE , OPTIONAL, STATIC , OTHER, google_census_Distribution, range, sum_of_squared_deviation, &google_census_Distribution_Range_fields), |
||||||
|
PB_FIELD( 5, INT64 , REPEATED, CALLBACK, OTHER, google_census_Distribution, bucket_count, range, 0), |
||||||
|
PB_LAST_FIELD |
||||||
|
}; |
||||||
|
|
||||||
|
const pb_field_t google_census_Distribution_Range_fields[3] = { |
||||||
|
PB_FIELD( 1, DOUBLE , OPTIONAL, STATIC , FIRST, google_census_Distribution_Range, min, min, 0), |
||||||
|
PB_FIELD( 2, DOUBLE , OPTIONAL, STATIC , OTHER, google_census_Distribution_Range, max, min, 0), |
||||||
|
PB_LAST_FIELD |
||||||
|
}; |
||||||
|
|
||||||
|
const pb_field_t google_census_IntervalStats_fields[2] = { |
||||||
|
PB_FIELD( 1, MESSAGE , REPEATED, CALLBACK, FIRST, google_census_IntervalStats, window, window, &google_census_IntervalStats_Window_fields), |
||||||
|
PB_LAST_FIELD |
||||||
|
}; |
||||||
|
|
||||||
|
const pb_field_t google_census_IntervalStats_Window_fields[4] = { |
||||||
|
PB_FIELD( 1, MESSAGE , OPTIONAL, STATIC , FIRST, google_census_IntervalStats_Window, window_size, window_size, &google_protobuf_Duration_fields), |
||||||
|
PB_FIELD( 2, INT64 , OPTIONAL, STATIC , OTHER, google_census_IntervalStats_Window, count, window_size, 0), |
||||||
|
PB_FIELD( 3, DOUBLE , OPTIONAL, STATIC , OTHER, google_census_IntervalStats_Window, mean, count, 0), |
||||||
|
PB_LAST_FIELD |
||||||
|
}; |
||||||
|
|
||||||
|
const pb_field_t google_census_Tag_fields[3] = { |
||||||
|
PB_FIELD( 1, STRING , OPTIONAL, STATIC , FIRST, google_census_Tag, key, key, 0), |
||||||
|
PB_FIELD( 2, STRING , OPTIONAL, STATIC , OTHER, google_census_Tag, value, key, 0), |
||||||
|
PB_LAST_FIELD |
||||||
|
}; |
||||||
|
|
||||||
|
const pb_field_t google_census_View_fields[6] = { |
||||||
|
PB_FIELD( 1, STRING , OPTIONAL, CALLBACK, FIRST, google_census_View, name, name, 0), |
||||||
|
PB_FIELD( 2, STRING , OPTIONAL, CALLBACK, OTHER, google_census_View, description, name, 0), |
||||||
|
PB_FIELD( 3, INT32 , OPTIONAL, STATIC , OTHER, google_census_View, metric_id, description, 0), |
||||||
|
PB_FIELD( 4, MESSAGE , OPTIONAL, STATIC , OTHER, google_census_View, aggregation, metric_id, &google_census_AggregationDescriptor_fields), |
||||||
|
PB_FIELD( 5, STRING , REPEATED, CALLBACK, OTHER, google_census_View, tag_key, aggregation, 0), |
||||||
|
PB_LAST_FIELD |
||||||
|
}; |
||||||
|
|
||||||
|
const pb_field_t google_census_Aggregation_fields[6] = { |
||||||
|
PB_FIELD( 1, STRING , OPTIONAL, CALLBACK, FIRST, google_census_Aggregation, name, name, 0), |
||||||
|
PB_FIELD( 2, STRING , OPTIONAL, CALLBACK, OTHER, google_census_Aggregation, description, name, 0), |
||||||
|
PB_ONEOF_FIELD(data, 3, MESSAGE , ONEOF, STATIC , OTHER, google_census_Aggregation, distribution, description, &google_census_Distribution_fields), |
||||||
|
PB_ONEOF_FIELD(data, 4, MESSAGE , ONEOF, STATIC , OTHER, google_census_Aggregation, interval_stats, description, &google_census_IntervalStats_fields), |
||||||
|
PB_FIELD( 5, MESSAGE , REPEATED, CALLBACK, OTHER, google_census_Aggregation, tag, data.interval_stats, &google_census_Tag_fields), |
||||||
|
PB_LAST_FIELD |
||||||
|
}; |
||||||
|
|
||||||
|
const pb_field_t google_census_ViewAggregations_fields[4] = { |
||||||
|
PB_FIELD( 1, MESSAGE , REPEATED, CALLBACK, FIRST, google_census_ViewAggregations, aggregation, aggregation, &google_census_Aggregation_fields), |
||||||
|
PB_FIELD( 2, MESSAGE , OPTIONAL, STATIC , OTHER, google_census_ViewAggregations, start, aggregation, &google_protobuf_Timestamp_fields), |
||||||
|
PB_FIELD( 3, MESSAGE , OPTIONAL, STATIC , OTHER, google_census_ViewAggregations, end, start, &google_protobuf_Timestamp_fields), |
||||||
|
PB_LAST_FIELD |
||||||
|
}; |
||||||
|
|
||||||
|
|
||||||
|
/* Check that field information fits in pb_field_t */ |
||||||
|
#if !defined(PB_FIELD_32BIT) |
||||||
|
/* If you get an error here, it means that you need to define PB_FIELD_32BIT
|
||||||
|
* compile-time option. You can do that in pb.h or on compiler command line. |
||||||
|
*
|
||||||
|
* The reason you need to do this is that some of your messages contain tag |
||||||
|
* numbers or field sizes that are larger than what can fit in 8 or 16 bit |
||||||
|
* field descriptors. |
||||||
|
*/ |
||||||
|
PB_STATIC_ASSERT((pb_membersize(google_census_Metric, unit) < 65536 && pb_membersize(google_census_Metric_MeasurementUnit, numerator) < 65536 && pb_membersize(google_census_Metric_MeasurementUnit, denominator) < 65536 && pb_membersize(google_census_AggregationDescriptor, options.bucket_boundaries) < 65536 && pb_membersize(google_census_AggregationDescriptor, options.interval_boundaries) < 65536 && pb_membersize(google_census_Metric, unit) < 65536 && pb_membersize(google_census_Metric_MeasurementUnit, numerator) < 65536 && pb_membersize(google_census_Metric_MeasurementUnit, denominator) < 65536 && pb_membersize(google_census_AggregationDescriptor, options.bucket_boundaries) < 65536 && pb_membersize(google_census_AggregationDescriptor, options.interval_boundaries) < 65536 && pb_membersize(google_census_Distribution, range) < 65536 && pb_membersize(google_census_IntervalStats, window) < 65536 && pb_membersize(google_census_IntervalStats_Window, window_size) < 65536 && pb_membersize(google_census_View, aggregation) < 65536 && pb_membersize(google_census_Aggregation, data.distribution) < 65536 && pb_membersize(google_census_Aggregation, data.interval_stats) < 65536 && pb_membersize(google_census_Metric, unit) < 65536 && pb_membersize(google_census_Metric_MeasurementUnit, numerator) < 65536 && pb_membersize(google_census_Metric_MeasurementUnit, denominator) < 65536 && pb_membersize(google_census_AggregationDescriptor, options.bucket_boundaries) < 65536 && pb_membersize(google_census_AggregationDescriptor, options.interval_boundaries) < 65536 && pb_membersize(google_census_Metric, unit) < 65536 && pb_membersize(google_census_Metric_MeasurementUnit, numerator) < 65536 && pb_membersize(google_census_Metric_MeasurementUnit, denominator) < 65536 && pb_membersize(google_census_AggregationDescriptor, options.bucket_boundaries) < 65536 && pb_membersize(google_census_AggregationDescriptor, options.interval_boundaries) < 65536 && pb_membersize(google_census_Distribution, range) < 65536 && pb_membersize(google_census_IntervalStats, window) < 65536 && pb_membersize(google_census_IntervalStats_Window, window_size) < 65536 && pb_membersize(google_census_View, aggregation) < 65536 && pb_membersize(google_census_Aggregation, data.distribution) < 65536 && pb_membersize(google_census_Aggregation, data.interval_stats) < 65536 && pb_membersize(google_census_Aggregation, tag) < 65536 && pb_membersize(google_census_ViewAggregations, aggregation) < 65536 && pb_membersize(google_census_ViewAggregations, start) < 65536 && pb_membersize(google_census_ViewAggregations, end) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_google_census_Metric_google_census_Metric_BasicUnit_google_census_Metric_MeasurementUnit_google_census_AggregationDescriptor_google_census_AggregationDescriptor_BucketBoundaries_google_census_AggregationDescriptor_IntervalBoundaries_google_census_Distribution_google_census_Distribution_Range_google_census_IntervalStats_google_census_IntervalStats_Window_google_census_Tag_google_census_View_google_census_Aggregation_google_census_ViewAggregations) |
||||||
|
#endif |
||||||
|
|
||||||
|
#if !defined(PB_FIELD_16BIT) && !defined(PB_FIELD_32BIT) |
||||||
|
/* If you get an error here, it means that you need to define PB_FIELD_16BIT
|
||||||
|
* compile-time option. You can do that in pb.h or on compiler command line. |
||||||
|
*
|
||||||
|
* The reason you need to do this is that some of your messages contain tag |
||||||
|
* numbers or field sizes that are larger than what can fit in the default |
||||||
|
* 8 bit descriptors. |
||||||
|
*/ |
||||||
|
PB_STATIC_ASSERT((pb_membersize(google_census_Metric, unit) < 256 && pb_membersize(google_census_Metric_MeasurementUnit, numerator) < 256 && pb_membersize(google_census_Metric_MeasurementUnit, denominator) < 256 && pb_membersize(google_census_AggregationDescriptor, options.bucket_boundaries) < 256 && pb_membersize(google_census_AggregationDescriptor, options.interval_boundaries) < 256 && pb_membersize(google_census_Metric, unit) < 256 && pb_membersize(google_census_Metric_MeasurementUnit, numerator) < 256 && pb_membersize(google_census_Metric_MeasurementUnit, denominator) < 256 && pb_membersize(google_census_AggregationDescriptor, options.bucket_boundaries) < 256 && pb_membersize(google_census_AggregationDescriptor, options.interval_boundaries) < 256 && pb_membersize(google_census_Distribution, range) < 256 && pb_membersize(google_census_IntervalStats, window) < 256 && pb_membersize(google_census_IntervalStats_Window, window_size) < 256 && pb_membersize(google_census_View, aggregation) < 256 && pb_membersize(google_census_Aggregation, data.distribution) < 256 && pb_membersize(google_census_Aggregation, data.interval_stats) < 256 && pb_membersize(google_census_Metric, unit) < 256 && pb_membersize(google_census_Metric_MeasurementUnit, numerator) < 256 && pb_membersize(google_census_Metric_MeasurementUnit, denominator) < 256 && pb_membersize(google_census_AggregationDescriptor, options.bucket_boundaries) < 256 && pb_membersize(google_census_AggregationDescriptor, options.interval_boundaries) < 256 && pb_membersize(google_census_Metric, unit) < 256 && pb_membersize(google_census_Metric_MeasurementUnit, numerator) < 256 && pb_membersize(google_census_Metric_MeasurementUnit, denominator) < 256 && pb_membersize(google_census_AggregationDescriptor, options.bucket_boundaries) < 256 && pb_membersize(google_census_AggregationDescriptor, options.interval_boundaries) < 256 && pb_membersize(google_census_Distribution, range) < 256 && pb_membersize(google_census_IntervalStats, window) < 256 && pb_membersize(google_census_IntervalStats_Window, window_size) < 256 && pb_membersize(google_census_View, aggregation) < 256 && pb_membersize(google_census_Aggregation, data.distribution) < 256 && pb_membersize(google_census_Aggregation, data.interval_stats) < 256 && pb_membersize(google_census_Aggregation, tag) < 256 && pb_membersize(google_census_ViewAggregations, aggregation) < 256 && pb_membersize(google_census_ViewAggregations, start) < 256 && pb_membersize(google_census_ViewAggregations, end) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_google_census_Metric_google_census_Metric_BasicUnit_google_census_Metric_MeasurementUnit_google_census_AggregationDescriptor_google_census_AggregationDescriptor_BucketBoundaries_google_census_AggregationDescriptor_IntervalBoundaries_google_census_Distribution_google_census_Distribution_Range_google_census_IntervalStats_google_census_IntervalStats_Window_google_census_Tag_google_census_View_google_census_Aggregation_google_census_ViewAggregations) |
||||||
|
#endif |
||||||
|
|
||||||
|
|
||||||
|
/* On some platforms (such as AVR), double is really float.
|
||||||
|
* These are not directly supported by nanopb, but see example_avr_double. |
||||||
|
* To get rid of this error, remove any double fields from your .proto. |
||||||
|
*/ |
||||||
|
PB_STATIC_ASSERT(sizeof(double) == 8, DOUBLE_MUST_BE_8_BYTES) |
||||||
|
|
@ -0,0 +1,275 @@ |
|||||||
|
/*
|
||||||
|
* |
||||||
|
* Copyright 2016, Google Inc. |
||||||
|
* All rights reserved. |
||||||
|
* |
||||||
|
* Redistribution and use in source and binary forms, with or without |
||||||
|
* modification, are permitted provided that the following conditions are |
||||||
|
* met: |
||||||
|
* |
||||||
|
* * Redistributions of source code must retain the above copyright |
||||||
|
* notice, this list of conditions and the following disclaimer. |
||||||
|
* * Redistributions in binary form must reproduce the above |
||||||
|
* copyright notice, this list of conditions and the following disclaimer |
||||||
|
* in the documentation and/or other materials provided with the |
||||||
|
* distribution. |
||||||
|
* * Neither the name of Google Inc. nor the names of its |
||||||
|
* contributors may be used to endorse or promote products derived from |
||||||
|
* this software without specific prior written permission. |
||||||
|
* |
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||||
|
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||||
|
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||||
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||||
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||||
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||||
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||||
|
* |
||||||
|
*/ |
||||||
|
/* Automatically generated nanopb header */ |
||||||
|
/* Generated by nanopb-0.3.5-dev */ |
||||||
|
|
||||||
|
#ifndef PB_CENSUS_PB_H_INCLUDED |
||||||
|
#define PB_CENSUS_PB_H_INCLUDED |
||||||
|
#include "third_party/nanopb/pb.h" |
||||||
|
#include "google/protobuf/duration.pb.h" |
||||||
|
|
||||||
|
#include "google/protobuf/timestamp.pb.h" |
||||||
|
|
||||||
|
#if PB_PROTO_HEADER_VERSION != 30 |
||||||
|
#error Regenerate this file with the current version of nanopb generator. |
||||||
|
#endif |
||||||
|
|
||||||
|
#ifdef __cplusplus |
||||||
|
extern "C" { |
||||||
|
#endif |
||||||
|
|
||||||
|
/* Enum definitions */ |
||||||
|
typedef enum _google_census_Metric_BasicUnit_Measure { |
||||||
|
google_census_Metric_BasicUnit_Measure_UNKNOWN = 0, |
||||||
|
google_census_Metric_BasicUnit_Measure_BITS = 1, |
||||||
|
google_census_Metric_BasicUnit_Measure_BYTES = 2, |
||||||
|
google_census_Metric_BasicUnit_Measure_SECS = 3, |
||||||
|
google_census_Metric_BasicUnit_Measure_CORES = 4, |
||||||
|
google_census_Metric_BasicUnit_Measure_MAX_UNITS = 5 |
||||||
|
} google_census_Metric_BasicUnit_Measure; |
||||||
|
|
||||||
|
/* Struct definitions */ |
||||||
|
typedef struct _google_census_AggregationDescriptor_BucketBoundaries { |
||||||
|
pb_callback_t bounds; |
||||||
|
} google_census_AggregationDescriptor_BucketBoundaries; |
||||||
|
|
||||||
|
typedef struct _google_census_AggregationDescriptor_IntervalBoundaries { |
||||||
|
pb_callback_t window_size; |
||||||
|
} google_census_AggregationDescriptor_IntervalBoundaries; |
||||||
|
|
||||||
|
typedef struct _google_census_IntervalStats { |
||||||
|
pb_callback_t window; |
||||||
|
} google_census_IntervalStats; |
||||||
|
|
||||||
|
typedef struct _google_census_AggregationDescriptor { |
||||||
|
pb_size_t which_options; |
||||||
|
union { |
||||||
|
google_census_AggregationDescriptor_BucketBoundaries bucket_boundaries; |
||||||
|
google_census_AggregationDescriptor_IntervalBoundaries interval_boundaries; |
||||||
|
} options; |
||||||
|
} google_census_AggregationDescriptor; |
||||||
|
|
||||||
|
typedef struct _google_census_Distribution_Range { |
||||||
|
bool has_min; |
||||||
|
double min; |
||||||
|
bool has_max; |
||||||
|
double max; |
||||||
|
} google_census_Distribution_Range; |
||||||
|
|
||||||
|
typedef struct _google_census_IntervalStats_Window { |
||||||
|
bool has_window_size; |
||||||
|
google_protobuf_Duration window_size; |
||||||
|
bool has_count; |
||||||
|
int64_t count; |
||||||
|
bool has_mean; |
||||||
|
double mean; |
||||||
|
} google_census_IntervalStats_Window; |
||||||
|
|
||||||
|
typedef struct _google_census_Metric_BasicUnit { |
||||||
|
bool has_type; |
||||||
|
google_census_Metric_BasicUnit_Measure type; |
||||||
|
} google_census_Metric_BasicUnit; |
||||||
|
|
||||||
|
typedef struct _google_census_Metric_MeasurementUnit { |
||||||
|
bool has_prefix; |
||||||
|
int32_t prefix; |
||||||
|
pb_callback_t numerator; |
||||||
|
pb_callback_t denominator; |
||||||
|
} google_census_Metric_MeasurementUnit; |
||||||
|
|
||||||
|
typedef struct _google_census_Tag { |
||||||
|
bool has_key; |
||||||
|
char key[255]; |
||||||
|
bool has_value; |
||||||
|
char value[255]; |
||||||
|
} google_census_Tag; |
||||||
|
|
||||||
|
typedef struct _google_census_ViewAggregations { |
||||||
|
pb_callback_t aggregation; |
||||||
|
bool has_start; |
||||||
|
google_protobuf_Timestamp start; |
||||||
|
bool has_end; |
||||||
|
google_protobuf_Timestamp end; |
||||||
|
} google_census_ViewAggregations; |
||||||
|
|
||||||
|
typedef struct _google_census_Distribution { |
||||||
|
bool has_count; |
||||||
|
int64_t count; |
||||||
|
bool has_mean; |
||||||
|
double mean; |
||||||
|
bool has_sum_of_squared_deviation; |
||||||
|
double sum_of_squared_deviation; |
||||||
|
bool has_range; |
||||||
|
google_census_Distribution_Range range; |
||||||
|
pb_callback_t bucket_count; |
||||||
|
} google_census_Distribution; |
||||||
|
|
||||||
|
typedef struct _google_census_Metric { |
||||||
|
pb_callback_t name; |
||||||
|
pb_callback_t description; |
||||||
|
bool has_unit; |
||||||
|
google_census_Metric_MeasurementUnit unit; |
||||||
|
bool has_id; |
||||||
|
int32_t id; |
||||||
|
} google_census_Metric; |
||||||
|
|
||||||
|
typedef struct _google_census_View { |
||||||
|
pb_callback_t name; |
||||||
|
pb_callback_t description; |
||||||
|
bool has_metric_id; |
||||||
|
int32_t metric_id; |
||||||
|
bool has_aggregation; |
||||||
|
google_census_AggregationDescriptor aggregation; |
||||||
|
pb_callback_t tag_key; |
||||||
|
} google_census_View; |
||||||
|
|
||||||
|
typedef struct _google_census_Aggregation { |
||||||
|
pb_callback_t name; |
||||||
|
pb_callback_t description; |
||||||
|
pb_size_t which_data; |
||||||
|
union { |
||||||
|
google_census_Distribution distribution; |
||||||
|
google_census_IntervalStats interval_stats; |
||||||
|
} data; |
||||||
|
pb_callback_t tag; |
||||||
|
} google_census_Aggregation; |
||||||
|
|
||||||
|
/* Default values for struct fields */ |
||||||
|
|
||||||
|
/* Initializer values for message structs */ |
||||||
|
#define google_census_Metric_init_default {{{NULL}, NULL}, {{NULL}, NULL}, false, google_census_Metric_MeasurementUnit_init_default, false, 0} |
||||||
|
#define google_census_Metric_BasicUnit_init_default {false, (google_census_Metric_BasicUnit_Measure)0} |
||||||
|
#define google_census_Metric_MeasurementUnit_init_default {false, 0, {{NULL}, NULL}, {{NULL}, NULL}} |
||||||
|
#define google_census_AggregationDescriptor_init_default {0, {google_census_AggregationDescriptor_BucketBoundaries_init_default}} |
||||||
|
#define google_census_AggregationDescriptor_BucketBoundaries_init_default {{{NULL}, NULL}} |
||||||
|
#define google_census_AggregationDescriptor_IntervalBoundaries_init_default {{{NULL}, NULL}} |
||||||
|
#define google_census_Distribution_init_default {false, 0, false, 0, false, 0, false, google_census_Distribution_Range_init_default, {{NULL}, NULL}} |
||||||
|
#define google_census_Distribution_Range_init_default {false, 0, false, 0} |
||||||
|
#define google_census_IntervalStats_init_default {{{NULL}, NULL}} |
||||||
|
#define google_census_IntervalStats_Window_init_default {false, google_protobuf_Duration_init_default, false, 0, false, 0} |
||||||
|
#define google_census_Tag_init_default {false, "", false, ""} |
||||||
|
#define google_census_View_init_default {{{NULL}, NULL}, {{NULL}, NULL}, false, 0, false, google_census_AggregationDescriptor_init_default, {{NULL}, NULL}} |
||||||
|
#define google_census_Aggregation_init_default {{{NULL}, NULL}, {{NULL}, NULL}, 0, {google_census_Distribution_init_default}, {{NULL}, NULL}} |
||||||
|
#define google_census_ViewAggregations_init_default {{{NULL}, NULL}, false, google_protobuf_Timestamp_init_default, false, google_protobuf_Timestamp_init_default} |
||||||
|
#define google_census_Metric_init_zero {{{NULL}, NULL}, {{NULL}, NULL}, false, google_census_Metric_MeasurementUnit_init_zero, false, 0} |
||||||
|
#define google_census_Metric_BasicUnit_init_zero {false, (google_census_Metric_BasicUnit_Measure)0} |
||||||
|
#define google_census_Metric_MeasurementUnit_init_zero {false, 0, {{NULL}, NULL}, {{NULL}, NULL}} |
||||||
|
#define google_census_AggregationDescriptor_init_zero {0, {google_census_AggregationDescriptor_BucketBoundaries_init_zero}} |
||||||
|
#define google_census_AggregationDescriptor_BucketBoundaries_init_zero {{{NULL}, NULL}} |
||||||
|
#define google_census_AggregationDescriptor_IntervalBoundaries_init_zero {{{NULL}, NULL}} |
||||||
|
#define google_census_Distribution_init_zero {false, 0, false, 0, false, 0, false, google_census_Distribution_Range_init_zero, {{NULL}, NULL}} |
||||||
|
#define google_census_Distribution_Range_init_zero {false, 0, false, 0} |
||||||
|
#define google_census_IntervalStats_init_zero {{{NULL}, NULL}} |
||||||
|
#define google_census_IntervalStats_Window_init_zero {false, google_protobuf_Duration_init_zero, false, 0, false, 0} |
||||||
|
#define google_census_Tag_init_zero {false, "", false, ""} |
||||||
|
#define google_census_View_init_zero {{{NULL}, NULL}, {{NULL}, NULL}, false, 0, false, google_census_AggregationDescriptor_init_zero, {{NULL}, NULL}} |
||||||
|
#define google_census_Aggregation_init_zero {{{NULL}, NULL}, {{NULL}, NULL}, 0, {google_census_Distribution_init_zero}, {{NULL}, NULL}} |
||||||
|
#define google_census_ViewAggregations_init_zero {{{NULL}, NULL}, false, google_protobuf_Timestamp_init_zero, false, google_protobuf_Timestamp_init_zero} |
||||||
|
|
||||||
|
/* Field tags (for use in manual encoding/decoding) */ |
||||||
|
#define google_census_AggregationDescriptor_BucketBoundaries_bounds_tag 1 |
||||||
|
#define google_census_AggregationDescriptor_IntervalBoundaries_window_size_tag 1 |
||||||
|
#define google_census_IntervalStats_window_tag 1 |
||||||
|
#define google_census_AggregationDescriptor_bucket_boundaries_tag 1 |
||||||
|
|
||||||
|
#define google_census_AggregationDescriptor_interval_boundaries_tag 2 |
||||||
|
#define google_census_Distribution_Range_min_tag 1 |
||||||
|
#define google_census_Distribution_Range_max_tag 2 |
||||||
|
#define google_census_IntervalStats_Window_window_size_tag 1 |
||||||
|
#define google_census_IntervalStats_Window_count_tag 2 |
||||||
|
#define google_census_IntervalStats_Window_mean_tag 3 |
||||||
|
#define google_census_Metric_BasicUnit_type_tag 1 |
||||||
|
#define google_census_Metric_MeasurementUnit_prefix_tag 1 |
||||||
|
#define google_census_Metric_MeasurementUnit_numerator_tag 2 |
||||||
|
#define google_census_Metric_MeasurementUnit_denominator_tag 3 |
||||||
|
#define google_census_Tag_key_tag 1 |
||||||
|
#define google_census_Tag_value_tag 2 |
||||||
|
#define google_census_ViewAggregations_aggregation_tag 1 |
||||||
|
#define google_census_ViewAggregations_start_tag 2 |
||||||
|
#define google_census_ViewAggregations_end_tag 3 |
||||||
|
#define google_census_Distribution_count_tag 1 |
||||||
|
#define google_census_Distribution_mean_tag 2 |
||||||
|
#define google_census_Distribution_sum_of_squared_deviation_tag 3 |
||||||
|
#define google_census_Distribution_range_tag 4 |
||||||
|
#define google_census_Distribution_bucket_count_tag 5 |
||||||
|
#define google_census_Metric_name_tag 1 |
||||||
|
#define google_census_Metric_description_tag 2 |
||||||
|
#define google_census_Metric_unit_tag 3 |
||||||
|
#define google_census_Metric_id_tag 4 |
||||||
|
#define google_census_View_name_tag 1 |
||||||
|
#define google_census_View_description_tag 2 |
||||||
|
#define google_census_View_metric_id_tag 3 |
||||||
|
#define google_census_View_aggregation_tag 4 |
||||||
|
#define google_census_View_tag_key_tag 5 |
||||||
|
#define google_census_Aggregation_distribution_tag 3 |
||||||
|
|
||||||
|
#define google_census_Aggregation_interval_stats_tag 4 |
||||||
|
#define google_census_Aggregation_name_tag 1 |
||||||
|
#define google_census_Aggregation_description_tag 2 |
||||||
|
#define google_census_Aggregation_tag_tag 5 |
||||||
|
|
||||||
|
/* Struct field encoding specification for nanopb */ |
||||||
|
extern const pb_field_t google_census_Metric_fields[5]; |
||||||
|
extern const pb_field_t google_census_Metric_BasicUnit_fields[2]; |
||||||
|
extern const pb_field_t google_census_Metric_MeasurementUnit_fields[4]; |
||||||
|
extern const pb_field_t google_census_AggregationDescriptor_fields[3]; |
||||||
|
extern const pb_field_t google_census_AggregationDescriptor_BucketBoundaries_fields[2]; |
||||||
|
extern const pb_field_t google_census_AggregationDescriptor_IntervalBoundaries_fields[2]; |
||||||
|
extern const pb_field_t google_census_Distribution_fields[6]; |
||||||
|
extern const pb_field_t google_census_Distribution_Range_fields[3]; |
||||||
|
extern const pb_field_t google_census_IntervalStats_fields[2]; |
||||||
|
extern const pb_field_t google_census_IntervalStats_Window_fields[4]; |
||||||
|
extern const pb_field_t google_census_Tag_fields[3]; |
||||||
|
extern const pb_field_t google_census_View_fields[6]; |
||||||
|
extern const pb_field_t google_census_Aggregation_fields[6]; |
||||||
|
extern const pb_field_t google_census_ViewAggregations_fields[4]; |
||||||
|
|
||||||
|
/* Maximum encoded size of messages (where known) */ |
||||||
|
#define google_census_Metric_BasicUnit_size 2 |
||||||
|
#define google_census_Distribution_Range_size 18 |
||||||
|
#define google_census_IntervalStats_Window_size 44 |
||||||
|
#define google_census_Tag_size 516 |
||||||
|
|
||||||
|
/* Message IDs (where set with "msgid" option) */ |
||||||
|
#ifdef PB_MSGID |
||||||
|
|
||||||
|
#define CENSUS_MESSAGES \ |
||||||
|
|
||||||
|
|
||||||
|
#endif |
||||||
|
|
||||||
|
#ifdef __cplusplus |
||||||
|
} /* extern "C" */ |
||||||
|
#endif |
||||||
|
|
||||||
|
#endif |
Loading…
Reference in new issue