#![allow(unknown_lints)]
#![allow(clippy::all)]
#![allow(unused_attributes)]
#![cfg_attr(rustfmt, rustfmt::skip)]
#![allow(box_pointers)]
#![allow(dead_code)]
#![allow(missing_docs)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#![allow(non_upper_case_globals)]
#![allow(trivial_casts)]
#![allow(unused_imports)]
#![allow(unused_results)]
#[derive(PartialEq,Clone,Default)]
pub struct Distribution {
pub count: i64,
pub mean: f64,
pub minimum: f64,
pub maximum: f64,
pub sum_of_squared_deviation: f64,
pub bucket_counts: ::std::vec::Vec<i64>,
pub exemplars: ::protobuf::RepeatedField<super::distribution_ex::Distribution_Exemplar>,
pub bucket_option: ::std::option::Option<Distribution_oneof_bucket_option>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Distribution {
fn default() -> &'a Distribution {
<Distribution as ::protobuf::Message>::default_instance()
}
}
#[derive(Clone,PartialEq,Debug)]
pub enum Distribution_oneof_bucket_option {
linear_buckets(Distribution_LinearBuckets),
exponential_buckets(Distribution_ExponentialBuckets),
explicit_buckets(Distribution_ExplicitBuckets),
}
impl Distribution {
pub fn new() -> Distribution {
::std::default::Default::default()
}
pub fn get_count(&self) -> i64 {
self.count
}
pub fn clear_count(&mut self) {
self.count = 0;
}
pub fn set_count(&mut self, v: i64) {
self.count = v;
}
pub fn get_mean(&self) -> f64 {
self.mean
}
pub fn clear_mean(&mut self) {
self.mean = 0.;
}
pub fn set_mean(&mut self, v: f64) {
self.mean = v;
}
pub fn get_minimum(&self) -> f64 {
self.minimum
}
pub fn clear_minimum(&mut self) {
self.minimum = 0.;
}
pub fn set_minimum(&mut self, v: f64) {
self.minimum = v;
}
pub fn get_maximum(&self) -> f64 {
self.maximum
}
pub fn clear_maximum(&mut self) {
self.maximum = 0.;
}
pub fn set_maximum(&mut self, v: f64) {
self.maximum = v;
}
pub fn get_sum_of_squared_deviation(&self) -> f64 {
self.sum_of_squared_deviation
}
pub fn clear_sum_of_squared_deviation(&mut self) {
self.sum_of_squared_deviation = 0.;
}
pub fn set_sum_of_squared_deviation(&mut self, v: f64) {
self.sum_of_squared_deviation = v;
}
pub fn get_bucket_counts(&self) -> &[i64] {
&self.bucket_counts
}
pub fn clear_bucket_counts(&mut self) {
self.bucket_counts.clear();
}
pub fn set_bucket_counts(&mut self, v: ::std::vec::Vec<i64>) {
self.bucket_counts = v;
}
pub fn mut_bucket_counts(&mut self) -> &mut ::std::vec::Vec<i64> {
&mut self.bucket_counts
}
pub fn take_bucket_counts(&mut self) -> ::std::vec::Vec<i64> {
::std::mem::replace(&mut self.bucket_counts, ::std::vec::Vec::new())
}
pub fn get_linear_buckets(&self) -> &Distribution_LinearBuckets {
match self.bucket_option {
::std::option::Option::Some(Distribution_oneof_bucket_option::linear_buckets(ref v)) => v,
_ => <Distribution_LinearBuckets as ::protobuf::Message>::default_instance(),
}
}
pub fn clear_linear_buckets(&mut self) {
self.bucket_option = ::std::option::Option::None;
}
pub fn has_linear_buckets(&self) -> bool {
match self.bucket_option {
::std::option::Option::Some(Distribution_oneof_bucket_option::linear_buckets(..)) => true,
_ => false,
}
}
pub fn set_linear_buckets(&mut self, v: Distribution_LinearBuckets) {
self.bucket_option = ::std::option::Option::Some(Distribution_oneof_bucket_option::linear_buckets(v))
}
pub fn mut_linear_buckets(&mut self) -> &mut Distribution_LinearBuckets {
if let ::std::option::Option::Some(Distribution_oneof_bucket_option::linear_buckets(_)) = self.bucket_option {
} else {
self.bucket_option = ::std::option::Option::Some(Distribution_oneof_bucket_option::linear_buckets(Distribution_LinearBuckets::new()));
}
match self.bucket_option {
::std::option::Option::Some(Distribution_oneof_bucket_option::linear_buckets(ref mut v)) => v,
_ => panic!(),
}
}
pub fn take_linear_buckets(&mut self) -> Distribution_LinearBuckets {
if self.has_linear_buckets() {
match self.bucket_option.take() {
::std::option::Option::Some(Distribution_oneof_bucket_option::linear_buckets(v)) => v,
_ => panic!(),
}
} else {
Distribution_LinearBuckets::new()
}
}
pub fn get_exponential_buckets(&self) -> &Distribution_ExponentialBuckets {
match self.bucket_option {
::std::option::Option::Some(Distribution_oneof_bucket_option::exponential_buckets(ref v)) => v,
_ => <Distribution_ExponentialBuckets as ::protobuf::Message>::default_instance(),
}
}
pub fn clear_exponential_buckets(&mut self) {
self.bucket_option = ::std::option::Option::None;
}
pub fn has_exponential_buckets(&self) -> bool {
match self.bucket_option {
::std::option::Option::Some(Distribution_oneof_bucket_option::exponential_buckets(..)) => true,
_ => false,
}
}
pub fn set_exponential_buckets(&mut self, v: Distribution_ExponentialBuckets) {
self.bucket_option = ::std::option::Option::Some(Distribution_oneof_bucket_option::exponential_buckets(v))
}
pub fn mut_exponential_buckets(&mut self) -> &mut Distribution_ExponentialBuckets {
if let ::std::option::Option::Some(Distribution_oneof_bucket_option::exponential_buckets(_)) = self.bucket_option {
} else {
self.bucket_option = ::std::option::Option::Some(Distribution_oneof_bucket_option::exponential_buckets(Distribution_ExponentialBuckets::new()));
}
match self.bucket_option {
::std::option::Option::Some(Distribution_oneof_bucket_option::exponential_buckets(ref mut v)) => v,
_ => panic!(),
}
}
pub fn take_exponential_buckets(&mut self) -> Distribution_ExponentialBuckets {
if self.has_exponential_buckets() {
match self.bucket_option.take() {
::std::option::Option::Some(Distribution_oneof_bucket_option::exponential_buckets(v)) => v,
_ => panic!(),
}
} else {
Distribution_ExponentialBuckets::new()
}
}
pub fn get_explicit_buckets(&self) -> &Distribution_ExplicitBuckets {
match self.bucket_option {
::std::option::Option::Some(Distribution_oneof_bucket_option::explicit_buckets(ref v)) => v,
_ => <Distribution_ExplicitBuckets as ::protobuf::Message>::default_instance(),
}
}
pub fn clear_explicit_buckets(&mut self) {
self.bucket_option = ::std::option::Option::None;
}
pub fn has_explicit_buckets(&self) -> bool {
match self.bucket_option {
::std::option::Option::Some(Distribution_oneof_bucket_option::explicit_buckets(..)) => true,
_ => false,
}
}
pub fn set_explicit_buckets(&mut self, v: Distribution_ExplicitBuckets) {
self.bucket_option = ::std::option::Option::Some(Distribution_oneof_bucket_option::explicit_buckets(v))
}
pub fn mut_explicit_buckets(&mut self) -> &mut Distribution_ExplicitBuckets {
if let ::std::option::Option::Some(Distribution_oneof_bucket_option::explicit_buckets(_)) = self.bucket_option {
} else {
self.bucket_option = ::std::option::Option::Some(Distribution_oneof_bucket_option::explicit_buckets(Distribution_ExplicitBuckets::new()));
}
match self.bucket_option {
::std::option::Option::Some(Distribution_oneof_bucket_option::explicit_buckets(ref mut v)) => v,
_ => panic!(),
}
}
pub fn take_explicit_buckets(&mut self) -> Distribution_ExplicitBuckets {
if self.has_explicit_buckets() {
match self.bucket_option.take() {
::std::option::Option::Some(Distribution_oneof_bucket_option::explicit_buckets(v)) => v,
_ => panic!(),
}
} else {
Distribution_ExplicitBuckets::new()
}
}
pub fn get_exemplars(&self) -> &[super::distribution_ex::Distribution_Exemplar] {
&self.exemplars
}
pub fn clear_exemplars(&mut self) {
self.exemplars.clear();
}
pub fn set_exemplars(&mut self, v: ::protobuf::RepeatedField<super::distribution_ex::Distribution_Exemplar>) {
self.exemplars = v;
}
pub fn mut_exemplars(&mut self) -> &mut ::protobuf::RepeatedField<super::distribution_ex::Distribution_Exemplar> {
&mut self.exemplars
}
pub fn take_exemplars(&mut self) -> ::protobuf::RepeatedField<super::distribution_ex::Distribution_Exemplar> {
::std::mem::replace(&mut self.exemplars, ::protobuf::RepeatedField::new())
}
}
impl ::protobuf::Message for Distribution {
fn is_initialized(&self) -> bool {
if let Some(Distribution_oneof_bucket_option::linear_buckets(ref v)) = self.bucket_option {
if !v.is_initialized() {
return false;
}
}
if let Some(Distribution_oneof_bucket_option::exponential_buckets(ref v)) = self.bucket_option {
if !v.is_initialized() {
return false;
}
}
if let Some(Distribution_oneof_bucket_option::explicit_buckets(ref v)) = self.bucket_option {
if !v.is_initialized() {
return false;
}
}
for v in &self.exemplars {
if !v.is_initialized() {
return false;
}
};
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_int64()?;
self.count = tmp;
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_double()?;
self.mean = tmp;
},
3 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_double()?;
self.minimum = tmp;
},
4 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_double()?;
self.maximum = tmp;
},
5 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_double()?;
self.sum_of_squared_deviation = tmp;
},
6 => {
::protobuf::rt::read_repeated_int64_into(wire_type, is, &mut self.bucket_counts)?;
},
7 => {
if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
self.bucket_option = ::std::option::Option::Some(Distribution_oneof_bucket_option::linear_buckets(is.read_message()?));
},
8 => {
if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
self.bucket_option = ::std::option::Option::Some(Distribution_oneof_bucket_option::exponential_buckets(is.read_message()?));
},
9 => {
if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
self.bucket_option = ::std::option::Option::Some(Distribution_oneof_bucket_option::explicit_buckets(is.read_message()?));
},
10 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.exemplars)?;
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if self.count != 0 {
my_size += ::protobuf::rt::value_size(1, self.count, ::protobuf::wire_format::WireTypeVarint);
}
if self.mean != 0. {
my_size += 9;
}
if self.minimum != 0. {
my_size += 9;
}
if self.maximum != 0. {
my_size += 9;
}
if self.sum_of_squared_deviation != 0. {
my_size += 9;
}
for value in &self.bucket_counts {
my_size += ::protobuf::rt::value_size(6, *value, ::protobuf::wire_format::WireTypeVarint);
};
for value in &self.exemplars {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
if let ::std::option::Option::Some(ref v) = self.bucket_option {
match v {
&Distribution_oneof_bucket_option::linear_buckets(ref v) => {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
},
&Distribution_oneof_bucket_option::exponential_buckets(ref v) => {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
},
&Distribution_oneof_bucket_option::explicit_buckets(ref v) => {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
},
};
}
my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
self.cached_size.set(my_size);
my_size
}
fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
if self.count != 0 {
os.write_int64(1, self.count)?;
}
if self.mean != 0. {
os.write_double(2, self.mean)?;
}
if self.minimum != 0. {
os.write_double(3, self.minimum)?;
}
if self.maximum != 0. {
os.write_double(4, self.maximum)?;
}
if self.sum_of_squared_deviation != 0. {
os.write_double(5, self.sum_of_squared_deviation)?;
}
for v in &self.bucket_counts {
os.write_int64(6, *v)?;
};
for v in &self.exemplars {
os.write_tag(10, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
};
if let ::std::option::Option::Some(ref v) = self.bucket_option {
match v {
&Distribution_oneof_bucket_option::linear_buckets(ref v) => {
os.write_tag(7, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
},
&Distribution_oneof_bucket_option::exponential_buckets(ref v) => {
os.write_tag(8, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
},
&Distribution_oneof_bucket_option::explicit_buckets(ref v) => {
os.write_tag(9, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
},
};
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> Distribution {
Distribution::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
"count",
|m: &Distribution| { &m.count },
|m: &mut Distribution| { &mut m.count },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
"mean",
|m: &Distribution| { &m.mean },
|m: &mut Distribution| { &mut m.mean },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
"minimum",
|m: &Distribution| { &m.minimum },
|m: &mut Distribution| { &mut m.minimum },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
"maximum",
|m: &Distribution| { &m.maximum },
|m: &mut Distribution| { &mut m.maximum },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
"sum_of_squared_deviation",
|m: &Distribution| { &m.sum_of_squared_deviation },
|m: &mut Distribution| { &mut m.sum_of_squared_deviation },
));
fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
"bucket_counts",
|m: &Distribution| { &m.bucket_counts },
|m: &mut Distribution| { &mut m.bucket_counts },
));
fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Distribution_LinearBuckets>(
"linear_buckets",
Distribution::has_linear_buckets,
Distribution::get_linear_buckets,
));
fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Distribution_ExponentialBuckets>(
"exponential_buckets",
Distribution::has_exponential_buckets,
Distribution::get_exponential_buckets,
));
fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Distribution_ExplicitBuckets>(
"explicit_buckets",
Distribution::has_explicit_buckets,
Distribution::get_explicit_buckets,
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::distribution_ex::Distribution_Exemplar>>(
"exemplars",
|m: &Distribution| { &m.exemplars },
|m: &mut Distribution| { &mut m.exemplars },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<Distribution>(
"Distribution",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Distribution {
static instance: ::protobuf::rt::LazyV2<Distribution> = ::protobuf::rt::LazyV2::INIT;
instance.get(Distribution::new)
}
}
impl ::protobuf::Clear for Distribution {
fn clear(&mut self) {
self.count = 0;
self.mean = 0.;
self.minimum = 0.;
self.maximum = 0.;
self.sum_of_squared_deviation = 0.;
self.bucket_counts.clear();
self.bucket_option = ::std::option::Option::None;
self.bucket_option = ::std::option::Option::None;
self.bucket_option = ::std::option::Option::None;
self.exemplars.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Distribution {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Distribution {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct Distribution_LinearBuckets {
pub num_finite_buckets: i32,
pub width: f64,
pub offset: f64,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Distribution_LinearBuckets {
fn default() -> &'a Distribution_LinearBuckets {
<Distribution_LinearBuckets as ::protobuf::Message>::default_instance()
}
}
impl Distribution_LinearBuckets {
pub fn new() -> Distribution_LinearBuckets {
::std::default::Default::default()
}
pub fn get_num_finite_buckets(&self) -> i32 {
self.num_finite_buckets
}
pub fn clear_num_finite_buckets(&mut self) {
self.num_finite_buckets = 0;
}
pub fn set_num_finite_buckets(&mut self, v: i32) {
self.num_finite_buckets = v;
}
pub fn get_width(&self) -> f64 {
self.width
}
pub fn clear_width(&mut self) {
self.width = 0.;
}
pub fn set_width(&mut self, v: f64) {
self.width = v;
}
pub fn get_offset(&self) -> f64 {
self.offset
}
pub fn clear_offset(&mut self) {
self.offset = 0.;
}
pub fn set_offset(&mut self, v: f64) {
self.offset = v;
}
}
impl ::protobuf::Message for Distribution_LinearBuckets {
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_int32()?;
self.num_finite_buckets = tmp;
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_double()?;
self.width = tmp;
},
3 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_double()?;
self.offset = tmp;
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if self.num_finite_buckets != 0 {
my_size += ::protobuf::rt::value_size(1, self.num_finite_buckets, ::protobuf::wire_format::WireTypeVarint);
}
if self.width != 0. {
my_size += 9;
}
if self.offset != 0. {
my_size += 9;
}
my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
self.cached_size.set(my_size);
my_size
}
fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
if self.num_finite_buckets != 0 {
os.write_int32(1, self.num_finite_buckets)?;
}
if self.width != 0. {
os.write_double(2, self.width)?;
}
if self.offset != 0. {
os.write_double(3, self.offset)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> Distribution_LinearBuckets {
Distribution_LinearBuckets::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
"num_finite_buckets",
|m: &Distribution_LinearBuckets| { &m.num_finite_buckets },
|m: &mut Distribution_LinearBuckets| { &mut m.num_finite_buckets },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
"width",
|m: &Distribution_LinearBuckets| { &m.width },
|m: &mut Distribution_LinearBuckets| { &mut m.width },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
"offset",
|m: &Distribution_LinearBuckets| { &m.offset },
|m: &mut Distribution_LinearBuckets| { &mut m.offset },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<Distribution_LinearBuckets>(
"Distribution.LinearBuckets",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Distribution_LinearBuckets {
static instance: ::protobuf::rt::LazyV2<Distribution_LinearBuckets> = ::protobuf::rt::LazyV2::INIT;
instance.get(Distribution_LinearBuckets::new)
}
}
impl ::protobuf::Clear for Distribution_LinearBuckets {
fn clear(&mut self) {
self.num_finite_buckets = 0;
self.width = 0.;
self.offset = 0.;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Distribution_LinearBuckets {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Distribution_LinearBuckets {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct Distribution_ExponentialBuckets {
pub num_finite_buckets: i32,
pub growth_factor: f64,
pub scale: f64,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Distribution_ExponentialBuckets {
fn default() -> &'a Distribution_ExponentialBuckets {
<Distribution_ExponentialBuckets as ::protobuf::Message>::default_instance()
}
}
impl Distribution_ExponentialBuckets {
pub fn new() -> Distribution_ExponentialBuckets {
::std::default::Default::default()
}
pub fn get_num_finite_buckets(&self) -> i32 {
self.num_finite_buckets
}
pub fn clear_num_finite_buckets(&mut self) {
self.num_finite_buckets = 0;
}
pub fn set_num_finite_buckets(&mut self, v: i32) {
self.num_finite_buckets = v;
}
pub fn get_growth_factor(&self) -> f64 {
self.growth_factor
}
pub fn clear_growth_factor(&mut self) {
self.growth_factor = 0.;
}
pub fn set_growth_factor(&mut self, v: f64) {
self.growth_factor = v;
}
pub fn get_scale(&self) -> f64 {
self.scale
}
pub fn clear_scale(&mut self) {
self.scale = 0.;
}
pub fn set_scale(&mut self, v: f64) {
self.scale = v;
}
}
impl ::protobuf::Message for Distribution_ExponentialBuckets {
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_int32()?;
self.num_finite_buckets = tmp;
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_double()?;
self.growth_factor = tmp;
},
3 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_double()?;
self.scale = tmp;
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if self.num_finite_buckets != 0 {
my_size += ::protobuf::rt::value_size(1, self.num_finite_buckets, ::protobuf::wire_format::WireTypeVarint);
}
if self.growth_factor != 0. {
my_size += 9;
}
if self.scale != 0. {
my_size += 9;
}
my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
self.cached_size.set(my_size);
my_size
}
fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
if self.num_finite_buckets != 0 {
os.write_int32(1, self.num_finite_buckets)?;
}
if self.growth_factor != 0. {
os.write_double(2, self.growth_factor)?;
}
if self.scale != 0. {
os.write_double(3, self.scale)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> Distribution_ExponentialBuckets {
Distribution_ExponentialBuckets::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
"num_finite_buckets",
|m: &Distribution_ExponentialBuckets| { &m.num_finite_buckets },
|m: &mut Distribution_ExponentialBuckets| { &mut m.num_finite_buckets },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
"growth_factor",
|m: &Distribution_ExponentialBuckets| { &m.growth_factor },
|m: &mut Distribution_ExponentialBuckets| { &mut m.growth_factor },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
"scale",
|m: &Distribution_ExponentialBuckets| { &m.scale },
|m: &mut Distribution_ExponentialBuckets| { &mut m.scale },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<Distribution_ExponentialBuckets>(
"Distribution.ExponentialBuckets",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Distribution_ExponentialBuckets {
static instance: ::protobuf::rt::LazyV2<Distribution_ExponentialBuckets> = ::protobuf::rt::LazyV2::INIT;
instance.get(Distribution_ExponentialBuckets::new)
}
}
impl ::protobuf::Clear for Distribution_ExponentialBuckets {
fn clear(&mut self) {
self.num_finite_buckets = 0;
self.growth_factor = 0.;
self.scale = 0.;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Distribution_ExponentialBuckets {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Distribution_ExponentialBuckets {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct Distribution_ExplicitBuckets {
pub bounds: ::std::vec::Vec<f64>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Distribution_ExplicitBuckets {
fn default() -> &'a Distribution_ExplicitBuckets {
<Distribution_ExplicitBuckets as ::protobuf::Message>::default_instance()
}
}
impl Distribution_ExplicitBuckets {
pub fn new() -> Distribution_ExplicitBuckets {
::std::default::Default::default()
}
pub fn get_bounds(&self) -> &[f64] {
&self.bounds
}
pub fn clear_bounds(&mut self) {
self.bounds.clear();
}
pub fn set_bounds(&mut self, v: ::std::vec::Vec<f64>) {
self.bounds = v;
}
pub fn mut_bounds(&mut self) -> &mut ::std::vec::Vec<f64> {
&mut self.bounds
}
pub fn take_bounds(&mut self) -> ::std::vec::Vec<f64> {
::std::mem::replace(&mut self.bounds, ::std::vec::Vec::new())
}
}
impl ::protobuf::Message for Distribution_ExplicitBuckets {
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
::protobuf::rt::read_repeated_double_into(wire_type, is, &mut self.bounds)?;
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
my_size += 9 * self.bounds.len() as u32;
my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
self.cached_size.set(my_size);
my_size
}
fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
for v in &self.bounds {
os.write_double(1, *v)?;
};
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> Distribution_ExplicitBuckets {
Distribution_ExplicitBuckets::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
"bounds",
|m: &Distribution_ExplicitBuckets| { &m.bounds },
|m: &mut Distribution_ExplicitBuckets| { &mut m.bounds },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<Distribution_ExplicitBuckets>(
"Distribution.ExplicitBuckets",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Distribution_ExplicitBuckets {
static instance: ::protobuf::rt::LazyV2<Distribution_ExplicitBuckets> = ::protobuf::rt::LazyV2::INIT;
instance.get(Distribution_ExplicitBuckets::new)
}
}
impl ::protobuf::Clear for Distribution_ExplicitBuckets {
fn clear(&mut self) {
self.bounds.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Distribution_ExplicitBuckets {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Distribution_ExplicitBuckets {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
static file_descriptor_proto_data: &'static [u8] = b"\
\n/google/api/servicecontrol/v1/distribution.proto\x12\x1cgoogle.api.ser\
vicecontrol.v1\x1a\x1dgoogle/api/distribution.proto\"\xf1\x06\n\x0cDistr\
ibution\x12\x14\n\x05count\x18\x01\x20\x01(\x03R\x05count\x12\x12\n\x04m\
ean\x18\x02\x20\x01(\x01R\x04mean\x12\x18\n\x07minimum\x18\x03\x20\x01(\
\x01R\x07minimum\x12\x18\n\x07maximum\x18\x04\x20\x01(\x01R\x07maximum\
\x127\n\x18sum_of_squared_deviation\x18\x05\x20\x01(\x01R\x15sumOfSquare\
dDeviation\x12#\n\rbucket_counts\x18\x06\x20\x03(\x03R\x0cbucketCounts\
\x12a\n\x0elinear_buckets\x18\x07\x20\x01(\x0b28.google.api.servicecontr\
ol.v1.Distribution.LinearBucketsH\0R\rlinearBuckets\x12p\n\x13exponentia\
l_buckets\x18\x08\x20\x01(\x0b2=.google.api.servicecontrol.v1.Distributi\
on.ExponentialBucketsH\0R\x12exponentialBuckets\x12g\n\x10explicit_bucke\
ts\x18\t\x20\x01(\x0b2:.google.api.servicecontrol.v1.Distribution.Explic\
itBucketsH\0R\x0fexplicitBuckets\x12?\n\texemplars\x18\n\x20\x03(\x0b2!.\
google.api.Distribution.ExemplarR\texemplars\x1ak\n\rLinearBuckets\x12,\
\n\x12num_finite_buckets\x18\x01\x20\x01(\x05R\x10numFiniteBuckets\x12\
\x14\n\x05width\x18\x02\x20\x01(\x01R\x05width\x12\x16\n\x06offset\x18\
\x03\x20\x01(\x01R\x06offset\x1a}\n\x12ExponentialBuckets\x12,\n\x12num_\
finite_buckets\x18\x01\x20\x01(\x05R\x10numFiniteBuckets\x12#\n\rgrowth_\
factor\x18\x02\x20\x01(\x01R\x0cgrowthFactor\x12\x14\n\x05scale\x18\x03\
\x20\x01(\x01R\x05scale\x1a)\n\x0fExplicitBuckets\x12\x16\n\x06bounds\
\x18\x01\x20\x03(\x01R\x06boundsB\x0f\n\rbucket_optionB\xec\x01\n\x20com\
.google.api.servicecontrol.v1B\x11DistributionProtoP\x01ZJcloud.google.c\
om/go/servicecontrol/apiv1/servicecontrolpb;servicecontrolpb\xf8\x01\x01\
\xaa\x02\x1eGoogle.Cloud.ServiceControl.V1\xca\x02\x1eGoogle\\Cloud\\Ser\
viceControl\\V1\xea\x02!Google::Cloud::ServiceControl::V1J\xbc4\n\x07\
\x12\x05\x0e\0\xa5\x01\x01\n\xbc\x04\n\x01\x0c\x12\x03\x0e\0\x122\xb1\
\x04\x20Copyright\x202021\x20Google\x20LLC\n\n\x20Licensed\x20under\x20t\
he\x20Apache\x20License,\x20Version\x202.0\x20(the\x20\"License\");\n\
\x20you\x20may\x20not\x20use\x20this\x20file\x20except\x20in\x20complian\
ce\x20with\x20the\x20License.\n\x20You\x20may\x20obtain\x20a\x20copy\x20\
of\x20the\x20License\x20at\n\n\x20\x20\x20\x20\x20http://www.apache.org/\
licenses/LICENSE-2.0\n\n\x20Unless\x20required\x20by\x20applicable\x20la\
w\x20or\x20agreed\x20to\x20in\x20writing,\x20software\n\x20distributed\
\x20under\x20the\x20License\x20is\x20distributed\x20on\x20an\x20\"AS\x20\
IS\"\x20BASIS,\n\x20WITHOUT\x20WARRANTIES\x20OR\x20CONDITIONS\x20OF\x20A\
NY\x20KIND,\x20either\x20express\x20or\x20implied.\n\x20See\x20the\x20Li\
cense\x20for\x20the\x20specific\x20language\x20governing\x20permissions\
\x20and\n\x20limitations\x20under\x20the\x20License.\n\n\x08\n\x01\x02\
\x12\x03\x10\0%\n\t\n\x02\x03\0\x12\x03\x12\0'\n\x08\n\x01\x08\x12\x03\
\x14\0\x1f\n\t\n\x02\x08\x1f\x12\x03\x14\0\x1f\n\x08\n\x01\x08\x12\x03\
\x15\0;\n\t\n\x02\x08%\x12\x03\x15\0;\n\x08\n\x01\x08\x12\x03\x16\0a\n\t\
\n\x02\x08\x0b\x12\x03\x16\0a\n\x08\n\x01\x08\x12\x03\x17\0\"\n\t\n\x02\
\x08\n\x12\x03\x17\0\"\n\x08\n\x01\x08\x12\x03\x18\02\n\t\n\x02\x08\x08\
\x12\x03\x18\02\n\x08\n\x01\x08\x12\x03\x19\09\n\t\n\x02\x08\x01\x12\x03\
\x19\09\n\x08\n\x01\x08\x12\x03\x1a\0;\n\t\n\x02\x08)\x12\x03\x1a\0;\n\
\x08\n\x01\x08\x12\x03\x1b\0:\n\t\n\x02\x08-\x12\x03\x1b\0:\n\x89\x03\n\
\x02\x04\0\x12\x05%\0\xa5\x01\x01\x1a\xfb\x02\x20Distribution\x20represe\
nts\x20a\x20frequency\x20distribution\x20of\x20double-valued\x20sample\n\
\x20points.\x20It\x20contains\x20the\x20size\x20of\x20the\x20population\
\x20of\x20sample\x20points\x20plus\n\x20additional\x20optional\x20inform\
ation:\n\n\x20*\x20the\x20arithmetic\x20mean\x20of\x20the\x20samples\n\
\x20*\x20the\x20minimum\x20and\x20maximum\x20of\x20the\x20samples\n\x20*\
\x20the\x20sum-squared-deviation\x20of\x20the\x20samples,\x20used\x20to\
\x20compute\x20variance\n\x20*\x20a\x20histogram\x20of\x20the\x20values\
\x20of\x20the\x20sample\x20points\n\n\n\n\x03\x04\0\x01\x12\x03%\x08\x14\
\n7\n\x04\x04\0\x03\0\x12\x04'\x027\x03\x1a)\x20Describing\x20buckets\
\x20with\x20constant\x20width.\n\n\x0c\n\x05\x04\0\x03\0\x01\x12\x03'\n\
\x17\n\xc1\x01\n\x06\x04\0\x03\0\x02\0\x12\x03+\x04!\x1a\xb1\x01\x20The\
\x20number\x20of\x20finite\x20buckets.\x20With\x20the\x20underflow\x20an\
d\x20overflow\x20buckets,\n\x20the\x20total\x20number\x20of\x20buckets\
\x20is\x20`num_finite_buckets`\x20+\x202.\n\x20See\x20comments\x20on\x20\
`bucket_options`\x20for\x20details.\n\n\x0e\n\x07\x04\0\x03\0\x02\0\x05\
\x12\x03+\x04\t\n\x0e\n\x07\x04\0\x03\0\x02\0\x01\x12\x03+\n\x1c\n\x0e\n\
\x07\x04\0\x03\0\x02\0\x03\x12\x03+\x1f\x20\n\xc1\x01\n\x06\x04\0\x03\0\
\x02\x01\x12\x031\x04\x15\x1a\xb1\x01\x20The\x20i'th\x20linear\x20bucket\
\x20covers\x20the\x20interval\n\x20\x20\x20[offset\x20+\x20(i-1)\x20*\
\x20width,\x20offset\x20+\x20i\x20*\x20width)\n\x20where\x20i\x20ranges\
\x20from\x201\x20to\x20num_finite_buckets,\x20inclusive.\n\x20Must\x20be\
\x20strictly\x20positive.\n\n\x0e\n\x07\x04\0\x03\0\x02\x01\x05\x12\x031\
\x04\n\n\x0e\n\x07\x04\0\x03\0\x02\x01\x01\x12\x031\x0b\x10\n\x0e\n\x07\
\x04\0\x03\0\x02\x01\x03\x12\x031\x13\x14\n\xa5\x01\n\x06\x04\0\x03\0\
\x02\x02\x12\x036\x04\x16\x1a\x95\x01\x20The\x20i'th\x20linear\x20bucket\
\x20covers\x20the\x20interval\n\x20\x20\x20[offset\x20+\x20(i-1)\x20*\
\x20width,\x20offset\x20+\x20i\x20*\x20width)\n\x20where\x20i\x20ranges\
\x20from\x201\x20to\x20num_finite_buckets,\x20inclusive.\n\n\x0e\n\x07\
\x04\0\x03\0\x02\x02\x05\x12\x036\x04\n\n\x0e\n\x07\x04\0\x03\0\x02\x02\
\x01\x12\x036\x0b\x11\n\x0e\n\x07\x04\0\x03\0\x02\x02\x03\x12\x036\x14\
\x15\nD\n\x04\x04\0\x03\x01\x12\x04:\x02K\x03\x1a6\x20Describing\x20buck\
ets\x20with\x20exponentially\x20growing\x20width.\n\n\x0c\n\x05\x04\0\
\x03\x01\x01\x12\x03:\n\x1c\n\xc1\x01\n\x06\x04\0\x03\x01\x02\0\x12\x03>\
\x04!\x1a\xb1\x01\x20The\x20number\x20of\x20finite\x20buckets.\x20With\
\x20the\x20underflow\x20and\x20overflow\x20buckets,\n\x20the\x20total\
\x20number\x20of\x20buckets\x20is\x20`num_finite_buckets`\x20+\x202.\n\
\x20See\x20comments\x20on\x20`bucket_options`\x20for\x20details.\n\n\x0e\
\n\x07\x04\0\x03\x01\x02\0\x05\x12\x03>\x04\t\n\x0e\n\x07\x04\0\x03\x01\
\x02\0\x01\x12\x03>\n\x1c\n\x0e\n\x07\x04\0\x03\x01\x02\0\x03\x12\x03>\
\x1f\x20\n\xcd\x01\n\x06\x04\0\x03\x01\x02\x01\x12\x03D\x04\x1d\x1a\xbd\
\x01\x20The\x20i'th\x20exponential\x20bucket\x20covers\x20the\x20interva\
l\n\x20\x20\x20[scale\x20*\x20growth_factor^(i-1),\x20scale\x20*\x20grow\
th_factor^i)\n\x20where\x20i\x20ranges\x20from\x201\x20to\x20num_finite_\
buckets\x20inclusive.\n\x20Must\x20be\x20larger\x20than\x201.0.\n\n\x0e\
\n\x07\x04\0\x03\x01\x02\x01\x05\x12\x03D\x04\n\n\x0e\n\x07\x04\0\x03\
\x01\x02\x01\x01\x12\x03D\x0b\x18\n\x0e\n\x07\x04\0\x03\x01\x02\x01\x03\
\x12\x03D\x1b\x1c\n\xc1\x01\n\x06\x04\0\x03\x01\x02\x02\x12\x03J\x04\x15\
\x1a\xb1\x01\x20The\x20i'th\x20exponential\x20bucket\x20covers\x20the\
\x20interval\n\x20\x20\x20[scale\x20*\x20growth_factor^(i-1),\x20scale\
\x20*\x20growth_factor^i)\n\x20where\x20i\x20ranges\x20from\x201\x20to\
\x20num_finite_buckets\x20inclusive.\n\x20Must\x20be\x20>\x200.\n\n\x0e\
\n\x07\x04\0\x03\x01\x02\x02\x05\x12\x03J\x04\n\n\x0e\n\x07\x04\0\x03\
\x01\x02\x02\x01\x12\x03J\x0b\x10\n\x0e\n\x07\x04\0\x03\x01\x02\x02\x03\
\x12\x03J\x13\x14\nF\n\x04\x04\0\x03\x02\x12\x04N\x02_\x03\x1a8\x20Descr\
ibing\x20buckets\x20with\x20arbitrary\x20user-provided\x20width.\n\n\x0c\
\n\x05\x04\0\x03\x02\x01\x12\x03N\n\x19\n\xec\x05\n\x06\x04\0\x03\x02\
\x02\0\x12\x03^\x04\x1f\x1a\xdc\x05\x20'bound'\x20is\x20a\x20list\x20of\
\x20strictly\x20increasing\x20boundaries\x20between\n\x20buckets.\x20Not\
e\x20that\x20a\x20list\x20of\x20length\x20N-1\x20defines\x20N\x20buckets\
\x20because\n\x20of\x20fenceposting.\x20See\x20comments\x20on\x20`bucket\
_options`\x20for\x20details.\n\n\x20The\x20i'th\x20finite\x20bucket\x20c\
overs\x20the\x20interval\n\x20\x20\x20[bound[i-1],\x20bound[i])\n\x20whe\
re\x20i\x20ranges\x20from\x201\x20to\x20bound_size()\x20-\x201.\x20Note\
\x20that\x20there\x20are\x20no\n\x20finite\x20buckets\x20at\x20all\x20if\
\x20'bound'\x20only\x20contains\x20a\x20single\x20element;\x20in\n\x20th\
at\x20special\x20case\x20the\x20single\x20bound\x20defines\x20the\x20bou\
ndary\x20between\x20the\n\x20underflow\x20and\x20overflow\x20buckets.\n\
\n\x20bucket\x20number\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
\x20\x20\x20\x20\x20\x20\x20lower\x20bound\x20\x20\x20\x20upper\x20bound\
\n\x20\x20i\x20==\x200\x20(underflow)\x20\x20\x20\x20\x20\x20\x20\x20\
\x20\x20\x20\x20\x20\x20-inf\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
bound[i]\n\x20\x200\x20<\x20i\x20<\x20bound_size()\x20\x20\x20\x20\x20\
\x20\x20\x20\x20\x20\x20\x20bound[i-1]\x20\x20\x20\x20\x20bound[i]\n\x20\
\x20i\x20==\x20bound_size()\x20(overflow)\x20\x20\x20\x20bound[i-1]\x20\
\x20\x20\x20\x20+inf\n\n\x0e\n\x07\x04\0\x03\x02\x02\0\x04\x12\x03^\x04\
\x0c\n\x0e\n\x07\x04\0\x03\x02\x02\0\x05\x12\x03^\r\x13\n\x0e\n\x07\x04\
\0\x03\x02\x02\0\x01\x12\x03^\x14\x1a\n\x0e\n\x07\x04\0\x03\x02\x02\0\
\x03\x12\x03^\x1d\x1e\nM\n\x04\x04\0\x02\0\x12\x03b\x02\x12\x1a@\x20The\
\x20total\x20number\x20of\x20samples\x20in\x20the\x20distribution.\x20Mu\
st\x20be\x20>=\x200.\n\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03b\x02\x07\n\
\x0c\n\x05\x04\0\x02\0\x01\x12\x03b\x08\r\n\x0c\n\x05\x04\0\x02\0\x03\
\x12\x03b\x10\x11\nx\n\x04\x04\0\x02\x01\x12\x03f\x02\x12\x1ak\x20The\
\x20arithmetic\x20mean\x20of\x20the\x20samples\x20in\x20the\x20distribut\
ion.\x20If\x20`count`\x20is\n\x20zero\x20then\x20this\x20field\x20must\
\x20be\x20zero.\n\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03f\x02\x08\n\x0c\n\
\x05\x04\0\x02\x01\x01\x12\x03f\t\r\n\x0c\n\x05\x04\0\x02\x01\x03\x12\
\x03f\x10\x11\nS\n\x04\x04\0\x02\x02\x12\x03i\x02\x15\x1aF\x20The\x20min\
imum\x20of\x20the\x20population\x20of\x20values.\x20Ignored\x20if\x20`co\
unt`\x20is\x20zero.\n\n\x0c\n\x05\x04\0\x02\x02\x05\x12\x03i\x02\x08\n\
\x0c\n\x05\x04\0\x02\x02\x01\x12\x03i\t\x10\n\x0c\n\x05\x04\0\x02\x02\
\x03\x12\x03i\x13\x14\nS\n\x04\x04\0\x02\x03\x12\x03l\x02\x15\x1aF\x20Th\
e\x20maximum\x20of\x20the\x20population\x20of\x20values.\x20Ignored\x20i\
f\x20`count`\x20is\x20zero.\n\n\x0c\n\x05\x04\0\x02\x03\x05\x12\x03l\x02\
\x08\n\x0c\n\x05\x04\0\x02\x03\x01\x12\x03l\t\x10\n\x0c\n\x05\x04\0\x02\
\x03\x03\x12\x03l\x13\x14\n\xe0\x01\n\x04\x04\0\x02\x04\x12\x03r\x02&\
\x1a\xd2\x01\x20The\x20sum\x20of\x20squared\x20deviations\x20from\x20the\
\x20mean:\n\x20\x20\x20Sum[i=1..count]((x_i\x20-\x20mean)^2)\n\x20where\
\x20each\x20x_i\x20is\x20a\x20sample\x20values.\x20If\x20`count`\x20is\
\x20zero\x20then\x20this\x20field\n\x20must\x20be\x20zero,\x20otherwise\
\x20validation\x20of\x20the\x20request\x20fails.\n\n\x0c\n\x05\x04\0\x02\
\x04\x05\x12\x03r\x02\x08\n\x0c\n\x05\x04\0\x02\x04\x01\x12\x03r\t!\n\
\x0c\n\x05\x04\0\x02\x04\x03\x12\x03r$%\n\xb8\x04\n\x04\x04\0\x02\x05\
\x12\x03\x7f\x02#\x1a\xaa\x04\x20The\x20number\x20of\x20samples\x20in\
\x20each\x20histogram\x20bucket.\x20`bucket_counts`\x20are\n\x20optional\
.\x20If\x20present,\x20they\x20must\x20sum\x20to\x20the\x20`count`\x20va\
lue.\n\n\x20The\x20buckets\x20are\x20defined\x20below\x20in\x20`bucket_o\
ption`.\x20There\x20are\x20N\x20buckets.\n\x20`bucket_counts[0]`\x20is\
\x20the\x20number\x20of\x20samples\x20in\x20the\x20underflow\x20bucket.\
\n\x20`bucket_counts[1]`\x20to\x20`bucket_counts[N-1]`\x20are\x20the\x20\
numbers\x20of\x20samples\n\x20in\x20each\x20of\x20the\x20finite\x20bucke\
ts.\x20And\x20`bucket_counts[N]\x20is\x20the\x20number\n\x20of\x20sample\
s\x20in\x20the\x20overflow\x20bucket.\x20See\x20the\x20comments\x20of\
\x20`bucket_option`\n\x20below\x20for\x20more\x20details.\n\n\x20Any\x20\
suffix\x20of\x20trailing\x20zeros\x20may\x20be\x20omitted.\n\n\x0c\n\x05\
\x04\0\x02\x05\x04\x12\x03\x7f\x02\n\n\x0c\n\x05\x04\0\x02\x05\x05\x12\
\x03\x7f\x0b\x10\n\x0c\n\x05\x04\0\x02\x05\x01\x12\x03\x7f\x11\x1e\n\x0c\
\n\x05\x04\0\x02\x05\x03\x12\x03\x7f!\"\n\xf2\x08\n\x04\x04\0\x08\0\x12\
\x06\x98\x01\x02\xa1\x01\x03\x1a\xe1\x08\x20Defines\x20the\x20buckets\
\x20in\x20the\x20histogram.\x20`bucket_option`\x20and\x20`bucket_counts`\
\n\x20must\x20be\x20both\x20set,\x20or\x20both\x20unset.\n\n\x20Buckets\
\x20are\x20numbered\x20in\x20the\x20range\x20of\x20[0,\x20N],\x20with\
\x20a\x20total\x20of\x20N+1\x20buckets.\n\x20There\x20must\x20be\x20at\
\x20least\x20two\x20buckets\x20(a\x20single-bucket\x20histogram\x20gives\
\n\x20no\x20information\x20that\x20isn't\x20already\x20provided\x20by\
\x20`count`).\n\n\x20The\x20first\x20bucket\x20is\x20the\x20underflow\
\x20bucket\x20which\x20has\x20a\x20lower\x20bound\n\x20of\x20-inf.\x20Th\
e\x20last\x20bucket\x20is\x20the\x20overflow\x20bucket\x20which\x20has\
\x20an\n\x20upper\x20bound\x20of\x20+inf.\x20All\x20other\x20buckets\x20\
(if\x20any)\x20are\x20called\x20\"finite\"\n\x20buckets\x20because\x20th\
ey\x20have\x20finite\x20lower\x20and\x20upper\x20bounds.\x20As\x20descri\
bed\n\x20below,\x20there\x20are\x20three\x20ways\x20to\x20define\x20the\
\x20finite\x20buckets.\n\n\x20\x20\x20(1)\x20Buckets\x20with\x20constant\
\x20width.\n\x20\x20\x20(2)\x20Buckets\x20with\x20exponentially\x20growi\
ng\x20widths.\n\x20\x20\x20(3)\x20Buckets\x20with\x20arbitrary\x20user-p\
rovided\x20widths.\n\n\x20In\x20all\x20cases,\x20the\x20buckets\x20cover\
\x20the\x20entire\x20real\x20number\x20line\x20(-inf,\n\x20+inf).\x20Buc\
ket\x20upper\x20bounds\x20are\x20exclusive\x20and\x20lower\x20bounds\x20\
are\n\x20inclusive.\x20The\x20upper\x20bound\x20of\x20the\x20underflow\
\x20bucket\x20is\x20equal\x20to\x20the\n\x20lower\x20bound\x20of\x20the\
\x20smallest\x20finite\x20bucket;\x20the\x20lower\x20bound\x20of\x20the\
\n\x20overflow\x20bucket\x20is\x20equal\x20to\x20the\x20upper\x20bound\
\x20of\x20the\x20largest\x20finite\n\x20bucket.\n\n\r\n\x05\x04\0\x08\0\
\x01\x12\x04\x98\x01\x08\x15\n,\n\x04\x04\0\x02\x06\x12\x04\x9a\x01\x04%\
\x1a\x1e\x20Buckets\x20with\x20constant\x20width.\n\n\r\n\x05\x04\0\x02\
\x06\x06\x12\x04\x9a\x01\x04\x11\n\r\n\x05\x04\0\x02\x06\x01\x12\x04\x9a\
\x01\x12\x20\n\r\n\x05\x04\0\x02\x06\x03\x12\x04\x9a\x01#$\n9\n\x04\x04\
\0\x02\x07\x12\x04\x9d\x01\x04/\x1a+\x20Buckets\x20with\x20exponentially\
\x20growing\x20width.\n\n\r\n\x05\x04\0\x02\x07\x06\x12\x04\x9d\x01\x04\
\x16\n\r\n\x05\x04\0\x02\x07\x01\x12\x04\x9d\x01\x17*\n\r\n\x05\x04\0\
\x02\x07\x03\x12\x04\x9d\x01-.\n;\n\x04\x04\0\x02\x08\x12\x04\xa0\x01\
\x04)\x1a-\x20Buckets\x20with\x20arbitrary\x20user-provided\x20width.\n\
\n\r\n\x05\x04\0\x02\x08\x06\x12\x04\xa0\x01\x04\x13\n\r\n\x05\x04\0\x02\
\x08\x01\x12\x04\xa0\x01\x14$\n\r\n\x05\x04\0\x02\x08\x03\x12\x04\xa0\
\x01'(\nM\n\x04\x04\0\x02\t\x12\x04\xa4\x01\x02;\x1a?\x20Example\x20poin\
ts.\x20Must\x20be\x20in\x20increasing\x20order\x20of\x20`value`\x20field\
.\n\n\r\n\x05\x04\0\x02\t\x04\x12\x04\xa4\x01\x02\n\n\r\n\x05\x04\0\x02\
\t\x06\x12\x04\xa4\x01\x0b+\n\r\n\x05\x04\0\x02\t\x01\x12\x04\xa4\x01,5\
\n\r\n\x05\x04\0\x02\t\x03\x12\x04\xa4\x018:b\x06proto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;
fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
}
pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
file_descriptor_proto_lazy.get(|| {
parse_descriptor_proto()
})
}